Landing: 7ec15f8a0b35

Project / Subsystem

gcc / gcc/middle-end

Date

2026-06-04

Author

Andrew Pinski

Commit

7ec15f8a0b357e33a9c93ad25e4401dd75b7d466

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/middle-end
patch_id
commit_hash
7ec15f8a0b357e33a9c93ad25e4401dd75b7d466
source_type
github
headline
Disabling a match pattern for non-GIMPLE avoids infinite loops.
tldr
GCC now disables a specific optimization pattern for non-GIMPLE code, preventing a stack overflow crash.
author
Andrew Pinski
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • bugfix
  • optimization
  • middle-end
discussion_id_link
bugzilla_pr
date
2026-06-04T00:00:00.000Z

This GCC commit disables a specialized pattern, if (cond) (A | CST1) : (A & ~CST1), when processing non-GIMPLE intermediate representation. Previously, this pattern could interact negatively with the fold optimization pass, creating an infinite loop and leading to a stack overflow. Restricting the pattern to GIMPLE code prevents these crashes, improving compiler stability.