summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/fold-call.ll
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-05-29 21:50:34 +0000
committerDan Gohman <gohman@apple.com>2008-05-29 21:50:34 +0000
commit96af4ddb629c28201c2b8f6365d72809a0d36195 (patch)
tree7a0a48680bb12326eba502549bb14912408abf19 /llvm/test/CodeGen/X86/fold-call.ll
parent33e396d0414d190665734a327400fa1c3005288c (diff)
downloadbcm5719-llvm-96af4ddb629c28201c2b8f6365d72809a0d36195.tar.gz
bcm5719-llvm-96af4ddb629c28201c2b8f6365d72809a0d36195.zip
Add patterns for CALL32m and CALL64m. They aren't matched in most
cases due to an isel deficiency already noted in lib/Target/X86/README.txt, but they can be matched in this fold-call.ll testcase, for example. This is interesting mainly because it exposes a tricky tblgen bug; tblgen was incorrectly computing the starting index for variable_ops in the case of a complex pattern. llvm-svn: 51706
Diffstat (limited to 'llvm/test/CodeGen/X86/fold-call.ll')
-rw-r--r--llvm/test/CodeGen/X86/fold-call.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/fold-call.ll b/llvm/test/CodeGen/X86/fold-call.ll
new file mode 100644
index 00000000000..53991717c67
--- /dev/null
+++ b/llvm/test/CodeGen/X86/fold-call.ll
@@ -0,0 +1,10 @@
+; RUN: llvm-as < %s | llc -march=x86 | not grep mov
+; RUN: llvm-as < %s | llc -march=x86-64 | not grep mov
+
+declare void @bar()
+
+define void @foo(i32 %i0, i32 %i1, i32 %i2, i32 %i3, i32 %i4, i32 %i5, void()* %arg) nounwind {
+ call void @bar()
+ call void %arg()
+ ret void
+}
OpenPOWER on IntegriCloud