summaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-09-11 17:42:27 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-09-11 17:42:27 +0000
commit15f387c93ef8d5c23f110143996c8b9b4a089864 (patch)
treec05dd44a175d30a5e34ed8d21ecea848a8c1f776 /lib/CodeGen
parent209a8c8e35cd770d483d597c4eb703a4ee8b0003 (diff)
downloadllvm-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')
-rw-r--r--lib/CodeGen/AggressiveAntiDepBreaker.h5
-rw-r--r--lib/CodeGen/AllocationOrder.h2
-rw-r--r--lib/CodeGen/AntiDepBreaker.h2
-rw-r--r--lib/CodeGen/AsmPrinter/DIE.h22
-rw-r--r--lib/CodeGen/AsmPrinter/DIEHash.h2
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfAccelTable.h2
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfCompileUnit.h2
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.h10
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfException.h8
-rw-r--r--lib/CodeGen/BranchFolding.h2
-rw-r--r--lib/CodeGen/CriticalAntiDepBreaker.h2
-rw-r--r--lib/CodeGen/InterferenceCache.h2
-rw-r--r--lib/CodeGen/LiveDebugVariables.h2
-rw-r--r--lib/CodeGen/LiveRangeCalc.h2
-rw-r--r--lib/CodeGen/PrologEpilogInserter.h2
-rw-r--r--lib/CodeGen/RegAllocBase.h2
-rw-r--r--lib/CodeGen/SelectionDAG/InstrEmitter.h2
-rw-r--r--lib/CodeGen/SelectionDAG/SDNodeDbgValue.h2
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h2
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h2
-rw-r--r--lib/CodeGen/SpillPlacement.h2
-rw-r--r--lib/CodeGen/SplitKit.h4
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;