Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / Assembler / call-arg-is-callee.ll
blobb8e2c2d60e34b77433abdd9b5d09a414b97460b9
1 ; RUN: llvm-as < %s -disable-output 2>&1 | FileCheck %s -allow-empty
2 ; CHECK-NOT: error
3 ; CHECK-NOT: warning
4 ; RUN: verify-uselistorder < %s
6 ; Check ordering of callee operand versus the argument operand.
7 define void @call(ptr %p) {
8   call void (...) %p(ptr %p)
9   ret void
12 ; Check ordering of callee operand versus the argument operand.
13 declare void @personality(ptr)
14 define void @invoke(ptr %p) personality ptr @personality {
15 entry:
16   invoke void (...) %p(ptr %p)
17   to label %normal unwind label %exception
18 normal:
19   ret void
20 exception:
21   landingpad { ptr, i32 } cleanup
22   ret void
25 ; Check order for callbr instruction. Cannot reuse labels in the test since the
26 ; verifier prevents duplicating callbr destinations.
27 define void @callbr() {
28 entry:
29   callbr i32 asm "", "=r,r,!i,!i"(i32 0)
30               to label %one [label %two, label %three]
31 one:
32   ret void
33 two:
34   ret void
35 three:
36   ret void