[PATCH] D47143: [NewGVN] Do not treat LoadExpressions with differing nonnull as equal.

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 21 09:08:01 PDT 2018


nikic added a comment.

This is going to affect more than only nonnull metadata. For example the same issue can also be reproduced using range metadata:

  define i1 @test(i32* %arg, i1 %arg2) {
      br i1 %arg2, label %bb1, label %bb2
  
  bb1:
      %load1 = load i32, i32* %arg
      %cmp1 = icmp eq i32 %load1, 0 
      ret i1 %cmp1
  
  bb2:
      %load2 = load i32, i32* %arg, !range !1
      %cmp2 = icmp eq i32 %load2, 0 
      ret i1 %cmp2
  }
  
  !1 = !{ i32 1, i32 10 }


https://reviews.llvm.org/D47143





More information about the llvm-commits mailing list