diff options
| author | Jan Vesely <jan.vesely@rutgers.edu> | 2016-05-13 20:39:31 +0000 |
|---|---|---|
| committer | Jan Vesely <jan.vesely@rutgers.edu> | 2016-05-13 20:39:31 +0000 |
| commit | 1680039a7aa8e0c957af6806848587b4ecdfca8f (patch) | |
| tree | 613afb8519a96c4b8874bd50378403c06694a2ac /llvm/lib | |
| parent | f97de00745e0cae92d9bfd7117fef8e2a1056225 (diff) | |
| download | bcm5719-llvm-1680039a7aa8e0c957af6806848587b4ecdfca8f.tar.gz bcm5719-llvm-1680039a7aa8e0c957af6806848587b4ecdfca8f.zip | |
AMDGPU/R600: Fold global address operand
Reviewers: tstellard
Subscribers: arsenm
Differential Revision: http://reviews.llvm.org/D19793
llvm-svn: 269480
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/R600ISelLowering.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp b/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp index 5ad827e8864..66486629bde 100644 --- a/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp @@ -2250,6 +2250,13 @@ FoldOperand(SDNode *ParentNode, unsigned SrcIdx, SDValue &Src, SDValue &Neg, Src = DAG.getRegister(AMDGPU::ALU_CONST, MVT::f32); return true; } + case AMDGPU::MOV_IMM_GLOBAL_ADDR: + // Check if the Imm slot is used. Taken from below. + if (cast<ConstantSDNode>(Imm)->getZExtValue()) + return false; + Imm = Src.getOperand(0); + Src = DAG.getRegister(AMDGPU::ALU_LITERAL_X, MVT::i32); + return true; case AMDGPU::MOV_IMM_I32: case AMDGPU::MOV_IMM_F32: { unsigned ImmReg = AMDGPU::ALU_LITERAL_X; |

