1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00

Remove CLocalVars data structure entirely, instead of building stuff and

then printing it out, just print as we go.

llvm-svn: 2585
This commit is contained in:
Chris Lattner 2002-05-09 20:39:03 +00:00
parent 5ed180c1bd
commit 3fd3c03371

View File

@ -8,7 +8,6 @@
//===-----------------------------------------------------------------------==//
#include "llvm/Assembly/CWriter.h"
#include "CLocalVars.h"
#include "llvm/SlotCalculator.h"
#include "llvm/Constants.h"
#include "llvm/DerivedTypes.h"
@ -32,21 +31,8 @@
#include <strstream>
using std::string;
using std::map;
using std::vector;
using std::ostream;
//===-----------------------------------------------------------------------==//
//
// Implementation of the CLocalVars methods
// Appends a variable to the LocalVars map if it does not already exist
// Also check that the type exists on the map.
void CLocalVars::addLocalVar(const Type *t, const string &V) {
if (!LocalVars.count(t) ||
find(LocalVars[t].begin(), LocalVars[t].end(), V) == LocalVars[t].end())
LocalVars[t].push_back(V);
}
static std::string getConstStrValue(const Constant* CPV);
@ -746,22 +732,11 @@ void CWriter::printFunction(Function *F) {
printFunctionSignature(F);
Out << " {\n";
// Process each of the basic blocks, gather information and call the
// output methods on the CLocalVars and Function* objects.
// gather local variable information for each basic block
CLocalVars CLV;
// print local variable information for the function
for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I)
if ((*I)->getType() != Type::VoidTy)
CLV.addLocalVar((*I)->getType(), getValueName(*I));
// print the local variables
for (map<const Type*, VarListType>::iterator I = CLV.LocalVars.begin(),
E = CLV.LocalVars.end(); I != E; ++I)
for (VarListType::iterator TI = I->second.begin(), E = I->second.end();
TI != E; ++TI) {
if ((*I)->getType() != Type::VoidTy) {
Out << " ";
printTypeVar(I->first, *TI);
printTypeVar((*I)->getType(), getValueName(*I));
Out << ";\n";
}