summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/Target.td7
-rw-r--r--llvm/lib/Target/X86/X86CallingConv.td6
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
OpenPOWER on IntegriCloud