Started 9 mo 13 days ago
Took 15 min on green-dragon-15

Failed Build #277 (Feb 7, 2019 4:32:49 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 353486
  • http://llvm.org/svn/llvm-project/cfe/trunk : 353479
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 353485
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 346271
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 353450
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 353423
Changes
  1. [AArch64] Fix condition for "high-vector" DUP optimizations.

    AArch64 NEON has a bunch of instructions with a "2" suffix that extract
    the top half of the source vectors, instead of the bottom half.  We have
    some DAGCombines to try to take advantage of that.  However, they
    assumed that any EXTRACT_VECTOR was extracting the high half of the
    vector in question.

    This issue has apparently existed since the AArch64 backend was merged.

    Fixes https://bugs.llvm.org/show_bug.cgi?id=40632 .

    Differential Revision: https://reviews.llvm.org/D57862 (detail/ViewSVN)
    by efriedma
  2. Silence -Wformat warnings about GetLastError returning ULONG (detail/ViewSVN)
    by rnk
  3. Commit macro intended to be included in r353483. (detail/ViewSVN)
    by rnk
  4. [compiler rt] Win64 GetInstructionSize additional register MOV + stack alignment AND

    Current interception code does not cover all of the required registers
    on Windows for a specific flavor of MOV, so this patch adds cases to
    identify the following 5-byte instructions on 64-bit Windows:

    mov QWORD PTR [rsp + XX], rdx  <- second integer argument
    mov QWORD PTR [rsp + XX], r9    <- third integer argument
    mov QWORD PTR [rsp + XX], r8    <- fourth integer argument

    The instruction for MOV [...] RCX is already covered in the previous
    version.

    Patch by Matthew McGovern!

    Reviewers: rnk

    Differential Revision: https://reviews.llvm.org/D57339 (detail/ViewSVN)
    by rnk
  5. [safestack] Explain why tinfo at the end of the buffer

    Reviewers: pcc, eugenis, vlad.tsyrklevich

    Reviewed By: vlad.tsyrklevich

    Subscribers: llvm-commits, jfb, #sanitizers

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D57863 (detail/ViewSVN)
    by Vitaly Buka
  6. [safestack] Remove pageSize

    Summary:
    3rd party sysconf interceptor may crash if it's called before unsafe_stack_setup

    However pageSize is not useful here. mmap should round up on it's own, SFS_CHECK can be removed.

    Reviewers: eugenis, vlad.tsyrklevich

    Subscribers: #sanitizers, llvm-commits

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D57924 (detail/ViewSVN)
    by Vitaly Buka
  7. [mips][micromips] Fix how values in .gcc_except_table are calculated

    When a landing pad is calculated in a program that is compiled for micromips
    with -fPIC flag, it will point to an even address.
    Such an error will cause a segmentation fault, as the instructions in
    micromips are aligned on odd addresses. This patch sets the last bit of the
    offset where a landing pad is, to 1, which will effectively be an odd
    address and point to the instruction exactly.

    r344591 fixed this issue for -static compilation.

    Patch by Aleksandar Beserminji.

    Differential Revision: https://reviews.llvm.org/D57677 (detail/ViewSVN)
    by petarj
  8. bpf: teach BPF driver about the new CPU "v3"

    This patch simply teach BPF driver about the new CPU "v3" introduced in
    LLVM backend.

    Acked-by: Yonghong Song <yhs@fb.com>
    Signed-off-by: Jiong Wang <jiong.wang@netronome.com> (detail/ViewSVN)
    by jiwang
  9. [x86] fix formatting; NFC (detail/ViewSVN)
    by spatel
  10. [WebAssembly] Update test output after rL353474. NFC. (detail/ViewSVN)
    by djg
  11. [safestack] Don't crash if stack size is not aligned as expected

    Summary:
    From runtime side looks it's OK to RoundUpTo to needed alignment as buffer is
    going to be RoundUpTo to page size anyway.

    Reviewers: eugenis, pcc

    Subscribers: #sanitizers

    Tags: #sanitizers

    Differential Revision: https://reviews.llvm.org/D57866 (detail/ViewSVN)
    by Vitaly Buka
  12. [WebAssembly] Fix imported function symbol names that differ from their import names in the .o format

    Add a flag to allow symbols to have a wasm import name which differs from the
    linker symbol name, allowing the linker to link code using the import_module
    attribute.

    This is the MC/Object portion of the patch.

    Differential Revision: https://reviews.llvm.org/D57632 (detail/ViewSVN)
    by djg
  13. [InstCombine] Optimize `atomicrmw <op>, 0` into `load atomic` when possible

    This commit teaches InstCombine how to replace an atomicrmw operation
    into a simple load atomic.
    For a given `atomicrmw <op>`, this is possible when:
    1. The ordering of that operation is compatible with a load (i.e.,
       anything that doesn't have a release semantic).
    2. <op> does not modify the value being stored

    Differential Revision: https://reviews.llvm.org/D57854 (detail/ViewSVN)
    by qcolombet
  14. gn build: Make check-{clang,lld,llvm} pass on FreeBSD.

    Mostly achieved by assuming that anything that isn't Win or Mac is ELF,
    which seems reasonable enough for now.

    Differential Revision: https://reviews.llvm.org/D57870 (detail/ViewSVN)
    by pcc
  15. [LV] Remove unnecessary assignment to UserIC. (detail/ViewSVN)
    by fhahn
  16. [InstCombine] Fix crashing from (icmp (bitcast ([su]itofp X)), Y)

    This fixes a class of bugs introduced by D44367,
    which transforms various cases of icmp (bitcast ([su]itofp X)), Y to icmp X, Y.
    If the bitcast is between vector types with a different number of elements,
    the current code will produce bad IR along the lines of: icmp <N x i32> ..., <M x i32> <...>.

    This patch suppresses the transform if the bitcast changes the number of vector elements.

    Patch by: @AndrewScheidecker (Andrew Scheidecker)

    Differential Revision: https://reviews.llvm.org/D57871 (detail/ViewSVN)
    by spatel
  17. Move SMTSolver dump() methods out-of-line.

    This broke modularized non-local-submodule-visibility builds because
    the function bodies pulled in extra dependencies. (detail/ViewSVN)
    by Adrian Prantl
  18. [CodeGen] Handle vector UADDO, SADDO, USUBO, SSUBO

    This is part of https://bugs.llvm.org/show_bug.cgi?id=40442.

    Vector legalization is implemented for the add/sub overflow opcodes.
    UMULO/SMULO are also handled as far as legalization is concerned, but
    they don't support vector expansion yet (so no tests for them).

    The vector result widening implementation is suboptimal, because it
    could result in a legalization loop.

    Differential Revision: https://reviews.llvm.org/D57639 (detail/ViewSVN)
    by nikic
  19. [cmake] Pass LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN to NATIVE configure

    We should propagate this down to host builds so that e.g. people using
    an optimized tablegen can do the sub-configure successfully. (detail/ViewSVN)
    by smeenai
  20. [InstCombine] refactor folds for (icmp (bitcast X), Y); NFCI (detail/ViewSVN)
    by spatel
  21. [LV] Prevent interleaving if computeMaxVF returned None.

    As discussed in D57382, interleaving should be avoided if computeMaxVF
    returns None, same as we currently do for vectorization.

    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6477

    Reviewers: Ayal, dcaballe, hsaito, mkuper, rengolin

    Reviewed By: Ayal

    Differential Revision: https://reviews.llvm.org/D57837 (detail/ViewSVN)
    by fhahn
  22. GlobalISel: Try to fix bot failures

    Don't rely on order of evaluation of function arguments. (detail/ViewSVN)
    by arsenm
  23. [Sema][ObjC] Disallow non-trivial C struct fields in unions.

    This patch fixes a bug where clang doesn’t reject union fields of
    non-trivial C struct types. For example:

    ```
    // This struct is non-trivial under ARC.
    struct S0 {
      id x;
    };

    union U0 {
      struct S0 s0; // clang should reject this.
      struct S0 s1; // clang should reject this.
    };

    void test(union U0 a) {
      // Previously, both 'a.s0.x' and 'a.s1.x' were released in this
      // function.
    }
    ```

    rdar://problem/46677858

    Differential Revision: https://reviews.llvm.org/D55659 (detail/ViewSVN)
    by ahatanak
  24. [DAGCombiner] (add (umax X, C), -C) --> (usubsat X, C) (PR40111)

    Move the (add (umax X, C), -C) --> (usubsat X, C) X86 combine into generic DAGCombiner

    First of a number of saturated arithmetic folds that can be moved out of X86-specific code for PR40111.

    Differential Revision: https://reviews.llvm.org/D57754 (detail/ViewSVN)
    by rksimon
  25. [SEMA]Generalize deferred diagnostic interface, NFC.

    Summary:
    Deferred diagnostic interface is going to be used for OpenMP device
    compilation. Generalized previously existed deferred diagnostic
    interface for CUDA to be used with OpenMP and, possibly, other models.

    Reviewers: rjmccall, tra

    Subscribers: caomhin, cfe-commits, kkwli0

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D57908 (detail/ViewSVN)
    by abataev
  26. GlobalISel: Implement narrowScalar for shift main type

    This is pretty much directly ported from SelectionDAG. Doesn't include
    the shift by non-constant but known bits version, since there isn't a
    globalisel version of computeKnownBits yet.

    This shows a disadvantage of targets not specifically which type
    should be used for the shift amount. If type 0 is legalized before
    type 1, the operations on the shift amount type use the wider type
    (which are also less likely to legalize). This can be avoided by
    targets specifying legalization actions on type 1 earlier than for
    type 0. (detail/ViewSVN)
    by arsenm
  27. AMDGPU/GlobalISel: Restrict g_implicit_def legality (detail/ViewSVN)
    by arsenm
  28. Add static_asserts to tuple's comparison operators to enforce the requirement that the tuples be the same size. See PR39183 for an example where we give unexpected results for this bad input case. With this change, we will reject it at compile-time (detail/ViewSVN)
    by marshall
  29. GlobalISel: Fix artifact combiner constant legality checks for vectors

    Since G_CONSTANT is illegal for vectors, this needs to check
    what buildConstant will produce for a splat vector. (detail/ViewSVN)
    by arsenm
  30. Add UBSAN annotation to __hash_table::rehash; we don't do anything wrong, but UBSAN's checker flags it as suspicious. See PR38606. NFC (detail/ViewSVN)
    by marshall
  31. AMDGPU/GlobalISel: Don't use g_implicit_def in a few tests (detail/ViewSVN)
    by arsenm
  32. Revert "[DAG] Cleanup of unused node in SimplifySelectCC."

    Causes ASAN use-after-poison errors. (detail/ViewSVN)
    by niravd
  33. [InstrProf] Avoid reconstructing Triple, NFC (detail/ViewSVN)
    by rnk
  34. AMDGPU/GlobalISel: Legalize fsqrt (detail/ViewSVN)
    by arsenm
  35. AMDGPU/GlobalISel: Legalize some f16 operations (detail/ViewSVN)
    by arsenm
  36. [InstrProf] Port test suite to Windows

    Summary:
    Before this change, check-profile would run, but all tests would be
    marked unsupported on Windows. This is the new status of 'check-profile'
    after this change:

    Testing Time: 6.66s
      Expected Passes    : 29
      Expected Failures  : 5
      Unsupported Tests  : 39

    I moved many tests that exercise posix-y features like dlopen and DSOs
    into the Posix subdirectory, and ran the tests on Linux to validate my
    changes.

    These are the remaining tests that I handled on a case by case basis:
    - instrprof-path.c
      Passes, Fixed some path portability issues
    - instrprof-gcov-exceptions.test
      Passes, the FileCheck actually succeeds on Windows, so I RUNX'd it
    - instrprof-icall-promo.test
      XFAILed, probably due to C++ ABI differences in vtables
    - instrprof-merge-match.test
    - instrprof-merge.c
    - instrprof-merging.cpp
      XFAILed, These seem like real bugs that need fixing
    - instrprof-version-mismatch.c
      XFAILed, Overriding the weak version symbol doesn't work
    - instrprof-without-libc.c
      UNSUPPORTED, test needs an executable symbol table, Windows has none

    Reviewers: davidxl, wmi, void

    Subscribers: fedor.sergeev, #sanitizers, llvm-commits

    Tags: #sanitizers

    Differential Revision: https://reviews.llvm.org/D57853 (detail/ViewSVN)
    by rnk
  37. [HotColdSplit] With PGO add profile entry metadata to split cold function

    Summary:
    When compiling with profile data, ensure the split cold function gets
    cold function_entry_count metadata (just use 0 since it should be cold).
    Otherwise with function sections it will not be placed in the unlikely
    text section with other cold code.

    Reviewers: vsk

    Subscribers: sebpop, hiraditya, davidxl, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D57900 (detail/ViewSVN)
    by tejohnson
  38. [DAGCombiner] fold add/sub with bool operand based on target's boolean contents
     
    I noticed that we are missing this canonicalization in IR:
    rL352515
    ...and then realized that we don't get this right in SDAG either,
    so this has to be fixed first regardless of what we choose to do in IR.

    The existing fold was limited to scalars and using the wrong predicate
    to guard the transform. We have a boolean contents TLI query that can
    be used to decide which direction to fold.

    This may eventually lead back to the problems/question in:
    https://bugs.llvm.org/show_bug.cgi?id=40486
    ...but it makes no difference to that yet.

    Differential Revision: https://reviews.llvm.org/D57401 (detail/ViewSVN)
    by spatel
  39. GlobalISel: Implement fewerElementsVector for shifts

    Introduce a new function which handles instructions with multiple type
    indices, but have the same number of vector elements.

    Also legalize v2s16 shifts when applicable. (detail/ViewSVN)
    by arsenm
  40. [OpenCL][PR40603] In C++ preserve compatibility with OpenCL C v2.0

    Valid OpenCL C code should still compile in C++ mode.

    This change enables extensions and OpenCL types.

    Differential Revision: https://reviews.llvm.org/D57824 (detail/ViewSVN)
    by stulova
  41. GlobalISel: Try to make legalize rules more useful for vectors

    Mostly keep the existing functions on scalars, but add versions which
    also operate based on the vector element size. (detail/ViewSVN)
    by arsenm
  42. [DAG] Cleanup of unused node in SimplifySelectCC. (detail/ViewSVN)
    by niravd
  43. [x86] split more 256/512-bit shuffles in lowering
     
    This is intentionally a small step because it's hard to know exactly
    where we might introduce a conflicting transform with the code that
    tries to form wider shuffles. But I think this is safe - if we have
    a wide shuffle with 2 operands, then we should do better with an
    extract + narrow shuffle.

    Differential Revision: https://reviews.llvm.org/D57867 (detail/ViewSVN)
    by spatel
  44. [DAG] Cleanup unused node on failed SELECT Combine. (detail/ViewSVN)
    by niravd
  45. [ASTImporter] Refactor unittests to be able to parameterize them in a more flexible way

    Summary:
    Currently `TestImportBase` is derived from `ParameterizedTestsFixture`
    which explicitly states that the gtest parameter can be only an
    `ArgVector`. This is a limitation when we want to create tests which may
    have different parameters.
    E.g. we would like to create tests where we can combine different test
    parameters. So, for example we'd like gtest to be able to provide
    parameters of `<std::tuple<ArgVector, const char *>` instead of a simple
    `ArgVector`.

    Reviewers: a_sidorin, shafik, a.sidorin

    Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits

    Differential Revision: https://reviews.llvm.org/D57322 (detail/ViewSVN)
    by martong
  46. [llvm-ar][libObject] Fix relative paths when nesting thin archives.

    Summary:
    When adding one thin archive to another, we currently chop off the relative path to the flattened members. For instance, when adding `foo/child.a` (which contains `x.txt`) to `parent.a`, when flattening it we should add it as `foo/x.txt` (which exists) instead of `x.txt` (which does not exist).

    As a note, this also undoes the `IsNew` parameter of handling relative paths in r288280. The unit test there still passes.

    This was reported as part of testing the kernel build with llvm-ar: https://patchwork.kernel.org/patch/10767545/ (see the second point).

    Reviewers: mstorsjo, pcc, ruiu, davide, david2050

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D57842 (detail/ViewSVN)
    by rupprecht
  47. [clangd] Mention indexing in docs.

    Reviewers: sammccall

    Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, cfe-commits

    Differential Revision: https://reviews.llvm.org/D57392 (detail/ViewSVN)
    by kadircet
  48. [clangd] Reduce number of threads used by BackgroundIndex to number of physical cores.

    Summary:
    clangd is using as many threads as logical cores for BackgroundIndex
    by default. We observed that it increases latency of foreground tasks.

    This patch aims to change that default to number of physical cores to get rid of
    that extra latency.

    Reviewers: ilya-biryukov

    Reviewed By: ilya-biryukov

    Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D57819 (detail/ViewSVN)
    by kadircet
  49. [clangd] Fix an assertion failure in Selection.

    Summary:
    The assertion is triggered when the Decl is null.

    Details for the assertion:

    F0207 09:55:09.069385   47308 logging.cc:84] assert.h assertion failed at llvm/include/llvm/Support/Casting.h:105 in static bool llvm::isa_impl_cl<clang::TranslationUnitDecl, const clang::      Decl *>::doit(const From *) [To = clang::TranslationUnitDecl, From = const clang::Decl *]: Val && "isa<> used on a null pointer"
    15 *** Check failure stack trace: ***
    19     @     0x55615c1f7e06  __assert_fail
    20     @     0x55615a6297d8  clang::clangd::(anonymous namespace)::SelectionVisitor::TraverseDecl()
    21     @     0x55615a62f48d  clang::RecursiveASTVisitor<>::TraverseTemplateTemplateParmDecl()
    22     @     0x55615a62b264  clang::RecursiveASTVisitor<>::TraverseDecl()
    23     @     0x55615a62979c  clang::clangd::(anonymous namespace)::SelectionVisitor::TraverseDecl()
    24     @     0x55615a63060c  clang::RecursiveASTVisitor<>::TraverseClassTemplatePartialSpecializationDecl()
    25     @     0x55615a62ae45  clang::RecursiveASTVisitor<>::TraverseDecl()

    Reviewers: sammccall

    Subscribers: javed.absar, kristof.beyls, ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D57879 (detail/ViewSVN)
    by hokein
  50. [scudo][standalone] Do not error out on spurious C(XX) flags

    Summary:
    The standalone Scudo version is being built with `-Werror` which can be
    tripped by extraneous command line arguments. We have little control over
    those as they can be passed down to us by `CMAKE_C(XX)_FLAGS`, the reported
    scenario involving `-stdlib=libc++` (see https://reviews.llvm.org/D57412#1384504).

    To work around this, disable `-Wunused-command-line-argument`.

    Reviewers: eugenis, vitalybuka, Eugene.Zelenko

    Reviewed By: eugenis

    Subscribers: mgorny, delcypher, #sanitizers, llvm-commits

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D57757 (detail/ViewSVN)
    by cryptoad
  51. [X86] Simplify casing. NFC. (detail/ViewSVN)
    by niravd
  52. [DAG] Cleanup unused nodes on failed store-to-load forward combine. (detail/ViewSVN)
    by niravd
  53. [ELF] Format lines inadvertently indented by rCTE353380 (detail/ViewSVN)
    by maskray
  54. [clangd] Use Dex for dynamic index by default.

    Summary:
    Memory usage for a sample TU:
      Without Dex: 17.9M
      With    Dex: 24.4M

    The memory increase is considerable but seems tolerable.

    Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D57878 (detail/ViewSVN)
    by ioeric
  55. [CodeView] Fix cycles in debug info when merging Types with global hashes

    When type streams with forward references were merged using GHashes, cycles
    were introduced in the debug info. This was caused by
    GlobalTypeTableBuilder::insertRecordAs() not inserting the record on the second
    pass, thus yielding an empty ArrayRef at that record slot. Later on, upon PDB
    emission, TpiStreamBuilder::commit() would skip that empty record, thus
    offseting all indices that came after in the stream.

    This solution comes in two steps:

    1. Fix the hash calculation, by doing a multiple-step resolution, iff there are
    forward references in the input stream.
    2. Fix merge by resolving with multiple passes, therefore moving records with
    forward references at the end of the stream.

    This patch also adds support for llvm-readoj --codeview-ghash.
    Finally, fix dumpCodeViewMergedTypes() which previously could reference deleted
    memory.

    Fixes PR40221

    Differential Revision: https://reviews.llvm.org/D57790 (detail/ViewSVN)
    by aganea

Started by upstream project Clang Stage 2: cmake, R -g Asan&UBSan, using Stage 1 RA, Phase 1 build number 6117
originally caused by:

This run spent:

  • 8.6 sec waiting;
  • 15 min build duration;
  • 15 min total from scheduled to completion.

Identified problems

Missing test results

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

CMake Error

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