Landing: 052ffac9f442

Project / Subsystem

gcc / ifcvt

Date

2026-07-22

Author

Kyrylo Tkachov

Commit

052ffac9f44224fc35a2f6004c96dd04a425eb68

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
ifcvt
patch_id
—
commit_hash
052ffac9f44224fc35a2f6004c96dd04a425eb68
source_type
github
headline
ifcvt: Factor out CFG surgery epilogue
tldr
ifcvt: Centralizes CFG modification logic after successful if-conversion.
author
Kyrylo Tkachov
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • refactor
  • • optimization
  • • ifcvt
  • • code-duplication
discussion_id_link
—
bugzilla_pr
—
date
2026-07-22T00:00:00.000Z

Three functions in GCC’s ifcvt pass (noce_process_if_block, noce_convert_multiple_sets, and cond_move_process_if_block) duplicated code for modifying the Control Flow Graph (CFG) after a successful conversion. This change factors this common logic into a new helper function, noce_finish_if_conversion, reducing redundancy and improving code maintainability.