[llvm] r195950 - Teach LocalStackSlotAllocation that stackmaps/patchpoints don't have range

Lang Hames lhames at gmail.com
Thu Nov 28 22:35:30 PST 2013


Author: lhames
Date: Fri Nov 29 00:35:30 2013
New Revision: 195950

URL: http://llvm.org/viewvc/llvm-project?rev=195950&view=rev
Log:
Teach LocalStackSlotAllocation that stackmaps/patchpoints don't have range
constraints on their frame offsets.

Modified:
    llvm/trunk/lib/CodeGen/LocalStackSlotAllocation.cpp

Modified: llvm/trunk/lib/CodeGen/LocalStackSlotAllocation.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LocalStackSlotAllocation.cpp?rev=195950&r1=195949&r2=195950&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/LocalStackSlotAllocation.cpp (original)
+++ llvm/trunk/lib/CodeGen/LocalStackSlotAllocation.cpp Fri Nov 29 00:35:30 2013
@@ -233,9 +233,11 @@ bool LocalStackSlotPass::insertFrameRefe
     for (MachineBasicBlock::iterator I = BB->begin(); I != BB->end(); ++I) {
       MachineInstr *MI = I;
 
-      // Debug value instructions can't be out of range, so they don't need
-      // any updates.
-      if (MI->isDebugValue())
+      // Debug value, stackmap and patchpoint instructions can't be out of
+      // range, so they don't need any updates.
+      if (MI->isDebugValue() ||
+          MI->getOpcode() == TargetOpcode::STACKMAP ||
+          MI->getOpcode() == TargetOpcode::PATCHPOINT)
         continue;
 
       // For now, allocate the base register(s) within the basic block





More information about the llvm-commits mailing list