[llvm] 614c63b - [X86] Create extra prolog/epilog for stack realignment [part 2]

via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 20 22:52:40 PDT 2023


Author: Luo, Yuanke
Date: 2023-03-21T13:43:39+08:00
New Revision: 614c63bec6d67cbfdc17b50e443ff769a28c18d0

URL: https://github.com/llvm/llvm-project/commit/614c63bec6d67cbfdc17b50e443ff769a28c18d0
DIFF: https://github.com/llvm/llvm-project/commit/614c63bec6d67cbfdc17b50e443ff769a28c18d0.diff

LOG: [X86] Create extra prolog/epilog for stack realignment [part 2]

This patch is to support D145650 for elf target as well.

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

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp b/llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
index ef3751e40f17..bf6079123431 100644
--- a/llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
+++ b/llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
@@ -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;

diff  --git a/llvm/test/CodeGen/X86/i386-baseptr.ll b/llvm/test/CodeGen/X86/i386-baseptr.ll
index cb8d849a8684..df921f2738ff 100644
--- a/llvm/test/CodeGen/X86/i386-baseptr.ll
+++ b/llvm/test/CodeGen/X86/i386-baseptr.ll
@@ -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 {


        


More information about the llvm-commits mailing list