Remove unused AsmPrinter OptLevel argument, and propogate.

- This more or less amounts to a revert of r65379. I'm curious to know what
   happened that caused this variable to become unused.

llvm-svn: 74579
This commit is contained in:
Daniel Dunbar 2009-07-01 01:48:54 +00:00
parent e3f1f350ff
commit 75c12e1569
46 changed files with 82 additions and 132 deletions

View File

@ -65,8 +65,6 @@ namespace llvm {
/// DW - If available, this is a pointer to the current dwarf writer. /// DW - If available, this is a pointer to the current dwarf writer.
DwarfWriter *DW; DwarfWriter *DW;
/// OptLevel - Generating code at a specific optimization level.
CodeGenOpt::Level OptLevel;
public: public:
/// Output stream on which we're printing assembly code. /// Output stream on which we're printing assembly code.
/// ///
@ -120,7 +118,7 @@ namespace llvm {
protected: protected:
explicit AsmPrinter(raw_ostream &o, TargetMachine &TM, explicit AsmPrinter(raw_ostream &o, TargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, bool V); const TargetAsmInfo *T, bool V);
public: public:
virtual ~AsmPrinter(); virtual ~AsmPrinter();
@ -139,7 +137,8 @@ namespace llvm {
/// ///
/// This method is used when about to emit executable code. /// This method is used when about to emit executable code.
/// ///
void SwitchToTextSection(const char *NewSection, const GlobalValue *GV = NULL); void SwitchToTextSection(const char *NewSection,
const GlobalValue *GV = NULL);
/// SwitchToDataSection - Switch to the specified section of the executable /// SwitchToDataSection - Switch to the specified section of the executable
/// if we are not already in it! If GV is non-null and if the global has an /// if we are not already in it! If GV is non-null and if the global has an
@ -153,7 +152,8 @@ namespace llvm {
/// is the same as the SwitchToTextSection method, but not all assemblers /// is the same as the SwitchToTextSection method, but not all assemblers
/// are the same. /// are the same.
/// ///
void SwitchToDataSection(const char *NewSection, const GlobalValue *GV = NULL); void SwitchToDataSection(const char *NewSection,
const GlobalValue *GV = NULL);
/// SwitchToSection - Switch to the specified section of the executable if /// SwitchToSection - Switch to the specified section of the executable if
/// we are not already in it! /// we are not already in it!

View File

@ -42,8 +42,8 @@ AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
char AsmPrinter::ID = 0; char AsmPrinter::ID = 0;
AsmPrinter::AsmPrinter(raw_ostream &o, TargetMachine &tm, AsmPrinter::AsmPrinter(raw_ostream &o, TargetMachine &tm,
const TargetAsmInfo *T, CodeGenOpt::Level OL, bool VDef) const TargetAsmInfo *T, bool VDef)
: MachineFunctionPass(&ID), FunctionNumber(0), OptLevel(OL), O(o), : MachineFunctionPass(&ID), FunctionNumber(0), O(o),
TM(tm), TAI(T), TRI(tm.getRegisterInfo()), TM(tm), TAI(T), TRI(tm.getRegisterInfo()),
IsInTextSection(false), LastMI(0), LastFn(0), Counter(~0U), IsInTextSection(false), LastMI(0), LastFn(0), Counter(~0U),
PrevDLT(0, ~0U, ~0U) { PrevDLT(0, ~0U, ~0U) {

View File

@ -93,7 +93,6 @@ inline static const char *ARMCondCodeToString(ARMCC::CondCodes CC) {
FunctionPass *createARMISelDag(ARMBaseTargetMachine &TM); FunctionPass *createARMISelDag(ARMBaseTargetMachine &TM);
FunctionPass *createARMCodePrinterPass(raw_ostream &O, FunctionPass *createARMCodePrinterPass(raw_ostream &O,
ARMBaseTargetMachine &TM, ARMBaseTargetMachine &TM,
CodeGenOpt::Level OptLevel,
bool Verbose); bool Verbose);
FunctionPass *createARMCodeEmitterPass(ARMBaseTargetMachine &TM, FunctionPass *createARMCodeEmitterPass(ARMBaseTargetMachine &TM,
MachineCodeEmitter &MCE); MachineCodeEmitter &MCE);

View File

@ -179,7 +179,7 @@ bool ARMBaseTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
// Output assembly language. // Output assembly language.
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose)); PM.add(AsmPrinterCtor(Out, *this, Verbose));
return false; return false;
} }
@ -198,7 +198,7 @@ bool ARMBaseTargetMachine::addCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
@ -217,7 +217,7 @@ bool ARMBaseTargetMachine::addCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
@ -232,7 +232,7 @@ bool ARMBaseTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
@ -247,7 +247,7 @@ bool ARMBaseTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;

View File

@ -43,7 +43,6 @@ protected:
// set this functions to ctor pointer at startup time if they are linked in. // set this functions to ctor pointer at startup time if they are linked in.
typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o, typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o,
ARMBaseTargetMachine &tm, ARMBaseTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
static AsmPrinterCtorFn AsmPrinterCtor; static AsmPrinterCtorFn AsmPrinterCtor;

View File

@ -82,9 +82,8 @@ namespace {
bool InCPMode; bool InCPMode;
public: public:
explicit ARMAsmPrinter(raw_ostream &O, TargetMachine &TM, explicit ARMAsmPrinter(raw_ostream &O, TargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(O, TM, T, V), DW(0), AFI(NULL), MCP(NULL),
: AsmPrinter(O, TM, T, OL, V), DW(0), AFI(NULL), MCP(NULL),
InCPMode(false) { InCPMode(false) {
Subtarget = &TM.getSubtarget<ARMSubtarget>(); Subtarget = &TM.getSubtarget<ARMSubtarget>();
} }
@ -1198,9 +1197,8 @@ bool ARMAsmPrinter::doFinalization(Module &M) {
/// ///
FunctionPass *llvm::createARMCodePrinterPass(raw_ostream &o, FunctionPass *llvm::createARMCodePrinterPass(raw_ostream &o,
ARMBaseTargetMachine &tm, ARMBaseTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
return new ARMAsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose); return new ARMAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
} }
namespace { namespace {

View File

@ -27,7 +27,6 @@ namespace llvm {
FunctionPass *createAlphaISelDag(AlphaTargetMachine &TM); FunctionPass *createAlphaISelDag(AlphaTargetMachine &TM);
FunctionPass *createAlphaCodePrinterPass(raw_ostream &OS, FunctionPass *createAlphaCodePrinterPass(raw_ostream &OS,
TargetMachine &TM, TargetMachine &TM,
CodeGenOpt::Level OptLevel,
bool Verbose); bool Verbose);
FunctionPass *createAlphaPatternInstructionSelector(TargetMachine &TM); FunctionPass *createAlphaPatternInstructionSelector(TargetMachine &TM);
FunctionPass *createAlphaCodeEmitterPass(AlphaTargetMachine &TM, FunctionPass *createAlphaCodeEmitterPass(AlphaTargetMachine &TM,

View File

@ -94,7 +94,7 @@ bool AlphaTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
// Output assembly language. // Output assembly language.
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose)); PM.add(AsmPrinterCtor(Out, *this, Verbose));
return false; return false;
} }
bool AlphaTargetMachine::addCodeEmitter(PassManagerBase &PM, bool AlphaTargetMachine::addCodeEmitter(PassManagerBase &PM,
@ -104,7 +104,7 @@ bool AlphaTargetMachine::addCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
} }
@ -115,7 +115,7 @@ bool AlphaTargetMachine::addCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
} }

View File

@ -41,7 +41,6 @@ protected:
// set this functions to ctor pointer at startup time if they are linked in. // set this functions to ctor pointer at startup time if they are linked in.
typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o, typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o,
TargetMachine &tm, TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
static AsmPrinterCtorFn AsmPrinterCtor; static AsmPrinterCtorFn AsmPrinterCtor;

View File

@ -38,9 +38,8 @@ namespace {
/// ///
explicit AlphaAsmPrinter(raw_ostream &o, TargetMachine &tm, explicit AlphaAsmPrinter(raw_ostream &o, TargetMachine &tm,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(o, tm, T, V) {}
: AsmPrinter(o, tm, T, OL, V) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
return "Alpha Assembly Printer"; return "Alpha Assembly Printer";
@ -70,9 +69,8 @@ namespace {
/// ///
FunctionPass *llvm::createAlphaCodePrinterPass(raw_ostream &o, FunctionPass *llvm::createAlphaCodePrinterPass(raw_ostream &o,
TargetMachine &tm, TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
return new AlphaAsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose); return new AlphaAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
} }
#include "AlphaGenAsmWriter.inc" #include "AlphaGenAsmWriter.inc"

View File

@ -50,9 +50,8 @@ namespace {
std::set<std::string> FnStubs, GVStubs; std::set<std::string> FnStubs, GVStubs;
public: public:
explicit SPUAsmPrinter(raw_ostream &O, TargetMachine &TM, explicit SPUAsmPrinter(raw_ostream &O, TargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V) :
bool V) : AsmPrinter(O, TM, T, V) {}
AsmPrinter(O, TM, T, OL, V) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
return "STI CBEA SPU Assembly Printer"; return "STI CBEA SPU Assembly Printer";
@ -290,9 +289,8 @@ namespace {
DwarfWriter *DW; DwarfWriter *DW;
public: public:
explicit LinuxAsmPrinter(raw_ostream &O, SPUTargetMachine &TM, explicit LinuxAsmPrinter(raw_ostream &O, SPUTargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level F, const TargetAsmInfo *T, bool V)
bool V) : SPUAsmPrinter(O, TM, T, V), DW(0) {}
: SPUAsmPrinter(O, TM, T, F, V), DW(0) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
return "STI CBEA SPU Assembly Printer"; return "STI CBEA SPU Assembly Printer";
@ -603,9 +601,8 @@ bool LinuxAsmPrinter::doFinalization(Module &M) {
/// ///
FunctionPass *llvm::createSPUAsmPrinterPass(raw_ostream &o, FunctionPass *llvm::createSPUAsmPrinterPass(raw_ostream &o,
SPUTargetMachine &tm, SPUTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
return new LinuxAsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose); return new LinuxAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
} }
// Force static initialization. // Force static initialization.

View File

@ -26,7 +26,6 @@ namespace llvm {
FunctionPass *createSPUISelDag(SPUTargetMachine &TM); FunctionPass *createSPUISelDag(SPUTargetMachine &TM);
FunctionPass *createSPUAsmPrinterPass(raw_ostream &o, FunctionPass *createSPUAsmPrinterPass(raw_ostream &o,
SPUTargetMachine &tm, SPUTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
/*--== Utility functions/predicates/etc used all over the place: --==*/ /*--== Utility functions/predicates/etc used all over the place: --==*/

View File

@ -94,6 +94,6 @@ bool SPUTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
// Output assembly language. // Output assembly language.
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose)); PM.add(AsmPrinterCtor(Out, *this, Verbose));
return false; return false;
} }

View File

@ -43,7 +43,6 @@ protected:
// set this functions to ctor pointer at startup time if they are linked in. // set this functions to ctor pointer at startup time if they are linked in.
typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o, typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o,
SPUTargetMachine &tm, SPUTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
static AsmPrinterCtorFn AsmPrinterCtor; static AsmPrinterCtorFn AsmPrinterCtor;

View File

@ -38,9 +38,8 @@ namespace {
std::set<std::string> ExternalFunctionNames, ExternalObjectNames; std::set<std::string> ExternalFunctionNames, ExternalObjectNames;
public: public:
explicit IA64AsmPrinter(raw_ostream &O, TargetMachine &TM, explicit IA64AsmPrinter(raw_ostream &O, TargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(O, TM, T, V) {}
: AsmPrinter(O, TM, T, OL, V) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
return "IA64 Assembly Printer"; return "IA64 Assembly Printer";
@ -373,9 +372,8 @@ bool IA64AsmPrinter::doFinalization(Module &M) {
/// ///
FunctionPass *llvm::createIA64CodePrinterPass(raw_ostream &o, FunctionPass *llvm::createIA64CodePrinterPass(raw_ostream &o,
IA64TargetMachine &tm, IA64TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
return new IA64AsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose); return new IA64AsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
} }
namespace { namespace {

View File

@ -39,7 +39,6 @@ FunctionPass *createIA64BundlingPass(IA64TargetMachine &TM);
/// ///
FunctionPass *createIA64CodePrinterPass(raw_ostream &o, FunctionPass *createIA64CodePrinterPass(raw_ostream &o,
IA64TargetMachine &tm, IA64TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
} // End llvm namespace } // End llvm namespace

View File

@ -73,7 +73,7 @@ IA64TargetMachine::IA64TargetMachine(const Module &M, const std::string &FS)
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
bool IA64TargetMachine::addInstSelector(PassManagerBase &PM, bool IA64TargetMachine::addInstSelector(PassManagerBase &PM,
CodeGenOpt::Level OptLevel){ CodeGenOpt::Level OptLevel) {
PM.add(createIA64DAGToDAGInstructionSelector(*this)); PM.add(createIA64DAGToDAGInstructionSelector(*this));
return false; return false;
} }
@ -91,7 +91,7 @@ bool IA64TargetMachine::addAssemblyEmitter(PassManagerBase &PM,
// Output assembly language. // Output assembly language.
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose)); PM.add(AsmPrinterCtor(Out, *this, Verbose));
return false; return false;
} }

View File

@ -38,7 +38,6 @@ protected:
// set this functions to ctor pointer at startup time if they are linked in. // set this functions to ctor pointer at startup time if they are linked in.
typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o, typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o,
IA64TargetMachine &tm, IA64TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
static AsmPrinterCtorFn AsmPrinterCtor; static AsmPrinterCtorFn AsmPrinterCtor;

View File

@ -26,7 +26,6 @@ namespace llvm {
CodeGenOpt::Level OptLevel); CodeGenOpt::Level OptLevel);
FunctionPass *createMSP430CodePrinterPass(raw_ostream &o, FunctionPass *createMSP430CodePrinterPass(raw_ostream &o,
MSP430TargetMachine &tm, MSP430TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
} // end namespace llvm; } // end namespace llvm;

View File

@ -40,9 +40,8 @@ namespace {
class VISIBILITY_HIDDEN MSP430AsmPrinter : public AsmPrinter { class VISIBILITY_HIDDEN MSP430AsmPrinter : public AsmPrinter {
public: public:
MSP430AsmPrinter(raw_ostream &O, MSP430TargetMachine &TM, MSP430AsmPrinter(raw_ostream &O, MSP430TargetMachine &TM,
const TargetAsmInfo *TAI, const TargetAsmInfo *TAI, bool V)
CodeGenOpt::Level OL, bool V) : AsmPrinter(O, TM, TAI, V) {}
: AsmPrinter(O, TM, TAI, OL, V) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
return "MSP430 Assembly Printer"; return "MSP430 Assembly Printer";
@ -77,9 +76,8 @@ namespace {
/// ///
FunctionPass *llvm::createMSP430CodePrinterPass(raw_ostream &o, FunctionPass *llvm::createMSP430CodePrinterPass(raw_ostream &o,
MSP430TargetMachine &tm, MSP430TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
return new MSP430AsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose); return new MSP430AsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
} }
bool MSP430AsmPrinter::doInitialization(Module &M) { bool MSP430AsmPrinter::doInitialization(Module &M) {

View File

@ -62,7 +62,7 @@ bool MSP430TargetMachine::addAssemblyEmitter(PassManagerBase &PM,
bool Verbose, bool Verbose,
raw_ostream &Out) { raw_ostream &Out) {
// Output assembly language. // Output assembly language.
PM.add(createMSP430CodePrinterPass(Out, *this, OptLevel, Verbose)); PM.add(createMSP430CodePrinterPass(Out, *this, Verbose));
return false; return false;
} }

View File

@ -51,9 +51,8 @@ namespace {
const MipsSubtarget *Subtarget; const MipsSubtarget *Subtarget;
public: public:
explicit MipsAsmPrinter(raw_ostream &O, MipsTargetMachine &TM, explicit MipsAsmPrinter(raw_ostream &O, MipsTargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(O, TM, T, V) {
: AsmPrinter(O, TM, T, OL, V) {
Subtarget = &TM.getSubtarget<MipsSubtarget>(); Subtarget = &TM.getSubtarget<MipsSubtarget>();
} }
@ -93,9 +92,8 @@ namespace {
/// regardless of whether the function is in SSA form. /// regardless of whether the function is in SSA form.
FunctionPass *llvm::createMipsCodePrinterPass(raw_ostream &o, FunctionPass *llvm::createMipsCodePrinterPass(raw_ostream &o,
MipsTargetMachine &tm, MipsTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
return new MipsAsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose); return new MipsAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
} }
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//

View File

@ -27,7 +27,6 @@ namespace llvm {
FunctionPass *createMipsDelaySlotFillerPass(MipsTargetMachine &TM); FunctionPass *createMipsDelaySlotFillerPass(MipsTargetMachine &TM);
FunctionPass *createMipsCodePrinterPass(raw_ostream &OS, FunctionPass *createMipsCodePrinterPass(raw_ostream &OS,
MipsTargetMachine &TM, MipsTargetMachine &TM,
CodeGenOpt::Level OptLevel,
bool Verbose); bool Verbose);
} // end namespace llvm; } // end namespace llvm;

View File

@ -134,6 +134,6 @@ addAssemblyEmitter(PassManagerBase &PM, CodeGenOpt::Level OptLevel,
bool Verbose, raw_ostream &Out) { bool Verbose, raw_ostream &Out) {
// Output assembly language. // Output assembly language.
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose)); PM.add(AsmPrinterCtor(Out, *this, Verbose));
return false; return false;
} }

View File

@ -39,7 +39,6 @@ namespace llvm {
// linked in. // linked in.
typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o, typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o,
MipsTargetMachine &tm, MipsTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
static AsmPrinterCtorFn AsmPrinterCtor; static AsmPrinterCtorFn AsmPrinterCtor;

View File

@ -331,7 +331,6 @@ namespace PIC16CC {
FunctionPass *createPIC16ISelDag(PIC16TargetMachine &TM); FunctionPass *createPIC16ISelDag(PIC16TargetMachine &TM);
FunctionPass *createPIC16CodePrinterPass(raw_ostream &OS, FunctionPass *createPIC16CodePrinterPass(raw_ostream &OS,
PIC16TargetMachine &TM, PIC16TargetMachine &TM,
CodeGenOpt::Level OptLevel,
bool Verbose); bool Verbose);
// Banksel optimzer pass. // Banksel optimzer pass.
FunctionPass *createPIC16MemSelOptimizerPass(); FunctionPass *createPIC16MemSelOptimizerPass();

View File

@ -113,9 +113,8 @@ bool PIC16AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
/// ///
FunctionPass *llvm::createPIC16CodePrinterPass(raw_ostream &o, FunctionPass *llvm::createPIC16CodePrinterPass(raw_ostream &o,
PIC16TargetMachine &tm, PIC16TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
return new PIC16AsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose); return new PIC16AsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
} }

View File

@ -30,9 +30,8 @@
namespace llvm { namespace llvm {
struct VISIBILITY_HIDDEN PIC16AsmPrinter : public AsmPrinter { struct VISIBILITY_HIDDEN PIC16AsmPrinter : public AsmPrinter {
explicit PIC16AsmPrinter(raw_ostream &O, PIC16TargetMachine &TM, explicit PIC16AsmPrinter(raw_ostream &O, PIC16TargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(O, TM, T, V), DbgInfo(O, T) {
: AsmPrinter(O, TM, T, OL, V), DbgInfo(O, T) {
PTLI = TM.getTargetLowering(); PTLI = TM.getTargetLowering();
PTAI = static_cast<const PIC16TargetAsmInfo *> (T); PTAI = static_cast<const PIC16TargetAsmInfo *> (T);
} }

View File

@ -65,11 +65,11 @@ bool PIC16TargetMachine::addInstSelector(PassManagerBase &PM,
return false; return false;
} }
bool PIC16TargetMachine:: bool PIC16TargetMachine::addAssemblyEmitter(PassManagerBase &PM,
addAssemblyEmitter(PassManagerBase &PM, CodeGenOpt::Level OptLevel, CodeGenOpt::Level OptLevel,
bool Verbose, raw_ostream &Out) { bool Verbose, raw_ostream &Out) {
// Output assembly language. // Output assembly language.
PM.add(createPIC16CodePrinterPass(Out, *this, OptLevel, Verbose)); PM.add(createPIC16CodePrinterPass(Out, *this, Verbose));
return false; return false;
} }

View File

@ -56,9 +56,8 @@ namespace {
const PPCSubtarget &Subtarget; const PPCSubtarget &Subtarget;
public: public:
explicit PPCAsmPrinter(raw_ostream &O, TargetMachine &TM, explicit PPCAsmPrinter(raw_ostream &O, TargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(O, TM, T, V),
: AsmPrinter(O, TM, T, OL, V),
Subtarget(TM.getSubtarget<PPCSubtarget>()) {} Subtarget(TM.getSubtarget<PPCSubtarget>()) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
@ -296,9 +295,8 @@ namespace {
class VISIBILITY_HIDDEN PPCLinuxAsmPrinter : public PPCAsmPrinter { class VISIBILITY_HIDDEN PPCLinuxAsmPrinter : public PPCAsmPrinter {
public: public:
explicit PPCLinuxAsmPrinter(raw_ostream &O, PPCTargetMachine &TM, explicit PPCLinuxAsmPrinter(raw_ostream &O, PPCTargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : PPCAsmPrinter(O, TM, T, V){}
: PPCAsmPrinter(O, TM, T, OL, V){}
virtual const char *getPassName() const { virtual const char *getPassName() const {
return "Linux PPC Assembly Printer"; return "Linux PPC Assembly Printer";
@ -323,9 +321,8 @@ namespace {
raw_ostream &OS; raw_ostream &OS;
public: public:
explicit PPCDarwinAsmPrinter(raw_ostream &O, PPCTargetMachine &TM, explicit PPCDarwinAsmPrinter(raw_ostream &O, PPCTargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : PPCAsmPrinter(O, TM, T, V), OS(O) {}
: PPCAsmPrinter(O, TM, T, OL, V), OS(O) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
return "Darwin PPC Assembly Printer"; return "Darwin PPC Assembly Printer";
@ -1119,16 +1116,13 @@ bool PPCDarwinAsmPrinter::doFinalization(Module &M) {
/// ///
FunctionPass *llvm::createPPCAsmPrinterPass(raw_ostream &o, FunctionPass *llvm::createPPCAsmPrinterPass(raw_ostream &o,
PPCTargetMachine &tm, PPCTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
const PPCSubtarget *Subtarget = &tm.getSubtarget<PPCSubtarget>(); const PPCSubtarget *Subtarget = &tm.getSubtarget<PPCSubtarget>();
if (Subtarget->isDarwin()) { if (Subtarget->isDarwin()) {
return new PPCDarwinAsmPrinter(o, tm, tm.getTargetAsmInfo(), return new PPCDarwinAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
OptLevel, verbose);
} else { } else {
return new PPCLinuxAsmPrinter(o, tm, tm.getTargetAsmInfo(), return new PPCLinuxAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
OptLevel, verbose);
} }
} }

View File

@ -28,9 +28,8 @@ namespace llvm {
FunctionPass *createPPCBranchSelectionPass(); FunctionPass *createPPCBranchSelectionPass();
FunctionPass *createPPCISelDag(PPCTargetMachine &TM); FunctionPass *createPPCISelDag(PPCTargetMachine &TM);
FunctionPass *createPPCAsmPrinterPass(raw_ostream &OS, FunctionPass *createPPCAsmPrinterPass(raw_ostream &OS, PPCTargetMachine &TM,
PPCTargetMachine &TM, bool Verbose);
CodeGenOpt::Level OptLevel, bool Verbose);
FunctionPass *createPPCCodeEmitterPass(PPCTargetMachine &TM, FunctionPass *createPPCCodeEmitterPass(PPCTargetMachine &TM,
MachineCodeEmitter &MCE); MachineCodeEmitter &MCE);
FunctionPass *createPPCJITCodeEmitterPass(PPCTargetMachine &TM, FunctionPass *createPPCJITCodeEmitterPass(PPCTargetMachine &TM,

View File

@ -152,7 +152,7 @@ bool PPCTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
raw_ostream &Out) { raw_ostream &Out) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose)); PM.add(AsmPrinterCtor(Out, *this, Verbose));
return false; return false;
} }
@ -183,7 +183,7 @@ bool PPCTargetMachine::addCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
@ -215,7 +215,7 @@ bool PPCTargetMachine::addCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
@ -230,7 +230,7 @@ bool PPCTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
@ -245,7 +245,7 @@ bool PPCTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;

View File

@ -46,7 +46,6 @@ protected:
// set this functions to ctor pointer at startup time if they are linked in. // set this functions to ctor pointer at startup time if they are linked in.
typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o, typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o,
PPCTargetMachine &tm, PPCTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
static AsmPrinterCtorFn AsmPrinterCtor; static AsmPrinterCtorFn AsmPrinterCtor;

View File

@ -50,9 +50,8 @@ namespace {
unsigned BBNumber; unsigned BBNumber;
public: public:
explicit SparcAsmPrinter(raw_ostream &O, TargetMachine &TM, explicit SparcAsmPrinter(raw_ostream &O, TargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(O, TM, T, V), BBNumber(0) {}
: AsmPrinter(O, TM, T, OL, V), BBNumber(0) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
return "Sparc Assembly Printer"; return "Sparc Assembly Printer";
@ -84,9 +83,8 @@ namespace {
/// ///
FunctionPass *llvm::createSparcCodePrinterPass(raw_ostream &o, FunctionPass *llvm::createSparcCodePrinterPass(raw_ostream &o,
TargetMachine &tm, TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
return new SparcAsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose); return new SparcAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
} }

View File

@ -25,7 +25,6 @@ namespace llvm {
FunctionPass *createSparcISelDag(SparcTargetMachine &TM); FunctionPass *createSparcISelDag(SparcTargetMachine &TM);
FunctionPass *createSparcCodePrinterPass(raw_ostream &OS, TargetMachine &TM, FunctionPass *createSparcCodePrinterPass(raw_ostream &OS, TargetMachine &TM,
CodeGenOpt::Level OptLevel,
bool Verbose); bool Verbose);
FunctionPass *createSparcDelaySlotFillerPass(TargetMachine &TM); FunctionPass *createSparcDelaySlotFillerPass(TargetMachine &TM);
FunctionPass *createSparcFPMoverPass(TargetMachine &TM); FunctionPass *createSparcFPMoverPass(TargetMachine &TM);

View File

@ -90,6 +90,6 @@ bool SparcTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
// Output assembly language. // Output assembly language.
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose)); PM.add(AsmPrinterCtor(Out, *this, Verbose));
return false; return false;
} }

View File

@ -39,7 +39,6 @@ protected:
// set this functions to ctor pointer at startup time if they are linked in. // set this functions to ctor pointer at startup time if they are linked in.
typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o, typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o,
TargetMachine &tm, TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
static AsmPrinterCtorFn AsmPrinterCtor; static AsmPrinterCtorFn AsmPrinterCtor;

View File

@ -38,9 +38,8 @@ class VISIBILITY_HIDDEN X86ATTAsmPrinter : public AsmPrinter {
MCStreamer *Streamer; MCStreamer *Streamer;
public: public:
explicit X86ATTAsmPrinter(raw_ostream &O, X86TargetMachine &TM, explicit X86ATTAsmPrinter(raw_ostream &O, X86TargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(O, TM, T, V) {
: AsmPrinter(O, TM, T, OL, V) {
Subtarget = &TM.getSubtarget<X86Subtarget>(); Subtarget = &TM.getSubtarget<X86Subtarget>();
Context = 0; Context = 0;
Streamer = 0; Streamer = 0;

View File

@ -25,15 +25,12 @@ using namespace llvm;
/// ///
FunctionPass *llvm::createX86CodePrinterPass(raw_ostream &o, FunctionPass *llvm::createX86CodePrinterPass(raw_ostream &o,
X86TargetMachine &tm, X86TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
const X86Subtarget *Subtarget = &tm.getSubtarget<X86Subtarget>(); const X86Subtarget *Subtarget = &tm.getSubtarget<X86Subtarget>();
if (Subtarget->isFlavorIntel()) if (Subtarget->isFlavorIntel())
return new X86IntelAsmPrinter(o, tm, tm.getTargetAsmInfo(), return new X86IntelAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
OptLevel, verbose); return new X86ATTAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
return new X86ATTAsmPrinter(o, tm, tm.getTargetAsmInfo(),
OptLevel, verbose);
} }
namespace { namespace {

View File

@ -26,9 +26,8 @@ namespace llvm {
struct VISIBILITY_HIDDEN X86IntelAsmPrinter : public AsmPrinter { struct VISIBILITY_HIDDEN X86IntelAsmPrinter : public AsmPrinter {
explicit X86IntelAsmPrinter(raw_ostream &O, X86TargetMachine &TM, explicit X86IntelAsmPrinter(raw_ostream &O, X86TargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(O, TM, T, V) {}
: AsmPrinter(O, TM, T, OL, V) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
return "X86 Intel-Style Assembly Printer"; return "X86 Intel-Style Assembly Printer";

View File

@ -46,9 +46,7 @@ FunctionPass *createX87FPRegKillInserterPass();
/// assembly code for a MachineFunction to the given output stream, /// assembly code for a MachineFunction to the given output stream,
/// using the given target machine description. /// using the given target machine description.
/// ///
FunctionPass *createX86CodePrinterPass(raw_ostream &o, FunctionPass *createX86CodePrinterPass(raw_ostream &o, X86TargetMachine &tm,
X86TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool Verbose); bool Verbose);
/// createX86CodeEmitterPass - Return a pass that emits the collected X86 code /// createX86CodeEmitterPass - Return a pass that emits the collected X86 code

View File

@ -226,7 +226,7 @@ bool X86TargetMachine::addAssemblyEmitter(PassManagerBase &PM,
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose)); PM.add(AsmPrinterCtor(Out, *this, Verbose));
return false; return false;
} }
@ -254,7 +254,7 @@ bool X86TargetMachine::addCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
@ -284,7 +284,7 @@ bool X86TargetMachine::addCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
@ -298,7 +298,7 @@ bool X86TargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;
@ -312,7 +312,7 @@ bool X86TargetMachine::addSimpleCodeEmitter(PassManagerBase &PM,
if (DumpAsm) { if (DumpAsm) {
assert(AsmPrinterCtor && "AsmPrinter was not linked in"); assert(AsmPrinterCtor && "AsmPrinter was not linked in");
if (AsmPrinterCtor) if (AsmPrinterCtor)
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true)); PM.add(AsmPrinterCtor(errs(), *this, true));
} }
return false; return false;

View File

@ -45,7 +45,6 @@ protected:
// set this functions to ctor pointer at startup time if they are linked in. // set this functions to ctor pointer at startup time if they are linked in.
typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o, typedef FunctionPass *(*AsmPrinterCtorFn)(raw_ostream &o,
X86TargetMachine &tm, X86TargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose); bool verbose);
static AsmPrinterCtorFn AsmPrinterCtor; static AsmPrinterCtorFn AsmPrinterCtor;

View File

@ -26,7 +26,6 @@ namespace llvm {
FunctionPass *createXCoreISelDag(XCoreTargetMachine &TM); FunctionPass *createXCoreISelDag(XCoreTargetMachine &TM);
FunctionPass *createXCoreCodePrinterPass(raw_ostream &OS, FunctionPass *createXCoreCodePrinterPass(raw_ostream &OS,
XCoreTargetMachine &TM, XCoreTargetMachine &TM,
CodeGenOpt::Level OptLevel,
bool Verbose); bool Verbose);
} // end namespace llvm; } // end namespace llvm;

View File

@ -58,9 +58,8 @@ namespace {
const XCoreSubtarget &Subtarget; const XCoreSubtarget &Subtarget;
public: public:
explicit XCoreAsmPrinter(raw_ostream &O, XCoreTargetMachine &TM, explicit XCoreAsmPrinter(raw_ostream &O, XCoreTargetMachine &TM,
const TargetAsmInfo *T, CodeGenOpt::Level OL, const TargetAsmInfo *T, bool V)
bool V) : AsmPrinter(O, TM, T, V), DW(0),
: AsmPrinter(O, TM, T, OL, V), DW(0),
Subtarget(*TM.getSubtargetImpl()) {} Subtarget(*TM.getSubtargetImpl()) {}
virtual const char *getPassName() const { virtual const char *getPassName() const {
@ -106,9 +105,8 @@ namespace {
/// ///
FunctionPass *llvm::createXCoreCodePrinterPass(raw_ostream &o, FunctionPass *llvm::createXCoreCodePrinterPass(raw_ostream &o,
XCoreTargetMachine &tm, XCoreTargetMachine &tm,
CodeGenOpt::Level OptLevel,
bool verbose) { bool verbose) {
return new XCoreAsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose); return new XCoreAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
} }
// PrintEscapedString - Print each character of the specified string, escaping // PrintEscapedString - Print each character of the specified string, escaping

View File

@ -69,6 +69,6 @@ bool XCoreTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
bool Verbose, bool Verbose,
raw_ostream &Out) { raw_ostream &Out) {
// Output assembly language. // Output assembly language.
PM.add(createXCoreCodePrinterPass(Out, *this, OptLevel, Verbose)); PM.add(createXCoreCodePrinterPass(Out, *this, Verbose));
return false; return false;
} }