[LLVMbugs] [Bug 14851] New: LTO is removing functions that populate cross-boundaries array setup

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jan 8 08:46:06 PST 2013


http://llvm.org/bugs/show_bug.cgi?id=14851

             Bug #: 14851
           Summary: LTO is removing functions that populate
                    cross-boundaries array setup
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Interprocedural Optimizations
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: renato.golin at linaro.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 9833
  --> http://llvm.org/bugs/attachment.cgi?id=9833
source and script to reproduce

Attached a C file that exposes an LTO problem (with script).

Function 'setup()' fills up all three arrays through the first one (by overrun)
and funcion 'main()' prints the values. After LTO (opt -std-link-opts), LLVM
reduces the stride of 'setup()' to 20 (bar and baz come empty), since they were
never initialized in the first place.

Another bug will be filled in Clang to add a warning on such cases, but the
legality of this change is questioned.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list