[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