llvm.org GIT mirror llvm / 16d8f8b
I got tired of VISIBILITY_HIDDEN colliding with the gcc enum. Rename it to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is the opposite, for future use by dragonegg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103495 91177308-0d34-0410-b5e6-96231b3b80d8 Duncan Sands 9 years ago
13 changed file(s) with 28 addition(s) and 19 deletion(s). Raw diff Collapse all Expand all
616616 using namespace llvm;
617617
618618 namespace {
619 class VISIBILITY_HIDDEN MyGC : public GCStrategy {
619 class LLVM_LIBRARY_VISIBILITY MyGC : public GCStrategy {
620620 public:
621621 MyGC() {}
622622 };
12281228 using namespace llvm;
12291229
12301230 namespace {
1231 class VISIBILITY_HIDDEN MyGCPrinter : public GCMetadataPrinter {
1231 class LLVM_LIBRARY_VISIBILITY MyGCPrinter : public GCMetadataPrinter {
12321232 public:
12331233 virtual void beginAssembly(std::ostream &OS, AsmPrinter &AP,
12341234 const TargetAsmInfo &TAI);
1414 #ifndef LLVM_SUPPORT_COMPILER_H
1515 #define LLVM_SUPPORT_COMPILER_H
1616
17 // The VISIBILITY_HIDDEN macro, used for marking classes with the GCC-specific
18 // visibility("hidden") attribute.
17 /// LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked
18 /// into a shared library, then the class should be private to the library and
19 /// not accessible from outside it. Can also be used to mark variables and
20 /// functions, making them private to any shared library they are linked into.
21
22 /// LLVM_GLOBAL_VISIBILITY - If a class marked with this attribute is linked
23 /// into a shared library, then the class will be accessible from outside the
24 /// the library. Can also be used to mark variables and functions, making them
25 /// accessible from outside any shared library they are linked into.
1926 #if (__GNUC__ >= 4) && !defined(__MINGW32__) && !defined(__CYGWIN__)
20 #define VISIBILITY_HIDDEN __attribute__ ((visibility("hidden")))
27 #define LLVM_LIBRARY_VISIBILITY __attribute__ ((visibility("hidden")))
28 #define LLVM_GLOBAL_VISIBILITY __attribute__ ((visibility("default")))
2129 #else
22 #define VISIBILITY_HIDDEN
30 #define LLVM_LIBRARY_VISIBILITY
31 #define LLVM_GLOBAL_VISIBILITY
2332 #endif
2433
2534 #if (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
3131 /// For example, loop induction variable increments should be
3232 /// scheduled as soon as possible after the variable's last use.
3333 ///
34 class VISIBILITY_HIDDEN LoopDependencies {
34 class LLVM_LIBRARY_VISIBILITY LoopDependencies {
3535 const MachineLoopInfo &MLI;
3636 const MachineDominatorTree &MDT;
3737
9393
9494 /// ScheduleDAGInstrs - A ScheduleDAG subclass for scheduling lists of
9595 /// MachineInstrs.
96 class VISIBILITY_HIDDEN ScheduleDAGInstrs : public ScheduleDAG {
96 class LLVM_LIBRARY_VISIBILITY ScheduleDAGInstrs : public ScheduleDAG {
9797 const MachineLoopInfo &MLI;
9898 const MachineDominatorTree &MDT;
9999 const MachineFrameInfo *MFI;
3131 /// involves promoting small sizes to large sizes or splitting up large values
3232 /// into small values.
3333 ///
34 class VISIBILITY_HIDDEN DAGTypeLegalizer {
34 class LLVM_LIBRARY_VISIBILITY DAGTypeLegalizer {
3535 const TargetLowering &TLI;
3636 SelectionDAG &DAG;
3737 public:
49434943 namespace llvm {
49444944 /// AsmOperandInfo - This contains information for each constraint that we are
49454945 /// lowering.
4946 class VISIBILITY_HIDDEN SDISelAsmOperandInfo :
4946 class LLVM_LIBRARY_VISIBILITY SDISelAsmOperandInfo :
49474947 public TargetLowering::AsmOperandInfo {
49484948 public:
49494949 /// CallOperand - If this is the result output operand or a clobber
2525 //class ARMSubtarget;
2626
2727 /// ARMMCInstLower - This class is used to lower an MachineInstr into an MCInst.
28 class VISIBILITY_HIDDEN ARMMCInstLower {
28 class LLVM_LIBRARY_VISIBILITY ARMMCInstLower {
2929 MCContext &Ctx;
3030 Mangler &Mang;
3131 AsmPrinter &Printer;
2525
2626 /// MSP430MCInstLower - This class is used to lower an MachineInstr
2727 /// into an MCInst.
28 class VISIBILITY_HIDDEN MSP430MCInstLower {
28 class LLVM_LIBRARY_VISIBILITY MSP430MCInstLower {
2929 MCContext &Ctx;
3030 Mangler &Mang;
3131
2828 #include
2929
3030 namespace llvm {
31 class VISIBILITY_HIDDEN PIC16AsmPrinter : public AsmPrinter {
31 class LLVM_LIBRARY_VISIBILITY PIC16AsmPrinter : public AsmPrinter {
3232 public:
3333 explicit PIC16AsmPrinter(TargetMachine &TM, MCStreamer &Streamer);
3434 private:
2525
2626 namespace {
2727
28 class VISIBILITY_HIDDEN PIC16DAGToDAGISel : public SelectionDAGISel {
28 class LLVM_LIBRARY_VISIBILITY PIC16DAGToDAGISel : public SelectionDAGISel {
2929
3030 /// TM - Keep a reference to PIC16TargetMachine.
3131 const PIC16TargetMachine &TM;
3030 class MCStreamer;
3131 class MCSymbol;
3232
33 class VISIBILITY_HIDDEN X86AsmPrinter : public AsmPrinter {
33 class LLVM_LIBRARY_VISIBILITY X86AsmPrinter : public AsmPrinter {
3434 const X86Subtarget *Subtarget;
3535 public:
3636 explicit X86AsmPrinter(TargetMachine &TM, MCStreamer &Streamer)
2424 class X86Subtarget;
2525
2626 /// X86MCInstLower - This class is used to lower an MachineInstr into an MCInst.
27 class VISIBILITY_HIDDEN X86MCInstLower {
27 class LLVM_LIBRARY_VISIBILITY X86MCInstLower {
2828 MCContext &Ctx;
2929 Mangler *Mang;
3030 X86AsmPrinter &AsmPrinter;
5050 /// InstCombineIRInserter - This is an IRBuilder insertion helper that works
5151 /// just like the normal insertion helper, but also adds any new instructions
5252 /// to the instcombine worklist.
53 class VISIBILITY_HIDDEN InstCombineIRInserter
53 class LLVM_LIBRARY_VISIBILITY InstCombineIRInserter
5454 : public IRBuilderDefaultInserter {
5555 InstCombineWorklist &Worklist;
5656 public:
6464 };
6565
6666 /// InstCombiner - The -instcombine pass.
67 class VISIBILITY_HIDDEN InstCombiner
67 class LLVM_LIBRARY_VISIBILITY InstCombiner
6868 : public FunctionPass,
6969 public InstVisitor {
7070 TargetData *TD;
2121
2222 /// InstCombineWorklist - This is the worklist management logic for
2323 /// InstCombine.
24 class VISIBILITY_HIDDEN InstCombineWorklist {
24 class LLVM_LIBRARY_VISIBILITY InstCombineWorklist {
2525 SmallVector Worklist;
2626 DenseMap WorklistMap;
2727