Chris Lattner cafb67b250 fold and (shl X, C1), C2 -> rlwinm when possible. Many other cases are possible,
include and (srl)    and the inverses (shl and) etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21820 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-09 17:39:48 +00:00
..
2005-04-21 23:30:14 +00:00
2005-04-22 17:54:37 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-05-04 19:25:37 +00:00
2005-04-21 23:30:14 +00:00
2005-04-22 17:54:37 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-22 17:54:37 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00
2005-04-21 23:30:14 +00:00

TODO:
* condition register allocation
* gpr0 allocation
* implement do-loop -> bdnz transform
* implement powerpc-64 for darwin
* use stfiwx in float->int
* should hint to the branch select pass that it doesn't need to print the
  second unconditional branch, so we don't end up with things like:
	b .LBBl42__2E_expand_function_8_674	; loopentry.24
	b .LBBl42__2E_expand_function_8_42	; NewDefault
	b .LBBl42__2E_expand_function_8_42	; NewDefault

Currently failing tests that should pass:
* MultiSource
  |- Applications
  |  `- hbd: miscompilation