[X86] Create extra prolog/epilog for stack realignment [part 2]
authorLuo, Yuanke <yuanke.luo@intel.com>
Tue, 21 Mar 2023 01:06:44 +0000 (09:06 +0800)
committerLuo, Yuanke <yuanke.luo@intel.com>
Tue, 21 Mar 2023 05:43:39 +0000 (13:43 +0800)
This patch is to support D145650 for elf target as well.

Differential Revision: https://reviews.llvm.org/D146489

llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
llvm/test/CodeGen/X86/i386-baseptr.ll

index ef3751e..bf60791 100644 (file)
@@ -114,7 +114,7 @@ bool X86ArgumentStackSlotPass::runOnMachineFunction(MachineFunction &MF) {
   if (F.hasFnAttribute(Attribute::Naked))
     return false;
   // Only support Linux
-  if (!STI.isTargetLinux())
+  if (!STI.isTargetLinux() && !STI.isTargetELF())
     return false;
   if (!TRI->hasBasePointer(MF))
     return false;
index cb8d849..df921f2 100644 (file)
@@ -1,5 +1,6 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
 ; RUN: llc -mtriple=i386-pc-linux -stackrealign < %s | FileCheck %s
+; RUN: llc -mtriple=i386-pc-none-elf -stackrealign < %s | FileCheck %s
 
 declare i32 @helper() nounwind
 define void @base() #0 {