Skip to content
  1. Nov 17, 2017
    • David Blaikie's avatar
      Fix a bunch more layering of CodeGen headers that are in Target · b3bde2ea
      David Blaikie authored
      All these headers already depend on CodeGen headers so moving them into
      CodeGen fixes the layering (since CodeGen depends on Target, not the
      other way around).
      
      llvm-svn: 318490
      b3bde2ea
    • Zachary Turner's avatar
      Don't #include MemoryBuffer.h from Host.h. · bd159d32
      Zachary Turner authored
      It turns out this #include isn't used from Host.h anyway,
      but by having it it causes circular include dependencies.
      This issues only surfaced while I was working on a separate
      patch, so I'm submitting this first so that it's independent
      of the other, unrelated patch.
      
      llvm-svn: 318489
      bd159d32
    • Vitaly Buka's avatar
      [fuzzer] Initialize PcDescr buffer before calling __sanitizer_symbolize_pc · 065421f0
      Vitaly Buka authored
      __sanitizer_symbolize_pc is not instrumented so msan assumes that PcDescr
      was not initialized.
      
      llvm-svn: 318488
      065421f0
    • Mandeep Singh Grang's avatar
      [PredicateInfo] Add comment about why we require stable sort · e6bb6635
      Mandeep Singh Grang authored
      llvm-svn: 318487
      e6bb6635
    • Zachary Turner's avatar
      Re-revert "Refactor debuginfo-tests" · b5c237ec
      Zachary Turner authored
      This is still broken because it causes certain tests to be
      run twice with slightly different configurations, which is
      wrong in some cases.
      
      You can observe this by running:
      
        ninja -nv check-all | grep debuginfo-tests
      
      And seeing that it passes clang/test and clang/test/debuginfo-tests
      to lit, which causes it to run debuginfo-tests twice.  The fix is
      going to involve either:
      
        a) figuring out that we're running in this "deprecated" configuration,
           and then deleting the clang/test/debuginfo-tests path, which should
           cause it to behave identically to before, or:
        b) make lit smart enough that it doesn't descend into a sub-suite if
           that sub-suite already has a lit.cfg file.
      
      llvm-svn: 318486
      b5c237ec
    • Dmitry Mikulin's avatar
      Current implementation of Value::replaceUsesExceptBlockAddr() uses UseList · 2f2ace98
      Dmitry Mikulin authored
      iterator to walk the list which keeps changing inside the loop. When the
      UseList contains several uses with the same user, we end processing the same
      user more than once, which leads to an assert.
      
      With this fix, unique users are saved and processed later to avoid
      processing duplicates.
      
      Differential Revision: https://reviews.llvm.org/D39864
      
      llvm-svn: 318477
      2f2ace98
    • Matt Morehouse's avatar
      [libFuzzer] Fix flaky merge.test. · 6497193c
      Matt Morehouse authored
      llvm-svn: 318475
      6497193c
    • Richard Smith's avatar
      PR22763: if a defaulted (non-user-provided) special member function is · e2467b7a
      Richard Smith authored
      explicitly instantiated, still emit it with each use.
      
      We don't emit a definition of the member with an explicit instantiation
      definition (and indeed it appears that we're not allowed to, since an explicit
      instantiation definition does not constitute an odr-use and only odr-use
      permits definition for defaulted special members). So we still need to emit a
      weak definition with each use.
      
      This also makes defaulted-in-class declarations behave more like
      implicitly-declared special members, which matches their design intent.
      And it matches the way this problem was solved in GCC.
      
      llvm-svn: 318474
      e2467b7a
    • Yi Kong's avatar
      [ARM] 't' asm constraint should accept i32 · 39bcd4ed
      Yi Kong authored
      't' constraint normally only accepts f32 operands, but for VCVT the
      operands can be i32. LLVM is overly restrictive and rejects asm like:
      
        float foo() {
          float result;
          __asm__ __volatile__(
            "vcvt.f32.s32 %[result], %[arg1]\n"
            : [result]"=t"(result)
            : [arg1]"t"(0x01020304) );
          return result;
        }
      
      Relax the value type for 't' constraint to either f32 or i32.
      
      Differential Revision: https://reviews.llvm.org/D40137
      
      llvm-svn: 318472
      39bcd4ed
    • Walter Lee's avatar
      [asan] Properly mark or disable tests that only work with shadow scale of 3 · 513fc069
      Walter Lee authored
      Differential Revision: https://reviews.llvm.org/D39774
      
      llvm-svn: 318471
      513fc069
    • Walter Lee's avatar
      [asan] Port tests to shadow scale of 5 · 00b4931d
      Walter Lee authored
      The tests are ported as follows:
      
      contiguous_container_crash.cc
      use-after-delete.cc
      use-after-free.cc
        Replace hardwired shadow granularity in CHECK statements with regex.
      
      max_redzone.cc
        Bump max_redzone parameter to 32.
      
      memset_test.cc
        Bump size parameter of __asan_poison_memory_region to 32.
      
      scariness_score_test.cc
        For "far-from-bounds" heap overflow, make sure overflow is more than
        one shadow granularity away.
      
        At large shadow granularity, there is not enough redzone between
        stack elements to detect far-from-bounds, so fake out that test.
      
      Differential Revision: https://reviews.llvm.org/D39773
      
      llvm-svn: 318470
      00b4931d
    • Walter Lee's avatar
      [asan] Add lit feature to indicate compiler_rt's shadow scale value · 9af3b173
      Walter Lee authored
      This will be used to mark tests that require a specific shadow scale.
      
      Differential Revision: https://reviews.llvm.org/D39772
      
      llvm-svn: 318469
      9af3b173
    • Craig Topper's avatar
      [X86] Add DAG combine to remove sext i32->i64 from gather/scatter instructions. · 08908237
      Craig Topper authored
      Only do this pre-legalize in case we're using the sign extend to legalize for KNL.
      
      This recovers all of the tests that changed when I stopped SelectionDAGBuilder from deleting sign extends.
      
      There's more work that could be done here particularly to fix the i8->i64 test case that experienced split.
      
      llvm-svn: 318468
      08908237
    • Craig Topper's avatar
      [X86] Add gather test with index sign extended from i8 type. · 1120bb9f
      Craig Topper authored
      Previously SelectionDAGBuilder would remove this sign extend leading to a failure during isel.
      
      The codegen here isn't very nice as we ended up triggering a split.
      
      llvm-svn: 318467
      1120bb9f
    • Craig Topper's avatar
      [X86] Don't remove sign extend of gather/scatter indices during SelectionDAGBuilder. · 242374e2
      Craig Topper authored
      The sign extend might be from an i16 or i8 type and was inserted by InstCombine to match the pointer width. X86 gather legalization isn't currently detecting this to reinsert a sign extend to make things legal.
      
      It's a bit weird for the SelectionDAGBuilder to do this kind of optimization in the first place. With this removed we can at least lean on InstCombine somewhat to ensure the index is i32 or i64.
      
      I'll work on trying to recover some of the test cases by removing sign extends in the backend when its safe to do so with an understanding of the current legalizer capabilities.
      
      This should fix PR30690.
      
      llvm-svn: 318466
      242374e2
    • Matt Morehouse's avatar
      [libFuzzer] Make merge-sigusr.test work on Mac. · 12615ec4
      Matt Morehouse authored
      llvm-svn: 318465
      12615ec4
    • Lang Hames's avatar
      [Support] Support NetBSD PaX MPROTECT in sys::Memory. · afcb70d0
      Lang Hames authored
      Removes AllocateRWX, setWritable and setExecutable from sys::Memory and
      standardizes on allocateMappedMemory / protectMappedMemory. The
      allocateMappedMemory method is updated to request full permissions for memory
      blocks so that they can be marked executable later.
      
      llvm-svn: 318464
      afcb70d0
  2. Nov 16, 2017
Loading