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 | 6a44af36297ae61238bb7ad1e05e77bcc5571f72 (patch) | |
| tree | 70b0aee7b37df563d9e3c01312194cab536d0597 /llvm/lib/CodeGen | |
| parent | 786d32ecf7071c0c7cc8bdff46ac21d6d5c4fd33 (diff) | |
| download | bcm5719-llvm-6a44af36297ae61238bb7ad1e05e77bcc5571f72.tar.gz bcm5719-llvm-6a44af36297ae61238bb7ad1e05e77bcc5571f72.zip  | |
Give internal classes hidden visibility.
Worth 100k on a linux/x86_64 Release+Asserts clang.
llvm-svn: 190534
Diffstat (limited to 'llvm/lib/CodeGen')
22 files changed, 42 insertions, 41 deletions
diff --git a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h b/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h index 6683630fba6..49be1881392 100644 --- a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h +++ b/llvm/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/llvm/lib/CodeGen/AllocationOrder.h b/llvm/lib/CodeGen/AllocationOrder.h index aed461a7ed0..f0d35beba28 100644 --- a/llvm/lib/CodeGen/AllocationOrder.h +++ b/llvm/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/llvm/lib/CodeGen/AntiDepBreaker.h b/llvm/lib/CodeGen/AntiDepBreaker.h index df47f984d57..b6e5450e0d6 100644 --- a/llvm/lib/CodeGen/AntiDepBreaker.h +++ b/llvm/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/llvm/lib/CodeGen/AsmPrinter/DIE.h b/llvm/lib/CodeGen/AsmPrinter/DIE.h index 6eaa6ee66ef..d76083a67f7 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DIE.h +++ b/llvm/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/llvm/lib/CodeGen/AsmPrinter/DIEHash.h b/llvm/lib/CodeGen/AsmPrinter/DIEHash.h index b792aeab6ce..d0bf34c492a 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DIEHash.h +++ b/llvm/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/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h b/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h index 7627313d28f..1ea0bfb7a0f 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h +++ b/llvm/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/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h index ecffb257025..2a8b648bd6a 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h +++ b/llvm/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/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h index c702180dc35..43d8141d1fd 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/llvm/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/llvm/lib/CodeGen/AsmPrinter/DwarfException.h b/llvm/lib/CodeGen/AsmPrinter/DwarfException.h index 49a85d81b4e..fe86184dc3e 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfException.h +++ b/llvm/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/llvm/lib/CodeGen/BranchFolding.h b/llvm/lib/CodeGen/BranchFolding.h index 0d15ed7e792..9ca0f29675e 100644 --- a/llvm/lib/CodeGen/BranchFolding.h +++ b/llvm/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/llvm/lib/CodeGen/CriticalAntiDepBreaker.h b/llvm/lib/CodeGen/CriticalAntiDepBreaker.h index 565d20bac02..ef4059e7af6 100644 --- a/llvm/lib/CodeGen/CriticalAntiDepBreaker.h +++ b/llvm/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/llvm/lib/CodeGen/InterferenceCache.h b/llvm/lib/CodeGen/InterferenceCache.h index c02fb9a1ee2..a7fb98057ad 100644 --- a/llvm/lib/CodeGen/InterferenceCache.h +++ b/llvm/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/llvm/lib/CodeGen/LiveDebugVariables.h b/llvm/lib/CodeGen/LiveDebugVariables.h index 58a3f0f6ff5..1d449fd10bf 100644 --- a/llvm/lib/CodeGen/LiveDebugVariables.h +++ b/llvm/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/llvm/lib/CodeGen/LiveRangeCalc.h b/llvm/lib/CodeGen/LiveRangeCalc.h index 69c7f765e6b..7a371c16d38 100644 --- a/llvm/lib/CodeGen/LiveRangeCalc.h +++ b/llvm/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/llvm/lib/CodeGen/PrologEpilogInserter.h b/llvm/lib/CodeGen/PrologEpilogInserter.h index 50f4daf7335..c18c0e8b88b 100644 --- a/llvm/lib/CodeGen/PrologEpilogInserter.h +++ b/llvm/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/llvm/lib/CodeGen/RegAllocBase.h b/llvm/lib/CodeGen/RegAllocBase.h index 9c0029837d0..597b1fcb586 100644 --- a/llvm/lib/CodeGen/RegAllocBase.h +++ b/llvm/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/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h b/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h index 920dda8820f..1126707c3f5 100644 --- a/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h +++ b/llvm/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/llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h b/llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h index 4af7172847d..a08706a60c9 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h +++ b/llvm/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/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h index 2ff37e0a15e..60663c0ba08 100644 --- a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h +++ b/llvm/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/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h index 6463ecaca5a..ec640bca524 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h +++ b/llvm/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/llvm/lib/CodeGen/SpillPlacement.h b/llvm/lib/CodeGen/SpillPlacement.h index 105516bb62b..0a90398a4cc 100644 --- a/llvm/lib/CodeGen/SpillPlacement.h +++ b/llvm/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/llvm/lib/CodeGen/SplitKit.h b/llvm/lib/CodeGen/SplitKit.h index f029c73d122..e0a9c3176a4 100644 --- a/llvm/lib/CodeGen/SplitKit.h +++ b/llvm/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;  | 

