[LLVMbugs] [Bug 703] NEW: [vmcore] Split InternalLinkage into Private and Local Linkage

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Jan 24 15:18:45 PST 2006


http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=703

           Summary: [vmcore] Split InternalLinkage into Private and Local
                    Linkage
           Product: libraries
           Version: 1.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Core LLVM classes
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sabre at nondot.org


Filing more "easy enhancements I don't have time for":

Assemblers make a distinction between labels that are "static" (private to the .o file but in the .o file's 
symbol table) and "local" (labels that are both private to the .o file and not in the .o file's symbol table).  

The former are used for static functions/globals, the later are used for basic block labels, constant pool 
entries etc.

A lot of the globals produced by a front-end really want to be marked "local", but we don't have the 
capability to do this right now.  Examples include string constants, metadata (e.g. objc dispatch tables), 
etc.

It would be nice to split the current GlobalValue::InternalLinkage enum into two enum values: 
PrivateLinkage (corresponding to what we have now) and LocalLinkage.  The existing 
"GlobalValue::hasInternalLinkage" method should still exist and should return true if the global has 
either of these linkage types.

Once LLVM preserves this distinction, updating the codegenerator will be trivial to do, and is a separate 
project.

-Chris



------- 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