forked from OSchip/llvm-project
Fix SelectionDAG compile time issue with alias analysis.
Add new token factor node and its users to worklist if alias analysis is turned on, in DAGCombiner::visitTokenFactor(). Alias analysis may cause a lot of new token factors to be inserted into the DAG, and they need to be optimized to avoid significant slow-downs. Reviewed by Hal Finkel. llvm-svn: 228841
This commit is contained in:
parent
5f15a8b959
commit
bf8d0cc699
|
@ -1540,8 +1540,11 @@ SDValue DAGCombiner::visitTokenFactor(SDNode *N) {
|
|||
Result = DAG.getNode(ISD::TokenFactor, SDLoc(N), MVT::Other, Ops);
|
||||
}
|
||||
|
||||
// Don't add users to work list.
|
||||
return CombineTo(N, Result, false);
|
||||
// Add users to worklist if AA is enabled, since it may introduce
|
||||
// a lot of new chained token factors while removing memory deps.
|
||||
bool UseAA = CombinerAA.getNumOccurrences() > 0 ? CombinerAA
|
||||
: DAG.getSubtarget().useAA();
|
||||
return CombineTo(N, Result, UseAA /*add to worklist*/);
|
||||
}
|
||||
|
||||
return Result;
|
||||
|
|
Loading…
Reference in New Issue