diff options
author | Chris Lattner <sabre@nondot.org> | 2009-10-07 22:49:30 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-10-07 22:49:30 +0000 |
commit | bcd68c3cde6340d81b205a97d9855c55c131150b (patch) | |
tree | 9e97b1f2fc927c632fa91ec1b8e9370148ae64ce /include | |
parent | 1bf03f7398acced77fdf5dcc70543c47f550e956 (diff) | |
download | external_llvm-bcd68c3cde6340d81b205a97d9855c55c131150b.zip external_llvm-bcd68c3cde6340d81b205a97d9855c55c131150b.tar.gz external_llvm-bcd68c3cde6340d81b205a97d9855c55c131150b.tar.bz2 |
second half of lazy liveness removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83500 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/LazyLiveness.h | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/include/llvm/CodeGen/LazyLiveness.h b/include/llvm/CodeGen/LazyLiveness.h deleted file mode 100644 index 388b638..0000000 --- a/include/llvm/CodeGen/LazyLiveness.h +++ /dev/null @@ -1,64 +0,0 @@ -//===- LazyLiveness.h - Lazy, CFG-invariant liveness information ----------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This pass implements a lazy liveness analysis as per "Fast Liveness Checking -// for SSA-form Programs," by Boissinot, et al. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CODEGEN_LAZYLIVENESS_H -#define LLVM_CODEGEN_LAZYLIVENESS_H - -#include "llvm/CodeGen/MachineFunctionPass.h" -#include "llvm/CodeGen/MachineDominators.h" -#include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/DenseSet.h" -#include "llvm/ADT/SparseBitVector.h" -#include <vector> - -namespace llvm { - -class MachineRegisterInfo; - -class LazyLiveness : public MachineFunctionPass { -public: - static char ID; // Pass identification, replacement for typeid - LazyLiveness() : MachineFunctionPass(&ID) { } - - void getAnalysisUsage(AnalysisUsage &AU) const { - AU.setPreservesAll(); - AU.addRequired<MachineDominatorTree>(); - MachineFunctionPass::getAnalysisUsage(AU); - } - - bool runOnMachineFunction(MachineFunction &mf); - - bool vregLiveIntoMBB(unsigned vreg, MachineBasicBlock* MBB); - -private: - void computeBackedgeChain(MachineFunction& mf, MachineBasicBlock* MBB); - - typedef std::pair<MachineBasicBlock*, MachineBasicBlock*> edge_t; - - MachineRegisterInfo* MRI; - - DenseMap<MachineBasicBlock*, unsigned> preorder; - std::vector<MachineBasicBlock*> rev_preorder; - DenseMap<MachineBasicBlock*, SparseBitVector<128> > rv; - DenseMap<MachineBasicBlock*, SparseBitVector<128> > tv; - DenseSet<edge_t> backedges; - SparseBitVector<128> backedge_source; - SparseBitVector<128> backedge_target; - SparseBitVector<128> calculated; -}; - -} - -#endif - |