Started 7 days 5 hr ago
Took 1 hr 40 min on green-dragon-09

Success Build #17922 (Jul 12, 2019 5:31:29 PM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 365980
  • http://llvm.org/svn/llvm-project/cfe/trunk : 365976
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 365957
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 364589
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 365973
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 365967
Changes
  1. Extend function attributes bitset size from 64 to 96.

    Summary: We are going to add a function attribute number 64.

    Reviewers: pcc, jdoerfert, lebedev.ri

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64663 (detail/ViewSVN)
    by eugenis
  2. [Attributor][FIX] Lookup of (call site) argument attributes (detail/ViewSVN)
    by jdoerfert
  3. [DirectoryWatcher][test][NFC] Add information to test failure reports (detail/ViewSVN)
    by Jan Korous
  4. Re-land [JSONCompilationDatabase] Strip distcc/ccache/gomacc wrappers from parsed commands.

    Use //net/dir like other test cases for windows compatibility (detail/ViewSVN)
    by sammccall
  5. PDB HashTable: Move TraitsT from class parameter to the methods that need it

    The traits object is only used by a few methods. Deserializing a hash
    table and walking it is possible without the traits object, so it
    shouldn't be required to build a dummy object for that use case.

    The TraitsT object used to be a function template parameter before
    r327647, this restores it to that state.

    This makes it clear that the traits object isn't needed at all in 1 of
    the current 3 uses of HashTable (and I am going to add another use that
    doesn't need it), and that the default PdbHashTraits isn't used outside
    of tests.

    While here, also re-enable 3 checks in the test that were commented out
    (which requires making HashTableInternals templated and giving FooBar
    an operator==).

    No intended behavior change.

    Differential Revision: https://reviews.llvm.org/D64640 (detail/ViewSVN)
    by nico
  6. Fix non-conformance it `std::tuple`.

    Previously we implemented all one trillion tuple-like constructors using
    a single generic overload. This worked fairly well, except that it
    differed in behavior from the standard version because it didn't
    consider both T&& and T const&. This was observable for certain
    types.

    This patch addresses that issue by splitting the generic constructor
    in two. We now provide both T&& and T const& versions of the
    tuple-like constructors (sort of). (detail/ViewSVN)
    by ericwf
  7. [AMDGPU] use v32f32 for 3 mfma intrinsics

    These should really use v32f32, but were defined as v32i32
    due to the lack of the v32f32 type.

    Differential Revision: https://reviews.llvm.org/D64667 (detail/ViewSVN)
    by rampitec
  8. isBytewiseValue checks ConstantVector element by element

    Summary: Vector of the same value with few undefs will sill be considered "Bytewise"

    Reviewers: eugenis, pcc, jfb

    Reviewed By: jfb

    Subscribers: dexonsmith, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64031 (detail/ViewSVN)
    by Vitaly Buka
  9. [MemorySSA] Use SetVector to avoid nondeterminism.

    Summary:
    Use a SetVector for DeadBlockSet.
    Resolves PR42574.

    Reviewers: george.burgess.iv, uabelho, dblaikie

    Subscribers: jlebar, Prazek, mgrang, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64601 (detail/ViewSVN)
    by asbirlea
  10. NFC: utils/perf-training: Python 3 compatibility for lit.cfg

    The output of subprocess.check_output is now bytes. We need to decode it. (detail/ViewSVN)
    by arphaman
  11. [DirectoryWatcher][NFC] Silence warnings in release build (detail/ViewSVN)
    by Jan Korous
  12. [clang-doc] Fix failing tests on Windows

    Tests on Windows were failing due to path separator differences.
    '/' was being used as separator in the expected output, paths in expected
    output are now changed to their native form before comparing them to the
    actual output.

    Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com).

    Differential Revision: https://reviews.llvm.org/D64669 (detail/ViewSVN)
    by juliehockett
  13. [DirectoryWatcher][linux] Fix use of uninitialized value (detail/ViewSVN)
    by Jan Korous
  14. [WebAssembly] refactored utilities to not depend on MachineInstr

    Summary:
    Most of these functions can work for MachineInstr and MCInst
    equally now.

    Reviewers: dschuff

    Subscribers: MatzeB, sbc100, jgravelle-google, aheejin, sunfish, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64643 (detail/ViewSVN)
    by aardappel
  15. [macCatalyst] Use macCatalyst pretty name in .build_version darwin
    assembly command

    'macCatalyst' is more readable than 'maccatalyst'. I renamed the objdump output,
    but the assembly should match it as well. (detail/ViewSVN)
    by arphaman
  16. Remove __VERSION__

    Summary:
    It has been introduced in 2011 for gcc compat:
    https://github.com/llvm-mirror/clang/commit/ad1a4c6e89594e704775ddb6b036ac982fd68cad
    it is probably time to remove it


    Reviewers: rnk, dexonsmith

    Reviewed By: rnk

    Subscribers: dschuff, aheejin, fedor.sergeev, arphaman, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64062 (detail/ViewSVN)
    by sylvestre
  17. [test][AArch64] Relax the opcode tests for FP min/max instructions. (detail/ViewSVN)
    by dyung
  18. Add option to disable variant narrowing conversion changes.

    The paper P0608R3 - "A sane variant converting constructor" disallows
    narrowing conversions in variant. It was meant to address this
    surprising problem:

      std::variant<std::string, bool> v = "abc";
      assert(v.index() == 1); // constructs a bool.

    However, it also disables every potentially narrowing conversion. For
    example:

      variant<unsigned> v = 0; // ill-formed
      variant<string, double> v2 = 42; // ill-formed (int -> double narrows)

    These latter changes break code. A lot of code. Within Google it broke
    on the order of a hundred thousand target with thousands of root causes
    responsible for the breakages.

    Of the breakages related to the narrowing restrictions, none of them
    exposed outstanding bugs. However, the breakages caused by boolean
    conversions (~13 root causes), all but one of them were bugs.

    For this reasons, I am adding a flag to disable the narrowing conversion
    changes but not the boolean conversions one.

    One purpose of this flag is to allow users to opt-out of breaking changes
    in variant until the offending code can be cleaned up. For non-trivial
    variant usages the amount of cleanup may be significant.

    This flag is also required to support automated tooling, such as
    clang-tidy, that can automatically fix code broken by this change.
    In order for clang-tidy to know the correct alternative to construct,
    it must know what alternative was being constructed previously, which
    means running it over the old version of std::variant.

    Because this change breaks so much code, I will be implementing the
    aforementioned clang-tidy check in the very near future.

    Additionally I'm plan present this new information to the committee so they can
    re-consider if this is a breaking change we want to make.

    I think libc++ should very seriously consider pulling this change
    before the 9.0 release branch is cut. But that's a separate discussion
    that I will start on the lists.

    For now this is the minimal first step. (detail/ViewSVN)
    by ericwf
  19. [InstCombine] Disable fold from D64285 for non-integer types (detail/ViewSVN)
    by xbolva00
  20. Factor out resolveFrameOffsetReference (NFC).

    Split AArch64FrameLowering::resolveFrameIndexReference in two parts
    * Finding frame offset for the index.
    * Finding base register and offset to that register.

    The second part will be used to implement a virtual frame pointer in
    armv8.5 MTE stack instrumentation lowering.

    Reviewers: pcc, vitalybuka, hctim, ostannard

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

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64171 (detail/ViewSVN)
    by eugenis
  21. [builtins] Fix assembly in arm sync-ops.h

    This assembly is part of a macro that was reformatted in D60351.
    The missing space between push and { results in:

        Error: bad instruction `push{r4, r5,r6,lr}' (detail/ViewSVN)
    by nikic
  22. Revert driver: Don't warn about assembler flags being unused when not assembling

    This reverts r365703 (git commit 101c1afdfd1c88f05da94c6fd317b489bb704f40)
    and r365714.

    This broke some autoconf-style assembler flags checks in the Linux
    build:
    https://github.com/ClangBuiltLinux/linux/issues/598 (detail/ViewSVN)
    by rnk
  23. [clangd] Fix off-by-one in CodeComplete and assertion in Dex (detail/ViewSVN)
    by sammccall
  24. Reland [clang] DirectoryWatcher

    This reverts commit f561227d133224d2d6a5a016abe4be051fa75501.

    - DirectoryWatcher
    - Fix the build for platforms that don't have DW implementated.
    - Fix the threading dependencies (thanks to compnerd). (detail/ViewSVN)
    by Jan Korous
  25. AMDGPU: Drop remnants of byval support for shaders

    Before 2018, mesa used to use byval interchangably with inreg, which
    didn't really make sense. Fix tests still using it to avoid breaking
    in a future commit. (detail/ViewSVN)
    by arsenm
  26. Fix missing use of defined() in include guard

    Subscribers: arsenm, jvesely, nhaehnle, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64657 (detail/ViewSVN)
    by daltenty
  27. [SystemZ] Fix addcarry of addcarry of const carry (PR42606)

    This fixes https://bugs.llvm.org/show_bug.cgi?id=42606 by extending
    D64213. Instead of only checking if the carry comes from a matching
    operation, we now check the full chain of carries. Otherwise we might
    custom lower the outermost addcarry, but then generically legalize
    an inner addcarry.

    Differential Revision: https://reviews.llvm.org/D64658 (detail/ViewSVN)
    by nikic
  28. Revert "Reland [clang] DirectoryWatcher"

    This reverts commit fdcb7f47e783933e0af8a5fae91132269a208268. (detail/ViewSVN)
    by Jan Korous
  29. Reland [clang] DirectoryWatcher

    This reverts commit abce8c457dd3de6b156756e547cc0eefb7653c79.

    + Fix the build for platforms that don't have DW implementated. (detail/ViewSVN)
    by Jan Korous
  30. [X86] Use MachineInstr::findRegisterDefOperand to simplify some code in optimizeCompareInstr. NFCI (detail/ViewSVN)
    by ctopper
  31. [DebugInfo] Add column info for inline sites

    The column field is missing for all inline sites, currently it's always
    zero. This changes populates DW_AT_call_column field for inline sites.
    Test case modified to cover this change.

    Patch by: Wenlei He

    Differential revision: https://reviews.llvm.org/D64033 (detail/ViewSVN)
    by Jonas Devlieghere
  32. The variable "Latch" is only used in an assert, which makes builds that use "-DNDEBUG" fail with unused variable messages.

    Summary: Move the logic into the assert itself.

    Subscribers: hiraditya, sanjoy, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64654 (detail/ViewSVN)
    by saugustine
  33. [SystemZ] Fix build bot failure after r365932

    Insert LLVM_FALLTHROUGH to avoid compiler warning. (detail/ViewSVN)
    by uweigand
  34. [x86] add test for bogus cmov (PR40483); NFC (detail/ViewSVN)
    by spatel
  35. [AMDGPU] Extend MIMG opcode to 8 bits

    This is NFC, but required for future commit.

    Differential Revision: https://reviews.llvm.org/D64649 (detail/ViewSVN)
    by rampitec
  36. Addition to rL365925, removing remaining virtuals (detail/ViewSVN)
    by sstefan
  37. [clang-doc] Add html links to references

    <a> tags are added for the parents and members of records and return type and
    params of functions. The link redirects to the reference's info file.

    The directory path where each info file will be saved is now generated in the
    serialization phase and stored as an attribute in each Info.

    Bitcode writer and reader were modified to handle the new attributes.

    Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com).

    Differential Revision: https://reviews.llvm.org/D63663 (detail/ViewSVN)
    by juliehockett
  38. Slightly simplify MappedBlockStream::createIndexedStream() calls

    All callers had a PDBFile object at hand, so call
    Pdb.createIndexedStream() instead, which pre-populates all the arguments
    (and returns nullptr for kInvalidStreamIndex).

    Also change safelyCreateIndexedStream() to only take the string index,
    and update callers. Make the method public and call it in two places
    that manually did the bounds checking before.

    No intended behavior change.

    Differential Revision: https://reviews.llvm.org/D64633 (detail/ViewSVN)
    by nico
  39. [WebAssembly] Make pthread imply bulk-memory, mutable-globals

    Summary:
    This paves the way for using passive segments in pthread builds, which
    will make separate memory files unnecessary. Mutable globals are also
    necessary for the upcoming implementation of TLS.

    Reviewers: aheejin, dschuff

    Subscribers: sbc100, jgravelle-google, sunfish, jfb, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64586 (detail/ViewSVN)
    by tlively
  40. Add explicit newline at end of `llvm-pdbutil dump`

    All dump modes I checked didn't print a trailing newline, so add one. (detail/ViewSVN)
    by nico
  41. [SystemZ] Add support for new cpu architecture - arch13

    This patch series adds support for the next-generation arch13
    CPU architecture to the SystemZ backend.

    This includes:
    - Basic support for the new processor and its features.
    - Support for low-level builtins mapped to new LLVM intrinsics.
    - New high-level intrinsics in vecintrin.h.
    - Indicate support by defining  __VEC__ == 10303.

    Note: No currently available Z system supports the arch13
    architecture.  Once new systems become available, the
    official system name will be added as supported -march name. (detail/ViewSVN)
    by uweigand
  42. [SystemZ] Add support for new cpu architecture - arch13

    This patch series adds support for the next-generation arch13
    CPU architecture to the SystemZ backend.

    This includes:
    - Basic support for the new processor and its features.
    - Assembler/disassembler support for new instructions.
    - CodeGen for new instructions, including new LLVM intrinsics.
    - Scheduler description for the new processor.
    - Detection of arch13 as host processor.

    Note: No currently available Z system supports the arch13
    architecture.  Once new systems become available, the
    official system name will be added as supported -march name. (detail/ViewSVN)
    by uweigand
  43. Remove unused methods in Sancov. (detail/ViewSVN)
    by leonardchan
  44. [X86] Add NEG to isUseDefConvertible.

    We can use the C flag from NEG to detect that the input was zero.

    Really we could probably use the Z flag too. But C matches what
    we'd do for usubo 0, X.

    Haven't found a test case for this due to the usubo formation
    in CGP. But I verified if I comment out the CGP code this
    transformation catches some of the same cases. (detail/ViewSVN)
    by ctopper
  45. [X86][AVX] Add PR34359 shuffle test case. (detail/ViewSVN)
    by rksimon
  46. [Attributor] Removing unnecessary `virtual` keywords.

    Some function in the Attributor framework are unnecessarily
    marked virtual. This patch removes virtual keyword

    Reviewers: jdoerfert

    Subscribers: hiraditya, llvm-commits

    Differential Revision: https://reviews.llvm.org/D64637 (detail/ViewSVN)
    by sstefan
  47. [Attributor] Deduce "nofree" function attribute

    Summary: Deduce "nofree" function attribute. A more concise description of "nofree" is on D49165.

    Reviewers: jdoerfert

    Reviewed By: jdoerfert

    Subscribers: homerdin, hfinkel, lebedev.ri, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D62687 (detail/ViewSVN)
    by uenoku
  48. [libc++] Add XFAILs for CTAD tests on older compilers (detail/ViewSVN)
    by Louis Dionne
  49. Revert [clang-shlib] Fix clang-shlib for PRIVATE dependencies

    This reverts r365825 (git commit 3173c60f96c3ccfc17d403a192ae58e720153c23)

    This is breaking BUILD_SHARED_LIBS=ON builds. Reverting while I rethink it. (detail/ViewSVN)
    by smeenai
  50. CodeGet: Init 32bit pointers with 0xFFFFFFFF

    Summary:
    Patch makes D63967 effective for 32bit platforms and improves pattern
    initialization there. It cuts size of 32bit binary compiled with
    -ftrivial-auto-var-init=pattern by 2% (3% with -Os).

    Binary size change on CTMark, (with -fuse-ld=lld -Wl,--icf=all, similar results with default linker options)
    ```
                       master           patch      diff
    Os pattern   7.915580e+05    7.698424e+05 -0.028387
    O3 pattern   9.953688e+05    9.752952e+05 -0.019325
    ```

    Zero vs Pattern on master
    ```
                   zero       pattern      diff
    Os     7.689712e+05  7.915580e+05  0.031380
    O3     9.744796e+05  9.953688e+05  0.021133
    ```

    Zero vs Pattern with the patch
    ```
                   zero       pattern      diff
    Os     7.689712e+05  7.698424e+05  0.000789
    O3     9.744796e+05  9.752952e+05  0.000742
    ```

    Reviewers: pcc, eugenis, glider, jfb

    Reviewed By: jfb

    Subscribers: hubert.reinterpretcast, dexonsmith, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64597 (detail/ViewSVN)
    by Vitaly Buka
  51. [IndVars] Use exit count reasoning to discharge obviously untaken exits

    Continue in the spirit of D63618, and use exit count reasoning to prove away loop exits which can not be taken since the backedge taken count of the loop as a whole is provably less than the minimal BE count required to take this particular loop exit.

    As demonstrated in the newly added tests, this triggers in a number of cases where IndVars was previously unable to discharge obviously redundant exit tests. And some not so obvious ones.

    Differential Revision: https://reviews.llvm.org/D63733 (detail/ViewSVN)
    by reames
  52. Dump actual line numbers when dumping the AST to JSON.

    The "line" attribute is now the physical line within the source file for the location. A "presumedLine" attribute is printed when the presumed line number does not match the given source line number. We continue to not print repeated line information in subsequent source locations, but we track presumed and actual lines separately. (detail/ViewSVN)
    by aaronballman
  53. Fix some minor coding-style issues in git-llvm. (detail/ViewSVN)
    by jyknight
  54. Allow the 'git-llvm' tool to push to svn from the split repositories
    for 'test-suite', 'lnt', 'zorg', and 'www'.

    This is done by looking at the pathname of the git remote named
    'origin', which is not 100% reliable, but should work in most cases. (detail/ViewSVN)
    by jyknight
  55. [FunctionAttrs] Add a test for "nofree" function attribute

    This patch adds a test for nofree function attribute. (detail/ViewSVN)
    by uenoku
  56. [Support] Move the static initializer install_out_memory_new_handler to InitLLVM

    An application linking against LLVMSupport should not get the gratuitous
    set::std_new_handler call.

    Reviewed By: jfb

    Differential Revision: https://reviews.llvm.org/D64505 (detail/ViewSVN)
    by maskray
  57. Add missing <atomic> include to appease MSVC builds. (detail/ViewSVN)
    by rksimon
  58. Minor cleanup.

    Simplify things a bit by removing unnecessary full type qualification.
    This also happens to avoid a build break with now-unsupported
    Visual Studio 2015.

    Differential Review: https://reviews.llvm.org/D64588 (detail/ViewSVN)
    by tra
  59. Test commit (detail/ViewSVN)
    by uenoku
  60. Support for dumping current PrettyStackTrace on SIGINFO (Ctrl-T)

    Support SIGINFO (and SIGUSR1 for POSIX purposes) to tell what
    long-running jobs are doing, as inspired by BSD tools (including on
    macOS), by dumping the current PrettyStackTrace.

    This adds a new kind of signal handler for non-fatal "info" signals,
    similar to the "interrupt" handler that already exists for SIGINT
    (Ctrl-C). It then uses that handler to update a "generation count"
    managed by the PrettyStackTrace infrastructure, which is then checked
    whenever a PrettyStackTraceEntry is pushed or popped on each
    thread. If the generation has changed---i.e. if the user has pressed
    Ctrl-T---the stack trace is dumped, though unfortunately it can't
    include the deepest entry because that one is currently being
    constructed/destructed.

    https://reviews.llvm.org/D63750 (detail/ViewSVN)
    by jrose
  61. [AMDGPU] Fix DPP combiner check for exec modification

    Summary:
    r363675 changed the exec modification helper function, now called
    execMayBeModifiedBeforeUse, so that if no UseMI is specified it checks
    all instructions in the basic block, even beyond the last use. That
    meant that the DPP combiner no longer worked in any basic block that
    ended with a control flow instruction, and in particular it didn't work
    on code sequences generated by the atomic optimizer.

    Fix it by reinstating the old behaviour but in a new helper function
    execMayBeModifiedBeforeAnyUse, and limiting the number of instructions
    scanned.

    Reviewers: arsenm, vpykhtin

    Subscribers: kzhuravl, nemanjai, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kbarton, MaskRay, jfb, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64393 (detail/ViewSVN)
    by foad
  62. [clang-format][tests] Explicitly specify style in some tests

    Summary: This fixes broken tests when doing an out-of-source build that picks up a random .clang-format on the file system due to the default "file" style.

    Reviewers: djasper, klimek, MyDeveloperDay, krasimir

    Reviewed By: MyDeveloperDay

    Subscribers: lebedev.ri, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D61001 (detail/ViewSVN)
    by r.stahl
  63. [LegacyPassManager] Small ModuleCount cleanup (detail/ViewSVN)
    by maskray
  64. Revert "[JSONCompilationDatabase] Strip distcc/ccache/gomacc wrappers from parsed commands."

    New test is failing on Windows bot

    This reverts commit 9c0391b36a76f8e3949588de3f44b7314c2318bf. (detail/ViewSVN)
    by russell_gallop
  65. cmake: Fix install of libclang-cpp.so when LLVM_INSTALL_TOOLCHAIN_ONLY=ON

    Summary:
    If CLANG_LINK_CLANG_DYLIB is also enabled, then this library needs to be
    installed.

    Fixes PR42575.

    Reviewers: beanz, smeenai

    Subscribers: mgorny, cfe-commits

    Tags: #clang

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

    Conflicts:
    clang/tools/clang-shlib/CMakeLists.txt (detail/ViewSVN)
    by tstellar
  66. [AMDGPU] Restrict v_cndmask_b32 abs/neg modifiers to f32

    Summary:
    D64497 allowed abs/neg source modifiers on v_cndmask_b32 but it doesn't
    make any sense to apply them to f16 operands; they would interpret the
    bits of the value as an f32, giving nonsensical results. This patch
    restricts them to f32 operands.

    Reviewers: arsenm, hakzsam

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

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64636 (detail/ViewSVN)
    by foad
  67. Delete dead stores (detail/ViewSVN)
    by maskray
  68. cmake: Add INSTALL_WITH_TOOLCHAIN option to add_*_library macros

    Summary:
    This will simplify the macros by allowing us to remove the hard-coded
    list of libraries that should be installed when
    LLVM_INSTALL_TOOLCHAIN_ONLY is enabled.

    Reviewers: beanz, smeenai

    Reviewed By: beanz

    Subscribers: aheejin, mehdi_amini, mgorny, steven_wu, dexonsmith, cfe-commits, llvm-commits

    Tags: #clang, #llvm

    Differential Revision: https://reviews.llvm.org/D64580 (detail/ViewSVN)
    by tstellar
  69. Delete dead stores (detail/ViewSVN)
    by maskray
  70. Dump floating-point values as strings when dumping to JSON.

    This fixes a bug where we would have an invalid JSON attribute (e.g., "value": inf). It also increases the precision of the values because they're not represented as approximate doubles with the host architecture's floating-point model. (detail/ViewSVN)
    by aaronballman
  71. Revert "[clangd] Implement typeHierarchy/resolve for subtypes"

    Causing test failure on Windows bot

    This reverts commit 5b9484e559d44bd923fc290e335891b1dd2e17c4. (detail/ViewSVN)
    by russell_gallop
  72. [Driver] Delete dead code (detail/ViewSVN)
    by maskray
  73. [gn] Tag unneeded variable.

    When only building targets without assembly parsers (e.g. `llvm_targets_to_build
    = ["NVPTX"]`), `all_targets` is empty and causes GN to warn about an
    assigned-but-unused variable.

    Differential Revision: https://reviews.llvm.org/D31727 (detail/ViewSVN)
    by bryant
  74. [DAGCombine] narrowExtractedVectorBinOp - wrap subvector extraction in helper. NFCI.

    First step towards supporting 'free' subvector extractions other than concat_vectors. (detail/ViewSVN)
    by rksimon
  75. [LIT] Emit timeout error message only if timeout was reached

    Summary:
    This improves readability of LIT output: previously
    error messages gets emitted that say that there was no error:

    error: command reached timeout: False

    Patch by Alexey Sachkov.

    Reviewers: ddunbar, mgorny, modocache

    Reviewed By: mgorny

    Subscribers: delcypher, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64240 (detail/ViewSVN)
    by bader
  76. [clangd] Fixed toHalfOpenFileRange

    Summary:
    - Fixed toHalfOpenFileRange to work for macros as well as template
    instantiations
    - Added unit tests

    Breaking test case for older version of toHalfOpenFileRange:
    \# define FOO(X) X++
    int a = 1;
    int b = FOO(a);
    toHalfOpenFileRange for the sourceRange of VarDecl for b returned the
    wrong Range.

    Reviewers: sammccall, kadircet

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

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64562 (detail/ViewSVN)
    by sureyeaah
  77. [InstCombine] Fold select (icmp sgt x, -1), lshr (X, Y), ashr (X, Y) to ashr (X, Y))

    Summary:
    (select (icmp sgt x, -1), lshr (X, Y), ashr (X, Y)) -> ashr (X, Y))
    (select (icmp slt x, 1), ashr (X, Y), lshr (X, Y)) -> ashr (X, Y))

    Fixes PR41173

    Alive proof by @lebedev.ri (thanks)
    Name: PR41173
      %cmp = icmp slt i32 %x, 1
      %shr = lshr i32 %x, %y
      %shr1 = ashr i32 %x, %y
      %retval.0 = select i1 %cmp, i32 %shr1, i32 %shr
      =>
      %retval.0 = ashr i32 %x, %y

    Optimization: PR41173
    Done: 1
    Optimization is correct!

    Reviewers: lebedev.ri, spatel

    Reviewed By: lebedev.ri

    Subscribers: nikic, craig.topper, llvm-commits, lebedev.ri

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64285 (detail/ViewSVN)
    by xbolva00
  78. Fix test case of llvm-nm using implicit a.out (detail/ViewSVN)
    by abrachet
  79. [test/Object, obj2yaml] - Move test cases from test/Object and cleanup.

    test/Object is not correct place to have tests that check obj2yaml
    functionality, because we have test/tools/obj2yaml folder for that.

    In this patch I merged a few test cases with their YAMLs from Inputs
    folder, converted one of binary inputs and moved them to
    tools/obj2yaml folder.

    There are still another tests that might need the same, so it is initial step.

    Differential revision: https://reviews.llvm.org/D64555 (detail/ViewSVN)
    by grimar
  80. [tools] [llvm-nm] Default to reading from stdin not a.out

    Summary: This moves away from defaulting to a.out and uses stdin only if stdin has a file redirected to it. This has been discussed on the llvm-dev mailing list [[ https://lists.llvm.org/pipermail/llvm-dev/2019-July/133642.html | here ]].

    Reviewers: jhenderson, rupprecht, MaskRay, chrisjackson

    Reviewed By: jhenderson, MaskRay

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64290 (detail/ViewSVN)
    by abrachet
  81. [clangd] Prioritize indexing of files that share a basename with the open file.

    Summary:
    In practice, opening Foo.h will still often result in Foo.cpp making the
    second index build instead of the first, as the rebuild policy doesn't
    know to wait.

    Reviewers: kadircet

    Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64575 (detail/ViewSVN)
    by sammccall
  82. [JSONCompilationDatabase] Strip distcc/ccache/gomacc wrappers from parsed commands.

    Summary:
    It's common to use compiler wrappers by setting CC="gomacc clang++".
    This results in both args appearing in compile_commands.json, and clang's driver
    can't handle this.

    This patch attempts to recognize this pattern (by looking for well-known
    wrappers) and dropping argv0 in this case.

    It conservatively ignores other cases for now:
    - wrappers with unknown names
    - wrappers that accept -flags
    - wrappers where the compiler to use is implied (usually cc or gcc)

    This is done at the JSONCompilationDatabase level rather than somewhere more
    fundamental, as (hopefully) this isn't a general conceptual problem, but a messy
    aspect of the nature of the ecosystem around compile_commands.json.
    i.e. compilation databases more tightly tied to the build system should not have
    this problem.

    Reviewers: phosek, klimek

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64297 (detail/ViewSVN)
    by sammccall
  83. Revert "[DwarfDebug] Dump call site debug info"

    A build failure was found on the SystemZ platform.

    This reverts commit 9e7e73578e54cd22b3c7af4b54274d743b6607cc. (detail/ViewSVN)
    by djtodoro
  84. [clangd] Move the expandAuto tweak from global namespace into annoymous namespace. (detail/ViewSVN)
    by hokein
  85. [Object/ELF] - Improve error reporting for notes.

    This patch improves the error messages reported for
    note sections and phdrs and also makes a cleanup for
    existent test case.

    Differential revision: https://reviews.llvm.org/D64470 (detail/ViewSVN)
    by grimar
  86. [NFC][PowerPC] Added test for MachinePRE. (detail/ViewSVN)
    by lkail
  87. [clangd] Don't run the prepare for tweaks that are disabled.

    Summary: Previously, we ran the prepare, even for the tweaks that are disabled.

    Reviewers: sammccall

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

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64565 (detail/ViewSVN)
    by hokein
  88. [RISCV] Allow parsing dot '.' in assembly

    Summary:
    Useful for jumps, such as `j .`.

    I am not sure who should review this. Do not hesitate to change the reviewers if needed.

    Reviewers: asb, jrtc27, lenary

    Reviewed By: lenary

    Subscribers: MaskRay, lenary, hiraditya, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, kito-cheng, shiva0217, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, llvm-commits

    Tags: #llvm

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

    Patch by John LLVM (JohnLLVM) (detail/ViewSVN)
    by lenary
  89. Enable compiler-rt on SPARC

    This patch enables compiler-rt on SPARC targets. Most of the changes are straightforward:

    - Add 32 and 64-bit sparc to compiler-rt

    - lib/builtins/fp_lib.h needed to check if the int128_t and uint128_t types exist (which they don't on sparc)

    There's one issue of note: many asan tests fail to compile on Solaris/SPARC:

    fatal error: error in backend: Function "_ZN7testing8internal16BoolFromGTestEnvEPKcb": over-aligned dynamic alloca not supported.

    Therefore, while asan is still built, both asan and ubsan-with-asan testing is disabled. The
    goal is to check if asan keeps compiling on Solaris/SPARC. This serves asan in gcc,
    which doesn't have the problem above and works just fine.

    With this patch, sparcv9-sun-solaris2.11 test results are pretty good:

    Failing Tests (9):
        Builtins-sparc-sunos :: divtc3_test.c
        Builtins-sparcv9-sunos :: compiler_rt_logbl_test.c
        Builtins-sparcv9-sunos :: divtc3_test.c
    [...]
        UBSan-Standalone-sparc :: TestCases/TypeCheck/misaligned.cpp
        UBSan-Standalone-sparcv9 :: TestCases/TypeCheck/misaligned.cpp

    The builtin failures are due to Bugs 42493 and 42496. The tree contained a few additonal
    patches either currently in review or about to be submitted.

    Tested on sparcv9-sun-solaris2.11.

    Differential Revision: https://reviews.llvm.org/D40943 (detail/ViewSVN)
    by ro
  90. [Sanitizers] Fix SanitizerCommon-Unit :: ./Sanitizer-*-Test/MemoryMappingLayout.DumpListOfModules on Solaris

    The MemoryMappingLayout.DumpListOfModules currently FAILs on Solaris:

      [ RUN      ] MemoryMappingLayout.DumpListOfModules
      /vol/llvm/src/compiler-rt/local/lib/sanitizer_common/tests/sanitizer_procmaps_test.cc:52: Failure
      Value of: found
        Actual: false
      Expected: true
      [  FAILED  ] MemoryMappingLayout.DumpListOfModules (22 ms)

    The problem is that the test expects the executable name from modules[i].full_name(),
    however the pr_mapname field of struct prmap is just the entry in /proc/<pid>/object,
    which is "a.out" instead of "Sanitizer-i386-Test".  Fortunately, the real name can
    be determined by looking in proc/<pid>/path where "a.out" is a symlink to the
    real path.

    Tested on x86_64-pc-solaris2.11.

    Differential Revision: https://reviews.llvm.org/D64559 (detail/ViewSVN)
    by ro
  91. Test commit. NFC.

    Formatting fix. (detail/ViewSVN)
    by bryant
  92. [Driver] Delete --no-add-needed for RHEL7 or newer

    This is really not needed. gcc driver doesn't add this option.
    BTW, since binutils 2.22, --no-copy-dt-needed-entries (new name of
    --no-add-needed) is the default. (detail/ViewSVN)
    by maskray
  93. [YAMLIO] Wrap explicit specialization in llvm::yaml to appease build bots (detail/ViewSVN)
    by maskray
  94. [test] Delete trailing spaces from YAML tests after D65566/r365869 (detail/ViewSVN)
    by maskray
  95. [test] Delete trailing spaces from YAML tests (detail/ViewSVN)
    by maskray
  96. test/Driver/fsanitize.c: delete -target x86_64-linux-gnu from tests that should always be available

    Follow-up of D64317/r365587. (detail/ViewSVN)
    by maskray
  97. [AMDGPU] Fixed comment. NFC. (detail/ViewSVN)
    by rampitec
  98. [mips] Fix JmpLink to texternalsym and tglobaladdr on mcroMIPS R6

    There is not match for the `MipsJmpLink texternalsym` and `MipsJmpLink
    tglobaladdr` patterns for microMIPS R6. As a result LLVM incorrectly
    selects the `JALRC16` compact 2-byte instruction which takes a target
    instruction address from a register only and assign `R_MIPS_32` relocation
    for this instruction. This relocation completely overwrites `JALRC16`
    and nearby instructions.

    This patch adds missed matching patterns, selects `BALC` instruction and
    assign a correct `R_MICROMIPS_PC26_S1` relocation.

    Differential Revision: https://reviews.llvm.org/D64552 (detail/ViewSVN)
    by atanasyan
  99. [YAMLIO] Remove trailing spaces when outputting maps

    llvm::yaml::Output::paddedKey unconditionally outputs spaces, which
    are superfluous if the value to be dumped is a sequence or map.
    Change `bool NeedsNewLine` to `StringRef Padding` so that it can be
    overridden to `\n` if the value is a sequence or map.

    An empty map/sequence is special. It is printed as `{}` or `[]` without
    a newline, while a non-empty map/sequence follows a newline. To handle
    this distinction, add another variable `PaddingBeforeContainer` and does
    the special handling in endMapping/endSequence.

    Reviewed By: grimar, jhenderson

    Differential Revision: https://reviews.llvm.org/D64566 (detail/ViewSVN)
    by maskray
  100. [clangd] Implement typeHierarchy/resolve for subtypes

    Summary:
    This allows the client to resolve subtypes one level at a time.

    For supertypes, this is not necessary, because we eagerly compute
    supertypes and return all levels.

    Reviewers: sammccall

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

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64308 (detail/ViewSVN)
    by nridge
  101. [X86][PowerPC] Support -mlong-double-128

    This patch makes the driver option -mlong-double-128 available for X86
    and PowerPC. The CC1 option -mlong-double-128 is available on all targets
    for users to test on unsupported targets.

    On PowerPC, -mlong-double-128 uses the IBM extended double format
    because we don't support -mabi=ieeelongdouble yet (D64283).

    Reviewed By: rnk

    Differential Revision: https://reviews.llvm.org/D64277 (detail/ViewSVN)
    by maskray
  102. docs/GithubMove.rst: Add link to GitHub migration status page (detail/ViewSVN)
    by tstellar
  103. Return Undef from isBytewiseValue for empty arrays or structs

    Reviewers: pcc, eugenis

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64052 (detail/ViewSVN)
    by Vitaly Buka
  104. NFC: Unforget a colon in a few CHECK: directives.

    Differential Revision: https://reviews.llvm.org/D64526 (detail/ViewSVN)
    by dergachev
  105. [PowerPC] Default to -fomit-frame-pointer when optimization is enabled

    NetBSD, Linux, CloudABI and Hurd already omit frame pointer for PowerPC.
    Make it do so for other platforms. (detail/ViewSVN)
    by maskray
  106. [analyzer] exploded-graph-rewriter: Improve source location dumps.

    - Correctly display macro expansion and spelling locations.
    - Use the same procedure to display location context call site locations.
    - Display statement IDs for program points. (detail/ViewSVN)
    by dergachev
  107. [Driver] Refactor interaction between -f(no-)?omit-frame-pointer and -m(no-)?omit-leaf-frame-pointer

    Use a tri-state enum to represent shouldUseFramePointer() and
    shouldUseLeafFramePointer().

    This simplifies the logic and fixes PR9825:
      -fno-omit-frame-pointer doesn't imply -mno-omit-leaf-frame-pointer.

    and PR24003:
      /Oy- /O2 should not omit leaf frame pointer: this matches MSVC x86-32.
      (/Oy- is a no-op on MSVC x86-64.)

    and:
      when CC1 option -mdisable-fp-elim if absent, -momit-leaf-frame-pointer
      can also be omitted.

    The new behavior matches GCC:
      -fomit-frame-pointer wins over -mno-omit-leaf-frame-pointer
      -fno-omit-frame-pointer loses out to -momit-leaf-frame-pointer

    The behavior makes lots of sense. We have 4 states:

    - 00) leaf retained, non-leaf retained
    - 01) leaf retained, non-leaf omitted  (this is invalid)
    - 10) leaf omitted, non-leaf retained  (what -momit-leaf-frame-pointer was designed for)
    - 11) leaf omitted, non-leaf omitted

    "omit" options taking precedence over "no-omit" options is the only way
    to make 3 valid states representable with -f(no-)?omit-frame-pointer and
    -m(no-)?omit-leaf-pointer.

    Reviewed By: ychen

    Differential Revision: https://reviews.llvm.org/D64294 (detail/ViewSVN)
    by maskray
  108. [MachinePipeliner] Fix order for nodes with Anti dependence in same cycle

    Summary:
    Problem exposed in PowerPC functional testing.

    We did not consider Anti dependence for nodes in same cycle,
    so we may end up generating bad machine code.
    eg: the reduced test won't verify.

    *** Bad machine code: Using an undefined physical register ***
    - function:    lame_encode_buffer_interleaved
    - basic block: %bb.4  (0x4bde4e12928)
    - instruction: %29:gprc = ADDZE %27:gprc, implicit-def dead $carry, implicit $carry
    - operand 3:   implicit $carry

    Reviewers: bcahoon, kparzysz, hfinkel

    Subscribers: MaskRay, wuzish, nemanjai, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64192 (detail/ViewSVN)
    by jsji
  109. Handle IntToPtr in isBytewiseValue

    Summary:
    This helps with more efficient use of memset for pattern initialization

    From @pcc prototype for -ftrivial-auto-var-init=pattern optimizations

    Binary size change on CTMark, (with -fuse-ld=lld -Wl,--icf=all, similar results with default linker options)
    ```
                       master           patch      diff
    Os           8.238864e+05    8.238864e+05       0.0
    O3           1.054797e+06    1.054797e+06       0.0
    Os zero      8.292384e+05    8.292384e+05       0.0
    O3 zero      1.062626e+06    1.062626e+06       0.0
    Os pattern   8.579712e+05    8.338048e+05 -0.030299
    O3 pattern   1.090502e+06    1.067574e+06 -0.020481
    ```

    Zero vs Pattern on master
    ```
                   zero       pattern      diff
    Os     8.292384e+05  8.579712e+05  0.036578
    O3     1.062626e+06  1.090502e+06  0.025124
    ```

    Zero vs Pattern with the patch
    ```
                   zero       pattern      diff
    Os     8.292384e+05  8.338048e+05  0.003333
    O3     1.062626e+06  1.067574e+06  0.003193
    ```

    Reviewers: pcc, eugenis

    Subscribers: hiraditya, cfe-commits, llvm-commits

    Tags: #clang, #llvm

    Differential Revision: https://reviews.llvm.org/D63967 (detail/ViewSVN)
    by Vitaly Buka
  110. Codegen, NFC: 32bit test in auto-var-init.cpp (detail/ViewSVN)
    by Vitaly Buka
  111. Mark destroying delete test as UNSUPPORTED with clang 7 (detail/ViewSVN)
    by ericwf
  112. Tolerate import errors in "not.py" implementation (detail/ViewSVN)
    by ericwf
  113. Reorganize the 'bit' header to make most of the facilities available for internal use pre-C++20. NFC for external users (detail/ViewSVN)
    by marshall
  114. NFC: lit: python3 compatibility for functions
    usePlatformSdkOnDarwin/findPlatformSdkVersionOnMacOS

    These functions should decode subprocess output (detail/ViewSVN)
    by arphaman
  115. [InstCombine] Reorder pow() transformations (NFC)

    Move the transformation from `powf(x, itofp(y))` to `powi(x, y)` to the
    group of transformations related to the exponent. (detail/ViewSVN)
    by evandro
  116. Re-Revert Devirtualize destructor of final class.

    This reverts r365509 (git commit d088720edad9c29ee0d622b5d69092e18a9ac0bd)

    This is a second revert[1] due to failures in internal test cases (shared offline) found during more thorough testing.

    [1] Original patch commited as r364100, reverted as r364359, recommitted as r365509 (detail/ViewSVN)
    by rupprecht
  117. [clangd] Add a missing early return in getTypeHierarchy()

    Reviewers: sammccall

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

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64307 (detail/ViewSVN)
    by nridge
  118. Add another buildbot username to the workaround list (detail/ViewSVN)
    by ericwf
  119. Attempt to override broken buildbot config for libc++abi.

    The buildbots were changed to pass -DLIBCXX_CXX_ABI=libcxxabi, but
    they don't provide an include path for the library, so cxxabi.h is
    never found while building libc++.

    This is a temporary change until the buildbots are updated or until
    D63883 lands in a form that unbreaks the bots (detail/ViewSVN)
    by ericwf
  120. [AMDGPU] Skip calculating callee saved registers for entry function.

    Reviewers: arsenm

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

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64596 (detail/ViewSVN)
    by hliao
  121. [CMake][Fuchsia] Use RelWithDebInfo to build runtimes

    We want to preserve debug info in our runtimes to aid symbolization and
    debugging; for shared libraries this will be stripped away during
    install-stripped step and distributed via .build-id, for static archives
    it's part of the archive and it's a responsibility of the consumer to
    strip it away in the final binary if not needed.

    Differential Revision: https://reviews.llvm.org/D64605 (detail/ViewSVN)
    by phosek
  122. [clangd] Fix MSVC build failure.

    http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/26898 (detail/ViewSVN)
    by probinson
  123. AMDGPU: s_waitcnt field should be treated as unsigned

    Also make it an ImmLeaf, so it should work with global isel as well,
    which was part of the point of moving it in the first place. (detail/ViewSVN)
    by arsenm
  124. Use clang driver for libfuzzer tests on Windows

    Summary:
    There's no real reason to use clang-cl on Windows, the clang driver
    works just as well. This fixes a test which uses the -O0 flag, which was
    recently removed from clang-cl to match MSVC, which lacks this flag.

    While I'm here, remove the explicit -std=c++11 flag. Previously, this
    flag was necessary when the default C++ standard was C++98. Now that the
    default is C++14, this is no longer necessary. It's problematic on
    Windows, because the Visual C++ standard library relies on C++14
    features, and attempting to compile it with C++11 results in errors.
    Rather than adding logic to conditionally set the standard to C++11 only
    on non-Win, this flag can be removed.

    See http://lab.llvm.org:8011/builders/clang-x64-windows-msvc and
    https://reviews.llvm.org/D64506.

    Reviewers: morehouse, thakis

    Subscribers: #sanitizers, llvm-commits

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D64587 (detail/ViewSVN)
    by rnk
  125. Fix memory leak in set and map.

    When assigning an initializer list into set/map, libc++ would
    leak memory if the initializer list contained equivalent keys
    because we failed to check if the insertion was successful. (detail/ViewSVN)
    by ericwf
  126. [sancov] Ignore PC samples with value 0

    The sancov runtime for the (Fuchsia) Zircon kernel delivers results
    in the standard format, but as the full array of possible samples
    with 0 in uncovered slots. That runtime delivers "live" data and
    has no final "export" pass to compactify out the uncovered slots,
    and it seems silly to require another offline tool just for that.

    Patch By: mcgrathr
    Differential Revision: https://reviews.llvm.org/D63695 (detail/ViewSVN)
    by phosek
  127. [NewPM] Port Sancov

    This patch contains a port of SanitizerCoverage to the new pass manager. This one's a bit hefty.

    Changes:

    - Split SanitizerCoverageModule into 2 SanitizerCoverage for passing over
      functions and ModuleSanitizerCoverage for passing over modules.
    - ModuleSanitizerCoverage exists for adding 2 module level calls to initialization
      functions but only if there's a function that was instrumented by sancov.
    - Added legacy and new PM wrapper classes that own instances of the 2 new classes.
    - Update llvm tests and add clang tests.

    Differential Revision: https://reviews.llvm.org/D62888 (detail/ViewSVN)
    by leonardchan
  128. [AMDGPU] Fixed asan error with agpr spilling

    Instruction was used after it was erased. (detail/ViewSVN)
    by rampitec
  129. Fix build errors LLVM tests are disabled.

    Original patch from alanbaker@google.com

    Fixes the error:
    CMake Error in <...>/llvm/cmake/modules/CMakeLists.txt:

    export called with target "LLVMTestingSupport" which requires target
    "gtest" that is not in the export set.

    This occurs when LLVM is embedded in a larger project, but is configured not to
    include tests. If testing is disabled gtest isn't available and LLVM fails to
    configure.

    Differential revision: https://reviews.llvm.org/D63097 (detail/ViewSVN)
    by dnovillo
  130. CodeGen: Suppress c++ warnings in test (detail/ViewSVN)
    by Vitaly Buka
  131. [AMDGPU] gfx908 agpr spilling

    Differential Revision: https://reviews.llvm.org/D64594 (detail/ViewSVN)
    by rampitec
  132. Fix a Python3 compatibility error

      File "clang/test/lit.cfg.py", line 186, in <module>
        config.available_features.add('macos-sdk-' + macOSSDKVersion)
    TypeError: must be str, not bytes (detail/ViewSVN)
    by Azharuddin Mohammed
  133. Rename libclang_shared to libclang-cpp

    Summary: Fix bug 42475

    Reviewers: beanz, tstellar

    Reviewed By: beanz

    Subscribers: kimgr, mgorny, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64278 (detail/ViewSVN)
    by sylvestre
  134. [Attributor] Deduce "nosync" function attribute.

    Introduce and deduce "nosync" function attribute to indicate that a function
    does not synchronize with another thread in a way that other thread might free memory.

    Reviewers: jdoerfert, jfb, nhaehnle, arsenm

    Subscribers: wdng, hfinkel, nhaenhle, mehdi_amini, steven_wu,
    dexonsmith, arsenm, uenoku, hiraditya, jfb, llvm-commits

    Differential Revision: https://reviews.llvm.org/D62766 (detail/ViewSVN)
    by sstefan
  135. [AMDGPU] gfx908 hazard recognizer

    Differential Revision: https://reviews.llvm.org/D64593 (detail/ViewSVN)
    by rampitec
  136. [InstCombine][NFCI] Add more test coverage to onehot_merge.ll

    Prep work for upcoming patch D64275. (detail/ViewSVN)
    by huihuiz
  137. [analyzer] exploded-graph-rewriter: Fix filenames in program point.

    Fix a typo in JSON field name. (detail/ViewSVN)
    by dergachev
  138. [AMDGPU] gfx908 scheduling

    Differential Revision: https://reviews.llvm.org/D64590 (detail/ViewSVN)
    by rampitec
  139. [clang-shlib] Fix clang-shlib for PRIVATE dependencies

    Any static library with a PRIVATE dependency ends up with a
    $<LINK_ONLY:...> generator expression in its INTERFACE_LINK_LIBRARIES,
    which won't be evaluated by the $<TARGET_PROPERTY:...>, so we end up
    with an unevaluated generator expression in the generated build file and
    Ninja chokes on the dollar sign. Just use the static library directly
    for its dependencies instead of trying to propagate dependencies
    manually.

    Differential Revision: https://reviews.llvm.org/D64579 (detail/ViewSVN)
    by smeenai
  140. [AMDGPU] gfx908 mfma support

    Differential Revision: https://reviews.llvm.org/D64584 (detail/ViewSVN)
    by rampitec
  141. CodeGen, NFC: Test for auto-init for 32bit pointers (detail/ViewSVN)
    by Vitaly Buka
  142. [OPENMP]Improve handling of analysis of unsupported VLAs in reductions.

    Fixed the processing of the unsupported VLAs in the reduction clauses.
    Used targetDiag if the diagnostics can be delayed and emit it
    immediately if the target does not support VLAs and we're parsing target
    directive with the reduction clauses. (detail/ViewSVN)
    by abataev
  143. Open native file handles to avoid converting from FDs, NFC

    Follow up to r365588. (detail/ViewSVN)
    by rnk
  144. [UpdateTestChecks] Emit warning when invalid test paths

    Summary:
    Recently I ran into the following issue:

    ./update_test_checks.py /path/not-existing-file.ll

    The script was silent and I was suprised why the real test file hadn't been updated.

    Solution:
    Emit warning if we detect this problem.



    Reviewers: lebedev.ri, spatel, jdoerfert, nikic

    Reviewed By: lebedev.ri, spatel, jdoerfert, nikic

    Subscribers: jdoerfert, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64572 (detail/ViewSVN)
    by xbolva00
  145. [scudo][standalone] NFC corrections

    Summary:
    A few corrections:
    - rename `TransferBatch::MaxCached` to `getMaxCached` to conform with
      the style guide;
    - move `getBlockBegin` from `Chunk::` to `Allocator::`: I believe it
      was a fallacy to have this be a `Chunk` method, as chunks'
      relationship to backend blocks are up to the frontend allocator. It
      makes more sense now, particularly with regard to the offset. Update
      the associated chunk test as the method isn't available there
      anymore;
    - add a forgotten `\n` to a log string;
    - for `releaseToOs`, instead of starting at `1`, start at `0` and
      `continue` on `BatchClassId`: in the end it's identical but doesn't
      assume a particular class id for batches;
    - change a `CHECK` to a `reportOutOfMemory`: it's a clearer message

    Reviewers: hctim, morehouse, eugenis, vitalybuka

    Reviewed By: hctim

    Subscribers: delcypher, #sanitizers, llvm-commits

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D64570 (detail/ViewSVN)
    by cryptoad
  146. [NFC] Revisited tests for D64285 (detail/ViewSVN)
    by xbolva00
  147. Revert "[CGDebugInfo] Simplify EmitFunctionDecl parameters, NFC"

    This reverts commit 1af41074445229fea66b99710a850e5f42ecfa95. (detail/ViewSVN)
    by Vedant Kumar
  148. [NVPTX] Remove now unused atomic.load.add.f32 intrinsics (detail/ViewSVN)
    by d0k
  149. [PowerPC][NFC] Update testcase to avoid dead code

    The original testcase might be optimized out due to dead code,
    update the testcase to avoid it. (detail/ViewSVN)
    by jsji
  150. [CGDebugInfo] Simplify EmitFunctionDecl parameters, NFC

    Replace a `llvm::Function *` parameter with a bool, which seems harder
    to set to the wrong value by accident.

    Differential Revision: https://reviews.llvm.org/D64540 (detail/ViewSVN)
    by Vedant Kumar
  151. [Driver] -noprofilelib flag

    This flag is analoguous to other flags like -nostdlib or -nolibc
    and could be used to disable linking of profile runtime library.
    This is useful in certain environments like kernel, where profile
    instrumentation is still desirable, but we cannot use the standard
    runtime library. (detail/ViewSVN)
    by phosek
  152. [TSan] Move DECLARE_REAL macro outside of namespace

    This should fix the "undefined reference to
    tsan::interception::real_setjmp" linker errors. (detail/ViewSVN)
    by yln
  153. [profile][test] Fix Profile-* :: instrprof-merge.c etc. on SPARC

    While working on https://reviews.llvm.org/D40900 (which effectively is about enabling compiler-rt on sparc these days), I came across two failing profile testcases:

      Profile-sparc :: instrprof-merge-match.test
      Profile-sparc :: instrprof-merge.c
      Profile-sparcv9 :: instrprof-merge-match.test
      Profile-sparcv9 :: instrprof-merge.c

    All of them crashed with a SIGBUS in __llvm_profile_merge_from_buffer:

      Thread 2 received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 1 (LWP 1)]
      0x00012368 in __llvm_profile_merge_from_buffer (
          ProfileData=0x2384c <main.Buffer> "\377lprofR\201", ProfileSize=360)
          at /vol/llvm/src/llvm/local/projects/compiler-rt/lib/profile/InstrProfilingMerge.c:95
      95        SrcDataEnd = SrcDataStart + Header->DataSize;

    where Header is insufficiently aligned for a strict-alignment target like SPARC.

    Fixed by forcing the alignment to uint64_t, the members of struct __llvm_profile_header,
    in the callers.

    Tested on sparcv9-sun-solaris2.11.

    https://reviews.llvm.org/D64498 (detail/ViewSVN)
    by ro
  154. [clangd][NFC] Decrease template depth limit in RecursiveHierarchyUnbounded test

    ...to minimize the chance of stack overflow before reaching the limit. (detail/ViewSVN)
    by Jan Korous
  155. [X86] Pre commit test cases for D64574. Along with a test case for PR42571. NFC (detail/ViewSVN)
    by ctopper
  156. [WebAssembly] Assembler: support negative float constants.

    Reviewers: dschuff

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

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64367 (detail/ViewSVN)
    by aardappel
  157. Explicitly define __STDC_FORMAT_MACROS for PRIu64

    Summary:
    Builds are failing on RHEL machines because of PRIu64.

    lvm/projects/compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp:420:50: error: expected ')'

    `snprintf(ThreadBuffer, kThreadBufferLen, "%" PRIu64, ThreadID);`
    inttypes.h in RHEL uses PRIu64 macros only when __STDC_FORMAT_MACROS is defined.

    Author: DTharun

    Reviewers: hctim

    Reviewed By: hctim

    Differential Revision: https://reviews.llvm.org/D64388 (detail/ViewSVN)
    by hctim
  158. [HIP] Add GPU arch gfx1010, gfx1011, and gfx1012

    Differential Revision: https://reviews.llvm.org/D64364 (detail/ViewSVN)
    by yaxunl
  159. [CodeGen] NVPTX: Switch from atomic.load.add.f32 to atomicrmw fadd (detail/ViewSVN)
    by d0k
  160. [Docs] Add standardized header links to analyzer doc

    Summary:
    Header links should have some standard form so clang tidy
    docs can easily reference them. The form is as follows.

    Start with the analyzer full name including packages.
    Replace all periods with dashes and lowercase everything.

    Ex: core.CallAndMessage -> core-callandmessage

    Reviewers: JonasToth, aaron.ballman, NoQ, Szelethus

    Reviewed By: aaron.ballman, Szelethus

    Subscribers: nickdesaulniers, lebedev.ri, baloghadamsoftware, mgrang, a.sidorin, Szelethus, jfb, donat.nagy, dkrupp, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64543 (detail/ViewSVN)
    by nathan-huckleberry
  161. [NVPTX] Use atomicrmw fadd instead of intrinsics

    AutoUpgrade the old intrinsics to atomicrmw fadd. (detail/ViewSVN)
    by d0k
  162. gn build: Merge r365792 (detail/ViewSVN)
    by nico
  163. [clangd] Avoid template in Task constructor, hopefully fix MSVC build (detail/ViewSVN)
    by sammccall
  164. [clangd] Consume llvm::Error in test after r365792 (detail/ViewSVN)
    by sammccall
  165. [clangd] Implementation of auto type expansion.

    Add a tweak for clangd to replace an auto keyword to the deduced type.

    This way a user can declare something with auto and then have the
    IDE/clangd replace auto with whatever type clangd thinks it is. In case
    of long/complext types this makes is reduces writing effort for the
    user.

    The functionality is similar to the hover over the auto keyword.

    Example (from the header):

    ```
    /// Before:
    ///    auto x = Something();
    ///    ^^^^
    /// After:
    ///    MyClass x = Something();
    ///    ^^^^^^^
    ```

    Patch by kuhnel! (Christian Kühnel)
    Differential Revision: https://reviews.llvm.org/D62855 (detail/ViewSVN)
    by sammccall
  166. [X86] Merge negated ISD::SUB nodes into X86ISD::SUB equivalent (PR40483)

    Follow up to D58597, where it was noted that the commuted ISD::SUB variant
    was having problems with lack of combines.

    See also D63958 where we untangled setcc/sub pairs.

    Differential Revision: https://reviews.llvm.org/D58875 (detail/ViewSVN)
    by spatel
  167. [scudo][standalone] Merge Spin & Blocking mutex into a Hybrid one

    Summary:
    We ran into a problem on Fuchsia where yielding threads would never
    be deboosted, ultimately resulting in several threads spinning on the
    same TSD, and no possibility for another thread to be scheduled,
    dead-locking the process.

    While this was fixed in Zircon, this lead to discussions about if
    spinning without a break condition was a good decision, and settled on
    a new hybrid model that would spin for a while then block.

    Currently we are using a number of iterations for spinning that is
    mostly arbitrary (based on sanitizer_common values), but this can
    be tuned in the future.

    Since we are touching `common.h`, we also use this change as a vehicle
    for an Android optimization (the page size is fixed in Bionic, so use
    a fixed value too).

    Reviewers: morehouse, hctim, eugenis, dvyukov, vitalybuka

    Reviewed By: hctim

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

    Tags: #llvm, #sanitizers

    Differential Revision: https://reviews.llvm.org/D64358 (detail/ViewSVN)
    by cryptoad
  168. Fix a few 'no newline at end of file' warnings that Xcode emits

    (Xcode even has a snazzy "Fix" button, but clicking that inserts two
    newlines. So close!) (detail/ViewSVN)
    by nico
  169. [libc++] Implement deduction guides for <unordered_set>

    Thanks to Arthur O'Dwyer for the patch.
    Differential Revision: https://reviews.llvm.org/D58617 (detail/ViewSVN)
    by Louis Dionne
  170. gn build: Merge r365773 (detail/ViewSVN)
    by nico
  171. [OPENMP]Initial fix PR42392: Improve -Wuninitialized warnings for OpenMP programs.

    Summary:
    Some OpenMP clauses rely on the values of the variables. If the variable
    is not initialized and used in OpenMP clauses that depend on the
    variables values, it should be reported that the uninitialized variable
    is used in the OpenMP clause expression.
    This patch adds initial processing for uninitialized variables in OpenMP
    constructs. Currently, it checks for use of the uninitialized variables
    in the structured blocks.

    Reviewers: NoQ, Szelethus, dcoughlin, xazax.hun, a.sidorin, george.karpenkov, szepet

    Subscribers: rnkovacs, guansong, jfb, jdoerfert, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64356 (detail/ViewSVN)
    by abataev
  172. [DAGCombine] narrowInsertExtractVectorBinOp - add CONCAT_VECTORS support

    We already split extract_subvector(binop(insert_subvector(v,x),insert_subvector(w,y))) -> binop(x,y).

    This patch adds support for extract_subvector(binop(concat_vectors(),concat_vectors())) cases as well.

    In particular this means we don't have to wait for X86 lowering to convert concat_vectors to insert_subvector chains, which helps avoid some cases where demandedelts/combine calls occur too late to split large vector ops.

    The fast-isel-store.ll load folding regression is annoying but I don't think is that critical.

    Differential Revision: https://reviews.llvm.org/D63653 (detail/ViewSVN)
    by rksimon
  173. RegUsageInfoCollector: Skip calling conventions I missed before (detail/ViewSVN)
    by arsenm
  174. AMDGPU/GlobalISel: Move kernel argument handling to separate function (detail/ViewSVN)
    by arsenm
  175. Fix missing C++ mode comment (detail/ViewSVN)
    by arsenm
  176. GlobalISel: Use Register (detail/ViewSVN)
    by arsenm
  177. Revert r365775 - "[Object/ELF] - Improve error reporting for notes."

    It broke BB: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/15419 (detail/ViewSVN)
    by grimar
  178. [clangd] Remove an extra ";", NFC (detail/ViewSVN)
    by hokein
  179. Added mapping for pointers captured in Lambdas in OpenMP target regions,
    by David Truby.

    Summary:
    This adds a zero length array section mapping for each pointer captured by a lambda that is used in a target region, as per section 2.19.7.1 of the OpenMP 5 specification.

    Reviewers: ABataev

    Reviewed By: ABataev

    Subscribers: guansong, jdoerfert, cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64558 (detail/ViewSVN)
    by abataev
  180. [clangd][QueryDriver] Use language from underlying database if possible

    Reviewers: sammccall

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

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64489 (detail/ViewSVN)
    by kadircet
  181. [Object/ELF] - Improve error reporting for notes.

    This patch improves the error messages reported for
    note sections and phdrs and also makes a cleanup for
    existent test case.

    Differential revision: https://reviews.llvm.org/D64470 (detail/ViewSVN)
    by grimar
  182. [InstCombine] don't move FP negation out of a constant expression

    -(X * ConstExpr) becomes X * (-ConstExpr), so don't reverse that
    and infinite loop. (detail/ViewSVN)
    by spatel
  183. [clangd] Add priorities to background index queue, extract to separate class

    Reviewers: kadircet

    Subscribers: mgorny, ilya-biryukov, MaskRay, jkorous, arphaman, jfb, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64560 (detail/ViewSVN)
    by sammccall
  184. [yaml2obj/elf-override-shsize.yaml] - An attemp to fix ppc64 bot.

    Failture:
    http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/35670/steps/ninja%20check%201/logs/FAIL%3A%20LLVM%3A%3Aelf-override-shsize.yaml

    Solution:
    Change `od` tool invocation to print single bytes. (detail/ViewSVN)
    by grimar
  185. OpaquePtr: switch to GlobalValue::getValueType in a few places. NFC. (detail/ViewSVN)
    by Tim Northover
  186. OpaquePtr: use byval accessor instead of inspecting pointer type. NFC.

    The accessor can deal with both "byval(ty)" and "ty* byval" forms
    seamlessly. (detail/ViewSVN)
    by Tim Northover
  187. OpaquePtr: use load instruction directly for type. NFC. (detail/ViewSVN)
    by Tim Northover
  188. InstructionSimplify: Simplify InstructionSimplify. NFC.

    The interface predates CallBase, so both it and implementation were
    significantly more complicated than they needed to be. There was even
    some redundancy that could be eliminated.

    Should also help with OpaquePointers by not trying to derive a
    function's type from it's PointerType. (detail/ViewSVN)
    by Tim Northover
  189. [yaml2obj] - Allow overriding the sh_size field.

    There is no way to set broken sh_size field currently
    for sections. It can be usefull for writing the
    test cases.

    Differential revision: https://reviews.llvm.org/D64401 (detail/ViewSVN)
    by grimar
  190. [NFC] Updated tests for D64285 (detail/ViewSVN)
    by xbolva00
  191. [clangd] Remove the extra ";", NFC (detail/ViewSVN)
    by hokein
  192. [clangd] Fix an assertion crash in "ExtractVariable" tweak

    Summary:
    GetTypePtr requires that the type should not be null, otherwise we hit
    an assertion, we should use getTypePtrOrNull instead.

    Reviewers: sammccall, SureYeaah

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

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64556 (detail/ViewSVN)
    by hokein
  193. [llvm-readobj/llvm-readelf] - Report a warning instead of a error when dumping a broken dynamic section.

    It does not make sence to stop dumping the object if the broken
    dynamic section was found. In this patch I changed the behavior from
    "report an error" to "report a warning". This matches GNU.

    Differential revision: https://reviews.llvm.org/D64472 (detail/ViewSVN)
    by grimar
  194. [InstCombine] Reorder recently added/improved pow transformations

    Changed cases are now faster with exp2. (detail/ViewSVN)
    by xbolva00
  195. Revert [BitcodeReader] Validate OpNum, before accessing Record array.

    This reverts r365750 (git commit 8b222ecf2769ee133691f208f6166ce118c4a164)

    llvm-dis runs out of memory while opening invalid-fcmp-opnum.bc on
    llvm-hexagon-elf, probably because the bitcode file contains other
    suspicious values.

    http://lab.llvm.org:8011/builders/llvm-hexagon-elf/builds/21949 (detail/ViewSVN)
    by fhahn
  196. [clangd] Fix windows buildbots (detail/ViewSVN)
    by kadircet
  197. [X86] Regenerate intrinsics tests. NFCI. (detail/ViewSVN)
    by rksimon
  198. [AMDGPU] Regenerate idot tests. NFCI.

    Reduces diff in D63281. (detail/ViewSVN)
    by rksimon
  199. [llvm-objcopy] Don't change permissions of non-regular output files

    There is currently an EPERM error when a regular user executes `llvm-objcopy a.o /dev/null`.
    Worse, root can even change the mode bits of /dev/null.

    Fix it by checking if the output file is special.

    A new overload of llvm::sys::fs::setPermissions with FD as the parameter
    is added. Users should provide `perm & ~umask` as the parameter if they
    intend to respect umask.

    The existing overload of llvm::sys::fs::setPermissions may be deleted if
    we can find an implementation of fchmod() on Windows. fchmod() is
    usually better than chmod() because it saves syscalls and can avoid race
    condition.

    Reviewed By: jakehehrlich, jhenderson

    Differential Revision: https://reviews.llvm.org/D64236 (detail/ViewSVN)
    by maskray
  200. [X86] -fno-plt: use GOT __tls_get_addr only if GOTPCRELX is enabled

    Summary:
    As of binutils 2.32, ld has a bogus TLS relaxation error when the GD/LD
    code sequence using R_X86_64_GOTPCREL (instead of R_X86_64_GOTPCRELX) is
    attempted to be relaxed to IE/LE (binutils PR24784). gold and lld are good.

    In gcc/config/i386/i386.md, there is a configure-time check of as/ld
    support and the GOT relaxation will not be used if as/ld doesn't support
    it:

        if (flag_plt || !HAVE_AS_IX86_TLS_GET_ADDR_GOT)
          return "call\t%P2";
        return "call\t{*%p2@GOT(%1)|[DWORD PTR %p2@GOT[%1]]}";

    In clang, -DENABLE_X86_RELAX_RELOCATIONS=OFF is the default. The ld.bfd
    bogus error can be reproduced with:

        thread_local int a;
        int main() { return a; }

    clang -fno-plt -fpic a.cc -fuse-ld=bfd

    GOTPCRELX gained relative good support in 2016, which is considered
    relatively new.  It is even difficult to conditionally default to
    -DENABLE_X86_RELAX_RELOCATIONS=ON due to cross compilation reasons. So
    work around the ld.bfd bug by only using GOT when GOTPCRELX is enabled.

    Reviewers: dalias, hjl.tools, nikic, rnk

    Reviewed By: nikic

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64304 (detail/ViewSVN)
    by maskray
  201. [clangd] Add a missing "return nullptr;" to the SelectionTree::commonAncestor.

    This would fix some mysterious crashes on codeAction in clangd. (detail/ViewSVN)
    by hokein
  202. [BitcodeReader] Validate OpNum, before accessing Record array.

    Currently invalid bitcode files can cause a crash, when OpNum exceeds
    the number of elements in Record, like in the attached bitcode file.

    The test case was generated by clusterfuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15698

    Reviewers: t.p.northover, thegameg, jfb

    Reviewed By: jfb

    Differential Revision: https://reviews.llvm.org/D64507 (detail/ViewSVN)
    by fhahn
  203. [ARM][LowOverheadLoops] Correct offset checking
       
    This patch addresses a couple of problems:
    1) The maximum supported offset of LE is -4094.
    2) The offset of WLS also needs to be checked, this uses a
       maximum positive offset of 4094.
       
    The use of BasicBlockUtils has been changed because the block offsets
    weren't being initialised, but the isBBInRange checks both positive
    and negative offsets.
       
    ARMISelLowering has been tweaked because the test case presented
    another pattern that we weren't supporting. (detail/ViewSVN)
    by sam_parker
  204. [clangd] Reland rL365634

    This was reverted in rL365678, the failure was due to YAML parsing of
    compile_commands.json.

    Converting backslashes to forward slashes to fix the issue in unittest. (detail/ViewSVN)
    by kadircet
  205. [ARM] Remove nonexistent unsigned forms of MVE VQDMLAH.

    The VQDMLAH.U8, VQDMLAH.U16 and VQDMLAH.U32 instructions don't
    actually exist: the Armv8.1-M architecture spec only lists signed
    forms of that instruction. The unsigned ones were added in error: they
    existed in an early draft of the spec, but they were removed before
    the public version, and we missed that particular spec change.

    Also affects the variant forms VQDMLASH, VQRDMLAH and VQRDMLASH.

    Reviewers: miyuki

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

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64502 (detail/ViewSVN)
    by statham
  206. [NFC][PowerPC] Added test to track current behaviour of TailDup (detail/ViewSVN)
    by lkail
  207. [clangd] Added highlightings for namespace specifiers.

    Summary: Added highlightings for namespace specifiers.

    Reviewers: hokein, sammccall, ilya-biryukov

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

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64492 (detail/ViewSVN)
    by jvikstrom
  208. [MIPS GlobalISel] Skip copies in addUseDef and addDefUses

    Skip copies between virtual registers during search for UseDefs
    and DefUses.
    Since each operand has one def search for UseDefs is straightforward.
    But since operand can have many uses, we have to check all uses of
    each copy we traverse during search for DefUses.

    Differential Revision: https://reviews.llvm.org/D64486 (detail/ViewSVN)
    by petar.avramovic
  209. [MIPS GlobalISel] RegBankSelect for chains of ambiguous instructions

    When one of the uses/defs of ambiguous instruction is also ambiguous
    visit it recursively and search its uses/defs for instruction with
    only one mapping available.
    When all instruction in a chain are ambiguous arbitrary mapping can
    be selected. For s64 operands in ambiguous chain fprb is selected since
    it results in less instructions then having to narrow scalar s64 to s32.
    For s32 both gprb and fprb result in same number of instructions and
    gprb is selected like a general purpose option.

    At the moment we always avoid cross register bank copies.
    TODO: Implement a model for costs calculations of different mappings
    on same instruction and cross bank copies. Allow cross bank copies
    when appropriate according to cost model.

    Differential Revision: https://reviews.llvm.org/D64485 (detail/ViewSVN)
    by petar.avramovic
  210. Revert Recommit "[CommandLine] Remove OptionCategory and SubCommand caches from the Option class."

    This reverts r365675 (git commit 43d75f977853c3ec891a440c362b2df183a211b5)

    The patch causes a crash in SupportTests (CommandLineTest.AliasesWithArguments). (detail/ViewSVN)
    by hokein
  211. Remove some redundant code from r290372 and improve a comment. (detail/ViewSVN)
    by foad
  212. [ARM][ParallelDSP] Change the search for smlads
       
    Two functional changes have been made here:
    - Now search up from any add instruction to find the chains of
      operations that we may turn into a smlad. This allows the
      generation of a smlad which doesn't accumulate into a phi.
    - The search function has been corrected to stop it falsely searching
      up through an invalid path.
       
    The bulk of the changes have been making the Reduction struct a class
    and making it more C++y with getters and setters.

    Differential Revision: https://reviews.llvm.org/D61780 (detail/ViewSVN)
    by sam_parker
  213. [ASan] Use __sanitizer_fill_shadow for FastPoisonShadow on Fuchsia

    This is the optimized implementation for Fuchsia provided by the libc.

    Differential Revision: https://reviews.llvm.org/D64166 (detail/ViewSVN)
    by phosek
  214. [test] Silence gcc 7.4 warning [NFC]

    Without this gcc 7.4.0 complains with
    ../unittests/Analysis/ValueTrackingTest.cpp:937:66: error: ISO C++11 requires at least one argument for the "..." in a variadic macro [-Werror]
                              ::testing::ValuesIn(IsBytewiseValueTests));
                                                                       ^ (detail/ViewSVN)
    by uabelho
  215. [clang-doc] Silence compiler warning with gcc 7.4 [NFC]

    Without the fix gcc 7.4.0 complains with

    /data/repo/master/clang-tools-extra/clang-doc/HTMLGenerator.cpp: In member function 'llvm::SmallString<16> clang::doc::{anonymous}::HTMLTag::ToString() const':
    /data/repo/master/clang-tools-extra/clang-doc/HTMLGenerator.cpp:165:1: error: control reaches end of non-void function [-Werror=return-type]
    }
    ^
    /data/repo/master/clang-tools-extra/clang-doc/HTMLGenerator.cpp: In member function 'bool clang::doc::{anonymous}::HTMLTag::HasInlineChildren() const':
    /data/repo/master/clang-tools-extra/clang-doc/HTMLGenerator.cpp:142:1: error: control reaches end of non-void function [-Werror=return-type]
    }
    ^
    /data/repo/master/clang-tools-extra/clang-doc/HTMLGenerator.cpp: In member function 'bool clang::doc::{anonymous}::HTMLTag::IsSelfClosing() const':
    /data/repo/master/clang-tools-extra/clang-doc/HTMLGenerator.cpp:126:1: error: control reaches end of non-void function [-Werror=return-type]
    }
    ^
    cc1plus: all warnings being treated as errors (detail/ViewSVN)
    by uabelho
  216. Add NetBSD LSan support

    Summary:
    Combine few relatively small changes into one:

    - implement internal_ptrace() and internal_clone() for NetBSD
    - add support for stoptheworld based on the ptrace(2) API
    - define COMPILER_RT_HAS_LSAN for NetBSD
    - enable tests for NetBSD/amd64

    Inspired by the original implementation by Christos Zoulas in netbsd/src for GCC.

    The implementation is in theory CPU independent through well defined macros
    across all NetBSD ports, however only the x86_64 version was tested.

    Reviewers: mgorny, dvyukov, vitalybuka, joerg, jfb

    Reviewed By: vitalybuka

    Subscribers: dexonsmith, jfb, srhines, kubamracek, llvm-commits, christos

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64057 (detail/ViewSVN)
    by kamil
  217. [WebAssembly] Print error message for llvm.clear_cache intrinsic

    Summary:
    Wasm does not currently support `llvm.clear_cache` intrinsic, and this
    prints a proper error message instead of segfault.

    Reviewers: dschuff, sbc100, sunfish

    Subscribers: jgravelle-google, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64322 (detail/ViewSVN)
    by aheejin
  218. [InstCombine][NFCI] Add test coverage to onehot_merge.ll

    Prep work for upcoming patch D64275. (detail/ViewSVN)
    by huihuiz
  219. Increase the number of parser diagnostics.

    The reserved range for parser diagnostics is getting close to being filled,
    so increase the space for them. (detail/ViewSVN)
    by rtrieu
  220. [SCEV] teach SCEV symbolical execution about overflow intrinsics folding.
    Differential Revision: https://reviews.llvm.org/D64422 (detail/ViewSVN)
    by shchenz
  221. Change another test I missed in r365724 (detail/ViewSVN)
    by nico
  222. clang-cl: Remove -O0 option

    cl.exe doesn't understand it; there's /Od instead. See also the review
    thread for r229575.

    Update lots of compiler-rt tests to use -Od instead of -O0.
    Ran `rg -l 'clang_cl.*O0' compiler-rt/test/ | xargs sed -i -c 's/-O0/-Od/'`

    Differential Revision: https://reviews.llvm.org/D64506 (detail/ViewSVN)
    by nico
  223. Replace three "strip & accumulate" implementations with a single one

    This patch replaces the three almost identical "strip & accumulate"
    implementations for constant pointer offsets with a single one,
    combining the respective functionalities. The old interfaces are kept
    for now.

    Differential Revision: https://reviews.llvm.org/D64468 (detail/ViewSVN)
    by jdoerfert
  224. [NFC] Adjust "invalid.ll.bc" tests to check for AttrKind #255 not #63

    We are about to add enum attributes with AttrKind numbers >= 63. This
    means we cannot use AttrKind #63 to test for an invalid attribute number
    in the RAW format anymore. This patch changes the number of an invalid
    attribute to #255. There is no change to the character of the tests.

    Differential Revision: https://reviews.llvm.org/D64531 (detail/ViewSVN)
    by jdoerfert
  225. Various minor tweaks to CLCompatOptions.td

    - Add back indentation I accidentally removed in r364901
    - Wrap two lines to 80 cols
    - Slightly tighten up help text for several flags
    - Consistently use "Do not" instead of "Don't"
    - Make every option description start with a verb
    - Use "Set" instead of "Specify"
    - Mark default values of options more consistently
    - Remove text about "/Zi" not producing PDBs since it's confusing
      for people not intimately familiar with the implementation of
      the normal PDB pipeline. /Zi lets the linker produce PDBs, which
      is what most users want.
    - Consistently use "file" over "filename" in meta var names,
      consistently use "file name" over "filename" in text
    - Make all output setting options have consistent language (detail/ViewSVN)
    by nico
  226. [X86] Don't convert 8 or 16 bit ADDs to LEAs on Atom in FixupLEAPass.

    We use the functions that convert to three address to do the
    conversion, but changing an 8 or 16 bit will cause it to create
    a virtual register. This can't be done after register allocation
    where this pass runs.

    I've switched the pass completely to a white list of instructions
    that can be converted to LEA instead of a blacklist that was
    incorrect. This will avoid surprises if we enhance the three
    address conversion function to include additional instructions
    in the future.

    Fixes PR42565. (detail/ViewSVN)
    by ctopper
  227. [AMDGPU] gfx908 atomic fadd and atomic pk_fadd

    Differential Revision: https://reviews.llvm.org/D64435 (detail/ViewSVN)
    by rampitec
  228. [CGDebugInfo] Fix -femit-debug-entry-values crash on os_log_helpers

    An os_log_helper FunctionDecl may not have a body. Ignore these for the
    purposes of debug entry value emission.

    Fixes an assertion failure seen in a stage2 build of clang:

    Assertion failed: (FD->hasBody() && "Functions must have body here"),
    function analyzeParametersModification (detail/ViewSVN)
    by Vedant Kumar
  229. [AMDGPU] gfx908 dot instruction support

    Differential Revision: https://reviews.llvm.org/D64431 (detail/ViewSVN)
    by rampitec
  230. Attempt to fix bots after r365703 (detail/ViewSVN)
    by nico
  231. rL365634 adds a unique_ptr<CompilationDatabase> in GobalCompilationDatabase.h:108 but CompilationDatabase is only forward declared. This makes the header not compile standalone, because unique_ptrs expect to have the full-definition of the...

    Summary:
    ...template argument.

    Remove the forward declaration and include the appropriate header instead.
    Remove CompileCommand too, which is also in the header. (detail/ViewSVN)
    by saugustine
  232. Revert [llvm-objcopy] Allow strip symtab from executables and DSOs

    This reverts r365193 (git commit 194f16b3548bcb23a7f0fd638778ed72edd18d37)

    This patch doesn't work with binaries built w/ `--emit-relocs`, e.g.

    ```
    $ echo 'int main() { return 0; }' | clang -Wl,--emit-relocs -x c - -o foo && llvm-objcopy --strip-unneeded foo
    llvm-objcopy: error: 'foo': not stripping symbol '__gmon_start__' because it is named in a relocation
    ``` (detail/ViewSVN)
    by rupprecht
  233. [SDAG] commute setcc operands to match a subtract

    If we have:

    R = sub X, Y
    P = cmp Y, X

    ...then flipping the operands in the compare instruction can allow using a subtract that sets compare flags.

    Motivated by diffs in D58875 - not sure if this changes anything there,
    but this seems like a good thing independent of that.

    There's a more involved version of this transform already in IR (in instcombine
    although that seems misplaced to me) - see "swapMayExposeCSEOpportunities()".

    Differential Revision: https://reviews.llvm.org/D63958 (detail/ViewSVN)
    by spatel
  234. Add IsBytewiseValue unit test

    Subscribers: llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D63966 (detail/ViewSVN)
    by Vitaly Buka
  235. NFC: Pass DataLayout into isBytewiseValue

    Summary:
    We will need to handle IntToPtr which I will submit in a separate patch as it's
    not going to be NFC.

    Reviewers: eugenis, pcc

    Reviewed By: eugenis

    Subscribers: hiraditya, cfe-commits, llvm-commits

    Tags: #clang, #llvm

    Differential Revision: https://reviews.llvm.org/D63940 (detail/ViewSVN)
    by Vitaly Buka
  236. NFC: Convert large lambda into method

    Reviewers: pcc, eugenis

    Reviewed By: eugenis

    Subscribers: cfe-commits, lldb-commits

    Tags: #clang, #lldb

    Differential Revision: https://reviews.llvm.org/D63854 (detail/ViewSVN)
    by Vitaly Buka
  237. [TSan] Fix linker error on Linux/AArch64 (detail/ViewSVN)
    by yln
  238. GodeGen, NFC: Add test to track emitStoresForConstant behavior

    Reviewers: eugenis, pcc

    Reviewed By: eugenis

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D64385 (detail/ViewSVN)
    by Vitaly Buka
  239. [X86] Add patterns with and_flag_nocf for BLSI and TBM instructions.

    Fixes similar issues to r352306. (detail/ViewSVN)
    by ctopper
  240. [X86] Add a few more TBM and BLSI test cases that show the same issue that r352306 fixed for BLSR. (detail/ViewSVN)
    by ctopper
  241. driver: Don't warn about assembler flags being unused when not assembling

    clang currently warns when passing flags for the assembler (e.g.
    -Wa,-mbig-obj) to an invocation that doesn't run the assembler (e.g.
    -E).

    At first sight, that makes sense -- the flag really is unused. But many
    other flags don't have an effect if no assembler runs (e.g.
    -fno-integrated-as, -ffunction-sections, and many others), and those
    currently don't warn. So this seems more like a side effect of how
    CollectArgsForIntegratedAssembler() is implemented than like an
    intentional feature.

    Since it's a bit inconvenient when debugging builds and adding -E,
    always call CollectArgsForIntegratedAssembler() to make sure assembler
    args always get claimed. Currently, this affects only these flags:
    -mincremental-linker-compatible, -mimplicit-it= (on ARM), -Wa, -Xassembler

    It does have the side effect that assembler options now need to be valid
    even if -E is passed. Previously, `-Wa,-mbig-obj` would error for
    non-coff output only if the assembler ran, now it always errors. This
    too makes assembler flags more consistent with all the other flags and
    seems like a progression.

    Fixes PR42066.

    Differential Revision: https://reviews.llvm.org/D64527 (detail/ViewSVN)
    by nico
  242. [X86] Add BLSR and BLSMSK to isUseDefConvertible.

    Unfortunately subo formation in CGP prevents obvious ways of
    testing this.

    But we already have BLSI in here and the flag behavior is
    well understood.

    Might become more useful if we improve PR42571. (detail/ViewSVN)
    by ctopper
  243. [NFC]Fix IR/MC depency issue for function descriptor SDAG implementation

    Summary: llvm/IR/GlobalValue.h can't be included in MC, that creates a circular dependency between MC and IR libraries. This circular dependency is causing an issue for build system that enforce layering.

    Author: Xiangling_L

    Reviewers: sfertile, jasonliu, hubert.reinterpretcast, gribozavr

    Reviewed By: gribozavr

    Subscribers: wuzish, nemanjai, hiraditya, kbarton, MaskRay, jsji, llvm-commits

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64445 (detail/ViewSVN)
    by daltenty
  244. [clang-scan-deps] Dependency directives source minimizer:
    single quotes are not digit separators after a valid character literal prefix

    The single quote character can act as a c++ digit separator.
    However, the minimizer shouldn't treat it as such when it's actually following
    a valid character literal prefix, like L, U, u, or u8.

    Differential Revision: https://reviews.llvm.org/D64525 (detail/ViewSVN)
    by arphaman

Started by user Azharuddin Mohammed

This run spent:

  • 2 ms waiting;
  • 1 hr 40 min build duration;
  • 1 hr 40 min total from scheduled to completion.
LLVM/Clang Warnings: 0 warnings.
  • No warnings since build 17,921.
  • Still 71 days before reaching the previous zero warnings highscore.