diff options
author | Juergen Ributzka <juergen@apple.com> | 2014-06-26 23:39:44 +0000 |
---|---|---|
committer | Juergen Ributzka <juergen@apple.com> | 2014-06-26 23:39:44 +0000 |
commit | 14871f73bb881c14546c1c7daf34123b5a79f82d (patch) | |
tree | 601976eea5cf6c3bdfe738836d35abb0d48b96c9 /llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp | |
parent | ad6324f78be6f74d67dea5d378c1ddb0d795bebe (diff) | |
download | llvm-14871f73bb881c14546c1c7daf34123b5a79f82d.zip llvm-14871f73bb881c14546c1c7daf34123b5a79f82d.tar.gz llvm-14871f73bb881c14546c1c7daf34123b5a79f82d.tar.bz2 |
[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 <rdar://problem/17473725>
llvm-svn: 211816
Diffstat (limited to 'llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp')
-rw-r--r-- | llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp b/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp index 4dd87dd..16a1bab 100644 --- a/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp +++ b/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp @@ -28,8 +28,6 @@ using namespace llvm; #define DEBUG_TYPE "stackmaps" namespace llvm { -cl::opt<bool> EnableStackMapLiveness("enable-stackmap-liveness", - cl::Hidden, cl::desc("Enable StackMap Liveness Analysis Pass")); cl::opt<bool> 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; |