class CallInst;
class GlobalValue;
class Type;
+ class Mangler;
class Section {
friend class TargetAsmInfo;
/// have names in the .o file. This is often "." or "L".
const char *PrivateGlobalPrefix; // Defaults to "."
- /// LessPrivateGlobalPrefix - This prefix is used for some Objective C
- /// metadata symbols that should be passed through the assembler but be
- /// removed by the linker. This is "l" on Darwin.
+ /// LessPrivateGlobalPrefix - This prefix is used for symbols that should
+ /// be passed through the assembler but be removed by the linker. This
+ /// is "l" on Darwin, currently used for some ObjC metadata.
const char *LessPrivateGlobalPrefix; // Defaults to ""
/// JumpTableSpecialLabelPrefix - If not null, a extra (dead) label is
return false;
}
+ /// emitUsedDirectiveFor - This hook allows targets to selectively decide
+ /// not to emit the UsedDirective for some symbols in llvm.used.
+ virtual bool emitUsedDirectiveFor(const GlobalValue *GV,
+ Mangler *Mang) const {
+ return (GV!=0);
+ }
+
/// PreferredEHDataFormat - This hook allows the target to select data
/// format used for encoding pointers in exception handling data. Reason is
/// 0 for data, 1 for code labels, 2 for function pointers. Global is true