summaryrefslogtreecommitdiffstats
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
commitb21e8d2e12438d24f5f479e8fd93c4870b0a437e (patch)
treeac0655fdaf3734f68f81eeb6a5c0054dbb9c87fe
parent24b7ac303cadf1ec7bf0256403d1750496628c2c (diff)
downloadbcm5719-llvm-b21e8d2e12438d24f5f479e8fd93c4870b0a437e.tar.gz
bcm5719-llvm-b21e8d2e12438d24f5f479e8fd93c4870b0a437e.zip
implement CallingConv::Fast as CallingConv::C
llvm-svn: 31034
-rw-r--r--llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp4
-rw-r--r--llvm/test/Regression/CodeGen/ARM/call.ll4
2 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
index 72d25c8dcf6..283d0f18c79 100644
--- a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
+++ b/llvm/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/llvm/test/Regression/CodeGen/ARM/call.ll b/llvm/test/Regression/CodeGen/ARM/call.ll
index 890018396e8..316cb548bbf 100644
--- a/llvm/test/Regression/CodeGen/ARM/call.ll
+++ b/llvm/test/Regression/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()
OpenPOWER on IntegriCloud