teak-llvm/llvm/lib
Lang Hames ce2207abaf [ORC] Add support for emulated TLS to ORCv2.
This commit adds a ManglingOptions struct to IRMaterializationUnit, and replaces
IRCompileLayer::CompileFunction with a new IRCompileLayer::IRCompiler class. The
ManglingOptions struct defines the emulated-TLS state (via a bool member,
EmulatedTLS, which is true if emulated-TLS is enabled and false otherwise). The
IRCompileLayer::IRCompiler class wraps an IRCompiler (the same way that the
CompileFunction typedef used to), but adds a method to return the
IRCompileLayer::ManglingOptions that the compiler will use.

These changes allow us to correctly determine the symbols that will be produced
when a thread local global variable defined at the IR level is compiled with or
without emulated TLS. This is required for ORCv2, where MaterializationUnits
must declare their interface up-front.

Most ORCv2 clients should not require any changes. Clients writing custom IR
compilers will need to wrap their compiler in an IRCompileLayer::IRCompiler,
rather than an IRCompileLayer::CompileFunction, however this should be a
straightforward change (see modifications to CompileUtils.* in this patch for an
example).
2020-01-21 19:55:33 -08:00
..
Analysis [NFC] small rename of private member in InlineCost.cpp 2020-01-20 13:03:15 -08:00
AsmParser Move the sysroot attribute from DIModule to DICompileUnit 2020-01-17 12:55:40 -08:00
BinaryFormat DWARFDebugLine.cpp: Format unknown line number standard opcodes 2020-01-15 10:45:50 -05:00
Bitcode Move the sysroot attribute from DIModule to DICompileUnit 2020-01-17 12:55:40 -08:00
Bitstream [Bitstream] Delete skipAbbreviatedField which duplicates readAbbreviatedField 2019-12-25 18:55:02 -08:00
CodeGen [AArch64] Don't generate gpr CSEL instructions in early-ifcvt if regclasses aren't compatible. 2020-01-21 16:51:31 -08:00
DebugInfo DWARFDebugLine.cpp: Format unknown line number standard opcodes 2020-01-15 10:45:50 -05:00
Demangle Revert "Add some missing includes to MicrosoftDemangle.cpp (PR44217)" 2019-12-04 11:10:07 -08:00
DWARFLinker [Dsymutil][Debuginfo][NFC] #3 Refactor dsymutil to separate DWARF optimizing part. 2020-01-13 23:33:25 +03:00
ExecutionEngine [ORC] Add support for emulated TLS to ORCv2. 2020-01-21 19:55:33 -08:00
Frontend [OpenMP] Use the OpenMPIRBuilder for omp parallel 2019-12-30 13:57:13 -06:00
Fuzzer
FuzzMutate [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
IR [IR] Value::getPointerAlignment(): handle pointer constants 2020-01-22 01:32:46 +03:00
IRReader [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
LineEditor [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
Linker [NFC] Fixes -Wrange-loop-analysis warnings 2020-01-01 20:01:37 +01:00
LTO remove an include that's unused after r347592 2020-01-16 12:49:54 -05:00
MC [MC] Improve a report_fatal_error 2020-01-20 23:13:18 -08:00
MCA [NFC] Fixes -Wrange-loop-analysis warnings 2020-01-01 20:01:37 +01:00
Object [MIPS][ELF] Use PC-relative relocations in .eh_frame when possible 2020-01-13 14:14:03 +00:00
ObjectYAML [Hexagon] Add support for Hexagon v67t microarchitecture (tiny core) 2020-01-21 11:35:10 -06:00
Option [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
Passes [GVN] add GVN parameters parsing to new pass manager 2020-01-16 23:53:46 +03:00
ProfileData [NFC] Fix trivial typos in comments 2020-01-06 10:50:26 +00:00
Remarks [Remarks] Allow empty temporary remark files 2019-11-22 15:58:12 -08:00
Support [APFloat] Add support for operations on Signaling NaN 2020-01-21 21:02:00 +02:00
TableGen [TableGen] Introduce an if/then/else statement. 2020-01-14 10:19:53 +00:00
Target [AArch64] Don't generate gpr CSEL instructions in early-ifcvt if regclasses aren't compatible. 2020-01-21 16:51:31 -08:00
Testing
TextAPI [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
ToolDrivers [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
Transforms [SLP] Don't allow Div/Rem as alternate opcodes 2020-01-21 15:21:17 -08:00
WindowsManifest Revert "Temporarily revert "build: avoid hardcoding the libxml2 library name"" 2019-12-03 09:27:14 -08:00
XRay [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
CMakeLists.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00
LLVMBuild.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00