aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2006-10-18 12:03:07 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2006-10-18 12:03:07 +0000
commit5f1b698aebbb5bb3dc349d287d5c85ab542860ec (patch)
tree2b5506e9d8e5e558d2cbed076bb018b3ec5c39e2
parentb1c8802407ccbf2f2bd81abe9de26f61c9c195a4 (diff)
implement CallingConv::Fast as CallingConv::C
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31034 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMISelDAGToDAG.cpp4
-rw-r--r--test/CodeGen/ARM/call.ll4
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/Target/ARM/ARMISelDAGToDAG.cpp b/lib/Target/ARM/ARMISelDAGToDAG.cpp
index 72d25c8dcf..283d0f18c7 100644
--- a/lib/Target/ARM/ARMISelDAGToDAG.cpp
+++ b/lib/Target/ARM/ARMISelDAGToDAG.cpp
@@ -294,7 +294,9 @@ public:
static SDOperand LowerCALL(SDOperand Op, SelectionDAG &DAG) {
SDOperand Chain = Op.getOperand(0);
unsigned CallConv = cast<ConstantSDNode>(Op.getOperand(1))->getValue();
- assert(CallConv == CallingConv::C && "unknown calling convention");
+ assert((CallConv == CallingConv::C ||
+ CallConv == CallingConv::Fast)
+ && "unknown calling convention");
bool isVarArg = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
bool isTailCall = cast<ConstantSDNode>(Op.getOperand(3))->getValue() != 0;
SDOperand Callee = Op.getOperand(4);
diff --git a/test/CodeGen/ARM/call.ll b/test/CodeGen/ARM/call.ll
index 890018396e..316cb548bb 100644
--- a/test/CodeGen/ARM/call.ll
+++ b/test/CodeGen/ARM/call.ll
@@ -2,9 +2,9 @@
void %f() {
entry:
call void %g( int 1, int 2, int 3, int 4 )
- call void %h()
+ call fastcc void %h()
ret void
}
declare void %g(int, int, int, int)
-declare void %h()
+declare fastcc void %h()