1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib
Daniel Sanders 6ad3513c78 [globalisel][tablegen] Compute available feature bits correctly.
Summary:
Predicate<> now has a field to indicate how often it must be recomputed.
Currently, there are two frequencies, per-module (RecomputePerFunction==0)
and per-function (RecomputePerFunction==1). Per-function predicates are
currently recomputed more frequently than necessary since the only predicate
in this category is cheap to test. Per-module predicates are now computed in
getSubtargetImpl() while per-function predicates are computed in selectImpl().

Tablegen now manages the PredicateBitset internally. It should only be
necessary to add the required includes.

Also fixed a problem revealed by the test case where
constrainSelectedInstRegOperands() would attempt to tie operands that
BuildMI had already tied.

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

Reviewed By: rovka

Subscribers: kristof.beyls, igorb, llvm-commits

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

llvm-svn: 301750
2017-04-29 17:30:09 +00:00
..
Analysis [KnownBits] Add methods for determining if the known bits represent a negative/nonnegative number and add methods for changing the negative/nonnegative state 2017-04-29 16:43:11 +00:00
AsmParser Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
Bitcode Remove set but unused variable in BitcodeReader.cpp. NFC. 2017-04-28 23:11:16 +00:00
CodeGen [globalisel][tablegen] Compute available feature bits correctly. 2017-04-29 17:30:09 +00:00
DebugInfo [llvm-pdbdump] Abstract some of the YAML/Raw printing code. 2017-04-29 01:13:21 +00:00
Demangle Add support for demangling C++11 thread_local variables. 2017-01-31 15:56:36 +00:00
ExecutionEngine [APInt] Use inplace shift methods where possible. NFCI 2017-04-28 03:36:24 +00:00
Fuzzer Fuzzer: Mark test/cxxstring.test UNSUPPORTED: windows 2017-04-28 23:59:53 +00:00
IR [ConstantRange] Use ternary operator instead of 'if' to avoid copying an APInt and then possibly copying over it. 2017-04-29 07:24:13 +00:00
IRReader
LibDriver Fix some ArgList uses after API change in r300135. 2017-04-12 23:43:58 +00:00
LineEditor
Linker [Linker] Provide callback for internalization 2017-03-13 18:08:11 +00:00
LTO LTO: Mark undefined module asm symbols as used. 2017-04-26 17:53:39 +00:00
MC [llvm-pdbdump] Abstract some of the YAML/Raw printing code. 2017-04-29 01:13:21 +00:00
Object LTO: Mark undefined module asm symbols as used. 2017-04-26 17:53:39 +00:00
ObjectYAML [WebAssembly] Allow for signed relocation addends 2017-04-26 00:02:31 +00:00
Option ArgList: cache index ranges containing arguments with each ID 2017-04-12 23:19:51 +00:00
Passes [PM/LoopUnswitch] Introduce a new, simpler loop unswitch pass. 2017-04-27 18:45:20 +00:00
ProfileData [ProfileData] Unify getInstrProf*SectionName helpers 2017-04-15 00:09:57 +00:00
Support [APInt] Use inplace shift methods where possible. NFCI 2017-04-28 03:36:24 +00:00
TableGen
Target [globalisel][tablegen] Compute available feature bits correctly. 2017-04-29 17:30:09 +00:00
Transforms [KnownBits] Add methods for determining if the known bits represent a negative/nonnegative number and add methods for changing the negative/nonnegative state 2017-04-29 16:43:11 +00:00
XRay [XRay] - Fix spelling error to test commit access. 2017-04-06 03:32:01 +00:00
CMakeLists.txt
LLVMBuild.txt