Cleanups in ROTL/ROTR DAG combiner code

The attached patch contains:

- Cleanups in the DAGCombiner.cpp ROTL/ROTR combine code, primarily
  helping me to fix 80col violations (benefiting the code as a whole).
  
- Detect sign/zext/any-extended versions of ROTL/ROTR patterns.

- Allow custom lowering for ROTL/ROTR (needed in the CellSPU's case
  for 8-bit rotates, when only 16-bit and 32-bit rotates are actually
  implemented in the instruction set.)

-scooter

diff.forward (6.63 KB)

Not functioning well this morning... will resubmit to llvm-commits list.
This message wasn't meant for llvmdev.

Appoligies and virtual beers all around!

-scooter