[PATCH] D17801: Fixed X86 Interrupt handler calling convention for MCU target

Amjad Aboud via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 3 09:22:34 PST 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL262628: MCU target has its own ABI, however X86 interrupt handler calling convention… (authored by aaboud).

Changed prior to commit:
  http://reviews.llvm.org/D17801?vs=49597&id=49744#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D17801

Files:
  llvm/trunk/lib/Target/X86/X86CallingConv.td

Index: llvm/trunk/lib/Target/X86/X86CallingConv.td
===================================================================
--- llvm/trunk/lib/Target/X86/X86CallingConv.td
+++ llvm/trunk/lib/Target/X86/X86CallingConv.td
@@ -770,14 +770,16 @@
 
 // This is the root argument convention for the X86-32 backend.
 def CC_X86_32 : CallingConv<[
+  // X86_INTR calling convention is valid in MCU target and should override the
+  // MCU calling convention. Thus, this should be checked before isTargetMCU().
+  CCIfCC<"CallingConv::X86_INTR", CCDelegateTo<CC_X86_32_Intr>>,
   CCIfSubtarget<"isTargetMCU()", CCDelegateTo<CC_X86_32_MCU>>,
   CCIfCC<"CallingConv::X86_FastCall", CCDelegateTo<CC_X86_32_FastCall>>,
   CCIfCC<"CallingConv::X86_VectorCall", CCDelegateTo<CC_X86_32_VectorCall>>,
   CCIfCC<"CallingConv::X86_ThisCall", CCDelegateTo<CC_X86_32_ThisCall>>,
   CCIfCC<"CallingConv::Fast", CCDelegateTo<CC_X86_32_FastCC>>,
   CCIfCC<"CallingConv::GHC", CCDelegateTo<CC_X86_32_GHC>>,
   CCIfCC<"CallingConv::HiPE", CCDelegateTo<CC_X86_32_HiPE>>,
-  CCIfCC<"CallingConv::X86_INTR", CCDelegateTo<CC_X86_32_Intr>>,
 
   // Otherwise, drop to normal X86-32 CC
   CCDelegateTo<CC_X86_32_C>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17801.49744.patch
Type: text/x-patch
Size: 1178 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160303/38d956dc/attachment.bin>


More information about the llvm-commits mailing list