mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-15 16:09:57 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228841 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cb2ff33a8a
commit
fc58cf7676
@ -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
Block a user