[PATCH] D20276: [MBP] Reduce code size by running tail merging in MBP

via llvm-commits 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.

—escha


More information about the llvm-commits mailing list