[PATCH] D80062: [x86] Propagate memory operands during call frame optimization

Jean-Michel Gorius via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 18 09:42:00 PDT 2020


Kayjukh updated this revision to Diff 264663.
Kayjukh retitled this revision from "[x86] Propagate memory operands during call frame optimization & ISel DAG postprocessing" to "[x86] Propagate memory operands during call frame optimization".
Kayjukh added a comment.

Split the call frame optimization patch from the ISel DAG postprocessing patch.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80062/new/

https://reviews.llvm.org/D80062

Files:
  llvm/lib/Target/X86/X86CallFrameOptimization.cpp


Index: llvm/lib/Target/X86/X86CallFrameOptimization.cpp
===================================================================
--- llvm/lib/Target/X86/X86CallFrameOptimization.cpp
+++ llvm/lib/Target/X86/X86CallFrameOptimization.cpp
@@ -562,6 +562,7 @@
         unsigned NumOps = DefMov->getDesc().getNumOperands();
         for (unsigned i = NumOps - X86::AddrNumOperands; i != NumOps; ++i)
           Push->addOperand(DefMov->getOperand(i));
+        Push->cloneMergedMemRefs(MF, {&*DefMov, &*Store});
 
         DefMov->eraseFromParent();
       } else {
@@ -569,6 +570,7 @@
         Push = BuildMI(MBB, Context.Call, DL, TII->get(PushOpcode))
                    .addReg(Reg)
                    .getInstr();
+        Push->cloneMemRefs(MF, *Store);
       }
       break;
     }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80062.264663.patch
Type: text/x-patch
Size: 781 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200518/59c6fc3a/attachment.bin>


More information about the llvm-commits mailing list