1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/tools
Lang Hames b6c9039962 [ORC] Update LLJIT to automatically run specially named initializer functions.
The GenericLLVMIRPlatformSupport class runs a transform on all LLVM IR added to
the LLJIT instance to replace instances of llvm.global_ctors with a specially
named function that runs the corresponing static initializers (See
(GlobalCtorDtorScraper from lib/ExecutionEngine/Orc/LLJIT.cpp). This patch
updates the GenericIRPlatform class to check for this specially named function
in other materialization units that are added to the JIT and, if found, add
the function to the initializer work queue. Doing this allows object files
that were compiled from IR and cached to be reloaded in subsequent JIT sessions
without their initializers being skipped.

To enable testing this patch also updates the lli tool's -jit-kind=orc-lazy mode
to respect the -enable-cache-manager and -object-cache-dir options, and modifies
the CompileOnDemandLayer to rename extracted submodules to include a hash of the
names of their symbol definitions. This allows a simple object caching scheme
based on module names (which was already implemented in lli) to work with the
lazy JIT.
2020-02-22 11:49:14 -08:00
..
bugpoint Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
bugpoint-passes Reverted the remainings of c1c9819ef91aab51b5a23fb3027adac5a2f551cc 2020-02-11 16:20:06 -08:00
dsymutil [dsymutil] Explicitly link against libatomic when necessary 2020-02-17 22:28:18 +00:00
gold [Support] On Windows, ensure hardware_concurrency() extends to all CPU sockets and all NUMA groups 2020-02-14 10:24:22 -05:00
llc [Remarks] Extend the RemarkStreamer to support other emitters 2020-02-04 17:16:02 -08:00
lli [ORC] Update LLJIT to automatically run specially named initializer functions. 2020-02-22 11:49:14 -08:00
llvm-ar [llvm-ar] Simplify Windows comparePaths NFCI 2020-02-14 11:20:17 +00:00
llvm-as
llvm-as-fuzzer
llvm-bcanalyzer Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
llvm-c-test Move the sysroot attribute from DIModule to DICompileUnit 2020-01-17 12:55:40 -08:00
llvm-cat
llvm-cfi-verify Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
llvm-config Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-cov [Support] On Windows, ensure hardware_concurrency() extends to all CPU sockets and all NUMA groups 2020-02-14 10:24:22 -05:00
llvm-cvtres
llvm-cxxdump
llvm-cxxfilt Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-cxxmap
llvm-diff llvm-diff: Perform structural comparison on GlobalVariables, if possible 2019-12-17 14:21:48 -05:00
llvm-dis [llvm-dis] Fix the disable-output flag 2019-11-14 13:35:21 -08:00
llvm-dwarfdump [llvm-dwarfdump][Stats] Fix the License header 2020-02-10 08:01:56 +01:00
llvm-dwp [DebugInfo][NFCI]: Removed an exclamation mark from error message. 2020-02-20 07:49:08 +05:30
llvm-elfabi Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
llvm-exegesis [X86] Add a new format type for instructions that represent named prefix bytes like data16 and rep. Use it to make a simpler version of isPrefix. 2020-02-21 12:34:59 -08:00
llvm-extract [llvm-extract] Add -keep-const-init commandline option 2020-02-03 14:30:28 +09:00
llvm-go Reinstate llvm-go to test the go bindings. 2020-02-13 17:24:55 -08:00
llvm-ifs Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
llvm-isel-fuzzer Move CodeGenFileType enum to Support/CodeGen.h 2019-11-13 16:39:34 -08:00
llvm-itanium-demangle-fuzzer
llvm-jitlink [ORC] Add generic initializer/deinitializer support. 2020-02-19 13:59:32 -08:00
llvm-jitlistener
llvm-link Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-lipo Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-lto Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-lto2 Improve comments after 8404aeb56a73ab24f9b295111de3b37a37f0b841. 2020-02-18 14:25:21 -05:00
llvm-mc [AsmPrinter][MCStreamer] De-capitalize EmitInstruction and EmitCFI* 2020-02-13 22:08:55 -08:00
llvm-mc-assemble-fuzzer Remove AllTargetsAsmPrinters 2020-01-17 19:04:06 -05:00
llvm-mc-disassemble-fuzzer Remove AllTargetsAsmPrinters 2020-01-17 19:04:06 -05:00
llvm-mca [MC] De-capitalize another set of MCStreamer::Emit* functions 2020-02-14 19:26:52 -08:00
llvm-microsoft-demangle-fuzzer
llvm-ml [ms] [llvm-ml] Add a draft MASM parser 2020-02-16 12:30:46 -05:00
llvm-modextract
llvm-mt
llvm-nm Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-objcopy [llvm-objcopy][MachO] Change the storage of sections 2020-02-21 13:30:52 -08:00
llvm-objdump [llvm-objdump] Print method name from debug info in disassembly output. 2020-02-21 15:30:51 -08:00
llvm-opt-fuzzer Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
llvm-opt-report Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-pdbutil Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
llvm-profdata [Support] On Windows, ensure hardware_concurrency() extends to all CPU sockets and all NUMA groups 2020-02-14 10:24:22 -05:00
llvm-rc Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
llvm-readobj [ARM] Change ARMAttributeParser::Parse to use support::endianness and simplify 2020-02-21 11:05:33 -08:00
llvm-reduce Revert "[llvm-reduce] add ReduceAttribute delta pass" 2020-02-05 14:15:11 -05:00
llvm-rtdyld Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-shlib [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
llvm-size [llvm-size] print a blank line between archieve members when using sysv format 2020-01-03 14:05:55 +08:00
llvm-special-case-list-fuzzer
llvm-split
llvm-stress
llvm-strings
llvm-symbolizer [llvm-symbolizer]Fix printing of malformed address values not passed via stdin 2020-01-08 18:37:41 +08:00
llvm-undname Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-xray Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
llvm-yaml-numeric-parser-fuzzer
lto [LTO][Legacy] Add API for passing LLVM options separately 2019-11-19 16:30:37 -08:00
msbuild
obj2yaml [yaml2obj] - Automatically assign sh_addr for allocatable sections. 2020-02-22 14:43:54 +03:00
opt [Coroutines][5/6] Add coroutine passes to pipeline 2020-02-19 00:57:14 -05:00
opt-viewer [opt viewer] Python compat - decode/encode string 2020-01-29 14:49:24 -08:00
remarks-shlib
sancov [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
sanstats
verify-uselistorder
vfabi-demangle-fuzzer [llvm][VectorUtils] Tweak VFShape for scalable vector functions. 2020-01-30 05:53:56 +00:00
xcode-toolchain
yaml2obj [yaml2obj] Add -D k=v to preprocess the input YAML 2020-02-07 09:35:00 -08:00
CMakeLists.txt Continue removing llgo. 2020-02-10 10:33:58 -08:00
LLVMBuild.txt