[Lldb-commits] [PATCH] D65482: [DAGCombiner] Add an option to control whether or not to enable store merging
wmi created this revision. wmi added a reviewer: tejohnson. Herald added a project: LLDB. Herald added a subscriber: lldb-commits. Add an option to control whether or not to enable store merging in dag combiner so we can workaround some bug more easily. Repository: rLLDB LLDB https://reviews.llvm.org/D65482 Files: lib/CodeGen/SelectionDAG/DAGCombiner.cpp Index: lib/CodeGen/SelectionDAG/DAGCombiner.cpp === --- lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -111,6 +111,11 @@ MaySplitLoadIndex("combiner-split-load-index", cl::Hidden, cl::init(true), cl::desc("DAG combiner may split indexing from loads")); +static cl::opt +EnableStoreMerging("combiner-store-merging", cl::Hidden, cl::init(true), + cl::desc("DAG combiner enable merging multiple stores " +"into a wider store")); + static cl::opt TokenFactorInlineLimit( "combiner-tokenfactor-inline-limit", cl::Hidden, cl::init(2048), cl::desc("Limit the number of operands to inline for Token Factors")); @@ -15521,7 +15526,7 @@ } bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) { - if (OptLevel == CodeGenOpt::None) + if (OptLevel == CodeGenOpt::None || !EnableStoreMerging) return false; EVT MemVT = St->getMemoryVT(); Index: lib/CodeGen/SelectionDAG/DAGCombiner.cpp === --- lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -111,6 +111,11 @@ MaySplitLoadIndex("combiner-split-load-index", cl::Hidden, cl::init(true), cl::desc("DAG combiner may split indexing from loads")); +static cl::opt +EnableStoreMerging("combiner-store-merging", cl::Hidden, cl::init(true), + cl::desc("DAG combiner enable merging multiple stores " +"into a wider store")); + static cl::opt TokenFactorInlineLimit( "combiner-tokenfactor-inline-limit", cl::Hidden, cl::init(2048), cl::desc("Limit the number of operands to inline for Token Factors")); @@ -15521,7 +15526,7 @@ } bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) { - if (OptLevel == CodeGenOpt::None) + if (OptLevel == CodeGenOpt::None || !EnableStoreMerging) return false; EVT MemVT = St->getMemoryVT(); ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D65482: [DAGCombiner] Add an option to control whether or not to enable store merging
This revision was automatically updated to reflect the committed changes. Closed by commit rL367365: [DAGCombiner] Add an option to control whether or not to enable store merging. (authored by wmi, committed by ). Herald added a project: LLVM. Changed prior to commit: https://reviews.llvm.org/D65482?vs=212456&id=212465#toc Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65482/new/ https://reviews.llvm.org/D65482 Files: llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Index: llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp === --- llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -111,6 +111,11 @@ MaySplitLoadIndex("combiner-split-load-index", cl::Hidden, cl::init(true), cl::desc("DAG combiner may split indexing from loads")); +static cl::opt +EnableStoreMerging("combiner-store-merging", cl::Hidden, cl::init(true), + cl::desc("DAG combiner enable merging multiple stores " +"into a wider store")); + static cl::opt TokenFactorInlineLimit( "combiner-tokenfactor-inline-limit", cl::Hidden, cl::init(2048), cl::desc("Limit the number of operands to inline for Token Factors")); @@ -15521,7 +15526,7 @@ } bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) { - if (OptLevel == CodeGenOpt::None) + if (OptLevel == CodeGenOpt::None || !EnableStoreMerging) return false; EVT MemVT = St->getMemoryVT(); Index: llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp === --- llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -111,6 +111,11 @@ MaySplitLoadIndex("combiner-split-load-index", cl::Hidden, cl::init(true), cl::desc("DAG combiner may split indexing from loads")); +static cl::opt +EnableStoreMerging("combiner-store-merging", cl::Hidden, cl::init(true), + cl::desc("DAG combiner enable merging multiple stores " +"into a wider store")); + static cl::opt TokenFactorInlineLimit( "combiner-tokenfactor-inline-limit", cl::Hidden, cl::init(2048), cl::desc("Limit the number of operands to inline for Token Factors")); @@ -15521,7 +15526,7 @@ } bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) { - if (OptLevel == CodeGenOpt::None) + if (OptLevel == CodeGenOpt::None || !EnableStoreMerging) return false; EVT MemVT = St->getMemoryVT(); ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits