Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / attr-dontcall.ll
blob7de44b81dfeaa92ddeca2f7fa0468116cb1d4334
1 ; RUN: not llc -mtriple=x86_64 -global-isel=0 -fast-isel=0 -stop-after=finalize-isel < %s 2>&1 | FileCheck %s
2 ; RUN: not llc -mtriple=x86_64 -global-isel=0 -fast-isel=1 -stop-after=finalize-isel < %s 2>&1 | FileCheck %s
3 ; RUN: not llc -mtriple=x86_64 -global-isel=1 -fast-isel=0 -stop-after=irtranslator -global-isel-abort=0 < %s 2>&1 | FileCheck %s
5 declare void @foo() "dontcall-error"="e"
6 define void @bar() {
7   call void @foo()
8   ret void
11 declare void @foo2() "dontcall-warn"="w"
12 define void @bar2() {
13   call void @foo2()
14   ret void
17 declare void @foo3() "dontcall-warn"
18 define void @bar3() {
19   call void @foo3()
20   ret void
23 declare void @foo4(i32) addrspace(1) "dontcall-warn"="cast"
25 define void @bar4() {
26   call void addrspacecast (ptr addrspace(1) @foo4 to ptr)(i32 0)
27   ret void
30 declare i32 @_Z3fooi(i32) "dontcall-error"
31 define void @demangle1() {
32   call i32 @_Z3fooi (i32 0)
33   ret void
35 declare float @_Z3barf(float) "dontcall-error"
36 define void @demangle2() {
37   call float @_Z3barf(float 0.0)
38   ret void
41 declare i32 @_RNvC1a3baz() "dontcall-error"
42 define void @demangle3() {
43   call i32 @_RNvC1a3baz()
44   ret void
48 declare i32 @_Z3fooILi79EEbU7_ExtIntIXT_EEi(i32) "dontcall-error"
49 define void @demangle4() {
50   call i32 @_Z3fooILi79EEbU7_ExtIntIXT_EEi(i32 0)
51   ret void
53 ; CHECK: error: call to foo marked "dontcall-error": e
54 ; CHECK: warning: call to foo2 marked "dontcall-warn": w
55 ; CHECK: warning: call to foo3 marked "dontcall-warn"{{$}}
56 ; CHECK: warning: call to foo4 marked "dontcall-warn": cast
57 ; CHECK: error: call to foo(int) marked "dontcall-error"
58 ; CHECK: error: call to bar(float) marked "dontcall-error"
59 ; CHECK: error: call to a::baz marked "dontcall-error"
60 ; CHECK: error: call to bool foo<79>(int _ExtInt<79>) marked "dontcall-error"