From 307a6447e5eb143c480646ab9ae61f0aaafcdd18 Mon Sep 17 00:00:00 2001 From: Juergen Ributzka Date: Thu, 26 Jun 2014 23:39:44 +0000 Subject: [Stackmaps] Remove the liveness calculation for stackmap intrinsics. There is no need to calculate the liveness information for stackmaps. The liveness information is still available for the patchpoint intrinsic and that is also the intended usage model. Related to git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211816 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/Passes.cpp | 3 +-- lib/CodeGen/StackMapLivenessAnalysis.cpp | 13 ++++--------- 2 files changed, 5 insertions(+), 11 deletions(-) (limited to 'lib') diff --git a/lib/CodeGen/Passes.cpp b/lib/CodeGen/Passes.cpp index 9568e238a2..bdcde102da 100644 --- a/lib/CodeGen/Passes.cpp +++ b/lib/CodeGen/Passes.cpp @@ -31,7 +31,6 @@ using namespace llvm; namespace llvm { -extern cl::opt EnableStackMapLiveness; extern cl::opt EnablePatchPointLiveness; } @@ -566,7 +565,7 @@ void TargetPassConfig::addMachinePasses() { if (addPreEmitPass()) printAndVerify("After PreEmit passes"); - if (EnableStackMapLiveness || EnablePatchPointLiveness) + if (EnablePatchPointLiveness) addPass(&StackMapLivenessID); } diff --git a/lib/CodeGen/StackMapLivenessAnalysis.cpp b/lib/CodeGen/StackMapLivenessAnalysis.cpp index 4dd87ddb88..16a1babd4d 100644 --- a/lib/CodeGen/StackMapLivenessAnalysis.cpp +++ b/lib/CodeGen/StackMapLivenessAnalysis.cpp @@ -28,8 +28,6 @@ using namespace llvm; #define DEBUG_TYPE "stackmaps" namespace llvm { -cl::opt EnableStackMapLiveness("enable-stackmap-liveness", - cl::Hidden, cl::desc("Enable StackMap Liveness Analysis Pass")); cl::opt EnablePatchPointLiveness("enable-patchpoint-liveness", cl::Hidden, cl::desc("Enable PatchPoint Liveness Analysis Pass")); } @@ -68,9 +66,8 @@ bool StackMapLiveness::runOnMachineFunction(MachineFunction &_MF) { TRI = MF->getTarget().getRegisterInfo(); ++NumStackMapFuncVisited; - // Skip this function if there are no stackmaps or patchpoints to process. - if (!((MF->getFrameInfo()->hasStackMap() && EnableStackMapLiveness) || - (MF->getFrameInfo()->hasPatchPoint() && EnablePatchPointLiveness))) { + // Skip this function if there are no patchpoints to process. + if (!(MF->getFrameInfo()->hasPatchPoint() && EnablePatchPointLiveness)) { ++NumStackMapFuncSkipped; return false; } @@ -88,13 +85,11 @@ bool StackMapLiveness::calculateLiveness() { LiveRegs.addLiveOuts(MBBI); bool HasStackMap = false; // Reverse iterate over all instructions and add the current live register - // set to an instruction if we encounter a stackmap or patchpoint - // instruction. + // 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 ((EnableStackMapLiveness && (Opc == TargetOpcode::STACKMAP)) || - (EnablePatchPointLiveness && (Opc == TargetOpcode::PATCHPOINT))) { + if (Opc == TargetOpcode::PATCHPOINT) { addLiveOutSetToMI(*I); HasChanged = true; HasStackMap = true; -- cgit v1.2.3