#include "llvm/Analysis/LiveVar/BBLiveVar.h"
#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
#include "llvm/CodeGen/MachineInstr.h"
+#include "llvm/BasicBlock.h"
/// BROKEN: Should not include sparc stuff directly into here
#include "../../Target/Sparc/SparcInternals.h" // Only for PHI defn
//-----------------------------------------------------------------------------
void BBLiveVar::addDef(const Value *Op)
{
- DefSet.add( Op ); // operand is a def - so add to def set
- InSet.remove( Op); // this definition kills any uses
+ DefSet.insert(Op); // operand is a def - so add to def set
+ InSet.erase(Op); // this definition kills any uses
InSetChanged = true;
if( DEBUG_LV > 1) {
//-----------------------------------------------------------------------------
void BBLiveVar::addUse(const Value *Op)
{
- InSet.add( Op ); // An operand is a use - so add to use set
- OutSet.remove( Op ); // remove if there is a def below this use
+ InSet.insert(Op); // An operand is a use - so add to use set
+ OutSet.erase(Op); // remove if there is a def below this use
InSetChanged = true;
if( DEBUG_LV > 1) { // debug msg of level 2
#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
#include "llvm/CodeGen/MachineInstr.h"
+#include "llvm/BasicBlock.h"
#include "Support/PostOrderIterator.h"
#include <iostream>
using std::cout;
void LiveVarSet::applyTranferFuncForMInst(const MachineInstr *MInst) {
for (MachineInstr::val_const_op_iterator OpI(MInst); !OpI.done(); ++OpI) {
if (OpI.isDef()) // kill only if this operand is a def
- remove(*OpI); // this definition kills any uses
+ insert(*OpI); // this definition kills any uses
}
// do for implicit operands as well
for ( unsigned i=0; i < MInst->getNumImplicitRefs(); ++i) {
if (MInst->implicitRefIsDefined(i))
- remove(MInst->getImplicitRef(i));
+ erase(MInst->getImplicitRef(i));
}
if ((*OpI)->getType()->isLabelType()) continue; // don't process labels
if (!OpI.isDef()) // add only if this operand is a use
- add(*OpI); // An operand is a use - so add to use set
+ insert(*OpI); // An operand is a use - so add to use set
}
// do for implicit operands as well
for (unsigned i=0; i < MInst->getNumImplicitRefs(); ++i) {
if (!MInst->implicitRefIsDefined(i))
- add(MInst->getImplicitRef(i));
+ insert(MInst->getImplicitRef(i));
}
}
#include "llvm/Analysis/LiveVar/ValueSet.h"
#include "llvm/ConstantVals.h"
+#include <algorithm>
#include <iostream>
using std::cerr;
using std::endl;
using std::pair;
using std::hash_set;
-void printValue( const Value *const v) // func to print a Value
-{
+void printValue(const Value *v) { // func to print a Value
if (v->hasName())
- cerr << v << "(" << ((*v).getName()) << ") ";
+ cerr << v << "(" << v->getName() << ") ";
else if (Constant *C = dyn_cast<Constant>(v))
cerr << v << "(" << C->getStrValue() << ") ";
else
//---------------- Method implementations --------------------------
// for performing two set unions
-bool ValueSet::setUnion( const ValueSet *const set1) {
- const_iterator set1it;
+bool ValueSet::setUnion( const ValueSet *set1) {
pair<iterator, bool> result;
bool changed = false;
- for( set1it = set1->begin() ; set1it != set1->end(); ++set1it) {
+ for(const_iterator set1it = set1->begin() ; set1it != set1->end(); ++set1it) {
// for all all elements in set1
- result = insert( *set1it ); // insert to this set
- if( result.second == true) changed = true;
+ result = insert(*set1it); // insert to this set
+ if(result.second == true) changed = true;
}
return changed;
#include "llvm/Analysis/LiveVar/BBLiveVar.h"
#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
#include "llvm/CodeGen/MachineInstr.h"
+#include "llvm/BasicBlock.h"
/// BROKEN: Should not include sparc stuff directly into here
#include "../../Target/Sparc/SparcInternals.h" // Only for PHI defn
//-----------------------------------------------------------------------------
void BBLiveVar::addDef(const Value *Op)
{
- DefSet.add( Op ); // operand is a def - so add to def set
- InSet.remove( Op); // this definition kills any uses
+ DefSet.insert(Op); // operand is a def - so add to def set
+ InSet.erase(Op); // this definition kills any uses
InSetChanged = true;
if( DEBUG_LV > 1) {
//-----------------------------------------------------------------------------
void BBLiveVar::addUse(const Value *Op)
{
- InSet.add( Op ); // An operand is a use - so add to use set
- OutSet.remove( Op ); // remove if there is a def below this use
+ InSet.insert(Op); // An operand is a use - so add to use set
+ OutSet.erase(Op); // remove if there is a def below this use
InSetChanged = true;
if( DEBUG_LV > 1) { // debug msg of level 2
#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
#include "llvm/CodeGen/MachineInstr.h"
+#include "llvm/BasicBlock.h"
#include "Support/PostOrderIterator.h"
#include <iostream>
using std::cout;
void LiveVarSet::applyTranferFuncForMInst(const MachineInstr *MInst) {
for (MachineInstr::val_const_op_iterator OpI(MInst); !OpI.done(); ++OpI) {
if (OpI.isDef()) // kill only if this operand is a def
- remove(*OpI); // this definition kills any uses
+ insert(*OpI); // this definition kills any uses
}
// do for implicit operands as well
for ( unsigned i=0; i < MInst->getNumImplicitRefs(); ++i) {
if (MInst->implicitRefIsDefined(i))
- remove(MInst->getImplicitRef(i));
+ erase(MInst->getImplicitRef(i));
}
if ((*OpI)->getType()->isLabelType()) continue; // don't process labels
if (!OpI.isDef()) // add only if this operand is a use
- add(*OpI); // An operand is a use - so add to use set
+ insert(*OpI); // An operand is a use - so add to use set
}
// do for implicit operands as well
for (unsigned i=0; i < MInst->getNumImplicitRefs(); ++i) {
if (!MInst->implicitRefIsDefined(i))
- add(MInst->getImplicitRef(i));
+ insert(MInst->getImplicitRef(i));
}
}
#include "llvm/Analysis/LiveVar/ValueSet.h"
#include "llvm/ConstantVals.h"
+#include <algorithm>
#include <iostream>
using std::cerr;
using std::endl;
using std::pair;
using std::hash_set;
-void printValue( const Value *const v) // func to print a Value
-{
+void printValue(const Value *v) { // func to print a Value
if (v->hasName())
- cerr << v << "(" << ((*v).getName()) << ") ";
+ cerr << v << "(" << v->getName() << ") ";
else if (Constant *C = dyn_cast<Constant>(v))
cerr << v << "(" << C->getStrValue() << ") ";
else
//---------------- Method implementations --------------------------
// for performing two set unions
-bool ValueSet::setUnion( const ValueSet *const set1) {
- const_iterator set1it;
+bool ValueSet::setUnion( const ValueSet *set1) {
pair<iterator, bool> result;
bool changed = false;
- for( set1it = set1->begin() ; set1it != set1->end(); ++set1it) {
+ for(const_iterator set1it = set1->begin() ; set1it != set1->end(); ++set1it) {
// for all all elements in set1
- result = insert( *set1it ); // insert to this set
- if( result.second == true) changed = true;
+ result = insert(*set1it); // insert to this set
+ if(result.second == true) changed = true;
}
return changed;