add a typedef, no other change.

llvm-svn: 40804
This commit is contained in:
Chris Lattner 2007-08-04 01:19:38 +00:00
parent df138be527
commit d524537fe9
1 changed files with 8 additions and 7 deletions

View File

@ -76,12 +76,14 @@ namespace {
// Data package used by RenamePass() // Data package used by RenamePass()
class VISIBILITY_HIDDEN RenamePassData { class VISIBILITY_HIDDEN RenamePassData {
public: public:
typedef std::vector<Value *> ValVector;
RenamePassData() {} RenamePassData() {}
RenamePassData(BasicBlock *B, BasicBlock *P, RenamePassData(BasicBlock *B, BasicBlock *P,
const std::vector<Value *> &V) : BB(B), Pred(P), Values(V) {} const ValVector &V) : BB(B), Pred(P), Values(V) {}
BasicBlock *BB; BasicBlock *BB;
BasicBlock *Pred; BasicBlock *Pred;
std::vector<Value *> Values; ValVector Values;
void swap(RenamePassData &RHS) { void swap(RenamePassData &RHS) {
std::swap(BB, RHS.BB); std::swap(BB, RHS.BB);
@ -158,7 +160,7 @@ namespace {
const std::vector<AllocaInst*> &AIs); const std::vector<AllocaInst*> &AIs);
void RenamePass(BasicBlock *BB, BasicBlock *Pred, void RenamePass(BasicBlock *BB, BasicBlock *Pred,
std::vector<Value*> &IncVals, RenamePassData::ValVector &IncVals,
std::vector<RenamePassData> &Worklist); std::vector<RenamePassData> &Worklist);
bool QueuePhiNode(BasicBlock *BB, unsigned AllocaIdx, unsigned &Version, bool QueuePhiNode(BasicBlock *BB, unsigned AllocaIdx, unsigned &Version,
SmallPtrSet<PHINode*, 16> &InsertedPHINodes); SmallPtrSet<PHINode*, 16> &InsertedPHINodes);
@ -402,17 +404,16 @@ void PromoteMem2Reg::run() {
// the alloca's. We do this in case there is a load of a value that has not // the alloca's. We do this in case there is a load of a value that has not
// been stored yet. In this case, it will get this null value. // been stored yet. In this case, it will get this null value.
// //
std::vector<Value *> Values(Allocas.size()); RenamePassData::ValVector Values(Allocas.size());
for (unsigned i = 0, e = Allocas.size(); i != e; ++i) for (unsigned i = 0, e = Allocas.size(); i != e; ++i)
Values[i] = UndefValue::get(Allocas[i]->getAllocatedType()); Values[i] = UndefValue::get(Allocas[i]->getAllocatedType());
// Walks all basic blocks in the function performing the SSA rename algorithm // Walks all basic blocks in the function performing the SSA rename algorithm
// and inserting the phi nodes we marked as necessary // and inserting the phi nodes we marked as necessary
// //
std::vector<RenamePassData> RenamePassWorkList; std::vector<RenamePassData> RenamePassWorkList;
RenamePassWorkList.push_back(RenamePassData(F.begin(), 0, Values)); RenamePassWorkList.push_back(RenamePassData(F.begin(), 0, Values));
while(!RenamePassWorkList.empty()) { while (!RenamePassWorkList.empty()) {
RenamePassData RPD; RenamePassData RPD;
RPD.swap(RenamePassWorkList.back()); RPD.swap(RenamePassWorkList.back());
RenamePassWorkList.pop_back(); RenamePassWorkList.pop_back();
@ -706,7 +707,7 @@ bool PromoteMem2Reg::QueuePhiNode(BasicBlock *BB, unsigned AllocaNo,
// value each Alloca contains on exit from the predecessor block Pred. // value each Alloca contains on exit from the predecessor block Pred.
// //
void PromoteMem2Reg::RenamePass(BasicBlock *BB, BasicBlock *Pred, void PromoteMem2Reg::RenamePass(BasicBlock *BB, BasicBlock *Pred,
std::vector<Value*> &IncomingVals, RenamePassData::ValVector &IncomingVals,
std::vector<RenamePassData> &Worklist) { std::vector<RenamePassData> &Worklist) {
// If we are inserting any phi nodes into this BB, they will already be in the // If we are inserting any phi nodes into this BB, they will already be in the
// block. // block.