[llvm-commits] CVS: llvm/include/llvm/CodeGen/FunctionLiveVarInfo.h
Chris Lattner
lattner at cs.uiuc.edu
Tue Sep 30 13:06:02 PDT 2003
Changes in directory llvm/include/llvm/CodeGen:
FunctionLiveVarInfo.h updated: 1.28 -> 1.29
---
Log message:
Fix header file comment
---
Diffs of the changes:
Index: llvm/include/llvm/CodeGen/FunctionLiveVarInfo.h
diff -u llvm/include/llvm/CodeGen/FunctionLiveVarInfo.h:1.28 llvm/include/llvm/CodeGen/FunctionLiveVarInfo.h:1.29
--- llvm/include/llvm/CodeGen/FunctionLiveVarInfo.h:1.28 Tue Aug 12 18:39:08 2003
+++ llvm/include/llvm/CodeGen/FunctionLiveVarInfo.h Tue Sep 30 13:05:30 2003
@@ -1,62 +1,29 @@
-/* Title: FunctionLiveVarInfo.h -*- C++ -*-
- Author: Ruchira Sasanka
- Date: Jun 30, 01
- Purpose:
-
- This is the interface for live variable info of a function that is required
- by any other part of the compiler
-
- It must be called like:
-
- FunctionLiveVarInfo FLVI(Function *); // initializes data structures
- FLVI.analyze(); // do the actural live variable anal
-
- After the analysis, getInSetOfBB or getOutSetofBB can be called to get
- live var info of a BB.
-
- The live var set before an instruction can be obtained in 2 ways:
-
- 1. Use the method getLiveVarSetAfterInst(Instruction *) to get the LV Info
- just after an instruction. (also exists getLiveVarSetBeforeInst(..))
-
- This function caluclates the LV info for a BB only once and caches that
- info. If the cache does not contain the LV info of the instruction, it
- calculates the LV info for the whole BB and caches them.
-
- Getting liveVar info this way uses more memory since, LV info should be
- cached. However, if you need LV info of nearly all the instructions of a
- BB, this is the best and simplest interfrace.
-
-
- 2. Use the OutSet and applyTranferFuncForInst(const Instruction *const Inst)
- declared in LiveVarSet and traverse the instructions of a basic block in
- reverse (using const_reverse_iterator in the BB class).
-
- This is the most memory efficient method if you need LV info for
- only several instructions in a BasicBlock. An example is given below:
-
-
- LiveVarSet LVSet; // this will be the set used to traverse through each BB
-
- // Initialize LVSet so that it is the same as OutSet of the BB
- LVSet.setUnion( LVI->getOutSetOfBB( *BBI ) );
-
- BasicBlock::InstListType::const_reverse_iterator
- InstIterator = InstListInBB.rbegin(); // get the rev iter for inst in BB
-
- // iterate over all the instructions in BB in reverse
- for( ; InstIterator != InstListInBB.rend(); InstIterator++) {
-
- //...... all code here which uses LVSet ........
-
- LVSet.applyTranferFuncForInst(*InstIterator);
-
- // Now LVSet contains live vars ABOVE the current instrution
- }
-
- See buildInterferenceGraph() for the above example.
-*/
-
+//===-- CodeGen/FunctionLiveVarInfo.h - LiveVar Analysis --------*- C++ -*-===//
+//
+// This is the interface for live variable info of a function that is required
+// by any other part of the compiler
+//
+// After the analysis, getInSetOfBB or getOutSetofBB can be called to get
+// live var info of a BB.
+//
+// The live var set before an instruction can be obtained in 2 ways:
+//
+// 1. Use the method getLiveVarSetAfterInst(Instruction *) to get the LV Info
+// just after an instruction. (also exists getLiveVarSetBeforeInst(..))
+//
+// This function caluclates the LV info for a BB only once and caches that
+// info. If the cache does not contain the LV info of the instruction, it
+// calculates the LV info for the whole BB and caches them.
+//
+// Getting liveVar info this way uses more memory since, LV info should be
+// cached. However, if you need LV info of nearly all the instructions of a
+// BB, this is the best and simplest interfrace.
+//
+// 2. Use the OutSet and applyTranferFuncForInst(const Instruction *const Inst)
+// declared in LiveVarSet and traverse the instructions of a basic block in
+// reverse (using const_reverse_iterator in the BB class).
+//
+//===----------------------------------------------------------------------===//
#ifndef FUNCTION_LIVE_VAR_INFO_H
#define FUNCTION_LIVE_VAR_INFO_H
More information about the llvm-commits
mailing list