diff options
-rw-r--r-- | llvm/lib/Target/Target.td | 7 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86CallingConv.td | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/llvm/lib/Target/Target.td b/llvm/lib/Target/Target.td index 6f8771d2902..fbc972a2928 100644 --- a/llvm/lib/Target/Target.td +++ b/llvm/lib/Target/Target.td @@ -355,6 +355,11 @@ class Processor<string n, ProcessorItineraries pi, list<SubtargetFeature> f> { } //===----------------------------------------------------------------------===// -// Pull in the common support for DAG isel generation +// Pull in the common support for calling conventions. +// +include "TargetCallingConv.td" + +//===----------------------------------------------------------------------===// +// Pull in the common support for DAG isel generation. // include "TargetSelectionDAG.td" diff --git a/llvm/lib/Target/X86/X86CallingConv.td b/llvm/lib/Target/X86/X86CallingConv.td index 635c729c9d8..98b978882e0 100644 --- a/llvm/lib/Target/X86/X86CallingConv.td +++ b/llvm/lib/Target/X86/X86CallingConv.td @@ -71,7 +71,11 @@ def RetCC_X86_64 : CallingConv<[ CCDelegateTo<RetCC_X86_64_C> ]>; - +// This is the return-value convention used for the entire X86 backend. +def RetCC_X86 : CallingConv<[ + CCMatchIf<"Subtarget->is64Bit()", CCDelegateTo<RetCC_X86_64>>, + CCDelegateTo<RetCC_X86_32> +]>; //===----------------------------------------------------------------------===// // Argument Calling Conventions |