diff options
Diffstat (limited to 'llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp')
| -rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp b/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp index 9078ff8cfb97..a9a5eae42c1d 100644 --- a/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp @@ -74,19 +74,16 @@ bool GenericToNVVM::runOnModule(Module &M) { // of original global variable and its clone is placed in the GVMap for later // use. - for (Module::global_iterator I = M.global_begin(), E = M.global_end(); - I != E;) { - GlobalVariable *GV = &*I++; - if (GV->getType()->getAddressSpace() == llvm::ADDRESS_SPACE_GENERIC && - !llvm::isTexture(*GV) && !llvm::isSurface(*GV) && - !llvm::isSampler(*GV) && !GV->getName().startswith("llvm.")) { + for (GlobalVariable &GV : llvm::make_early_inc_range(M.globals())) { + if (GV.getType()->getAddressSpace() == llvm::ADDRESS_SPACE_GENERIC && + !llvm::isTexture(GV) && !llvm::isSurface(GV) && !llvm::isSampler(GV) && + !GV.getName().startswith("llvm.")) { GlobalVariable *NewGV = new GlobalVariable( - M, GV->getValueType(), GV->isConstant(), - GV->getLinkage(), - GV->hasInitializer() ? GV->getInitializer() : nullptr, - "", GV, GV->getThreadLocalMode(), llvm::ADDRESS_SPACE_GLOBAL); - NewGV->copyAttributesFrom(GV); - GVMap[GV] = NewGV; + M, GV.getValueType(), GV.isConstant(), GV.getLinkage(), + GV.hasInitializer() ? GV.getInitializer() : nullptr, "", &GV, + GV.getThreadLocalMode(), llvm::ADDRESS_SPACE_GLOBAL); + NewGV->copyAttributesFrom(&GV); + GVMap[&GV] = NewGV; } } @@ -215,7 +212,7 @@ Value *GenericToNVVM::remapConstantVectorOrConstantAggregate( // If any of the elements has been modified, construct the equivalent // vector or aggregate value with a set instructions and the converted // elements. - Value *NewValue = UndefValue::get(C->getType()); + Value *NewValue = PoisonValue::get(C->getType()); if (isa<ConstantVector>(C)) { for (unsigned i = 0; i < NumOperands; ++i) { Value *Idx = ConstantInt::get(Type::getInt32Ty(M->getContext()), i); |
