Skip to content

NCG: Codelayout: Distinguish conditional and other branches.

Andreas Klebinger requested to merge wip/andreask/tune_layout into master

NCG: Codelayout: Distinguish conditional and other branches.

In #18053 we ended up with a suboptimal code layout because
the code layout algorithm didn't distinguish between conditional
and unconditional control flow.

We can completely eliminate unconditional control flow instructions
by placing blocks next to each other, not so much for conditionals.

In terms of implementation we simply give conditional branches less
weight before computing the layout.

Fixes #18053 (closed)

Edited by Ben Gamari

Merge request reports