[LegalizeDAG] Remove 'NeedInvert' code from expansion of BR_CC. Replace with an assert.
authorCraig Topper <craig.topper@intel.com>
Sun, 13 Jan 2019 19:33:30 +0000 (19:33 +0000)
committerCraig Topper <craig.topper@intel.com>
Sun, 13 Jan 2019 19:33:30 +0000 (19:33 +0000)
I accidentally triggered this code while doing some experiments and it doesn't look lke it could possibly work.

It calls 'getNOT' on a node that should be a CondCode.

I think to do this right we would need to swap the branch target and the fallthrough target. But that's not easy to do. Or we could create an explicit SetCC and feed that into a new BR_CC?

llvm-svn: 351022

llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index 9ac626c..d3aea37 100644 (file)
@@ -3685,10 +3685,7 @@ bool SelectionDAGLegalize::ExpandNode(SDNode *Node) {
     (void)Legalized;
     assert(Legalized && "Can't legalize BR_CC with legal condition!");
 
-    // If we expanded the SETCC by inverting the condition code, then wrap
-    // the existing SETCC in a NOT to restore the intended condition.
-    if (NeedInvert)
-      Tmp4 = DAG.getNOT(dl, Tmp4, Tmp4->getValueType(0));
+    assert(!NeedInvert && "Don't know how to invert BR_CC!");
 
     // If we expanded the SETCC by swapping LHS and RHS, create a new BR_CC
     // node.