[Bug tree-optimization/53273] New: test-cases suffer from cross-function optimizations with no way to mark limits
hp at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue May 8 03:07:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53273
Bug #: 53273
Summary: test-cases suffer from cross-function optimizations
with no way to mark limits
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: hp@gcc.gnu.org
Depends on: 53272
Host: x86_64-unknown-linux-gnu
Target: crisv32-*
+++ This bug was initially created as a clone of Bug #53272 +++
See PR53272#c1 and the URL.
Putting a function together with main and auxiliary functions causes different
code than when put in separate files (difference present in the .expand dump),
despite adding all currently known attributes to stop that (noinline, noclone,
asm ("")). If this is deliberate, there must be a future-proof way to stop
such cross-effects, if non-deliberate, it should just be fixed.
Repeat by compiling the test-cases at the URL both separately (at least the
-1.c file) and put in one file, for e.g. crisv32-elf. Observe differences in
the .expand dump for the rtc_update_irq_enable function when compiled at -O2.
More information about the Gcc-bugs
mailing list