llvm-6502/lib
Bill Wendling 8b4b874cc6 Match this pattern so that we can generate simpler code:
%a = ...
  %b = and i32 %a, 2
  %c = srl i32 %b, 1
  %d = br i32 %c, 

into

  %a = ...
  %b = and %a, 2
  %c = X86ISD::CMP %b, 0
  %d = X86ISD::BRCOND %c ...

This applies only when the AND constant value has one bit set and the SRL
constant is equal to the log2 of the AND constant. The back-end is smart enough
to convert the result into a TEST/JMP sequence.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67728 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-26 01:47:50 +00:00
..
Analysis Before deleting a basic block, give other loop passes a chance cleanup analysis values, related to the instructions in the basic block. 2009-03-25 23:57:48 +00:00
Archive
AsmParser Fix a bug in our autoupgrade support: in an argument list to a function 2009-03-25 06:36:36 +00:00
Bitcode Fix internal representation of fp80 to be the 2009-03-23 21:16:53 +00:00
CodeGen Revert 67132. This is breaking some objective-c apps. 2009-03-25 20:20:11 +00:00
CompilerDriver
Debugger Oops...I committed too much. 2009-03-13 04:39:26 +00:00
ExecutionEngine fix one more fp80 case (used only by Interpreter) 2009-03-24 18:16:17 +00:00
Linker Apply ODR linkage changes accidentally dropped during 2009-03-08 13:35:23 +00:00
Support Fix internal representation of fp80 to be the 2009-03-23 21:16:53 +00:00
System fix a bug Alexei Svitkine pointed out. 2009-03-23 06:46:20 +00:00
Target Match this pattern so that we can generate simpler code: 2009-03-26 01:47:50 +00:00
Transforms Skip debug info one more place. (This one gets 2009-03-26 01:15:07 +00:00
VMCore Fix internal representation of fp80 to be the 2009-03-23 21:16:53 +00:00
Makefile