Landing: 7023e340a9a1

Project / Subsystem

gcc / gcc/ifcvt

Date

2026-09-06

Author

Kyrylo Tkachov

Commit

7023e340a9a1e1d217ec79756ee2ac6bd2b527b6

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/ifcvt
patch_id
—
commit_hash
7023e340a9a1e1d217ec79756ee2ac6bd2b527b6
source_type
github
headline
Remove redundant tests in ifcvt.
tldr
ifcvt: Three vacuous tests removed from noce_try_shifted_store_flag, noce_try_store_flag_mask, and noce_convert_multiple_sets.
author
Kyrylo Tkachov
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • cleanup
  • • ifcvt
  • • compiler internals
discussion_id_link
—
bugzilla_pr
—
date
2026-09-06T00:00:00.000Z

Several redundant and vacuous tests have been removed from the ifcvt pass. Specifically, noce_try_shifted_store_flag no longer tests for a null value after it has already been handled. noce_try_store_flag_mask is simplified to avoid an assignment within a disjunction, ensuring correct flag behavior. Lastly, noce_convert_multiple_sets removes redundant calls to set_used_flags and associated local variables, as these were already processed. These changes are code cleanups with no functional impact.