Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / SCCP / recursion.ll
blobf6556bee3eaba102b5f4048fc8c069b59fa18368
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt < %s -passes=ipsccp,deadargelim -S | FileCheck %s
4 ; CHECK-NOT: %X
6 define internal i32 @foo(i32 %X) {
7 ; CHECK-LABEL: @foo(
8 ; CHECK-NEXT:    [[Y:%.*]] = call i32 @foo()
9 ; CHECK-NEXT:    [[Z:%.*]] = add i32 [[Y]], 1
10 ; CHECK-NEXT:    ret i32 [[Z]]
12   %Y = call i32 @foo( i32 %X )            ; <i32> [#uses=1]
13   %Z = add i32 %Y, 1              ; <i32> [#uses=1]
14   ret i32 %Z
17 define void @bar() {
18 ; CHECK-LABEL: @bar(
19 ; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @foo()
20 ; CHECK-NEXT:    ret void
22   call i32 @foo( i32 17 )         ; <i32>:1 [#uses=0]
23   ret void