Started 6 days 2 hr ago
Took 11 hr on green-dragon-18

Success Build #18230 (Jun 19, 2019 2:56:16 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 363762
  • http://llvm.org/svn/llvm-project/cfe/trunk : 363759
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 363755
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 363611
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 363740
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 363761
Changes
  1. [RISCV] Fix test after r363757

    r363757 renamed ExpandISelPseudo to FinalizeISel, so the RUN line in
    select-optimize-multiple.mir needed updating to refer to finalize-isel. (detail/ViewSVN)
    by asb
  2. [TEST] Fix test on Windows by looking for substrings rather than a regex
    since the escaping of special characters appears to break on Windows. (detail/ViewSVN)
    by dyung
  3. Fix more tests after r363749

    Apparently -Wmissing-prototypes is used for quite a few integration
    tests. (detail/ViewSVN)
    by aaronpuchert
  4. git-clang-format: Remove trailing whitespace in docstring. NFC.

    Differential Revision: https://reviews.llvm.org/D62915 (detail/ViewSVN)
    by sbc
  5. [NFC] move some hardware loop checking code to a common place for other using.
    Differential Revision: https://reviews.llvm.org/D63478 (detail/ViewSVN)
    by shchenz
  6. Rename ExpandISelPseudo->FinalizeISel, delay register reservation

    This allows targets to make more decisions about reserved registers
    after isel. For example, now it should be certain there are calls or
    stack objects in the frame or not, which could have been introduced by
    legalization.

    Patch by Matthias Braun (detail/ViewSVN)
    by arsenm
  7. [WebAssembly] Optimize ISel for SIMD Boolean reductions

    Summary:
    Converting the result *.{all,any}_true to a bool at the source level
    generates LLVM IR that compares the result to 0. This check is
    redundant since these instructions already return either 0 or 1 and
    therefore conform to the BooleanContents setting for WebAssembly. This
    CL adds patterns to detect and remove such redundant operations on the
    result of Boolean reductions.

    Reviewers: dschuff, aheejin

    Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63529 (detail/ViewSVN)
    by tlively
  8. Don't crash if PR_SET_VMA_ANON_NAME fails.

    This prctl is not implemented on very old devices.
    It is not necessary for the core functionality of the tool. Simply
    ignore the failure. (detail/ViewSVN)
    by eugenis
  9. Fix tests after r363749

    We changed -Wmissing-prototypes there, which was used in these tests via
    -Weverything. (detail/ViewSVN)
    by aaronpuchert
  10. Re-commit r363744: [tblgen][disasm] Allow multiple encodings to disassemble to the same instruction

    It seems macOS lets you have ArrayRef<const X> even though this is apparently
    forbidden by the language standard (Thanks MSVC++ for the clear error message).
    Removed the problematic const's to fix this.

    (It also seems I'm not receiving buildbot emails anymore and I'm trying to find
    out why. In the mean time I'll be polling lab.llvm.org to hopefully see if/when
    failures occur) (detail/ViewSVN)
    by dsanders
  11. [demangle] Special case clang's creative mangling of __uuidof expressions. (detail/ViewSVN)
    by epilk
  12. [test] Change comment wording (NFC) (detail/ViewSVN)
    by evandro
  13. Suggestions to fix -Wmissing-{prototypes,variable-declarations}

    Summary:
    I've found that most often the proper way to fix this warning is to add
    `static`, because if the code otherwise compiles and links, the function
    or variable is apparently not needed outside of the TU.

    We can't provide a fix-it hint for variable declarations, because
    multiple VarDecls can share the same type, and if we put static in front
    of that, we affect all declared variables, some of which might have
    previous declarations.

    We also provide no fix-it hint for the rare case of an `extern` function
    definition, because that would require removing `extern` and I have no
    idea how to get the source location of the storage class specifier from
    a FunctionDecl. I believe this information is only available earlier in
    the AST construction from DeclSpec::getStorageClassSpecLoc(), but we
    don't have that here.

    Reviewed By: aaron.ballman

    Differential Revision: https://reviews.llvm.org/D59402 (detail/ViewSVN)
    by aaronpuchert
  14. Show note for -Wmissing-prototypes for functions with parameters

    Summary:
    There was a search for non-prototype declarations for the function, but
    we only showed the results for zero-parameter functions. Now we show the
    note for functions with parameters as well, but we omit the fix-it hint
    suggesting to add `void`.

    Reviewed By: aaron.ballman

    Differential Revision: https://reviews.llvm.org/D62750 (detail/ViewSVN)
    by aaronpuchert
  15. Revert [tblgen][disasm] Allow multiple encodings to disassemble to the same instruction

    This reverts r363744 (git commit 9b2252123d1e79d2b3594097a9d9cc60072b83d9)

    This breaks many buildbots, e.g. http://lab.llvm.org:8011/builders/clang-atom-d525-fedora-rel/builds/203/steps/build%20stage%201/logs/stdio (detail/ViewSVN)
    by rupprecht
  16. Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used

    Summary:
    Historically llvm-objdump prints the path to a dylib as well as the
    dylib's compatibility version and current version number. This change
    extends this information by adding the kind of dylib load: weak,
    reexport, etc.

    rdar://51383512

    Reviewers: pete, lhames

    Reviewed By: pete

    Subscribers: rupprecht, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D62866 (detail/ViewSVN)
    by mtrent
  17. [GlobalISel][Localizer] Remove redundant set lookup.

    After changing the algorithm to only process the entry block we never revisit
    a processed instruction. (detail/ViewSVN)
    by aemerson
  18. [tblgen][disasm] Allow multiple encodings to disassemble to the same instruction

    Summary:
    Add an AdditionalEncoding class which can be used to define additional encodings
    for a given instruction. This causes the disassembler to add an additional
    encoding to its matching tables that map to the specified instruction.

    Usage:
      def ADD1 : Instruction {
        bits<8> Reg;
        bits<32> Inst;

        let Size = 4;
        let Inst{0-7} = Reg;
        let Inst{8-14} = 0;
        let Inst{15} = 1; // Continuation bit
        let Inst{16-31} = 0;
        ...
      }
      def : AdditionalEncoding<ADD1> {
        bits<8> Reg;
        bits<16> Inst; // You can also have bits<32> and it will still be a 16-bit encoding
        let Size = 2;
        let Inst{0-3} = 0;
        let Inst{4-7} = Reg;
        let Inst{8-15} = 0;
        ...
      }
    with those definitions, llvm-mc will successfully disassemble both of these:
      0x01 0x00
      0x10 0x80 0x00 0x00
    to:
      ADD1 r1

    Depends on D52366

    Reviewers: bogner, charukcs

    Reviewed By: bogner

    Subscribers: nlguillemot, nhaehnle, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D52369 (detail/ViewSVN)
    by dsanders
  19. Recommit [SROA] Enhance SROA to handle `addrspacecast`ed allocas

    [SROA] Enhance SROA to handle `addrspacecast`ed allocas

    - Fix typo in original change
    - Add additional handling to ensure all return pointers are properly
      casted.

    Summary:
    - After `addrspacecast` is allowed to be eliminated in SROA, the
      adjusting of storage pointer (from `alloca) needs to handle the
      potential different address spaces between the storage pointer (from
      alloca) and the pointer being used.

    Reviewers: arsenm

    Subscribers: wdng, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63501 (detail/ViewSVN)
    by hliao
  20. [test] NFC, udpate clang-scan-deps tests to not use -c to avoid driver issues when no integrated assembler is present

    Caught by Douglas Yung. (detail/ViewSVN)
    by arphaman
  21. InstCombine: Pre-commit test for reassociating nuw

    D39417 (detail/ViewSVN)
    by arsenm
  22. Disable the 'nextafter' portions of these tests on PPC when using 128-bit doubles because the 'nextafter' call doesn't work right. Reviewed as https://reviews.llvm.org/D62384. Thanks to Xing Xue for the patch, and Hubert for the explanation. (detail/ViewSVN)
    by marshall
  23. [ARM] Comply with rules on ARMv8-A thumb mode partial deprecation of IT.

    Summary:
    When identifing instructions that can be folded into a MOVCC instruction,
    checking for a predicate operand is not enough, also need to check for
    thumb2 function, with restrict-IT, is the machine instruction eligible for
    ARMv8 IT or not.

    Notes in ARMv8-A Architecture Reference Manual, section "Partial deprecation of IT"
      https://usermanual.wiki/Pdf/ARM20Architecture20Reference20ManualARMv8.1667877052.pdf

    "ARMv8-A deprecates some uses of the T32 IT instruction. All uses of IT that apply to
    instructions other than a single subsequent 16-bit instruction from a restricted set
    are deprecated, as are explicit references to the PC within that single 16-bit
    instruction. This permits the non-deprecated forms of IT and subsequent instructions
    to be treated as a single 32-bit conditional instruction."

    Reviewers: efriedma, lebedev.ri, t.p.northover, jmolloy, aemerson, compnerd, stoklund, ostannard

    Reviewed By: ostannard

    Subscribers: ostannard, javed.absar, kristof.beyls, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63474 (detail/ViewSVN)
    by huihuiz
  24. Remove GCC C++03 fallbacks for decltype and static_assert.

    This means libc++ no longer needs to write extra braces in
    static asserts: Ex `static_assert((is_same_v<T, V>), "msg")`. (detail/ViewSVN)
    by ericwf
  25. [RISCV] Prevent re-ordering some adds after shifts

    Summary:
    DAGCombine will normally turn a `(shl (add x, c1), c2)` into `(add (shl x, c2), c1 << c2)`, where `c1` and `c2` are constants. This can be prevented by a callback in TargetLowering.

    On RISC-V, materialising the constant `c1 << c2` can be more expensive than materialising `c1`, because materialising the former may take more instructions, and may use a register, where materialising the latter would not.

    This patch implements the hook in RISCVTargetLowering to prevent this transform, in the cases where:
    - `c1` fits into the immediate field in an `addi` instruction.
    - `c1` takes fewer instructions to materialise than `c1 << c2`.

    In future, DAGCombine could do the check to see whether `c1` fits into an add immediate, which might simplify more targets hooks than just RISC-V.

    Reviewers: asb, luismarques, efriedma

    Reviewed By: asb

    Subscribers: xbolva00, lebedev.ri, craig.topper, lewis-revill, Jim, hiraditya, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D62857 (detail/ViewSVN)
    by lenary
  26. [libFuzzer] Improve FuzzedDataProvider helper.

    Summary:
    The following changes are made based on the feedback from Tim King:
    - Removed default template parameters, to have less assumptions.
    - Implemented `ConsumeBytesWithTerminator` method.
    - Made `PickValueInArray` method work with `initializer_list` argument.
    - Got rid of `data_type` type alias, that was redundant.
    - Refactored `ConsumeBytes` logic into a private method for better code reuse.
    - Replaced implementation defined unsigned to signed conversion.
    - Fixed `ConsumeRandomLengthString` to always call `shrink_to_fit`.
    - Clarified and fixed some commments.
    - Applied clang-format to both the library and the unittest source.

    Tested on Linux, Mac, Windows.

    Reviewers: morehouse, metzman

    Reviewed By: morehouse

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

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D63348 (detail/ViewSVN)
    by dor1s
  27. [OPENMP]Use host's mangling for 128 bit float types on the device.

    Device have to use the same mangling as the host for 128bit float types. Otherwise, the codegen for the device is unable to find the parent function when it tries to generate the outlined function for the target region and it leads to incorrect compilation and crash at the runtime. (detail/ViewSVN)
    by abataev
  28. [MachinePipeliner][NFC] Do resource tracking log only when requested.

    In most cases we don't need to do resource tracking debug,
    so leave them off by default. (detail/ViewSVN)
    by jsji
  29. [x86] add another test for load splitting with extracted stores (PR42305); NFC (detail/ViewSVN)
    by spatel
  30. Add debug location verification for !llvm.loop attachments.

    This patch teaches the Verifier how to detect broken !llvm.loop
    attachments as discussed in https://reviews.llvm.org/D60831. This
    allows LLVM to warn and strip out the broken debug info before
    attempting an LTO compilation with input generated by LLVM predating
    https://reviews.llvm.org/rL361149.

    rdar://problem/51631158

    Differential Revision: https://reviews.llvm.org/D63499

    [Re-applies r363725 without changes after fixing a broken testcase.] (detail/ViewSVN)
    by Adrian Prantl
  31. Fix broken debug info in in an !llvm.loop attachment in this testcase. (detail/ViewSVN)
    by Adrian Prantl
  32. [AMDGPU] gfx10 wave32 patterns

    Differential Revision: https://reviews.llvm.org/D63511 (detail/ViewSVN)
    by rampitec
  33. Revert Add debug location verification for !llvm.loop attachments.

    This reverts r363725 (git commit 8ff822d61dacf5a9466755eedafd3eeb54abc00d) (detail/ViewSVN)
    by Adrian Prantl
  34. [coroutines] Add missing pass dependency.

    Summary:
    CoroSplit depends on CallGraphWrapperPass, but it was not explicitly adding it as a pass dependency.

    This missing dependency can trigger errors / assertions / crashes in PMTopLevelManager::schedulePass() under certain configurations.

    Author: ben-clayton

    Reviewers: GorNishanov

    Reviewed By: GorNishanov

    Subscribers: capn, EricWF, modocache, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63144 (detail/ViewSVN)
    by gornishanov
  35. Add debug location verification for !llvm.loop attachments.

    This patch teaches the Verifier how to detect broken !llvm.loop
    attachments as discussed in https://reviews.llvm.org/D60831. This
    allows LLVM to warn and strip out the broken debug info before
    attempting an LTO compilation with input generated by LLVM predating
    https://reviews.llvm.org/rL361149.

    rdar://problem/51631158

    Differential Revision: https://reviews.llvm.org/D63499 (detail/ViewSVN)
    by Adrian Prantl
  36. [PDB] Ignore .debug$S subsections with high bit set

    Some versions of the Visual C++ 2015 runtime have line tables with the
    subsection kind of 0x800000F2. In cvinfo.h, 0x80000000 is documented to
    be DEBUG_S_IGNORE. This appears to implement the intended behavior. (detail/ViewSVN)
    by rnk
  37. Reconfigure docker builders to be more modular.

    And other various cleanups to the configuration. (detail/ViewSVN)
    by ericwf
  38. [AMDGPU] gfx1010 disassembler changes for wave32

    Differential Revision: https://reviews.llvm.org/D63506 (detail/ViewSVN)
    by rampitec
  39. [OPENMP][NVPTX]Correct codegen for 128 bit long double.

    If the host uses 128 bit long doubles, the compiler should generate correct code for NVPTX devices. If the return type has 128 bit long doubles, in LLVM IR this type must be coerced to int array instead. (detail/ViewSVN)
    by abataev
  40. [X86] Remove unnecessary line that makes v4f32 FP_ROUND Legal. NFC

    FP_ROUND defaults to Legal for all MVT types and nothing changes
    the v4f32 entry way from this default. If we needed this line
    we'd also need one for v8f32 with AVX512 which we don't have. (detail/ViewSVN)
    by ctopper
  41. Revert [SROA] Enhance SROA to handle `addrspacecast`ed allocas

    This reverts r363711 (git commit 76a149ef8187310a60fd20481fdb2a10c8ba968e)

    This causes stage2 build failures, e.g.:
    http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/132/steps/stage%202%20build/logs/stdio
    http://lab.llvm.org:8011/builders/ppc64le-lld-multistage-test/builds/87/steps/build-stage2-unified-tree/logs/stdio (detail/ViewSVN)
    by rupprecht
  42. [OPENMP]Use host's long double when compiling the code for device.

    The device code must use the same long double type as the host.
    Otherwise the code cannot be linked and executed properly. Patch adds
    only basic support and checks for supporting of the host long double
    double on the device. (detail/ViewSVN)
    by abataev
  43. [TargetLowering] SimplifyDemandedBits - Cleanup ANY_EXTEND handling

    Match SIGN_EXTEND + ZERO_EXTEND handling - will be adding ANY_EXTEND_VECTOR_INREG support in a future patch. (detail/ViewSVN)
    by rksimon
  44. Fix the floating point version of midpoint. It wasn't constexpr, among other things. Add more tests. As a drive-by, the LCD implementation had a class named '__abs' which did a 'absolute value to a common-type' conversion. Rename that to be '__ct_abs'. (detail/ViewSVN)
    by marshall
  45. [TargetLowering] SimplifyDemandedBits - Merge ZERO_EXTEND+ZERO_EXTEND_VECTOR_INREG handling

    Other than adding consistent demanded elts handling which was a trivial addition, the other differences in functionality will be added in later patches. (detail/ViewSVN)
    by rksimon
  46. [clang-tidy] Split fuchsia-default-arguments

    Splits fuchsia-default-arguments check into two checks. fuchsia-default-arguments-calls warns if a function or method is called with default arguments. fuchsia-default-arguments-declarations warns if a function or method is declared with default parameters.

    Committed on behalf of @diegoast (Diego Astiazarán).

    Resolves b38051.

    Differential Revision: https://reviews.llvm.org/D62437 (detail/ViewSVN)
    by juliehockett
  47. [SROA] Enhance SROA to handle `addrspacecast`ed allocas

    Summary:
    - After `addrspacecast` is allowed to be eliminated in SROA, the
      adjusting of storage pointer (from `alloca) needs to handle the
      potential different address spaces between the storage pointer (from
      alloca) and the pointer being used.

    Reviewers: arsenm

    Subscribers: wdng, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63501 (detail/ViewSVN)
    by hliao
  48. [TargetLowering] SimplifyDemandedBits - Merge SIGN_EXTEND+SIGN_EXTEND_VECTOR_INREG handling

    Other than adding consistent demanded elts handling which was a trivial addition, the other differences in functionality will be added in later patches. (detail/ViewSVN)
    by rksimon
  49. Add test cases for dumping AST function decl nodes to JSON; NFC. (detail/ViewSVN)
    by aaronballman
  50. [scudo][standalone] Fuchsia related changes

    Summary:
    Fuchsia wants to use mutexes with PI in the Scudo code, as opposed to
    our own implementation. This required making `lock` & `unlock` platform
    specific (as opposed to `wait` & `wake`) [code courtesy of John
    Grossman].
    There is an additional flag required now for mappings as well:
    `ZX_VM_ALLOW_FAULTS`.

    Reviewers: morehouse, mcgrathr, eugenis, vitalybuka, hctim

    Reviewed By: morehouse

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

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D63435 (detail/ViewSVN)
    by cryptoad

Started by upstream project clang-stage2-Rthinlto_relay build number 1638
originally caused by:

This run spent:

  • 1 hr 0 min waiting;
  • 11 hr build duration;
  • 12 hr total from scheduled to completion.
Cobol Warnings: 0 warnings.
  • No warnings since build 10,378.
  • New zero warnings highscore: no warnings for 385 days!
Test Result (no failures)