diff options
author | Chris Lattner <sabre@nondot.org> | 2006-04-20 17:15:44 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-04-20 17:15:44 +0000 |
commit | 2706983c48d001b042896c4302c19a197b802fb6 (patch) | |
tree | 8fc153e045970f846d25e06dbfb6656ee2ee20e0 /lib/Target/SparcV9/LiveVar/BBLiveVar.h | |
parent | 43c40ffa41e4a9f96fb8b47a3e7c0c42c5421fa6 (diff) | |
download | llvm-2706983c48d001b042896c4302c19a197b802fb6.tar.gz llvm-2706983c48d001b042896c4302c19a197b802fb6.tar.bz2 llvm-2706983c48d001b042896c4302c19a197b802fb6.tar.xz |
This target is no longer built. The ,v files now live in the reoptimizer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27885 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SparcV9/LiveVar/BBLiveVar.h')
-rw-r--r-- | lib/Target/SparcV9/LiveVar/BBLiveVar.h | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/lib/Target/SparcV9/LiveVar/BBLiveVar.h b/lib/Target/SparcV9/LiveVar/BBLiveVar.h deleted file mode 100644 index f33a6768b5..0000000000 --- a/lib/Target/SparcV9/LiveVar/BBLiveVar.h +++ /dev/null @@ -1,90 +0,0 @@ -//===-- BBLiveVar.h - Live Variable Analysis for a BasicBlock ---*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This is a BasicBlock annotation class that is used by live var analysis to -// hold data flow information for a basic block. -// -//===----------------------------------------------------------------------===// - -#ifndef LIVE_VAR_BB_H -#define LIVE_VAR_BB_H - -#include "llvm/CodeGen/ValueSet.h" -#include "llvm/ADT/hash_map" - -namespace llvm { - -class BasicBlock; -class Value; -class MachineBasicBlock; - -enum LiveVarDebugLevel_t { - LV_DEBUG_None, - LV_DEBUG_Normal, - LV_DEBUG_Instr, - LV_DEBUG_Verbose -}; - -extern LiveVarDebugLevel_t DEBUG_LV; - -class BBLiveVar { - const BasicBlock &BB; // pointer to BasicBlock - const MachineBasicBlock &MBB; // Pointer to MachineBasicBlock - unsigned POID; // Post-Order ID - - ValueSet DefSet; // Def set (with no preceding uses) for LV analysis - ValueSet InSet, OutSet; // In & Out for LV analysis - bool InSetChanged, OutSetChanged; // set if the InSet/OutSet is modified - - // map that contains PredBB -> Phi arguments - // coming in on that edge. such uses have to be - // treated differently from ordinary uses. - hash_map<const BasicBlock *, ValueSet> PredToEdgeInSetMap; - - // method to propagate an InSet to OutSet of a predecessor - bool setPropagate(ValueSet *OutSetOfPred, - const ValueSet *InSetOfThisBB, - const BasicBlock *PredBB); - - // To add an operand which is a def - void addDef(const Value *Op); - - // To add an operand which is a use - void addUse(const Value *Op); - - void calcDefUseSets(); // calculates the Def & Use sets for this BB -public: - - BBLiveVar(const BasicBlock &BB, const MachineBasicBlock &MBB, unsigned POID); - - inline bool isInSetChanged() const { return InSetChanged; } - inline bool isOutSetChanged() const { return OutSetChanged; } - - const MachineBasicBlock &getMachineBasicBlock() const { return MBB; } - - inline unsigned getPOId() const { return POID; } - - bool applyTransferFunc(); // calcultes the In in terms of Out - - // calculates Out set using In sets of the predecessors - bool applyFlowFunc(hash_map<const BasicBlock*, BBLiveVar*> &BBLiveVarInfo); - - inline const ValueSet &getOutSet() const { return OutSet; } - inline ValueSet &getOutSet() { return OutSet; } - - inline const ValueSet &getInSet() const { return InSet; } - inline ValueSet &getInSet() { return InSet; } - - void printAllSets() const; // for printing Def/In/Out sets - void printInOutSets() const; // for printing In/Out sets -}; - -} // End llvm namespace - -#endif |