Skip to content
Snippets Groups Projects
Commit 379494fb authored by Akash Kothari's avatar Akash Kothari
Browse files

Clean some code up in DFG2LLVM_NVPTX source

parent b5d2cc3d
No related branches found
No related tags found
No related merge requests found
......@@ -103,21 +103,21 @@ public:
std::vector<Value*> localWGSize;
std::vector<int> localDimMap;
std::map<unsigned, unsigned> getInArgMap() {
std::map<unsigned, unsigned> &getInArgMap() {
return inArgMap;
}
void setInArgMap(std::map<unsigned, unsigned> map) {
inArgMap = map;
}
std::map<unsigned, std::pair<Value*, unsigned> > getSharedInArgMap() {
std::map<unsigned, std::pair<Value*, unsigned> > &getSharedInArgMap() {
return sharedInArgMap;
}
void setSharedInArgMap(std::map<unsigned, std::pair<Value*, unsigned> > map) {
sharedInArgMap = map;
}
std::vector<unsigned> getOutArgMap() {
std::vector<unsigned> &getOutArgMap() {
return outArgMap;
}
void setOutArgMap(std::vector<unsigned> map) {
......@@ -128,7 +128,7 @@ public:
localWGSize = V;
}
bool hasLocalWG() {
bool hasLocalWG() const {
return blockDim != 0;
}
};
......@@ -210,37 +210,37 @@ public:
// Copying instead of creating new, in order to preserve required info (metadata)
// Remove functions, global variables and aliases
std::vector<GlobalVariable*> gvv = std::vector<GlobalVariable*>();
std::vector<GlobalVariable*> GVVect;
for (Module::global_iterator mi = KernelM->global_begin(),
me = KernelM->global_end(); (mi != me); ++mi) {
GlobalVariable* gv = &*mi;
gvv.push_back(gv);
GlobalVariable* GV = &*mi;
GVVect.push_back(GV);
}
for (std::vector<GlobalVariable*>::iterator vi = gvv.begin(); vi != gvv.end(); ++vi) {
(*vi)->replaceAllUsesWith(UndefValue::get((*vi)->getType()));
(*vi)->eraseFromParent();
for (auto *GV : GVVect) {
GV->replaceAllUsesWith(UndefValue::get(GV->getType()));
GV->eraseFromParent();
}
std::vector<Function*> fv = std::vector<Function*>();
std::vector<Function*> FuncVect;
for (Module::iterator mi = KernelM->begin(),
me = KernelM->end(); (mi != me); ++mi) {
Function* f = &*mi;
fv.push_back(f);
Function* F = &*mi;
FuncVect.push_back(F);
}
for (std::vector<Function*>::iterator vi = fv.begin(); vi != fv.end(); ++vi) {
(*vi)->replaceAllUsesWith(UndefValue::get((*vi)->getType()));
(*vi)->eraseFromParent();
for (auto *F : FuncVect) {
F->replaceAllUsesWith(UndefValue::get(F->getType()));
F->eraseFromParent();
}
std::vector<GlobalAlias*> av = std::vector<GlobalAlias*>();
std::vector<GlobalAlias*> GAVect;
for (Module::alias_iterator mi = KernelM->alias_begin(),
me = KernelM->alias_end(); (mi != me); ++mi) {
GlobalAlias* a = &*mi;
av.push_back(a);
GlobalAlias* GA = &*mi;
GAVect.push_back(GA);
}
for (std::vector<GlobalAlias*>::iterator vi = av.begin(); vi != av.end(); ++vi) {
(*vi)->replaceAllUsesWith(UndefValue::get((*vi)->getType()));
(*vi)->eraseFromParent();
for (auto *GA : GAVect) {
GA->replaceAllUsesWith(UndefValue::get(GA->getType()));
GA->eraseFromParent();
}
changeDataLayout(*KernelM);
......@@ -458,7 +458,7 @@ void CGT_NVPTX::insertRuntimeCalls(DFInternalNode* N, Kernel* K, const Twine& Fi
// context
std::vector<Value*> DevicePointers;
std::map<unsigned, unsigned> kernelInArgMap = K->getInArgMap();
std::map<unsigned, unsigned> &kernelInArgMap = K->getInArgMap();
/*
for(unsigned i=0; i<KF->getFunctionType()->getNumParams(); i++) {
......@@ -468,10 +468,9 @@ void CGT_NVPTX::insertRuntimeCalls(DFInternalNode* N, Kernel* K, const Twine& Fi
*/
for(std::map<unsigned, unsigned>::iterator ib = kernelInArgMap.begin(),
ie = kernelInArgMap.end(); ib != ie; ++ib) {
unsigned i = ib->first;
Value* inputVal = getArgumentAt(F_X86, ib->second);
for(auto &InArgMapPair : kernelInArgMap) {
unsigned i = InArgMapPair.first;
Value* inputVal = getArgumentAt(F_X86, InArgMapPair.second);
DEBUG(errs() << "\tArgument "<< i<< " = " << *inputVal << "\n");
// input value has been obtained.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment