Revert "[InstCombine] Support gep nuw in icmp folds" (#118698)
[llvm-project.git] / llvm / test / Transforms / InstCombine / 2008-01-14-VarArgTrampoline.ll
blob4f5ce4d00a1009825da238a2236db68381534d0a
1 ; RUN: opt < %s -passes=instcombine -S | grep zeroext
3         %struct.FRAME.nest = type { i32, ptr }
4         %struct.__builtin_trampoline = type { [10 x i8] }
6 declare void @llvm.init.trampoline(ptr, ptr, ptr) nounwind 
7 declare ptr @llvm.adjust.trampoline(ptr) nounwind
9 declare i32 @f(ptr nest , ...)
11 define i32 @nest(i32 %n) {
12 entry:
13         %FRAME.0 = alloca %struct.FRAME.nest, align 8           ; <ptr> [#uses=3]
14         %TRAMP.216 = alloca [10 x i8], align 16         ; <ptr> [#uses=1]
15         %TRAMP.216.sub = getelementptr [10 x i8], ptr %TRAMP.216, i32 0, i32 0          ; <ptr> [#uses=1]
16         %tmp3 = getelementptr %struct.FRAME.nest, ptr %FRAME.0, i32 0, i32 0            ; <ptr> [#uses=1]
17         store i32 %n, ptr %tmp3, align 8
18         call void @llvm.init.trampoline( ptr %TRAMP.216.sub, ptr @f, ptr %FRAME.0 )             ; <ptr> [#uses=1]
19         %tramp = call ptr @llvm.adjust.trampoline( ptr %TRAMP.216.sub)
20         %tmp7 = getelementptr %struct.FRAME.nest, ptr %FRAME.0, i32 0, i32 1            ; <ptr> [#uses=1]
21         store ptr %tramp, ptr %tmp7, align 8
22         %tmp2.i = call i32 (...) %tramp( i32 zeroext 0 )                ; <i32> [#uses=1]
23         ret i32 %tmp2.i