Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
Show First 20 Lines • Show All 117 Lines • ▼ Show 20 Lines | #endif | ||||
initializePPCBSelPass(PR); | initializePPCBSelPass(PR); | ||||
initializePPCBranchCoalescingPass(PR); | initializePPCBranchCoalescingPass(PR); | ||||
initializePPCBoolRetToIntPass(PR); | initializePPCBoolRetToIntPass(PR); | ||||
initializePPCExpandISELPass(PR); | initializePPCExpandISELPass(PR); | ||||
initializePPCPreEmitPeepholePass(PR); | initializePPCPreEmitPeepholePass(PR); | ||||
initializePPCTLSDynamicCallPass(PR); | initializePPCTLSDynamicCallPass(PR); | ||||
initializePPCMIPeepholePass(PR); | initializePPCMIPeepholePass(PR); | ||||
initializePPCLowerMASSVEntriesPass(PR); | initializePPCLowerMASSVEntriesPass(PR); | ||||
initializePPCExpandAtomicPseudoPass(PR); | |||||
initializeGlobalISel(PR); | initializeGlobalISel(PR); | ||||
} | } | ||||
static bool isLittleEndianTriple(const Triple &T) { | static bool isLittleEndianTriple(const Triple &T) { | ||||
return T.getArch() == Triple::ppc64le || T.getArch() == Triple::ppcle; | return T.getArch() == Triple::ppc64le || T.getArch() == Triple::ppcle; | ||||
} | } | ||||
/// Return the datalayout string of a subtarget. | /// Return the datalayout string of a subtarget. | ||||
▲ Show 20 Lines • Show All 400 Lines • ▼ Show 20 Lines | void PPCPassConfig::addPreEmitPass() { | ||||
addPass(createPPCPreEmitPeepholePass()); | addPass(createPPCPreEmitPeepholePass()); | ||||
addPass(createPPCExpandISELPass()); | addPass(createPPCExpandISELPass()); | ||||
if (getOptLevel() != CodeGenOpt::None) | if (getOptLevel() != CodeGenOpt::None) | ||||
addPass(createPPCEarlyReturnPass()); | addPass(createPPCEarlyReturnPass()); | ||||
} | } | ||||
void PPCPassConfig::addPreEmitPass2() { | void PPCPassConfig::addPreEmitPass2() { | ||||
// Schedule the expansion of AMOs at the last possible moment, avoiding the | |||||
// possibility for other passes to break the requirements for forward | |||||
// progress in the LL/SC block. | |||||
addPass(createPPCExpandAtomicPseudoPass()); | |||||
// Must run branch selection immediately preceding the asm printer. | // Must run branch selection immediately preceding the asm printer. | ||||
addPass(createPPCBranchSelectionPass()); | addPass(createPPCBranchSelectionPass()); | ||||
} | } | ||||
TargetTransformInfo | TargetTransformInfo | ||||
PPCTargetMachine::getTargetTransformInfo(const Function &F) { | PPCTargetMachine::getTargetTransformInfo(const Function &F) { | ||||
return TargetTransformInfo(PPCTTIImpl(this, F)); | return TargetTransformInfo(PPCTTIImpl(this, F)); | ||||
} | } | ||||
Show All 37 Lines |