| /llvm-project-15.0.7/llvm/docs/tutorial/ |
| H A D | BuildingAJIT1.rst | 2 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 D | BuildingAJIT4.rst | 2 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 D | BuildingAJIT2.rst | 2 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 D | BuildingAJIT3.rst | 2 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 D | SparcTargetMachine.cpp | 73 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 D | SparcTargetMachine.h | 31 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 D | ORCv2.rst | 43 **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 D | DebuggingJITedCode.rst | 2 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 D | emulated-tls.ll | 6 ; 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 D | MipsTargetMachine.cpp | 107 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 D | MipsTargetMachine.h | 43 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 D | CodeGenCWrappers.h | 25 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 D | LangImpl04.rst | 2 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 D | ExecutionEngineBindings.cpp | 139 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 D | X86TargetMachine.cpp | 165 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 D | AArch64TargetMachine.h | 32 CodeGenOpt::Level OL, bool JIT, bool IsLittleEndian); 77 bool JIT); 89 bool JIT);
|
| H A D | AArch64TargetMachine.cpp | 284 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 D | BrainFDriver.cpp | 70 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 D | SystemZTargetMachine.cpp | 157 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 D | M68kTargetMachine.cpp | 83 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 D | jit-loader_jitlink_elf.test | 6 # 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 D | NVPTXTargetMachine.h | 84 CodeGenOpt::Level OL, bool JIT); 93 CodeGenOpt::Level OL, bool JIT);
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | ARMTargetMachine.h | 90 CodeGenOpt::Level OL, bool JIT); 100 CodeGenOpt::Level OL, bool JIT);
|
| /llvm-project-15.0.7/llvm/examples/Kaleidoscope/MCJIT/lazy/ |
| H A D | README.txt | 7 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 D | README.txt | 7 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
|