llvm/test
Richard Sandiford 9379557478 [SystemZ] Use BRCT and BRCTG to eliminate add-&-compare sequences
This patch just uses a peephole test for "add; compare; branch" sequences
within a single block.  The IR optimizers already convert loops to
decrement-and-branch-on-nonzero form in some cases, so even this
simplistic test triggers many times during a clang bootstrap and
projects/test-suite run.  It looks like there are still cases where we
need to more strongly prefer branches on nonzero though.  E.g. I saw a
case where a loop that started out with a check for 0 ended up with a
check for -1.  I'll try to look at that sometime.

I ended up adding the Reference class because MachineInstr::readsRegister()
doesn't check for subregisters (by design, as far as I could tell).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187723 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-05 11:23:46 +00:00
..
Analysis Fixes ARM LNT bot from SLP change in O3 2013-08-02 17:10:04 +00:00
Assembler Debug Info: enable verifier for testing cases. 2013-07-29 20:18:19 +00:00
Bindings/Ocaml Fix %t typo in Ocaml bindings test. 2013-07-10 18:55:06 +00:00
Bitcode Make .bc en/decoding of AttrKind stable 2013-07-26 04:16:55 +00:00
BugPoint Remove "lto_on_osx" xfails, now that -rdynamic works on Darwin. 2013-08-04 23:55:24 +00:00
CodeGen [SystemZ] Use BRCT and BRCTG to eliminate add-&-compare sequences 2013-08-05 11:23:46 +00:00
DebugInfo Bugfix for making the DWARF debug strings and labels to code emitted as secrel32 instead of long opcodes (only for coff). This makes them debuggable with GDB (with fix for 64bits msvc) 2013-08-02 16:14:15 +00:00
ExecutionEngine [mips] Remove XFAIL from test-ptr-reloc-remote.ll 2013-07-24 17:14:05 +00:00
Feature Remove "lto_on_osx" xfails, now that -rdynamic works on Darwin. 2013-08-04 23:55:24 +00:00
FileCheck Fix handling of CHECK-DAG combined with CHECK-NOT 2013-08-02 11:32:50 +00:00
Instrumentation Debug Info: update testing cases to pass verifier. 2013-07-29 18:12:58 +00:00
Integer Rewrite test/Integer tests to use FileCheck instead of grep 2013-04-08 20:18:15 +00:00
JitListener Debug Info: update testing cases to pass verifier. 2013-07-29 18:12:58 +00:00
Linker Debug Info Verifier: enable verification of DICompileUnit. 2013-07-26 20:04:30 +00:00
MC [SystemZ] Add definitions for BRCT and BRCTG 2013-08-05 11:07:38 +00:00
Object Add support for the 's' operation to llvm-ar. 2013-07-29 12:40:31 +00:00
Other Use pipefail when available. 2013-07-26 22:32:58 +00:00
TableGen Fix a bug in TableGen where the intrinsic function name recognizer could mis-identify names if one was a prefix substring of the other 2013-07-25 12:32:00 +00:00
tools Remove the mblaze backend from llvm. 2013-07-25 18:55:05 +00:00
Transforms SLPVectorizer: Fix PR16777. PHInodes may use multiple extracted values that come from different blocks. 2013-08-02 18:40:24 +00:00
Unit Propagate path to ASan/MSan symbolizer into test environment to produce useful reports on errors. 2013-04-04 07:41:00 +00:00
Verifier Reject bitcasts between address spaces with different sizes 2013-07-31 17:49:08 +00:00
YAMLParser Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
CMakeLists.txt llvm/test/CMakeLists.txt: Add llvm-cov in "check-clang". 2013-07-08 08:44:36 +00:00
lit.cfg Remove "lto_on_osx" xfails, now that -rdynamic works on Darwin. 2013-08-04 23:55:24 +00:00
lit.site.cfg.in Allow host triple to be correctly overridden in CMake builds 2013-05-04 07:36:23 +00:00
Makefile add polly to check-all 2013-05-20 18:49:15 +00:00
Makefile.tests Remove dead code from the makefile build system. 2013-07-25 20:25:31 +00:00
TestRunner.sh