bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/22870] slow aarch64 assembler for source with lots of .loc


From: aoliva at sourceware dot org
Subject: [Bug binutils/22870] slow aarch64 assembler for source with lots of .loc directives
Date: Wed, 21 Feb 2018 00:30:54 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=22870

--- Comment #2 from Alexandre Oliva <aoliva at sourceware dot org> ---
I suspect the source of the problem is the lack of view reset asserts.
Without that, the assembler gets an uninterrupted chain 
of symbolic views, in which each view is computed based on the view 
before it and the offset between the addresses in which they were 
issued.  Depending on the order in which the assembler attempts to 
resolve each view to a constant, it could get expensive.  It was never 
meant for this kind of use: it was expected that most views would be 
zero-asserts, so this wouldn't arise.

The issuance of view asserts was disabled in GCC, triggering this
undesirable behavior in the assembler, but I'm not sure I'd consider it
a bug in gas.  GCC can and should avoid these long chains, issuing view
reset asserts after insns known to generate code.  It has code to do so,
but it's disabled because a few targets had wrong lengths and need
auditing and possibly overriding in a target hook.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]