Home
last modified time | relevance | path

Searched refs:JIT (Results 1 – 25 of 185) sorted by relevance

12345678

/llvm-project-15.0.7/llvm/docs/tutorial/
H A DBuildingAJIT1.rst2 Building a JIT: Starting out with KaleidoscopeJIT
18 tutorial runs through the implementation of a JIT compiler using LLVM's
27 them to build a custom JIT that is suited to your use-case.
38 - `Chapter #3 <BuildingAJIT3.html>`_: Further extend the JIT by adding a
41 - `Chapter #4 <BuildingAJIT4.html>`_: Improve the laziness of our JIT by
47 a remote process with reduced privileges using the JIT Remote APIs.
60 JIT API Basics
71 symbols (functions or variables) that have been added to the JIT.
78 JIT J;
87 representations (e.g. ASTs) to be added to the JIT.
[all …]
H A DBuildingAJIT4.rst2 Building a JIT: Extreme Laziness - Using LazyReexports to JIT from ASTs
15 Welcome to Chapter 4 of the "Building an ORC-based JIT in LLVM" tutorial. This
H A DBuildingAJIT2.rst2 Building a JIT: Adding Optimizations -- An introduction to ORC Layers
21 Welcome to Chapter 2 of the "Building an ORC-based JIT in LLVM" tutorial. In
22 `Chapter 1 <BuildingAJIT1.html>`_ of this series we examined a basic JIT
42 added to it. In this Chapter we will make optimization a phase of our JIT
44 layers, but in the long term making optimization part of our JIT will yield an
47 optimization managed by our JIT will allow us to optimize lazily too, rather
50 To add optimization support to our JIT we will take the KaleidoscopeJIT from
115 // the JIT.
122 At the bottom of our JIT we add a private method to do the actual optimization:
127 of definitions in the module that JIT'd code is actively trying to call/access.
[all …]
H A DBuildingAJIT3.rst2 Building a JIT: Per-function Lazy Compilation
20 Welcome to Chapter 3 of the "Building an ORC-based JIT in LLVM" tutorial. This
22 CompileOnDemand layer the JIT from `Chapter 2 <BuildingAJIT2.html>`_.
124 function. In our simple JIT this situation is unlikely to come up, so we'll
125 cheat and just pass '0' here. In a production quality JIT you could give the
126 address of a function that throws an exception in order to unwind the JIT'd
145 removed from the JIT the indirect stubs manager will be deleted, freeing any
191 `Next: Extreme Laziness -- Using Compile Callbacks to JIT directly from ASTs <BuildingAJIT4.html>`_
/llvm-project-15.0.7/llvm/lib/Target/Sparc/
H A DSparcTargetMachine.cpp73 bool Is64Bit, bool JIT) { in getEffectiveSparcCodeModel() argument
82 if (JIT) in getEffectiveSparcCodeModel()
93 Optional<CodeModel::Model> CM, CodeGenOpt::Level OL, bool JIT, bool is64bit) in SparcTargetMachine() argument
97 CM, getEffectiveRelocModel(RM), is64bit, JIT), in SparcTargetMachine()
192 CodeGenOpt::Level OL, bool JIT) in SparcV8TargetMachine() argument
193 : SparcTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, JIT, false) {} in SparcV8TargetMachine()
202 CodeGenOpt::Level OL, bool JIT) in SparcV9TargetMachine() argument
203 : SparcTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, JIT, true) {} in SparcV9TargetMachine()
212 CodeGenOpt::Level OL, bool JIT) in SparcelTargetMachine() argument
213 : SparcTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, JIT, false) {} in SparcelTargetMachine()
H A DSparcTargetMachine.h31 CodeGenOpt::Level OL, bool JIT, bool is64bit);
52 CodeGenOpt::Level OL, bool JIT);
63 CodeGenOpt::Level OL, bool JIT);
73 CodeGenOpt::Level OL, bool JIT);
/llvm-project-15.0.7/llvm/docs/
H A DORCv2.rst43 **JIT-linking**
48 with the JIT via RPC.
102 JIT API.
114 if (!JIT)
115 return JIT.takeError();
129 // Call into JIT'd code.
325 to be re-used across JIT sessions as the JIT'd code no longer changes, only the
332 for making non-global objects in your JIT visible to JIT'd code. For example,
333 imagine that your JIT standard library needs access to your JIT object to make
356 And then make our JIT object visible to the JIT standard library with an
[all …]
H A DDebuggingJITedCode.rst2 Debugging JIT-ed Code
13 interface <https://sourceware.org/gdb/current/onlinedocs/gdb/JIT-Interface.html>`_
15 JITLoaderGDB plugin. On the JIT side, LLVM MCJIT does implement the interface
33 In order to debug code JIT-ed by LLVM, you need GDB 7.0 or newer, which is
51 The emerging MCJIT component of LLVM allows full debugging of JIT-ed code with
55 Note that lli has to be passed the ``--jit-kind=mcjit`` flag to JIT the code
56 with MCJIT instead of the newer ORC JIT.
114 frame #0: 0x00007ffff7fd0007 JIT(0x45c2cb0)`compute_factorial(n=5) at showdebug.c:3:11
130 frame #0: 0x00007ffff7fd003c JIT(0x45c2cb0)`compute_factorial(n=1) at showdebug.c:9:1
142 * frame #0: 0x00007ffff7fd003c JIT(0x45c2cb0)`compute_factorial(n=1) at showdebug.c:9:1
[all …]
/llvm-project-15.0.7/llvm/test/ExecutionEngine/OrcLazy/
H A Demulated-tls.ll6 ; Unfortunately we cannot test successful execution of JIT'd code with
7 ; emulated-tls as this would require the JIT itself, in this case lli, to be
9 ; that the only error produced by the JIT for a thread-local with emulated-tls
12 ; tls lowering was applied, and (2) that thread locals defined in the JIT'd code
15 ; CHECK: JIT session error: Symbols not found: [ {{[^,]*}}__emutls_get_address ]
/llvm-project-15.0.7/llvm/lib/Target/Mips/
H A DMipsTargetMachine.cpp107 static Reloc::Model getEffectiveRelocModel(bool JIT, in getEffectiveRelocModel() argument
109 if (!RM || JIT) in getEffectiveRelocModel()
124 CodeGenOpt::Level OL, bool JIT, in MipsTargetMachine() argument
127 CPU, FS, Options, getEffectiveRelocModel(JIT, RM), in MipsTargetMachine()
152 CodeGenOpt::Level OL, bool JIT) in MipsebTargetMachine() argument
153 : MipsTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, JIT, false) {} in MipsebTargetMachine()
162 CodeGenOpt::Level OL, bool JIT) in MipselTargetMachine() argument
163 : MipsTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, JIT, true) {} in MipselTargetMachine()
H A DMipsTargetMachine.h43 CodeGenOpt::Level OL, bool JIT, bool isLittle);
87 CodeGenOpt::Level OL, bool JIT);
99 CodeGenOpt::Level OL, bool JIT);
/llvm-project-15.0.7/llvm/include/llvm/Target/
H A DCodeGenCWrappers.h25 inline Optional<CodeModel::Model> unwrap(LLVMCodeModel Model, bool &JIT) { in unwrap() argument
26 JIT = false; in unwrap()
29 JIT = true; in unwrap()
/llvm-project-15.0.7/llvm/docs/tutorial/MyFirstLanguageFrontend/
H A DLangImpl04.rst2 Kaleidoscope: Adding JIT and Optimizer Support
15 language, and adding JIT compiler support. These additions will
217 Adding a JIT Compiler
223 the code to an assembly file (.s) for some target, or you can JIT
235 the current native target and declare and initialize the JIT. This is
268 We also need to setup the data layout for the JIT:
306 // Search the JIT for the __anon_expr symbol.
315 // Delete the anonymous expression module from the JIT.
395 testfunc a second time, the JIT could no longer find it.
629 This completes the JIT and optimizer chapter of the Kaleidoscope
[all …]
/llvm-project-15.0.7/llvm/lib/ExecutionEngine/
H A DExecutionEngineBindings.cpp139 builder.setEngineKind(EngineKind::JIT) in LLVMCreateJITCompilerForModule()
142 if (ExecutionEngine *JIT = builder.create()) { in LLVMCreateJITCompilerForModule() local
143 *OutJIT = wrap(JIT); in LLVMCreateJITCompilerForModule()
197 builder.setEngineKind(EngineKind::JIT) in LLVMCreateMCJITCompilerForModule()
201 bool JIT; in LLVMCreateMCJITCompilerForModule() local
202 if (Optional<CodeModel::Model> CM = unwrap(options.CodeModel, JIT)) in LLVMCreateMCJITCompilerForModule()
207 if (ExecutionEngine *JIT = builder.create()) { in LLVMCreateMCJITCompilerForModule() local
208 *OutJIT = wrap(JIT); in LLVMCreateMCJITCompilerForModule()
/llvm-project-15.0.7/llvm/lib/Target/X86/
H A DX86TargetMachine.cpp165 bool JIT, in getEffectiveRelocModel() argument
171 if (JIT) in getEffectiveRelocModel()
207 bool JIT, bool Is64Bit) { in getEffectiveX86CodeModel() argument
213 if (JIT) in getEffectiveX86CodeModel()
225 CodeGenOpt::Level OL, bool JIT) in X86TargetMachine() argument
228 getEffectiveRelocModel(TT, JIT, RM), in X86TargetMachine()
229 getEffectiveX86CodeModel(CM, JIT, TT.getArch() == Triple::x86_64), in X86TargetMachine()
231 TLOF(createTLOF(getTargetTriple())), IsJIT(JIT) { in X86TargetMachine()
/llvm-project-15.0.7/llvm/lib/Target/AArch64/
H A DAArch64TargetMachine.h32 CodeGenOpt::Level OL, bool JIT, bool IsLittleEndian);
77 bool JIT);
89 bool JIT);
H A DAArch64TargetMachine.cpp284 bool JIT) { in getEffectiveAArch64CodeModel() argument
300 if (JIT && !TT.isOSWindows()) in getEffectiveAArch64CodeModel()
312 CodeGenOpt::Level OL, bool JIT, in AArch64TargetMachine() argument
318 getEffectiveAArch64CodeModel(TT, CM, JIT), OL), in AArch64TargetMachine()
444 Optional<CodeModel::Model> CM, CodeGenOpt::Level OL, bool JIT) in AArch64leTargetMachine() argument
445 : AArch64TargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, JIT, true) {} in AArch64leTargetMachine()
452 Optional<CodeModel::Model> CM, CodeGenOpt::Level OL, bool JIT) in AArch64beTargetMachine() argument
453 : AArch64TargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, JIT, false) {} in AArch64beTargetMachine()
/llvm-project-15.0.7/llvm/examples/BrainF/
H A DBrainFDriver.cpp70 JIT("jit", cl::desc("Run program Just-In-Time")); variable
119 if (!JIT) { in main()
157 if (JIT) { in main()
/llvm-project-15.0.7/llvm/lib/Target/SystemZ/
H A DSystemZTargetMachine.cpp157 bool JIT) { in getEffectiveSystemZCodeModel() argument
165 if (JIT) in getEffectiveSystemZCodeModel()
175 CodeGenOpt::Level OL, bool JIT) in SystemZTargetMachine() argument
179 getEffectiveSystemZCodeModel(CM, getEffectiveRelocModel(RM), JIT), in SystemZTargetMachine()
/llvm-project-15.0.7/llvm/lib/Target/M68k/
H A DM68kTargetMachine.cpp83 bool JIT) { in getEffectiveCodeModel() argument
100 CodeGenOpt::Level OL, bool JIT) in M68kTargetMachine() argument
103 ::getEffectiveCodeModel(CM, JIT), OL), in M68kTargetMachine()
/llvm-project-15.0.7/lldb/test/Shell/Breakpoint/
H A Djit-loader_jitlink_elf.test6 # JITLink is the Orc-specific JIT linker implementation.
16 # CHECK: JIT(0x{{.*}})`jitbp() at jitbp.cpp:1:15
/llvm-project-15.0.7/llvm/lib/Target/NVPTX/
H A DNVPTXTargetMachine.h84 CodeGenOpt::Level OL, bool JIT);
93 CodeGenOpt::Level OL, bool JIT);
/llvm-project-15.0.7/llvm/lib/Target/ARM/
H A DARMTargetMachine.h90 CodeGenOpt::Level OL, bool JIT);
100 CodeGenOpt::Level OL, bool JIT);
/llvm-project-15.0.7/llvm/examples/Kaleidoscope/MCJIT/lazy/
H A DREADME.txt7 to use the MCJIT execution engine instead of the older JIT engine.
15 The toy-jit.cpp file contains a version of the original JIT-based source code
/llvm-project-15.0.7/llvm/examples/Kaleidoscope/MCJIT/complete/
H A DREADME.txt7 to use the MCJIT execution engine instead of the older JIT engine.
10 old JIT-based implementation, into a single file for easy comparison with

12345678