mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-30 23:21:04 +00:00
* Add #includes that were yanked out of header files
* Convert over to valueset interface that uses insert & erase insead of add and remove * the -> operator really isn't that hard to use! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1687 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
387092e09c
commit
1164632c7e
@ -1,6 +1,7 @@
|
||||
#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
|
||||
@ -123,8 +124,8 @@ void BBLiveVar::calcDefUseSets()
|
||||
//-----------------------------------------------------------------------------
|
||||
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) {
|
||||
@ -138,8 +139,8 @@ void BBLiveVar::addDef(const Value *Op)
|
||||
//-----------------------------------------------------------------------------
|
||||
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
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
|
||||
#include "llvm/CodeGen/MachineInstr.h"
|
||||
#include "llvm/BasicBlock.h"
|
||||
#include "Support/PostOrderIterator.h"
|
||||
#include <iostream>
|
||||
using std::cout;
|
||||
|
@ -12,13 +12,13 @@
|
||||
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));
|
||||
}
|
||||
|
||||
|
||||
@ -26,12 +26,12 @@ void LiveVarSet::applyTranferFuncForMInst(const MachineInstr *MInst) {
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +1,16 @@
|
||||
|
||||
#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
|
||||
@ -20,15 +20,14 @@ void printValue( const Value *const v) // func to print a Value
|
||||
|
||||
//---------------- 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;
|
||||
|
@ -1,6 +1,7 @@
|
||||
#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
|
||||
@ -123,8 +124,8 @@ void BBLiveVar::calcDefUseSets()
|
||||
//-----------------------------------------------------------------------------
|
||||
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) {
|
||||
@ -138,8 +139,8 @@ void BBLiveVar::addDef(const Value *Op)
|
||||
//-----------------------------------------------------------------------------
|
||||
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
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
|
||||
#include "llvm/CodeGen/MachineInstr.h"
|
||||
#include "llvm/BasicBlock.h"
|
||||
#include "Support/PostOrderIterator.h"
|
||||
#include <iostream>
|
||||
using std::cout;
|
||||
|
@ -12,13 +12,13 @@
|
||||
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));
|
||||
}
|
||||
|
||||
|
||||
@ -26,12 +26,12 @@ void LiveVarSet::applyTranferFuncForMInst(const MachineInstr *MInst) {
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +1,16 @@
|
||||
|
||||
#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
|
||||
@ -20,15 +20,14 @@ void printValue( const Value *const v) // func to print a Value
|
||||
|
||||
//---------------- 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;
|
||||
|
Loading…
Reference in New Issue
Block a user