[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