1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt < %s -passes=instcombine -S | FileCheck %s 3 4target datalayout = "e-p:32:32" 5target triple = "i686-pc-linux-gnu" 6 7define i32 @main2() { 8; CHECK-LABEL: @main2( 9; CHECK-NEXT: ret i32 0 10; 11 ret i32 0 12} 13 14define ptr @ctime2(ptr %p) { 15; CHECK-LABEL: @ctime2( 16; CHECK-NEXT: ret ptr [[P:%.*]] 17; 18 ret ptr %p 19} 20 21define ptr @ctime(ptr) { 22; CHECK-LABEL: @ctime( 23; CHECK-NEXT: entry: 24; CHECK-NEXT: [[I0:%.*]] = call i32 @main2() 25; CHECK-NEXT: [[TMP1:%.*]] = inttoptr i32 [[I0]] to ptr 26; CHECK-NEXT: ret ptr [[TMP1]] 27; 28entry: 29 %i0 = call ptr @main2( ) 30 ret ptr %i0 31} 32 33define i32 @main() { 34; CHECK-LABEL: @main( 35; CHECK-NEXT: entry: 36; CHECK-NEXT: [[I1:%.*]] = call ptr @ctime2(ptr null) 37; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[I1]] to i32 38; CHECK-NEXT: ret i32 [[TMP0]] 39; 40entry: 41 %i1 = call i32 @ctime2( ptr null ) 42 ret i32 %i1 43} 44