44 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=instcombine -S | FileCheck %s3 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 010;11 ret i32 012}13 14define ptr @ctime2(ptr %p) {15; CHECK-LABEL: @ctime2(16; CHECK-NEXT: ret ptr [[P:%.*]]17;18 ret ptr %p19}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 ptr26; CHECK-NEXT: ret ptr [[TMP1]]27;28entry:29 %i0 = call ptr @main2( )30 ret ptr %i031}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 i3238; CHECK-NEXT: ret i32 [[TMP0]]39;40entry:41 %i1 = call i32 @ctime2( ptr null )42 ret i32 %i143}44