1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/include/llvm
Daniel Sanders 6c59dcec86 Re-commit: r309094 [globalisel][tablegen] Fuse the generated tables together.
Summary:
Now that we have control flow in place, fuse the per-rule 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.

This is NFC in terms of externally visible behaviour but some internals have
changed slightly. State.MIs is no longer reset between each rule that is
attempted because it's not necessary to do so. As a consequence of this the
restriction on the order that instructions are added to State.MIs has been
relaxed to only affect recorded instructions that require new elements to be
added to the vector. GIM_RecordInsn can now write to any element from 1 to
State.MIs.size() instead of just State.MIs.size().

The compile-time regressions from the last commit were caused by the ARM target
including a non-const variable (zero_reg) in the table and therefore generating
an initializer for it. That variable is now const.

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

Reviewed By: rovka

Subscribers: kristof.beyls, igorb, llvm-commits

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

llvm-svn: 309264
2017-07-27 11:03:45 +00:00
..
ADT Remove Bitrig: LLVM Changes 2017-07-21 22:48:47 +00:00
Analysis [Dominators] Change Roots type to SmallVector 2017-07-26 18:27:39 +00:00
AsmParser
BinaryFormat [WebAssembly] Expose the offset of each data segment 2017-07-12 00:24:54 +00:00
Bitcode ThinLTO Minimized Bitcode File Size Reduction 2017-07-21 17:25:20 +00:00
CodeGen Re-commit: r309094 [globalisel][tablegen] Fuse the generated tables together. 2017-07-27 11:03:45 +00:00
Config Implement parsing and writing of a single xml manifest file. 2017-07-20 21:42:04 +00:00
DebugInfo [DWARF] Generalized verification of .apple_names accelerator table to be applicable to any acceleration table. Added verification for .apple_types, .apple_namespaces and .apple_objc sections. 2017-07-26 00:52:31 +00:00
Demangle
ExecutionEngine Make EHFrames available to sub-classes of RTDyldMemoryManager. 2017-07-18 15:50:28 +00:00
IR [Dominators] Move root-finding out of DomTreeBase and simplify it 2017-07-26 18:07:40 +00:00
IRReader
LineEditor
Linker [Linker] Provide callback for internalization 2017-03-13 18:08:11 +00:00
LTO [LTO] Prevent dead stripping and internalization of symbols with sections 2017-07-25 19:42:32 +00:00
MC Revert "This patch enables the usage of constant Enum identifiers within Microsoft style inline assembly statements." 2017-07-25 19:22:09 +00:00
Object [LTO] Prevent dead stripping and internalization of symbols with sections 2017-07-25 19:42:32 +00:00
ObjectYAML [yaml2obj][ELF] Add support for program headers 2017-07-19 20:38:46 +00:00
Option [libOption] - Add flag allowing to print options aliases in help text. 2017-07-26 09:09:56 +00:00
Passes Make new PM honor -fdebug-info-for-profiling 2017-07-26 15:01:20 +00:00
ProfileData [ProfData] Detect if zlib is available 2017-07-21 21:41:15 +00:00
Support [Dominators] Fix typos. NFC. 2017-07-26 20:26:13 +00:00
TableGen Fix Wdocumentation warning 2017-06-20 12:28:33 +00:00
Target Change CallLoweringInfo::CS to be an ImmutableCallSite instead of a pointer. NFCI. 2017-07-26 19:15:29 +00:00
Testing/Support [Testing/Support] Remove the const_cast in TakeExpected 2017-06-22 13:11:50 +00:00
ToolDrivers llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
Transforms Migrate SimplifyLibCalls to new OptimizationRemarkEmitter 2017-07-26 19:03:18 +00:00
WindowsManifest Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00
XRay [XRay][tools] Add option to llvm-xray extract to symbolize functions 2017-04-18 23:23:54 +00:00
CMakeLists.txt Support: Add a VCSRevision.h header file. 2017-04-13 01:26:12 +00:00
InitializePasses.h [RegAllocFast] Add the proper initialize method to use the .mir infrastructure 2017-07-07 19:25:42 +00:00
LinkAllIR.h Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
LinkAllPasses.h Remove the BBVectorize pass. 2017-06-30 07:09:08 +00:00
module.modulemap Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00
module.modulemap.build Fix module map to create a module for the configured header Config/abi-breaking.h 2016-12-01 19:08:38 +00:00
Pass.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
PassAnalysisSupport.h Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
PassInfo.h [LegacyPassManager] Remove TargetMachine constructors 2017-05-18 17:21:13 +00:00
PassRegistry.h
PassSupport.h [LegacyPassManager] Remove TargetMachine constructors 2017-05-18 17:21:13 +00:00