This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/53273] New: test-cases suffer from cross-function optimizations with no way to mark limits


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]