llvm/utils
Daniel Sanders e8660ea63d [globalisel][tablegen] Import SelectionDAG's rule predicates and support the equivalent in GIRule.
Summary:
The SelectionDAG importer now imports rules with Predicate's attached via
Requires, PredicateControl, etc. These predicates are implemented as
bitset's to allow multiple predicates to be tested together. However,
unlike the MC layer subtarget features, each target only pays for it's own
predicates (e.g. AArch64 doesn't have 192 feature bits just because X86
needs a lot).

Both AArch64 and X86 derive at least one predicate from the MachineFunction
or Function so they must re-initialize AvailableFeatures before each
function. They also declare locals in <Target>InstructionSelector so that
computeAvailableFeatures() can use the code from SelectionDAG without
modification.

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

Reviewed By: rovka

Subscribers: aemerson, rengolin, dberris, kristof.beyls, llvm-commits, igorb

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300993 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-21 15:59:56 +00:00
..
abtest abtest: Cleanup, improve comments 2016-03-26 04:07:55 +00:00
bugpoint
count Remove autoconf support 2016-01-26 21:29:08 +00:00
crosstool
emacs Cleaning up LLVM IR mode for Emacs. 2015-09-10 13:44:28 +00:00
FileCheck Test commit. 2017-03-14 10:51:14 +00:00
fpcmp Remove autoconf support 2016-01-26 21:29:08 +00:00
gdb-scripts Add GDB pretty-printer for llvm::Twine type 2017-03-15 20:51:44 +00:00
git
git-svn Remove extraneous space. 2016-12-20 05:49:56 +00:00
jedit Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
kate Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
KillTheDoctor KillTheDoctor.cpp: Appease cases on case-senstitive host, like mingw on linux. 2016-12-23 01:39:26 +00:00
lint
lit [lit] Try using process pools by default again 2017-04-07 15:28:32 +00:00
llvm-build llvm-config: Add preliminary Windows support 2016-02-09 19:41:14 +00:00
llvm-lit [utils] Add libc++ and libc++abi config to llvm-lit 2017-01-17 07:10:55 +00:00
LLVMVisualizers Improve natvis for llvm::SmallString so that it correctly displays only the valid portion of the string 2016-12-21 01:05:29 +00:00
Misc Delete mergefunctions.clang.svn.patch 2016-04-12 19:44:40 +00:00
not Remove unused header, NFC. 2016-12-01 19:38:48 +00:00
opt-viewer [opt-diff] Fix the case when the script is invoked with directories 2017-03-06 19:15:22 +00:00
PerfectShuffle Remove autoconf support 2016-01-26 21:29:08 +00:00
release build_llvm_package.bat: Move to VS2017 2017-04-13 23:13:23 +00:00
sanitizers Fix UBSan bots by blacklisting bits/stl_tree.h. 2017-01-13 17:30:10 +00:00
TableGen [globalisel][tablegen] Import SelectionDAG's rule predicates and support the equivalent in GIRule. 2017-04-21 15:59:56 +00:00
Target/ARM
testgen
textmate
unittest [CMake] Fix pthread handling for out-of-tree builds 2017-02-10 01:59:20 +00:00
valgrind
vim vim: add returned keyword 2017-02-10 23:57:11 +00:00
yaml-bench Timer: Track name and description. 2016-11-18 19:43:18 +00:00
bisect
bisect-skip-count Fix bug in bisect-skip-count not using passed-in arguments 2017-03-04 03:23:41 +00:00
check-each-file
clang-parse-diagnostics-file
codegen-diff
countloc.sh
create_ladder_graph.py Add ladder graph utility 2015-04-14 18:14:38 +00:00
DSAclean.py
DSAextract.py
extract_symbols.py Handle non-inlined clang::Type::getAs specializations in extract_symbols.py 2016-11-14 17:07:09 +00:00
findmisopt
findoptdiff Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
findsym.pl
GenLibDeps.pl Remove bit-rotten CppBackend. 2016-05-05 14:35:40 +00:00
GetRepositoryPath
GetSourceVersion
getsrcs.sh
lldbDataFormatters.py utils: Teach lldbDataFormatters about llvm::Optional 2015-02-20 02:55:22 +00:00
llvm-compilers-check
llvm-native-gxx
llvm.grm
LLVMBuild.txt
llvmdo
llvmgrep
makellvm
prepare-code-coverage-artifact.py [utils] coverage: Add help text about the --restrict flag (NFC) 2017-02-09 19:37:18 +00:00
schedcover.py [MISched] Python script to check coverage of misched info 2015-10-12 08:50:47 +00:00
shuffle_fuzz.py [Utils] Updated shuffle fuzz script to generate more modern (valid) IR. 2015-11-22 16:04:32 +00:00
sort_includes.py Add polly support to sort_includes.py 2015-05-09 09:08:56 +00:00
test_debuginfo.pl
update_llc_test_checks.py [PPC] Add generated tests for all atomic operations 2017-03-23 16:02:47 +00:00
update_test_checks.py Update update_test_checks so that . is a valid identifier character in addition to _ 2017-01-15 07:40:46 +00:00
UpdateCMakeLists.pl
wciia.py