Skip to content
  1. Dec 14, 2016
  2. Dec 13, 2016
    • Kostya Serebryany's avatar
      [libFuzzer] fix an UB (invalid shift) spotted by ubsan. The code worked fine... · f6f82c2c
      Kostya Serebryany authored
      [libFuzzer] fix an UB (invalid shift) spotted by ubsan. The code worked fine by luck, because the way shifts actually work on clang+x86
      
      llvm-svn: 289607
      f6f82c2c
    • Mike Aizatsky's avatar
      [sanitizers] -DAG is order-independent check · f775dbb5
      Mike Aizatsky authored
      llvm-svn: 289606
      f775dbb5
    • Chris Bieneman's avatar
      [llvm-config] Add --ignore-libllvm · 7f6611cf
      Chris Bieneman authored
      This flag forces off linking libLLVM. This should resolve some issues reported on llvm-commits.
      
      llvm-svn: 289605
      7f6611cf
    • Eugene Zelenko's avatar
    • Dehao Chen's avatar
      Change CoverageTracker from a global variable to member variable to avoid... · 0f35fa90
      Dehao Chen authored
      Change CoverageTracker from a global variable to member variable to avoid breaking thread-safety. (NFC)
      
      llvm-svn: 289603
      0f35fa90
    • Sanjoy Das's avatar
      Re-land "[SCEVExpander] Use llvm data structures; NFC" · c02dda2a
      Sanjoy Das authored
      This change re-lands r289215, by reverting r289482.  The underlying
      issue that caused it to be reverted has been fixed by Tim Northover in
      r289496.
      
      Original commit message for r289215:
      
      [SCEVExpander] Use llvm data structures; NFC
      
      Original commit message for r289482:
      
      Revert "[SCEVExpander] Use llvm data structures; NFC"
      
      This reverts r289215 (git SHA1 cb7b86a1).  It breaks the ubsan build
      because a DenseMap that keys off of `AssertingVH<T>` will hit UB when it
      tries to cast the empty and tombstone keys to `T *` (due to insufficient
      alignment).
      
      This is the relevant stack trace (thanks to Mike Aizatsky):
      
          #0 0x25cf100 in llvm::AssertingVH<llvm::PHINode>::getValPtr() const llvm/include/llvm/IR/ValueHandle.h:212:39
          #1 0x25cea20 in llvm::AssertingVH<llvm::PHINode>::operator=(llvm::AssertingVH<llvm::PHINode> const&) llvm/include/llvm/IR/ValueHandle.h:234:19
          #2 0x25d0092 in llvm::DenseMapBase<llvm::DenseMap<llvm::AssertingVH<llvm::PHINode>, llvm::detail::DenseSetEmpty, llvm::DenseMapInfo<llvm::AssertingVH<llvm::PHINode> >, llvm::detail::DenseSetPair<llvm::AssertingVH<llvm::PHINode> > >, llvm::AssertingVH<llvm::PHINode>, llvm::detail::DenseSetEmpty, llvm::DenseMapInfo<llvm::AssertingVH<llvm::PHINode> >, llvm::detail::DenseSetPair<llvm::AssertingVH<llvm::PHINode> > >::clear() llvm/include/llvm/ADT/DenseMap.h:113:23
      
      llvm-svn: 289602
      c02dda2a
    • Anna Thomas's avatar
      [IRCE] Avoid loop optimizations on pre and post loops · 65ca8e91
      Anna Thomas authored
      Summary:
      This patch will add loop metadata on the pre and post loops generated by IRCE.
      Currently, we have metadata for disabling optimizations such as vectorization,
      unrolling, loop distribution and LICM versioning (and confirmed that these
      optimizations check for the metadata before proceeding with the transformation).
      
      The pre and post loops generated by IRCE need not go through loop opts (since
      these are slow paths).
      
      Added two test cases as well.
      
      Reviewers: sanjoy, reames
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D26806
      
      llvm-svn: 289588
      65ca8e91
Loading