Skip to content
  1. Mar 10, 2013
  2. Mar 09, 2013
  3. Mar 08, 2013
  4. Mar 07, 2013
  5. Mar 06, 2013
  6. Mar 04, 2013
    • Lang Hames's avatar
      Check isDiscardableIfUnused, rather than hasLocalLinkage, when bumping · 30be8a30
      Lang Hames authored
      GlobalValue linkage up to ExternalLinkage in the ExtractGV pass. This
      prevents linkonce and linkonce_odr symbols from being DCE'd.
      
      llvm-svn: 176459
      30be8a30
    • Preston Gurd's avatar
      Bypass Slow Divides · 485296d1
      Preston Gurd authored
      * Only apply divide bypass optimization when not optimizing for size. 
      * Fixed bug caused by constant for 0 value of type Int32,
        used dividend type to generate the constant instead.
      * For atom x86-64 apply the divide bypass to use 16-bit divides instead of
        64-bit divides when operand values are small enough.
      * Added lit tests for 64-bit divide bypass.
      
      Patch by Tyler Nowicki!
      
      llvm-svn: 176442
      485296d1
  7. Mar 02, 2013
  8. Mar 01, 2013
  9. Feb 28, 2013
    • Quentin Colombet's avatar
      Fix a bug in instcombine for fmul in fast math mode. · e684a6d4
      Quentin Colombet authored
      The instcombine recognized pattern looks like:
      a = b * c
      d = a +/- Cst
      or
      a = b * c
      d = Cst +/- a
      
      When creating the new operands for fadd or fsub instruction following the related fmul, the first operand was created with the second original operand (M0 was created with C1) and the second with the first (M1 with Opnd0).
      
      The fix consists in creating the new operands with the appropriate original operand, i.e., M0 with Opnd0 and M1 with C1.
      
      llvm-svn: 176300
      e684a6d4
    • Evgeniy Stepanov's avatar
      [msan] Implement sanitize_memory attribute. · 00062b44
      Evgeniy Stepanov authored
      Shadow checks are disabled and memory loads always produce fully initialized
      values in functions that don't have a sanitize_memory attribute. Value and
      argument shadow is propagated as usual.
      
      This change also updates blacklist behaviour to match the above.
      
      llvm-svn: 176247
      00062b44
    • Evgeniy Stepanov's avatar
      Remove unused leftover declarations. · 4c9300e6
      Evgeniy Stepanov authored
      llvm-svn: 176240
      4c9300e6
  10. Feb 27, 2013
  11. Feb 26, 2013
    • Kostya Serebryany's avatar
      Unify clang/llvm attributes for asan/tsan/msan (LLVM part) · cf880b94
      Kostya Serebryany authored
      These are two related changes (one in llvm, one in clang).
      LLVM: 
      - rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode)
      - rename thread_safety => sanitize_thread
      - rename no_uninitialized_checks -> sanitize_memory
      
      CLANG: 
      - add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis))
      - add __attribute__((no_sanitize_thread))
      - add __attribute__((no_sanitize_memory))
      
      for S in address thread memory
      If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not
      set llvm attribute sanitize_S
      
      llvm-svn: 176075
      cf880b94
  12. Feb 24, 2013
  13. Feb 23, 2013
  14. Feb 22, 2013
    • Bill Wendling's avatar
      Implement the NoBuiltin attribute. · 09bd1f71
      Bill Wendling authored
      The 'nobuiltin' attribute is applied to call sites to indicate that LLVM should
      not treat the callee function as a built-in function. I.e., it shouldn't try to
      replace that function with different code.
      
      llvm-svn: 175835
      09bd1f71
  15. Feb 21, 2013
    • Renato Golin's avatar
      Allow GlobalValues to vectorize with AliasAnalysis · cf928cb5
      Renato Golin authored
      Storing the load/store instructions with the values
      and inspect them using Alias Analysis to make sure
      they don't alias, since the GEP pointer operand doesn't
      take the offset into account.
      
      Trying hard to not add any extra cost to loads and stores
      that don't overlap on global values, AA is *only* calculated
      if all of the previous attempts failed.
      
      Using biggest vector register size as the stride for the
      vectorization access, as we're being conservative and
      the cost model (which calculates the real vectorization
      factor) is only run after the legalization phase.
      
      We might re-think this relationship in the future, but
      for now, I'd rather be safe than sorry.
      
      llvm-svn: 175818
      cf928cb5
    • Chad Rosier's avatar
      Remove dead code and whitespace. · 9b7f9c3e
      Chad Rosier authored
      llvm-svn: 175804
      9b7f9c3e
  16. Feb 20, 2013
  17. Feb 19, 2013
Loading