summaryrefslogtreecommitdiff
path: root/lib/Target/SparcV9/LiveVar/BBLiveVar.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-20 17:15:44 +0000
committerChris Lattner <sabre@nondot.org>2006-04-20 17:15:44 +0000
commit2706983c48d001b042896c4302c19a197b802fb6 (patch)
tree8fc153e045970f846d25e06dbfb6656ee2ee20e0 /lib/Target/SparcV9/LiveVar/BBLiveVar.h
parent43c40ffa41e4a9f96fb8b47a3e7c0c42c5421fa6 (diff)
downloadllvm-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.h90
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