mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
Remove the X86 and PowerPC Simple instruction selectors; their time has
passed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22886 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cfbf96aa9c
commit
73bfa71524
@ -34,13 +34,6 @@ namespace llvm {
|
||||
/// over the place.
|
||||
extern bool NoExcessFPPrecision;
|
||||
|
||||
/// PatternISelTriState - This flag is enabled when -pattern-isel=X is
|
||||
/// specified on the command line. The default value is 2, in which case the
|
||||
/// target chooses what is best for it. Setting X to 0 forces the use of
|
||||
/// a simple ISel if available, while setting it to 1 forces the use of a
|
||||
/// pattern ISel if available.
|
||||
extern int PatternISelTriState;
|
||||
|
||||
/// UnsafeFPMath - This flag is enabled when the
|
||||
/// -enable-unsafe-fp-math flag is specified on the command line. When
|
||||
/// this flag is off (the default), the code generator is not allowed to
|
||||
|
@ -27,7 +27,6 @@ enum PPCTargetEnum {
|
||||
};
|
||||
|
||||
FunctionPass *createPPCBranchSelectionPass();
|
||||
FunctionPass *createPPC32ISelSimple(TargetMachine &TM);
|
||||
FunctionPass *createPPC32ISelPattern(TargetMachine &TM);
|
||||
FunctionPass *createPPC32ISelDag(TargetMachine &TM);
|
||||
FunctionPass *createDarwinAsmPrinter(std::ostream &OS, TargetMachine &TM);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -85,13 +85,9 @@ bool PowerPCTargetMachine::addPassesToEmitFile(PassManager &PM,
|
||||
PM.add(createUnreachableBlockEliminationPass());
|
||||
|
||||
// Install an instruction selector.
|
||||
if (EnablePPCDAGDAG) {
|
||||
if (EnablePPCDAGDAG)
|
||||
PM.add(createPPC32ISelDag(*this));
|
||||
|
||||
} else if (PatternISelTriState == 0) {
|
||||
PM.add(createLowerConstantExpressionsPass());
|
||||
PM.add(createPPC32ISelSimple(*this));
|
||||
} else
|
||||
else
|
||||
PM.add(createPPC32ISelPattern(*this));
|
||||
|
||||
if (PrintMachineCode)
|
||||
@ -143,13 +139,8 @@ void PowerPCJITInfo::addPassesToJITCompile(FunctionPassManager &PM) {
|
||||
// Make sure that no unreachable blocks are instruction selected.
|
||||
PM.add(createUnreachableBlockEliminationPass());
|
||||
|
||||
// Default to pattern ISel
|
||||
if (PatternISelTriState == 0) {
|
||||
PM.add(createLowerConstantExpressionsPass());
|
||||
PM.add(createPPC32ISelSimple(TM));
|
||||
} else {
|
||||
PM.add(createPPC32ISelPattern(TM));
|
||||
}
|
||||
// Install an instruction selector.
|
||||
PM.add(createPPC32ISelPattern(TM));
|
||||
|
||||
PM.add(createRegisterAllocator());
|
||||
PM.add(createPrologEpilogCodeInserter());
|
||||
|
@ -25,7 +25,6 @@ namespace llvm {
|
||||
bool PrintMachineCode;
|
||||
bool NoFramePointerElim;
|
||||
bool NoExcessFPPrecision;
|
||||
int PatternISelTriState;
|
||||
bool UnsafeFPMath;
|
||||
bool PICEnabled;
|
||||
};
|
||||
@ -44,10 +43,6 @@ namespace {
|
||||
cl::desc("Disable optimizations that may increase FP precision"),
|
||||
cl::location(NoExcessFPPrecision),
|
||||
cl::init(false));
|
||||
cl::opt<int, true> PatternISel("enable-pattern-isel",
|
||||
cl::desc("Turn the pattern ISel off(0), on(1), default(2)"),
|
||||
cl::location(PatternISelTriState),
|
||||
cl::init(2));
|
||||
cl::opt<bool, true>
|
||||
EnableUnsafeFPMath("enable-unsafe-fp-math",
|
||||
cl::desc("Enable optimizations that may decrease FP precision"),
|
||||
|
@ -32,12 +32,6 @@ enum X86VectorEnum {
|
||||
extern X86VectorEnum X86Vector;
|
||||
extern bool X86ScalarSSE;
|
||||
|
||||
/// createX86SimpleInstructionSelector - This pass converts an LLVM function
|
||||
/// into a machine code representation in a very simple peep-hole fashion. The
|
||||
/// generated code sucks but the implementation is nice and simple.
|
||||
///
|
||||
FunctionPass *createX86SimpleInstructionSelector(TargetMachine &TM);
|
||||
|
||||
/// createX86PatternInstructionSelector - This pass converts an LLVM function
|
||||
/// into a machine code representation in a more aggressive way.
|
||||
///
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -120,11 +120,8 @@ bool X86TargetMachine::addPassesToEmitFile(PassManager &PM, std::ostream &Out,
|
||||
// Make sure that no unreachable blocks are instruction selected.
|
||||
PM.add(createUnreachableBlockEliminationPass());
|
||||
|
||||
// Default to pattern ISel
|
||||
if (PatternISelTriState == 0)
|
||||
PM.add(createX86SimpleInstructionSelector(*this));
|
||||
else
|
||||
PM.add(createX86PatternInstructionSelector(*this));
|
||||
// Install an instruction selector.
|
||||
PM.add(createX86PatternInstructionSelector(*this));
|
||||
|
||||
// Run optional SSA-based machine code optimizations next...
|
||||
if (!NoSSAPeephole)
|
||||
@ -191,11 +188,8 @@ void X86JITInfo::addPassesToJITCompile(FunctionPassManager &PM) {
|
||||
// Make sure that no unreachable blocks are instruction selected.
|
||||
PM.add(createUnreachableBlockEliminationPass());
|
||||
|
||||
// Default to pattern ISel
|
||||
if (PatternISelTriState == 0)
|
||||
PM.add(createX86SimpleInstructionSelector(TM));
|
||||
else
|
||||
PM.add(createX86PatternInstructionSelector(TM));
|
||||
// Install an instruction selector.
|
||||
PM.add(createX86PatternInstructionSelector(TM));
|
||||
|
||||
// Run optional SSA-based machine code optimizations next...
|
||||
if (!NoSSAPeephole)
|
||||
|
Loading…
Reference in New Issue
Block a user