| ; RUN: llvm-as < %s -disable-output 2>&1 | FileCheck %s -allow-empty |
| ; RUN: verify-uselistorder < %s |
| ; Check ordering of callee operand versus the argument operand. |
| define void @call(void (...)* %p) { |
| call void (...) %p(void (...)* %p) |
| ; Check ordering of callee operand versus the argument operand. |
| declare void @personality(i8*) |
| define void @invoke(void (...)* %p) personality void(i8*)* @personality { |
| invoke void (...) %p(void (...)* %p) |
| to label %normal unwind label %exception |
| landingpad { i8*, i32 } cleanup |
| ; Check order for callbr instruction. Cannot reuse labels in the test since the |
| ; verifier prevents duplicating callbr destinations. |
| callbr i32 asm "", "=r,r,X,X"(i32 0, |
| i8 *blockaddress(@callbr, %two), |
| i8 *blockaddress(@callbr, %three)) |
| to label %one [label %two, label %three] |