blob: 1a2761b7f065014f28f1433d317bf5749a6da6f5 [file] [edit]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature
; RUN: opt -passes=deadargelim -S < %s | FileCheck %s
define internal i32 @optnone_dead_arg(i32 %live, i32 %dead) optnone noinline {
; CHECK-LABEL: define {{[^@]+}}@optnone_dead_arg
; CHECK-SAME: (i32 [[LIVE:%.*]], i32 [[DEAD:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: ret i32 [[LIVE]]
;
ret i32 %live
}
define internal i32 @dead_arg(i32 %live, i32 %dead) {
; CHECK-LABEL: define {{[^@]+}}@dead_arg
; CHECK-SAME: (i32 [[LIVE:%.*]]) {
; CHECK-NEXT: ret i32 [[LIVE]]
;
ret i32 %live
}
define i32 @caller() {
; CHECK-LABEL: define {{[^@]+}}@caller() {
; CHECK-NEXT: [[A:%.*]] = call i32 @optnone_dead_arg(i32 1, i32 2)
; CHECK-NEXT: [[B:%.*]] = call i32 @dead_arg(i32 3)
; CHECK-NEXT: [[C:%.*]] = add i32 [[A]], [[B]]
; CHECK-NEXT: ret i32 [[C]]
;
%a = call i32 @optnone_dead_arg(i32 1, i32 2)
%b = call i32 @dead_arg(i32 3, i32 4)
%c = add i32 %a, %b
ret i32 %c
}