[PATCH] D80564: AMDGPU: Fix wrong null value for private address space

Stanislav Mekhanoshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 26 11:26:06 PDT 2020


rampitec added inline comments.


================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp:1486
+    int64_t Imm = CAddr->getSExtValue();
+    if (Imm != -1) { // Don't fold null pointer.
+      SDValue HighBits = CurDAG->getTargetConstant(Imm & ~4095, DL, MVT::i32);
----------------
Can you compare it not to a literal but to getNullPointerValue(AMDGPUAS::PRIVATE_ADDRESS) please?


================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp:3090
   int64_t Offset = 0;
-  if (mi_match(Root.getReg(), *MRI, m_ICst(Offset))) {
+  if (mi_match(Root.getReg(), *MRI, m_ICst(Offset)) && Offset != -1) {
     Register HighBits = MRI->createVirtualRegister(&AMDGPU::VGPR_32RegClass);
----------------
Same here.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80564/new/

https://reviews.llvm.org/D80564





More information about the llvm-commits mailing list