[PATCH] D18226: Codegen: Tail-duplicate during placement.

David Li via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 11 18:43:01 PDT 2016

davidxl added inline comments.

Comment at: lib/CodeGen/BranchFolding.cpp:656
@@ +655,3 @@
+  // duplicated.
+  if (!AfterPlacement)
+    if (SuccBB && MBB1 != PredBB && MBB2 != PredBB &&
iteratee wrote:
> Discussed this with chandlerc. He thinks that passing around the list of blocks that were tail-duplicated too tightly couples the passes, and that we should strive to have non-overlap. He suggested that a list of blocks that were duplicated might be a good debug measure to make sure they aren't being re-merged.
> Overall I agree with him, and I made a change so there shouldn't be any overlap.
> Do you want to see the set as a debugging measure?
I don't agree. Without making it explicit, the the pass coupling does not disappear -- it is still there but in a more implicit but hard to maintain way.   

For instance, can we guarantee this still work when TailMerger and TailDuplicator uses non-default size thresholds?


More information about the llvm-commits mailing list