Landing: a430011e1c2b

Project / Subsystem

gcc / gcc/value-range

Date

2026-07-14

Author

Aldy Hernandez

Commit

a430011e1c2b75ff7a2cd82b118c69ffc168127a

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/value-range
patch_id
—
commit_hash
a430011e1c2b75ff7a2cd82b118c69ffc168127a
source_type
github
headline
Floating-point range analysis now represents and handles inverse constant ranges.
tldr
GCC's floating-point range analysis can now represent intervals that exclude specific values, improving precision.
author
Aldy Hernandez
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • optimization
  • • floating-point
  • • compiler internals
  • • range analysis
discussion_id_link
—
bugzilla_pr
—
date
2026-07-14T00:00:00.000Z

This commit enhances GCC’s floating-point range analysis (frange) to correctly represent the inverse of a constant range. Previously, attempts to exclude a value were lost, turning into a generic ‘varying’ range. The update allows frange to store intervals like x != C by representing them as two sub-ranges, bringing it to parity with other analysis methods and improving the compiler’s ability to optimize code involving inequalities.