19477d39eSFlorian Hahn; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --scrub-attributes 2*8ebb3eacSBjorn Pettersson; RUN: opt < %s -S -passes=ipsccp | FileCheck %s 39477d39eSFlorian Hahn 49477d39eSFlorian Hahntarget datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 59477d39eSFlorian Hahntarget triple = "x86_64-unknown-linux-gnu" 69477d39eSFlorian Hahn 79477d39eSFlorian Hahndefine i64 @fn2() { 89477d39eSFlorian Hahn; CHECK-LABEL: define {{[^@]+}}@fn2() 99477d39eSFlorian Hahn; CHECK-NEXT: entry: 109477d39eSFlorian Hahn; CHECK-NEXT: [[CONV:%.*]] = sext i32 undef to i64 119477d39eSFlorian Hahn; CHECK-NEXT: [[DIV:%.*]] = sdiv i64 8, [[CONV]] 129477d39eSFlorian Hahn; CHECK-NEXT: [[CALL2:%.*]] = call i64 @fn1(i64 [[DIV]]) 139477d39eSFlorian Hahn; CHECK-NEXT: ret i64 [[CALL2]] 149477d39eSFlorian Hahn; 159477d39eSFlorian Hahnentry: 169477d39eSFlorian Hahn %conv = sext i32 undef to i64 179477d39eSFlorian Hahn %div = sdiv i64 8, %conv 189477d39eSFlorian Hahn %call2 = call i64 @fn1(i64 %div) 199477d39eSFlorian Hahn ret i64 %call2 209477d39eSFlorian Hahn} 219477d39eSFlorian Hahn 229477d39eSFlorian Hahndefine internal i64 @fn1(i64 %p1) { 239477d39eSFlorian Hahn; CHECK-LABEL: define {{[^@]+}}@fn1 249477d39eSFlorian Hahn; CHECK-SAME: (i64 [[P1:%.*]]) 259477d39eSFlorian Hahn; CHECK-NEXT: entry: 269477d39eSFlorian Hahn; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne i64 [[P1]], 0 279477d39eSFlorian Hahn; CHECK-NEXT: [[COND:%.*]] = select i1 [[TOBOOL]], i64 [[P1]], i64 [[P1]] 289477d39eSFlorian Hahn; CHECK-NEXT: ret i64 [[COND]] 299477d39eSFlorian Hahn; 309477d39eSFlorian Hahnentry: 319477d39eSFlorian Hahn %tobool = icmp ne i64 %p1, 0 329477d39eSFlorian Hahn %cond = select i1 %tobool, i64 %p1, i64 %p1 339477d39eSFlorian Hahn ret i64 %cond 349477d39eSFlorian Hahn} 35