GCC Newspaper
JUNE 15, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
gcc

Add post_ra_split_completed to allow later condition-code clobbers.

Allows targets to introduce new condition-code register clobbers after the first post-RA split, converting the RX port to this form.

This change introduces a new flag, post_ra_split_completed, to delay the point at which the condition-code register is considered live. This allows targets to introduce new clobbers of the condition-code register later in the compilation process (specifically, after the first post-RA split), which can improve code generation. The RX port is converted to use this new mechanism.

In Details

Targets need to clobber the condition-code (CC) register during register allocation. The traditional approach avoids CC register liveness until after reload, allowing clobbers to be introduced freely until reload_completed. This commit moves the boundary to the first post-RA split, enabling more recog attempts by hiding CC clobbers until later. The RX port is updated to use the new post_ra_split_completed flag.

For Context

During compilation, the compiler needs to manage registers, which are small storage locations within the CPU. Sometimes, certain operations modify special-purpose registers called condition-code registers, which hold status information about the most recent operation. This commit introduces a mechanism to delay the point at which these registers are considered live, allowing for more flexibility in when they can be modified. This can allow the compiler to explore more optimization opportunities.

Filed Under: register allocationcondition codeRX port