Started 5 days 11 hr ago
Took 18 hr on green-dragon-08

Failed Build #5510 (Oct 10, 2019 12:47:42 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 374432
  • http://llvm.org/svn/llvm-project/cfe/trunk : 374419
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 374384
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 374407
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 374271
Changes
  1. [lit] Bring back `--threads` option alias

    Bring back `--threads` option which was lost in the move of the
    command line argument parsing code to cl_arguments.py.  Update docs
    since `--workers` is preferred. (detail/ViewSVN)
    by yln
  2. [X86] Use packusdw+vpmovuswb to implement v16i32->V16i8 that clamps signed inputs to be between 0 and 255 when zmm registers are disabled on SKX.

    If we've disable zmm registers, the v16i32 will need to be split. This split will propagate through min/max the truncate. This creates two sequences that need to be concatenated back to v16i8. We can instead use packusdw to do part of the clamping, truncating, and concatenating all at once. Then we can use a vpmovuswb to finish off the clamp.

    Differential Revision: https://reviews.llvm.org/D68763 (detail/ViewSVN)
    by ctopper
  3. Revert r374388: "[lit] Make internal diff work in pipelines"

    This breaks a Windows bot. (detail/ViewSVN)
    by jdenny
  4. [PowerPC][docs] Update IBM official docs in Compiler Writers Info page

    Summary:
    Just realized that most of the links in this page are deprecated.
    So update some important reference here:
    * adding PowerISA 3.0B/2.7B
    * adding P8/P9 User Manual
    * ELFv2 ABI and errata

    Move deprecated ones into "Other documents..".

    Reviewers: #powerpc, hfinkel, nemanjai

    Reviewed By: hfinkel

    Subscribers: shchenz, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68817 (detail/ViewSVN)
    by jsji
  5. Revert r374389: "[lit] Clean up internal diff's encoding handling"

    This breaks a Windows bot. (detail/ViewSVN)
    by jdenny
  6. Revert r374390: "[lit] Extend internal diff to support `-` argument"

    This breaks a Windows bot. (detail/ViewSVN)
    by jdenny
  7. Revert r374392: "[lit] Extend internal diff to support -U"

    This breaks a Windows bot. (detail/ViewSVN)
    by jdenny
  8. win: Move Parallel.h off concrt to cross-platform code

    r179397 added Parallel.h and implemented it terms of concrt in 2013.

    In 2015, a cross-platform implementation of the functions has appeared
    and is in use everywhere but on Windows (r232419).  r246219 hints that
    <thread> had issues in MSVC2013, but r296906 suggests they've been fixed
    now that we require 2015+.

    So remove the concrt code. It's less code, and it sounds like concrt has
    conceptual and performance issues, see PR41198.

    I built blink_core.dll in a debug component build with full symbols and
    in a release component build without any symbols.  I couldn't measure a
    performance difference for linking blink_core.dll before and after this
    patch.

    Differential Revision: https://reviews.llvm.org/D68820 (detail/ViewSVN)
    by nico
  9. [NFC][PowerPC]Clean up PPCAsmPrinter for TOC related pseudo opcode

    Add a helper function getMCSymbolForTOCPseudoMO to clean up PPCAsmPrinter
    a little bit.

    Differential Revision: https://reviews.llvm.org/D68721 (detail/ViewSVN)
    by xiangling_liao
  10. [ARM] Fix arm_neon.h with -flax-vector-conversions=none, part 2.

    Just running -fsyntax-only over arm_neon.h doesn't cover some intrinsics
    which are defined using macros.  Add more test coverage for that.

    arm-neon-header.c wasn't checking the full set of available NEON target
    features; change the target architecture of the test to account for
    that.

    Fix the generator for arm_neon.h to generate casts in more cases where
    they are necessary.

    Fix VFMLAL_LOW etc. to express their signatures differently, so the
    builtins have the expected type. Maybe the TableGen backend should
    detect intrinsics that are defined the wrong way, and produce an error.
    The rules here are sort of strange.

    Differential Revision: https://reviews.llvm.org/D68743 (detail/ViewSVN)
    by efriedma
  11. Fix one more clang test which didn't have \5C in it (detail/ViewSVN)
    by rnk
  12. Update clang tests for new LLVM IR backslash printing in r374415 (detail/ViewSVN)
    by rnk
  13. Print quoted backslashes in LLVM IR as \\ instead of \5C

    This improves readability of Windows path string literals in LLVM IR.
    The LLVM assembler has supported \\ in IR strings for a long time, but
    the lexer doesn't tolerate escaped quotes, so they have to be printed as
    \22 for now. (detail/ViewSVN)
    by rnk
  14. Fix Windows build after r374381 (detail/ViewSVN)
    by nico
  15. Remove strings.h include to fix GSYM Windows build

    Fifth time's the charm. (detail/ViewSVN)
    by rnk
  16. Unbreak buildbots. (detail/ViewSVN)
    by gclayton
  17. Fix buildbots by using memset instead of bzero. (detail/ViewSVN)
    by gclayton
  18. [libc++][test] Change IsSmallObject's calculation for std::any's small object buffer

    `sizeof(std::any) - sizeof(void*)` is correct for both libc++ and the MSVC standard library.

    Differential Revision: https://reviews.llvm.org/D68756 (detail/ViewSVN)
    by caseycarter
  19. Fix build by adding the missing dependency. (detail/ViewSVN)
    by hliao
  20. [lit] Leverage argparse features to remove some code

    Reviewed By: rnk, serge-sans-paille

    Differential Revision: https://reviews.llvm.org/D68589 (detail/ViewSVN)
    by yln
  21. Fix test to avoid check-not matching the temp file absolute path

    Fix for PR43636 (detail/ViewSVN)
    by rnk
  22. Re-land "Use -fdebug-compilation-dir to form absolute paths in coverage mappings"

    This reverts r374324 (git commit 62808631acceaa8b78f8ab9b407eb6b943ff5f77)

    I changed the test to not rely on finding the sequence "clang, test,
    CoverageMapping" in the CWD used to run the test. Instead it makes its
    own internal directory hierarchy of foo/bar/baz and looks for that. (detail/ViewSVN)
    by rnk
  23. [lit] Move argument parsing/validation to separate file

    Reviewed By: serge-sans-paille

    Differential Revision: https://reviews.llvm.org/D68529 (detail/ViewSVN)
    by yln
  24. [clang-format] throws an incorrect assertion in consumeToken() formatting the MSVC stl

    Summary:
    An incorrect assertion is thrown when clang-formatting MSVC's STL library

    ```
    Assertion failed: !Line.startsWith(tok::hash), file C:/llvm/llvm-project/clang/lib/Format/TokenAnnotator.cpp, line 847
    Stack dump:
    0.      Program arguments: C:\llvm\build\bin\clang-format.exe -i -n ./stl/inc/xkeycheck.h
    ```

    ```
    Enable warning C4005 to find the forbidden define.
    ```

    Reviewers: mitchell-stellar, STL_MSFT, klimek, krasimir

    Reviewed By: mitchell-stellar

    Subscribers: cfe-commits

    Tags: #clang-format, #clang-tools-extra, #clang

    Differential Revision: https://reviews.llvm.org/D68707 (detail/ViewSVN)
    by paulhoad
  25. Unbreak  llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast buildbot. (detail/ViewSVN)
    by gclayton
  26. [DAGCombiner] fold select-of-constants to shift

    This reverses the scalar canonicalization proposed in D63382.

    Pre: isPowerOf2(C1)
    %r = select i1 %cond, i32 C1, i32 0
    =>
    %z = zext i1 %cond to i32
    %r = shl i32 %z, log2(C1)

    https://rise4fun.com/Alive/Z50

    x86 already tries to fold this pattern, but it isn't done
    uniformly, so we still see a diff. AArch64 probably should
    enable the TLI hook to benefit too, but that's a follow-on. (detail/ViewSVN)
    by spatel
  27. Unbreak windows buildbots. (detail/ViewSVN)
    by gclayton
  28. gn build: restore tablegen restat optimization after r373664 (detail/ViewSVN)
    by nico
  29. [lit] Extend internal diff to support -U

    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 (detail/ViewSVN)
    by jdenny
  30. gn build: merge r374381 more (effectively a no-op) (detail/ViewSVN)
    by nico
  31. [lit] Extend internal diff to support `-` argument

    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 (detail/ViewSVN)
    by jdenny
  32. [lit] Clean up internal diff's encoding handling

    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 (detail/ViewSVN)
    by jdenny
  33. [lit] Make internal diff work in pipelines

    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 (detail/ViewSVN)
    by jdenny
  34. [OPENMP50]Support for declare variant directive for NVPTX target.

    NVPTX does not support global aliases. Instead, we have to copy the full
    body of the variant function for the original function. (detail/ViewSVN)
    by abataev
  35. Reland "[ASan] Do not misrepresent high value address dereferences as null dereferences"

    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 (detail/ViewSVN)
    by yln
  36. gn build: Merge r374381 (detail/ViewSVN)
    by gnsyncbot
  37. Add GsymCreator and GsymReader.

    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 (detail/ViewSVN)
    by gclayton
  38. [dsymutil] Move CommonSymbols.clear() in resetParserState.

    This seems like a more natural place to clear the vector, especially
    since this method is clearing other data structures as well. (detail/ViewSVN)
    by Jonas Devlieghere
  39. [ARM] VQSUB instruction

    Same as VQADD, VQSUB can be selected from llvm.ssub.sat intrinsics.

    Differential Revision: https://reviews.llvm.org/D68567 (detail/ViewSVN)
    by dmgreen
  40. [Codegen] Alter the default promotion for saturating adds and subs

    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 (detail/ViewSVN)
    by dmgreen
  41. Fix assertions disabled builds after rL374367 (detail/ViewSVN)
    by kadircet
  42. [DAGCombiner] reduce code duplication; NFC (detail/ViewSVN)
    by spatel
  43. [Alignment][NFC] Use llv::Align in GISelKnownBits

    Summary:
    This is patch is part of a series to introduce an Alignment type.
    See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
    See this patch for the introduction of the type: https://reviews.llvm.org/D64790

    Reviewers: courbet

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68786 (detail/ViewSVN)
    by gchatelet
  44. [BPF] Remove relocation for patchable externs

    Previously, patchable extern relocations are introduced to patch
    external variables used for multi versioning in
    compile once, run everywhere use case. The load instruction
    will be converted into a move with an patchable immediate
    which can be changed by bpf loader on the host.

    The kernel verifier has evolved and is able to load
    and propagate constant values, so compiler relocation
    becomes unnecessary. This patch removed codes related to this.

    Differential Revision: https://reviews.llvm.org/D68760 (detail/ViewSVN)
    by yhs
  45. In openFileForRead don't cache erroneous entries if the error relates to them being directories. Add tests.

    Summary:
    It seems that when the CachingFileSystem is first given a file to open that is actually a directory, it incorrectly
    caches that path to be errenous and throws an error when subsequently a directory open call is made for the same
    path.
    This change makes it so that we do NOT cache a path if it turns out we asked for a file when its a directory.

    Reviewers: arphaman

    Subscribers: dexonsmith, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D68193 (detail/ViewSVN)
    by kousikk
  46. [AMDGPU] Fixed dpp_combine.mir with expensive checks. NFC. (detail/ViewSVN)
    by rampitec
  47. Fix Wdocumentation warnings. NFCI. (detail/ViewSVN)
    by rksimon
  48. [OPENMP50]Register vendor name only once in vendor context selector.

    No need to store multiple copies of the same vendor names in the context
    selector, keep only single copy. (detail/ViewSVN)
    by abataev
  49. [MCA] Show aggregate over Average Wait times for the whole snippet (PR43219)

    Summary:
    As disscused in https://bugs.llvm.org/show_bug.cgi?id=43219,
    i believe it may be somewhat useful to show //some// aggregates
    over all the sea of statistics provided.

    Example:
    ```
    Average Wait times (based on the timeline view):
    [0]: Executions
    [1]: Average time spent waiting in a scheduler's queue
    [2]: Average time spent waiting in a scheduler's queue while ready
    [3]: Average time elapsed from WB until retire stage

          [0]    [1]    [2]    [3]
    0.     3     1.0    1.0    4.7       vmulps     %xmm0, %xmm1, %xmm2
    1.     3     2.7    0.0    2.3       vhaddps    %xmm2, %xmm2, %xmm3
    2.     3     6.0    0.0    0.0       vhaddps    %xmm3, %xmm3, %xmm4
           3     3.2    0.3    2.3       <total>
    ```
    I.e. we average the averages.

    Reviewers: andreadb, mattd, RKSimon

    Reviewed By: andreadb

    Subscribers: gbedwell, arphaman, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68714 (detail/ViewSVN)
    by lebedevri
  50. Revert "[FileCheck] Implement --ignore-case option."

    This reverts commit r374339. It broke tests:
    http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/19066 (detail/ViewSVN)
    by gribozavr
  51. Revert "[Tests] Output of od can be lower or upper case (llvm-objcopy/yaml2obj)."

    This reverts commit r374343. It broke tests:
    http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/19066 (detail/ViewSVN)
    by gribozavr
  52. Revert "Fix OCaml/core.ml fneg check"

    This reverts commit r374346. It attempted to fix OCaml tests, but is
    does not actually fix them. (detail/ViewSVN)
    by gribozavr
  53. [X86] combineFMA - Convert to use isNegatibleForFree/GetNegatedExpression.

    Split off from D67557. (detail/ViewSVN)
    by rksimon
  54. Fix OCaml/core.ml fneg check (try 2) (detail/ViewSVN)
    by rksimon
  55. Revert "[IRBuilder] Update IRBuilder::CreateFNeg(...) to return a UnaryOperator"

    This reverts commit r374240. It broke OCaml tests:
    http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/19014 (detail/ViewSVN)
    by gribozavr
  56. [X86] combineFMADDSUB - Convert to use isNegatibleForFree/GetNegatedExpression.

    Split off from D67557, fixes the compile time regression mentioned in rL372756 (detail/ViewSVN)
    by rksimon
  57. Revert "[test] Use system locale for mri-utf8.test"

    This reverts commit r374318 / b6f1d1fa0e3ee0e25f22414bf97c05276b934507. (detail/ViewSVN)
    by thopre
  58. Revert "[AMDGPU] Run `unreachable-mbb-elimination` after isel to clean up PHIs."

    Summary:
    This has been superseded by "[AMDGPU]: PHI Elimination hooks added for custom COPY insertion."

    This reverts the code changes from commit 53f967f2bdb6aa7b08596880c3689d1ecad6f0ff
    but keeps the test case.

    Reviewers: hliao, arsenm, tpr, dstuttard

    Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, t-tye, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68769 (detail/ViewSVN)
    by foad
  59. Fix OCaml/core.ml fneg check (detail/ViewSVN)
    by rksimon
  60. [DAG][X86] Add isNegatibleForFree/GetNegatedExpression override placeholders. NFCI.

    Continuing to undo the rL372756 reversion.

    Differential Revision: https://reviews.llvm.org/D67557 (detail/ViewSVN)
    by rksimon
  61. [llvm-readelf] - Do not enter an infinite loop when printing histogram.

    This is similar to D68086.
    We are entering an infinite loop when dumping a histogram for a specially crafted
    .hash section with a loop in a chain.

    Differential revision: https://reviews.llvm.org/D68771 (detail/ViewSVN)
    by grimar
  62. [Tests] Output of od can be lower or upper case (llvm-objcopy/yaml2obj).

    The command `od -t x` is used to dump data in hex format.
    The LIT tests assumes that the hex characters are in lowercase.
    However, there are also platforms which use uppercase letter.

    To solve this issue the tests are updated to use the new
    `--ignore-case` option of FileCheck.

    Reviewers: Bigcheese, jakehehrlich, rupprecht, espindola, alexshap, jhenderson

    Differential Revision: https://reviews.llvm.org/D68693 (detail/ViewSVN)
    by redstar
  63. [DAGCombine] Match more patterns for half word bswap

    Summary: It ensures that the bswap is generated even when a part of the subtree already matches a bswap transform.

    Reviewers: craig.topper, efriedma, RKSimon, lebedev.ri

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68250 (detail/ViewSVN)
    by deadalnix
  64. [FileCheck] Implement --ignore-case option.

    The FileCheck utility is enhanced to support a `--ignore-case`
    option. This is useful in cases where the output of Unix tools
    differs in case (e.g. case not specified by Posix).

    Reviewers: Bigcheese, jakehehrlich, rupprecht, espindola, alexshap, jhenderson, MaskRay

    Differential Revision: https://reviews.llvm.org/D68146 (detail/ViewSVN)
    by redstar
  65. [LV][NFC] Factor out calculation of "best" estimated trip count.

    This is just small refactoring to minimize changes in upcoming patch.
    In the next path I'm going to introduce changes into heuristic for vectorization of "tiny trip count" loops.

    Patch by Evgeniy Brevnov <evgueni.brevnov@gmail.com>

    Reviewers: hsaito, Ayal, fhahn, reames

    Reviewed By: hsaito

    Differential Revision: https://reviews.llvm.org/D67690 (detail/ViewSVN)
    by fhahn
  66. MinidumpYAML: Add support for the memory info list stream

    Summary:
    The implementation is fairly straight-forward and uses the same patterns
    as the existing streams. The yaml form does not attempt to preserve the
    data in the "gaps" that can be created by setting a larger-than-required
    header or entry size in the stream header, because the existing consumer
    (lldb) does not make use of the information in the gap in any way, and
    attempting to preserve that would make the implementation more
    complicated.

    Reviewers: amccarth, jhenderson, clayborg

    Subscribers: llvm-commits, lldb-commits, markmentovai, zturner, JosephTremoulet

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68645 (detail/ViewSVN)
    by labath
  67. [ARM] VQADD instructions

    This selects MVE VQADD from the vector llvm.sadd.sat or llvm.uadd.sat
    intrinsics.

    Differential Revision: https://reviews.llvm.org/D68566 (detail/ViewSVN)
    by dmgreen
  68. [AArch64][x86] add tests for (v)select bit magic; NFC (detail/ViewSVN)
    by spatel
  69. [Sanitizers] Fix getrandom test (detail/ViewSVN)
    by David CARLIER
  70. [Alignment][NFC] Make VectorUtils uas llvm::Align

    Summary:
    This is patch is part of a series to introduce an Alignment type.
    See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
    See this patch for the introduction of the type: https://reviews.llvm.org/D64790

    Reviewers: courbet

    Subscribers: hiraditya, rogfer01, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68784 (detail/ViewSVN)
    by gchatelet
  71. [AST] ASTReader::ReadSLocEntry(): move computation of FirstDecl into the branch where it's used

    The existing code is not defined, you are not allowed
    to produce non-null pointer from null pointer (F->FileSortedDecls here).
    That being said, i'm not really confident this is fix-enough, but we'll see.

    FAIL: Clang :: Modules/no-module-map.cpp (6879 of 16079)
    ******************** TEST 'Clang :: Modules/no-module-map.cpp' FAILED ********************
    Script:
    --
    : 'RUN: at line 1';   /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang -cc1 -internal-isystem /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/lib/clang/10.0.0/include -nostdsysteminc -fmodules-ts -fmodule-name=ab -x c++-header /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/Inputs/no-module-map/a.h /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/Inputs/no-module-map/b.h -emit-header-module -o /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/test/Modules/Output/no-module-map.cpp.tmp.pcm
    : 'RUN: at line 2';   /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang -cc1 -internal-isystem /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/lib/clang/10.0.0/include -nostdsysteminc -fmodules-ts -fmodule-file=/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/test/Modules/Output/no-module-map.cpp.tmp.pcm /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/no-module-map.cpp -I/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/Inputs/no-module-map -verify
    : 'RUN: at line 3';   /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang -cc1 -internal-isystem /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/lib/clang/10.0.0/include -nostdsysteminc -fmodules-ts -fmodule-file=/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/test/Modules/Output/no-module-map.cpp.tmp.pcm /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/no-module-map.cpp -I/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/Inputs/no-module-map -verify -DA
    : 'RUN: at line 4';   /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang -cc1 -internal-isystem /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/lib/clang/10.0.0/include -nostdsysteminc -fmodules-ts -fmodule-file=/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/test/Modules/Output/no-module-map.cpp.tmp.pcm /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/no-module-map.cpp -I/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/Inputs/no-module-map -verify -DB
    : 'RUN: at line 5';   /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang -cc1 -internal-isystem /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/lib/clang/10.0.0/include -nostdsysteminc -fmodules-ts -fmodule-file=/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/test/Modules/Output/no-module-map.cpp.tmp.pcm /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/no-module-map.cpp -I/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/Inputs/no-module-map -verify -DA -DB
    : 'RUN: at line 7';   /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang -cc1 -internal-isystem /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/lib/clang/10.0.0/include -nostdsysteminc -E /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/test/Modules/Output/no-module-map.cpp.tmp.pcm -o - | /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/FileCheck /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/no-module-map.cpp
    : 'RUN: at line 8';   /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang -cc1 -internal-isystem /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/lib/clang/10.0.0/include -nostdsysteminc -frewrite-imports -E /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/test/Modules/Output/no-module-map.cpp.tmp.pcm -o - | /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/FileCheck /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Modules/no-module-map.cpp
    --
    Exit Code: 2

    Command Output (stderr):
    --
    /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/lib/Serialization/ASTReader.cpp:1526:50: runtime error: applying non-zero offset 8 to null pointer
        #0 0x3a9bd0c in clang::ASTReader::ReadSLocEntry(int) /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/lib/Serialization/ASTReader.cpp:1526:50
        #1 0x328b6f8 in clang::SourceManager::loadSLocEntry(unsigned int, bool*) const /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/lib/Basic/SourceManager.cpp:461:28
        #2 0x328b351 in clang::SourceManager::initializeForReplay(clang::SourceManager const&) /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/lib/Basic/SourceManager.cpp:399:11
        #3 0x3996c71 in clang::FrontendAction::BeginSourceFile(clang::CompilerInstance&, clang::FrontendInputFile const&) /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/lib/Frontend/FrontendAction.cpp:581:27
        #4 0x394f341 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:956:13
        #5 0x3a8a92b in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:290:25
        #6 0xaf8d62 in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/tools/driver/cc1_main.cpp:250:15
        #7 0xaf1602 in ExecuteCC1Tool /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/tools/driver/driver.cpp:309:12
        #8 0xaf1602 in main /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/tools/driver/driver.cpp:382:12
        #9 0x7f2c1eecc2e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
        #10 0xad57f9 in _start (/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang-10+0xad57f9)

    SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/lib/Serialization/ASTReader.cpp:1526:50 in (detail/ViewSVN)
    by lebedevri
  72. [ADR] ArrayRefTest: disable SizeTSizedOperations test - it's UB.

    This test is not defined.

    FAIL: LLVM-Unit :: ADT/./ADTTests/ArrayRefTest.SizeTSizedOperations (178 of 33926)
    ******************** TEST 'LLVM-Unit :: ADT/./ADTTests/ArrayRefTest.SizeTSizedOperations' FAILED ********************
    Note: Google Test filter = ArrayRefTest.SizeTSizedOperations
    [==========] Running 1 test from 1 test case.
    [----------] Global test environment set-up.
    [----------] 1 test from ArrayRefTest
    [ RUN      ] ArrayRefTest.SizeTSizedOperations
    /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:180:32: runtime error: applying non-zero offset 9223372036854775806 to null pointer
        #0 0x5ae8dc in llvm::ArrayRef<char>::slice(unsigned long, unsigned long) const /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:180:32
        #1 0x5ae44c in (anonymous namespace)::ArrayRefTest_SizeTSizedOperations_Test::TestBody() /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/unittests/ADT/ArrayRefTest.cpp:85:3
        #2 0x928a96 in testing::Test::Run() /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:2474:5
        #3 0x929793 in testing::TestInfo::Run() /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:2656:11
        #4 0x92a152 in testing::TestCase::Run() /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:2774:28
        #5 0x9319d2 in testing::internal::UnitTestImpl::RunAllTests() /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:4649:43
        #6 0x931416 in testing::UnitTest::Run() /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:4257:10
        #7 0x920ac3 in RUN_ALL_TESTS /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/unittest/googletest/include/gtest/gtest.h:2233:46
        #8 0x920ac3 in main /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/unittest/UnitTestMain/TestMain.cpp:50:10
        #9 0x7f66135b72e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
        #10 0x472c19 in _start (/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/unittests/ADT/ADTTests+0x472c19)

    SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:180:32 in (detail/ViewSVN)
    by lebedevri
  73. Fix -Wparentheses warning. NFCI. (detail/ViewSVN)
    by rksimon
  74. Revert "Use -fdebug-compilation-dir to form absolute paths in coverage mappings"

    This reverts commit f6777964bde28c349d3e289ea37ecf5f5eeedbc4.

    Because the absolute path check relies on temporary path containing
    "clang", "test" and "CoverageMapping" as a subsequence, which is not
    necessarily true on all systems(breaks internal integrates). Wanted to
    fix it by checking for a leading "/" instead, but then noticed that it
    would break windows tests, so leaving it to the author instead. (detail/ViewSVN)
    by kadircet
  75. Fix sanitizer lint check after r374315 (detail/ViewSVN)
    by russell_gallop
  76. [Mips] Fix 374055

    EXPENSIVE_CHECKS build was failing on new test.
    This is fixed by marking $ra register as undef.
    Test now has -verify-machineinstrs to check for operand flags. (detail/ViewSVN)
    by mbrkusanin
  77. [test] Use system locale for mri-utf8.test

    Summary:
    llvm-ar's mri-utf8.test test relies on the en_US.UTF-8 locale to be
    installed for its last RUN line to work. If not installed, the unicode
    string gets encoded (interpreted) as ascii which fails since the most
    significant byte is non zero. This commit changes the test to only rely
    on the system being able to encode the pound sign in its default
    encoding (e.g. UTF-16 for Microsoft Windows) by always opening the file
    via input/output redirection. This avoids forcing a given locale to be
    present and supported. A Byte Order Mark is also added to help
    recognizing the encoding of the file and its endianness.

    Reviewers: gbreynoo, MaskRay, rupprecht, JamesNagurne, jfb

    Subscribers: dexonsmith, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68472 (detail/ViewSVN)
    by thopre
  78. [UBSan] Appease linter (detail/ViewSVN)
    by lebedevri
  79. [Sanitizers] Porting getrandom/getentropy interceptors to FreeBSD

    - Available from 12.x branch, by the time it lands next year in FreeBSD tree, the 11.x's might be EOL.
    - Intentionally changed the getrandom test to C code as with 12.0 (might be fixed in CURRENT since), there is a linkage issue in C++ context.

    Reviewers: emaste, dim, vitalybuka

    Reviewed-By: vitalybuka

    Differential Revision: https://reviews.llvm.org/D68451 (detail/ViewSVN)
    by David CARLIER
  80. [UBSan] Split nullptr-and-nonzero-offset-variable.c in another direction (detail/ViewSVN)
    by lebedevri
  81. Revert "[ASan] Do not misrepresent high value address dereferences as null dereferences"

    As it was breaking bots running sanitizer lint check

    This reverts r374265 (git b577efe4567f1f6a711ad36e1d17280dd1c4f009) (detail/ViewSVN)
    by russell_gallop
  82. [UBSan] Split nullptr-and-nonzero-offset-variable.cpp into C and C++ variants

    I do not understand the BB failire, it fully passes locally. (detail/ViewSVN)
    by lebedevri
  83. [IfCvt][ARM] Optimise diamond if-conversion for code size

    Currently, the heuristics the if-conversion pass uses for diamond if-conversion
    are based on execution time, with no consideration for code size. This adds a
    new set of heuristics to be used when optimising for code size.

    This is mostly target-independent, because the if-conversion pass can
    see the code size of the instructions which it is removing. For thumb,
    there are a few passes (insertion of IT instructions, selection of
    narrow branches, and selection of CBZ instructions) which are run after
    if conversion and affect these heuristics, so I've added target hooks to
    better predict the code-size effect of a proposed if-conversion.

    Differential revision: https://reviews.llvm.org/D67350 (detail/ViewSVN)
    by ostannard
  84. [UBSan] Revisit nullptr-and-nonzero-offset-variable.cpp test to hopefully make it pass on sanitizer-windows BB (detail/ViewSVN)
    by lebedevri
  85. Remove rest of time-trace message as it is inconsistent style

    Other options which create output files don't produce output messages.
    Improve documentation to help find trace file.

    Differential Revision: https://reviews.llvm.org/D68710 (detail/ViewSVN)
    by russell_gallop
  86. [UBSan][clang][compiler-rt] Applying non-zero offset to nullptr is undefined behaviour

    Summary:
    Quote from http://eel.is/c++draft/expr.add#4:
    ```
    4     When an expression J that has integral type is added to or subtracted
          from an expression P of pointer type, the result has the type of P.
    (4.1) If P evaluates to a null pointer value and J evaluates to 0,
          the result is a null pointer value.
    (4.2) Otherwise, if P points to an array element i of an array object x with n
          elements ([dcl.array]), the expressions P + J and J + P
          (where J has the value j) point to the (possibly-hypothetical) array
          element i+j of x if 0≤i+j≤n and the expression P - J points to the
          (possibly-hypothetical) array element i−j of x if 0≤i−j≤n.
    (4.3) Otherwise, the behavior is undefined.
    ```

    Therefore, as per the standard, applying non-zero offset to `nullptr`
    (or making non-`nullptr` a `nullptr`, by subtracting pointer's integral value
    from the pointer itself) is undefined behavior. (*if* `nullptr` is not defined,
    i.e. e.g. `-fno-delete-null-pointer-checks` was *not* specified.)

    To make things more fun, in C (6.5.6p8), applying *any* offset to null pointer
    is undefined, although Clang front-end pessimizes the code by not lowering
    that info, so this UB is "harmless".

    Since rL369789 (D66608 `[InstCombine] icmp eq/ne (gep inbounds P, Idx..), null -> icmp eq/ne P, null`)
    LLVM middle-end uses those guarantees for transformations.
    If the source contains such UB's, said code may now be miscompiled.
    Such miscompilations were already observed:
    * https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190826/687838.html
    * https://github.com/google/filament/pull/1566

    Surprisingly, UBSan does not catch those issues
    ... until now. This diff teaches UBSan about these UB's.

    `getelementpointer inbounds` is a pretty frequent instruction,
    so this does have a measurable impact on performance;
    I've addressed most of the obvious missing folds (and thus decreased the performance impact by ~5%),
    and then re-performed some performance measurements using my [[ https://github.com/darktable-org/rawspeed | RawSpeed ]] benchmark:
    (all measurements done with LLVM ToT, the sanitizer never fired.)
    * no sanitization vs. existing check: average `+21.62%` slowdown
    * existing check vs. check after this patch: average `22.04%` slowdown
    * no sanitization vs. this patch: average `48.42%` slowdown

    Reviewers: vsk, filcab, rsmith, aaron.ballman, vitalybuka, rjmccall, #sanitizers

    Reviewed By: rsmith

    Subscribers: kristof.beyls, nickdesaulniers, nikic, ychen, dtzWill, xbolva00, dberris, arphaman, rupprecht, reames, regehr, llvm-commits, cfe-commits

    Tags: #clang, #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D67122 (detail/ViewSVN)
    by lebedevri
  87. Recommit "[Clang] Pragma vectorize_width() implies vectorize(enable)"

    This was further discussed at the llvm dev list:

    http://lists.llvm.org/pipermail/llvm-dev/2019-October/135602.html

    I think the brief summary of that is that this change is an improvement,
    this is the behaviour that we expect and promise in ours docs, and also
    as a result there are cases where we now emit diagnostics whereas before
    pragmas were silently ignored. Two areas where we can improve: 1) the
    diagnostic message itself, and 2) and in some cases (e.g. -Os and -Oz)
    the vectoriser is (quite understandably) not triggering.

    Original commit message:

    Specifying the vectorization width was supposed to implicitly enable
    vectorization, except that it wasn't really doing this. It was only
    setting the vectorize.width metadata, but not vectorize.enable.

    This should fix PR27643. (detail/ViewSVN)
    by sjoerdmeijer
  88. [update_cc_test_checks] Support 'clang | opt | FileCheck'

    Some clang lit tests use a pipeline of the form

    // RUN: %clang [args] -O0 %s | opt [specific optimizations] | FileCheck %s

    to make the expected test output depend on as few optimization phases
    as possible, for stability. But when you write a RUN line of this
    form, you lose the ability to use update_cc_test_checks.py to
    automatically generate the expected output, because it only supports
    two-stage pipelines consisting of '%clang | FileCheck' (or %clang_cc1).

    This change extends the set of supported RUN lines so that pipelines
    with an invocation of `opt` in the middle can still be automatically
    handled.

    To implement it, I've adjusted `get_function_body()` so that it can
    cope with an arbitrary sequence of intermediate pipeline commands. But
    the code that decides which RUN lines to consider is more
    conservative: it only adds clang | opt | FileCheck to the set of
    supported lines, because I didn't want to accidentally include some
    other kind of line that doesn't output IR at all.

    (Also in this commit is the minimal change to make this script work at
    all, after r373912 added an extra parameter to `add_ir_checks`.)

    Reviewers: MaskRay, xbolva00

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68406 (detail/ViewSVN)
    by statham
  89. [clang] prevent crash for nonnull attribut in constant context (Bug 43601)

    Summary:

    bug : https://bugs.llvm.org/show_bug.cgi?id=43601

    Reviewers: rnk

    Reviewed By: rnk

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D68716 (detail/ViewSVN)
    by tyker
  90. AMDGPU: Use SGPR_128 instead of SReg_128 for vregs

    SGPR_128 only includes the real allocatable SGPRs, and SReg_128 adds
    the additional non-allocatable TTMP registers. There's no point in
    allocating SReg_128 vregs. This shrinks the size of the classes
    regalloc needs to consider, which is usually good. (detail/ViewSVN)
    by arsenm
  91. [X86] Add test case for trunc_packus_v16i32_v16i8 with avx512vl+avx512bw and prefer-vector-width=256 and min-legal-vector-width=256. NFC (detail/ViewSVN)
    by ctopper
  92. [Attributor][NFC] clang format (detail/ViewSVN)
    by jdoerfert
  93. [Attributor] Handle `null` differently in capture and alias logic

    Summary:
    `null` in the default address space (=AS 0) cannot be captured nor can
    it alias anything. We make this clear now as it can be important for
    callbacks and other cases later on. In addition, this patch improves the
    debug output for noalias deduction.

    Reviewers: sstefan1, uenoku

    Subscribers: hiraditya, bollu, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68624 (detail/ViewSVN)
    by jdoerfert
  94. gn build: Merge r374277 (detail/ViewSVN)
    by gnsyncbot
  95. Reland "[TextAPI] Introduce TBDv4"

    Original Patch broke for compilations w/ gcc and exposed asan fail.
    This reland repairs those bugs.

    Differential Revision: https://reviews.llvm.org/D67529 (detail/ViewSVN)
    by cishida
  96. [ast] Fix indentation. NFC. (detail/ViewSVN)
    by hliao
  97. [sema] Revise `getCurrentMangleNumberContext` interface. NFC.

    - Prefer returning mulitple values using a tuple instead of
      additional pointers/references. (detail/ViewSVN)
    by hliao
  98. [PowerPC] add testcase for ppc loop instr form prep - NFC (detail/ViewSVN)
    by shchenz
  99. gn build: (manually) merge r374271 (detail/ViewSVN)
    by nico
  100. [libTooling] Move Transformer files to their own directory/library.

    Summary:
    The Transformer library has been growing inside of
    lib/Tooling/Refactoring. However, it's not really related to anything else in
    that directory. This revision moves all Transformer-related files into their own
    include & lib directories.  A followup revision will (temporarily) add
    forwarding headers to help any users migrate their code to the new location.

    Reviewers: gribozavr

    Subscribers: mgorny, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D68637 (detail/ViewSVN)
    by ymandel
  101. Re-land [mangle] Fix mangling where an extra mangle context is required.

    This reverts r374268 (git commit c34385d07c7d59447bf836b740f032235391d121)

    I think I reverted this by mistake, so I'm relanding it. While my bisect
    found this revision, I think the crashes I'm seeing locally must be
    environmental. Maybe the version of clang I'm using miscompiles tot
    clang. (detail/ViewSVN)
    by rnk
  102. Revert [mangle] Fix mangling where an extra mangle context is required.

    This reverts r374200 (git commit fd18e94697c987d5f24e25aa4e27adaffff3cce4)

    Causes crashes just compiling `int main() {}` on my machine. (detail/ViewSVN)
    by rnk
  103. [codeview] Try to avoid emitting .cv_loc with line zero

    Summary:
    Visual Studio doesn't like it while stepping. It kicks you out of the
    source view of the file being stepped through and tries to fall back to
    the disassembly view.

    Fixes PR43530

    The fix is incomplete, because it's possible to have a basic block with
    no source locations at all. In this case, we don't emit a .cv_loc, but
    that will result in wrong stepping behavior in the debugger if the
    layout predecessor of the location-less BB has an unrelated source
    location. We could try harder to find a valid location that dominates or
    post-dominates the current BB, but in general it's a dataflow problem,
    and one still might not exist. I left a FIXME about this.

    As an alternative, we might want to consider having the middle-end check
    if its emitting codeview and get it to stop using line zero.

    Reviewers: akhuang

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D68747 (detail/ViewSVN)
    by rnk
  104. Use -fdebug-compilation-dir to form absolute paths in coverage mappings

    This allows users to explicitly request relative paths with
    `-fdebug-compilation-dir .`.

    Fixes PR43614

    Reviewers: vsk, arphaman

    Differential Revision: https://reviews.llvm.org/D68733 (detail/ViewSVN)
    by rnk
  105. [ASan] Do not misrepresent high value address dereferences as null dereferences

    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 (detail/ViewSVN)
    by yln

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18475
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18476
originally caused by:

Started by upstream project Clang Stage 2: cmake, R -g Tsan, using Stage 1 RA build number 18477
originally caused by:

This run spent:

  • 6 hr 33 min waiting;
  • 18 hr build duration;
  • 1 day 0 hr total from scheduled to completion.

Identified problems

Ninja target failed

Below is a link to the first failed ninja target.
Indication 1

Compile Error

This build failed because of a compile error. Below is a list of all errors in the build log:
Indication 2

Missing test results

The test result file Jenkins is looking for does not exist after the build.
Indication 3

Regression test failed

This build failed because a regression test in the test suite FAILed. See the test report for details.
Indication 4