llvm-6502/test
Quentin Colombet 2c6ef1c433 [InstCombiner] Expose opportunities to merge subtract and comparison.
Several architectures use the same instruction to perform both a comparison and
a subtract. The instruction selection framework does not allow to consider
different basic blocks to expose such fusion opportunities.

Therefore, these instructions are “merged” by CSE at MI IR level.

To increase the likelihood of CSE to apply in such situation, we reorder the
operands of the comparison, when they have the same complexity, so that they
matches the order of the most frequent subtract.
E.g.,

icmp A, B
...
sub B, A

<rdar://problem/14514580>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190352 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-09 20:56:48 +00:00
..
Analysis
Assembler Remove verifier check that attribute 'builtin' is only applied to calls to 2013-09-07 00:25:48 +00:00
Bindings/Ocaml
Bitcode Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
BugPoint
CodeGen Another attempt to fix windows buildbots. 2013-09-09 20:29:32 +00:00
DebugInfo Debug Info Testing: use null instead of an empty string in context field. 2013-09-09 00:12:17 +00:00
ExecutionEngine llvm interpreter: select, shuffle and insertelement instructions. 2013-09-02 06:40:09 +00:00
Feature
FileCheck
Instrumentation Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
Integer
JitListener Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
Linker Debug Info Testing: remove a commented out line. 2013-09-09 20:45:34 +00:00
MC Implement aarch64 neon instruction set AdvSIMD (3V Diff), covering the following 26 instructions, 2013-09-09 02:20:27 +00:00
Object
Other
TableGen
tools Print string value for DT_RPATH and DT_RUNPATH. 2013-09-03 17:13:53 +00:00
Transforms [InstCombiner] Expose opportunities to merge subtract and comparison. 2013-09-09 20:56:48 +00:00
Unit
Verifier
YAMLParser
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh