[PATCH] D57172: [opaque pointer types] Pass value type to LoadInst creation.

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 24 13:45:39 PST 2019


dblaikie added inline comments.


================
Comment at: llvm/test/CodeGen/AMDGPU/lower-kernargs.ll:309-311
+; HSA-NEXT:    [[ARG0_KERNARG_OFFSET_CAST:%.*]] = bitcast i8 addrspace(4)* [[ARG0_KERNARG_OFFSET]] to <4 x i32> addrspace(4)*
+; HSA-NEXT:    [[TMP:%.*]] = load <4 x i32>, <4 x i32> addrspace(4)* [[ARG0_KERNARG_OFFSET_CAST]], align 16, !invariant.load !0
+; HSA-NEXT:    [[ARG0_LOAD:%.*]] = shufflevector <4 x i32> [[TMP]], <4 x i32> undef, <3 x i32> <i32 0, i32 1, i32 2>
----------------
I haven't figured out why these tests changed - could you explain it?


================
Comment at: llvm/tools/bugpoint/Miscompilation.cpp:884
+          Value *CachedVal =
+              new LoadInst(F->getFunctionType(), Cache, "fpcache", EntryBB);
           Value *IsNull = new ICmpInst(*EntryBB, ICmpInst::ICMP_EQ, CachedVal,
----------------
This doesn't immediately make sense to me - can you load a function type? What's the resulting value type? (I guess I'm misreading this somehow)


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

https://reviews.llvm.org/D57172





More information about the llvm-commits mailing list