[COMMITTED] xtensa: fix slow assembling of gcc.c-torture/compile/limits-externalid

Project / Subsystem

binutils / xtensa

Date

2026-09-13

Proposer

Max Filippov <jcmvbkbc@gmail.com>

Source type

public_inbox

Consensus

Proposed

Sentiment

—/10

Technical tradeoffs

  • • Improves assembly time significantly for specific cases by optimizing fragment iteration.

All attributes

project
binutils
subsystem
xtensa
patch_id
—
discussion_id
20260913022512.3431965-1-jcmvbkbc@gmail.com
source_type
public_inbox
title
[COMMITTED] xtensa: fix slow assembling of gcc.c-torture/compile/limits-externalid
headline
xtensa: fix slow assembling of gcc.c-torture/compile/limits-externalid
tldr
Optimize Xtensa assembler by returning fragment range from branch target checks.
proposer
Max Filippov <jcmvbkbc@gmail.com>
consensus
Proposed
outcome
committed
sentiment_score
—
technical_tradeoffs
  • • Improves assembly time significantly for specific cases by optimizing fragment iteration.
series_id
—
series_role
standalone
series_parts
[]
tags
  • • xtensa
  • • performance
  • • gas
  • • optimization
bugzilla_url
—
date
2026-09-13T00:00:00.000Z

[COMMITTED] xtensa: fix slow assembling of gcc.c-torture/compile/limits-externalid

This commit optimizes the Xtensa assembler’s fragment processing by modifying next_frag_is_branch_target to return the end of the checked fragment range. This prevents redundant checks within loops, reducing the assembly time for specific torture tests from minutes to seconds. The change significantly improves performance for certain complex code generation scenarios.