[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