aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/Sparc/SparcISelLowering.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcISelLowering.h')
-rw-r--r--llvm/lib/Target/Sparc/SparcISelLowering.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/Target/Sparc/SparcISelLowering.h b/llvm/lib/Target/Sparc/SparcISelLowering.h
index 5c9703823a64..2768bb20566a 100644
--- a/llvm/lib/Target/Sparc/SparcISelLowering.h
+++ b/llvm/lib/Target/Sparc/SparcISelLowering.h
@@ -44,9 +44,13 @@ namespace llvm {
GLOBAL_BASE_REG, // Global base reg for PIC.
FLUSHW, // FLUSH register windows to stack.
+ TAIL_CALL, // Tail call
+
TLS_ADD, // For Thread Local Storage (TLS).
TLS_LD,
- TLS_CALL
+ TLS_CALL,
+
+ LOAD_GDOP, // Load operation w/ gdop relocation.
};
}
@@ -182,6 +186,10 @@ namespace llvm {
SDValue PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const override;
+ bool IsEligibleForTailCallOptimization(CCState &CCInfo,
+ CallLoweringInfo &CLI,
+ MachineFunction &MF) const;
+
bool ShouldShrinkFPConstant(EVT VT) const override {
// Do not shrink FP constpool if VT == MVT::f128.
// (ldd, call _Q_fdtoq) is more expensive than two ldds.