summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR
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
commit6a44af36297ae61238bb7ad1e05e77bcc5571f72 (patch)
tree70b0aee7b37df563d9e3c01312194cab536d0597 /llvm/lib/IR
parent786d32ecf7071c0c7cc8bdff46ac21d6d5c4fd33 (diff)
downloadbcm5719-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/IR')
-rw-r--r--llvm/lib/IR/AsmWriter.h4
-rw-r--r--llvm/lib/IR/AttributeImpl.h12
-rw-r--r--llvm/lib/IR/ConstantsContext.h28
-rw-r--r--llvm/lib/IR/LLVMContextImpl.h12
-rw-r--r--llvm/lib/IR/LeaksContext.h2
5 files changed, 29 insertions, 29 deletions
diff --git a/llvm/lib/IR/AsmWriter.h b/llvm/lib/IR/AsmWriter.h
index 8f4a37777eb..9e8355719a7 100644
--- a/llvm/lib/IR/AsmWriter.h
+++ b/llvm/lib/IR/AsmWriter.h
@@ -39,7 +39,7 @@ SlotTracker *createSlotTracker(const Module *M);
// TypePrinting Class: Type printing machinery
//===----------------------------------------------------------------------===//
-class TypePrinting {
+class LLVM_LIBRARY_VISIBILITY TypePrinting {
TypePrinting(const TypePrinting &) LLVM_DELETED_FUNCTION;
void operator=(const TypePrinting&) LLVM_DELETED_FUNCTION;
public:
@@ -61,7 +61,7 @@ public:
void printStructBody(StructType *Ty, raw_ostream &OS);
};
-class AssemblyWriter {
+class LLVM_LIBRARY_VISIBILITY AssemblyWriter {
protected:
formatted_raw_ostream &Out;
const Module *TheModule;
diff --git a/llvm/lib/IR/AttributeImpl.h b/llvm/lib/IR/AttributeImpl.h
index 9da3f9659e0..ac7379b00e7 100644
--- a/llvm/lib/IR/AttributeImpl.h
+++ b/llvm/lib/IR/AttributeImpl.h
@@ -29,7 +29,7 @@ class LLVMContext;
/// \class
/// \brief This class represents a single, uniqued attribute. That attribute
/// could be a single enum, a tuple, or a string.
-class AttributeImpl : public FoldingSetNode {
+class LLVM_LIBRARY_VISIBILITY AttributeImpl : public FoldingSetNode {
unsigned char KindID; ///< Holds the AttrEntryKind of the attribute
// AttributesImpl is uniqued, these should not be publicly available.
@@ -93,7 +93,7 @@ public:
/// represented by Attribute::AttrKind; alignment attribute entries; and string
/// attribute enties, which are for target-dependent attributes.
-class EnumAttributeImpl : public AttributeImpl {
+class LLVM_LIBRARY_VISIBILITY EnumAttributeImpl : public AttributeImpl {
Attribute::AttrKind Kind;
protected:
@@ -107,7 +107,7 @@ public:
Attribute::AttrKind getEnumKind() const { return Kind; }
};
-class AlignAttributeImpl : public EnumAttributeImpl {
+class LLVM_LIBRARY_VISIBILITY AlignAttributeImpl : public EnumAttributeImpl {
unsigned Align;
public:
@@ -121,7 +121,7 @@ public:
unsigned getAlignment() const { return Align; }
};
-class StringAttributeImpl : public AttributeImpl {
+class LLVM_LIBRARY_VISIBILITY StringAttributeImpl : public AttributeImpl {
std::string Kind;
std::string Val;
@@ -137,7 +137,7 @@ public:
/// \class
/// \brief This class represents a group of attributes that apply to one
/// element: function, return type, or parameter.
-class AttributeSetNode : public FoldingSetNode {
+class LLVM_LIBRARY_VISIBILITY AttributeSetNode : public FoldingSetNode {
unsigned NumAttrs; ///< Number of attributes in this node.
AttributeSetNode(ArrayRef<Attribute> Attrs) : NumAttrs(Attrs.size()) {
@@ -180,7 +180,7 @@ public:
/// \class
/// \brief This class represents a set of attributes that apply to the function,
/// return type, and parameters.
-class AttributeSetImpl : public FoldingSetNode {
+class LLVM_LIBRARY_VISIBILITY AttributeSetImpl : public FoldingSetNode {
friend class AttributeSet;
LLVMContext &Context;
diff --git a/llvm/lib/IR/ConstantsContext.h b/llvm/lib/IR/ConstantsContext.h
index 32bed95e212..b4f0a53210f 100644
--- a/llvm/lib/IR/ConstantsContext.h
+++ b/llvm/lib/IR/ConstantsContext.h
@@ -31,7 +31,7 @@ struct ConstantTraits;
/// UnaryConstantExpr - This class is private to Constants.cpp, and is used
/// behind the scenes to implement unary constant exprs.
-class UnaryConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY UnaryConstantExpr : public ConstantExpr {
virtual void anchor();
void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
public:
@@ -48,7 +48,7 @@ public:
/// BinaryConstantExpr - This class is private to Constants.cpp, and is used
/// behind the scenes to implement binary constant exprs.
-class BinaryConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY BinaryConstantExpr : public ConstantExpr {
virtual void anchor();
void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
public:
@@ -69,7 +69,7 @@ public:
/// SelectConstantExpr - This class is private to Constants.cpp, and is used
/// behind the scenes to implement select constant exprs.
-class SelectConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY SelectConstantExpr : public ConstantExpr {
virtual void anchor();
void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
public:
@@ -90,7 +90,7 @@ public:
/// ExtractElementConstantExpr - This class is private to
/// Constants.cpp, and is used behind the scenes to implement
/// extractelement constant exprs.
-class ExtractElementConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY ExtractElementConstantExpr : public ConstantExpr {
virtual void anchor();
void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
public:
@@ -111,7 +111,7 @@ public:
/// InsertElementConstantExpr - This class is private to
/// Constants.cpp, and is used behind the scenes to implement
/// insertelement constant exprs.
-class InsertElementConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY InsertElementConstantExpr : public ConstantExpr {
virtual void anchor();
void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
public:
@@ -133,7 +133,7 @@ public:
/// ShuffleVectorConstantExpr - This class is private to
/// Constants.cpp, and is used behind the scenes to implement
/// shufflevector constant exprs.
-class ShuffleVectorConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY ShuffleVectorConstantExpr : public ConstantExpr {
virtual void anchor();
void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
public:
@@ -158,7 +158,7 @@ public:
/// ExtractValueConstantExpr - This class is private to
/// Constants.cpp, and is used behind the scenes to implement
/// extractvalue constant exprs.
-class ExtractValueConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY ExtractValueConstantExpr : public ConstantExpr {
virtual void anchor();
void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
public:
@@ -184,7 +184,7 @@ public:
/// InsertValueConstantExpr - This class is private to
/// Constants.cpp, and is used behind the scenes to implement
/// insertvalue constant exprs.
-class InsertValueConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY InsertValueConstantExpr : public ConstantExpr {
virtual void anchor();
void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
public:
@@ -211,7 +211,7 @@ public:
/// GetElementPtrConstantExpr - This class is private to Constants.cpp, and is
/// used behind the scenes to implement getelementpr constant exprs.
-class GetElementPtrConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY GetElementPtrConstantExpr : public ConstantExpr {
virtual void anchor();
GetElementPtrConstantExpr(Constant *C, ArrayRef<Constant*> IdxList,
Type *DestTy);
@@ -232,7 +232,7 @@ public:
// CompareConstantExpr - This class is private to Constants.cpp, and is used
// behind the scenes to implement ICmp and FCmp constant expressions. This is
// needed in order to store the predicate value for these instructions.
-class CompareConstantExpr : public ConstantExpr {
+class LLVM_LIBRARY_VISIBILITY CompareConstantExpr : public ConstantExpr {
virtual void anchor();
void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
public:
@@ -313,7 +313,7 @@ struct OperandTraits<CompareConstantExpr> :
};
DEFINE_TRANSPARENT_OPERAND_ACCESSORS(CompareConstantExpr, Value)
-struct ExprMapKeyType {
+struct LLVM_LIBRARY_VISIBILITY ExprMapKeyType {
ExprMapKeyType(unsigned opc,
ArrayRef<Constant*> ops,
unsigned short flags = 0,
@@ -349,7 +349,7 @@ struct ExprMapKeyType {
}
};
-struct InlineAsmKeyType {
+struct LLVM_LIBRARY_VISIBILITY InlineAsmKeyType {
InlineAsmKeyType(StringRef AsmString,
StringRef Constraints, bool hasSideEffects,
bool isAlignStack, InlineAsm::AsmDialect asmDialect)
@@ -512,7 +512,7 @@ struct ConstantKeyData<InlineAsm> {
template<class ValType, class ValRefType, class TypeClass, class ConstantClass,
bool HasLargeKey = false /*true for arrays and structs*/ >
-class ConstantUniqueMap {
+class LLVM_LIBRARY_VISIBILITY ConstantUniqueMap {
public:
typedef std::pair<TypeClass*, ValType> MapKey;
typedef std::map<MapKey, ConstantClass *> MapTy;
@@ -648,7 +648,7 @@ public:
// Unique map for aggregate constants
template<class TypeClass, class ConstantClass>
-class ConstantAggrUniqueMap {
+class LLVM_LIBRARY_VISIBILITY ConstantAggrUniqueMap {
public:
typedef ArrayRef<Constant*> Operands;
typedef std::pair<TypeClass*, Operands> LookupKey;
diff --git a/llvm/lib/IR/LLVMContextImpl.h b/llvm/lib/IR/LLVMContextImpl.h
index 0c659b81b70..d56616676c9 100644
--- a/llvm/lib/IR/LLVMContextImpl.h
+++ b/llvm/lib/IR/LLVMContextImpl.h
@@ -41,7 +41,7 @@ class LLVMContext;
class Type;
class Value;
-struct DenseMapAPIntKeyInfo {
+struct LLVM_LIBRARY_VISIBILITY DenseMapAPIntKeyInfo {
struct KeyTy {
APInt val;
Type* type;
@@ -66,7 +66,7 @@ struct DenseMapAPIntKeyInfo {
}
};
-struct DenseMapAPFloatKeyInfo {
+struct LLVM_LIBRARY_VISIBILITY DenseMapAPFloatKeyInfo {
struct KeyTy {
APFloat val;
KeyTy(const APFloat& V) : val(V){}
@@ -94,7 +94,7 @@ struct DenseMapAPFloatKeyInfo {
}
};
-struct AnonStructTypeKeyInfo {
+struct LLVM_LIBRARY_VISIBILITY AnonStructTypeKeyInfo {
struct KeyTy {
ArrayRef<Type*> ETypes;
bool isPacked;
@@ -138,7 +138,7 @@ struct AnonStructTypeKeyInfo {
}
};
-struct FunctionTypeKeyInfo {
+struct LLVM_LIBRARY_VISIBILITY FunctionTypeKeyInfo {
struct KeyTy {
const Type *ReturnType;
ArrayRef<Type*> Params;
@@ -209,7 +209,7 @@ template<> struct FoldingSetTrait<MDNode> : DefaultFoldingSetTrait<MDNode> {
/// DebugRecVH - This is a CallbackVH used to keep the Scope -> index maps
/// up to date as MDNodes mutate. This class is implemented in DebugLoc.cpp.
-class DebugRecVH : public CallbackVH {
+class LLVM_LIBRARY_VISIBILITY DebugRecVH : public CallbackVH {
/// Ctx - This is the LLVM Context being referenced.
LLVMContextImpl *Ctx;
@@ -230,7 +230,7 @@ public:
virtual void allUsesReplacedWith(Value *VNew);
};
-class LLVMContextImpl {
+class LLVM_LIBRARY_VISIBILITY LLVMContextImpl {
public:
/// OwnedModules - The set of modules instantiated in this context, and which
/// will be automatically deleted if this context is deleted.
diff --git a/llvm/lib/IR/LeaksContext.h b/llvm/lib/IR/LeaksContext.h
index 5038dc9d6d6..78cd695ecd1 100644
--- a/llvm/lib/IR/LeaksContext.h
+++ b/llvm/lib/IR/LeaksContext.h
@@ -28,7 +28,7 @@ struct PrinterTrait<Value> {
};
template <typename T>
-struct LeakDetectorImpl {
+struct LLVM_LIBRARY_VISIBILITY LeakDetectorImpl {
explicit LeakDetectorImpl(const char* const name = "") :
Cache(0), Name(name) { }
OpenPOWER on IntegriCloud