1 ; This testcase ensures that redundant loads are eliminated when they should
2 ; be. All RL variables (redundant loads) should be eliminated.
4 ; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | not grep %RL
7 define i32 @test1(i32* %P) {
8 %A = load i32* %P ; <i32> [#uses=1]
9 %RL = load i32* %P ; <i32> [#uses=1]
10 %C = add i32 %A, %RL ; <i32> [#uses=1]
14 define i32 @test2(i32* %P) {
15 %A = load i32* %P ; <i32> [#uses=1]
22 %RL = load i32* %P ; <i32> [#uses=1]
23 %B = add i32 %A, %RL ; <i32> [#uses=1]