[LLVMbugs] [Bug 1076] NEW: llvm-upgrade changes names of global variables

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Jan 4 11:34:51 PST 2007


           Summary: llvm-upgrade changes names of global variables
           Product: tools
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: llvm-upgrade
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rspencer at x10sys.com

Currently, llvm-upgrade changes the names of global variables in an attempt to
disambiguate type plane collapsing. For example:

%ptr = external global int*             ; <int**> [#uses=1]
%dst = external global int              ; <int*> [#uses=2]
%src = external global int              ; <int*> [#uses=1]

gets translated to:

%ptr.s = external global i32* 
%dst.s = external global i32 
%src.s = external global i32 

This is incorrect for external globals. The same applies for external functions.
The names cannot be changed or linking errors will result.

This bug requests llvm-upgrade to not rename global values of any external
linkage type that do not have type plane collapsing conflicts. If there is a
type plane collapse conflict, only one variable should be renamed and a warning
should be emitted indicating the potential for linkage errors.

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

More information about the llvm-bugs mailing list