diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-07-19 18:41:20 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-07-19 18:41:20 +0000 |
| commit | a58a7e7f9eae17a2019073a833eb9c49109a140a (patch) | |
| tree | 12ec9f7ae264f4be9e49d78ce0b99516b76ffe0d /llvm/lib/CodeGen/InlineSpiller.cpp | |
| parent | d4e389441d42b14019bff3252fde99e6cd0b9d98 (diff) | |
| download | bcm5719-llvm-a58a7e7f9eae17a2019073a833eb9c49109a140a.tar.gz bcm5719-llvm-a58a7e7f9eae17a2019073a833eb9c49109a140a.zip | |
Spillers may alter MachineLoopInfo when breaking critical edges, so make it
non-const.
llvm-svn: 108734
Diffstat (limited to 'llvm/lib/CodeGen/InlineSpiller.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/InlineSpiller.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/InlineSpiller.cpp b/llvm/lib/CodeGen/InlineSpiller.cpp index 12adcaa3a22..3c6c761b384 100644 --- a/llvm/lib/CodeGen/InlineSpiller.cpp +++ b/llvm/lib/CodeGen/InlineSpiller.cpp @@ -18,6 +18,7 @@ #include "llvm/CodeGen/LiveIntervalAnalysis.h" #include "llvm/CodeGen/MachineFrameInfo.h" #include "llvm/CodeGen/MachineFunction.h" +#include "llvm/CodeGen/MachineLoopInfo.h" #include "llvm/CodeGen/MachineRegisterInfo.h" #include "llvm/Target/TargetMachine.h" #include "llvm/Target/TargetInstrInfo.h" @@ -30,6 +31,7 @@ namespace { class InlineSpiller : public Spiller { MachineFunction &mf_; LiveIntervals &lis_; + MachineLoopInfo &loops_; VirtRegMap &vrm_; MachineFrameInfo &mfi_; MachineRegisterInfo &mri_; @@ -53,8 +55,9 @@ class InlineSpiller : public Spiller { ~InlineSpiller() {} public: - InlineSpiller(MachineFunction *mf, LiveIntervals *lis, VirtRegMap *vrm) - : mf_(*mf), lis_(*lis), vrm_(*vrm), + InlineSpiller(MachineFunction *mf, LiveIntervals *lis, MachineLoopInfo *mli, + VirtRegMap *vrm) + : mf_(*mf), lis_(*lis), loops_(*mli), vrm_(*vrm), mfi_(*mf->getFrameInfo()), mri_(mf->getRegInfo()), tii_(*mf->getTarget().getInstrInfo()), @@ -82,9 +85,9 @@ private: namespace llvm { Spiller *createInlineSpiller(MachineFunction *mf, LiveIntervals *lis, - const MachineLoopInfo *mli, + MachineLoopInfo *mli, VirtRegMap *vrm) { - return new InlineSpiller(mf, lis, vrm); + return new InlineSpiller(mf, lis, mli, vrm); } } |

