Index: src/llvm2ice.cpp |
diff --git a/src/llvm2ice.cpp b/src/llvm2ice.cpp |
index 6d26cff53050f81a786b04a7a70d6d06991546da..a4552e4624ace37bb78c6ec93d807c028f8f9c39 100644 |
--- a/src/llvm2ice.cpp |
+++ b/src/llvm2ice.cpp |
@@ -18,6 +18,7 @@ |
#include "IceDefs.h" |
#include "IceTargetLowering.h" |
#include "IceTypes.h" |
+#include "PNaClTranslator.h" |
#include "llvm/IR/Constant.h" |
#include "llvm/IR/Constants.h" |
@@ -128,9 +129,14 @@ int main(int argc, char **argv) { |
Ice::GlobalContext Ctx(Ls, Os, VMask, TargetArch, OptLevel, TestPrefix); |
+ Ice::ClFlags Flags; |
+ Flags.DisableInternal = DisableInternal; |
+ Flags.SubzeroTimingEnabled = SubzeroTimingEnabled; |
+ Flags.DisableTranslation = DisableTranslation; |
+ |
if (BuildOnRead) { |
- std::cerr << "Direct build from bitcode not implemented yet!\n"; |
- return 1; |
+ Ice::PNaClTranslator translator(&Ctx, Flags); |
+ return translator.translate(IRFilename); |
} else { |
// Parse the input LLVM IR file into a module. |
SMDiagnostic Err; |
@@ -189,8 +195,7 @@ int main(int argc, char **argv) { |
} |
GlobalLowering.reset(); |
- Ice::Converter Converter(&Ctx, DisableInternal, SubzeroTimingEnabled, |
- DisableTranslation); |
+ Ice::Converter Converter(&Ctx, Flags); |
return Converter.convertToIce(Mod); |
} |
} |