[llvm] d2ac89b - [LoongArch] Support fastcc and treat it as ccc

Weining Lu via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 25 19:17:24 PDT 2022


Author: WANG Xuerui
Date: 2022-09-26T10:15:00+08:00
New Revision: d2ac89b64e2a324e545b6484a9e25ff848f4df67

URL: https://github.com/llvm/llvm-project/commit/d2ac89b64e2a324e545b6484a9e25ff848f4df67
DIFF: https://github.com/llvm/llvm-project/commit/d2ac89b64e2a324e545b6484a9e25ff848f4df67.diff

LOG: [LoongArch] Support fastcc and treat it as ccc

As explained in D68559 the `fastcc` calling convention may be requested
under certain conditions, hence the need for supporting it. But unlike
RISCV we actually treat it exactly like ccc, without actually inventing
any performance hack right here. And CSKY does the same thing.

This is going to fix a few more test cases with native LoongArch builds.

Differential Revision: https://reviews.llvm.org/D134443

Added: 
    

Modified: 
    llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp b/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
index a13ac47b14c1..314765dcdccc 100644
--- a/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+++ b/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
@@ -1380,6 +1380,7 @@ SDValue LoongArchTargetLowering::LowerFormalArguments(
   default:
     llvm_unreachable("Unsupported calling convention");
   case CallingConv::C:
+  case CallingConv::Fast:
     break;
   }
 


        


More information about the llvm-commits mailing list