diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-09-11 17:42:27 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-09-11 17:42:27 +0000 |
commit | 15f387c93ef8d5c23f110143996c8b9b4a089864 (patch) | |
tree | c05dd44a175d30a5e34ed8d21ecea848a8c1f776 /lib/CodeGen | |
parent | 209a8c8e35cd770d483d597c4eb703a4ee8b0003 (diff) | |
download | llvm-15f387c93ef8d5c23f110143996c8b9b4a089864.tar.gz llvm-15f387c93ef8d5c23f110143996c8b9b4a089864.tar.bz2 llvm-15f387c93ef8d5c23f110143996c8b9b4a089864.tar.xz |
Give internal classes hidden visibility.
Worth 100k on a linux/x86_64 Release+Asserts clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190534 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
22 files changed, 42 insertions, 41 deletions
diff --git a/lib/CodeGen/AggressiveAntiDepBreaker.h b/lib/CodeGen/AggressiveAntiDepBreaker.h index 6683630fba..49be188139 100644 --- a/lib/CodeGen/AggressiveAntiDepBreaker.h +++ b/lib/CodeGen/AggressiveAntiDepBreaker.h @@ -34,7 +34,7 @@ class RegisterClassInfo; /// Class AggressiveAntiDepState /// Contains all the state necessary for anti-dep breaking. - class AggressiveAntiDepState { + class LLVM_LIBRARY_VISIBILITY AggressiveAntiDepState { public: /// RegisterReference - Information about a register reference /// within a liverange @@ -114,7 +114,8 @@ class RegisterClassInfo; /// Class AggressiveAntiDepBreaker - class AggressiveAntiDepBreaker : public AntiDepBreaker { + class LLVM_LIBRARY_VISIBILITY AggressiveAntiDepBreaker + : public AntiDepBreaker { MachineFunction& MF; MachineRegisterInfo &MRI; const TargetInstrInfo *TII; diff --git a/lib/CodeGen/AllocationOrder.h b/lib/CodeGen/AllocationOrder.h index aed461a7ed..f0d35beba2 100644 --- a/lib/CodeGen/AllocationOrder.h +++ b/lib/CodeGen/AllocationOrder.h @@ -25,7 +25,7 @@ namespace llvm { class RegisterClassInfo; class VirtRegMap; -class AllocationOrder { +class LLVM_LIBRARY_VISIBILITY AllocationOrder { SmallVector<MCPhysReg, 16> Hints; ArrayRef<MCPhysReg> Order; int Pos; diff --git a/lib/CodeGen/AntiDepBreaker.h b/lib/CodeGen/AntiDepBreaker.h index df47f984d5..b6e5450e0d 100644 --- a/lib/CodeGen/AntiDepBreaker.h +++ b/lib/CodeGen/AntiDepBreaker.h @@ -28,7 +28,7 @@ namespace llvm { /// AntiDepBreaker - This class works into conjunction with the /// post-RA scheduler to rename registers to break register /// anti-dependencies. -class AntiDepBreaker { +class LLVM_LIBRARY_VISIBILITY AntiDepBreaker { public: typedef std::vector<std::pair<MachineInstr *, MachineInstr *> > DbgValueVector; diff --git a/lib/CodeGen/AsmPrinter/DIE.h b/lib/CodeGen/AsmPrinter/DIE.h index 6eaa6ee66e..d76083a67f 100644 --- a/lib/CodeGen/AsmPrinter/DIE.h +++ b/lib/CodeGen/AsmPrinter/DIE.h @@ -30,7 +30,7 @@ namespace llvm { //===--------------------------------------------------------------------===// /// DIEAbbrevData - Dwarf abbreviation data, describes one attribute of a /// Dwarf abbreviation. - class DIEAbbrevData { + class LLVM_LIBRARY_VISIBILITY DIEAbbrevData { /// Attribute - Dwarf attribute code. /// uint16_t Attribute; @@ -53,7 +53,7 @@ namespace llvm { //===--------------------------------------------------------------------===// /// DIEAbbrev - Dwarf abbreviation, describes the organization of a debug /// information object. - class DIEAbbrev : public FoldingSetNode { + class LLVM_LIBRARY_VISIBILITY DIEAbbrev : public FoldingSetNode { /// Tag - Dwarf tag code. /// uint16_t Tag; @@ -107,7 +107,7 @@ namespace llvm { /// describes its organization. class DIEValue; - class DIE { + class LLVM_LIBRARY_VISIBILITY DIE { protected: /// Offset - Offset in debug info section. /// @@ -188,7 +188,7 @@ namespace llvm { //===--------------------------------------------------------------------===// /// DIEValue - A debug information entry value. /// - class DIEValue { + class LLVM_LIBRARY_VISIBILITY DIEValue { virtual void anchor(); public: enum { @@ -228,7 +228,7 @@ namespace llvm { //===--------------------------------------------------------------------===// /// DIEInteger - An integer value DIE. /// - class DIEInteger : public DIEValue { + class LLVM_LIBRARY_VISIBILITY DIEInteger : public DIEValue { uint64_t Integer; public: explicit DIEInteger(uint64_t I) : DIEValue(isInteger), Integer(I) {} @@ -270,7 +270,7 @@ namespace llvm { //===--------------------------------------------------------------------===// /// DIEExpr - An expression DIE. // - class DIEExpr : public DIEValue { + class LLVM_LIBRARY_VISIBILITY DIEExpr : public DIEValue { const MCExpr *Expr; public: explicit DIEExpr(const MCExpr *E) : DIEValue(isExpr), Expr(E) {} @@ -298,7 +298,7 @@ namespace llvm { //===--------------------------------------------------------------------===// /// DIELabel - A label DIE. // - class DIELabel : public DIEValue { + class LLVM_LIBRARY_VISIBILITY DIELabel : public DIEValue { const MCSymbol *Label; public: explicit DIELabel(const MCSymbol *L) : DIEValue(isLabel), Label(L) {} @@ -326,7 +326,7 @@ namespace llvm { //===--------------------------------------------------------------------===// /// DIEDelta - A simple label difference DIE. /// - class DIEDelta : public DIEValue { + class LLVM_LIBRARY_VISIBILITY DIEDelta : public DIEValue { const MCSymbol *LabelHi; const MCSymbol *LabelLo; public: @@ -352,7 +352,7 @@ namespace llvm { //===--------------------------------------------------------------------===// /// DIEString - A container for string values. /// - class DIEString : public DIEValue { + class LLVM_LIBRARY_VISIBILITY DIEString : public DIEValue { const DIEValue *Access; const StringRef Str; @@ -383,7 +383,7 @@ namespace llvm { /// DIEEntry - A pointer to another debug information entry. An instance of /// this class can also be used as a proxy for a debug information entry not /// yet defined (ie. types.) - class DIEEntry : public DIEValue { + class LLVM_LIBRARY_VISIBILITY DIEEntry : public DIEValue { DIE *const Entry; public: explicit DIEEntry(DIE *E) : DIEValue(isEntry), Entry(E) { @@ -417,7 +417,7 @@ namespace llvm { //===--------------------------------------------------------------------===// /// DIEBlock - A block of values. Primarily used for location expressions. // - class DIEBlock : public DIEValue, public DIE { + class LLVM_LIBRARY_VISIBILITY DIEBlock : public DIEValue, public DIE { unsigned Size; // Size in bytes excluding size header. public: DIEBlock() diff --git a/lib/CodeGen/AsmPrinter/DIEHash.h b/lib/CodeGen/AsmPrinter/DIEHash.h index b792aeab6c..d0bf34c492 100644 --- a/lib/CodeGen/AsmPrinter/DIEHash.h +++ b/lib/CodeGen/AsmPrinter/DIEHash.h @@ -19,7 +19,7 @@ class CompileUnit; /// \brief An object containing the capability of hashing and adding hash /// attributes onto a DIE. -class DIEHash { +class LLVM_LIBRARY_VISIBILITY DIEHash { // The entry for a particular attribute. struct AttrEntry { const DIEValue *Val; diff --git a/lib/CodeGen/AsmPrinter/DwarfAccelTable.h b/lib/CodeGen/AsmPrinter/DwarfAccelTable.h index 7627313d28..1ea0bfb7a0 100644 --- a/lib/CodeGen/AsmPrinter/DwarfAccelTable.h +++ b/lib/CodeGen/AsmPrinter/DwarfAccelTable.h @@ -65,7 +65,7 @@ class AsmPrinter; class DIE; class DwarfUnits; -class DwarfAccelTable { +class LLVM_LIBRARY_VISIBILITY DwarfAccelTable { static uint32_t HashDJB(StringRef Str) { uint32_t h = 5381; diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h index ecffb25702..2a8b648bd6 100644 --- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h +++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h @@ -34,7 +34,7 @@ class DbgVariable; //===----------------------------------------------------------------------===// /// CompileUnit - This dwarf writer support class manages information associated /// with a source file. -class CompileUnit { +class LLVM_LIBRARY_VISIBILITY CompileUnit { /// UniqueID - a numeric ID unique among all CUs in the module /// unsigned UniqueID; diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h index c702180dc3..43d8141d1f 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -44,7 +44,7 @@ class DIEEntry; //===----------------------------------------------------------------------===// /// \brief This class is used to record source line correspondence. -class SrcLineInfo { +class LLVM_LIBRARY_VISIBILITY SrcLineInfo { unsigned Line; // Source line number. unsigned Column; // Source column. unsigned SourceID; // Source ID number. @@ -62,7 +62,7 @@ public: /// \brief This struct describes location entries emitted in the .debug_loc /// section. -class DotDebugLocEntry { +class LLVM_LIBRARY_VISIBILITY DotDebugLocEntry { // Begin and end symbols for the address range that this location is valid. const MCSymbol *Begin; const MCSymbol *End; @@ -143,7 +143,7 @@ public: //===----------------------------------------------------------------------===// /// \brief This class is used to track local variable information. -class DbgVariable { +class LLVM_LIBRARY_VISIBILITY DbgVariable { DIVariable Var; // Variable Descriptor. DIE *TheDIE; // Variable DIE. unsigned DotDebugLocOffset; // Offset in DotDebugLocEntries. @@ -212,7 +212,7 @@ public: /// \brief Collects and handles information specific to a particular /// collection of units. -class DwarfUnits { +class LLVM_LIBRARY_VISIBILITY DwarfUnits { // Target of Dwarf emission, used for sizing of abbreviations. AsmPrinter *Asm; @@ -301,7 +301,7 @@ public: }; /// \brief Collects and handles dwarf debug information. -class DwarfDebug { +class LLVM_LIBRARY_VISIBILITY DwarfDebug { // Target of Dwarf emission. AsmPrinter *Asm; diff --git a/lib/CodeGen/AsmPrinter/DwarfException.h b/lib/CodeGen/AsmPrinter/DwarfException.h index 49a85d81b4..fe86184dc3 100644 --- a/lib/CodeGen/AsmPrinter/DwarfException.h +++ b/lib/CodeGen/AsmPrinter/DwarfException.h @@ -34,7 +34,7 @@ class AsmPrinter; //===----------------------------------------------------------------------===// /// DwarfException - Emits Dwarf exception handling directives. /// -class DwarfException { +class LLVM_LIBRARY_VISIBILITY DwarfException { protected: /// Asm - Target of Dwarf emission. AsmPrinter *Asm; @@ -141,7 +141,7 @@ public: virtual void EndFunction(); }; -class DwarfCFIException : public DwarfException { +class LLVM_LIBRARY_VISIBILITY DwarfCFIException : public DwarfException { /// shouldEmitPersonality - Per-function flag to indicate if .cfi_personality /// should be emitted. bool shouldEmitPersonality; @@ -175,7 +175,7 @@ public: virtual void EndFunction(); }; -class ARMException : public DwarfException { +class LLVM_LIBRARY_VISIBILITY ARMException : public DwarfException { void EmitTypeInfos(unsigned TTypeEncoding); public: //===--------------------------------------------------------------------===// @@ -196,7 +196,7 @@ public: virtual void EndFunction(); }; -class Win64Exception : public DwarfException { +class LLVM_LIBRARY_VISIBILITY Win64Exception : public DwarfException { /// shouldEmitPersonality - Per-function flag to indicate if personality /// info should be emitted. bool shouldEmitPersonality; diff --git a/lib/CodeGen/BranchFolding.h b/lib/CodeGen/BranchFolding.h index 0d15ed7e79..9ca0f29675 100644 --- a/lib/CodeGen/BranchFolding.h +++ b/lib/CodeGen/BranchFolding.h @@ -21,7 +21,7 @@ namespace llvm { class TargetInstrInfo; class TargetRegisterInfo; - class BranchFolder { + class LLVM_LIBRARY_VISIBILITY BranchFolder { public: explicit BranchFolder(bool defaultEnableTailMerge, bool CommonHoist); diff --git a/lib/CodeGen/CriticalAntiDepBreaker.h b/lib/CodeGen/CriticalAntiDepBreaker.h index 565d20bac0..ef4059e7af 100644 --- a/lib/CodeGen/CriticalAntiDepBreaker.h +++ b/lib/CodeGen/CriticalAntiDepBreaker.h @@ -31,7 +31,7 @@ class RegisterClassInfo; class TargetInstrInfo; class TargetRegisterInfo; - class CriticalAntiDepBreaker : public AntiDepBreaker { + class LLVM_LIBRARY_VISIBILITY CriticalAntiDepBreaker : public AntiDepBreaker { MachineFunction& MF; MachineRegisterInfo &MRI; const TargetInstrInfo *TII; diff --git a/lib/CodeGen/InterferenceCache.h b/lib/CodeGen/InterferenceCache.h index c02fb9a1ee..a7fb98057a 100644 --- a/lib/CodeGen/InterferenceCache.h +++ b/lib/CodeGen/InterferenceCache.h @@ -21,7 +21,7 @@ namespace llvm { class LiveIntervals; -class InterferenceCache { +class LLVM_LIBRARY_VISIBILITY InterferenceCache { const TargetRegisterInfo *TRI; LiveIntervalUnion *LIUArray; MachineFunction *MF; diff --git a/lib/CodeGen/LiveDebugVariables.h b/lib/CodeGen/LiveDebugVariables.h index 58a3f0f6ff..1d449fd10b 100644 --- a/lib/CodeGen/LiveDebugVariables.h +++ b/lib/CodeGen/LiveDebugVariables.h @@ -30,7 +30,7 @@ class LiveInterval; class LiveIntervals; class VirtRegMap; -class LiveDebugVariables : public MachineFunctionPass { +class LLVM_LIBRARY_VISIBILITY LiveDebugVariables : public MachineFunctionPass { void *pImpl; public: static char ID; // Pass identification, replacement for typeid diff --git a/lib/CodeGen/LiveRangeCalc.h b/lib/CodeGen/LiveRangeCalc.h index 69c7f765e6..7a371c16d3 100644 --- a/lib/CodeGen/LiveRangeCalc.h +++ b/lib/CodeGen/LiveRangeCalc.h @@ -33,7 +33,7 @@ class MachineDominatorTree; template <class NodeT> class DomTreeNodeBase; typedef DomTreeNodeBase<MachineBasicBlock> MachineDomTreeNode; -class LiveRangeCalc { +class LLVM_LIBRARY_VISIBILITY LiveRangeCalc { const MachineFunction *MF; const MachineRegisterInfo *MRI; SlotIndexes *Indexes; diff --git a/lib/CodeGen/PrologEpilogInserter.h b/lib/CodeGen/PrologEpilogInserter.h index 50f4daf733..c18c0e8b88 100644 --- a/lib/CodeGen/PrologEpilogInserter.h +++ b/lib/CodeGen/PrologEpilogInserter.h @@ -33,7 +33,7 @@ namespace llvm { class RegScavenger; class MachineBasicBlock; - class PEI : public MachineFunctionPass { + class LLVM_LIBRARY_VISIBILITY PEI : public MachineFunctionPass { public: static char ID; PEI() : MachineFunctionPass(ID) { diff --git a/lib/CodeGen/RegAllocBase.h b/lib/CodeGen/RegAllocBase.h index 9c0029837d..597b1fcb58 100644 --- a/lib/CodeGen/RegAllocBase.h +++ b/lib/CodeGen/RegAllocBase.h @@ -56,7 +56,7 @@ class Spiller; /// Register allocators must override the selectOrSplit() method to implement /// live range splitting. They must also override enqueue/dequeue to provide an /// assignment order. -class RegAllocBase { +class LLVM_LIBRARY_VISIBILITY RegAllocBase { protected: const TargetRegisterInfo *TRI; MachineRegisterInfo *MRI; diff --git a/lib/CodeGen/SelectionDAG/InstrEmitter.h b/lib/CodeGen/SelectionDAG/InstrEmitter.h index 920dda8820..1126707c3f 100644 --- a/lib/CodeGen/SelectionDAG/InstrEmitter.h +++ b/lib/CodeGen/SelectionDAG/InstrEmitter.h @@ -26,7 +26,7 @@ class MachineInstrBuilder; class MCInstrDesc; class SDDbgValue; -class InstrEmitter { +class LLVM_LIBRARY_VISIBILITY InstrEmitter { MachineFunction *MF; MachineRegisterInfo *MRI; const TargetMachine *TM; diff --git a/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h b/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h index 4af7172847..a08706a60c 100644 --- a/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h +++ b/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h @@ -27,7 +27,7 @@ class Value; /// SDDbgValue - Holds the information from a dbg_value node through SDISel. /// We do not use SDValue here to avoid including its header. -class SDDbgValue { +class LLVM_LIBRARY_VISIBILITY SDDbgValue { public: enum DbgValueKind { SDNODE = 0, // value is the result of an expression diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h b/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h index 2ff37e0a15..60663c0ba0 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h +++ b/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h @@ -33,7 +33,7 @@ namespace llvm { /// edges. Physical register dependence information is not carried in /// the DAG and must be handled explicitly by schedulers. /// - class ScheduleDAGSDNodes : public ScheduleDAG { + class LLVM_LIBRARY_VISIBILITY ScheduleDAGSDNodes : public ScheduleDAG { public: MachineBasicBlock *BB; SelectionDAG *DAG; // DAG of the current basic block diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h index 6463ecaca5..ec640bca52 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h @@ -79,7 +79,7 @@ class ZExtInst; /// SelectionDAGBuilder - This is the common target-independent lowering /// implementation that is parameterized by a TargetLowering object. /// -class SelectionDAGBuilder { +class LLVM_LIBRARY_VISIBILITY SelectionDAGBuilder { /// CurInst - The current instruction being visited const Instruction *CurInst; diff --git a/lib/CodeGen/SpillPlacement.h b/lib/CodeGen/SpillPlacement.h index 105516bb62..0a90398a4c 100644 --- a/lib/CodeGen/SpillPlacement.h +++ b/lib/CodeGen/SpillPlacement.h @@ -39,7 +39,7 @@ class EdgeBundles; class MachineBasicBlock; class MachineLoopInfo; -class SpillPlacement : public MachineFunctionPass { +class LLVM_LIBRARY_VISIBILITY SpillPlacement : public MachineFunctionPass { struct Node; const MachineFunction *MF; const EdgeBundles *bundles; diff --git a/lib/CodeGen/SplitKit.h b/lib/CodeGen/SplitKit.h index f029c73d12..e0a9c3176a 100644 --- a/lib/CodeGen/SplitKit.h +++ b/lib/CodeGen/SplitKit.h @@ -39,7 +39,7 @@ class raw_ostream; /// SplitAnalysis - Analyze a LiveInterval, looking for live range splitting /// opportunities. -class SplitAnalysis { +class LLVM_LIBRARY_VISIBILITY SplitAnalysis { public: const MachineFunction &MF; const VirtRegMap &VRM; @@ -208,7 +208,7 @@ public: /// - Finish the current interval with closeIntv and repeat from 2. /// - Rewrite instructions with finish(). /// -class SplitEditor { +class LLVM_LIBRARY_VISIBILITY SplitEditor { SplitAnalysis &SA; LiveIntervals &LIS; VirtRegMap &VRM; |