Subzero: Update for LLVM 3.9 (trunk).
The purpose is to allow pnacl-sz to be built within an LLVM checkout (version 3.9 or later), and not require the complex PNaCl build environment.
Within an LLVM checkout, one would do something like the following:
cd projects
git clone https://chromium.googlesource.com/native_client/pnacl-subzero
# change to LLVM build directory
cmake -G "Ninja" <path_to_llvm_source_dir>
ninja
A follow-on CL will add in the PNaCl bitcode reader source files that are needed for compiling and linking.
BUG= none
R=jpp@chromium.org
Review URL: https://codereview.chromium.org/1961743002 .
diff --git a/src/IceConverter.cpp b/src/IceConverter.cpp
index 0729b73..7d192e6 100644
--- a/src/IceConverter.cpp
+++ b/src/IceConverter.cpp
@@ -111,7 +111,7 @@
// The initial definition/use of each arg is the entry node.
for (auto ArgI = F->arg_begin(), ArgE = F->arg_end(); ArgI != ArgE;
++ArgI) {
- Func->addArg(mapValueToIceVar(ArgI));
+ Func->addArg(mapValueToIceVar(&*ArgI));
}
// Make an initial pass through the block list just to resolve the blocks
@@ -708,7 +708,7 @@
E = Mod->global_end();
I != E; ++I) {
- const GlobalVariable *GV = I;
+ const GlobalVariable *GV = &*I;
Ice::GlobalDeclaration *Var = getConverter().getGlobalDeclaration(GV);
auto *VarDecl = cast<Ice::VariableDeclaration>(Var);
@@ -888,7 +888,7 @@
for (Module::const_global_iterator I = Mod->global_begin(),
E = Mod->global_end();
I != E; ++I) {
- const GlobalVariable *GV = I;
+ const GlobalVariable *GV = &*I;
constexpr bool NoSuppressMangling = false;
auto *Var = VariableDeclaration::create(
GlobalDeclarationsPool.get(), NoSuppressMangling, GV->getLinkage());