Use IntEqClasses to compute connected components of live intervals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122296 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen
2010-12-21 00:48:17 +00:00
parent 2a6899c539
commit b907e8a2d4
4 changed files with 20 additions and 56 deletions

View File

@ -21,7 +21,7 @@
#ifndef LLVM_CODEGEN_LIVEINTERVAL_H
#define LLVM_CODEGEN_LIVEINTERVAL_H
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/IntEqClasses.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/AlignOf.h"
#include "llvm/CodeGen/SlotIndexes.h"
@ -561,11 +561,7 @@ namespace llvm {
class ConnectedVNInfoEqClasses {
LiveIntervals &lis_;
// Map each value number to its equivalence class.
// The invariant is that EqClass[x] <= x.
// Two values are connected iff EqClass[x] == EqClass[b].
SmallVector<unsigned, 8> eqClass_;
IntEqClasses eqClass_;
// Note that values a and b are connected.
void Connect(unsigned a, unsigned b);