mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
* Put command-line switches in their own namespace
* Pass creation functions are no longer in the UltraSparc class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9950 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
bede635646
commit
1be1a235d7
@ -44,21 +44,23 @@ const TargetInstrDescriptor SparcMachineInstrDesc[] = {
|
||||
// Command line options to control choice of code generation passes.
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
static cl::opt<bool> DisableSched("disable-sched",
|
||||
cl::desc("Disable local scheduling pass"));
|
||||
namespace {
|
||||
cl::opt<bool> DisableSched("disable-sched",
|
||||
cl::desc("Disable local scheduling pass"));
|
||||
|
||||
static cl::opt<bool> DisablePeephole("disable-peephole",
|
||||
cl::opt<bool> DisablePeephole("disable-peephole",
|
||||
cl::desc("Disable peephole optimization pass"));
|
||||
|
||||
static cl::opt<bool> EmitMappingInfo("enable-maps",
|
||||
cl::desc("Emit LLVM-to-MachineCode mapping info to assembly"));
|
||||
cl::opt<bool> EmitMappingInfo("enable-maps",
|
||||
cl::desc("Emit LLVM-to-MachineCode mapping info to assembly"));
|
||||
|
||||
static cl::opt<bool> DisableStrip("disable-strip",
|
||||
cl::desc("Do not strip the LLVM bytecode included in executable"));
|
||||
cl::opt<bool> DisableStrip("disable-strip",
|
||||
cl::desc("Do not strip the LLVM bytecode in executable"));
|
||||
|
||||
static cl::opt<bool> DumpInput("dump-input",
|
||||
cl::desc("Print bytecode before native code generation"),
|
||||
cl::Hidden);
|
||||
cl::opt<bool> DumpInput("dump-input",
|
||||
cl::desc("Print bytecode before code generation"),
|
||||
cl::Hidden);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// allocateSparcTargetMachine - Allocate and return a subclass of TargetMachine
|
||||
@ -196,7 +198,7 @@ bool UltraSparc::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out)
|
||||
|
||||
PM.add(getRegisterAllocator(*this));
|
||||
|
||||
PM.add(getPrologEpilogInsertionPass());
|
||||
PM.add(createPrologEpilogInsertionPass());
|
||||
|
||||
if (!DisablePeephole)
|
||||
PM.add(createPeepholeOptsPass(*this));
|
||||
@ -210,15 +212,12 @@ bool UltraSparc::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out)
|
||||
// allowing machine code representations for functions to be free'd after the
|
||||
// function has been emitted.
|
||||
//
|
||||
PM.add(getFunctionAsmPrinterPass(Out));
|
||||
PM.add(createAsmPrinterPass(Out, *this));
|
||||
PM.add(createMachineCodeDestructionPass()); // Free stuff no longer needed
|
||||
|
||||
// Emit Module level assembly after all of the functions have been processed.
|
||||
PM.add(getModuleAsmPrinterPass(Out));
|
||||
|
||||
// Emit bytecode to the assembly file into its special section next
|
||||
if (EmitMappingInfo)
|
||||
PM.add(getBytecodeAsmPrinterPass(Out));
|
||||
PM.add(createBytecodeAsmPrinterPass(Out));
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -262,7 +261,7 @@ bool UltraSparc::addPassesToJITCompile(FunctionPassManager &PM) {
|
||||
PM.add(createInstructionSelectionPass(*this));
|
||||
|
||||
PM.add(getRegisterAllocator(*this));
|
||||
PM.add(getPrologEpilogInsertionPass());
|
||||
PM.add(createPrologEpilogInsertionPass());
|
||||
|
||||
if (!DisablePeephole)
|
||||
PM.add(createPeepholeOptsPass(*this));
|
||||
|
Loading…
Reference in New Issue
Block a user