[PATCH] D20276: [MBP] Reduce code size by running tail merging in MBP
llvm-commits at lists.llvm.org
Mon May 23 13:48:12 PDT 2016
> On May 16, 2016, at 12:55 PM, Haicheng Wu via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> haicheng marked an inline comment as done.
> Comment at: lib/CodeGen/MachineBlockPlacement.cpp:1479
> @@ +1478,3 @@
> + // TailMerge can create jump into if branches that make CFG irreducible for
> + // HW that requires structurized CFG.
> + bool EnableTailMerge = !F.getTarget().requiresStructuredCFG() &&
> majnemer wrote:
>> deadalnix wrote:
>>> Out of curiosity, do you have example of hardware doing this ?
>> WebAssembly IIRC.
> I know old AMD GPU had this requirement. Its IL has instructions like "if_xxx" and "endif”.
Ours has that requirement. We don’t generally allow any CFG modification after structurization, which takes place in the pre-ISel phase. Generic block placement is fine though.
More information about the llvm-commits