llvm-6502/lib
Richard Sandiford 2984497cc1 Match the InstCombine form of rotates by X+C
InstCombine converts (sub 32, (add X, C)) into (sub 32-C, X),
so a rotate left of a 32-bit Y by X+C could appear as either:

   (or (shl Y, (add X, C)), (shr Y, (sub 32, (add X, C))))

without InstCombine or:

   (or (shl Y, (add X, C)), (shr Y, (sub 32-C, X)))

with it.

We already matched the first form.  This patch handles the second too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198860 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-09 10:49:40 +00:00
..
Analysis Put the functionality for printing a value to a raw_ostream as an 2014-01-09 02:29:41 +00:00
AsmParser Move the LLVM IR asm writer header files into the IR directory, as they 2014-01-07 12:34:26 +00:00
Bitcode Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
CodeGen Match the InstCombine form of rotates by X+C 2014-01-09 10:49:40 +00:00
DebugInfo llvm-dwarfdump: type unit dwo support 2014-01-09 05:08:24 +00:00
ExecutionEngine Re-apply r196639: Add support for archives and object file caching under MCJIT. 2014-01-08 04:09:09 +00:00
IR Revert r198819 - "Remove dead code." 2014-01-09 07:50:34 +00:00
IRReader Move the LLVM IR asm writer header files into the IR directory, as they 2014-01-07 12:34:26 +00:00
Linker Revert "Move copying of global initializers below the cloning of functions." 2013-11-09 00:43:18 +00:00
LTO Move the llvm mangler to lib/IR. 2014-01-07 21:19:40 +00:00
MC Prototype of skeleton type units for fission 2014-01-09 05:08:28 +00:00
Object Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
Option Avoid buffer copies when a Twine already is a StringRef. 2013-12-03 18:18:28 +00:00
Support Try to fix the windows build. The comments in other files don't seem to 2014-01-07 12:37:13 +00:00
TableGen [TableGen] Correctly generate implicit anonymous prototype defs in multiclasses 2014-01-02 20:47:09 +00:00
Target Put the functionality for printing a value to a raw_ostream as an 2014-01-09 02:29:41 +00:00
Transforms Put the functionality for printing a value to a raw_ostream as an 2014-01-09 02:29:41 +00:00
CMakeLists.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
LLVMBuild.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
Makefile Reformat Makefile. No other changes. 2013-10-30 04:03:03 +00:00