[llvm] [llvm] No inline stackprobe for UEFI (PR #139330)
via llvm-commits
llvm-commits at lists.llvm.org
Fri May 9 14:53:27 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-x86
Author: Prabhu Rajasekaran (Prabhuk)
<details>
<summary>Changes</summary>
UEFI targets must be excluded from inline stack probes.
---
Full diff: https://github.com/llvm/llvm-project/pull/139330.diff
1 Files Affected:
- (modified) llvm/lib/Target/X86/X86ISelLowering.cpp (+3-2)
``````````diff
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index f04603867a587..9751b6b1e5e97 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -62039,7 +62039,7 @@ bool X86TargetLowering::hasStackProbeSymbol(const MachineFunction &MF) const {
bool X86TargetLowering::hasInlineStackProbe(const MachineFunction &MF) const {
// No inline stack probe for Windows, they have their own mechanism.
- if (Subtarget.isOSWindows() ||
+ if (Subtarget.isOSWindows() || Subtarget.isUEFI() ||
MF.getFunction().hasFnAttribute("no-stack-arg-probe"))
return false;
@@ -62065,7 +62065,8 @@ X86TargetLowering::getStackProbeSymbolName(const MachineFunction &MF) const {
// Generally, if we aren't on Windows, the platform ABI does not include
// support for stack probes, so don't emit them.
- if (!Subtarget.isOSWindows() || Subtarget.isTargetMachO() ||
+ if ((!Subtarget.isOSWindows() && !Subtarget.isUEFI()) ||
+ Subtarget.isTargetMachO() ||
MF.getFunction().hasFnAttribute("no-stack-arg-probe"))
return "";
``````````
</details>
https://github.com/llvm/llvm-project/pull/139330
More information about the llvm-commits
mailing list