diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-03-16 22:56:11 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-03-16 22:56:11 +0000 |
| commit | e29d63e98abb3feb8479940fea9432ac74011779 (patch) | |
| tree | 2108b1f615dc22197cbcd66bb9d9eb79b517cd4b /llvm/lib/CodeGen/RegAllocBasic.cpp | |
| parent | 557a82c099283c6afd35a047da0ae4dac742e517 (diff) | |
| download | llvm-e29d63e98abb3feb8479940fea9432ac74011779.zip llvm-e29d63e98abb3feb8479940fea9432ac74011779.tar.gz llvm-e29d63e98abb3feb8479940fea9432ac74011779.tar.bz2 | |
Tag cached interference with a user-provided tag instead of the virtual register number.
The live range of a virtual register may change which invalidates the cached
interference information.
llvm-svn: 127772
Diffstat (limited to 'llvm/lib/CodeGen/RegAllocBasic.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/RegAllocBasic.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/RegAllocBasic.cpp b/llvm/lib/CodeGen/RegAllocBasic.cpp index d51be52..ce92f3d 100644 --- a/llvm/lib/CodeGen/RegAllocBasic.cpp +++ b/llvm/lib/CodeGen/RegAllocBasic.cpp @@ -296,6 +296,9 @@ void RegAllocBase::allocatePhysRegs() { continue; } + // Invalidate all interference queries, live ranges could have changed. + ++UserTag; + // selectOrSplit requests the allocator to return an available physical // register if possible and populate a list of new live intervals that // result from splitting. |
