[PATCH] D31804: [AMDGPU] Generate range metadata for workitem id

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 11 13:54:50 PDT 2017


arsenm added inline comments.


================
Comment at: lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp:106
 
+bool AMDGPULowerIntrinsics::MakeLIDRangeMetadata(Function &F) const {
+  bool Changed = false;
----------------
Lowercase first letter


================
Comment at: lib/Target/AMDGPU/AMDGPUSubtarget.cpp:251-255
+  if (isa<LoadInst>(I) && !I->getMetadata(LLVMContext::MD_invariant_load)) {
+    MDNode *MD = MDNode::get(Kernel->getContext(), None);
+    I->setMetadata(LLVMContext::MD_invariant_load, MD);
+    Changed = true;
+  }
----------------
This seems to be unconditionally adding invariant load metadata. Why? This is broken and also unrelated to the range metadata


================
Comment at: lib/Target/AMDGPU/AMDGPUSubtarget.h:517
+  /// Creates value range metadata on an workitemid.* inrinsic call or load.
+  bool MakeLIDRangeMetadata(Instruction *I) const;
 };
----------------
Putting this in the subtarget is a weird place. Why not leave it in the pass?


Repository:
  rL LLVM

https://reviews.llvm.org/D31804





More information about the llvm-commits mailing list