Landing: f6b00aefc25a

Project / Subsystem

gcc / ifcvt

Date

2026-07-22

Author

Kyrylo Tkachov

Commit

f6b00aefc25a25ade7524649605fa83fba80c119

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
ifcvt
patch_id
commit_hash
f6b00aefc25a25ade7524649605fa83fba80c119
source_type
github
headline
ifcvt: Keep only reaching definitions when rewiring sets [PR126184]
tldr
ifcvt pass correctly handles multiple assignments to a variable, fixing a stale value bug.
author
Kyrylo Tkachov
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • optimization
  • ifcvt
  • aarch64
  • bugfix
discussion_id_link
bugzilla_pr
date
2026-07-22T00:00:00.000Z

The ifcvt optimization pass now correctly handles situations where a variable is assigned multiple times. Previously, it could incorrectly use a stale value from an earlier assignment when a later assignment should have taken precedence. This fix ensures that only the most recent, reaching definition is considered, correcting a data dependency bug and passing a new AArch64 test case.