llvm-6502/lib
Evan Cheng 2a135ae530 This DAG combine BRCOND transformation can look pass truncate of the operand:
//   %a = ...                                                                                                                                                                                  
    //   %b = and i32 %a, 2                                                                                                                                                                        
    //   %c = srl i32 %b, 1                                                                                                                                                                        
    //   brcond i32 %c ...                                                                                                                                                                         
    //                                                                                                                                                                                             
    // into                                                                                                                                                                                        
    //                                                                                                                                                                                             
    //   %a = ...                                                                                                                                                                                  
    //   %b = and i32 %a, 2                                                                                                                                                                        
    //   %c = setcc eq %b, 0                                                                                                                                                                       
    //   brcond %c ...

Make sure it restores local variable N1, which corresponds to the condition operand if it fails to match.

This apparently breaks TCE but since that backend isn't in the tree I don't have a test for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115571 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-04 22:41:01 +00:00
..
Analysis Don't add the operand count to SCEV uniquing data; FoldingSetNodeID 2010-10-04 17:24:08 +00:00
Archive
AsmParser
Bitcode
CodeGen This DAG combine BRCOND transformation can look pass truncate of the operand: 2010-10-04 22:41:01 +00:00
CompilerDriver
ExecutionEngine
Linker
MC Incorporate suggestions by Daniel Dunbar after his review. Thanks Daniel! 2010-10-04 20:17:24 +00:00
Support
System
Target The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
Transforms Now that the profitable bits of EnableFullLoadPRE have been enabled by default, rip out the remainder. 2010-10-01 20:02:55 +00:00
VMCore The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
Makefile