[PATCH] D119047: [OpaquePtr][LoopAccessAnalysis] Support opaque pointers

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 8 02:23:45 PST 2022


nikic accepted this revision.
nikic added a comment.
This revision is now accepted and ready to land.

Looks reasonable to me. I think ideally this code would be working based on the largest store size used in any access or something like that, but I think your current implementation matches what this code currently does for non-opaque pointers in spirit.



================
Comment at: llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types_opaque_ptr.ll:37
+  %gep.iv = getelementptr inbounds %int_pair, ptr %vec, i64 %indvars.iv, i32 0
+  %gep.iv.f32 = bitcast ptr %gep.iv to ptr
+  %ld.f32 = load float, ptr %gep.iv.f32, align 8
----------------
These ptr-to-ptr bitcasts should be dropped, to make sure that we actually test the case where the same `Value *` is accessed with different types. Right now, this artificially creates separate pointer values.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D119047



More information about the llvm-commits mailing list