[PATCH] D33675: [DAG] Do MergeConsecutiveStores again before Instruction Selection

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 31 15:57:28 PDT 2017


efriedma added a comment.

Okay, in that case the compile-time sounds fine.



================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:13170
+  // of MergeStores from happening. For now do the merging twice; before and
+  // after legalization.
+  if (!LegalTypes || (Level == AfterLegalizeDAG)) {
----------------
Can you point to an example testcase where the run before legalization matters?


================
Comment at: lib/Target/AArch64/AArch64ISelLowering.cpp:9425
-    return SDValue();
 
   StoreSDNode *S = cast<StoreSDNode>(N);
----------------
How is this related to the other change?


================
Comment at: test/CodeGen/X86/bigstructret.ll:24
+; CHECK-DAG: movb	$1, 2(%ecx)
+; CHECK-DAG: movw   $256, (%ecx)
 
----------------
We should be able to do something more clever here... but I guess it's not important.


https://reviews.llvm.org/D33675





More information about the llvm-commits mailing list