[LVI] Add trunc to i1 handling. (#124480)
[llvm-project.git] / llvm / test / Transforms / DeadArgElim / 2007-12-20-ParamAttrs.ll
blobc3f7d7df90bc4fb860dc19fab59ac47716f94020
1 ; RUN: opt < %s -passes=deadargelim -S -pass-remarks-output=%t | FileCheck %s
2 ; RUN: cat %t | FileCheck -check-prefix=REMARK %s
4 %struct = type { }
6 @g = global i8 0
8 ; CHECK: define internal void @foo(i8 signext %y) [[NUW:#[0-9]+]]
10 ; REMARK-LABEL: Function: foo
11 ; REMARK:       Args:
12 ; REMARK-NEXT:    - String:   'eliminating argument '
13 ; REMARK-NEXT:    - ArgName:  p
14 ; REMARK-NEXT:    - String:   '('
15 ; REMARK-NEXT:    - ArgIndex: '0'
16 ; REMARK-NEXT:    - String:   ')'
18 define internal zeroext i8 @foo(ptr inreg %p, i8 signext %y, ... )  nounwind {
19   store i8 %y, ptr @g
20   ret i8 0
23 define i32 @bar() {
24 ; CHECK: call void @foo(i8 signext 1) [[NUW]]
25   %A = call zeroext i8(ptr, i8, ...) @foo(ptr inreg null, i8 signext 1, ptr byval(%struct) null ) nounwind
26   ret i32 0
29 ; CHECK: attributes [[NUW]] = { nounwind }