1. Oct 11, 2019
    • Joel E. Denny's avatar
      [lit] Extend internal diff to support -U · 61d7ecbf
      Joel E. Denny authored
      When using lit's internal shell, RUN lines like the following
      accidentally execute an external `diff` instead of lit's internal
      `diff`:
      
      ```
       # RUN: program | diff -U1 file -
      ```
      
      Such cases exist now, in `clang/test/Analysis` for example.  We are
      preparing patches to ensure lit's internal `diff` is called in such
      cases, which will then fail because lit's internal `diff` doesn't
      recognize `-U` as a command-line option.  This patch adds `-U`
      support.
      
      Reviewed By: rnk
      
      Differential Revision: https://reviews.llvm.org/D68668
      
      llvm-svn: 374392
      61d7ecbf
    • Nico Weber's avatar
      gn build: merge r374381 more (effectively a no-op) · a134d3cf
      Nico Weber authored
      llvm-svn: 374391
      a134d3cf
    • Joel E. Denny's avatar
      [lit] Extend internal diff to support `-` argument · f4edce12
      Joel E. Denny authored
      When using lit's internal shell, RUN lines like the following
      accidentally execute an external `diff` instead of lit's internal
      `diff`:
      
      ```
       # RUN: program | diff file -
      ```
      
      Such cases exist now, in `clang/test/Analysis` for example.  We are
      preparing patches to ensure lit's internal `diff` is called in such
      cases, which will then fail because lit's internal `diff` doesn't
      recognize `-` as a command-line option.  This patch adds support for
      `-` to mean stdin.
      
      Reviewed By: probinson, rnk
      
      Differential Revision: https://reviews.llvm.org/D67643
      
      llvm-svn: 374390
      f4edce12
    • Joel E. Denny's avatar
      [lit] Clean up internal diff's encoding handling · 19e6bb25
      Joel E. Denny authored
      As suggested by rnk at D67643#1673043, instead of reading files
      multiple times until an appropriate encoding is found, read them once
      as binary, and then try to decode what was read.
      
      For python >= 3.5, don't fail when attempting to decode the
      `diff_bytes` output in order to print it.
      
      Finally, add some tests for encoding handling.
      
      Reviewed By: rnk
      
      Differential Revision: https://reviews.llvm.org/D68664
      
      llvm-svn: 374389
      19e6bb25
    • Joel E. Denny's avatar
      [lit] Make internal diff work in pipelines · df35ec82
      Joel E. Denny authored
      When using lit's internal shell, RUN lines like the following
      accidentally execute an external `diff` instead of lit's internal
      `diff`:
      
      ```
       # RUN: program | diff file -
       # RUN: not diff file1 file2 | FileCheck %s
      ```
      
      Such cases exist now, in `clang/test/Analysis` for example.  We are
      preparing patches to ensure lit's internal `diff` is called in such
      cases, which will then fail because lit's internal `diff` cannot
      currently be used in pipelines and doesn't recognize `-` as a
      command-line option.
      
      To enable pipelines, this patch moves lit's `diff` implementation into
      an out-of-process script, similar to lit's `cat` implementation.  A
      follow-up patch will implement `-` to mean stdin.
      
      Reviewed By: probinson, stella.stamenova
      
      Differential Revision: https://reviews.llvm.org/D66574
      
      llvm-svn: 374388
      df35ec82
    • Alexey Bataev's avatar
      [OPENMP50]Support for declare variant directive for NVPTX target. · c2cd2d40
      Alexey Bataev authored
      NVPTX does not support global aliases. Instead, we have to copy the full
      body of the variant function for the original function.
      
      llvm-svn: 374387
      c2cd2d40
    • Jonas Devlieghere's avatar
      [test] Use a different module cache for Shell and API tests. · 27c23653
      Jonas Devlieghere authored
      Before the test reorganization, everything was part of a single test
      suite with a single module cache. Now that things are properly separated
      this is no longer the case. Only the shell tests inherited the logic to
      properly configure and wipe the module caches. This patch adds that
      logic back for the API tests. While doing so, I noticed that we were
      configuring a Clang module cache in CMake, but weren't actually using it
      from dotest.py. I included a fix for that in this patch as well.
      
      Differential revision: https://reviews.llvm.org/D68755
      
      llvm-svn: 374386
      27c23653
    • Jonas Devlieghere's avatar
      [test] Pass DSYMUTIL and SDKROOT as part of the Make invocation. · 2d2cf936
      Jonas Devlieghere authored
      Pass the DSYMUTIL and SDKROOT variables on the command line instead of
      the environment. This makes it easier to reproduce the make invocation
      during development.
      
      Differential revision: https://reviews.llvm.org/D68812
      
      llvm-svn: 374385
      2d2cf936
    • Julian Lettner's avatar
      Reland "[ASan] Do not misrepresent high value address dereferences as null dereferences" · 99c9d7bd
      Julian Lettner authored
      Updated: Removed offending TODO comment.
      
      Dereferences with addresses above the 48-bit hardware addressable range
      produce "invalid instruction" (instead of "invalid access") hardware
      exceptions (there is no hardware address decoding logic for those bits),
      and the address provided by this exception is the address of the
      instruction (not the faulting address).  The kernel maps the "invalid
      instruction" to SEGV, but fails to provide the real fault address.
      
      Because of this ASan lies and says that those cases are null
      dereferences.  This downgrades the severity of a found bug in terms of
      security.  In the ASan signal handler, we can not provide the real
      faulting address, but at least we can try not to lie.
      
      rdar://50366151
      
      Reviewed By: vitalybuka
      
      Differential Revision: https://reviews.llvm.org/D68676
      
      > llvm-svn: 374265
      
      llvm-svn: 374384
      99c9d7bd
    • GN Sync Bot's avatar
      gn build: Merge r374381 · dc895a32
      GN Sync Bot authored
      llvm-svn: 374383
      dc895a32
    • Jonas Devlieghere's avatar
      [test] Trim the symbtab test case (NFC) · 5c5184be
      Jonas Devlieghere authored
      We don't actually need the section content for this tests.
      
      llvm-svn: 374382
      5c5184be
    • Greg Clayton's avatar
      Add GsymCreator and GsymReader. · 4b6c9de8
      Greg Clayton authored
      This patch adds the ability to create GSYM files with GsymCreator, and read them with GsymReader. Full testing has been added for both new classes.
      
      This patch differs from the original patch https://reviews.llvm.org/D53379 in that is uses a StringTableBuilder class from llvm instead of a custom version. Support for big and little endian files has been added. If the endianness matches the current host, we use efficient extraction for the header, address table and address info offset tables.
      
      Differential Revision: https://reviews.llvm.org/D68744
      
      llvm-svn: 374381
      4b6c9de8
    • Jonas Devlieghere's avatar
      [dsymutil] Move CommonSymbols.clear() in resetParserState. · 644abcf0
      Jonas Devlieghere authored
      This seems like a more natural place to clear the vector, especially
      since this method is clearing other data structures as well.
      
      llvm-svn: 374378
      644abcf0
    • David Green's avatar
      [ARM] VQSUB instruction · 8628bb04
      David Green authored
      Same as VQADD, VQSUB can be selected from llvm.ssub.sat intrinsics.
      
      Differential Revision: https://reviews.llvm.org/D68567
      
      llvm-svn: 374377
      8628bb04
    • Adrian Prantl's avatar
      Increase timeout in pexpect to lower chances of tests failing under ASAN. · a8419b1f
      Adrian Prantl authored
      If this doesn't actually work, I'll revert the change and just disable
      the remaining thee pexpect tests under asan.
      
      llvm-svn: 374375
      a8419b1f
    • Siva Chandra's avatar
      Use arrays on stack and avoid use of new and delete operators. · 7a6d9832
      Siva Chandra authored
      Summary: Also fix an error found with LLVM_USE_SANITIZER=Address.
      
      Reviewers: nelhage
      
      Subscribers: libc-commits
      
      Tags: #libc-project
      
      Differential Revision: https://reviews.llvm.org/D68761
      
      llvm-svn: 374374
      7a6d9832
    • David Green's avatar
      [Codegen] Alter the default promotion for saturating adds and subs · 94d37909
      David Green authored
      The default promotion for the add_sat/sub_sat nodes currently does:
         1. ANY_EXTEND iN to iM
         2. SHL by M-N
         3. [US][ADD|SUB]SAT
         4. L/ASHR by M-N
      If the promoted add_sat or sub_sat node is not legal, this can produce code
      that effectively does a lot of shifting (and requiring large constants to be
      materialised) just to use the overflow flag. It is simpler to just do the
      saturation manually, using the higher bitwidth addition and a min/max against
      the saturating bounds. That is what this patch attempts to do.
      
      Differential Revision: https://reviews.llvm.org/D68643
      
      llvm-svn: 374373
      94d37909
    • Kadir Cetinkaya's avatar
      Fix assertions disabled builds after rL374367 · dd37a26f
      Kadir Cetinkaya authored
      llvm-svn: 374372
      dd37a26f
  2. Oct 10, 2019