llvm-project/llvm/lib
Mircea Trofin c35ad9ee4f [mlgo] Support exposing more features than those supported by models
This allows the compiler to support more features than those supported by a
model. The only requirement (development mode only) is that the new
features must be appended at the end of the list of features requested
from the model. The support is transparent to compiler code: for
unsupported features, we provide a valid buffer to copy their values;
it's just that this buffer is disconnected from the model, so insofar
as the model is concerned (AOT or development mode), these features don't
exist. The buffers are allocated at setup - meaning, at steady state,
there is no extra allocation (maintaining the current invariant). These
buffers has 2 roles: one, keep the compiler code simple. Second, allow
logging their values in development mode. The latter allows retraining
a model supporting the larger feature set starting from traces produced
with the old model.

For release mode (AOT-ed models), this decouples compiler evolution from
model evolution, which we want in scenarios where the toolchain is
frequently rebuilt and redeployed: we can first deploy the new features,
and continue working with the older model, until a new model is made
available, which can then be picked up the next time the compiler is built.

Differential Revision: https://reviews.llvm.org/D124565
2022-05-09 18:01:21 -07:00
..
Analysis [mlgo] Support exposing more features than those supported by models 2022-05-09 18:01:21 -07:00
AsmParser [AsmParser] Automatically declare and lex attribute keywords (NFC) 2022-04-27 09:27:26 +02:00
BinaryFormat Fix DXBC magic parsing 2022-05-03 14:41:48 -07:00
Bitcode Attributes: add a new `allocptr` attribute 2022-04-26 13:57:11 -04:00
Bitstream
CodeGen [mlgo] Support exposing more features than those supported by models 2022-05-09 18:01:21 -07:00
DWARFLinker Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
DWP
DebugInfo DWARFVerifier: Verify CU/TU index overlap issues 2022-05-05 18:18:53 +00:00
Debuginfod Fix buildbot failures from 7917b3c6. 2022-03-21 17:58:22 +00:00
Demangle Revert "[demangler] Simplify OutputBuffer initialization" 2022-04-26 20:24:06 +00:00
ExecutionEngine [ORC-RT][ORC] Handle dynamic unwind registration for libunwind 2022-05-06 14:00:29 -07:00
Extensions
FileCheck
Frontend [OpenMP] Make generating offloading entries more generic 2022-04-29 09:14:31 -04:00
FuzzMutate Reland "[FuzzMutate] Split out FuzzerCLI library that doesn't depend on IR." 2022-05-07 13:49:54 +02:00
Fuzzer
IR [IR] Simplify code. NFCI. 2022-05-05 16:06:59 +02:00
IRReader
InterfaceStub Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
LTO [iwyu] Handle regressions in libLLVM header include 2022-04-13 20:53:19 +02:00
LineEditor
Linker Support the min of module flags when linking, use for AArch64 BTI/PAC-RET 2022-04-13 09:31:51 +02:00
MC Implement support for __llvm_addrsig for MachO in llvm-mc 2022-05-03 18:19:18 -04:00
MCA [MCA] Removed unused variable. 2022-03-13 21:55:56 -07:00
ObjCopy [ObjCopy][NFC] Refactor handling of linkedit_data_command in MachOWriter 2022-04-10 02:09:11 +00:00
Object [NFC] Add missing switch cases 2022-05-02 18:13:07 -05:00
ObjectYAML [AMDGPU] Add gfx11 subtarget ELF definition 2022-04-29 12:27:17 -04:00
Option [Driver] Simplify hasFlag pattern with addOptInFlag/addOptOutFlag helpers 2022-04-11 12:29:25 -07:00
Passes [NFC] [Pipelines] Hoist CoroCleanup as Module Pass 2022-05-05 15:15:09 +08:00
ProfileData [memprof] Use unknown_function error type for missing functions 2022-05-04 13:02:30 -07:00
Remarks Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
Support Make BinaryStreamWriter::padToAlignment write blocks vs bytes. 2022-05-07 17:37:18 -07:00
TableGen [mlir] Split out AttrDef/TypeDef and pattern constructs from OpBase.td 2022-03-15 00:18:03 -07:00
Target [AArch64] Remove ADDC, ADDE, SUBC, SUBE support, use the CARRY ops instead 2022-05-10 00:23:15 +00:00
Testing Reapply "[cmake] Prefix gtest and gtest_main with "llvm_"." 2022-03-04 13:45:43 -08:00
TextAPI
ToolDrivers [llvm-lib] Add /WX, warn by default on empty inputs, add opt-out 2022-04-11 13:15:30 -04:00
Transforms [Inliner] Preserve !prof metadata when converting call to invoke. 2022-05-09 15:08:09 -07:00
WindowsDriver Cleanup includes: WindowsDriver & WindowsManifest 2022-03-10 17:19:06 +01:00
WindowsManifest Cleanup includes: WindowsDriver & WindowsManifest 2022-03-10 17:19:06 +01:00
XRay
CMakeLists.txt