Go to file
Daniel Sanders 7aac7cc57f [globalisel][tablegen] Add control-flow to the MatchTable.
Summary:
This will allow us to merge the various sub-tables into a single table. This is a
compile-time saving at this point. However, this will also enable the optimization
of a table so that similar instructions can be tested together, reducing the time
spent on the matching the code.

The bulk of this patch is a mechanical conversion to the new MatchTable object
which is responsible for tracking label definitions and filling in the index of
the jump targets. It is also responsible for nicely formatting the table.

This was necessary to support the new GIM_Try opcode which takes the index to
jump to if the match should fail. This value is unknown during table
construction and is filled in during emission. To support nesting try-blocks
(although we currently don't emit tables with nested try-blocks), GIM_Reject
has been re-introduced to explicitly exit a try-block or fail the overall match
if there are no active try-blocks.

Reviewers: ab, t.p.northover, qcolombet, rovka, aditya_nandakumar

Reviewed By: rovka

Subscribers: kristof.beyls, igorb, llvm-commits

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

llvm-svn: 308596
2017-07-20 09:25:44 +00:00
clang clang/module.modulemap: Clang_Diagnostics: Activate "Sema/SemaDiagnostic.h". 2017-07-20 07:51:47 +00:00
clang-tools-extra [clangd] Allow specifying -resource-dir 2017-07-19 15:43:35 +00:00
compiler-rt [compiler-rt] Replace VPrintf with VReport in sanitizer_tls_get_addr.cc 2017-07-20 01:36:16 +00:00
debuginfo-tests Add a test for PR33166. 2017-05-25 19:33:16 +00:00
libclc generic: add missing get_work_dim include 2017-06-02 15:58:35 +00:00
libcxx [libcxx] [test] Update msvc_stdlib_force_include.hpp. 2017-07-19 22:02:33 +00:00
libcxxabi Update version to 6.0.0svn 2017-07-19 13:42:18 +00:00
libunwind Bump docs version to 6.0 2017-07-19 13:49:39 +00:00
lld [COFF] Minor tweaks to ARM64 relocation code. NFC. 2017-07-20 05:49:58 +00:00
lldb Add help text for "expression" telling how to enter multi-line mode. 2017-07-19 23:25:42 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [globalisel][tablegen] Add control-flow to the MatchTable. 2017-07-20 09:25:44 +00:00
openmp OpenMP RTL cleanup: two PAUSEs per spin loop iteration replaced with single one 2017-07-19 09:26:13 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Make byref llvm::Use parameters const. NFC. 2017-07-19 20:41:56 +00:00