null-aliases-nothing.ll 457 B

1234567891011121314151617181920
  1. ; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
  2. %t = type { i32 }
  3. declare void @test1f(i8*)
  4. define void @test1(%t* noalias %stuff ) {
  5. %p = getelementptr inbounds %t, %t* %stuff, i32 0, i32 0
  6. %before = load i32, i32* %p
  7. call void @test1f(i8* null)
  8. %after = load i32, i32* %p ; <--- This should be a dead load
  9. %sum = add i32 %before, %after
  10. store i32 %sum, i32* %p
  11. ret void
  12. ; CHECK: load
  13. ; CHECK-NOT: load
  14. ; CHECK: ret void
  15. }