mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-20 16:17:38 +00:00
Second attempt:
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70343 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -129,29 +129,31 @@ PPC64TargetMachine::PPC64TargetMachine(const Module &M, const std::string &FS)
|
||||
// Pass Pipeline Configuration
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
bool PPCTargetMachine::addInstSelector(PassManagerBase &PM, bool Fast) {
|
||||
bool PPCTargetMachine::addInstSelector(PassManagerBase &PM, unsigned OptLevel) {
|
||||
// Install an instruction selector.
|
||||
PM.add(createPPCISelDag(*this));
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PPCTargetMachine::addPreEmitPass(PassManagerBase &PM, bool Fast) {
|
||||
bool PPCTargetMachine::addPreEmitPass(PassManagerBase &PM, unsigned OptLevel) {
|
||||
|
||||
// Must run branch selection immediately preceding the asm printer.
|
||||
PM.add(createPPCBranchSelectionPass());
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PPCTargetMachine::addAssemblyEmitter(PassManagerBase &PM, bool Fast,
|
||||
bool Verbose, raw_ostream &Out) {
|
||||
bool PPCTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
|
||||
unsigned OptLevel,
|
||||
bool Verbose,
|
||||
raw_ostream &Out) {
|
||||
assert(AsmPrinterCtor && "AsmPrinter was not linked in");
|
||||
if (AsmPrinterCtor)
|
||||
PM.add(AsmPrinterCtor(Out, *this, Fast, Verbose));
|
||||
PM.add(AsmPrinterCtor(Out, *this, OptLevel, Verbose));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PPCTargetMachine::addCodeEmitter(PassManagerBase &PM, bool Fast,
|
||||
bool PPCTargetMachine::addCodeEmitter(PassManagerBase &PM, unsigned OptLevel,
|
||||
bool DumpAsm, MachineCodeEmitter &MCE) {
|
||||
// The JIT should use the static relocation model in ppc32 mode, PIC in ppc64.
|
||||
// FIXME: This should be moved to TargetJITInfo!!
|
||||
@@ -176,20 +178,20 @@ bool PPCTargetMachine::addCodeEmitter(PassManagerBase &PM, bool Fast,
|
||||
if (DumpAsm) {
|
||||
assert(AsmPrinterCtor && "AsmPrinter was not linked in");
|
||||
if (AsmPrinterCtor)
|
||||
PM.add(AsmPrinterCtor(errs(), *this, Fast, true));
|
||||
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true));
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PPCTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM, bool Fast,
|
||||
bool PPCTargetMachine::addSimpleCodeEmitter(PassManagerBase &PM, unsigned OptLevel,
|
||||
bool DumpAsm, MachineCodeEmitter &MCE) {
|
||||
// Machine code emitter pass for PowerPC.
|
||||
PM.add(createPPCCodeEmitterPass(*this, MCE));
|
||||
if (DumpAsm) {
|
||||
assert(AsmPrinterCtor && "AsmPrinter was not linked in");
|
||||
if (AsmPrinterCtor)
|
||||
PM.add(AsmPrinterCtor(errs(), *this, Fast, true));
|
||||
PM.add(AsmPrinterCtor(errs(), *this, OptLevel, true));
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user