Skip to content
  1. May 13, 2009
  2. May 12, 2009
  3. May 11, 2009
    • Dale Johannesen's avatar
      Fix PR4188. TailMerging can't tolerate inexact · b5714633
      Dale Johannesen authored
      sucessor info.
      
      llvm-svn: 71478
      b5714633
    • Evan Cheng's avatar
      Apply patch review feedback. · 1988352f
      Evan Cheng authored
      llvm-svn: 71472
      1988352f
    • Evan Cheng's avatar
      Unbreak non-debug build. · 2b1b9218
      Evan Cheng authored
      llvm-svn: 71457
      2b1b9218
    • Evan Cheng's avatar
      Eliminate a compiler warning. · c84bf99f
      Evan Cheng authored
      llvm-svn: 71456
      c84bf99f
    • Dan Gohman's avatar
      When scalarizing a vector BITCAST, check whether the operand has vector · 9521cadf
      Dan Gohman authored
      type, rather than assume that it does. If the operand is not vector, it
      shouldn't be run through ScalarizeVectorOp. This fixes one of the
      testcases in PR3886.
      
      llvm-svn: 71453
      9521cadf
    • John Mosby's avatar
      · dd437d3a
      John Mosby authored
      Shrink wrapping in PEI:
      - reduces _static_ callee saved register spills
        and restores similar to Chow's original algorithm.
      - iterative implementation with simple heuristic
        limits to mitigate compile time impact.
      - handles placing spills/restores for multi-entry,
        multi-exit regions in the Machine CFG without
        splitting edges.
      - passes test-suite in LLCBETA mode.
      
      Added contains() method to ADT/SparseBitVector.
      
      llvm-svn: 71438
      dd437d3a
    • Jay Foad's avatar
      Don't generate redundant casts of constant values when lowering calls to · aa9c0194
      Jay Foad authored
      memcpy, memmove and memset.
      
      llvm-svn: 71427
      aa9c0194
    • Bill Wendling's avatar
      This is a large rewrite of how Dwarf info for inlined functions is handled. · 59b1ca2a
      Bill Wendling authored
      The DwarfWriter expects DbgScopes and DIEs to behave themselves according to
      DwarfWriter's rules. However, inlined functions violate these rules. There are
      two different types of DIEs associated with an inlined function: an abstract
      instance, which has information about the original source code for the function
      being inlined; and concrete instances, which are created for each place the
      function was inlined and point back to the abstract instance.
      
      This patch tries to stay true to this schema. It bypasses how regular DbgScopes
      and DIEs are created and used when necessary. It provides special handling for
      DIEs of abstract and concrete instances.
      
      This doesn't take care of all of the problems with debug info for inlined
      functions, but it's a step in the right direction. For one thing, llvm-gcc
      generates wrong IR (it's missing some llvm.dbg intrinsics at the point where the
      function's inlined) for this example:
      
      #include <stdio.h>
      static __inline__ __attribute__((always_inline))  int bar(int x) { return 4; }
      void foo() {
        long long b = 1;
        int Y = bar(4);
        printf("%d\n", Y);
      }
      
      while clang generates correct IR.
      
      llvm-svn: 71410
      59b1ca2a
  4. May 10, 2009
  5. May 09, 2009
  6. May 08, 2009
  7. May 07, 2009
Loading