diff options
Diffstat (limited to 'tools/lli/lli.cpp')
| -rw-r--r-- | tools/lli/lli.cpp | 28 | 
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp index efcc1f5870ca..2e2bf7d66ec3 100644 --- a/tools/lli/lli.cpp +++ b/tools/lli/lli.cpp @@ -141,6 +141,28 @@ namespace {                                  "Large code model"),                       clEnumValEnd)); +  cl::opt<bool> +  EnableJITExceptionHandling("jit-enable-eh", +    cl::desc("Emit exception handling information"), +    cl::init(false)); + +  cl::opt<bool> +// In debug builds, make this default to true. +#ifdef NDEBUG +#define EMIT_DEBUG false +#else +#define EMIT_DEBUG true +#endif +  EmitJitDebugInfo("jit-emit-debug", +    cl::desc("Emit debug information to debugger"), +    cl::init(EMIT_DEBUG)); +#undef EMIT_DEBUG + +  static cl::opt<bool> +  EmitJitDebugInfoToDisk("jit-emit-debug-to-disk", +    cl::Hidden, +    cl::desc("Emit debug info objfiles to disk"), +    cl::init(false));  }  static ExecutionEngine *EE = 0; @@ -229,6 +251,12 @@ int main(int argc, char **argv, char * const *envp) {    }    builder.setOptLevel(OLvl); +  TargetOptions Options; +  Options.JITExceptionHandling = EnableJITExceptionHandling; +  Options.JITEmitDebugInfo = EmitJitDebugInfo; +  Options.JITEmitDebugInfoToDisk = EmitJitDebugInfoToDisk; +  builder.setTargetOptions(Options); +    EE = builder.create();    if (!EE) {      if (!ErrorMsg.empty())  | 
