diff options
author | Juergen Ributzka <juergen@apple.com> | 2014-06-26 23:39:52 +0000 |
---|---|---|
committer | Juergen Ributzka <juergen@apple.com> | 2014-06-26 23:39:52 +0000 |
commit | b1b6d10d0934cade4af6ac8ea9ad37ade7d2fcfd (patch) | |
tree | 5c7338e308df6b2b08d674b303deb339c753a9a8 /lib/CodeGen | |
parent | 307a6447e5eb143c480646ab9ae61f0aaafcdd18 (diff) | |
download | llvm-b1b6d10d0934cade4af6ac8ea9ad37ade7d2fcfd.tar.gz llvm-b1b6d10d0934cade4af6ac8ea9ad37ade7d2fcfd.tar.bz2 llvm-b1b6d10d0934cade4af6ac8ea9ad37ade7d2fcfd.tar.xz |
[StackMaps] Enable patchpoint liveness analysis per default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211817 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/Passes.cpp | 7 | ||||
-rw-r--r-- | lib/CodeGen/StackMapLivenessAnalysis.cpp | 11 |
2 files changed, 8 insertions, 10 deletions
diff --git a/lib/CodeGen/Passes.cpp b/lib/CodeGen/Passes.cpp index bdcde102da..4eec623e07 100644 --- a/lib/CodeGen/Passes.cpp +++ b/lib/CodeGen/Passes.cpp @@ -30,10 +30,6 @@ using namespace llvm; -namespace llvm { -extern cl::opt<bool> EnablePatchPointLiveness; -} - static cl::opt<bool> DisablePostRA("disable-post-ra", cl::Hidden, cl::desc("Disable Post Regalloc")); static cl::opt<bool> DisableBranchFold("disable-branch-fold", cl::Hidden, @@ -565,8 +561,7 @@ void TargetPassConfig::addMachinePasses() { if (addPreEmitPass()) printAndVerify("After PreEmit passes"); - if (EnablePatchPointLiveness) - addPass(&StackMapLivenessID); + addPass(&StackMapLivenessID); } /// Add passes that optimize machine instructions in SSA form. diff --git a/lib/CodeGen/StackMapLivenessAnalysis.cpp b/lib/CodeGen/StackMapLivenessAnalysis.cpp index 16a1babd4d..3ba502fff6 100644 --- a/lib/CodeGen/StackMapLivenessAnalysis.cpp +++ b/lib/CodeGen/StackMapLivenessAnalysis.cpp @@ -29,7 +29,8 @@ using namespace llvm; namespace llvm { cl::opt<bool> EnablePatchPointLiveness("enable-patchpoint-liveness", - cl::Hidden, cl::desc("Enable PatchPoint Liveness Analysis Pass")); + cl::Hidden, cl::init(true), + cl::desc("Enable PatchPoint Liveness Analysis Pass")); } STATISTIC(NumStackMapFuncVisited, "Number of functions visited"); @@ -60,6 +61,9 @@ void StackMapLiveness::getAnalysisUsage(AnalysisUsage &AU) const { /// Calculate the liveness information for the given machine function. bool StackMapLiveness::runOnMachineFunction(MachineFunction &_MF) { + if (!EnablePatchPointLiveness) + return false; + DEBUG(dbgs() << "********** COMPUTING STACKMAP LIVENESS: " << _MF.getName() << " **********\n"); MF = &_MF; @@ -67,7 +71,7 @@ bool StackMapLiveness::runOnMachineFunction(MachineFunction &_MF) { ++NumStackMapFuncVisited; // Skip this function if there are no patchpoints to process. - if (!(MF->getFrameInfo()->hasPatchPoint() && EnablePatchPointLiveness)) { + if (!MF->getFrameInfo()->hasPatchPoint()) { ++NumStackMapFuncSkipped; return false; } @@ -88,8 +92,7 @@ bool StackMapLiveness::calculateLiveness() { // set to an instruction if we encounter a patchpoint instruction. for (MachineBasicBlock::reverse_iterator I = MBBI->rbegin(), E = MBBI->rend(); I != E; ++I) { - int Opc = I->getOpcode(); - if (Opc == TargetOpcode::PATCHPOINT) { + if (I->getOpcode() == TargetOpcode::PATCHPOINT) { addLiveOutSetToMI(*I); HasChanged = true; HasStackMap = true; |