Go to file
Benjamin Kramer 1f4dfbbcb0 DAGCombine add (sext i1), X into sub X, (zext i1) if sext from i1 is illegal. The latter usually compiles into smaller code.
example code:
unsigned foo(unsigned x, unsigned y) {
  if (x != 0) y--;
  return y;
}

before:
  _foo:                           ## @foo
    cmpl  $1, 4(%esp)             ## encoding: [0x83,0x7c,0x24,0x04,0x01]
    sbbl  %eax, %eax              ## encoding: [0x19,0xc0]
    notl  %eax                    ## encoding: [0xf7,0xd0]
    addl  8(%esp), %eax           ## encoding: [0x03,0x44,0x24,0x08]
    ret                           ## encoding: [0xc3]

after:
  _foo:                           ## @foo
    cmpl  $1, 4(%esp)             ## encoding: [0x83,0x7c,0x24,0x04,0x01]
    movl  8(%esp), %eax           ## encoding: [0x8b,0x44,0x24,0x08]
    adcl  $-1, %eax               ## encoding: [0x83,0xd0,0xff]
    ret                           ## encoding: [0xc3]

llvm-svn: 122455
2010-12-22 23:17:45 +00:00
clang Be paranoid about NULL size expressions in dependently-sized array types 2010-12-22 23:15:38 +00:00
compiler-rt license change 2010-11-16 22:13:33 +00:00
debuginfo-tests Zap white spaces, test commit email. 2010-11-10 18:11:11 +00:00
libcxx Effort to reduce the number of exported symbols 2010-12-17 14:46:43 +00:00
lldb No need to pass an empty string as an arg or as an env string to the SBTarget.LaunchProcess() API. 2010-12-22 22:56:19 +00:00
llvm DAGCombine add (sext i1), X into sub X, (zext i1) if sext from i1 is illegal. The latter usually compiles into smaller code. 2010-12-22 23:17:45 +00:00