[llvm-commits] CVS: llvm/include/llvm/ExecutionEngine/Interpreter.h JIT.h
Jeff Cohen
jeffc at jolt-lang.org
Thu Mar 23 18:54:05 PST 2006
Changes in directory llvm/include/llvm/ExecutionEngine:
Interpreter.h added (r1.1)
JIT.h added (r1.1)
---
Log message:
Get JIT/Interpreter working on Windows again.
---
Diffs of the changes: (+78 -0)
Interpreter.h | 39 +++++++++++++++++++++++++++++++++++++++
JIT.h | 39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 78 insertions(+)
Index: llvm/include/llvm/ExecutionEngine/Interpreter.h
diff -c /dev/null llvm/include/llvm/ExecutionEngine/Interpreter.h:1.1
*** /dev/null Thu Mar 23 20:53:59 2006
--- llvm/include/llvm/ExecutionEngine/Interpreter.h Thu Mar 23 20:53:49 2006
***************
*** 0 ****
--- 1,39 ----
+ //===- ExecutionEngine.h - Abstract Execution Engine Interface --*- C++ -*-===//
+ //
+ // The LLVM Compiler Infrastructure
+ //
+ // This file was developed by Jeff Cohen and is distributed under the
+ // University of Illinois Open Source License. See LICENSE.TXT for details.
+ //
+ //===----------------------------------------------------------------------===//
+ //
+ // This file forces the interpreter to link in on certain operating systems.
+ // (Windows).
+ //
+ //===----------------------------------------------------------------------===//
+
+ #ifndef EXECUTION_ENGINE_INTERPRETER_H
+ #define EXECUTION_ENGINE_INTERPRETER_H
+
+ #include "llvm/ExecutionEngine/ExecutionEngine.h"
+
+ namespace llvm {
+ extern void LinkInInterpreter();
+ }
+
+ namespace {
+ struct ForceInterpreterLinking {
+ ForceInterpreterLinking() {
+ // We must reference the passes in such a way that compilers will not
+ // delete it all as dead code, even with whole program optimization,
+ // yet is effectively a NO-OP. As the compiler isn't smart enough
+ // to know that getenv() never returns -1, this will do the job.
+ if (std::getenv("bar") != (char*) -1)
+ return;
+
+ llvm::LinkInInterpreter();
+ }
+ } ForceInterpreterLinking;
+ }
+
+ #endif
Index: llvm/include/llvm/ExecutionEngine/JIT.h
diff -c /dev/null llvm/include/llvm/ExecutionEngine/JIT.h:1.1
*** /dev/null Thu Mar 23 20:54:05 2006
--- llvm/include/llvm/ExecutionEngine/JIT.h Thu Mar 23 20:53:49 2006
***************
*** 0 ****
--- 1,39 ----
+ //===- ExecutionEngine.h - Abstract Execution Engine Interface --*- C++ -*-===//
+ //
+ // The LLVM Compiler Infrastructure
+ //
+ // This file was developed by Jeff Cohen and is distributed under the
+ // University of Illinois Open Source License. See LICENSE.TXT for details.
+ //
+ //===----------------------------------------------------------------------===//
+ //
+ // This file forces the interpreter to link in on certain operating systems.
+ // (Windows).
+ //
+ //===----------------------------------------------------------------------===//
+
+ #ifndef EXECUTION_ENGINE_JIT_H
+ #define EXECUTION_ENGINE_JIT_H
+
+ #include "llvm/ExecutionEngine/ExecutionEngine.h"
+
+ namespace llvm {
+ extern void LinkInJIT();
+ }
+
+ namespace {
+ struct ForceJITLinking {
+ ForceJITLinking() {
+ // We must reference the passes in such a way that compilers will not
+ // delete it all as dead code, even with whole program optimization,
+ // yet is effectively a NO-OP. As the compiler isn't smart enough
+ // to know that getenv() never returns -1, this will do the job.
+ if (std::getenv("bar") != (char*) -1)
+ return;
+
+ llvm::LinkInJIT();
+ }
+ } ForceJITLinking;
+ }
+
+ #endif
More information about the llvm-commits
mailing list