1 ; RUN: llc < %s -march=x86 | FileCheck %s 2 ; RUN: llc < %s -march=x86 -addr-sink-using-gep=1 | FileCheck %s 3 4 define i32 @test(i32* %X, i32 %B) { 5 ; CHECK-LABEL: test: 6 ; CHECK-NOT: ret 7 ; CHECK-NOT: lea 8 ; CHECK: mov{{.}} $4, ({{.*}},{{.*}},4) 9 ; CHECK: ret 10 ; CHECK: mov{{.}} ({{.*}},{{.*}},4), 11 ; CHECK: ret 12 13 ; This gep should be sunk out of this block into the load/store users. 14 %P = getelementptr i32, i32* %X, i32 %B 15 %G = icmp ult i32 %B, 1234 16 br i1 %G, label %T, label %F 17 T: 18 store i32 4, i32* %P 19 ret i32 141 20 F: 21 %V = load i32, i32* %P 22 ret i32 %V 23 } 24