This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/53273] New: test-cases suffer from cross-function optimizations with no way to mark limits
- From: "hp at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 08 May 2012 02:56:09 +0000
- Subject: [Bug tree-optimization/53273] New: test-cases suffer from cross-function optimizations with no way to mark limits
- Auto-submitted: auto-generated
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.