aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h b/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
index 5780fa64a7e4..25c0b4953ab7 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
+++ b/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
@@ -54,6 +54,9 @@ protected:
// Entry points called by other functions instead of directly by the hardware.
bool IsModuleEntryFunction = false;
+ // Functions with the amdgpu_cs_chain or amdgpu_cs_chain_preserve CC.
+ bool IsChainFunction = false;
+
bool NoSignedZerosFPMath = false;
// Function may be memory bound.
@@ -85,6 +88,13 @@ public:
bool isModuleEntryFunction() const { return IsModuleEntryFunction; }
+ bool isChainFunction() const { return IsChainFunction; }
+
+ // The stack is empty upon entry to this function.
+ bool isBottomOfStack() const {
+ return isEntryFunction() || isChainFunction();
+ }
+
bool hasNoSignedZerosFPMath() const {
return NoSignedZerosFPMath;
}