1 ; This testcase ensures that redundant loads are preserved when they are not
2 ; allowed to be eliminated.
3 ; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | grep sub
6 define i32 @test1(i32* %P) {
7 %A = load i32* %P ; <i32> [#uses=1]
9 %B = load i32* %P ; <i32> [#uses=1]
10 %C = sub i32 %A, %B ; <i32> [#uses=1]
14 define i32 @test2(i32* %P) {
15 %A = load i32* %P ; <i32> [#uses=1]
23 %B = load i32* %P ; <i32> [#uses=1]
24 %C = sub i32 %A, %B ; <i32> [#uses=1]