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

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 16 10:33:49 PDT 2020


craig.topper added a comment.

The change to X86ISelDAGToDAG.cpp looks fine. I have questions about the other change.



================
Comment at: llvm/lib/Target/X86/X86CallFrameOptimization.cpp:565
           Push->addOperand(DefMov->getOperand(i));
+        Push->setMemRefs(MF, DefMov->memoperands());
 
----------------
This captures the memoperand for the load of the source, but what about the store to the stack?


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


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