hanchenye-llvm-project/llvm/test
David Majnemer 1fae195557 Reorders two transforms that collide with each other
One performs: (X == 13 | X == 14) -> X-13 <u 2
The other: (A == C1 || A == C2) -> (A & ~(C1 ^ C2)) == C1

The problem is that there are certain values of C1 and C2 that
trigger both transforms but the first one blocks out the second,
this generates suboptimal code.

Reordering the transforms should be better in every case and
allows us to do interesting stuff like turn:
  %shr = lshr i32 %X, 4
  %and = and i32 %shr, 15
  %add = add i32 %and, -14
  %tobool = icmp ne i32 %add, 0

into:
  %and = and i32 %X, 240
  %tobool = icmp ne i32 %and, 224

llvm-svn: 179493
2013-04-14 21:15:43 +00:00
..
Analysis CostModel: increase the default cost of supported floating point operations from 1 to two. Fixed a few tests that changes because now the cost of one insert + a vector operation on two doubles is lower than two scalar operations on doubles. 2013-04-12 21:15:03 +00:00
Archive
Assembler Correct invalid debug info metadata 2013-03-12 19:04:24 +00:00
Bindings/Ocaml Use the attribute group reference instead of the attribute directly. 2013-02-20 07:48:23 +00:00
Bitcode Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00
BugPoint
CodeGen Use i32 for all SPARC shift amounts, even in 64-bit mode. 2013-04-14 05:48:50 +00:00
DebugInfo Revert "Update the version of dwarf we say we're emitting to at least 3." 2013-04-10 21:45:07 +00:00
ExecutionEngine Revert r179409 because it caused some warnings and some of the build bots fail. 2013-04-12 22:02:26 +00:00
Feature Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
FileCheck Canonicalize line endings to Linux style also when the --strict-whitespace flag is in use. This flag is supposed to affect horizontal whitespaces only. 2013-02-06 20:40:38 +00:00
Instrumentation Add missing colons to check lines. 2013-04-11 12:41:41 +00:00
Integer Rewrite test/Integer tests to use FileCheck instead of grep 2013-04-08 20:18:15 +00:00
JitListener Add support for source and line information to IntelJITEventListener for object emitted by MCJIT. 2013-01-28 19:52:37 +00:00
Linker Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
MC ARM: Correct printing of pre-indexed operands. 2013-04-12 18:47:25 +00:00
Object Add a test for obj2yaml in preparation for refactoring it. 2013-04-05 02:02:05 +00:00
Other Check isDiscardableIfUnused, rather than hasLocalLinkage, when bumping 2013-03-04 22:40:44 +00:00
TableGen Allow TableGen DAG arguments to be just a name. 2013-03-24 19:36:51 +00:00
Transforms Reorders two transforms that collide with each other 2013-04-14 21:15:43 +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 Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +00:00
YAMLParser
tools Finish templating MachObjectFile over endianness. 2013-04-13 01:45:40 +00:00
CMakeLists.txt Add obj2yaml to test dependencies 2013-04-05 07:26:37 +00:00
Makefile Reverted r176374. In some cases the lit.site.cfg file does not get generated in tools/clang/tools/extra. 2013-03-22 18:54:14 +00:00
Makefile.tests Remove obsolete object file dumpers 2013-04-12 04:07:13 +00:00
TestRunner.sh
lit.cfg Remove obsolete object file dumpers 2013-04-12 04:07:13 +00:00
lit.site.cfg.in Add asan/msan to the list of available features in LIT test runner 2013-03-26 08:27:39 +00:00