[PATCH] D21496: LoadCombine Load Aliasing Fix
River Riddle via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 18 18:29:48 PDT 2016
rriddle added inline comments.
Comment at: /Users/rriddle/Desktop/llvm/llvm/test/Transforms/LoadCombine/load-combine-alias.ll:12
@@ +11,3 @@
+ %i1 = getelementptr inbounds %struct.Str, %struct.Str* %1, i64 0, i32 0
+ store i32 %0, i32* %i1, align 4
+ %add.ptr = getelementptr inbounds i32, i32* %i, i64 1
> What transform is this testcase checking for? I don't think you can prove any useful aliasing property between %i, %i1, and %str?
In the current implementation %1 is being aliased in that store operation which would cause every load chain to try and combine which would prevent the load at %0 from being able to combine with %2, %4, etc.
More information about the llvm-commits