Started 13 days ago
Took 1 hr 24 min on green-dragon-09

Success Build #17906 (Jul 9, 2019 5:23:50 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 365583
  • http://llvm.org/svn/llvm-project/cfe/trunk : 365585
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 365560
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 365562
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 365576
Changes
  1. [analyzer] CastValueChecker: Model casts

    Summary:
    It models the LLVM casts:
    - `cast<>`
    - `dyn_cast<>`
    - `cast_or_null<>`
    - `dyn_cast_or_null<>`

    It has a very basic support without checking the `classof()` function.

    (It reapplies the reverted 'llvm-svn: 365582' patch with proper test file.)

    Reviewed By: NoQ

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64374 (detail/ViewSVN)
    by charusso
  2. Revert "[analyzer] CastValueChecker: Model casts"

    This reverts commit 27cf6664437efd640bb6db5594bafcce68fa2854. (detail/ViewSVN)
    by charusso
  3. GlobalISel: Implement lower for G_FCOPYSIGN

    In SelectionDAG AMDGPU treated these as legal, but this was mostly
    because the bitcasts required for FP types were painful. Theoretically
    the bitpattern should eventually match to bfi, so don't bother trying
    to get the patterns to import. (detail/ViewSVN)
    by arsenm
  4. [analyzer] CastValueChecker: Model casts

    Summary:
    It models the LLVM casts:
    - `cast<>`
    - `dyn_cast<>`
    - `cast_or_null<>`
    - `dyn_cast_or_null<>`

    It has a very basic support without checking the `classof()` function.

    Reviewed By: NoQ

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64374 (detail/ViewSVN)
    by charusso
  5. Revert [clang] DirectoryWatcher

    This reverts r365574 (git commit 31babea94a3ed38a140540f2252cf043dacec1f7) (detail/ViewSVN)
    by rnk
  6. [Bitcode] Explicitly include Bitstream/BitCodes.h and BitstreamWriter.h

    This fixes a modules issue. (detail/ViewSVN)
    by thegameg
  7. [MS] Treat ignored explicit calling conventions as an explicit __cdecl

    The CCCR_Ignore action is only used for Microsoft calling conventions,
    mainly because MSVC does not warn when a calling convention would be
    ignored by the current target. This behavior is actually somewhat
    important, since windows.h uses WINAPI (which expands to __stdcall)
    widely. This distinction didn't matter much before the introduction of
    __vectorcall to x64 and the ability to make that the default calling
    convention with /Gv. Now, we can't just ignore __stdcall for x64, we
    have to treat it as an explicit __cdecl annotation.

    Fixes PR42531 (detail/ViewSVN)
    by rnk
  8. [docs][Remarks] Add documentation for remarks in LLVM

    This adds documentation that describes remarks in LLVM.

    It aims at explaining what remarks are, how to enable them, and what
    users can do with the different modes.

    It lists all the available flags in LLVM (excluding clang), and
    describes the expected YAML structure as well as the tools that support
    the YAML format today.

    Differential Revision: https://reviews.llvm.org/D64355 (detail/ViewSVN)
    by thegameg
  9. [X86] Don't form extloads in combineExtInVec unless the load extension is legal.

    This should prevent doing this on pre-sse4.1 targets or for 256
    bit vectors without avx2.

    I don't know of a failure from this. Op legalization will probably
    take care of, but seemed better to be safe. (detail/ViewSVN)
    by ctopper
  10. [clangd] fix assert in test after r365531.

    Unverified because CMake/ninja seems to be broken... (detail/ViewSVN)
    by sammccall
  11. AMDGPU/GlobalISel: Fix legality for G_BUILD_VECTOR (detail/ViewSVN)
    by arsenm
  12. [clang] DirectoryWatcher

    Asynchronously monitors specified directory for changes and passes notifications to provided callback.

    Dependency for index-while-building.

    Differential Revision: https://reviews.llvm.org/D58418 (detail/ViewSVN)
    by Jan Korous
  13. [AMDGPU] gfx908 v_pk_fmac_f16 support

    Differential Revision: https://reviews.llvm.org/D64433 (detail/ViewSVN)
    by rampitec
  14. gn build: Merge r365536. (detail/ViewSVN)
    by pcc
  15. gn build: Merge r365532. (detail/ViewSVN)
    by pcc
  16. gn build: Merge r365541. (detail/ViewSVN)
    by pcc
  17. gn build: Merge r365531. (detail/ViewSVN)
    by pcc
  18. Add lldb type unit support to the release notes

    Reviewers: JDevlieghere, teemperor

    Subscribers: llvm-commits, lldb-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64366 (detail/ViewSVN)
    by labath
  19. GlobalISel: Combine unmerge of merge with intermediate cast

    This eliminates some illegal intermediate vectors when operations are
    scalarized. (detail/ViewSVN)
    by arsenm
  20. [Profile] Support raw/indexed profiles larger than 4GB

    rdar://45955976 (detail/ViewSVN)
    by Vedant Kumar
  21. [llvm-objdump] Keep warning for --disassemble-functions in correct order.

    relative to normal output when dumping archive files.

    prepare for PR35351.

    Reviewers: jhenderson, grimar, MaskRay, rupprecht

    Reviewed by: MaskRay, jhenderson

    Differential Revision: https://reviews.llvm.org/D64165 (detail/ViewSVN)
    by yuanfang
  22. [AMDGPU] gfx908 mAI instructions, MC part

    Differential Revision: https://reviews.llvm.org/D64446 (detail/ViewSVN)
    by rampitec
  23. build: use multiple `install` rather than building up a list

    Rather than building up a list to iterate over later, just create multiple
    install commands based on the configuration. This makes it easier to see what
    is getting installed and allows for the install handling to be centralised. NFC (detail/ViewSVN)
    by Saleem Abdulrasool
  24. Reland "[TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.8"

    Fix compilation errors related to `SANITIZER_GO` `#ifdef`s.

    Refine longjmp key management.  For Linux, re-implement key retrieval in
    C (instead of assembly).  Removal of `InitializeGuardPtr` and a final
    round of cleanups will be done in the next commit.

    Reviewed By: dvyukov

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

    llvm-svn: 365513 (detail/ViewSVN)
    by yln
  25. XFAIL clang/test/Headers/max_align.c on i686 (detail/ViewSVN)
    by andusy
  26. Use the Itanium C++ ABI for the pipe_builtin.cl test

    Certain OpenCL constructs cannot yet be mangled in the MS C++ ABI.
    Add a FIXME for it if anyone cares to implement it. (detail/ViewSVN)
    by rnk
  27. De-templatize non-dependent VS macro logic, NFC

    These macro definitions don't depend on the template parameter, so they
    don't need to be part of the template. Move them to a .cpp file. (detail/ViewSVN)
    by rnk
  28. [CXX] Exercise all paths through these tests.

    Differential Revision: https://reviews.llvm.org/D63894 (detail/ViewSVN)
    by probinson
  29. [TSan] Refine longjmp key management on Darwin

    NFC. (detail/ViewSVN)
    by yln
  30. [SLP] Optimize getSpillCost(); NFCI

    For a given set of live values, the spill cost will always be the
    same for each call. Compute the cost once and multiply it by the
    number of calls.

    (I'm not sure this spill cost modeling makes sense if there are
    multiple calls, as the spill cost will likely be shared across
    calls in that case. But that's how it currently works.) (detail/ViewSVN)
    by nikic
  31. hwasan: Improve precision of checks using short granule tags.

    A short granule is a granule of size between 1 and `TG-1` bytes. The size
    of a short granule is stored at the location in shadow memory where the
    granule's tag is normally stored, while the granule's actual tag is stored
    in the last byte of the granule. This means that in order to verify that a
    pointer tag matches a memory tag, HWASAN must check for two possibilities:

    * the pointer tag is equal to the memory tag in shadow memory, or
    * the shadow memory tag is actually a short granule size, the value being loaded
      is in bounds of the granule and the pointer tag is equal to the last byte of
      the granule.

    Pointer tags between 1 to `TG-1` are possible and are as likely as any other
    tag. This means that these tags in memory have two interpretations: the full
    tag interpretation (where the pointer tag is between 1 and `TG-1` and the
    last byte of the granule is ordinary data) and the short tag interpretation
    (where the pointer tag is stored in the granule).

    When HWASAN detects an error near a memory tag between 1 and `TG-1`, it
    will show both the memory tag and the last byte of the granule. Currently,
    it is up to the user to disambiguate the two possibilities.

    Because this functionality obsoletes the right aligned heap feature of
    the HWASAN memory allocator (and because we can no longer easily test
    it), the feature is removed.

    Also update the documentation to cover both short granule tags and
    outlined checks.

    Differential Revision: https://reviews.llvm.org/D63908 (detail/ViewSVN)
    by pcc
  32. [PoisonChecking] Flesh out complete todo list for full coverage

    Note: I don't actually plan to implement all of the cases at the moment, I'm just documenting them for completeness.  There's a couple of cases left which are practically useful for me in debugging loop transforms, and I'll probably stop there for the moment. (detail/ViewSVN)
    by reames
  33. [X86][AMDGPU][DAGCombiner] Move call to allowsMemoryAccess into isLoadBitCastBeneficial/isStoreBitCastBeneficial to allow X86 to bypass it

    Basically the problem is that X86 doesn't set the Fast flag from
    allowsMemoryAccess on certain CPUs due to slow unaligned memory
    subtarget features. This prevents bitcasts from being folded into
    loads and stores. But all vector loads and stores of the same width
    are the same cost on X86.

    This patch merges the allowsMemoryAccess call into isLoadBitCastBeneficial to allow X86 to skip it.

    Differential Revision: https://reviews.llvm.org/D64295 (detail/ViewSVN)
    by ctopper
  34. Fix build error for VC STL, use llvm::make_unique (detail/ViewSVN)
    by rnk
  35. [AMDGPU] gfx908 register file changes

    Differential Revision: https://reviews.llvm.org/D64438 (detail/ViewSVN)
    by rampitec
  36. [OpenMP] Simplify getFloatTypeSemantics

    When the float point representations are the same on the host and on the target device,
    (`&Target->getLongDoubleFormat() == &AuxTarget->getLongDoubleFormat()`),
    we can just use `AuxTarget->getLongDoubleFormat()`.

    Reviewed By: ABataev

    Differential Revision: https://reviews.llvm.org/D64423 (detail/ViewSVN)
    by maskray
  37. [libFuzzer] Include FuzzedDataProvider.h in the test without "utils" subdir.

    Summary:
    This way the test would better match the intended usage of the header,
    plus it makes some additional testing (e.g. in CI) a bit easier to set up.

    Reviewers: morehouse

    Reviewed By: morehouse

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

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D64440 (detail/ViewSVN)
    by dor1s
  38. [PoisonCheker] Support for out of bounds operands on shifts + insert/extractelement

    These are sources of poison which don't come from flags, but are clearly documented in the LangRef.  Left off support for scalable vectors for the moment, but should be easy to add if anyone is interested. (detail/ViewSVN)
    by reames
  39. Boilerplate for producing XCOFF object files from the PowerPC backend.

    Stubs out a number of the classes needed to produce a new object file format
    (XCOFF) for the powerpc-aix target. For testing input is an empty module which
    produces an object file with just a file header.

    Differential Revision: https://reviews.llvm.org/D61694 (detail/ViewSVN)
    by sfertile
  40. [X86] LowerToHorizontalOp - use count_if to count non-UNDEF ops. NFCI. (detail/ViewSVN)
    by rksimon
  41. [PoisonChecking] Add validation rules for "exact" on sdiv/udiv

    As directly stated in the LangRef, no ambiguity here... (detail/ViewSVN)
    by reames

Started by upstream project SVN: Clang Stage 1: cmake, RA, using system compiler build number 57842
originally caused by:

This run spent:

  • 6.5 sec waiting;
  • 1 hr 24 min build duration;
  • 1 hr 24 min total from scheduled to completion.
LLVM/Clang Warnings: 0 warnings.
  • No warnings since build 17,881.
  • Still 68 days before reaching the previous zero warnings highscore.