OSDN Git Service

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)
commit27744344f8f1fb924b1ee7f00f008702c0f07b86
treebb7cdc035d4bd94a22613312a5525f59fae8d38c
parent61637f35c3cabfba43f6261f80f3ca056f969350
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237133 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/R600/AMDGPUISelLowering.cpp
lib/Target/R600/AMDGPUISelLowering.h
lib/Target/R600/AMDGPUInstrInfo.td
lib/Target/R600/SIISelLowering.cpp
lib/Target/R600/SIISelLowering.h
lib/Target/R600/SIInstructions.td