Skip to content
  1. Sep 04, 2011
  2. Sep 02, 2011
    • Bill Wendling's avatar
      Update comments to reflect reality. · a336e705
      Bill Wendling authored
      llvm-svn: 139023
      a336e705
    • Andrew Trick's avatar
      Enable SCEV-based unrolling by default. · 31b941a6
      Andrew Trick authored
      This changes loop unrolling to use the same mechanism for trip count
      computation as indvars. This is a stronger check that tends to unroll
      more loops. A very common side-effect is that many single iteration
      loops will be removed sooner. The real goal was simply to remove
      dependence on canonical IVs.
      
      x86 is break even.
      ARM performance changes to expect (+ is good):
      External/SPEC/CFP2000/183.equake/183.equake +13%
      SingleSource/Benchmarks/Dhrystone/fldry     +21%
      MultiSource/Applications/spiff/spiff         +3%
      SingleSource/Benchmarks/Stanford/Puzzle     -14%
      
      The Puzzle regression is actually an improvement in loop optimization
      that defeats GVN: rdar://problem/10065079.
      
      llvm-svn: 139009
      31b941a6
    • Jakub Staszak's avatar
      Compare type size instead of type _store_ size to make sure that BitCastInst · 7470fb01
      Jakub Staszak authored
      will be valid. This fixes PR10820.
      
      llvm-svn: 139005
      7470fb01
  3. Sep 01, 2011
  4. Aug 31, 2011
  5. Aug 30, 2011
  6. Aug 29, 2011
  7. Aug 28, 2011
  8. Aug 26, 2011
    • Bill Wendling's avatar
      Don't sink landingpad instructions during ind-var simplification. · eed1e890
      Bill Wendling authored
      llvm-svn: 138651
      eed1e890
    • Benjamin Kramer's avatar
      Address review comments. · 0655b78c
      Benjamin Kramer authored
      - Reword comments.
      - Allow undefined behavior interfering with undefined behavior.
      - Add address space checks.
      
      llvm-svn: 138619
      0655b78c
    • Benjamin Kramer's avatar
      SimplifyCFG: If we have a PHI node that can evaluate to NULL and do a load or... · fb212a63
      Benjamin Kramer authored
      SimplifyCFG: If we have a PHI node that can evaluate to NULL and do a load or store to the address returned by the PHI node then we can consider this incoming value as dead and remove the edge pointing there, unless there are instructions that can affect control flow executed in between.
      
      In theory this could be extended to other instructions, eg. division by zero, but it's likely that it will "miscompile" some code because people depend on div by zero not trapping. NULL pointer dereference usually leads to a crash so we should be on the safe side.
      
      This shrinks the size of a Release clang by 16k on x86_64.
      
      llvm-svn: 138618
      fb212a63
  9. Aug 25, 2011
  10. Aug 24, 2011
  11. Aug 22, 2011
  12. Aug 20, 2011
  13. Aug 19, 2011
  14. Aug 18, 2011
Loading