mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-12 07:37:34 +00:00
Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a1e1446056
commit
6726b6d75a
@ -28,8 +28,7 @@ static cl::opt<bool>
|
||||
PrintAllFailures("count-aa-print-all-failed-queries", cl::ReallyHidden);
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN AliasAnalysisCounter
|
||||
: public ModulePass, public AliasAnalysis {
|
||||
class AliasAnalysisCounter : public ModulePass, public AliasAnalysis {
|
||||
unsigned No, May, Must;
|
||||
unsigned NoMR, JustRef, JustMod, MR;
|
||||
const char *Name;
|
||||
|
@ -45,7 +45,7 @@ static cl::opt<bool> PrintRef("print-ref", cl::ReallyHidden);
|
||||
static cl::opt<bool> PrintModRef("print-modref", cl::ReallyHidden);
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN AAEval : public FunctionPass {
|
||||
class AAEval : public FunctionPass {
|
||||
unsigned NoAlias, MayAlias, MustAlias;
|
||||
unsigned NoModRef, Mod, Ref, ModRef;
|
||||
|
||||
|
@ -29,8 +29,7 @@ using namespace llvm;
|
||||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN AliasDebugger
|
||||
: public ModulePass, public AliasAnalysis {
|
||||
class AliasDebugger : public ModulePass, public AliasAnalysis {
|
||||
|
||||
//What we do is simple. Keep track of every value the AA could
|
||||
//know about, and verify that queries are one of those.
|
||||
|
@ -599,7 +599,7 @@ AliasSetTracker::ASTCallbackVH::operator=(Value *V) {
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN AliasSetPrinter : public FunctionPass {
|
||||
class AliasSetPrinter : public FunctionPass {
|
||||
AliasSetTracker *Tracker;
|
||||
public:
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
|
@ -139,7 +139,7 @@ namespace {
|
||||
/// implementations, in that it does not chain to a previous analysis. As
|
||||
/// such it doesn't follow many of the rules that other alias analyses must.
|
||||
///
|
||||
struct VISIBILITY_HIDDEN NoAA : public ImmutablePass, public AliasAnalysis {
|
||||
struct NoAA : public ImmutablePass, public AliasAnalysis {
|
||||
static char ID; // Class identification, replacement for typeinfo
|
||||
NoAA() : ImmutablePass(&ID) {}
|
||||
explicit NoAA(void *PID) : ImmutablePass(PID) { }
|
||||
@ -194,7 +194,7 @@ namespace {
|
||||
/// BasicAliasAnalysis - This is the default alias analysis implementation.
|
||||
/// Because it doesn't chain to a previous alias analysis (like -no-aa), it
|
||||
/// derives from the NoAA class.
|
||||
struct VISIBILITY_HIDDEN BasicAliasAnalysis : public NoAA {
|
||||
struct BasicAliasAnalysis : public NoAA {
|
||||
static char ID; // Class identification, replacement for typeinfo
|
||||
BasicAliasAnalysis() : NoAA(&ID) {}
|
||||
AliasResult alias(const Value *V1, unsigned V1Size,
|
||||
|
@ -24,7 +24,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN CFGViewer : public FunctionPass {
|
||||
struct CFGViewer : public FunctionPass {
|
||||
static char ID; // Pass identifcation, replacement for typeid
|
||||
CFGViewer() : FunctionPass(&ID) {}
|
||||
|
||||
@ -46,7 +46,7 @@ static RegisterPass<CFGViewer>
|
||||
V0("view-cfg", "View CFG of function", false, true);
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN CFGOnlyViewer : public FunctionPass {
|
||||
struct CFGOnlyViewer : public FunctionPass {
|
||||
static char ID; // Pass identifcation, replacement for typeid
|
||||
CFGOnlyViewer() : FunctionPass(&ID) {}
|
||||
|
||||
@ -69,7 +69,7 @@ V1("view-cfg-only",
|
||||
"View CFG of function (with no function bodies)", false, true);
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN CFGPrinter : public FunctionPass {
|
||||
struct CFGPrinter : public FunctionPass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
CFGPrinter() : FunctionPass(&ID) {}
|
||||
explicit CFGPrinter(void *pid) : FunctionPass(pid) {}
|
||||
@ -102,7 +102,7 @@ static RegisterPass<CFGPrinter>
|
||||
P1("dot-cfg", "Print CFG of function to 'dot' file", false, true);
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN CFGOnlyPrinter : public FunctionPass {
|
||||
struct CFGOnlyPrinter : public FunctionPass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
CFGOnlyPrinter() : FunctionPass(&ID) {}
|
||||
explicit CFGOnlyPrinter(void *pid) : FunctionPass(pid) {}
|
||||
|
@ -35,7 +35,7 @@ PrintDirectory("print-fullpath",
|
||||
cl::Hidden);
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN PrintDbgInfo : public FunctionPass {
|
||||
class PrintDbgInfo : public FunctionPass {
|
||||
raw_ostream &Out;
|
||||
void printStopPoint(const DbgStopPointInst *DSI);
|
||||
void printFuncStart(const DbgFuncStartInst *FS);
|
||||
|
@ -126,8 +126,8 @@ namespace {
|
||||
static bool isPod() { return true; }
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN Andersens : public ModulePass, public AliasAnalysis,
|
||||
private InstVisitor<Andersens> {
|
||||
class Andersens : public ModulePass, public AliasAnalysis,
|
||||
private InstVisitor<Andersens> {
|
||||
struct Node;
|
||||
|
||||
/// Constraint - Objects of this structure are used to represent the various
|
||||
|
@ -26,7 +26,7 @@ namespace {
|
||||
//===----------------------------------------------------------------------===//
|
||||
// BasicCallGraph class definition
|
||||
//
|
||||
class VISIBILITY_HIDDEN BasicCallGraph : public CallGraph, public ModulePass {
|
||||
class BasicCallGraph : public CallGraph, public ModulePass {
|
||||
// Root is root of the call graph, or the external node if a 'main' function
|
||||
// couldn't be found.
|
||||
//
|
||||
|
@ -44,7 +44,7 @@ namespace {
|
||||
/// function in the program. Later, the entries for these functions are
|
||||
/// removed if the function is found to call an external function (in which
|
||||
/// case we know nothing about it.
|
||||
struct VISIBILITY_HIDDEN FunctionRecord {
|
||||
struct FunctionRecord {
|
||||
/// GlobalInfo - Maintain mod/ref info for all of the globals without
|
||||
/// addresses taken that are read or written (transitively) by this
|
||||
/// function.
|
||||
@ -69,8 +69,7 @@ namespace {
|
||||
};
|
||||
|
||||
/// GlobalsModRef - The actual analysis pass.
|
||||
class VISIBILITY_HIDDEN GlobalsModRef
|
||||
: public ModulePass, public AliasAnalysis {
|
||||
class GlobalsModRef : public ModulePass, public AliasAnalysis {
|
||||
/// NonAddressTakenGlobals - The globals that do not have their addresses
|
||||
/// taken.
|
||||
std::set<GlobalValue*> NonAddressTakenGlobals;
|
||||
|
@ -34,8 +34,7 @@ STATISTIC(TotalMemInst, "Number of memory instructions");
|
||||
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN InstCount
|
||||
: public FunctionPass, public InstVisitor<InstCount> {
|
||||
class InstCount : public FunctionPass, public InstVisitor<InstCount> {
|
||||
friend class InstVisitor<InstCount>;
|
||||
|
||||
void visitFunction (Function &F) { ++TotalFuncs; }
|
||||
|
@ -30,8 +30,7 @@ LoopWeight(
|
||||
);
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ProfileEstimatorPass :
|
||||
public FunctionPass, public ProfileInfo {
|
||||
class ProfileEstimatorPass : public FunctionPass, public ProfileInfo {
|
||||
double ExecCount;
|
||||
LoopInfo *LI;
|
||||
std::set<BasicBlock*> BBToVisit;
|
||||
|
@ -178,8 +178,7 @@ raw_ostream& llvm::operator<<(raw_ostream &O, ProfileInfo::Edge E) {
|
||||
//
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN NoProfileInfo
|
||||
: public ImmutablePass, public ProfileInfo {
|
||||
struct NoProfileInfo : public ImmutablePass, public ProfileInfo {
|
||||
static char ID; // Class identification, replacement for typeinfo
|
||||
NoProfileInfo() : ImmutablePass(&ID) {}
|
||||
};
|
||||
|
@ -38,7 +38,7 @@ ProfileInfoFilename("profile-info-file", cl::init("llvmprof.out"),
|
||||
cl::desc("Profile file loaded by -profile-loader"));
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN LoaderPass : public ModulePass, public ProfileInfo {
|
||||
class LoaderPass : public ModulePass, public ProfileInfo {
|
||||
std::string Filename;
|
||||
std::set<Edge> SpanningTree;
|
||||
std::set<const BasicBlock*> BBisUnvisited;
|
||||
|
@ -30,7 +30,7 @@ ProfileVerifierDisableAssertions("profile-verifier-noassert",
|
||||
cl::desc("Disable assertions"));
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ProfileVerifierPass : public FunctionPass {
|
||||
class ProfileVerifierPass : public FunctionPass {
|
||||
|
||||
struct DetailedBlockInfo {
|
||||
const BasicBlock *BB;
|
||||
|
@ -401,7 +401,7 @@ namespace {
|
||||
/// SCEVComplexityCompare - Return true if the complexity of the LHS is less
|
||||
/// than the complexity of the RHS. This comparator is used to canonicalize
|
||||
/// expressions.
|
||||
class VISIBILITY_HIDDEN SCEVComplexityCompare {
|
||||
class SCEVComplexityCompare {
|
||||
LoopInfo *LI;
|
||||
public:
|
||||
explicit SCEVComplexityCompare(LoopInfo *li) : LI(li) {}
|
||||
|
@ -25,8 +25,8 @@ using namespace llvm;
|
||||
namespace {
|
||||
/// ScalarEvolutionAliasAnalysis - This is a simple alias analysis
|
||||
/// implementation that uses ScalarEvolution to answer queries.
|
||||
class VISIBILITY_HIDDEN ScalarEvolutionAliasAnalysis : public FunctionPass,
|
||||
public AliasAnalysis {
|
||||
class ScalarEvolutionAliasAnalysis : public FunctionPass,
|
||||
public AliasAnalysis {
|
||||
ScalarEvolution *SE;
|
||||
|
||||
public:
|
||||
|
@ -27,7 +27,7 @@ using namespace llvm;
|
||||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN OcamlGCMetadataPrinter : public GCMetadataPrinter {
|
||||
class OcamlGCMetadataPrinter : public GCMetadataPrinter {
|
||||
public:
|
||||
void beginAssembly(raw_ostream &OS, AsmPrinter &AP,
|
||||
const MCAsmInfo &MAI);
|
||||
|
@ -23,8 +23,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN DeadMachineInstructionElim :
|
||||
public MachineFunctionPass {
|
||||
class DeadMachineInstructionElim : public MachineFunctionPass {
|
||||
virtual bool runOnMachineFunction(MachineFunction &MF);
|
||||
|
||||
const TargetRegisterInfo *TRI;
|
||||
|
@ -33,7 +33,7 @@ STATISTIC(NumExceptionValuesMoved, "Number of eh.exception calls moved");
|
||||
STATISTIC(NumStackTempsIntroduced, "Number of stack temporaries introduced");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN DwarfEHPrepare : public FunctionPass {
|
||||
class DwarfEHPrepare : public FunctionPass {
|
||||
const TargetLowering *TLI;
|
||||
bool CompileFast;
|
||||
|
||||
|
@ -24,7 +24,7 @@ using namespace llvm;
|
||||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN Printer : public FunctionPass {
|
||||
class Printer : public FunctionPass {
|
||||
static char ID;
|
||||
raw_ostream &OS;
|
||||
|
||||
@ -39,7 +39,7 @@ namespace {
|
||||
bool runOnFunction(Function &F);
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN Deleter : public FunctionPass {
|
||||
class Deleter : public FunctionPass {
|
||||
static char ID;
|
||||
|
||||
public:
|
||||
|
@ -39,7 +39,7 @@ namespace {
|
||||
/// llvm.gcwrite intrinsics, replacing them with simple loads and stores as
|
||||
/// directed by the GCStrategy. It also performs automatic root initialization
|
||||
/// and custom intrinsic lowering.
|
||||
class VISIBILITY_HIDDEN LowerIntrinsics : public FunctionPass {
|
||||
class LowerIntrinsics : public FunctionPass {
|
||||
static bool NeedsDefaultLoweringPass(const GCStrategy &C);
|
||||
static bool NeedsCustomLoweringPass(const GCStrategy &C);
|
||||
static bool CouldBecomeSafePoint(Instruction *I);
|
||||
@ -63,7 +63,7 @@ namespace {
|
||||
/// function representation to identify safe points for the garbage collector
|
||||
/// in the machine code. It inserts labels at safe points and populates a
|
||||
/// GCMetadata record for each function.
|
||||
class VISIBILITY_HIDDEN MachineCodeAnalysis : public MachineFunctionPass {
|
||||
class MachineCodeAnalysis : public MachineFunctionPass {
|
||||
const TargetMachine *TM;
|
||||
GCFunctionInfo *FI;
|
||||
MachineModuleInfo *MMI;
|
||||
|
@ -59,7 +59,7 @@ STATISTIC(NumIfConvBBs, "Number of if-converted blocks");
|
||||
STATISTIC(NumDupBBs, "Number of duplicated blocks");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN IfConverter : public MachineFunctionPass {
|
||||
class IfConverter : public MachineFunctionPass {
|
||||
enum IfcvtKind {
|
||||
ICNotClassfied, // BB data valid, but not classified.
|
||||
ICSimpleFalse, // Same as ICSimple, but on the false path.
|
||||
|
@ -30,8 +30,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN LowerSubregsInstructionPass
|
||||
: public MachineFunctionPass {
|
||||
struct LowerSubregsInstructionPass : public MachineFunctionPass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
LowerSubregsInstructionPass() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN Printer : public MachineFunctionPass {
|
||||
struct Printer : public MachineFunctionPass {
|
||||
static char ID;
|
||||
|
||||
raw_ostream &OS;
|
||||
|
@ -41,7 +41,7 @@ STATISTIC(NumHoisted, "Number of machine instructions hoisted out of loops");
|
||||
STATISTIC(NumCSEed, "Number of hoisted machine instructions CSEed");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN MachineLICM : public MachineFunctionPass {
|
||||
class MachineLICM : public MachineFunctionPass {
|
||||
const TargetMachine *TM;
|
||||
const TargetInstrInfo *TII;
|
||||
const TargetRegisterInfo *TRI;
|
||||
|
@ -33,7 +33,7 @@ using namespace llvm;
|
||||
STATISTIC(NumSunk, "Number of machine instructions sunk");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN MachineSinking : public MachineFunctionPass {
|
||||
class MachineSinking : public MachineFunctionPass {
|
||||
const TargetInstrInfo *TII;
|
||||
const TargetRegisterInfo *TRI;
|
||||
MachineRegisterInfo *RegInfo; // Machine register information
|
||||
|
@ -43,7 +43,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN MachineVerifier : public MachineFunctionPass {
|
||||
struct MachineVerifier : public MachineFunctionPass {
|
||||
static char ID; // Pass ID, replacement for typeid
|
||||
|
||||
MachineVerifier(bool allowDoubleDefs = false) :
|
||||
|
@ -21,7 +21,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN OcamlGC : public GCStrategy {
|
||||
class OcamlGC : public GCStrategy {
|
||||
public:
|
||||
OcamlGC();
|
||||
};
|
||||
|
@ -76,7 +76,7 @@ DebugMod("postra-sched-debugmod",
|
||||
cl::init(0), cl::Hidden);
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN PostRAScheduler : public MachineFunctionPass {
|
||||
class PostRAScheduler : public MachineFunctionPass {
|
||||
AliasAnalysis *AA;
|
||||
CodeGenOpt::Level OptLevel;
|
||||
|
||||
@ -103,7 +103,7 @@ namespace {
|
||||
};
|
||||
char PostRAScheduler::ID = 0;
|
||||
|
||||
class VISIBILITY_HIDDEN SchedulePostRATDList : public ScheduleDAGInstrs {
|
||||
class SchedulePostRATDList : public ScheduleDAGInstrs {
|
||||
/// AvailableQueue - The priority queue to use for the available SUnits.
|
||||
///
|
||||
LatencyPriorityQueue AvailableQueue;
|
||||
|
@ -50,7 +50,7 @@ STATISTIC(NumRenumbers, "Number of intervals renumbered into new registers");
|
||||
STATISTIC(NumDeadSpills, "Number of dead spills removed");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN PreAllocSplitting : public MachineFunctionPass {
|
||||
class PreAllocSplitting : public MachineFunctionPass {
|
||||
MachineFunction *CurrMF;
|
||||
const TargetMachine *TM;
|
||||
const TargetInstrInfo *TII;
|
||||
|
@ -55,8 +55,7 @@ namespace {
|
||||
/// FixedStackPseudoSourceValue - A specialized PseudoSourceValue
|
||||
/// for holding FixedStack values, which must include a frame
|
||||
/// index.
|
||||
class VISIBILITY_HIDDEN FixedStackPseudoSourceValue
|
||||
: public PseudoSourceValue {
|
||||
class FixedStackPseudoSourceValue : public PseudoSourceValue {
|
||||
const int FI;
|
||||
public:
|
||||
explicit FixedStackPseudoSourceValue(int fi) : FI(fi) {}
|
||||
|
@ -70,7 +70,7 @@ linearscanRegAlloc("linearscan", "linear scan register allocator",
|
||||
createLinearScanRegisterAllocator);
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN RALinScan : public MachineFunctionPass {
|
||||
struct RALinScan : public MachineFunctionPass {
|
||||
static char ID;
|
||||
RALinScan() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -44,7 +44,7 @@ static RegisterRegAlloc
|
||||
createLocalRegisterAllocator);
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN RALocal : public MachineFunctionPass {
|
||||
class RALocal : public MachineFunctionPass {
|
||||
public:
|
||||
static char ID;
|
||||
RALocal() : MachineFunctionPass(&ID), StackSlotForVirtReg(-1) {}
|
||||
|
@ -70,7 +70,7 @@ namespace {
|
||||
/// PBQP based allocators solve the register allocation problem by mapping
|
||||
/// register allocation problems to Partitioned Boolean Quadratic
|
||||
/// Programming problems.
|
||||
class VISIBILITY_HIDDEN PBQPRegAlloc : public MachineFunctionPass {
|
||||
class PBQPRegAlloc : public MachineFunctionPass {
|
||||
public:
|
||||
|
||||
static char ID;
|
||||
|
@ -57,7 +57,7 @@ namespace {
|
||||
|
||||
//------------------------------ DAGCombiner ---------------------------------//
|
||||
|
||||
class VISIBILITY_HIDDEN DAGCombiner {
|
||||
class DAGCombiner {
|
||||
SelectionDAG &DAG;
|
||||
const TargetLowering &TLI;
|
||||
CombineLevel Level;
|
||||
@ -280,8 +280,7 @@ public:
|
||||
namespace {
|
||||
/// WorkListRemover - This class is a DAGUpdateListener that removes any deleted
|
||||
/// nodes from the worklist.
|
||||
class VISIBILITY_HIDDEN WorkListRemover :
|
||||
public SelectionDAG::DAGUpdateListener {
|
||||
class WorkListRemover : public SelectionDAG::DAGUpdateListener {
|
||||
DAGCombiner &DC;
|
||||
public:
|
||||
explicit WorkListRemover(DAGCombiner &dc) : DC(dc) {}
|
||||
|
@ -55,7 +55,7 @@ using namespace llvm;
|
||||
/// will attempt merge setcc and brc instructions into brcc's.
|
||||
///
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN SelectionDAGLegalize {
|
||||
class SelectionDAGLegalize {
|
||||
TargetLowering &TLI;
|
||||
SelectionDAG &DAG;
|
||||
CodeGenOpt::Level OptLevel;
|
||||
|
@ -623,8 +623,7 @@ void DAGTypeLegalizer::RemapValue(SDValue &N) {
|
||||
namespace {
|
||||
/// NodeUpdateListener - This class is a DAGUpdateListener that listens for
|
||||
/// updates to nodes and recomputes their ready state.
|
||||
class VISIBILITY_HIDDEN NodeUpdateListener :
|
||||
public SelectionDAG::DAGUpdateListener {
|
||||
class NodeUpdateListener : public SelectionDAG::DAGUpdateListener {
|
||||
DAGTypeLegalizer &DTL;
|
||||
SmallSetVector<SDNode*, 16> &NodesToAnalyze;
|
||||
public:
|
||||
|
@ -40,7 +40,7 @@ namespace {
|
||||
/// FastPriorityQueue - A degenerate priority queue that considers
|
||||
/// all nodes to have the same priority.
|
||||
///
|
||||
struct VISIBILITY_HIDDEN FastPriorityQueue {
|
||||
struct FastPriorityQueue {
|
||||
SmallVector<SUnit *, 16> Queue;
|
||||
|
||||
bool empty() const { return Queue.empty(); }
|
||||
@ -60,7 +60,7 @@ namespace {
|
||||
//===----------------------------------------------------------------------===//
|
||||
/// ScheduleDAGFast - The actual "fast" list scheduler implementation.
|
||||
///
|
||||
class VISIBILITY_HIDDEN ScheduleDAGFast : public ScheduleDAGSDNodes {
|
||||
class ScheduleDAGFast : public ScheduleDAGSDNodes {
|
||||
private:
|
||||
/// AvailableQueue - The priority queue to use for the available SUnits.
|
||||
FastPriorityQueue AvailableQueue;
|
||||
|
@ -48,7 +48,7 @@ namespace {
|
||||
/// ScheduleDAGList - The actual list scheduler implementation. This supports
|
||||
/// top-down scheduling.
|
||||
///
|
||||
class VISIBILITY_HIDDEN ScheduleDAGList : public ScheduleDAGSDNodes {
|
||||
class ScheduleDAGList : public ScheduleDAGSDNodes {
|
||||
private:
|
||||
/// AvailableQueue - The priority queue to use for the available SUnits.
|
||||
///
|
||||
|
@ -53,7 +53,7 @@ namespace {
|
||||
/// ScheduleDAGRRList - The actual register reduction list scheduler
|
||||
/// implementation. This supports both top-down and bottom-up scheduling.
|
||||
///
|
||||
class VISIBILITY_HIDDEN ScheduleDAGRRList : public ScheduleDAGSDNodes {
|
||||
class ScheduleDAGRRList : public ScheduleDAGSDNodes {
|
||||
private:
|
||||
/// isBottomUp - This is true if the scheduling problem is bottom-up, false if
|
||||
/// it is top-down.
|
||||
@ -965,8 +965,7 @@ CalcNodeSethiUllmanNumber(const SUnit *SU, std::vector<unsigned> &SUNumbers) {
|
||||
|
||||
namespace {
|
||||
template<class SF>
|
||||
class VISIBILITY_HIDDEN RegReductionPriorityQueue
|
||||
: public SchedulingPriorityQueue {
|
||||
class RegReductionPriorityQueue : public SchedulingPriorityQueue {
|
||||
PriorityQueue<SUnit*, std::vector<SUnit*>, SF> Queue;
|
||||
unsigned currentQueueId;
|
||||
|
||||
|
@ -38,7 +38,7 @@ using namespace llvm;
|
||||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN ShadowStackGC : public GCStrategy {
|
||||
class ShadowStackGC : public GCStrategy {
|
||||
/// RootChain - This is the global linked-list that contains the chain of GC
|
||||
/// roots.
|
||||
GlobalVariable *Head;
|
||||
@ -84,7 +84,7 @@ namespace {
|
||||
///
|
||||
/// It's wrapped up in a state machine using the same transform C# uses for
|
||||
/// 'yield return' enumerators, This transform allows it to be non-allocating.
|
||||
class VISIBILITY_HIDDEN EscapeEnumerator {
|
||||
class EscapeEnumerator {
|
||||
Function &F;
|
||||
const char *CleanupBBName;
|
||||
|
||||
|
@ -38,7 +38,7 @@ STATISTIC(NumUnwinds, "Number of unwinds replaced");
|
||||
STATISTIC(NumSpilled, "Number of registers live across unwind edges");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN SjLjEHPass : public FunctionPass {
|
||||
class SjLjEHPass : public FunctionPass {
|
||||
|
||||
const TargetLowering *TLI;
|
||||
|
||||
|
@ -37,7 +37,7 @@ SSPBufferSize("stack-protector-buffer-size", cl::init(8),
|
||||
"stack protection"));
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN StackProtector : public FunctionPass {
|
||||
class StackProtector : public FunctionPass {
|
||||
/// TLI - Keep a pointer of a TargetLowering to consult for determining
|
||||
/// target type sizes.
|
||||
const TargetLowering *TLI;
|
||||
|
@ -53,7 +53,7 @@ STATISTIC(NumStoreElim, "Number of stores eliminated");
|
||||
STATISTIC(NumDead, "Number of trivially dead stack accesses eliminated");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN StackSlotColoring : public MachineFunctionPass {
|
||||
class StackSlotColoring : public MachineFunctionPass {
|
||||
bool ColorWithRegs;
|
||||
LiveStacks* LS;
|
||||
VirtRegMap* VRM;
|
||||
|
@ -37,7 +37,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN StrongPHIElimination : public MachineFunctionPass {
|
||||
struct StrongPHIElimination : public MachineFunctionPass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
StrongPHIElimination() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -57,8 +57,7 @@ STATISTIC(NumReMats, "Number of instructions re-materialized");
|
||||
STATISTIC(NumDeletes, "Number of dead instructions deleted");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN TwoAddressInstructionPass
|
||||
: public MachineFunctionPass {
|
||||
class TwoAddressInstructionPass : public MachineFunctionPass {
|
||||
const TargetInstrInfo *TII;
|
||||
const TargetRegisterInfo *TRI;
|
||||
MachineRegisterInfo *MRI;
|
||||
|
@ -40,7 +40,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN UnreachableBlockElim : public FunctionPass {
|
||||
class UnreachableBlockElim : public FunctionPass {
|
||||
virtual bool runOnFunction(Function &F);
|
||||
public:
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
@ -95,8 +95,7 @@ bool UnreachableBlockElim::runOnFunction(Function &F) {
|
||||
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN UnreachableMachineBlockElim :
|
||||
public MachineFunctionPass {
|
||||
class UnreachableMachineBlockElim : public MachineFunctionPass {
|
||||
virtual bool runOnMachineFunction(MachineFunction &F);
|
||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
|
||||
MachineModuleInfo *MMI;
|
||||
|
@ -66,7 +66,7 @@ namespace {
|
||||
/// This class is intended for use with the new spilling framework only. It
|
||||
/// rewrites vreg def/uses to use the assigned preg, but does not insert any
|
||||
/// spill code.
|
||||
struct VISIBILITY_HIDDEN TrivialRewriter : public VirtRegRewriter {
|
||||
struct TrivialRewriter : public VirtRegRewriter {
|
||||
|
||||
bool runOnMachineFunction(MachineFunction &MF, VirtRegMap &VRM,
|
||||
LiveIntervals* LIs) {
|
||||
@ -125,7 +125,7 @@ namespace {
|
||||
/// on a per-stack-slot / remat id basis as the low bit in the value of the
|
||||
/// SpillSlotsAvailable entries. The predicate 'canClobberPhysReg()' checks
|
||||
/// this bit and addAvailable sets it if.
|
||||
class VISIBILITY_HIDDEN AvailableSpills {
|
||||
class AvailableSpills {
|
||||
const TargetRegisterInfo *TRI;
|
||||
const TargetInstrInfo *TII;
|
||||
|
||||
@ -340,7 +340,7 @@ struct ReusedOp {
|
||||
|
||||
/// ReuseInfo - This maintains a collection of ReuseOp's for each operand that
|
||||
/// is reused instead of reloaded.
|
||||
class VISIBILITY_HIDDEN ReuseInfo {
|
||||
class ReuseInfo {
|
||||
MachineInstr &MI;
|
||||
std::vector<ReusedOp> Reuses;
|
||||
BitVector PhysRegsClobbered;
|
||||
@ -995,7 +995,7 @@ namespace {
|
||||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN LocalRewriter : public VirtRegRewriter {
|
||||
class LocalRewriter : public VirtRegRewriter {
|
||||
MachineRegisterInfo *RegInfo;
|
||||
const TargetRegisterInfo *TRI;
|
||||
const TargetInstrInfo *TII;
|
||||
|
@ -56,8 +56,7 @@ namespace {
|
||||
};
|
||||
|
||||
template<class CodeEmitter>
|
||||
class VISIBILITY_HIDDEN Emitter : public MachineFunctionPass,
|
||||
public ARMCodeEmitter {
|
||||
class Emitter : public MachineFunctionPass, public ARMCodeEmitter {
|
||||
ARMJITInfo *JTI;
|
||||
const ARMInstrInfo *II;
|
||||
const TargetData *TD;
|
||||
|
@ -55,7 +55,7 @@ namespace {
|
||||
/// Water - Potential places where an island could be formed.
|
||||
/// CPE - A constant pool entry that has been placed somewhere, which
|
||||
/// tracks a list of users.
|
||||
class VISIBILITY_HIDDEN ARMConstantIslands : public MachineFunctionPass {
|
||||
class ARMConstantIslands : public MachineFunctionPass {
|
||||
/// BBSizes - The size of each MachineBasicBlock in bytes of code, indexed
|
||||
/// by MBB Number. The two-byte pads required for Thumb alignment are
|
||||
/// counted as part of the following block (i.e., the offset and size for
|
||||
|
@ -56,7 +56,7 @@ STATISTIC(NumSTRD2STR, "Number of strd instructions turned back into str's");
|
||||
/// load / store instructions to form ldm / stm instructions.
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN ARMLoadStoreOpt : public MachineFunctionPass {
|
||||
struct ARMLoadStoreOpt : public MachineFunctionPass {
|
||||
static char ID;
|
||||
ARMLoadStoreOpt() : MachineFunctionPass(&ID) {}
|
||||
|
||||
@ -1106,7 +1106,7 @@ bool ARMLoadStoreOpt::runOnMachineFunction(MachineFunction &Fn) {
|
||||
/// likely they will be combined later.
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN ARMPreAllocLoadStoreOpt : public MachineFunctionPass{
|
||||
struct ARMPreAllocLoadStoreOpt : public MachineFunctionPass{
|
||||
static char ID;
|
||||
ARMPreAllocLoadStoreOpt() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN NEONPreAllocPass : public MachineFunctionPass {
|
||||
class NEONPreAllocPass : public MachineFunctionPass {
|
||||
const TargetInstrInfo *TII;
|
||||
|
||||
public:
|
||||
|
@ -21,7 +21,7 @@ using namespace llvm;
|
||||
STATISTIC(NumITs, "Number of IT blocks inserted");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN Thumb2ITBlockPass : public MachineFunctionPass {
|
||||
struct Thumb2ITBlockPass : public MachineFunctionPass {
|
||||
static char ID;
|
||||
Thumb2ITBlockPass() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -126,7 +126,7 @@ namespace {
|
||||
{ ARM::t2STM, ARM::tSTM, ARM::tPUSH, 0, 0, 1, 1, 1,1, 1 },
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN Thumb2SizeReduce : public MachineFunctionPass {
|
||||
class Thumb2SizeReduce : public MachineFunctionPass {
|
||||
public:
|
||||
static char ID;
|
||||
Thumb2SizeReduce();
|
||||
|
@ -21,7 +21,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN AlphaBSel : public MachineFunctionPass {
|
||||
struct AlphaBSel : public MachineFunctionPass {
|
||||
static char ID;
|
||||
AlphaBSel() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -50,8 +50,7 @@ namespace {
|
||||
};
|
||||
|
||||
template <class CodeEmitter>
|
||||
class VISIBILITY_HIDDEN Emitter : public MachineFunctionPass,
|
||||
public AlphaCodeEmitter
|
||||
class Emitter : public MachineFunctionPass, public AlphaCodeEmitter
|
||||
{
|
||||
const AlphaInstrInfo *II;
|
||||
TargetMachine &TM;
|
||||
|
@ -37,7 +37,7 @@ using namespace llvm;
|
||||
STATISTIC(EmittedInsts, "Number of machine instrs printed");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN AlphaAsmPrinter : public AsmPrinter {
|
||||
struct AlphaAsmPrinter : public AsmPrinter {
|
||||
/// Unique incrementer for label values for referencing Global values.
|
||||
///
|
||||
|
||||
|
@ -38,7 +38,7 @@ using namespace llvm;
|
||||
STATISTIC(EmittedInsts, "Number of machine instrs printed");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN BlackfinAsmPrinter : public AsmPrinter {
|
||||
class BlackfinAsmPrinter : public AsmPrinter {
|
||||
public:
|
||||
BlackfinAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
|
||||
const MCAsmInfo *MAI, bool V)
|
||||
|
@ -50,7 +50,7 @@ namespace {
|
||||
|
||||
const std::string bss_section(".bss");
|
||||
|
||||
class VISIBILITY_HIDDEN SPUAsmPrinter : public AsmPrinter {
|
||||
class SPUAsmPrinter : public AsmPrinter {
|
||||
std::set<std::string> FnStubs, GVStubs;
|
||||
public:
|
||||
explicit SPUAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
|
||||
@ -285,7 +285,7 @@ namespace {
|
||||
};
|
||||
|
||||
/// LinuxAsmPrinter - SPU assembly printer, customized for Linux
|
||||
class VISIBILITY_HIDDEN LinuxAsmPrinter : public SPUAsmPrinter {
|
||||
class LinuxAsmPrinter : public SPUAsmPrinter {
|
||||
public:
|
||||
explicit LinuxAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
|
||||
const MCAsmInfo *T, bool V)
|
||||
|
@ -30,7 +30,7 @@ using namespace llvm;
|
||||
|
||||
namespace llvm {
|
||||
// TargetMachine for the MSIL
|
||||
struct VISIBILITY_HIDDEN MSILTarget : public TargetMachine {
|
||||
struct MSILTarget : public TargetMachine {
|
||||
MSILTarget(const Target &T, const std::string &TT, const std::string &FS)
|
||||
: TargetMachine(T) {}
|
||||
|
||||
|
@ -50,7 +50,7 @@ EnableMCInst("enable-msp430-mcinst-printer", cl::Hidden,
|
||||
cl::desc("enable experimental mcinst gunk in the msp430 backend"));
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN MSP430AsmPrinter : public AsmPrinter {
|
||||
class MSP430AsmPrinter : public AsmPrinter {
|
||||
public:
|
||||
MSP430AsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
|
||||
const MCAsmInfo *MAI, bool V)
|
||||
|
@ -51,7 +51,7 @@ using namespace llvm;
|
||||
STATISTIC(EmittedInsts, "Number of machine instrs printed");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN MipsAsmPrinter : public AsmPrinter {
|
||||
class MipsAsmPrinter : public AsmPrinter {
|
||||
const MipsSubtarget *Subtarget;
|
||||
public:
|
||||
explicit MipsAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
|
||||
|
@ -46,7 +46,7 @@ using namespace llvm;
|
||||
//===----------------------------------------------------------------------===//
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN MipsDAGToDAGISel : public SelectionDAGISel {
|
||||
class MipsDAGToDAGISel : public SelectionDAGISel {
|
||||
|
||||
/// TM - Keep a reference to MipsTargetMachine.
|
||||
MipsTargetMachine &TM;
|
||||
|
@ -37,7 +37,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN MemSelOpt : public MachineFunctionPass {
|
||||
struct MemSelOpt : public MachineFunctionPass {
|
||||
static char ID;
|
||||
MemSelOpt() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -55,7 +55,7 @@ using namespace llvm;
|
||||
STATISTIC(EmittedInsts, "Number of machine instrs printed");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN PPCAsmPrinter : public AsmPrinter {
|
||||
class PPCAsmPrinter : public AsmPrinter {
|
||||
protected:
|
||||
struct FnStubInfo {
|
||||
std::string Stub, LazyPtr, AnonSymbol;
|
||||
@ -344,7 +344,7 @@ namespace {
|
||||
};
|
||||
|
||||
/// PPCLinuxAsmPrinter - PowerPC assembly printer, customized for Linux
|
||||
class VISIBILITY_HIDDEN PPCLinuxAsmPrinter : public PPCAsmPrinter {
|
||||
class PPCLinuxAsmPrinter : public PPCAsmPrinter {
|
||||
public:
|
||||
explicit PPCLinuxAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
|
||||
const MCAsmInfo *T, bool V)
|
||||
@ -369,7 +369,7 @@ namespace {
|
||||
|
||||
/// PPCDarwinAsmPrinter - PowerPC assembly printer, customized for Darwin/Mac
|
||||
/// OS X
|
||||
class VISIBILITY_HIDDEN PPCDarwinAsmPrinter : public PPCAsmPrinter {
|
||||
class PPCDarwinAsmPrinter : public PPCAsmPrinter {
|
||||
formatted_raw_ostream &OS;
|
||||
public:
|
||||
explicit PPCDarwinAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
|
||||
|
@ -30,7 +30,7 @@ using namespace llvm;
|
||||
STATISTIC(NumExpanded, "Number of branches expanded to long format");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN PPCBSel : public MachineFunctionPass {
|
||||
struct PPCBSel : public MachineFunctionPass {
|
||||
static char ID;
|
||||
PPCBSel() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -57,8 +57,7 @@ namespace {
|
||||
};
|
||||
|
||||
template <class CodeEmitter>
|
||||
class VISIBILITY_HIDDEN Emitter : public MachineFunctionPass,
|
||||
public PPCCodeEmitter {
|
||||
class Emitter : public MachineFunctionPass, public PPCCodeEmitter {
|
||||
TargetMachine &TM;
|
||||
CodeEmitter &MCE;
|
||||
|
||||
|
@ -41,7 +41,7 @@ namespace {
|
||||
/// PPCDAGToDAGISel - PPC specific code to select PPC machine
|
||||
/// instructions for SelectionDAG operations.
|
||||
///
|
||||
class VISIBILITY_HIDDEN PPCDAGToDAGISel : public SelectionDAGISel {
|
||||
class PPCDAGToDAGISel : public SelectionDAGISel {
|
||||
PPCTargetMachine &TM;
|
||||
PPCTargetLowering &PPCLowering;
|
||||
const PPCSubtarget &PPCSubTarget;
|
||||
|
@ -44,7 +44,7 @@ using namespace llvm;
|
||||
STATISTIC(EmittedInsts, "Number of machine instrs printed");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN SparcAsmPrinter : public AsmPrinter {
|
||||
class SparcAsmPrinter : public AsmPrinter {
|
||||
/// We name each basic block in a Function with a unique number, so
|
||||
/// that we can consistently refer to them later. This is cleared
|
||||
/// at the beginning of each call to runOnMachineFunction().
|
||||
|
@ -42,7 +42,7 @@ using namespace llvm;
|
||||
STATISTIC(EmittedInsts, "Number of machine instrs printed");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN SystemZAsmPrinter : public AsmPrinter {
|
||||
class SystemZAsmPrinter : public AsmPrinter {
|
||||
public:
|
||||
SystemZAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
|
||||
const MCAsmInfo *MAI, bool V)
|
||||
|
@ -43,7 +43,7 @@ STATISTIC(NumEmitted, "Number of machine instructions emitted");
|
||||
|
||||
namespace {
|
||||
template<class CodeEmitter>
|
||||
class VISIBILITY_HIDDEN Emitter : public MachineFunctionPass {
|
||||
class Emitter : public MachineFunctionPass {
|
||||
const X86InstrInfo *II;
|
||||
const TargetData *TD;
|
||||
X86TargetMachine &TM;
|
||||
|
@ -53,7 +53,7 @@ STATISTIC(NumFXCH, "Number of fxch instructions inserted");
|
||||
STATISTIC(NumFP , "Number of floating point instructions");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN FPS : public MachineFunctionPass {
|
||||
struct FPS : public MachineFunctionPass {
|
||||
static char ID;
|
||||
FPS() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -30,7 +30,7 @@ using namespace llvm;
|
||||
STATISTIC(NumFPKill, "Number of FP_REG_KILL instructions added");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN FPRegKiller : public MachineFunctionPass {
|
||||
struct FPRegKiller : public MachineFunctionPass {
|
||||
static char ID;
|
||||
FPRegKiller() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -147,7 +147,7 @@ namespace {
|
||||
/// ISel - X86 specific code to select X86 machine instructions for
|
||||
/// SelectionDAG operations.
|
||||
///
|
||||
class VISIBILITY_HIDDEN X86DAGToDAGISel : public SelectionDAGISel {
|
||||
class X86DAGToDAGISel : public SelectionDAGISel {
|
||||
/// X86Lowering - This object fully describes how to lower LLVM code to an
|
||||
/// X86-specific SelectionDAG.
|
||||
X86TargetLowering &X86Lowering;
|
||||
|
@ -1473,7 +1473,7 @@ unsigned getX86SubSuperRegister(unsigned Reg, EVT VT, bool High) {
|
||||
#include "X86GenRegisterInfo.inc"
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN MSAC : public MachineFunctionPass {
|
||||
struct MSAC : public MachineFunctionPass {
|
||||
static char ID;
|
||||
MSAC() : MachineFunctionPass(&ID) {}
|
||||
|
||||
|
@ -52,7 +52,7 @@ static cl::opt<unsigned> MaxThreads("xcore-max-threads", cl::Optional,
|
||||
cl::init(8));
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN XCoreAsmPrinter : public AsmPrinter {
|
||||
class XCoreAsmPrinter : public AsmPrinter {
|
||||
const XCoreSubtarget &Subtarget;
|
||||
public:
|
||||
explicit XCoreAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
|
||||
|
@ -59,7 +59,7 @@ STATISTIC(NumArgumentsDead , "Number of dead pointer args eliminated");
|
||||
namespace {
|
||||
/// ArgPromotion - The 'by reference' to 'by value' argument promotion pass.
|
||||
///
|
||||
struct VISIBILITY_HIDDEN ArgPromotion : public CallGraphSCCPass {
|
||||
struct ArgPromotion : public CallGraphSCCPass {
|
||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
AU.addRequired<AliasAnalysis>();
|
||||
CallGraphSCCPass::getAnalysisUsage(AU);
|
||||
|
@ -29,7 +29,7 @@ using namespace llvm;
|
||||
STATISTIC(NumMerged, "Number of global constants merged");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN ConstantMerge : public ModulePass {
|
||||
struct ConstantMerge : public ModulePass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
ConstantMerge() : ModulePass(&ID) {}
|
||||
|
||||
|
@ -44,7 +44,7 @@ STATISTIC(NumRetValsEliminated , "Number of unused return values removed");
|
||||
namespace {
|
||||
/// DAE - The dead argument elimination pass.
|
||||
///
|
||||
class VISIBILITY_HIDDEN DAE : public ModulePass {
|
||||
class DAE : public ModulePass {
|
||||
public:
|
||||
|
||||
/// Struct that represents (part of) either a return value or a function
|
||||
|
@ -25,7 +25,7 @@ using namespace llvm;
|
||||
STATISTIC(NumKilled, "Number of unused typenames removed from symtab");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN DTE : public ModulePass {
|
||||
struct DTE : public ModulePass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
DTE() : ModulePass(&ID) {}
|
||||
|
||||
|
@ -23,7 +23,7 @@ using namespace llvm;
|
||||
|
||||
namespace {
|
||||
/// @brief A pass to extract specific functions and their dependencies.
|
||||
class VISIBILITY_HIDDEN GVExtractorPass : public ModulePass {
|
||||
class GVExtractorPass : public ModulePass {
|
||||
std::vector<GlobalValue*> Named;
|
||||
bool deleteStuff;
|
||||
bool reLink;
|
||||
|
@ -40,7 +40,7 @@ STATISTIC(NumNoCapture, "Number of arguments marked nocapture");
|
||||
STATISTIC(NumNoAlias, "Number of function returns marked noalias");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN FunctionAttrs : public CallGraphSCCPass {
|
||||
struct FunctionAttrs : public CallGraphSCCPass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
FunctionAttrs() : CallGraphSCCPass(&ID) {}
|
||||
|
||||
|
@ -30,7 +30,7 @@ STATISTIC(NumFunctions, "Number of functions removed");
|
||||
STATISTIC(NumVariables, "Number of global variables removed");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN GlobalDCE : public ModulePass {
|
||||
struct GlobalDCE : public ModulePass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
GlobalDCE() : ModulePass(&ID) {}
|
||||
|
||||
|
@ -57,7 +57,7 @@ STATISTIC(NumAliasesResolved, "Number of global aliases resolved");
|
||||
STATISTIC(NumAliasesRemoved, "Number of global aliases eliminated");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN GlobalOpt : public ModulePass {
|
||||
struct GlobalOpt : public ModulePass {
|
||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
}
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
@ -85,7 +85,7 @@ namespace {
|
||||
/// GlobalStatus - As we analyze each global, keep track of some information
|
||||
/// about it. If we find out that the address of the global is taken, none of
|
||||
/// this info will be accurate.
|
||||
struct VISIBILITY_HIDDEN GlobalStatus {
|
||||
struct GlobalStatus {
|
||||
/// isLoaded - True if the global is ever loaded. If the global isn't ever
|
||||
/// loaded it can be deleted.
|
||||
bool isLoaded;
|
||||
|
@ -35,7 +35,7 @@ STATISTIC(NumReturnValProped, "Number of return values turned into constants");
|
||||
namespace {
|
||||
/// IPCP - The interprocedural constant propagation pass
|
||||
///
|
||||
struct VISIBILITY_HIDDEN IPCP : public ModulePass {
|
||||
struct IPCP : public ModulePass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
IPCP() : ModulePass(&ID) {}
|
||||
|
||||
|
@ -31,7 +31,7 @@ using namespace llvm;
|
||||
namespace {
|
||||
|
||||
// AlwaysInliner only inlines functions that are mark as "always inline".
|
||||
class VISIBILITY_HIDDEN AlwaysInliner : public Inliner {
|
||||
class AlwaysInliner : public Inliner {
|
||||
// Functions that are never inlined
|
||||
SmallPtrSet<const Function*, 16> NeverInline;
|
||||
InlineCostAnalyzer CA;
|
||||
|
@ -29,7 +29,7 @@ using namespace llvm;
|
||||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN SimpleInliner : public Inliner {
|
||||
class SimpleInliner : public Inliner {
|
||||
// Functions that are never inlined
|
||||
SmallPtrSet<const Function*, 16> NeverInline;
|
||||
InlineCostAnalyzer CA;
|
||||
|
@ -44,7 +44,7 @@ APIList("internalize-public-api-list", cl::value_desc("list"),
|
||||
cl::CommaSeparated);
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN InternalizePass : public ModulePass {
|
||||
class InternalizePass : public ModulePass {
|
||||
std::set<std::string> ExternalNames;
|
||||
/// If no api symbols were specified and a main function is defined,
|
||||
/// assume the main function is the only API
|
||||
|
@ -33,7 +33,7 @@ using namespace llvm;
|
||||
STATISTIC(NumExtracted, "Number of loops extracted");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN LoopExtractor : public LoopPass {
|
||||
struct LoopExtractor : public LoopPass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
unsigned NumLoops;
|
||||
|
||||
|
@ -62,8 +62,7 @@ STATISTIC(InvokesTransformed , "Number of invokes modified");
|
||||
namespace {
|
||||
//===--------------------------------------------------------------------===//
|
||||
// LowerSetJmp pass implementation.
|
||||
class VISIBILITY_HIDDEN LowerSetJmp : public ModulePass,
|
||||
public InstVisitor<LowerSetJmp> {
|
||||
class LowerSetJmp : public ModulePass, public InstVisitor<LowerSetJmp> {
|
||||
// LLVM library functions...
|
||||
Constant *InitSJMap; // __llvm_sjljeh_init_setjmpmap
|
||||
Constant *DestroySJMap; // __llvm_sjljeh_destroy_setjmpmap
|
||||
|
@ -62,7 +62,7 @@ using namespace llvm;
|
||||
STATISTIC(NumFunctionsMerged, "Number of functions merged");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN MergeFunctions : public ModulePass {
|
||||
struct MergeFunctions : public ModulePass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
MergeFunctions() : ModulePass(&ID) {}
|
||||
|
||||
|
@ -28,7 +28,7 @@ using namespace llvm;
|
||||
STATISTIC(NumPartialInlined, "Number of functions partially inlined");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN PartialInliner : public ModulePass {
|
||||
struct PartialInliner : public ModulePass {
|
||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const { }
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
PartialInliner() : ModulePass(&ID) {}
|
||||
|
@ -41,7 +41,7 @@ static const int CallsMin = 5;
|
||||
static const double ConstValPercent = .1;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN PartSpec : public ModulePass {
|
||||
class PartSpec : public ModulePass {
|
||||
void scanForInterest(Function&, SmallVector<int, 6>&);
|
||||
int scanDistribution(Function&, int, std::map<Constant*, int>&);
|
||||
public :
|
||||
|
@ -36,7 +36,7 @@ STATISTIC(NumRemoved, "Number of invokes removed");
|
||||
STATISTIC(NumUnreach, "Number of noreturn calls optimized");
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN PruneEH : public CallGraphSCCPass {
|
||||
struct PruneEH : public CallGraphSCCPass {
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
PruneEH() : CallGraphSCCPass(&ID) {}
|
||||
|
||||
|
@ -27,7 +27,7 @@ STATISTIC(NumDeadPrototypes, "Number of dead prototypes removed");
|
||||
namespace {
|
||||
|
||||
/// @brief Pass to remove unused function declarations.
|
||||
class VISIBILITY_HIDDEN StripDeadPrototypesPass : public ModulePass {
|
||||
class StripDeadPrototypesPass : public ModulePass {
|
||||
public:
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
StripDeadPrototypesPass() : ModulePass(&ID) { }
|
||||
|
@ -44,7 +44,7 @@ namespace {
|
||||
/// SRETPromotion - This pass removes sret parameter and updates
|
||||
/// function to use multiple return value.
|
||||
///
|
||||
struct VISIBILITY_HIDDEN SRETPromotion : public CallGraphSCCPass {
|
||||
struct SRETPromotion : public CallGraphSCCPass {
|
||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
CallGraphSCCPass::getAnalysisUsage(AU);
|
||||
}
|
||||
|
@ -30,7 +30,7 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN FunctionProfiler : public RSProfilers_std {
|
||||
class FunctionProfiler : public RSProfilers_std {
|
||||
public:
|
||||
static char ID;
|
||||
bool runOnModule(Module &M);
|
||||
|
@ -31,7 +31,7 @@ using namespace llvm;
|
||||
STATISTIC(NumEdgesInserted, "The # of edges inserted.");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN EdgeProfiler : public ModulePass {
|
||||
class EdgeProfiler : public ModulePass {
|
||||
bool runOnModule(Module &M);
|
||||
public:
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
|
@ -33,7 +33,7 @@ using namespace llvm;
|
||||
STATISTIC(NumEdgesInserted, "The # of edges inserted.");
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN OptimalEdgeProfiler : public ModulePass {
|
||||
class OptimalEdgeProfiler : public ModulePass {
|
||||
bool runOnModule(Module &M);
|
||||
public:
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user