Skip to content
  1. May 29, 2013
  2. May 28, 2013
  3. May 27, 2013
    • Preston Gurd's avatar
      Convert sqrt functions into sqrt instructions when -ffast-math is in effect. · 048f99de
      Preston Gurd authored
      When -ffast-math is in effect (on Linux, at least), clang defines
      __FINITE_MATH_ONLY__ > 0 when including <math.h>. This causes the
      preprocessor to include <bits/math-finite.h>, which renames the sqrt functions.
      For instance, "sqrt" is renamed as "__sqrt_finite". 
      
      This patch adds the 3 new names in such a way that they will be treated
      as equivalent to their respective original names.
      
      llvm-svn: 182739
      048f99de
    • Hal Finkel's avatar
      PPC: Add a isConsecutiveLS utility function · 8ebfe6c2
      Hal Finkel authored
      isConsecutiveLS is a slightly more general form of
      SelectionDAG::isConsecutiveLoad. Aside from also handling stores, it also does
      not assume equality of the chain operands is necessary. In the case of the PPC
      backend, this chain condition is checked in a more general way by the
      surrounding code.
      
      Mostly, this part of the refactoring in preparation for supporting optimized
      unaligned stores.
      
      llvm-svn: 182723
      8ebfe6c2
  4. May 26, 2013
    • Hal Finkel's avatar
      Prefer to duplicate PPC Altivec loads when expanding unaligned loads · 7d8a691b
      Hal Finkel authored
      When expanding unaligned Altivec loads, we use the decremented offset trick to
      prevent page faults. Unfortunately, if we have a sequence of consecutive
      unaligned loads, this leads to suboptimal code generation because the 'extra'
      load from the first unaligned load can be combined with the base load from the
      second (but only if the decremented offset trick is not used for the first).
      Search up and down the chain, through loads and token factors, looking for
      consecutive loads, and if one is found, don't use the offset reduction trick.
      These duplicate loads are later combined to yield the desired sequence (in the
      future, we might want a more-powerful chain search, but that will require some
      changes to allow the combiner routines to access the AA object).
      
      This should complete the initial implementation of the optimized unaligned
      Altivec load expansion. There is some refactoring that should be done, but
      that will happen when the unaligned store expansion is added.
      
      llvm-svn: 182719
      7d8a691b
    • Andrew Trick's avatar
      Fix PR16143: Insert DEBUG_VALUE before terminator. · c66d26ad
      Andrew Trick authored
      llvm-svn: 182717
      c66d26ad
  5. May 25, 2013
  6. May 24, 2013
Loading