Skip to content

llvm-upgrade changes names of global variables #1448

@llvmbot

Description

@llvmbot
Bugzilla Link 1076
Resolution FIXED
Resolved on Feb 22, 2010 12:54
Version trunk
OS All
Reporter LLVM Bugzilla Contributor

Extended Description

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillacompile-failUse [accepts-invalid] and [rejects-valid] insteadllvm-toolsAll llvm tools that do not have corresponding tag

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions