[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 &&
> 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