llvm/lib
Benjamin Kramer e915ff30cd X86: Lower a select directly to a setcc_carry if possible.
int test(unsigned long a, unsigned long b) { return -(a < b); }
compiles to
  _test:                              ## @test
    cmpq  %rsi, %rdi                  ## encoding: [0x48,0x39,0xf7]
    sbbl  %eax, %eax                  ## encoding: [0x19,0xc0]
    ret                               ## encoding: [0xc3]
instead of
  _test:                              ## @test
    xorl  %ecx, %ecx                  ## encoding: [0x31,0xc9]
    cmpq  %rsi, %rdi                  ## encoding: [0x48,0x39,0xf7]
    movl  $-1, %eax                   ## encoding: [0xb8,0xff,0xff,0xff,0xff]
    cmovael %ecx, %eax                ## encoding: [0x0f,0x43,0xc1]
    ret                               ## encoding: [0xc3]


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122451 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-22 23:09:28 +00:00
..
Analysis When determining whether the new instruction was already present in 2010-12-22 17:15:25 +00:00
Archive MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
AsmParser Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
Bitcode Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
CodeGen When RegAllocGreedy decides to spill the interferences of the current register, 2010-12-22 22:01:30 +00:00
CompilerDriver Support/PathV1: Deprecate get{Basename,Dirname,Suffix}. 2010-12-18 22:23:07 +00:00
ExecutionEngine Remove unneeded zero arrays. 2010-12-04 15:28:22 +00:00
Linker Fix whitespace. 2010-12-18 22:23:15 +00:00
MC Add r122359 back now that the bug in MCDwarfLineAddrFragment fragment has been 2010-12-22 22:16:24 +00:00
Object Fix mismatched new[]/delete. 2010-12-17 09:56:50 +00:00
Support Use IntEqClasses to compute connected components of live intervals. 2010-12-21 00:48:17 +00:00
Target X86: Lower a select directly to a setcc_carry if possible. 2010-12-22 23:09:28 +00:00
Transforms Add a generic expansion transform: A op (B op' C) -> (A op B) op' (A op C) 2010-12-22 13:36:08 +00:00
VMCore rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for 2010-12-21 02:38:05 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00