PR9055: extend the fix to PR4050 (r70179) to apply to zext and anyext.

Returning a new node makes the code try to replace the old node, which
in the included testcase is killed by CSE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129650 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eli Friedman
2011-04-16 23:25:34 +00:00
parent 86f72a8002
commit e545d38a28
2 changed files with 25 additions and 2 deletions

View File

@ -3884,7 +3884,7 @@ SDValue DAGCombiner::visitZERO_EXTEND(SDNode *N) {
// CombineTo deleted the truncate, if needed, but not what's under it.
AddToWorkList(oye);
}
return DAG.getNode(ISD::ZERO_EXTEND, N->getDebugLoc(), VT, NarrowLoad);
return SDValue(N, 0); // Return N so it doesn't get rechecked!
}
}
@ -4112,7 +4112,7 @@ SDValue DAGCombiner::visitANY_EXTEND(SDNode *N) {
// CombineTo deleted the truncate, if needed, but not what's under it.
AddToWorkList(oye);
}
return DAG.getNode(ISD::ANY_EXTEND, N->getDebugLoc(), VT, NarrowLoad);
return SDValue(N, 0); // Return N so it doesn't get rechecked!
}
}