llvm-project/llvm/utils
Simon Tatham 377b0e2b06 [TableGen] Don't elide bitconverts in PatFrag fragments.
Summary:
In the DAG pattern backend, `SimplifyTree` simplifies a pattern by
removing bitconverts between two identical types. But that function is
also run on the fragments list in instances of `PatFrags`, in which
the types haven't been specified yet. So the input and output of the
bitconvert always evaluate to the empty set of types, which makes them
compare equal. So the test always passes, and bitconverts are
unconditionally removed from the PatFrag RHS.

Fixed by spotting the empty type set and using it to inhibit the
optimization.

Reviewers: nhaehnle, hfinkel

Reviewed By: nhaehnle

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74627
2020-02-17 09:30:45 +00:00
..
FileCheck Improve error message of FileCheck when stdin is empty 2020-02-04 11:14:55 +00:00
KillTheDoctor Revert "Use InitLLVM to setup a pretty stack printer" 2019-11-25 21:06:56 -05:00
LLVMVisualizers
Misc
PerfectShuffle
Reviewing [find_interesting_reviews.py] Add git blame output cache 2019-12-23 12:08:16 +00:00
TableGen [TableGen] Don't elide bitconverts in PatFrag fragments. 2020-02-17 09:30:45 +00:00
Target/ARM
UpdateTestChecks [Utils] Allow "on-the-fly" argument changes for update_test_check scripts 2020-02-11 16:29:46 -06:00
benchmark Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
bugpoint [NFC] Fix trivial typos in comments 2020-01-06 10:50:26 +00:00
count
crosstool
docker Continue removing llgo. 2020-02-10 10:33:58 -08:00
emacs [TableGen] Update editor modes for new keywords. 2020-01-14 13:39:00 +00:00
fpcmp
gdb-scripts Add GDB pretty printers for llvm::ilist, llvm::simple_ilist, and llvm::ilist_node. 2020-01-30 09:35:49 +01:00
git-svn Continue removing llgo. 2020-02-10 10:33:58 -08:00
gn [gn build] use -Xclang form for fdebug-comp-dir for now 2020-02-16 21:30:27 -05:00
jedit
kate [TableGen] Update editor modes for new keywords. 2020-01-14 13:39:00 +00:00
lint
lit Fix lit version test 2020-02-13 21:49:48 +01:00
llvm-build
llvm-lit
llvm-locstats [llvm-locstats] Add the --compare option 2020-01-15 14:35:29 +01:00
not
release build_llvm_package.bat: Use a short form of the git revision 2020-02-03 16:40:10 +01:00
sanitizers
testgen
textmate
unittest Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
valgrind
vim [TableGen] Update editor modes for new keywords. 2020-01-14 13:39:00 +00:00
vscode [TableGen] Update editor modes for new keywords. 2020-01-14 13:39:00 +00:00
yaml-bench
DSAclean.py
DSAextract.py
GenLibDeps.pl
GetSourceVersion
LLVMBuild.txt
UpdateCMakeLists.pl
abtest.py
add_argument_names.py
bisect
bisect-skip-count
bugpoint_gisel_reducer.py
check-each-file
chunk-print-before-all.py
clang-parse-diagnostics-file
codegen-diff
collect_and_build_with_pgo.py
countloc.sh
create_ladder_graph.py
demangle_tree.py
extract_symbols.py Use portable flag with nm in extract_symbols.py 2019-10-23 16:48:22 -04:00
extract_vplan.py
findmisopt
findoptdiff
findsym.pl
getsrcs.sh
indirect_calls.py
lldbDataFormatters.py
llvm-compilers-check
llvm-gisel-cov.py
llvm-native-gxx
llvm.grm
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 [UpdateTestChecks] Change shebang from python to python3 2019-12-03 13:50:07 -08:00
update_cc_test_checks.py Fix line endings produced by update_cc_test_checks.py 2020-02-14 15:17:27 +00:00
update_llc_test_checks.py [UpdateTestChecks] Change shebang from python to python3 2019-12-03 13:50:07 -08:00
update_mca_test_checks.py [UpdateTestChecks] Change shebang from python to python3 2019-12-03 13:50:07 -08:00
update_mir_test_checks.py [UpdateTestChecks] Change shebang from python to python3 2019-12-03 13:50:07 -08:00
update_test_checks.py [NFC] Fix spelling 2020-02-11 16:44:04 -06:00
wciia.py