R600/SI: Remove explicit m0 operand from s_sendmsg
authorTom Stellard <thomas.stellard@amd.com>
Tue, 12 May 2015 14:18:14 +0000 (14:18 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Tue, 12 May 2015 14:18:14 +0000 (14:18 +0000)
commitfc92e774453576278ddf694bb9a3cb52c366cd6d
tree2b71cc3a7b49b7458e274d469fd45775c271e32d
parentd33d7f15a26208225b7cfbbe5eda2e28cdf82a11
R600/SI: Remove explicit m0 operand from s_sendmsg

Instead add m0 as an implicit operand.  This allows us to avoid using
the M0Reg register class and eliminates a number of unnecessary spills
when using s_sendmsg instructions.  This impacts one shader in the
shader-db:

SGPRS: 48 -> 40 (-16.67 %)
VGPRS: 112 -> 108 (-3.57 %)
Code Size: 40132 -> 38796 (-3.33 %) bytes
LDS: 0 -> 0 (0.00 %) blocks
Scratch: 2048 -> 0 (-100.00 %) bytes per wave

llvm-svn: 237133
llvm/lib/Target/R600/AMDGPUISelLowering.cpp
llvm/lib/Target/R600/AMDGPUISelLowering.h
llvm/lib/Target/R600/AMDGPUInstrInfo.td
llvm/lib/Target/R600/SIISelLowering.cpp
llvm/lib/Target/R600/SIISelLowering.h
llvm/lib/Target/R600/SIInstructions.td