1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02: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
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
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
llvm-lit
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
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
vscode
yaml-bench Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
abtest.py
bisect
bisect-skip-count
bugpoint_gisel_reducer.py
check-each-file
clang-parse-diagnostics-file
codegen-diff
countloc.sh
create_ladder_graph.py
DSAclean.py
DSAextract.py
extract_symbols.py
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl
GetRepositoryPath
GetSourceVersion
getsrcs.sh
indirect_calls.py
lldbDataFormatters.py [utils] Fix the llvm::Optional data formatter 2018-07-23 21:59:06 +00:00
llvm-compilers-check
llvm-gisel-cov.py
llvm-native-gxx
llvm.grm
LLVMBuild.txt
llvmdo
llvmgrep
prepare-code-coverage-artifact.py
schedcover.py
shuffle_fuzz.py
shuffle_select_fuzz_tester.py
sort_includes.py
unicode-case-fold.py
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
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_test_checks.py
UpdateCMakeLists.pl
wciia.py