diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-07 18:09:35 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-07 18:09:35 +0000 |
| commit | f4e3f3e31cacd412bcef0906da3c6a4bd503d0a2 (patch) | |
| tree | 7acf9b28cd39d6d52948a9e69f9e01d386d31d8c /llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | |
| parent | 36df7631b44cb7f8babae9bdea08a982fc9a4c40 (diff) | |
| download | bcm5719-llvm-f4e3f3e31cacd412bcef0906da3c6a4bd503d0a2.tar.gz bcm5719-llvm-f4e3f3e31cacd412bcef0906da3c6a4bd503d0a2.zip | |
Revert "AMDGPU: Add 32-bit constant address space"
This reverts commit r324487.
It broke clang tests.
llvm-svn: 324494
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 34 |
1 files changed, 3 insertions, 31 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp index 192d4b0f1ef..440f8b20d48 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp @@ -162,7 +162,6 @@ private: bool SelectSMRDOffset(SDValue ByteOffsetNode, SDValue &Offset, bool &Imm) const; - SDValue Expand32BitAddress(SDValue Addr) const; bool SelectSMRD(SDValue Addr, SDValue &SBase, SDValue &Offset, bool &Imm) const; bool SelectSMRDImm(SDValue Addr, SDValue &SBase, SDValue &Offset) const; @@ -637,8 +636,7 @@ bool AMDGPUDAGToDAGISel::isConstantLoad(const MemSDNode *N, int CbId) const { if (!N->readMem()) return false; if (CbId == -1) - return N->getAddressSpace() == AMDGPUASI.CONSTANT_ADDRESS || - N->getAddressSpace() == AMDGPUASI.CONSTANT_ADDRESS_32BIT; + return N->getAddressSpace() == AMDGPUASI.CONSTANT_ADDRESS; return N->getAddressSpace() == AMDGPUASI.CONSTANT_BUFFER_0 + CbId; } @@ -1440,45 +1438,19 @@ bool AMDGPUDAGToDAGISel::SelectSMRDOffset(SDValue ByteOffsetNode, return true; } -SDValue AMDGPUDAGToDAGISel::Expand32BitAddress(SDValue Addr) const { - if (Addr.getValueType() != MVT::i32) - return Addr; - - // Zero-extend a 32-bit address. - SDLoc SL(Addr); - - const MachineFunction &MF = CurDAG->getMachineFunction(); - const SIMachineFunctionInfo *Info = MF.getInfo<SIMachineFunctionInfo>(); - unsigned AddrHiVal = Info->get32BitAddressHighBits(); - SDValue AddrHi = CurDAG->getTargetConstant(AddrHiVal, SL, MVT::i32); - - const SDValue Ops[] = { - CurDAG->getTargetConstant(AMDGPU::SReg_64_XEXECRegClassID, SL, MVT::i32), - Addr, - CurDAG->getTargetConstant(AMDGPU::sub0, SL, MVT::i32), - SDValue(CurDAG->getMachineNode(AMDGPU::S_MOV_B32, SL, MVT::i32, AddrHi), - 0), - CurDAG->getTargetConstant(AMDGPU::sub1, SL, MVT::i32), - }; - - return SDValue(CurDAG->getMachineNode(AMDGPU::REG_SEQUENCE, SL, MVT::i64, - Ops), 0); -} - bool AMDGPUDAGToDAGISel::SelectSMRD(SDValue Addr, SDValue &SBase, SDValue &Offset, bool &Imm) const { SDLoc SL(Addr); - if (CurDAG->isBaseWithConstantOffset(Addr)) { SDValue N0 = Addr.getOperand(0); SDValue N1 = Addr.getOperand(1); if (SelectSMRDOffset(N1, Offset, Imm)) { - SBase = Expand32BitAddress(N0); + SBase = N0; return true; } } - SBase = Expand32BitAddress(Addr); + SBase = Addr; Offset = CurDAG->getTargetConstant(0, SL, MVT::i32); Imm = true; return true; |

