Landing: b032f71e1660

Project / Subsystem

gcc / gcc/tree-optimization

Date

2026-07-16

Author

Jakub Jelinek

Commit

b032f71e16603f974b4cbc3d87752d21f43980af

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/tree-optimization
patch_id
commit_hash
b032f71e16603f974b4cbc3d87752d21f43980af
source_type
github
headline
Fix potential overlap in bitint multiplication overflow checks
tldr
Ensures safe handling of bit-integer multiplication overflow by preventing overlap between destination and source operands.
author
Jakub Jelinek
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • optimization
  • bitint
  • compiler-pass
discussion_id_link
bugzilla_pr
date
2026-07-16T00:00:00.000Z

This commit addresses a potential issue in the bitintlower pass where the destination and source operands for multiplication overflow checks could overlap. It modifies build_bitint_stmt_ssa_conflicts to treat IFN_MUL_OVERFLOW and IFN_UBSAN_CHECK_MUL operations as multiplication/division types, preventing data corruption in libgcc’s __mulbitint3 calls.