mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
Change the PassManager from a reference to a pointer.
The TargetPassManager's default constructor wants to initialize the PassManager to 'null'. But it's illegal to bind a null reference to a null l-value. Make the ivar a pointer instead. PR12468 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155902 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -145,34 +145,34 @@ TargetPassConfig *X86TargetMachine::createPassConfig(PassManagerBase &PM) {
|
||||
|
||||
bool X86PassConfig::addInstSelector() {
|
||||
// Install an instruction selector.
|
||||
PM.add(createX86ISelDag(getX86TargetMachine(), getOptLevel()));
|
||||
PM->add(createX86ISelDag(getX86TargetMachine(), getOptLevel()));
|
||||
|
||||
// For 32-bit, prepend instructions to set the "global base reg" for PIC.
|
||||
if (!getX86Subtarget().is64Bit())
|
||||
PM.add(createGlobalBaseRegPass());
|
||||
PM->add(createGlobalBaseRegPass());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool X86PassConfig::addPreRegAlloc() {
|
||||
PM.add(createX86MaxStackAlignmentHeuristicPass());
|
||||
PM->add(createX86MaxStackAlignmentHeuristicPass());
|
||||
return false; // -print-machineinstr shouldn't print after this.
|
||||
}
|
||||
|
||||
bool X86PassConfig::addPostRegAlloc() {
|
||||
PM.add(createX86FloatingPointStackifierPass());
|
||||
PM->add(createX86FloatingPointStackifierPass());
|
||||
return true; // -print-machineinstr should print after this.
|
||||
}
|
||||
|
||||
bool X86PassConfig::addPreEmitPass() {
|
||||
bool ShouldPrint = false;
|
||||
if (getOptLevel() != CodeGenOpt::None && getX86Subtarget().hasSSE2()) {
|
||||
PM.add(createExecutionDependencyFixPass(&X86::VR128RegClass));
|
||||
PM->add(createExecutionDependencyFixPass(&X86::VR128RegClass));
|
||||
ShouldPrint = true;
|
||||
}
|
||||
|
||||
if (getX86Subtarget().hasAVX() && UseVZeroUpper) {
|
||||
PM.add(createX86IssueVZeroUpperPass());
|
||||
PM->add(createX86IssueVZeroUpperPass());
|
||||
ShouldPrint = true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user