summaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2014-06-26 23:39:52 +0000
committerJuergen Ributzka <juergen@apple.com>2014-06-26 23:39:52 +0000
commitb1b6d10d0934cade4af6ac8ea9ad37ade7d2fcfd (patch)
tree5c7338e308df6b2b08d674b303deb339c753a9a8 /lib/CodeGen
parent307a6447e5eb143c480646ab9ae61f0aaafcdd18 (diff)
downloadllvm-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.cpp7
-rw-r--r--lib/CodeGen/StackMapLivenessAnalysis.cpp11
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;