[PATCH] D80062: [x86] Propagate memory operands during call frame optimization & ISel DAG postprocessing

Jean-Michel Gorius via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 16 12:09:20 PDT 2020


Kayjukh marked 2 inline comments as done.
Kayjukh added inline comments.


================
Comment at: llvm/lib/Target/X86/X86CallFrameOptimization.cpp:565
           Push->addOperand(DefMov->getOperand(i));
+        Push->setMemRefs(MF, DefMov->memoperands());
 
----------------
craig.topper wrote:
> This captures the memoperand for the load of the source, but what about the store to the stack?
I'm not really sure how to model this. As far as I can tell, we don't know the location to which the value gets stored on the stack. Would you add a memory operand with the MachinePointerInfo returned by MachinePointerInfo::getUnknownStack?
Or am I missing something?


================
Comment at: llvm/lib/Target/X86/X86CallFrameOptimization.cpp:571
         Push = BuildMI(MBB, Context.Call, DL, TII->get(PushOpcode))
                    .addReg(Reg)
                    .getInstr();
----------------
craig.topper wrote:
> This also has a store to stack
Same comment as above.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80062





More information about the llvm-commits mailing list