Revert "Give internal classes hidden visibility."

It works with clang, but GCC has different rules so we can't make all of those
hidden. This reverts commit r190534.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190536 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/AggressiveAntiDepBreaker.h b/lib/CodeGen/AggressiveAntiDepBreaker.h
index 49be188..6683630 100644
--- a/lib/CodeGen/AggressiveAntiDepBreaker.h
+++ b/lib/CodeGen/AggressiveAntiDepBreaker.h
@@ -34,7 +34,7 @@
 
   /// Class AggressiveAntiDepState
   /// Contains all the state necessary for anti-dep breaking.
-  class LLVM_LIBRARY_VISIBILITY AggressiveAntiDepState {
+  class AggressiveAntiDepState {
   public:
     /// RegisterReference - Information about a register reference
     /// within a liverange
@@ -114,8 +114,7 @@
 
 
   /// Class AggressiveAntiDepBreaker
-  class LLVM_LIBRARY_VISIBILITY AggressiveAntiDepBreaker
-      : public AntiDepBreaker {
+  class AggressiveAntiDepBreaker : public AntiDepBreaker {
     MachineFunction& MF;
     MachineRegisterInfo &MRI;
     const TargetInstrInfo *TII;
diff --git a/lib/CodeGen/AllocationOrder.h b/lib/CodeGen/AllocationOrder.h
index f0d35be..aed461a 100644
--- a/lib/CodeGen/AllocationOrder.h
+++ b/lib/CodeGen/AllocationOrder.h
@@ -25,7 +25,7 @@
 class RegisterClassInfo;
 class VirtRegMap;
 
-class LLVM_LIBRARY_VISIBILITY AllocationOrder {
+class AllocationOrder {
   SmallVector<MCPhysReg, 16> Hints;
   ArrayRef<MCPhysReg> Order;
   int Pos;
diff --git a/lib/CodeGen/AntiDepBreaker.h b/lib/CodeGen/AntiDepBreaker.h
index b6e5450..df47f98 100644
--- a/lib/CodeGen/AntiDepBreaker.h
+++ b/lib/CodeGen/AntiDepBreaker.h
@@ -28,7 +28,7 @@
 /// AntiDepBreaker - This class works into conjunction with the
 /// post-RA scheduler to rename registers to break register
 /// anti-dependencies.
-class LLVM_LIBRARY_VISIBILITY AntiDepBreaker {
+class 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 d76083a..6eaa6ee 100644
--- a/lib/CodeGen/AsmPrinter/DIE.h
+++ b/lib/CodeGen/AsmPrinter/DIE.h
@@ -30,7 +30,7 @@
   //===--------------------------------------------------------------------===//
   /// DIEAbbrevData - Dwarf abbreviation data, describes one attribute of a
   /// Dwarf abbreviation.
-  class LLVM_LIBRARY_VISIBILITY DIEAbbrevData {
+  class DIEAbbrevData {
     /// Attribute - Dwarf attribute code.
     ///
     uint16_t Attribute;
@@ -53,7 +53,7 @@
   //===--------------------------------------------------------------------===//
   /// DIEAbbrev - Dwarf abbreviation, describes the organization of a debug
   /// information object.
-  class LLVM_LIBRARY_VISIBILITY DIEAbbrev : public FoldingSetNode {
+  class DIEAbbrev : public FoldingSetNode {
     /// Tag - Dwarf tag code.
     ///
     uint16_t Tag;
@@ -107,7 +107,7 @@
   /// describes its organization.
   class DIEValue;
 
-  class LLVM_LIBRARY_VISIBILITY DIE {
+  class DIE {
   protected:
     /// Offset - Offset in debug info section.
     ///
@@ -188,7 +188,7 @@
   //===--------------------------------------------------------------------===//
   /// DIEValue - A debug information entry value.
   ///
-  class LLVM_LIBRARY_VISIBILITY DIEValue {
+  class DIEValue {
     virtual void anchor();
   public:
     enum {
@@ -228,7 +228,7 @@
   //===--------------------------------------------------------------------===//
   /// DIEInteger - An integer value DIE.
   ///
-  class LLVM_LIBRARY_VISIBILITY DIEInteger : public DIEValue {
+  class DIEInteger : public DIEValue {
     uint64_t Integer;
   public:
     explicit DIEInteger(uint64_t I) : DIEValue(isInteger), Integer(I) {}
@@ -270,7 +270,7 @@
   //===--------------------------------------------------------------------===//
   /// DIEExpr - An expression DIE.
   //
-  class LLVM_LIBRARY_VISIBILITY DIEExpr : public DIEValue {
+  class DIEExpr : public DIEValue {
     const MCExpr *Expr;
   public:
     explicit DIEExpr(const MCExpr *E) : DIEValue(isExpr), Expr(E) {}
@@ -298,7 +298,7 @@
   //===--------------------------------------------------------------------===//
   /// DIELabel - A label DIE.
   //
-  class LLVM_LIBRARY_VISIBILITY DIELabel : public DIEValue {
+  class DIELabel : public DIEValue {
     const MCSymbol *Label;
   public:
     explicit DIELabel(const MCSymbol *L) : DIEValue(isLabel), Label(L) {}
@@ -326,7 +326,7 @@
   //===--------------------------------------------------------------------===//
   /// DIEDelta - A simple label difference DIE.
   ///
-  class LLVM_LIBRARY_VISIBILITY DIEDelta : public DIEValue {
+  class DIEDelta : public DIEValue {
     const MCSymbol *LabelHi;
     const MCSymbol *LabelLo;
   public:
@@ -352,7 +352,7 @@
   //===--------------------------------------------------------------------===//
   /// DIEString - A container for string values.
   ///
-  class LLVM_LIBRARY_VISIBILITY DIEString : public DIEValue {
+  class DIEString : public DIEValue {
     const DIEValue *Access;
     const StringRef Str;
 
@@ -383,7 +383,7 @@
   /// 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 LLVM_LIBRARY_VISIBILITY DIEEntry : public DIEValue {
+  class DIEEntry : public DIEValue {
     DIE *const Entry;
   public:
     explicit DIEEntry(DIE *E) : DIEValue(isEntry), Entry(E) {
@@ -417,7 +417,7 @@
   //===--------------------------------------------------------------------===//
   /// DIEBlock - A block of values.  Primarily used for location expressions.
   //
-  class LLVM_LIBRARY_VISIBILITY DIEBlock : public DIEValue, public DIE {
+  class 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 d0bf34c..b792aea 100644
--- a/lib/CodeGen/AsmPrinter/DIEHash.h
+++ b/lib/CodeGen/AsmPrinter/DIEHash.h
@@ -19,7 +19,7 @@
 
 /// \brief An object containing the capability of hashing and adding hash
 /// attributes onto a DIE.
-class LLVM_LIBRARY_VISIBILITY DIEHash {
+class 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 1ea0bfb..7627313 100644
--- a/lib/CodeGen/AsmPrinter/DwarfAccelTable.h
+++ b/lib/CodeGen/AsmPrinter/DwarfAccelTable.h
@@ -65,7 +65,7 @@
 class DIE;
 class DwarfUnits;
 
-class LLVM_LIBRARY_VISIBILITY DwarfAccelTable {
+class 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 2a8b648..ecffb25 100644
--- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
+++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
@@ -34,7 +34,7 @@
 //===----------------------------------------------------------------------===//
 /// CompileUnit - This dwarf writer support class manages information associated
 /// with a source file.
-class LLVM_LIBRARY_VISIBILITY CompileUnit {
+class 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 43d8141..c702180 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -44,7 +44,7 @@
 
 //===----------------------------------------------------------------------===//
 /// \brief This class is used to record source line correspondence.
-class LLVM_LIBRARY_VISIBILITY SrcLineInfo {
+class SrcLineInfo {
   unsigned Line;                     // Source line number.
   unsigned Column;                   // Source column.
   unsigned SourceID;                 // Source ID number.
@@ -62,7 +62,7 @@
 
 /// \brief This struct describes location entries emitted in the .debug_loc
 /// section.
-class LLVM_LIBRARY_VISIBILITY DotDebugLocEntry {
+class DotDebugLocEntry {
   // Begin and end symbols for the address range that this location is valid.
   const MCSymbol *Begin;
   const MCSymbol *End;
@@ -143,7 +143,7 @@
 
 //===----------------------------------------------------------------------===//
 /// \brief This class is used to track local variable information.
-class LLVM_LIBRARY_VISIBILITY DbgVariable {
+class DbgVariable {
   DIVariable Var;                    // Variable Descriptor.
   DIE *TheDIE;                       // Variable DIE.
   unsigned DotDebugLocOffset;        // Offset in DotDebugLocEntries.
@@ -212,7 +212,7 @@
 
 /// \brief Collects and handles information specific to a particular
 /// collection of units.
-class LLVM_LIBRARY_VISIBILITY DwarfUnits {
+class DwarfUnits {
   // Target of Dwarf emission, used for sizing of abbreviations.
   AsmPrinter *Asm;
 
@@ -301,7 +301,7 @@
 };
 
 /// \brief Collects and handles dwarf debug information.
-class LLVM_LIBRARY_VISIBILITY DwarfDebug {
+class DwarfDebug {
   // Target of Dwarf emission.
   AsmPrinter *Asm;
 
diff --git a/lib/CodeGen/AsmPrinter/DwarfException.h b/lib/CodeGen/AsmPrinter/DwarfException.h
index fe86184..49a85d8 100644
--- a/lib/CodeGen/AsmPrinter/DwarfException.h
+++ b/lib/CodeGen/AsmPrinter/DwarfException.h
@@ -34,7 +34,7 @@
 //===----------------------------------------------------------------------===//
 /// DwarfException - Emits Dwarf exception handling directives.
 ///
-class LLVM_LIBRARY_VISIBILITY DwarfException {
+class DwarfException {
 protected:
   /// Asm - Target of Dwarf emission.
   AsmPrinter *Asm;
@@ -141,7 +141,7 @@
   virtual void EndFunction();
 };
 
-class LLVM_LIBRARY_VISIBILITY DwarfCFIException : public DwarfException {
+class DwarfCFIException : public DwarfException {
   /// shouldEmitPersonality - Per-function flag to indicate if .cfi_personality
   /// should be emitted.
   bool shouldEmitPersonality;
@@ -175,7 +175,7 @@
   virtual void EndFunction();
 };
 
-class LLVM_LIBRARY_VISIBILITY ARMException : public DwarfException {
+class ARMException : public DwarfException {
   void EmitTypeInfos(unsigned TTypeEncoding);
 public:
   //===--------------------------------------------------------------------===//
@@ -196,7 +196,7 @@
   virtual void EndFunction();
 };
 
-class LLVM_LIBRARY_VISIBILITY Win64Exception : public DwarfException {
+class 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 9ca0f29..0d15ed7 100644
--- a/lib/CodeGen/BranchFolding.h
+++ b/lib/CodeGen/BranchFolding.h
@@ -21,7 +21,7 @@
   class TargetInstrInfo;
   class TargetRegisterInfo;
 
-  class LLVM_LIBRARY_VISIBILITY BranchFolder {
+  class BranchFolder {
   public:
     explicit BranchFolder(bool defaultEnableTailMerge, bool CommonHoist);
 
diff --git a/lib/CodeGen/CriticalAntiDepBreaker.h b/lib/CodeGen/CriticalAntiDepBreaker.h
index ef4059e..565d20b 100644
--- a/lib/CodeGen/CriticalAntiDepBreaker.h
+++ b/lib/CodeGen/CriticalAntiDepBreaker.h
@@ -31,7 +31,7 @@
 class TargetInstrInfo;
 class TargetRegisterInfo;
 
-  class LLVM_LIBRARY_VISIBILITY CriticalAntiDepBreaker : public AntiDepBreaker {
+  class CriticalAntiDepBreaker : public AntiDepBreaker {
     MachineFunction& MF;
     MachineRegisterInfo &MRI;
     const TargetInstrInfo *TII;
diff --git a/lib/CodeGen/InterferenceCache.h b/lib/CodeGen/InterferenceCache.h
index a7fb980..c02fb9a 100644
--- a/lib/CodeGen/InterferenceCache.h
+++ b/lib/CodeGen/InterferenceCache.h
@@ -21,7 +21,7 @@
 
 class LiveIntervals;
 
-class LLVM_LIBRARY_VISIBILITY InterferenceCache {
+class InterferenceCache {
   const TargetRegisterInfo *TRI;
   LiveIntervalUnion *LIUArray;
   MachineFunction *MF;
diff --git a/lib/CodeGen/LiveDebugVariables.h b/lib/CodeGen/LiveDebugVariables.h
index 1d449fd..58a3f0f 100644
--- a/lib/CodeGen/LiveDebugVariables.h
+++ b/lib/CodeGen/LiveDebugVariables.h
@@ -30,7 +30,7 @@
 class LiveIntervals;
 class VirtRegMap;
 
-class LLVM_LIBRARY_VISIBILITY LiveDebugVariables : public MachineFunctionPass {
+class 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 7a371c1..69c7f76 100644
--- a/lib/CodeGen/LiveRangeCalc.h
+++ b/lib/CodeGen/LiveRangeCalc.h
@@ -33,7 +33,7 @@
 template <class NodeT> class DomTreeNodeBase;
 typedef DomTreeNodeBase<MachineBasicBlock> MachineDomTreeNode;
 
-class LLVM_LIBRARY_VISIBILITY LiveRangeCalc {
+class LiveRangeCalc {
   const MachineFunction *MF;
   const MachineRegisterInfo *MRI;
   SlotIndexes *Indexes;
diff --git a/lib/CodeGen/PrologEpilogInserter.h b/lib/CodeGen/PrologEpilogInserter.h
index c18c0e8..50f4daf 100644
--- a/lib/CodeGen/PrologEpilogInserter.h
+++ b/lib/CodeGen/PrologEpilogInserter.h
@@ -33,7 +33,7 @@
   class RegScavenger;
   class MachineBasicBlock;
 
-  class LLVM_LIBRARY_VISIBILITY PEI : public MachineFunctionPass {
+  class PEI : public MachineFunctionPass {
   public:
     static char ID;
     PEI() : MachineFunctionPass(ID) {
diff --git a/lib/CodeGen/RegAllocBase.h b/lib/CodeGen/RegAllocBase.h
index 597b1fc..9c00298 100644
--- a/lib/CodeGen/RegAllocBase.h
+++ b/lib/CodeGen/RegAllocBase.h
@@ -56,7 +56,7 @@
 /// Register allocators must override the selectOrSplit() method to implement
 /// live range splitting. They must also override enqueue/dequeue to provide an
 /// assignment order.
-class LLVM_LIBRARY_VISIBILITY RegAllocBase {
+class RegAllocBase {
 protected:
   const TargetRegisterInfo *TRI;
   MachineRegisterInfo *MRI;
diff --git a/lib/CodeGen/SelectionDAG/InstrEmitter.h b/lib/CodeGen/SelectionDAG/InstrEmitter.h
index 1126707..920dda8 100644
--- a/lib/CodeGen/SelectionDAG/InstrEmitter.h
+++ b/lib/CodeGen/SelectionDAG/InstrEmitter.h
@@ -26,7 +26,7 @@
 class MCInstrDesc;
 class SDDbgValue;
 
-class LLVM_LIBRARY_VISIBILITY InstrEmitter {
+class InstrEmitter {
   MachineFunction *MF;
   MachineRegisterInfo *MRI;
   const TargetMachine *TM;
diff --git a/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h b/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
index a08706a..4af7172 100644
--- a/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
+++ b/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
@@ -27,7 +27,7 @@
 /// SDDbgValue - Holds the information from a dbg_value node through SDISel.
 /// We do not use SDValue here to avoid including its header.
 
-class LLVM_LIBRARY_VISIBILITY SDDbgValue {
+class 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 60663c0..2ff37e0 100644
--- a/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
+++ b/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
@@ -33,7 +33,7 @@
   /// edges.  Physical register dependence information is not carried in
   /// the DAG and must be handled explicitly by schedulers.
   ///
-  class LLVM_LIBRARY_VISIBILITY ScheduleDAGSDNodes : public ScheduleDAG {
+  class 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 ec640bc..6463eca 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
@@ -79,7 +79,7 @@
 /// SelectionDAGBuilder - This is the common target-independent lowering
 /// implementation that is parameterized by a TargetLowering object.
 ///
-class LLVM_LIBRARY_VISIBILITY SelectionDAGBuilder {
+class SelectionDAGBuilder {
   /// CurInst - The current instruction being visited
   const Instruction *CurInst;
 
diff --git a/lib/CodeGen/SpillPlacement.h b/lib/CodeGen/SpillPlacement.h
index 0a90398..105516b 100644
--- a/lib/CodeGen/SpillPlacement.h
+++ b/lib/CodeGen/SpillPlacement.h
@@ -39,7 +39,7 @@
 class MachineBasicBlock;
 class MachineLoopInfo;
 
-class LLVM_LIBRARY_VISIBILITY SpillPlacement : public MachineFunctionPass {
+class SpillPlacement  : public MachineFunctionPass {
   struct Node;
   const MachineFunction *MF;
   const EdgeBundles *bundles;
diff --git a/lib/CodeGen/SplitKit.h b/lib/CodeGen/SplitKit.h
index e0a9c31..f029c73 100644
--- a/lib/CodeGen/SplitKit.h
+++ b/lib/CodeGen/SplitKit.h
@@ -39,7 +39,7 @@
 
 /// SplitAnalysis - Analyze a LiveInterval, looking for live range splitting
 /// opportunities.
-class LLVM_LIBRARY_VISIBILITY SplitAnalysis {
+class SplitAnalysis {
 public:
   const MachineFunction &MF;
   const VirtRegMap &VRM;
@@ -208,7 +208,7 @@
 /// - Finish the current interval with closeIntv and repeat from 2.
 /// - Rewrite instructions with finish().
 ///
-class LLVM_LIBRARY_VISIBILITY SplitEditor {
+class SplitEditor {
   SplitAnalysis &SA;
   LiveIntervals &LIS;
   VirtRegMap &VRM;