[llvm] 43e948c - [X86] Change how the alignment for the stack object is created in LowerFLT_ROUNDS_.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 17 11:29:19 PST 2020


Author: Craig Topper
Date: 2020-02-17T11:27:34-08:00
New Revision: 43e948c4b77f1da88511bac38cfcf4752bc19d37

URL: https://github.com/llvm/llvm-project/commit/43e948c4b77f1da88511bac38cfcf4752bc19d37
DIFF: https://github.com/llvm/llvm-project/commit/43e948c4b77f1da88511bac38cfcf4752bc19d37.diff

LOG: [X86] Change how the alignment for the stack object is created in LowerFLT_ROUNDS_.

We don't need FrameInfo's concept of the stack alignment. We just
need to tell it the desired alignment. Which in this case is 2.

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86ISelLowering.cpp
    llvm/test/CodeGen/X86/flt-rounds.ll

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 76bf65156431..96d41ed0e316 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -25736,14 +25736,12 @@ SDValue X86TargetLowering::LowerFLT_ROUNDS_(SDValue Op,
   */
 
   MachineFunction &MF = DAG.getMachineFunction();
-  const TargetFrameLowering &TFI = *Subtarget.getFrameLowering();
-  const Align StackAlignment(TFI.getStackAlignment());
   MVT VT = Op.getSimpleValueType();
   SDLoc DL(Op);
 
   // Save FP Control Word to stack slot
   int SSFI =
-      MF.getFrameInfo().CreateStackObject(2, StackAlignment.value(), false);
+      MF.getFrameInfo().CreateStackObject(2, 2, false);
   SDValue StackSlot =
       DAG.getFrameIndex(SSFI, getPointerTy(DAG.getDataLayout()));
 

diff  --git a/llvm/test/CodeGen/X86/flt-rounds.ll b/llvm/test/CodeGen/X86/flt-rounds.ll
index b5e77c4e5866..eb640f5e8c69 100644
--- a/llvm/test/CodeGen/X86/flt-rounds.ll
+++ b/llvm/test/CodeGen/X86/flt-rounds.ll
@@ -8,7 +8,7 @@ declare i32 @llvm.flt.rounds()
 define i32 @test_flt_rounds() nounwind {
 ; X86-LABEL: test_flt_rounds:
 ; X86:       # %bb.0:
-; X86-NEXT:    subl $12, %esp
+; X86-NEXT:    subl $2, %esp
 ; X86-NEXT:    fnstcw (%esp)
 ; X86-NEXT:    movzwl (%esp), %ecx
 ; X86-NEXT:    shrl $9, %ecx
@@ -17,7 +17,7 @@ define i32 @test_flt_rounds() nounwind {
 ; X86-NEXT:    # kill: def $cl killed $cl killed $ecx
 ; X86-NEXT:    shrl %cl, %eax
 ; X86-NEXT:    andl $3, %eax
-; X86-NEXT:    addl $12, %esp
+; X86-NEXT:    addl $2, %esp
 ; X86-NEXT:    retl
 ;
 ; X64-LABEL: test_flt_rounds:


        


More information about the llvm-commits mailing list