diff --git a/hpvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp b/hpvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp
index 6b0fb68e77438d83482e77570fad9535fe51aebc..f1f1a3983c74c1ebf79433657018c5b85ee18390 100644
--- a/hpvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp
+++ b/hpvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp
@@ -1666,10 +1666,9 @@ Function* CGT_NVPTX::transformFunctionToVoid(Function* F) {
     DEBUG(errs() << "\tNo parameters added\n");
 
     // Replacing return statements with others returning void
-    for (std::vector<ReturnInst *>::iterator i = RItoRemove.begin(),
-         e = RItoRemove.end(); i != e; ++i) {
-      ReturnInst::Create((F->getContext()), 0, (*i));
-      (*i)->eraseFromParent();
+    for (auto *RI : RItoRemove) {
+      ReturnInst::Create((F->getContext()), 0, RI);
+      RI->eraseFromParent();
     }
     DEBUG(errs() << "\tChanged return statements to return void\n");
   }
@@ -1687,9 +1686,7 @@ Function* CGT_NVPTX::transformFunctionToVoid(Function* F) {
 
     DEBUG(errs() << "\tReplacing Return statements\n");
     // Replace return statements with extractValue and store instructions
-    for (std::vector<ReturnInst *>::iterator rii = RItoRemove.begin(),
-         rie = RItoRemove.end(); rii != rie; ++rii) {
-      ReturnInst* RI = (*rii);
+    for (auto *RI : RItoRemove) {
       Value* RetVal = RI->getReturnValue();
       for(unsigned i = 0; i < Args.size(); i++) {
         ExtractValueInst* EI = ExtractValueInst::Create(RetVal, ArrayRef<unsigned>(i),
@@ -1980,13 +1977,10 @@ static void changeTargetTriple(Module &M) {
 
 // Helper function, populate a vector with all return statements in a function
 static void findReturnInst(Function* F, std::vector<ReturnInst *> & ReturnInstVec) {
-  for (inst_iterator i = inst_begin(F), e = inst_end(F); i != e; ++i) {
-    Instruction *I = &(*i);
-    ReturnInst* RI = dyn_cast<ReturnInst>(I);
-    if (RI) {
-      ReturnInstVec.push_back(RI);
-    }
-  }
+  for (auto &BB : *F) {
+    if(auto *RI = dyn_cast<ReturnInst>(BB.getTerminator()))
+	ReturnInstVec.push_back(RI);
+  }	
 }
 
 // Helper function, populate a vector with all IntrinsicID intrinsics in a function