[PATCH] D32394: Add extra operand to CALLSEQ_START to keep frame part set up previously

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 1 10:58:46 PDT 2017


RKSimon added a comment.

A few initial style comments



================
Comment at: include/llvm/CodeGen/SelectionDAG.h:728
   /// (to ensure it's not CSE'd).  CALLSEQ_START does not have a useful SDLoc.
   SDValue getCALLSEQ_START(SDValue Chain, SDValue Op, const SDLoc &DL) {
     SDVTList VTs = getVTList(MVT::Other, MVT::Glue);
----------------
Can this be removed/deprecated?


================
Comment at: include/llvm/Target/TargetInstrInfo.h:185
+    if (isFrameSetup(I)) {
+      assert(I.getOperand(1).getImm() >= 0);
+      return getFrameSize(I) + I.getOperand(1).getImm();
----------------
assert message


================
Comment at: lib/Target/MSP430/MSP430InstrInfo.h:91
+    assert(isFrameInstr(I));
+    assert(I.getOperand(1).getImm() >= 0);
+    return I.getOperand(1).getImm();
----------------
Merge asserts and message


================
Comment at: lib/Target/PowerPC/PPCISelLowering.cpp:5088
+  int64_t FrameSize = cast<ConstantSDNode>(
+                          CallSeqStart.getNode()->getOperand(1))->getSExtValue();
+  SDValue NewCallSeqStart = DAG.getCALLSEQ_START(MemcpyCall, FrameSize, 0,
----------------
getConstantOperand() ?


https://reviews.llvm.org/D32394





More information about the llvm-commits mailing list