xref: /llvm-project/llvm/test/Transforms/InstCombine/2008-01-06-BitCastAttributes.ll (revision 4ab40eca080965c65802710e39adbb78c4ce7bde)
1; Ignore stderr, we expect warnings there
2; RUN: opt < %s -passes=instcombine 2> /dev/null -S | FileCheck %s
3
4; CHECK-NOT: bitcast
5
6define void @a() {
7  ret void
8}
9
10define signext i32 @b(ptr inreg  %x)   {
11  ret i32 0
12}
13
14define void @c(...) {
15  ret void
16}
17
18define void @g(ptr %y) {
19; CHECK-LABEL: @g(
20; CHECK: call i64 @b(i32 0)
21	%x = call i64 @b( i32 0 )		; <i64> [#uses=0]
22
23; The rest should not have bitcasts remaining
24; CHECK-NOT: bitcast
25  call void @a( ptr noalias  %y )
26  call <2 x i32> @b( ptr inreg  null )		; <<2 x i32>>:1 [#uses=0]
27  call void @c( i32 0 )
28  call void @c( i32 zeroext  0 )
29  ret void
30}
31