1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/utils
Ulrich Weigand 45f5d3d85c [SystemZ, TableGen] Fix shift count handling
The DAG combiner logic to simplify AND masks in shift counts is invalid.
While it is true that the SystemZ shift instructions ignore all but the
low 6 bits of the shift count, it is still invalid to simplify the AND
masks while the DAG still uses the standard shift operators (which are
*not* defined to match the SystemZ instruction behavior).

Instead, this patch performs equivalent operations during instruction
selection. For completely removing the AND, this now happens via
additional DAG match patterns implemented by a multi-alternative
PatFrags. For simplifying a 32-bit AND to a 16-bit AND, the existing DAG
patterns were already mostly OK, they just needed an output XForm to
actually truncate the immediate value.

Unfortunately, the latter change also exposed a bug in TableGen: it
seems XForms are currently only handled correctly for direct operands of
the outermost operation node. This patch also fixes that bug by simply
recurring through the whole pattern. This should be NFC for all other
targets.

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

llvm-svn: 338521
2018-08-01 11:57:58 +00:00
..
bugpoint
count
crosstool
docker [docker] Fix LLVM_EXTERNAL_PROJECTS cmake variable value 2018-07-24 18:34:13 +00:00
emacs Add attributes and fix some keywords in llvm-mode.el 2018-03-08 01:28:45 +00:00
FileCheck [FileCheck] Provide an option for FileCheck to dump original input to stderr on failure 2018-07-20 20:21:57 +00:00
fpcmp
gdb-scripts [gdb] Fix SmallVector pretty printer after r337514 2018-07-23 21:33:51 +00:00
git
git-svn [git-llvm] Handle files ignored by svn correctly 2017-12-22 21:19:13 +00:00
jedit
kate Add (very partial) Kate syntax highlighting definition for TableGen 2018-07-18 18:35:27 +00:00
KillTheDoctor Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
lint
lit [lit] Move the shtest-xunit-output check lines into shtest-format 2018-07-23 18:08:36 +00:00
llvm-build Remove llvm-build's --configure-target-def-file. 2018-04-20 17:21:10 +00:00
llvm-lit [lit] Actually do normalize the case of files in the config map. 2017-09-21 21:27:11 +00:00
LLVMVisualizers Add VS natvis support for LLVMDemangle's StringView. 2018-07-28 17:25:42 +00:00
Misc
not Refactor ExecuteAndWait to take StringRefs. 2018-06-12 17:43:52 +00:00
PerfectShuffle
release build_llvm_package.bat: Re-try the build steps 2018-07-03 11:30:01 +00:00
Reviewing Make email options of find_interesting_reviews more flexible. 2018-06-29 07:16:27 +00:00
sanitizers UBSan blacklist workaround for bot timeouts 2018-06-25 21:28:35 +00:00
TableGen [SystemZ, TableGen] Fix shift count handling 2018-08-01 11:57:58 +00:00
Target/ARM
testgen
textmate
unittest [unittests] Change std::sort to llvm::sort in response to r327219 2018-04-07 01:29:45 +00:00
UpdateTestChecks Re-land r335297 "[X86] Implement more of x86-64 large and medium PIC code models" 2018-07-23 21:14:35 +00:00
valgrind
vim vim: rename singlethread to syncscope 2018-03-22 16:39:54 +00:00
vscode Adding VSCode syntax colorizer to utils (generated from textmate colorizer). 2017-05-09 17:13:37 +00:00
yaml-bench Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
abtest.py AsmPrinter: mark the beginning and the end of a function in verbose mode 2017-05-23 21:22:16 +00:00
bisect Add a small utility called bisect that enables commandline bisecting on a counter. 2014-08-02 01:39:08 +00:00
bisect-skip-count Fix bug in bisect-skip-count not using passed-in arguments 2017-03-04 03:23:41 +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
countloc.sh
create_ladder_graph.py
DSAclean.py
DSAextract.py
extract_symbols.py Fix some user facing typos 2018-03-17 17:30:08 +00:00
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl
GetRepositoryPath
GetSourceVersion [utils] Fix Get{RepositoryPath,SourceVersion} to have a more robust is-git-svn 2012-05-15 18:44:09 +00:00
getsrcs.sh
indirect_calls.py Remove a stale comment cut and pasted from another file. 2018-04-03 17:07:05 +00:00
lldbDataFormatters.py [utils] Fix the llvm::Optional data formatter 2018-07-23 21:59:06 +00:00
llvm-compilers-check
llvm-gisel-cov.py [globalisel][tablegen] Generate rule coverage and use it to identify untested rules 2017-11-16 00:46:35 +00:00
llvm-native-gxx
llvm.grm
LLVMBuild.txt
llvmdo
llvmgrep
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 [MachineScheduler] Add itinerary to schedcover.py. Make default work in the command line filter 2018-03-27 04:26:39 +00:00
shuffle_fuzz.py
shuffle_select_fuzz_tester.py Adding a shufflevector and select LLVM IR instructions fuzz tool 2017-10-31 11:39:31 +00:00
sort_includes.py
unicode-case-fold.py Resubmit r325107 (case folding DJB hash) 2018-02-21 22:36:31 +00:00
update_analyze_test_checks.py [NFC] chmod +x utils/update_analyze_test_checks.py 2018-06-15 12:41:50 +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 Re-land r335297 "[X86] Implement more of x86-64 large and medium PIC code models" 2018-07-23 21:14:35 +00:00
update_mca_test_checks.py [UpdateTestChecks] Error if --llvm-mca-binary gets an empty string 2018-06-05 17:16:19 +00:00
update_mir_test_checks.py update_mir_test_checks: Fix handling of IR input after r326284 2018-03-12 18:06:58 +00:00
update_test_checks.py [UpdateTestChecks] Remove unnecessary return from add_ir_checks 2018-04-05 09:30:42 +00:00
UpdateCMakeLists.pl Generalize matching of add_executable to add_XXX_executable. 2012-11-22 07:48:52 +00:00
wciia.py