llvm/utils
Daniel Berlin 91a00349ed Update update_test_checks to work properly with phi nodes and other fun things.
Summary:
Prior to this change, phi nodes were never considered defs, and so we ended up with undefined variables for any loop.  Now, instead of trying to find just defs, we iterate over each actual IR value in the line, and replace them one by one with either a definition or a use.

We also don't try to match anything in the comment portions of the line.

I've tested it even on things like function pointer calls, etc, and against existing test cases uses update_test_checks
With this change, we are able to use update_tests on the cyclic cases in newgvn.

The only case i'm aware of that will misfire is if you have a string with which contains a valid token.
However, this is the same as it is now, with a slightly larger set of strings that may misfire.
Prior to this change, a test with the string " %a =" would be replaced.

Reviewers: spatel, chandlerc

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291357 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-07 19:04:59 +00:00
..
abtest abtest: Cleanup, improve comments 2016-03-26 04:07:55 +00:00
bugpoint
count
crosstool
emacs
FileCheck [FileCheck] Fix --strict-whitespace --match-full-lines 2016-12-18 20:45:59 +00:00
fpcmp
gdb-scripts GDB pretty printers: Basic DenseMap support 2016-12-16 23:53:14 +00:00
git
git-svn Remove extraneous space. 2016-12-20 05:49:56 +00:00
jedit
kate
KillTheDoctor KillTheDoctor.cpp: Appease cases on case-senstitive host, like mingw on linux. 2016-12-23 01:39:26 +00:00
lint
lit [gtest] Upgrade googletest to version 1.8.0, minimizing local changes. 2017-01-04 23:06:03 +00:00
llvm-build
llvm-lit Fix llvm-lit.in corresponding to r283710. 2016-10-10 23:02:42 +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-viewer] Add support for libYAML for faster parsing 2016-11-15 08:40:51 +00:00
PerfectShuffle
release Print correct directory in merge script. 2016-11-11 23:26:28 +00:00
TableGen Mark comparator call operator as const 2016-12-27 23:15:58 +00:00
Target/ARM
testgen
textmate
unittest [gtest] Detect warning flags using the positive spelling. 2017-01-06 23:16:00 +00:00
valgrind
vim vim: special case the CHECK prefix 2016-11-03 15:56:06 +00:00
yaml-bench Timer: Track name and description. 2016-11-18 19:43:18 +00:00
bisect
check-each-file
clang-parse-diagnostics-file
codegen-diff
countloc.sh
create_ladder_graph.py
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
llvm-compilers-check
llvm-native-gxx
llvm.grm
LLVMBuild.txt
llvmdo
llvmgrep
makellvm
prepare-code-coverage-artifact.py [utils] Add a '--unified-report' option to the code coverage prep script 2016-10-26 22:07:39 +00:00
schedcover.py
shuffle_fuzz.py
sort_includes.py
test_debuginfo.pl
update_llc_test_checks.py Fix indentation in r290716. 2016-12-29 20:05:51 +00:00
update_test_checks.py Update update_test_checks to work properly with phi nodes and other fun things. 2017-01-07 19:04:59 +00:00
UpdateCMakeLists.pl
wciia.py