From 50070e7744fbeb2cd128bd174b5d436a282977b6 Mon Sep 17 00:00:00 2001 From: Florian Hahn Date: Fri, 18 Jan 2019 18:37:38 +0000 Subject: [PATCH] [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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351571 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index ff5505c9772..416f535870a 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -19349,7 +19349,7 @@ bool DAGCombiner::parallelizeChainedStores(StoreSDNode *St) { if (AddNewChain) 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); AddToWorklist(STChain); -- 2.50.1