[PATCH] D60789: [x86] try to widen 'shl' as part of LEA formation

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 16 16:48:58 PDT 2019


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1918
+    auto *ShAmtC = dyn_cast<ConstantSDNode>(Shl.getOperand(1));
+    if (!ShAmtC || ShAmtC->getZExtValue() > 3 || AM.Scale != 1)
+      break;
----------------
Don't we need to check that IndexReg hasn't already been assigned?


================
Comment at: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1943
+    insertDAGNode(*CurDAG, N, NewShl);
+    CurDAG->RemoveDeadNode(Shl.getNode());
+    CurDAG->ReplaceAllUsesWith(N, NewShl);
----------------
The ZERO_EXTEND hasn't been deleted so its still still using Shl. I don't think Shl is dead.


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

https://reviews.llvm.org/D60789





More information about the llvm-commits mailing list