llvm-project/llvm/test
Thomas Lively f6f4f84378 [WebAssembly] Target features section
Summary:
Implements a new target features section in assembly and object files
that records what features are used, required, and disallowed in
WebAssembly objects. The linker uses this information to ensure that
all objects participating in a link are feature-compatible and records
the set of used features in the output binary for use by optimizers
and other tools later in the toolchain.

The "atomics" feature is always required or disallowed to prevent
linking code with stripped atomics into multithreaded binaries. Other
features are marked used if they are enabled globally or on any
function in a module.

Future CLs will add linker flags for ignoring feature compatibility
checks and for specifying the set of allowed features, implement using
the presence of the "atomics" feature to control the type of memory
and segments in the linked binary, and add front-end flags for
relaxing the linkage policy for atomics.

Reviewers: aheejin, sbc100, dschuff

Subscribers: jgravelle-google, hiraditya, sunfish, mgrang, jfb, jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59173

llvm-svn: 356610
2019-03-20 20:26:45 +00:00
..
Analysis [TTI] getMemcpyCost 2019-03-20 14:15:46 +00:00
Assembler [DebugInfo] Introduce DW_OP_LLVM_convert 2019-03-19 13:16:28 +00:00
Bindings [Go / ASAN] Disable Go bindings for ASAN tests. 2019-03-08 22:34:33 +00:00
Bitcode [DebugInfoMetadata] Move main subprogram DIFlag into DISPFlags 2019-03-19 13:49:03 +00:00
BugPoint
CodeGen [WebAssembly] Target features section 2019-03-20 20:26:45 +00:00
DebugInfo RegAllocFast: Remove early selection loop, the spill calculation will report cost 0 anyway for free regs 2019-03-19 19:01:34 +00:00
Demangle
Examples Fix a think-o in the disable-kaleidoscope-tests-on-windows predicate of r354646. 2019-02-22 03:56:50 +00:00
ExecutionEngine [yaml2obj]Allow explicit symbol indexes in relocations and emit error for bad names 2019-03-12 17:00:25 +00:00
Feature
FileCheck [FileCheck]Remove assertions that prevent matching an empty string at file start before CHECK-NEXT/SAME 2019-03-12 15:37:34 +00:00
Instrumentation [SanitizerCoverage] Avoid splitting critical edges when destination is a basic block containing unreachable 2019-03-12 18:20:25 +00:00
Integer
JitListener
LTO [Linker] Fix crash handling appending linkage 2019-03-20 19:20:07 +00:00
Linker
MC [WebAssembly] Target features section 2019-03-20 20:26:45 +00:00
MachineVerifier [AMDGPU] Add support for immediate operand for S_ENDPGM 2019-03-12 09:52:58 +00:00
Object [yaml2obj]Allow explicit symbol indexes in relocations and emit error for bad names 2019-03-12 17:00:25 +00:00
ObjectYAML [WebAssembly] Target features section 2019-03-20 20:26:45 +00:00
Other Resubmit r356511 "[TailCallElim] Add tailcall elimination pass to LTO pipelines" 2019-03-20 19:08:18 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen [CodeGen] Defined MVTs v3i32, v3f32, v5i32, v5f32 2019-03-17 22:56:38 +00:00
ThinLTO/X86 [ThinLTO] Restructure AliasSummary to contain ValueInfo of Aliasee 2019-03-15 15:11:38 +00:00
Transforms Simplify operands of masked stores and scatters based on demanded elements 2019-03-20 18:44:58 +00:00
Unit
Verifier Remove immarg from llvm.expect 2019-03-17 23:16:18 +00:00
YAMLParser
tools [llvm-objcopy] - Use replaceSectionReferences to update the sections for symbols in symbol table. 2019-03-20 13:57:47 +00:00
.clang-format
CMakeLists.txt [Kaleidoscope] Re-enable Kaleidoscope tests. 2019-02-21 22:24:53 +00:00
TestRunner.sh
lit.cfg.py
lit.site.cfg.py.in [Kaleidoscope] Re-enable Kaleidoscope tests. 2019-02-21 22:24:53 +00:00