diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp
index f594827..0513401 100644
--- a/lib/ExecutionEngine/ExecutionEngine.cpp
+++ b/lib/ExecutionEngine/ExecutionEngine.cpp
@@ -494,7 +494,7 @@
   
   // Loop over all of the global variables in the program, allocating the memory
   // to hold them.
-  for (Module::const_giterator I = getModule().gbegin(), E = getModule().gend();
+  for (Module::const_global_iterator I = getModule().global_begin(), E = getModule().global_end();
        I != E; ++I)
     if (!I->isExternal()) {
       // Get the type of the global...
@@ -518,7 +518,7 @@
   
   // Now that all of the globals are set up in memory, loop through them all and
   // initialize their contents.
-  for (Module::const_giterator I = getModule().gbegin(), E = getModule().gend();
+  for (Module::const_global_iterator I = getModule().global_begin(), E = getModule().global_end();
        I != E; ++I)
     if (!I->isExternal())
       EmitGlobalVariable(I);
diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp
index 9037ab6..ff35679 100644
--- a/lib/ExecutionEngine/Interpreter/Execution.cpp
+++ b/lib/ExecutionEngine/Interpreter/Execution.cpp
@@ -1065,13 +1065,13 @@
   StackFrame.CurInst   = StackFrame.CurBB->begin();
 
   // Run through the function arguments and initialize their values...
-  assert((ArgVals.size() == F->asize() ||
-         (ArgVals.size() > F->asize() && F->getFunctionType()->isVarArg())) &&
+  assert((ArgVals.size() == F->arg_size() ||
+         (ArgVals.size() > F->arg_size() && F->getFunctionType()->isVarArg())) &&
          "Invalid number of values passed to function invocation!");
 
   // Handle non-varargs arguments...
   unsigned i = 0;
-  for (Function::aiterator AI = F->abegin(), E = F->aend(); AI != E; ++AI, ++i)
+  for (Function::arg_iterator AI = F->arg_begin(), E = F->arg_end(); AI != E; ++AI, ++i)
     SetValue(AI, ArgVals[i], StackFrame);
 
   // Handle varargs arguments...
