[llvm-branch-commits] [llvm-branch] r243647 - Merging r243485:

Hans Wennborg hans at hanshq.net
Thu Jul 30 09:15:22 PDT 2015


Author: hans
Date: Thu Jul 30 11:15:22 2015
New Revision: 243647

URL: http://llvm.org/viewvc/llvm-project?rev=243647&view=rev
Log:
Merging r243485:
------------------------------------------------------------------------
r243485 | vkalintiris | 2015-07-28 14:43:31 -0700 (Tue, 28 Jul 2015) | 12 lines

[mips][FastISel] Fix call lowering by bailing out on "fastcc" calls.

Summary:
Currently, we support only the MIPS O32 ABI calling convention for call
lowering. With this change we avoid using the O32 calling convetion for
lowering calls marked as using the fast calling convention.

Reviewers: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D11515
------------------------------------------------------------------------

Added:
    llvm/branches/release_37/test/CodeGen/Mips/Fast-ISel/fastcc-miss.ll
      - copied unchanged from r243485, llvm/trunk/test/CodeGen/Mips/Fast-ISel/fastcc-miss.ll
Modified:
    llvm/branches/release_37/   (props changed)
    llvm/branches/release_37/lib/Target/Mips/MipsFastISel.cpp

Propchange: llvm/branches/release_37/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul 30 11:15:22 2015
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,242236,242239,242281,242288,242296,242331,242341,242410,242412,242433-242434,242442,242543,242673,242680,242706,242721-242722,242733-242735,242742,242869,242919,242993,243001,243116,243263,243294,243361,243469,243500,243519,243531
+/llvm/trunk:155241,242236,242239,242281,242288,242296,242331,242341,242410,242412,242433-242434,242442,242543,242673,242680,242706,242721-242722,242733-242735,242742,242869,242919,242993,243001,243116,243263,243294,243361,243469,243485,243500,243519,243531

Modified: llvm/branches/release_37/lib/Target/Mips/MipsFastISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_37/lib/Target/Mips/MipsFastISel.cpp?rev=243647&r1=243646&r2=243647&view=diff
==============================================================================
--- llvm/branches/release_37/lib/Target/Mips/MipsFastISel.cpp (original)
+++ llvm/branches/release_37/lib/Target/Mips/MipsFastISel.cpp Thu Jul 30 11:15:22 2015
@@ -1245,6 +1245,10 @@ bool MipsFastISel::fastLowerCall(CallLow
   const Value *Callee = CLI.Callee;
   MCSymbol *Symbol = CLI.Symbol;
 
+  // Do not handle FastCC.
+  if (CC == CallingConv::Fast)
+    return false;
+
   // Allow SelectionDAG isel to handle tail calls.
   if (IsTailCall)
     return false;
@@ -1422,6 +1426,11 @@ bool MipsFastISel::selectRet(const Instr
 
   if (Ret->getNumOperands() > 0) {
     CallingConv::ID CC = F.getCallingConv();
+
+    // Do not handle FastCC.
+    if (CC == CallingConv::Fast)
+      return false;
+
     SmallVector<ISD::OutputArg, 4> Outs;
     GetReturnInfo(F.getReturnType(), F.getAttributes(), Outs, TLI, DL);
 





More information about the llvm-branch-commits mailing list