AVR: Add -mfuse-ifelse option to control avr-ifelse pass.
New -mfuse-ifelse option allows disabling the avr-ifelse optimization pass.
This patch introduces a new command-line option, -m[no-]fuse-ifelse, for the AVR target. This option provides finer control over the avr-ifelse optimization pass, allowing developers to enable or disable it as needed. The change modifies the pass’s gate function to respect the new option, providing greater flexibility in controlling optimizations.
In Details
A new option -mfuse-ifelse is added to the AVR target, controlling the avr_pass_ifelse. The avr_pass_ifelse::gate function now checks avropt_fuse_ifelse to determine whether to run the pass. This allows deactivation of the pass, which is important for debugging or when its behavior might be undesirable for specific code generation scenarios.
- AVR
- A family of microcontrollers manufactured by Atmel (now Microchip Technology). GCC supports targeting these microcontrollers.
- optimization pass
- A distinct phase or stage within the compiler that performs a specific set of optimizations on the intermediate representation of the code.
- gate function
- A function within a compiler pass that determines whether the pass should be executed for a given piece of code or under specific conditions.