Opened 18 months ago

Last modified 18 months ago

#14914 new task

Only turn suitable targets into a fallthrough in CmmContFlowOpt.

Reported by: AndreasK Owned by:
Priority: normal Milestone:
Component: Compiler (CodeGen) Version:
Keywords: CodeGen Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


We are inverting Branches in CmmContFlowOpt such that we get as many fall through paths as possible.

However as it stands besides the conditionals themselves the only criterion used is the number of predecessors for a Block.

This often (but not always) aligns with the actual possibility of turning branches into a fallthrough.

We should at least look at the cost/benefit of tracking actual predecessors and see if that turns out as something worthwhile.

Change History (1)

comment:1 Changed 18 months ago by AndreasK

Keywords: CodeGen added

It's also worth noting that inverting conditionals has a major effect on codelayout.

So this has to be considered when changing the logic behind the inversions.

Note: See TracTickets for help on using tickets.