diff options
| author | Lang Hames <lhames@gmail.com> | 2013-11-29 06:35:30 +0000 |
|---|---|---|
| committer | Lang Hames <lhames@gmail.com> | 2013-11-29 06:35:30 +0000 |
| commit | 7468daaddada52f1b90342977ddd7b9168cb2f5c (patch) | |
| tree | 77261d2dad1bd4d0cb4d8131a5526f8987794ac5 /llvm/lib/CodeGen/LocalStackSlotAllocation.cpp | |
| parent | 5a7162f36b924d68210e8d9e8c881ec483165a58 (diff) | |
| download | bcm5719-llvm-7468daaddada52f1b90342977ddd7b9168cb2f5c.tar.gz bcm5719-llvm-7468daaddada52f1b90342977ddd7b9168cb2f5c.zip | |
Teach LocalStackSlotAllocation that stackmaps/patchpoints don't have range
constraints on their frame offsets.
llvm-svn: 195950
Diffstat (limited to 'llvm/lib/CodeGen/LocalStackSlotAllocation.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/LocalStackSlotAllocation.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp b/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp index 26a117652b0..80a6da0f93b 100644 --- a/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp +++ b/llvm/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 |

