From 7883c4d5ae5264190263272cc39d0ddf3685579e Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Fri, 29 Nov 2013 06:35:30 +0000 Subject: [PATCH] Teach LocalStackSlotAllocation that stackmaps/patchpoints don't have range constraints on their frame offsets. llvm-svn: 195950 --- lib/CodeGen/LocalStackSlotAllocation.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/CodeGen/LocalStackSlotAllocation.cpp b/lib/CodeGen/LocalStackSlotAllocation.cpp index 26a117652b0..80a6da0f93b 100644 --- a/lib/CodeGen/LocalStackSlotAllocation.cpp +++ b/lib/CodeGen/LocalStackSlotAllocation.cpp @@ -233,9 +233,11 @@ bool LocalStackSlotPass::insertFrameReferenceRegisters(MachineFunction &Fn) { 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