Landing: 91291a45490d

Project / Subsystem

gcc / gcc/avr

Date

2026-08-23

Author

Georg-Johann Lay

Commit

91291a45490dae956752e55398b6562505692dc5

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/avr
patch_id
—
commit_hash
91291a45490dae956752e55398b6562505692dc5
source_type
github
headline
AVR: Fix ICE 'incomplete application of insn' in fuse-move pass
tldr
Fixes an ICE in the AVR backend's fuse-move pass by correctly tracking clobbered registers during optimization.
author
Georg-Johann Lay
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • gcc
  • • avr
  • • backend
  • • optimization
  • • ICE
discussion_id_link
—
bugzilla_pr
—
date
2026-08-23T00:00:00.000Z

This commit resolves an Internal Compiler Error (ICE) in the AVR backend’s fuse-move RTL pass. The ICE occurred when an optimization attempted to replace a libgcc call for multiplication with a constant, but failed to account for all registers clobbered by the original libgcc call. The fix ensures the optimization pass correctly identifies and ignores all such clobbered registers, passing tests and fixing an ICE for targets lacking hardware multiplication.