1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00

[SelectionDAG] Split very large token factors for chained stores to 64k chunks.

Similar to D55073. Without this change, the DAG combiner crashes on code
with more than 64k of stores in a single basic block that form parallelizable
chains.

No test case, as it would be very IR file.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D56740

llvm-svn: 351571
This commit is contained in:
Florian Hahn 2019-01-18 18:37:38 +00:00
parent 5c2f5a0877
commit f393143c45

View File

@ -19349,7 +19349,7 @@ bool DAGCombiner::parallelizeChainedStores(StoreSDNode *St) {
if (AddNewChain) if (AddNewChain)
TFOps.insert(TFOps.begin(), NewChain); TFOps.insert(TFOps.begin(), NewChain);
SDValue TF = DAG.getNode(ISD::TokenFactor, SDLoc(STChain), MVT::Other, TFOps); SDValue TF = DAG.getTokenFactor(SDLoc(STChain), TFOps);
CombineTo(St, TF); CombineTo(St, TF);
AddToWorklist(STChain); AddToWorklist(STChain);