1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/utils
Craig Topper eef2c65e50 Recommit r355224 "[TableGen][SelectionDAG][X86] Add specific isel matchers for immAllZerosV/immAllOnesV. Remove bitcasts from X86 patterns that are no longer necessary."
Includes a fix to emit a CheckOpcode for build_vector when immAllZerosV/immAllOnesV is used as a pattern root. This means it can't be used to look through bitcasts when used as a root, but that's probably ok. This extra CheckOpcode will ensure that the first match in the isel table will be a SwitchOpcode which is needed by the caching optimization in the ISel Matcher.

Original commit message:

Previously we had build_vector PatFrags that called ISD::isBuildVectorAllZeros/Ones. Internally the ISD::isBuildVectorAllZeros/Ones look through bitcasts, but we aren't able to take advantage of that in isel. Instead of we have to canonicalize the types of the all zeros/ones build_vectors and insert bitcasts. Then we have to pattern match those exact bitcasts.

By emitting specific matchers for these 2 nodes, we can make isel look through any bitcasts without needing to explicitly match them. We should also be able to remove the canonicalization to vXi32 from lowering, but I've left that for a follow up.

This removes something like 40,000 bytes from the X86 isel table.

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

llvm-svn: 355784
2019-03-10 05:21:52 +00:00
..
benchmark Silence CMP0048 warning in the benchmark utility library 2018-12-14 00:17:12 +00:00
bugpoint
count Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
crosstool
docker [build] Rename clang-headers to clang-resource-headers 2019-03-04 21:19:53 +00:00
emacs Add fneg instruction to syntax highlighting lists 2018-11-13 19:50:38 +00:00
FileCheck Recommit: Detect incorrect FileCheck variable CLI definition 2019-02-05 14:17:28 +00:00
fpcmp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
gdb-scripts Python compat - iterator protocol 2019-01-03 15:43:14 +00:00
git
git-svn [git-llvm] Only use --force-interactive when supported 2019-03-10 01:34:42 +00:00
gn [HWASan] Save + print registers when tag mismatch occurs in AArch64. 2019-03-08 21:22:35 +00:00
jedit
kate Add fneg instruction to syntax highlighting lists 2018-11-13 19:50:38 +00:00
KillTheDoctor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
lint Python compat - print statement 2019-01-03 14:11:33 +00:00
lit Add Support for Creating and Deleting Unicode Files and Directories in Lit 2019-02-28 19:16:17 +00:00
llvm-build Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-lit [lit] llvm-lit.in: specify file encoding to UTF-8 2019-01-14 20:02:11 +00:00
LLVMVisualizers Fix visualization of intrusive reference counted objects in MSVC. 2019-01-09 18:59:56 +00:00
Misc
not Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PerfectShuffle Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
release test-release.sh: Add option to use ninja 2019-02-11 10:30:22 +00:00
Reviewing Python compat - iteritems() vs. items() 2019-01-03 14:12:23 +00:00
sanitizers Add a ubsan blacklist entry for libstdc++ 8.0.1. 2018-11-21 23:04:39 +00:00
TableGen Recommit r355224 "[TableGen][SelectionDAG][X86] Add specific isel matchers for immAllZerosV/immAllOnesV. Remove bitcasts from X86 patterns that are no longer necessary." 2019-03-10 05:21:52 +00:00
Target/ARM Python compat - print statement 2019-01-03 14:11:33 +00:00
testgen
textmate
unittest Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
UpdateTestChecks [ARM] Add armv8a triple to test check updaters 2019-03-01 09:26:21 +00:00
valgrind
vim vim: swiftself is an attribute 2019-02-27 00:12:11 +00:00
vscode
yaml-bench Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
abtest.py utils/abtest: Refactor and add bisection method 2018-09-07 17:08:44 +00:00
bisect
bisect-skip-count Document bisect-skip-count 2018-10-22 14:04:13 +00:00
bugpoint_gisel_reducer.py Add a utility to reduce GlobalISel tests 2018-01-23 19:47:10 +00:00
check-each-file
clang-parse-diagnostics-file
codegen-diff
collect_and_build_with_pgo.py [utils] collect_and_build_with_pgo.py: revert part already fixed in rL345461 2018-10-27 23:10:09 +00:00
countloc.sh Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
create_ladder_graph.py Pythran compat - range vs. xrange 2019-01-03 14:11:58 +00:00
demangle_tree.py Python compat - print statement 2019-01-03 14:11:33 +00:00
DSAclean.py Python compat - print statement 2019-01-03 14:11:33 +00:00
DSAextract.py Python compat - print statement 2019-01-03 14:11:33 +00:00
extract_symbols.py Fix some user facing typos 2018-03-17 17:30:08 +00:00
extract_vplan.py Python compat - print statement 2019-01-03 14:11:33 +00:00
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl
GetRepositoryPath
GetSourceVersion
getsrcs.sh Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
indirect_calls.py Python compat - print statement 2019-01-03 14:11:33 +00:00
lldbDataFormatters.py [utils] Update SmallVector lldb formatter for r337514 2018-11-06 18:52:30 +00:00
llvm-compilers-check Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-gisel-cov.py Python compat - print statement 2019-01-03 14:11:33 +00:00
llvm-native-gxx
llvm.grm
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvmdo Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvmgrep Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
prepare-code-coverage-artifact.py [Coverage] Apply filtered paths to summary 2018-10-11 04:00:51 +00:00
schedcover.py Python compat - map/filter 2019-01-03 14:12:30 +00:00
shuffle_fuzz.py Pythran compat - range vs. xrange 2019-01-03 14:11:58 +00:00
shuffle_select_fuzz_tester.py Python compat - print statement 2019-01-03 14:11:33 +00:00
sort_includes.py
unicode-case-fold.py Python compat - urllib 2019-01-03 14:12:44 +00:00
update_analyze_test_checks.py Add wildcard support to all update_*_test_checks.py scripts (PR37500) 2019-03-05 10:44:37 +00:00
update_cc_test_checks.py Fix LLVM IR check lines in utils/update_cc_test_checks.py 2018-03-14 17:47:07 +00:00
update_llc_test_checks.py Add wildcard support to all update_*_test_checks.py scripts (PR37500) 2019-03-05 10:44:37 +00:00
update_mca_test_checks.py [utils] Fix update scripts output when run on python3. 2019-01-30 16:15:59 +00:00
update_mir_test_checks.py Add wildcard support to all update_*_test_checks.py scripts (PR37500) 2019-03-05 10:44:37 +00:00
update_test_checks.py Add wildcard support to all update_*_test_checks.py scripts (PR37500) 2019-03-05 10:44:37 +00:00
UpdateCMakeLists.pl
wciia.py Python compat - print statement 2019-01-03 14:11:33 +00:00