From: Luo, Yuanke Date: Tue, 21 Mar 2023 01:06:44 +0000 (+0800) Subject: [X86] Create extra prolog/epilog for stack realignment [part 2] X-Git-Tag: upstream/17.0.6~14171 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=614c63bec6d67cbfdc17b50e443ff769a28c18d0;p=platform%2Fupstream%2Fllvm.git [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 --- diff --git a/llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp b/llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp index ef3751e..bf60791 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 cb8d849..df921f2 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 {