[llvm-commits] CVS: llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h LiveVariables.h
Evan Cheng
evan.cheng at apple.com
Wed Feb 14 21:57:32 PST 2007
Changes in directory llvm/include/llvm/CodeGen:
LiveIntervalAnalysis.h updated: 1.67 -> 1.68
LiveVariables.h updated: 1.31 -> 1.32
---
Log message:
Use BitVector instead of vector<bool> which can be extremely slow.
---
Diffs of the changes: (+5 -3)
LiveIntervalAnalysis.h | 3 ++-
LiveVariables.h | 5 +++--
2 files changed, 5 insertions(+), 3 deletions(-)
Index: llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h
diff -u llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.67 llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.68
--- llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.67 Wed Jan 31 23:32:05 2007
+++ llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h Wed Feb 14 23:57:14 2007
@@ -22,6 +22,7 @@
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/LiveInterval.h"
+#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/IndexedMap.h"
namespace llvm {
@@ -54,7 +55,7 @@
typedef IndexedMap<unsigned> Reg2RegMap;
Reg2RegMap r2rMap_;
- std::vector<bool> allocatableRegs_;
+ BitVector allocatableRegs_;
public:
struct CopyRec {
Index: llvm/include/llvm/CodeGen/LiveVariables.h
diff -u llvm/include/llvm/CodeGen/LiveVariables.h:1.31 llvm/include/llvm/CodeGen/LiveVariables.h:1.32
--- llvm/include/llvm/CodeGen/LiveVariables.h:1.31 Wed Nov 15 14:47:31 2006
+++ llvm/include/llvm/CodeGen/LiveVariables.h Wed Feb 14 23:57:14 2007
@@ -30,6 +30,7 @@
#define LLVM_CODEGEN_LIVEVARIABLES_H
#include "llvm/CodeGen/MachineFunctionPass.h"
+#include "llvm/ADT/BitVector.h"
#include <map>
namespace llvm {
@@ -75,7 +76,7 @@
/// through. This is a bit set which uses the basic block number as an
/// index.
///
- std::vector<bool> AliveBlocks;
+ BitVector AliveBlocks;
/// Kills - List of MachineInstruction's which are the last use of this
/// virtual register (kill it) in their basic block.
@@ -111,7 +112,7 @@
/// are actually register allocatable by the target machine. We can not track
/// liveness for values that are not in this set.
///
- std::vector<bool> AllocatablePhysicalRegisters;
+ BitVector AllocatablePhysicalRegisters;
private: // Intermediate data structures
const MRegisterInfo *RegInfo;
More information about the llvm-commits
mailing list