Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LLVM and SPIRV-LLVM-Translator pulldown (WW34) #10903

Closed
wants to merge 1,519 commits into from
Closed
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Aug 18, 2023

  1. Configuration menu
    Copy the full SHA
    59c59a3 View commit details
    Browse the repository at this point in the history
  2. [clang] Prevent possible use-after-free

    This prevents further parsing of tokens (that'll be freed) inside method
    body by propagating EOF emitted by reaching code completion token up the parsing
    stack.
    
    Differential Revision: https://reviews.llvm.org/D158269
    kadircet committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    851c248 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    686aef8 View commit details
    Browse the repository at this point in the history
  4. [NFC][GuardUtils] Add util to extract widenable conditions

    This is the next preparation patch to support widenable conditions
    widening instead of branches widening.
    
    We've added parseWidenableGuard util which parses guard condition and
    collects all checks existing in the expression tree: D157276
    
    Here we are adding util which walks similar way through the expression
    tree but looks up for widenable condition without collecting the checks.
    Therefore llvm::extractWidenableCondition could parse widenable branches
    with arbitrary position of widenable condition in the expression tree.
    
    llvm::parseWidenableBranch which is we are going to get rid of is being
    replaced by llvm::extractWidenableCondition where it's possible.
    
    Reviewed By: anna
    
    Differential Revision: https://reviews.llvm.org/D157529
    aleks-tmb committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    d6e7c16 View commit details
    Browse the repository at this point in the history
  5. [flang][driver] Partial revert of D157837

    This is a partial revert of https://reviews.llvm.org/D157837 - it turns
    out that the LLVM test suite needs to be updated first not to use any of
    the unsupported Flang options:
      * https://github.com/llvm/llvm-test-suite
    Sample errors:
    ```
    flang-new: error: unknown argument: '-fbounds-check'
    flang-new: error: unknown argument: '-fcheck=all'
    flang-new: error: unknown argument: '-fcheck-array-temporaries'
    ```
    
    Once the test suite is updated, we can restore the reverted setting.
    
    Broken bot:
      * https://lab.llvm.org/buildbot/#/builders/197/builds/9001
    
    Differential Revision: https://reviews.llvm.org/D158289
    banach-space committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    89053e4 View commit details
    Browse the repository at this point in the history
  6. Rename warn_drv_overriding_flag_option (-Woverriding-t-option) to war…

    …n_drv_overriding_flag_option (-Woverriding-option)
    
    warn_drv_overriding_flag_option was added for clang-cl `/T*` options (D1290) and its group name was planned to be renamed to overriding-option.
    The name -Woverriding-t-option does not make sense for other uses,
    mostly related to -ffp-model= related diagnostics.
    
    Reviewed By: hans, skan, dexonsmith
    
    Differential Revision: https://reviews.llvm.org/D158137
    MaskRay committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    1c66d08 View commit details
    Browse the repository at this point in the history
  7. Reapply "[DebugInfo] Alternate (more efficient) MD5 fix"

    D155991 changed the file lookup to do a full string compare on the
    filename; however, this added ~0.5% to compile time with -g.
    Go back to the previous pointer-based lookup, but capture the main
    file's checksum as well as its name to use when creating the extra
    DIFile entry. This causes all entries to be consistent and also
    avoids computing the checksum twice.
    
    This reverts commit 5956648.
    There was a string lifetime issue that is now corrected.
    
    Differential Revision: https://reviews.llvm.org/D156571
    pogo59 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    1fcc2bc View commit details
    Browse the repository at this point in the history
  8. AMDGPU/Uniformity/GlobalISel: G_AMDGPU atomics are always divergent

    Patch by: Acim Maravic
    
    Differential Revision: https://reviews.llvm.org/D157091
    mbrkusanin committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    de82fde View commit details
    Browse the repository at this point in the history
  9. [flang][openacc][NFC] Split global acc declare and function/subroutin…

    …e declare
    
    Split the tests for declare in module specification and the declare in
    function/subroutine specificatons. Since the lowering is specific to the
    location of the declare it will make it easier to update these files.
    This also remove the duplicate parts shared by the FIR vs HLFIR tests.
    
    Reviewed By: razvanlupusoru
    
    Differential Revision: https://reviews.llvm.org/D158222
    clementval committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    f631a10 View commit details
    Browse the repository at this point in the history
  10. Reland "[llvm-cov] Support multi-source object files for convert-for-…

    …testing"
    
    `llvm-cov convert-for-testing` only functions properly when the input binary contains a single source file. When the binary has multiple source files, a `Malformed coverage data` error will occur when the generated .covmapping is read back. This is because the testing format lacks support for indicating the size of its file records, and current implementation just assumes there's only one record in it. This patch fixes this problem by introducing a new testing format version.
    
    Changes to the code:
    
    - Add a new format version. The version number is stored in the the last 8 bytes of the orignial magic number field to be backward-compatible.
    - Output a LEB128 number before the file records section to indicate its size in the new version.
    - Change the format parsing code correspondingly.
    - Update the document to formalize the testing format.
    - Additionally, fix the bug when converting COFF binaries.
    
    Reviewed By: phosek, gulfem
    
    Differential Revision: https://reviews.llvm.org/D156611
    yhgu2000 authored and gulfemsavrun committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    57cb2f6 View commit details
    Browse the repository at this point in the history
  11. [MLIR] Infer locations for block argument conversion

    To enable signature conversions to be used in CIRCT, locations should no longer be dropped from block arguments.
    
    Reviewed By: Mogball, springerm
    
    Differential Revision: https://reviews.llvm.org/D157882
    nandor committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    0c46a91 View commit details
    Browse the repository at this point in the history
  12. [Inline] Avoid incompatible return attributes on deoptimize

    When updating the return type of deoptimize call during inline, we need
    to drop incompatible return attributes.  This bug was exposed once we
    relaxed the contraint of adding the attributes through D156844. With
    that change deoptimize (are not willreturn) will start having return
    attributes added to it.
    
    Fixes llvm/llvm-project#64804.
    
    Differential Revision: https://reviews.llvm.org/D158286
    annamthomas committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    23f08af View commit details
    Browse the repository at this point in the history
  13. [LangRef] Document integer hexadecimal constants

    It's possible to write an integer constant in hexadecimal, but you need to
    prefix it with u or s. I couldn't find this mentioned anywhere in the LangRef,
    so this adds a small note about it.
    
    Reviewed By: arsenm
    
    Differential Revision: https://reviews.llvm.org/D158288
    lukel97 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    2dad7ee View commit details
    Browse the repository at this point in the history
  14. Fix LLVM Sphinx bot

    AaronBallman committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    cf5e918 View commit details
    Browse the repository at this point in the history
  15. [libc++] Change _LIBCPP_CONSTEXPR_SINCE_XXX to constexpr in the dylib

    Since we build the dylib with C++20, there's no need to use conditional
    macros anymore.
    
    Differential Revision: https://reviews.llvm.org/D157995
    ldionne committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    5a6c1ce View commit details
    Browse the repository at this point in the history
  16. [MLIR][Math] Add support for f16 in the expansion of math.roundeven

    Add support for f16 in the expansion of math.roundeven.
    Associated GitHub issue: iree-org/iree#13522
    This version addresses the build issues on Windows reported on
    https://reviews.llvm.org/D157204
    
    Test plan: ninja check-mlir check-all
    
    Differential revision: https://reviews.llvm.org/D158234
    alexander-shaposhnikov committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    40bf363 View commit details
    Browse the repository at this point in the history
  17. [libc] Fix HPD on extremely long numbers

    The fuzzer found that a 100,000 digit number could possibly return an
    incorrect result. This patch fixes the issue.
    
    Reviewed By: lntue
    
    Differential Revision: https://reviews.llvm.org/D158118
    michaelrj-google committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    548789b View commit details
    Browse the repository at this point in the history
  18. Revert "[DAG] SimplifyDemandedBits - if we're only demanding the sign…

    …bit, a SMIN/SMAX node can be simplified to a OR/AND node respectively."
    
    This reverts commit 54d663d, which breaks the test CodeGen/SystemZ/ctpop-01.ll for stage2-ubsan check (see https://lab.llvm.org/buildbot/#/builders/85/builds/18410)
    
    I manually confirmed that the test had been passing immediately prior to that commit
    (BUILDBOT_REVISION=4772c66cfb00d60f8f687930e9dd3aa1b6872228 llvm-zorg/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh)
    thurstond committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    29b2009 View commit details
    Browse the repository at this point in the history
  19. [lldb] Simplify the LLDB website structure

    Feedback I hear regularly is that the LLDB website is hard to navigate.
    This patch is an attempt to simplify things by breaking the website up
    in 3 major areas: "Using LLDB", "Scripting LLDB" and "Developing LLDB".
    
      - The majority of the "project" pages were eliminated. The projects
        page was moved under "Developing LLDB". The releases page was
        replaced with a link under "External links". The other pages (goals,
        features and status) were pretty outdated and while they probably
        made sense in the past, they don't feel all that relevant anymore
        now that LLDB is an established debugger.
    
      - "USE & EXTENSION" was renamed to "Using LLDB". Besides that, this
        section remained mostly unchanged. The exception are the Python
        pages which were moved under "Scripting LLDB".
    
      - "Development" was renamed to "Developing LLDB" and now houses all the
        resources for LLDB developers. The old "Design" section (which only
        contained two pages) was moved back under here too.
    
    Differential revision: https://reviews.llvm.org/D158023
    JDevlieghere committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    3e3880e View commit details
    Browse the repository at this point in the history
  20. Revert "[MLIR][Math] Add support for f16 in the expansion of math.rou…

    …ndeven"
    
    This reverts commit 40bf363.
    The build bot ppc64le-mlir-rhel-test got broken by these changes,
    see https://lab.llvm.org/buildbot#builders/88/builds/61048 .
    alexander-shaposhnikov committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    d22883e View commit details
    Browse the repository at this point in the history
  21. [CUDA/NVPTX] Improve handling of memcpy for -Os compilations.

    We had some instances when LLVM would not inline fixed-count memcpy and ended up
    attempting to lower it a a libcall, which would not work on NVPTX as there's no
    standard library to call.
    
    The patch relaxes the threshold used for -Os compilation so we're always allowed
    to inline memory copy functions.
    
    Differential Revision: https://reviews.llvm.org/D158226
    Artem-B committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    7275734 View commit details
    Browse the repository at this point in the history
  22. [dsymutil] Fix data race in input verification (NFC)

    Dump verification errors to a local buffer instead of racing stdio and
    potentially showing interleaved output.
    JDevlieghere committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    4d1d8a8 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    8f8df78 View commit details
    Browse the repository at this point in the history
  24. [emacs] Highlight hexadecimal integer constants

    Today I learnt about their existence (D158288), they just need to be prefixed
    with a u or s.
    
    Reviewed By: goldstein.w.n
    
    Differential Revision: https://reviews.llvm.org/D158290
    lukel97 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    160ab99 View commit details
    Browse the repository at this point in the history
  25. [DAG] Fold insert_subvector undef, (extract_subvector X, 0), 0 with n…

    …on-matching types
    
    We have an existing DAG combine for when an insert/extract subvector pair is entirely a nop, but we hadn't handled the case where the net result was either an insert or an extract (but not both).  The transform is restricted to index = 0 to avoid having to adjust indices after the transform.
    
    Reviews, a couple comments on the test changes:
    * Mostly RISCV, mostly schedule reordering.
    * One real regression in splats-with-mixed-vl.ll due to a different overly aggressive combine, fix in a follow up patch.
    * The test/CodeGen/X86/vector-replicaton-i1-mask.ll diff looked concerning at first, but not the mask size at most 4 i1s.  I think the type changes on the mask loads are correct, but would welcome a second opinion with someone more familiar with AVX512 codegen.
    
    Differential Revision: https://reviews.llvm.org/D158201
    topperc committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    770be43 View commit details
    Browse the repository at this point in the history
  26. [DAG] SimplifyDemandedBits - Use DemandedBits intead of OriginalDeman…

    …dedBits to when simplifying UMIN/UMAX to AND/OR.
    
    DemandedBits is forced to all ones if there are multiple users.
    
    The changes X86 test cases looks like they were miscompiles before.
    The value of eax/rax from the cmov is returned from the function in
    addition to being used by the sar. That usage needs all bits even
    though the sar doesn't.
    topperc committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    0a5347f View commit details
    Browse the repository at this point in the history
  27. Revert "[DAG] Fold insert_subvector undef, (extract_subvector X, 0), …

    …0 with non-matching types"
    
    This reverts commit 770be43.
    
    Forgot to remove from my tree while experimenting.
    topperc committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    bbbb93e View commit details
    Browse the repository at this point in the history
  28. [OpenMP] Add option to use different units for blocktime

    This change adds the option of using different units for blocktimes specified via the KMP_BLOCKTIME environment variable. The parsing of the environment now recognizes units suffixes: ms and us. If a units suffix is not specified, the default unit is ms. Thus default behavior is still the same, and any previous usage still works the same. Internally, blocktime is now converted to microseconds everywhere, so settings that exceed INT_MAX in microseconds are considered "infinite".
    
    kmp_set/get_blocktime are updated to use the units the user specified with KMP_BLOCKTIME, and if not specified, ms are used.
    
    Added better range checking and inform messages for the two time units. Large values of blocktime for default (ms) case (beyond INT_MAX/1000) are no longer allowed, but will autocorrect with an INFORM message.
    
    The delay for determining ticks per usec was lowered.  It is now 1 million ticks which was calculated as ~450us based on 2.2GHz clock which is pretty typical base clock frequency on X86:
    (1e6 Ticks)  /  (2.2e9 Ticks/sec)  *  (1e6 usec/sec)  =  454 usec
    Really short benchmarks can be affected by longer delay.
    
    Update KMP_BLOCKTIME docs.
    
    Portions of this commit were authored by Johnny Peyton.
    
    Differential Revision: https://reviews.llvm.org/D157646
    TerryLWilmarth committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    f0221fb View commit details
    Browse the repository at this point in the history
  29. [flang] Add PowerPC vec_lxv, vec_lvsl, vec_lvsr, vec_xl, vec_xl_be an…

    …d vec_xlds intrinsic
    
    Differential Revision: https://reviews.llvm.org/D157920
    kkwli committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    2de024e View commit details
    Browse the repository at this point in the history
  30. [Driver] Add PIE support on Solaris

    `clang` currently lacks PIE support on Solaris.  This patch fixes this,
    also linking with `crtbeginS.o` and `crtendS.o` for `-pie` and `-shared`.
    
    Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and
    `x86_64-pc-linux-gnu`.
    
    Differential Revision: https://reviews.llvm.org/D158206
    rorth committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    62945bb View commit details
    Browse the repository at this point in the history
  31. Merge from 'sycl' to 'sycl-web'

    iclsrc committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    6fbfbb6 View commit details
    Browse the repository at this point in the history
  32. Removed whitespace that made "grep -rnI '[[:blank:]]$' clang/lib clan…

    …g/include clang/docs" fail
    AntonRydahl committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    630ba7d View commit details
    Browse the repository at this point in the history
  33. Merge from 'main' to 'sycl-web' (120 commits)

      CONFLICT (content): Merge conflict in clang/lib/CodeGen/CGDebugInfo.cpp
    tylanphear committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    f4ba1f3 View commit details
    Browse the repository at this point in the history
  34. [DAG] Fold insert_subvector undef, (extract_subvector X, 0), 0 with n…

    …on-matching types
    
    We have an existing DAG combine for when an insert/extract subvector pair is entirely a nop, but we hadn't handled the case where the net result was either an insert or an extract (but not both). The transform is restricted to index = 0 to avoid having to adjust indices after the transform.
    
    Differential Revision: https://reviews.llvm.org/D158201
    preames committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    67b71ad View commit details
    Browse the repository at this point in the history
  35. [CodeGen] Use the TII hook for Noop insertion in BBSections (NFC)

    Refactor BasicBlockSections to use the target-specific noop insertion
    hook from TargetInstrInfo instead of building it ourselves. Using the
    TII hook is both cleaner and makes it easier to extend BBSections to
    non-X86 targets.
    
    Differential Revision: https://reviews.llvm.org/D158303
    dhoekwater committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    ca72b0a View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    80ce7ce View commit details
    Browse the repository at this point in the history
  37. [DAG] Restrict insert_subvector undef, splat_veector, dontcare transform

    On the extract_subvector side, we already have the restriction. With D158201, we'd start getting unprofitable splat combines unless we add the same one on the extract_subvector side.
    
    Differential Revision: https://reviews.llvm.org/D158202
    preames committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    92e0c0d View commit details
    Browse the repository at this point in the history
  38. [RISCV] Fix a UBSAN failure for passing INT64_MIN to std::abs.

    clang recently started checking for INT64_MIN being passed to 64-bit std::abs.
    
    Reviewed By: MaskRay
    
    Differential Revision: https://reviews.llvm.org/D158304
    topperc committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    078eb4b View commit details
    Browse the repository at this point in the history
  39. [lldb/crashlog] Add test for 8f75c4d (NFC)

    Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
    medismailben committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    7602641 View commit details
    Browse the repository at this point in the history
  40. [lldb/crashlog] Replace deprecated optparse by argparse (NFC)

    This patch replace the deprecated `optparse` module used for the
    `crashlog`& `save_crashlog` commands with the new `argparse` from the
    python standard library. This provides many benefits such as showing the
    default values for each option in the help description, but also greatly
    improve the handling of position arguments.
    
    Differential Revision: https://reviews.llvm.org/D157849
    
    Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
    medismailben committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    eef5ead View commit details
    Browse the repository at this point in the history
  41. [lldb/crashlog] Fix module loading for crashed thread behaviour

    Before 27f27d1, the `crashlog` command would always load images even
    if `-a` or `-c` was not set by the user.
    
    Since that change, images are loaded only when one of these 2 flags are
    set, otherwise, we fallback to parsing the symbols from the report and
    load them into a `SymbolFileJSON`.
    
    Although that makes it way faster than pulling binaries and debug
    symbols from build records, that cause a degraded experience since none
    of our users are used to set these 2 flags. For instance, that would
    symbolicate the backtraces, however the users wouldn't see sources.
    
    To address that change of behavior, this patch changes the default value
    for the `-c|--crash-only` flag to `true`. On the other hand, thanks to
    the move to `argparse`, we introduced a new `--no-only-crashed` flag
    that will let the user force skipping loading any images, relying only
    on the `SymbolFileJSON`.
    
    This gives the users a good compromise since they would be able to see
    sources for the crashed thread if they're available, otherwise, they'll
    only get a symbolicated backtrace.
    
    Differential Revision: https://reviews.llvm.org/D157850
    
    Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
    medismailben committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    21a597c View commit details
    Browse the repository at this point in the history
  42. [lldb/crashlog] Remove dead code (NFC)

    This patch cleans up the crashlog.py script and removes dead code.
    
    Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
    medismailben committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    3054a0c View commit details
    Browse the repository at this point in the history
  43. [lldb/crashlog] Add support for Last Exception Backtrace

    This patch adds support to the "Last Exception Backtrace" to the
    `crashlog` command.
    
    This metadata is homologous to the "Application Specific Backtrace",
    however the format is closer to a regular stack frame.
    
    Since the thread that "contains" the "Last Exception Backtrace" doesn't
    really exist, this information is displayed when requesting an extended
    backtrace of the crashed thread, similarly to the "Application Specific
    Backtrace".
    
    To achieve that, this patch includes some refactors and fixes to the
    existing "Application Specific Backtrace" handling.
    
    rdar://113046509
    
    Differential Revision: https://reviews.llvm.org/D157851
    
    Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
    medismailben committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    4c4f0d8 View commit details
    Browse the repository at this point in the history
  44. [lldb/crashlog] Skip non-crashed threads in batch mode

    When using the `crashlog` command in batch mode, most users only care
    about the crashed thread and end up having to scroll past all the
    non-crashed threads, which is not a good user experience.
    
    Now that `-c|--crashed-only` is set by default, we should also apply
    that behavior for batch mode: Only the crashed thread and "Application
    Specific Backtrace" threads will be shown to the user in batch mode.
    
    The user will still have the ability to show all the threads if they use
    `--no-crashed-only` which will parse the symbols from the report, or
    with `-a|--load-all-images` which will fetch binaries and debug info
    from the build record and symbolicate every thread.
    
    rdar://106329893
    
    Differential Revision: https://reviews.llvm.org/D157852
    
    Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
    medismailben committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    9a44eed View commit details
    Browse the repository at this point in the history
  45. Revert "Respect integer overflow handling in abs builtin"

    This reverts commit 1783185,
    which broke the buildbots, starting with when it was first built in https://lab.llvm.org/buildbot/#/builders/85/builds/18390
    
    (N.B. I think the patch is uncovering real bugs; the revert
    is simply to keep the tree green and the buildbots useful, because I'm not confident how to
    fix-forward all the found bugs.)
    thurstond committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    fc06cce View commit details
    Browse the repository at this point in the history
  46. [libc++][NFC] Refactor enable_ifs in defaulted arguments to defaulted…

    … template arguments
    
    This brings most of the enable_ifs in libc++ to the same style. It also has the nice side-effect of reducing the size of names of these symbols, since the arguments don't get mangled anymore.
    
    Reviewed By: #libc, Mordante
    
    Spies: Mordante, libcxx-commits
    
    Differential Revision: https://reviews.llvm.org/D157748
    philnik777 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    4da76ea View commit details
    Browse the repository at this point in the history
  47. [NFCi][MergeFunctions] Consolidate Hashing Functions

    A couple years ago, StructuralHash was created, copying the exact
    hashing implementation from FunctionComparator (minus a couple small
    details/refactorings). Since then, the hashing implementation has not
    diverged, but several other areas, like unit testing, have diverged
    significantly, with StructuralHash getting more attention in these
    areas. This patch aims to consolidate the two hashing functions into
    StructuralHash given they do the exact same thing and having less
    divergence in areas like unit testing would be beneficial.
    
    The original aim at creating a separate StructuralHash was to make the
    implementation divergent and capture additional details like instruction
    operands (which neither hashing implementation does currently). The
    MergeFunctions pass doesn't need these detaisl, but verification of pass
    return values would benefit from this additional data. Setting an option
    to calculate these values would allow for divergent behavior where
    appropriate while reducing code duplication with little runtime
    overhead.
    
    Reviewed By: aeubanks
    
    Differential Revision: https://reviews.llvm.org/D158217
    boomanaiden154 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    28134a2 View commit details
    Browse the repository at this point in the history
  48. [llvm-readobj] Fix std::abs overflow after D156821

    Tested by llvm/test/tools/llvm-readobj/ELF/relocations.test
    MaskRay committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    07bb667 View commit details
    Browse the repository at this point in the history
  49. Re-land "[-Wunsafe-buffer-usage][NFC] Slightly refactor and optimize …

    …the code"
    
    This reverts commit ac9a76d.
    
    Previously an abstract class has no pure virtual function.  It causes build error on some bots.
    ziqingluo-90 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    472a510 View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    07181e2 View commit details
    Browse the repository at this point in the history
  51. [FunctionPropertiesAnalysis] Add operand type counts

    This patch adds operand type counts to the detailed function properties
    analysis. This is intended to enable more interesting and detailed
    comparisons across different languages on specific metrics (like usage
    of inline assembly or global values).
    
    Reviewed By: jdoerfert
    
    Differential Revision: https://reviews.llvm.org/D158018
    boomanaiden154 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    b8f191e View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    6a0e536 View commit details
    Browse the repository at this point in the history
  53. [ARM] Fix abs overflow when encoding instructions like strb r1, [r0],…

    … #-0
    
    Tested by llvm/test/MC/ARM/basic-thumb2-instructions.s.
    Caught by newer -fsanitize=signed-integer-overflow (D156821).
    MaskRay committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    d8900f6 View commit details
    Browse the repository at this point in the history
  54. [clang][ExtractAPI] Add support for C++ class templates and concepts

    Add has_template template, DeclarationFragmentBuilder functions, and tests for class templates, specializations/partial specs, and concepts.
    
    Depends on D157007
    
    Reviewed By: dang
    
    Differential Revision: https://reviews.llvm.org/D157076
    evelez7 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    7ba37f4 View commit details
    Browse the repository at this point in the history
  55. [dsymutil] Fix stdio data races (NFC)

    When processing multiple architectures in parallel, we need to protect
    access to stdio with a mutex. We already have a mutex for that purpose,
    but it was only used in the DWARFLinker. This patch protects writes to
    stdio in driver.
    JDevlieghere committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    74727a4 View commit details
    Browse the repository at this point in the history
  56. [TTI]Add InsertSubvector pattern in improveShuffleKindFromMask().

    It improves shuffle instructions estimation and improves vectorization
    outcome.
    
    Differential Revision: https://reviews.llvm.org/D157425
    alexey-bataev committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    9a20757 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    8842d7e View commit details
    Browse the repository at this point in the history
  58. [clang][ExtractAPI] Add support for C++ variable templates

    Serialize global C++ variable templates and specializations.
    
    Depends on D157076
    
    Reviewed By: dang
    
    Differential Revision: https://reviews.llvm.org/D157350
    evelez7 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    8d8c898 View commit details
    Browse the repository at this point in the history
  59. [lldb] Move Continuous Integration documentation under Testing

    The current "Continuous Integration" is pretty scarce. All we really
    need is a link to buildbot and GreenDragon. Move this under testing.
    JDevlieghere committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    12db5c2 View commit details
    Browse the repository at this point in the history
  60. [WebAssembly] Create separation between MC and CodeGen layers

    Move WebAssemblyUtilities from Utils to the CodeGen library. It
    primarily deals in MIR layer types, so it really lives in the CodeGen
    library.
    
    Move a variety of other things around to try create better separation.
    
    See issue #64166 for more info on layering.
    
    Move llvm/include/CodeGen/WasmAddressSpaces.h back to
    llvm/lib/Target/WebAssembly/Utils.
    
    Differential Revision: https://reviews.llvm.org/D156472
    rnk committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    984dc4b View commit details
    Browse the repository at this point in the history
  61. [lldb] Rename "Projects" to "Open Projects" in the docs

    Make it more obvious that these are project ideas rather than say
    ongoing projects.
    JDevlieghere committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    cf6d16f View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    cd09089 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    3364d76 View commit details
    Browse the repository at this point in the history
  64. LowLevelType: replace a reachable llvm_unreachable with assert

    assert is more appropriate here and fixes
    `runtime error: execution reached an unreachable program point` in a
    -DLLVM_USE_SANITIZER=Undefined build (-fno-sanitize-recover=all causes
    llc to exit instead of crash (report_fatal_error)) when testing
    MachineVerifier/test_g_assert_[sz]ext.mir.
    MaskRay committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    a7e20dd View commit details
    Browse the repository at this point in the history
  65. Get LLDB building with clang-6 on Ubuntu 18.04

    This patch gets clang-6 building with LLDB. The move from makeArrayRef
    to deduction guides in 984b800 is
    tripping up clang-6 on Ubuntu 18.04.
    
    Related to issue #64782.
    etcwilde committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    8806b4f View commit details
    Browse the repository at this point in the history
  66. [OpenMP] Always pass the optimization level to the linker wrapper

    The linker wrapper runs LTO internally, so it needs to know the
    optimization level the user requested, if any. Previously this was only
    done in `-foffload-lto` mode as we were assuming that this would enble
    LTO. However, AMDGPU always performs LTO, and it's possible to run clang
    on object files to link without passing this flag. So we should just
    respect it always.
    
    Reviewed By: jdoerfert
    
    Differential Revision: https://reviews.llvm.org/D158298
    jhuber6 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    4ab4e40 View commit details
    Browse the repository at this point in the history
  67. [lldb/test] Fix TestSaveCrashlog.py following changes in eef5ead

    This patch fixes TestSaveCrashlog.py failure introduces by eef5ead,
    which restricts the number of positional argument for the output file to 1.
    
    I expected to get the output file but `argparse` puts the object in a
    list (even by constrained to a singled positional argument).
    
    Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
    medismailben committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    a3e6ac1 View commit details
    Browse the repository at this point in the history
  68. Align mach exception data before accessing it

    The mach exception data may not be doubleword aligned when we receive
    it.  We use memcpy to align it later in this method when we save
    the data, but for printing the value at the top, we need to do the
    same or ubsan can trigger when LOG_EXCEPTIONS is enabled in
    debugserver.
    jasonmolenda committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    b10c2f8 View commit details
    Browse the repository at this point in the history
  69. Revert "Align mach exception data before accessing it"

    This reverts commit b10c2f8.
    
    Need to add the phabracator line to the message.
    jasonmolenda committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    ef70f5c View commit details
    Browse the repository at this point in the history
  70. Align mach exception data before accessing it

    The mach exception data may not be doubleword aligned when we receive
    it.  We use memcpy to align it later in this method when we save
    the data, but for printing the value at the top, we need to do the
    same or ubsan can trigger when LOG_EXCEPTIONS is enabled in
    debugserver.
    
    Differential Revision: https://reviews.llvm.org/D158312
    jasonmolenda committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    1a2122e View commit details
    Browse the repository at this point in the history
  71. [lldb] Shorten "DWARF Extensions supported by LLDB" in the docs

    Shorten "DWARF Extensions supported by LLDB" to just "DWARF Extension".
    JDevlieghere committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    b6e148f View commit details
    Browse the repository at this point in the history
  72. Reland "[lld] Preliminary fat-lto-object support"

    This patch adds support to lld for --fat-lto-objects. We add a new
    --fat-lto-objects option to LLD, and slightly change how it chooses input
    files in the driver when the option is set.
    
    Fat LTO objects contain both LTO compatible IR, as well as generated object
    code. This allows users to defer the choice of whether to use LTO or not to
    link-time. This is a feature available in GCC for some time, and makes the
    existing -ffat-lto-objects option functional in the same way as GCC's.
    
    If the --fat-lto-objects option is passed to LLD and the input files are fat
    object files, then the linker will chose the LTO compatible bitcode sections
    embedded within the fat object and link them together using LTO. Otherwise,
    standard object file linking is done using the assembly section in the object
    files.
    
    The previous version of this patch had a missing `REQUIRES: x86` line in
    `fatlto.invalid.s`. Additionally, it was reported that this patch caused
    a test failure in `export-dynamic-symbols.s`, however,
    29112a9 disabled the
    `export-dynamic-symbols.s` test on Windows due to a quotation difference
    between platforms, unrelated to this patch.
    
    Original RFC: https://discourse.llvm.org/t/rfc-ffat-lto-objects-support/63977
    
    Reviewed By: MaskRay
    
    Differential Revision: https://reviews.llvm.org/D146778
    ilovepi committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    14e3bec View commit details
    Browse the repository at this point in the history
  73. Reland "[gold] Add preliminary FatLTO support to the Gold plugin""

    This changes the definition if isSectionBitcode to only be valid for the
    .llvm.lto section, since this API is only called from LTO, and the
    .llvmbc section was not intended to be used for LTO. This allows the
    gold plugin to keep its existing behavior without introducing any
    significant changes.
    
    Reviewed By: MaskRay, nikic
    
    Differential Revision: https://reviews.llvm.org/D152973
    ilovepi committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    6b539f5 View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    0c60b4b View commit details
    Browse the repository at this point in the history
  75. [ubsan][test] Remove unused lit feature arch=config.target_arch

    Obsoleted by target=
    MaskRay committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    dd7fb51 View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    e651c19 View commit details
    Browse the repository at this point in the history
  77. Fix scf-to-cfg conversion for IndexSwitchOp

    Reviewed By: mehdi_amini
    
    Differential Revision: https://reviews.llvm.org/D158212
    ezhulenev committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    03b43d3 View commit details
    Browse the repository at this point in the history
  78. Disable stdin/stdout for environment_check inferior process

    To work around an address sanitizer issue on macOS where
    environment_check prints a spurious stderr msg when executing,
    
    environment_check(41292,0x113e7a600) malloc: nano zone abandoned due to inability to preallocate reserved vm space.
    
    And TestClient::Continue() which intends to continue to exit
    instead sees the stderr output streamed, and doesn't handle that
    unexpected output.  Easiest to disable stdin/stdout for this
    one test case to avoid this corner case issue with this TestClient.cpp
    way of expecting a stop reply packet after continuing.
    
    Differential Revision: https://reviews.llvm.org/D158237
    jasonmolenda committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    18b211c View commit details
    Browse the repository at this point in the history
  79. [Attributor] Introduce AAIndirectCallInfo

    AAIndirectCallInfo will collect information and specialize indirect call
    sites. It is similar to our IndirectCallPromotion but runs as part of
    the Attributor (so with assumed callee information). It also expands
    more calls and let's the rest of the pipeline figure out what is UB, for
    now. We use existing call promotion logic to improve the result,
    otherwise we rely on the (implicit) function pointer cast.
    
    This effectively "fixes" #60327 as it will undo the type punning early
    enough for the inliner to work with the (now specialized, thus direct)
    call.
    
    Fixes: llvm/llvm-project#60327
    jdoerfert committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    9c08e76 View commit details
    Browse the repository at this point in the history
  80. [lldb] Fix data race in ThreadList

    ThreadSanitizer reports the following issue:
    
    ```
      Write of size 8 at 0x00010a70abb0 by thread T3 (mutexes: write M0):
        #0 lldb_private::ThreadList::Update(lldb_private::ThreadList&) ThreadList.cpp:741 (liblldb.18.0.0git.dylib:arm64+0x5dedf4) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00)
        #1 lldb_private::Process::UpdateThreadListIfNeeded() Process.cpp:1212 (liblldb.18.0.0git.dylib:arm64+0x53bbec) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00)
    
      Previous read of size 8 at 0x00010a70abb0 by main thread (mutexes: write M1):
        #0 lldb_private::ThreadList::GetMutex() const ThreadList.cpp:785 (liblldb.18.0.0git.dylib:arm64+0x5df138) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00)
        #1 lldb_private::ThreadList::DidResume() ThreadList.cpp:656 (liblldb.18.0.0git.dylib:arm64+0x5de5c0) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00)
        #2 lldb_private::Process::PrivateResume() Process.cpp:3130 (liblldb.18.0.0git.dylib:arm64+0x53cd7c) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00)
    ```
    
    Fix this by only using the mutex in ThreadList and removing the one in
    process entirely.
    
    Differential Revision: https://reviews.llvm.org/D158034
    augusto2112 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    bb90063 View commit details
    Browse the repository at this point in the history
  81. [lldb] Fix data race in Process

    Thread sanitizer reports a data race in Process.cpp in the usage of
    m_process_input_reader. Fix this data race by introducing a mutex
    guarding the access to this variable.
    
    Differential Revision: https://reviews.llvm.org/D157648
    augusto2112 committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    79a8e00 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2023

  1. [clang-tidy]pro-bounds-array-to-pointer-decay ignore predefined exp…

    …ression
    
    cast PredefinedExpr such as `__func__` to const char* should be accpetted.
    
    Reviewed By: PiotrZSL
    
    Differential Revision: https://reviews.llvm.org/D158244
    HerrCai0907 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    9be33de View commit details
    Browse the repository at this point in the history
  2. [RISCV][GISel] Lower G_UADDE, G_UADDO, G_USUBE, and G_USUBO

    RISC-V doesn't have flag registers, we need to implement these
    with add/sub and compares.
    
    Remove the untested legalization for the signed versions. We can
    add it back when we write tests.
    
    Reviewed By: nitinjohnraj
    
    Differential Revision: https://reviews.llvm.org/D157772
    topperc committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    3e56988 View commit details
    Browse the repository at this point in the history
  3. [clang][ExtractAPI] Add support for C++ global function templates

    Add records, serialization for global function templates and their specializations
    
    Depends on D157350
    
    Reviewed By: dang
    
    Differential Revision: https://reviews.llvm.org/D157579
    evelez7 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    80b787e View commit details
    Browse the repository at this point in the history
  4. [-Wunsafe-buffer-usage][NFC] Refactor getFixIts---where fix-its are…

    … generated
    
    Refactor the getFixIts function for better readability.
    
    Reviewed by: NoQ (Artem Dergachev), t-rasmud (Rashmi Mudduluru)
    
    Differential revision: https://reviews.llvm.org/D156762
    ziqingluo-90 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    acc8a33 View commit details
    Browse the repository at this point in the history
  5. [clang][test] Refine clang machine-function-split tests.

    This CL includes two changes:
    1. moved clang backend-warnings test cases from Driver/ to CodeGen/.
    2. removed multiple `cd "$(dirname "%t")"` and replaced with `-o %t`.
    
    Reviewed By: maskray (Fangrui Song)
    Differential Revision: https://reviews.llvm.org/D157565
    shenhanc78 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    b9d079d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3e69886 View commit details
    Browse the repository at this point in the history
  7. [RISCV][GISel] Initial legalization support for G_LOAD and G_STORE.

    This patch focuses on power of 2 bytes up to 2x XLen with and without alignment. Other cases will be handled in future patches.
    
    Reviewed By: nitinjohnraj
    
    Differential Revision: https://reviews.llvm.org/D157828
    topperc committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    92464cc View commit details
    Browse the repository at this point in the history
  8. [clangd] Bail gracefully if given an assembly or IR source file

    The previous behaviour is to try to parse such files, and in some
    cases assert or hang in components that don't expect these forms of
    input, like TokenBuffer.
    
    Fixes llvm/llvm-project#62090
    
    Differential Revision: https://reviews.llvm.org/D149236
    HighCommander4 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    744b111 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8ee710a View commit details
    Browse the repository at this point in the history
  10. [M68k] Add MC support for bchg, bclr and bset instruction

    Reviewed By: myhsu
    
    Differential Revision: https://reviews.llvm.org/D116993
    tclin914 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    974c639 View commit details
    Browse the repository at this point in the history
  11. MIPS: unwind, don't save/restore hi/lo for R6

    HI/LO registers have been removed in MIPSr6. Save and restore them only for pre-R6.
    
    We keep the memory space for the registers so that we can use the same register indexes for
    r6 and pre-r6.
    
    Fixes: #60682
    
    Reviewed By: compnerd
    
    Differential Revision: https://reviews.llvm.org/D156283
    wzssyqa authored and brad0 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    22a8402 View commit details
    Browse the repository at this point in the history
  12. [RISCV] Rename Ventana DecoderNamespace to XVentana for matching othe…

    …r extension. NFC.
    
    All of them have prefix 'X' in DecoderNamespace.
    tclin914 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    f3c0eae View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    3e19416 View commit details
    Browse the repository at this point in the history
  14. [OpenMP][AMDGPU] Add "amdgpu-flat-work-group-size" for known thread c…

    …ounts
    
    If we know the thread count statically and it is a constant, we can set
    the "amdgpu-flat-work-group-size" kernel attribute.
    
    Fixes llvm/llvm-project#64816 in parts.
    jdoerfert committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    df8d33f View commit details
    Browse the repository at this point in the history
  15. [DAGCombiner] Don't reduce BUILD_VECTOR to BITCAST before LegalizeTyp…

    …es if VT is legal.
    
    Targets may lose some optimization opportunities for certain vector operation
    if we reduce BUILD_VECTOR to BITCAST early.
    
    And if VT is not legal, reduce BUILD_VECTOR to BITCAST before LegailizeTypes
    can get benefit. Because type-legalizer often scalarizes illegal type of vectors.
    
    Reviewed By: sebastian-ne
    
    Differential Revision: https://reviews.llvm.org/D156645
    tclin914 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    18f5ada View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    11e2975 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    f237da1 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    394eeb6 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    51c9f12 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    2fbbb7e View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    519ea98 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    fbaf5cb View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    b627bde View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    d188916 View commit details
    Browse the repository at this point in the history
  25. [LoongArch] Add LSX intrinsic support

    For handling intrinsics, our approach is not simply to match them
    one-to-one with instructions. Instead, we lower some intrinsics
    to common nodes and then perform matching. The advantage of this
    approach is that it allows us to fully utilize the passes available
    at the common layer for optimizing purposes.
    
    We perform error checks on the immediate operand of all intrinsics,
    rather than waiting until the end to throw exceptions.
    
    Reviewed By: SixWeining
    
    Differential Revision: https://reviews.llvm.org/D155829
    wangleiat committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    53141b2 View commit details
    Browse the repository at this point in the history
  26. [LoongArch] Add LASX intrinsic support

    This patch is similar to D155829.
    
    Depends on D155829
    
    Reviewed By: SixWeining
    
    Differential Revision: https://reviews.llvm.org/D155830
    wangleiat committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    691f0d0 View commit details
    Browse the repository at this point in the history
  27. [LoongArch] Add LSX intrinsic testcases

    Depends on D155829
    
    Reviewed By: SixWeining
    
    Differential Revision: https://reviews.llvm.org/D155834
    leecheechen authored and wangleiat committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    f3aa441 View commit details
    Browse the repository at this point in the history
  28. [LoongArch] Add LASX intrinsic testcases

    Depends on D155830
    
    Reviewed By: SixWeining
    
    Differential Revision: https://reviews.llvm.org/D155835
    leecheechen authored and wangleiat committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    83311b2 View commit details
    Browse the repository at this point in the history
  29. [LoongArch] Add testcases of LASX intrinsics with immediates

    The testcases mainly cover three situations:
    - the arguments which should be immediates are non immediates.
    - the immediate is out of upper limit of the argument type.
    - the immediate is out of lower limit of the argument type.
    
    Depends on D155830
    
    Reviewed By: SixWeining
    
    Differential Revision: https://reviews.llvm.org/D157571
    leecheechen authored and wangleiat committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    82bbf70 View commit details
    Browse the repository at this point in the history
  30. [LoongArch][MC] Add invalid immediate testcases for LSX instructions

    Reviewed By: SixWeining
    
    Differential Revision: https://reviews.llvm.org/D157573
    leecheechen authored and wangleiat committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    2f4b669 View commit details
    Browse the repository at this point in the history
  31. [LoongArch][MC] Add invalid immediate testcases for LASX instructions

    Reviewed By: SixWeining
    
    Differential Revision: https://reviews.llvm.org/D157574
    leecheechen authored and wangleiat committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    d163ae8 View commit details
    Browse the repository at this point in the history
  32. [SCF][Transform] Add transform.loop.fuse_sibling

    This patch adds a new transform operation `transform.loop.fuse_sibling`,
    which given two loops, fuses them, assuming that they are independent.
    The transform operation itself performs very basic checks to ensure
    IR legality, and leaves the responsibility of ensuring independence on the user.
    
    Reviewed By: ftynse
    
    Differential Revision: https://reviews.llvm.org/D157069
    Groverkss committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    9aaf007 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    a67072e View commit details
    Browse the repository at this point in the history
  34. [Reland][DWARFLinkerParallel] Add limited functionality to DWARFLinke…

    …rParallel.
    
    This patch is extracted from D96035, it adds support for the existing
    DWARFLinker functionality. What is not supported yet:
    
    1. Types deduplication(--odr mode).
    2. Modules deduplication.
    3. Generation of index tables.
    
    Differential Revision: https://reviews.llvm.org/D153268
    avl-llvm committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    0229dd0 View commit details
    Browse the repository at this point in the history
  35. [gn build] Port 0229dd0

    llvmgnsyncbot committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    65f2596 View commit details
    Browse the repository at this point in the history
  36. [MLIR][Presburger] Implement getDomainSet and getRangeSet for Presbur…

    …gerRelation
    
    This patch implements getDomainSet and getRangeSet for PresburgerRelation
    
    Reviewed By: Groverkss
    
    Differential Revision: https://reviews.llvm.org/D158263
    iambrj authored and Groverkss committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    8663915 View commit details
    Browse the repository at this point in the history
  37. [clang][NFC] Remove redundant whitespaces

    This breaks the clang check-format on CI.
    
    + grep -rnI '[[:blank:]]$' clang/lib clang/include clang/docs
    clang/lib/Analysis/UnsafeBufferUsage.cpp:2277:#endif
    zyn0217 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    69a8636 View commit details
    Browse the repository at this point in the history
  38. [docs] Fix include-what-you-use example

    The --mapping_file switch was missing; the example would have been
    rejected.
    
    Reviewed By: #libc, Mordante
    
    Differential Revision: https://reviews.llvm.org/D157785
    kimgr authored and mordante committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    eac0b67 View commit details
    Browse the repository at this point in the history
  39. [NFC][libc++] Removes no longer existing define.

     _LIBCPP_HAS_NO_INCOMPLETE_FORMAT has been removed from libc++ for a
    while now.
    mordante committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    f471b49 View commit details
    Browse the repository at this point in the history
  40. [clang][Diagnostics] Provide source range to integer-overflow warnings

    BEFORE:
    
    ```
    overflow.cpp:1:21: warning: overflow in expression; result is -2147483648 with type 'int' [-Winteger-overflow]
        1 | int x = __INT_MAX__ + 1 + 3;
          |                     ^
    overflow.cpp:2:9: warning: overflow in expression; result is -2147483648 with type 'int' [-Winteger-overflow]
        2 | int a = -(1 << 31) + 1;
          |         ^
    ```
    AFTER:
    
    ```
    overflow.cpp:1:21: warning: overflow in expression; result is -2147483648 with type 'int' [-Winteger-overflow]
        1 | int x = __INT_MAX__ + 1 + 3;
          |         ~~~~~~~~~~~~^~~
    overflow.cpp:2:9: warning: overflow in expression; result is -2147483648 with type 'int' [-Winteger-overflow]
        2 | int a = -(1 << 31) + 1;
          |         ^~~~~~~~~~
    ```
    
    Reviewed By: tbaeder
    Differential Revision: https://reviews.llvm.org/D157383
    hazohelet committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    985a72b View commit details
    Browse the repository at this point in the history
  41. clang: Make rewrite-includes-macros.cpp runnable on non-Win

    As far as I can tell, there's nothing Windows-specific about the
    test and it passes fine on other platforms.
    
    I found this test when running
    
        rg clang_cl clang/test | rg '%s' | rg -v -- ' -- ' | rg -v not
    
    after 547ee1c to see if other tests were missing `--`
    before `%s` in `%clang_cl` invocations. This was the only one.
    Since it used to run only on Windows, it wasn't needed, but as far
    as I can tell there's no reason to run it only on Windows.
    
    Differential Revision: https://reviews.llvm.org/D158279
    nico committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    960881a View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    9517afe View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    c74b206 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    f10125b View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    5fcecea View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    d27614e View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    d85993d View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    5675f44 View commit details
    Browse the repository at this point in the history
  49. [VPlan] Inline buildScalarSteps in single user (NFC).

    Other users have been refactored, remove the uneeded function.
    fhahn committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    622b611 View commit details
    Browse the repository at this point in the history
  50. [mlir][NFC] Split OpBase.td into multiple smaller units

    This patch splits OpBase.td into smaller files, focusing on individual,
    implementations of functionalities.
    
    This patch is marked NFC, as it just splits the implementation into multiple
    files and includes them back into OpBase.td, so it doesn't break anything.
    
    Most of the patch is mechanical, with chunks of implementation being shifted
    into indvidual files. The main things to look out are:
      - Classes and Definations added to Utils.td
      - Headers of files
      - Any thing that should have been split but isn't
    
    Reviewed By: rriddle, Mogball
    
    Differential Revision: https://reviews.llvm.org/D156067
    Groverkss committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    b448fe0 View commit details
    Browse the repository at this point in the history
  51. [libc++] Fixes disabling wide character.

    While testing the std module with -DLIBCXX_ENABLE_WIDE_CHARACTERS=OFF
    the build failed. These functions are not exported from the module since
    they use wchar_t. Disable them in the headers too.
    
    Reviewed By: #libc, philnik
    
    Differential Revision: https://reviews.llvm.org/D158199
    mordante committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    1eb90b9 View commit details
    Browse the repository at this point in the history
  52. [bazel] Add new files from b448fe0

    d0k committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    e51b21a View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    e940926 View commit details
    Browse the repository at this point in the history
  54. [RISCV][GISel] Make s32 a legal type for RV64 for any operation that …

    …has a W version.
    
    My thought is that we can directly select W instructions using s32.
    
    This will likely require combines and other optimizations eventually,
    but this makes a simple starting point.
    
    I'm slowly prototyping a similar approach for SelectionDAG.
    
    Reviewed By: reames
    
    Differential Revision: https://reviews.llvm.org/D157770
    topperc committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    b41e75c View commit details
    Browse the repository at this point in the history
  55. Revert "[NFCi][MergeFunctions] Consolidate Hashing Functions"

    This reverts commit 28134a2.
    
    This patch was causing build failures on multiple buildbots on 32-bit
    architectures. Reverting now so I can deboug out-of-trunk and resubmit
    later.
    boomanaiden154 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    7ff7df1 View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    46eded7 View commit details
    Browse the repository at this point in the history
  57. [libc++] Make everything in namespace std have default type visibilit…

    …y and hidden visibility and remove _LIBCPP_ENUM_VIS
    
    This avoids having to add `_LIBCPP_ENUM_VIS`, since that is handled through `type_visibility` and GCC always makes the visibility of enums default. It also fixes and missing `_LIBCPP_EXPORTED_FROM_ABI` on classes when using Clang.
    
    Reviewed By: ldionne, #libc
    
    Spies: libcxx-commits
    
    Differential Revision: https://reviews.llvm.org/D153658
    philnik777 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    3583bf3 View commit details
    Browse the repository at this point in the history
  58. [libc++][NFC] Remove __has_keyword

    __has_keyword is almost not used anymore. There are only two cases. One can be replaced by __has_builtin and the other seems entirely redundant, so we can remove the definition.
    
    Reviewed By: #libc, Mordante
    
    Spies: Mordante, libcxx-commits
    
    Differential Revision: https://reviews.llvm.org/D158215
    philnik777 committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    cd34e89 View commit details
    Browse the repository at this point in the history
  59. [MC] Remove an unneeded Darwin x86_64 workaround

    The workaround (relocation suppression) from
    7b46bb8 (2011) has been unneeded after
    bfd0f01 (2014) removed
    `if (!A_base) return false;` and `if (!B_base) return false;`
    MaskRay committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    6521c40 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2023

  1. [clang][X86] Add __cpuidex function to cpuid.h

    MSVC has a __cpuidex function implemented to call the underlying cpuid
    instruction which accepts a leaf, subleaf, and data array that the output
    data is written into. This patch adds this functionality into clang
    under the cpuid.h header. This also makes clang match GCC's behavior.
    GCC has had __cpuidex in its cpuid.h since 2020.
    boomanaiden154 committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    58696d2 View commit details
    Browse the repository at this point in the history
  2. Reland "[NFCi][MergeFunctions] Consolidate Hashing Functions"

    This is a reland of 28134a2 which was
    reverted due to behavioral differences between 32 and 64 bit builds that
    have since been fixed.
    
    Differential Revision: https://reviews.llvm.org/D158217
    boomanaiden154 committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    64da0be View commit details
    Browse the repository at this point in the history
  3. Revert "[clang][X86] Add __cpuidex function to cpuid.h"

    This reverts commit 58696d2.
    
    Accidentally had this in my branch for my structural hash patch.
    boomanaiden154 committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    8b6f09e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d6cd49d View commit details
    Browse the repository at this point in the history
  5. [RISCV][NFC] Rename CVROR, NFC

    Previous commit on ALU made an error by changing CV_ROR to CVROR. Revert it.
    
    Reviewed By: craig.topper
    
    Differential Revision: https://reviews.llvm.org/D158261
    realqhc committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    fe42682 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e1dfbc4 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ebbedc4 View commit details
    Browse the repository at this point in the history
  8. [clang][Interp] Handle global composite temporaries

    We only did this for primitive temporaries.
    
    Unfortunately, the existing Pointer::toAPValue() won't do here, since
    we're expected to set an rvalue on the LifetimeExtendedTemporaryDecl.
    
    Differential Revision: https://reviews.llvm.org/D144457
    tbaederr committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    8a58f0d View commit details
    Browse the repository at this point in the history
  9. [clang][Interp] Fix lifetime diagnostics for dead records

    This used to crash the interpreter, either because we ran into the
    assertion in CheckMutable() or because we accessed a Descriptor* pointer
    preceding the field of a record. Those are preceded by an
    InlineDescriptor though.
    
    Differential Revision: https://reviews.llvm.org/D152132
    tbaederr committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    39236e9 View commit details
    Browse the repository at this point in the history
  10. [AArch64] Regenerate sve-fixed-length-fp-minmax.ll

    Should remove the D158053 diffs
    RKSimon committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    1b95661 View commit details
    Browse the repository at this point in the history
  11. [SwiftError] Use IMPLICIT_DEF as a definition for unreachable VReg uses

    SwiftErrorValueTracking creates vregs at swifterror use sites and then
    connects it with appropriate definitions after instruction selection.
    To propagate swifterror values SwiftErrorValueTracking::propagateVRegs
    iterates over basic blocks in RPO, but some vregs previously created
    at use sites may be located in blocks that became unreachable after
    instruction selection. Because of that there will no definition for
    such vregs and that may cause issues down the pipeline.
    
    To ensure that all vregs created by the SwiftErrorValueTracking will
    be defined propagateVRegs was updated to insert IMPLICIT_DEF at the
    beginning of unreachable blocks containing swifterror uses.
    
    Related issue: llvm/llvm-project#59751
    
    Reviewed By: compnerd
    
    Differential Revision: https://reviews.llvm.org/D141053
    fzhinkin committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    08d0b55 View commit details
    Browse the repository at this point in the history
  12. [AVR][BPF][Lanai][Xtensa] Replace OperandMatchResultTy with ParseStat…

    …us (NFC)
    
    ParseStatus is slightly more convenient to use due to implicit
    conversion from bool, which allows to do something like:
    ```
      return Error(L, "msg");
    ```
    when with MatchOperandResultTy it had to be:
    ```
      Error(L, "msg");
      return MatchOperand_ParseFail;
    ```
    It also has more appropriate name since parse* methods are not only for
    parsing operands.
    
    Reviewed By: MaskRay
    
    Differential Revision: https://reviews.llvm.org/D158275
    s-barannikov committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    0e79111 View commit details
    Browse the repository at this point in the history
  13. [clang][Interp] Rework initializers

    Before this patch, we had visitRecordInitializer() and
    visitArrayInitializer(), which were different from the regular visit()
    in that they expected a pointer on the top of the stack, which they
    initialized. For example, visitArrayInitializer handled InitListExprs by
    looping over the members and initializing the elements of that pointer.
    
    However, this had a few corner cases and problems. For example, in
    visitLambdaExpr() (a lambda is always of record type), it was not clear
    whether we should always create a new local variable to save the lambda
    to, or not. This is why https://reviews.llvm.org/D153616 changed
    things around.
    
    This patch changes the visiting functions to:
    
     - visit(): Always leaves a new value on the stack. If the expression
       can be mapped to a primitive type, it's just visited and the value is
       put on the stack. If it's of composite type, this function will
       create a local variable for the expression value and call
       visitInitializer(). The pointer to the local variable will stay on
       the stack.
    
     - visitInitializer(): Visits the given expression, assuming there is a
       pointer on top of the stack that will be initialized by it.
    
     - discard(): Visit the expression for side-effects, but don't leave a
       value on the stack.
    
    It also adds an additional Initializing flag to differentiate between the initializing and non-initializing case.
    
    Differential Revision: https://reviews.llvm.org/D156027
    tbaederr committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    6dfe555 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    b1aa7cd View commit details
    Browse the repository at this point in the history
  15. [libc++][expected] Implement LWG3836

    Implement LWG3836 (https://wg21.link/LWG3836)
    `std::expected<bool, E1>` conversion constructor `expected(const expected<U, G>&)` should take precedence over `expected(U&&)` with operator `bool`
    
    Reviewed By: #libc, Mordante
    
    Differential Revision: https://reviews.llvm.org/D155701
    yronglin committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    96377e5 View commit details
    Browse the repository at this point in the history
  16. [X86] Add test coverage for min/max signbit simplification

    If we're only demanding the signbit from a min/max then we can simplify this to a logic op
    RKSimon committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    ca10a6c View commit details
    Browse the repository at this point in the history
  17. [DAG] SimplifyDemandedBits - if we're only demanding the signbit, a S…

    …MIN/SMAX node can be simplified to a OR/AND node respectively.
    
    Alive2: https://alive2.llvm.org/ce/z/MehvFB
    
    REAPPLIED from 54d663d with fix for using the correct DemandedBits mask.
    RKSimon committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    95865e5 View commit details
    Browse the repository at this point in the history
  18. [libc++][doc] Marks LLVM-17 release notes as final.

    Reviewed By: #libc, philnik
    
    Differential Revision: https://reviews.llvm.org/D158340
    mordante committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    71a7192 View commit details
    Browse the repository at this point in the history
  19. [X86] Add test coverage for PR33879 (Issue #33226)

    Ensure we only use the eflags results from shift instructions when it won't cause stalls
    
    shift by variable causes stalls as it has to preserve eflags when the shift amount was zero, so we're better off using a separate test
    RKSimon committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    9405b67 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    2c090e9 View commit details
    Browse the repository at this point in the history
  21. Revert "[clang][test] Refine clang machine-function-split tests."

    This reverts commit b9d079d.
    Breaks tests on Windows, see https://reviews.llvm.org/D157565#4600939
    nico committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    3d22dac View commit details
    Browse the repository at this point in the history
  22. [mlir][irdl] Support variadicity check in operations

    This patch adds support for loading IRDL operations that are
    using optional or variadics operands and results.
    
    If an operation declares more than one optional/variadic operand
    or result, then it requires the segment sizes in the attribute
    dictionary, and otherwise it is computed using the number of
    operands or results.
    
    Currently, a variadic operand or result definiton expects all
    operands and results in that definition to have the same type.
    This restriction will be removed in a following patch.
    
    Depends on D153983
    
    Reviewed By: Mogball, unterumarmung
    
    Differential Revision: https://reviews.llvm.org/D154073
    math-fehr committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    62b2b39 View commit details
    Browse the repository at this point in the history
  23. [docs] Update the static analyzer bug reporting page

    I happened to notice this page (https://clang-analyzer.llvm.org/filing_bugs.html)
    was a bit stale, so I've updated and simplified it a bit.
    
    * The page is now explicitly in UTF-8 (NFC)
    * We no longer talk about Bugzilla and Apple's bug reporting tools, but
    instead link to GitHub's issues page
    * We now link to the general LLVM documentation on how to submit a bug
    
    Differential Revision: https://reviews.llvm.org/D158360
    AaronBallman committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    c4e4b64 View commit details
    Browse the repository at this point in the history
  24. [GlobalISel] introduce MIFlag::NoConvergent

    Some opcodes in MIR are defined to be convergent by the target by setting
    IsConvergent in the corresponding TD file. For example, in AMDGPU, the opcodes
    G_SI_CALL and G_INTRINSIC* are marked as convergent. But this is too
    conservative, since calls to functions that do not execute convergent operations
    should not be marked convergent. This information is available in LLVM IR.
    
    The new flag MIFlag::NoConvergent now allows the IR translator to mark an
    instruction as not performing any convergent operations. It is relevant only on
    occurrences of opcodes that are marked isConvergent in the target.
    
    Differential Revision: https://reviews.llvm.org/D157475
    ssahasra committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    ef38e6d View commit details
    Browse the repository at this point in the history
  25. Revert "[mlir][irdl] Support variadicity check in operations"

    This reverts commit 62b2b39.
    
    This is the error reported by the buildbot:
     /home/buildbots/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/mlir/lib/Dialect/IRDL/IRDLLoading.cpp:97:22: error: no member named 'reduce' in namespace 'std'
      int32_t sum = std::reduce(denseSegmentSizes.asArrayRef().begin(),
    
    Full details are available at:
        https://lab.llvm.org/buildbot#builders/21/builds/78689
    math-fehr committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    00aa1a8 View commit details
    Browse the repository at this point in the history
  26. [llvm][NFC] Refactor AutoUpgrade dbg case

    Consume the dbg. prefix before looking further. Also merge the matched
    path.
    
    Differential Revision: https://reviews.llvm.org/D158341
    
    Reviewed By: nikic
    urnathan committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    326280d View commit details
    Browse the repository at this point in the history
  27. [mlir][irdl] Support variadicity check in operations

    This patch adds support for loading IRDL operations that are
    using optional or variadics operands and results.
    
    If an operation declares more than one optional/variadic operand
    or result, then it requires the segment sizes in the attribute
    dictionary, and otherwise it is computed using the number of
    operands or results.
    
    Currently, a variadic operand or result definiton expects all
    operands and results in that definition to have the same type.
    This restriction will be removed in a following patch.
    
    Depends on D153983
    
    Reviewed By: Mogball, unterumarmung
    
    Differential Revision: https://reviews.llvm.org/D154073
    math-fehr committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    1295a35 View commit details
    Browse the repository at this point in the history
  28. [llvm][NFC] Refactor AutoUpdater case 'e'

    It is more efficient to gate on the prefix before checking for the
    individual cases. Also, the regexps weren't consistent about escaping '.'.
    
    Differential Revision: https://reviews.llvm.org/D157923
    
    Reviewed By: arsenm
    urnathan committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    d6a1388 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    bd31c36 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    7a68060 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    f01f2de View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    477457c View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    c6bcdc4 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    4d434f7 View commit details
    Browse the repository at this point in the history
  35. [mlir][CFGToSCF] Visit subregions in CFGToSCF pass

    This is useful when user already have partially-scf'ed IR or other ops with nested regions (e.g. linalg.generic).
    
    Also, improve error message and pass docs.
    
    Differential Revision: https://reviews.llvm.org/D158349
    Hardcode84 committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    0db1ae3 View commit details
    Browse the repository at this point in the history
  36. [Propeller] Deprecate Codegen paths for SHT_LLVM_BB_ADDR_MAP version 1.

    This patch removes the `getBBIDOrNumber` which was introduced to allow emitting version 1.
    
    Reviewed By: shenhan
    
    Differential Revision: https://reviews.llvm.org/D158299
    rlavaee committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    69e47de View commit details
    Browse the repository at this point in the history
  37. [LV] Move induction ::execute impls to VPlanRecipes.cpp (NFC).

    All dependencies on code from LoopVectorize.cpp have been
    removed/refactored. Move the ::execute implementations to other recipe
    definitions in VPlanRecipes.cpp
    fhahn committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    56f5738 View commit details
    Browse the repository at this point in the history
  38. Fix MLIR build failure: error: no member named 'getValue' in 'mlir::O…

    …ptionalParseResult'
    
    Fix #63072
    joker-eph committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    d151aa4 View commit details
    Browse the repository at this point in the history
  39. Revert "Fix MLIR build failure: error: no member named 'getValue' in …

    …'mlir::OptionalParseResult'"
    
    This reverts commit d151aa4.
    
    A bot is broken
    joker-eph committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    ad83164 View commit details
    Browse the repository at this point in the history
  40. Fix MLIR build failure: error: no member named 'getValue' in 'mlir::O…

    …ptionalParseResult'
    
    Fix #63072
    joker-eph committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    87a1421 View commit details
    Browse the repository at this point in the history
  41. [llvm][NFC] Refactor AutoUpgrade case 'w'

    Check for 'wasm.' prefix before proceeding, and a bit of common handling
    for some of the intrinsics therein.
    
    Reviewed By: nikic
    
    Differential Revision: https://reviews.llvm.org/D158370
    urnathan committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    a695be7 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2023

  1. [X86] Support -march=gracemont

    gracemont has some different tuning features from alderlake.
    
    Reviewed By: RKSimon
    
    Differential Revision: https://reviews.llvm.org/D158046
    FreddyLeaf committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    6acff53 View commit details
    Browse the repository at this point in the history
  2. [mlir][complex] Initial support for FastMath flag when converting to …

    …LLVM
    
    This change contains the initial support of FastMath flag in complex dialect. Similar to what we did in [Arith dialect](https://reviews.llvm.org/rGb56e65d31825fe4a1ae02fdcbad58bb7993d63a7), `fastmath` attributes in the complex dialect are directly mapped to the corresponding LLVM fastmath flags.
    
    In this diff,
    
    - Definition of FastMathAttr as a custom attribute in the Complex dialect that inherits from the EnumAttr class.
    - Definition of ComplexFastMathInterface, which is an interface that is implemented by operations that have a complex::fastmath attribute.
    - Declaration of a default-valued fastmath attribute for unary and arithmetic operations in the Complex dialect.
    - Conversion code to lower arithmetic fastmath flags to LLVM fastmath flags
    
    NOT in this diff (but planned and progressively implemented):
    
    - Documentation of flag meanings
    - Support the fastmath flag conversion to Arith dialect
    - Folding/rewrite implementations that are enabled by fastmath flags (although it's the original motivation to support the flag)
    
    RFC: https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
    
    Reviewed By: kiranchandramohan
    
    Differential Revision: https://reviews.llvm.org/D156310
    Lewuathe committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    14de5a2 View commit details
    Browse the repository at this point in the history
  3. [lit] Use raw strings for backslash escapes to fix SyntaxWarnings

    Use raw strings instead of regular strings when escapes are used for
    regex matches or arbitrary letters rather than C-style characters.
    This fixes `SyntaxWarning`s:
    
    ```
    TestRunner.py:205: SyntaxWarning: invalid escape sequence '\c'
      """
    TestRunner.py:1566: SyntaxWarning: invalid escape sequence '\s'
      match = _caching_re_compile("^\s*%else\s*(%{)?").search(ln)
    ```
    
    Differential Revision: https://reviews.llvm.org/D158356
    mgorny committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    7ed0f5b View commit details
    Browse the repository at this point in the history
  4. [SystemZ][z/OS] Fix the entry point marker for leaf functions

    The function emitFunctionEntryLabel does not look at whether or not a function is a leaf when setting the entry flags,
    and instead blindly marks all functions as non-leaf routines. Change it to check if a function is a leaf function and
    mark it accordingly.
    Everybody0523 committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    8af297b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    01da5b9 View commit details
    Browse the repository at this point in the history
  6. Revert "[SystemZ][z/OS] Fix the entry point marker for leaf functions"

    This reverts commit 8af297b.
    
    Testcase LLVM :: MC/GOFF/ppa1.ll needs to be updated to account for this.
    Everybody0523 committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    4320722 View commit details
    Browse the repository at this point in the history
  7. [LoongArch] Add testcases of LSX intrinsics with immediates

    The testcases mainly cover three situations:
    - the arguments which should be immediates are non immediates.
    - the immediate is out of upper limit of the argument type.
    - the immediate is out of lower limit of the argument type.
    
    Depends on D155829
    
    Reviewed By: SixWeining
    
    Differential Revision: https://reviews.llvm.org/D157570
    leecheechen authored and wangleiat committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    0c76f46 View commit details
    Browse the repository at this point in the history
  8. [clangd] don't add inlay hint for dependent type in structured binding

    Currently clangd will display useless inlay hint for dependent type in
    structured binding, e.g.
    
    ```
    template <class T>
    void foobar(T arg) {
      auto [a/*: <dependent type>*/, b/*: <dependent type>*/] = arg;
    }
    ```
    
    Differential Revision: https://reviews.llvm.org/D157956
    v1nh1shungry committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    dc10bd4 View commit details
    Browse the repository at this point in the history
  9. [RISCV] Add function that check extension name with version

    Check whether a extension string with version is valid, and get the targetfeature from it.
    
    New functions be used in RISCVISAInfo for https://reviews.llvm.org/D151730.
    
    Reviewed By: craig.topper
    
    Differential Revision: https://reviews.llvm.org/D152423
    BeMg committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    4b60e1e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    41e71f5 View commit details
    Browse the repository at this point in the history
  11. [flang][OpenMP] Support for common block in copyin clause

    This patch adds lowering support for threadprivate
    variables encapsulated in a common block and
    marked inside a copyin clause.
    
    Reviewed By: kiranchandramohan
    
    Differential Revision: https://reviews.llvm.org/D157083
    NimishMishra committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    2c3ded6 View commit details
    Browse the repository at this point in the history
  12. [TableGen] Fix wrong lex result on 64-bit integer boundaries

    Binary and decimal values were reconginzed by strtoll, which returns
    error when the msb is 1, and the error was ignored, resulting to wrong
    results.
    
    This patch fixes the issue.
    
    Reviewed By: MaskRay
    
    Differential Revision: https://reviews.llvm.org/D157079
    zsrkmyn authored and MaskRay committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    cd7280b View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    abed823 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    9b987e0 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    760e0c3 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    848be08 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    6f31908 View commit details
    Browse the repository at this point in the history
  18. [instcombine] Sunk instructions with invalid source location.

    When the 'int Four = Two;' is sunk into the 'case 0:' block,
    the debug value for 'Three' is set incorrectly to 'poison'.
    
    Reviewed By: aprantl
    
    Differential Revision: https://reviews.llvm.org/D158171
    CarlosAlbertoEnciso committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    bf69217 View commit details
    Browse the repository at this point in the history
  19. [clang] Set FP options in Sema when instantiating CompoundStmt

    When an expression is instantiated, TreeTransform skips ImplicitCastExpr
    nodes, assuming they are recreated when the instantiated expression is
    built. It breaks functions that use non-default floating-point options,
    because they are kept in these ImplicitCastExprs. In this case the
    recreated ImplicitCastExpr takes FP options from the current Sema state
    and not from AST node.
    
    To fix this issue the FP options in Sema object are set when a compound
    statement is cloned in TreeTransform.
    
    This change fixes llvm/llvm-project#64605
    ([Regression 16 -> 17] Template instantiation ignores FENV_ACCESS being
    ON for both definition and instantiation).
    
    Differential Revision: https://reviews.llvm.org/D158158
    spavloff committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    0baf85c View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    1341156 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    6f4a6e1 View commit details
    Browse the repository at this point in the history
  22. [clang] Run test for concrete target

    The test clang/test/SemaCXX/template-64605.cpp uses pragma FENV_ACCESS,
    which is not supported on all targets. Restrict it to x86_64 only.
    spavloff committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    73e5a70 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    3758aed View commit details
    Browse the repository at this point in the history
  24. [flang] Run pic-flags.f90 test in more places

    83a0699 broke this test but
    we only saw the failure on a subset of the flang bots because
    it requires 3 target backends, and most of ours only enable AArch64.
    
    Use %if to run as much of the test as we can with the targets
    we have.
    
    Reviewed By: awarzynski
    
    Differential Revision: https://reviews.llvm.org/D158264
    DavidSpickett committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    48aeca0 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    45325a2 View commit details
    Browse the repository at this point in the history
  26. [lldb][debugserver] Fix build after libcxx removed generic char_trait…

    …s implementation
    
    Which was done in https://reviews.llvm.org/D157058. This follows the fix
    for lldb-server in https://reviews.llvm.org/D157589.
    
    Reviewed By: mstorsjo
    
    Differential Revision: https://reviews.llvm.org/D158391
    DavidSpickett committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    7549cde View commit details
    Browse the repository at this point in the history
  27. [AArch64] Add Defs=[NZCV] to MTE loop pseudos.

    The `STGloop` family of pseudo-instructions all expand to a loop which
    iterates over a region of memory setting all its MTE tags to a given
    value. The loop writes to the flags in order to check termination. But
    the unexpanded pseudo-instructions were not marked as modifying the
    flags. Therefore it was possible for one to end up in a location where
    the flags were live, and then the loop would corrupt them.
    
    We spotted the effect of this in a libc++ test involving a lot of
    complicated inlining, and haven't been able to construct a smaller
    test case that demonstrates actual incorrect output code. So my test
    here is just checking that `implicit-def $nzcv` shows up on the
    pseudo-instructions as they're output from isel.
    
    Reviewed By: DavidSpickett
    
    Differential Revision: https://reviews.llvm.org/D158262
    statham-arm committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    b09c575 View commit details
    Browse the repository at this point in the history
  28. [BOLT] Calculate input to output address map using BOLTLinker

    BOLT uses MCAsmLayout to calculate the output values of basic blocks.
    This means output values are calculated based on a pre-linking state and
    any changes to symbol values during linking will cause incorrect values
    to be used.
    
    This issue was first addressed in D154604 by adding all basic block
    symbols to the symbol table for the linker to resolve them. However, the
    runtime overhead of handling this huge symbol table turned out to be
    prohibitively large.
    
    This patch solves the issue in a different way. First, a temporary
    section containing [input address, output symbol] pairs is emitted to the
    intermediary object file. The linker will resolve all these references
    so we end up with a section of [input address, output address] pairs.
    This section is then parsed and used to:
    - Replace BinaryBasicBlock::OffsetTranslationTable
    - Replace BinaryFunction::InputOffsetToAddressMap
    - Update BinaryBasicBlock::OutputAddressRange
    
    Note that the reason this is more performant than the previous attempt
    is that these symbol references do not cause entries to be added to the
    symbol table. Instead, section-relative references are used for the
    relocations.
    
    Reviewed By: maksfb
    
    Differential Revision: https://reviews.llvm.org/D155604
    mtvec committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    23c8d38 View commit details
    Browse the repository at this point in the history
  29. Revert "[Reland][DWARFLinkerParallel] Add limited functionality to DW…

    …ARFLinkerParallel."
    
    This reverts commit 0229dd0.
    
    This introduces two test failures on s390x.
    
    tools/dsymutil/X86/location-expression.test:
    
        warning: cann't load line table.
        note: while processing CU1
        /builddir/build/BUILD/llvm-18.0.0.src/test/tools/dsymutil/X86/location-expression.test:20:10: error: CHECK: expected string not found in input
        # CHECK: DW_AT_name{{.*}}"CU1"
                 ^
        <stdin>:34:32: note: scanning from here
        0x0000000b: DW_TAG_compile_unit [1] *
                                       ^
        <stdin>:37:2: note: possible intended match here
         DW_AT_name [DW_FORM_strp] ( .debug_str[0x09000000] = )
         ^
    
    tools/dsymutil/X86/tls-variable.test:
    
        warning: cann't load line table.
        note: while processing CU1
        /builddir/build/BUILD/llvm-18.0.0.src/test/tools/dsymutil/X86/tls-variable.test:19:10: error: CHECK: expected string not found in input
        # CHECK: DW_AT_name{{.*}}"CU1"
                 ^
        <stdin>:26:32: note: scanning from here
        0x0000000b: DW_TAG_compile_unit
                                       ^
        <stdin>:29:2: note: possible intended match here
         DW_AT_name ()
         ^
    nikic committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    fab91e9 View commit details
    Browse the repository at this point in the history
  30. [gn build] Port 23c8d38

    llvmgnsyncbot committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    94e14b9 View commit details
    Browse the repository at this point in the history
  31. [gn build] Port fab91e9

    llvmgnsyncbot committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    b064a2c View commit details
    Browse the repository at this point in the history
  32. [AArch64][GlobalISel] Support more legal types for EXTEND

    Expand (s/z/any)ext instructions to be compatible with more
    types for GlobalISel.
    This patch mainly focuses on 64-bit and 128-bit vectors with
    element size of powers of 2.
    It also notably handles larger than legal vectors.
    
    Differential Revision: https://reviews.llvm.org/D157113
    chuongg3 committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    a40c984 View commit details
    Browse the repository at this point in the history
  33. [clang] Report missing designated initializers in C++

    Prior to this change clang didn't emit missing-field-initializers
    warning for designated initializers. The comments say that it is done to
    match gcc behavior. However, gcc behaves so only for C. For C++ warnings
    are emitted.
    
    Fixes llvm/llvm-project#56628
    
    Reviewed By: aaron.ballman
    
    Differential Revision: https://reviews.llvm.org/D157879
    Fznamznon committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    9108897 View commit details
    Browse the repository at this point in the history
  34. [Reland][Reland][DWARFLinkerParallel] Add limited functionality to DW…

    …ARFLinkerParallel.
    
    This patch is extracted from D96035, it adds support for the existing
    DWARFLinker functionality. What is not supported yet:
    
    1. Types deduplication(--odr mode).
    2. Modules deduplication.
    3. Generation of index tables.
    
    Reland2: temporarily disabled call to "--linker llvm" for tls-variable.test
    and location-expression.test as it does not work properly on bigendian
    architecture.
    
    Differential Revision: https://reviews.llvm.org/D153268
    avl-llvm committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    5f2a7fa View commit details
    Browse the repository at this point in the history
  35. [AMDGPU] ISel for amdgpu_cs_chain[_preserve] functions

    Lower formal arguments and returns for functions with the
    `amdgpu_cs_chain` and `amdgpu_cs_chain_preserve` calling conventions:
    
    * Put `inreg` arguments into SGPRs, starting at s0, and other arguments
    into VGPRs, starting at v8. No arguments should end up on the stack, if
    we don't have enough registers we should error out.
    
    * Lower the return (which is always void) as an S_ENDPGM.
    
    * Set the ScratchRSrc register to s48:51, as described in the docs.
    
    * Set the SP to s32, matching amdgpu_gfx. This might be revisited in a
    future patch.
    
    Differential Revision: https://reviews.llvm.org/D153517
    rovka committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    26dc284 View commit details
    Browse the repository at this point in the history
  36. [gn build] Port 5f2a7fa

    llvmgnsyncbot committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    ab45b4f View commit details
    Browse the repository at this point in the history
  37. [flang][driver] Disable Clang options in Flang

    Restore the desired setting that was reverted in
    
      https://reviews.llvm.org/D158289.
    
    This is to be merged once Fortran tests in llvm-test-suite are updated
    accordingly:
    
      https://reviews.llvm.org/D158308.
    
    Differential Revision: https://reviews.llvm.org/D158307
    banach-space committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    b16a758 View commit details
    Browse the repository at this point in the history
  38. [emacs] Add regexps for defuns

    Previously `M-x mark-defun` and friends wouldn't work properly, and would
    highlight something at the top of the buffer. This adds a regexp for top-level
    functions so the defun functions should work as expected, and also adds a
    regexp for extracting their name so which-function-mode should work now too.
    
    Reviewed By: goldstein.w.n
    
    Differential Revision: https://reviews.llvm.org/D158196
    lukel97 committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    b0af89c View commit details
    Browse the repository at this point in the history
  39. [X86] Fix i128 argument passing under SysV ABI

    The x86_64 SysV ABI specifies that __int128 is passed either in
    two registers (if available) or in a 16 byte aligned stack slot.
    GCC implements this behavior. However, if only one free register
    is available, LLVM will instead pass one half of the i128 in a
    register, and the other on the stack.
    
    Make sure that either both are passed in registers or both on the
    stack.
    
    Fixes llvm/llvm-project#41784.
    The patch is basically what craig.topper proposed to do there.
    
    Differential Revision: https://reviews.llvm.org/D158169
    nikic committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    fa1b6e6 View commit details
    Browse the repository at this point in the history
  40. [InstCombine] Fold (-a >> b) and/or/xor (~a >> b) into (-a and/or/xor…

    … ~a) >> b tests
    
    Precommit tests for D157290.
    
    Differential Revision: https://reviews.llvm.org/D157289
    kitaisreal committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    f5130a5 View commit details
    Browse the repository at this point in the history
  41. [InstCombine] Fold (-a >> b) and/or/xor (~a >> b) into (-a and/or/xor…

    … ~a) >> b
    
    Fold (-a >> b) and/or/xor (~a >> b) into (-a and/or/xor ~a) >> b.
    Depends on D157289.
    
    Differential Revision: https://reviews.llvm.org/D157290
    kitaisreal committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    341443d View commit details
    Browse the repository at this point in the history
  42. [SCEVExpander] Change getRelatedExistingExpansion() to return bool (NFC)

    This method is only used to determine whether a related expansion
    exists, the actual value is unused. Clarify that by renaming
    get -> has and returning bool.
    nikic committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    7ed4b7e View commit details
    Browse the repository at this point in the history
  43. [Tests] Remove some and/or constant expressions in tests (NFC)

    In preparation for their removal in D158081.
    nikic committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    69bd66b View commit details
    Browse the repository at this point in the history
  44. [DAG] replaceStoreOfInsertLoad - don't fold if the inserted element i…

    …s implicitly truncated
    
    D152276 wasn't handling the case where the inserted element is implicitly truncated into the vector - resulting in a i1 element (implicitly truncated from i8) overwriting 8 bits instead of 1 bit.
    
    This patch is intended to be merged into 17.x so I've just disallowed any vector element vs inserted element type mismatch - technically we could be more elegant and permit truncated stores (as long as the store is still byte sized), but the use cases for that are so limited I'd prefer to play it safe for now.
    
    Candidate patch for #64655 17.x merge
    
    Differential Revision: https://reviews.llvm.org/D158366
    RKSimon committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    ba818c4 View commit details
    Browse the repository at this point in the history
  45. [mlir][ArmSME] Add vector to tile intrinsics

    Add support for following vector to tile (MOVA) intrinsics to ArmSME
    dialect:
    
      llvm.aarch64.sme.write.vert
      llvm.aarch64.sme.write.horiz
    
    Includes the definition of new type predicate
    'ScalableVectorOfRankAndLengthAndType' in OpBase.td.
    
    Reviewed By: awarzynski, dcaballe
    
    Differential Revision: https://reviews.llvm.org/D157004
    c-rhodes committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    8ce23b8 View commit details
    Browse the repository at this point in the history
  46. [AMDGPU] Add IsChainFunction to the MachineFunctionInfo

    This will represent functions with the amdgpu_cs_chain or
    amdgpu_cs_chain_preserve calling conventions.
    
    Differential Revision: https://reviews.llvm.org/D156410
    rovka committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    5272ae6 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    1851858 View commit details
    Browse the repository at this point in the history
  48. [RISCV][NFC] Move tests of inline asm memory constraints to separate …

    …file
    
    We will need to check the output of medium code model.
    
    Reviewed By: wangpc
    
    Differential Revision: https://reviews.llvm.org/D157965
    wangpc-pp committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    a3b11ce View commit details
    Browse the repository at this point in the history
  49. [RISCV] Support global address as inline asm memory operand of m

    In D146245, we have supported lowering inline asm `m` with offset
    to `register+imm`, but we didn't handle the case that the offset
    is the low part of global address.
    
    This patch will emit `%lo(g)` when `g` is a global address.
    
    Fixes #64656
    
    Reviewed By: asb
    
    Differential Revision: https://reviews.llvm.org/D157839
    wangpc-pp committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    dc60003 View commit details
    Browse the repository at this point in the history
  50. [AArch64] [GlobalISel] Fix clobbered callee saved registers with win6…

    …4 varargs
    
    This fixes a regression since 1c10d5b
    / https://reviews.llvm.org/D130903 by applying the same fix from
    SelectionDAG from 8cb3667 /
    https://reviews.llvm.org/D35720.
    
    This could possibly have been detected if the existing testcases
    in win64_vararg.ll had been tested with GlobalISel too, but all
    the IR snippets there fail to be translated with GlobalISel.
    
    This adds a separate testcase based on real world LLVM IR (instead of
    hand-reduced IR), which GlobalISel does translate happily - tested
    with both SelectionDAG and GlobalISel.
    
    Before this change, the stack object locations (visible in MIR
    with "llc -print-after-all") didn't match with what the prologue
    emitted by AArch64FrameLowering actually looked like, which caused
    clobbered callee saved registers when function local stack objects
    aliased the actual location of the callee saved registers.
    
    This fixes llvm/llvm-project#64740.
    
    Differential Revision: https://reviews.llvm.org/D158272
    mstorsjo committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    955d761 View commit details
    Browse the repository at this point in the history
  51. [AArch64] Update generic sched model to A510

      Refresh of the generic scheduling model to use A510 instead of A55.
      Main benefits are to the little core, and introducing SVE scheduling information.
      Changes tested on various OoO cores, no performance degradation is seen.
    
      Differential Revision: https://reviews.llvm.org/D156799
    harviniriawan committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    db158c7 View commit details
    Browse the repository at this point in the history
  52. [libc] Use LIBC_HAS_BUILTIN instead of __has_builtin directly.

    Reviewed By: sivachandra
    
    Differential Revision: https://reviews.llvm.org/D158313
    mikhailramalho committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    cd96aa7 View commit details
    Browse the repository at this point in the history
  53. [mlir][Presburger] Remove slow applyDomainAndRange test

    The test creates two maps, which explode in output size when subtracting,
    causing the test to take +11 seconds on a debug build. Removing the slow
    test until more simplifications in subtraction are added.
    
    Reviewed By: arjunp
    
    Differential Revision: https://reviews.llvm.org/D158406
    Groverkss committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    189f4ac View commit details
    Browse the repository at this point in the history
  54. [libc] Remove 'try_open' from the client interface

    We previously provided the `try_open` facility to indicate if opening a
    port failed. This is used on the server to continuously poll and quit if
    there is no work. However the Client currently has no way to recover
    from not finding a port and simply spins repeatedly. The abstraction
    here costs us some resources. This patch changes the interface to only
    allow `open` on the client side and merges the loops. This saves us a
    branch and a good number of registers.
    
    Reviewed By: JonChesterfield
    
    Differential Revision: https://reviews.llvm.org/D158365
    jhuber6 committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    6970920 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    b0ce192 View commit details
    Browse the repository at this point in the history
  56. [LangRef][DebugInfo] Update DIFile checksum description

    `DIFile`'s checksum fields became optional as part of
    https://reviews.llvm.org/D43043. This updates the description in the docs to
    match.
    
    Fixes llvm/llvm-project#39151
    
    Differential Revision: https://reviews.llvm.org/D158281
    jryans committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    7e66e30 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    9e2c685 View commit details
    Browse the repository at this point in the history
  58. Explicitly set clang-format binary (#2123)

    Ensure the correct clang-format binary is picked up, as
    `clang-format-diff.py` currently seems to look for clang-format-17
    while we install clang-format-18.
    
    Original commit:
    KhronosGroup/SPIRV-LLVM-Translator@2bb5fed
    svenvh authored and sys-ce-bb committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    e1e14db View commit details
    Browse the repository at this point in the history
  59. Convert DebugInfo tests to opaque pointers (#2126)

    This is a bulk conversion done using the migration script.
    
    Original commit:
    KhronosGroup/SPIRV-LLVM-Translator@36936af
    svenvh authored and sys-ce-bb committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    76b5d11 View commit details
    Browse the repository at this point in the history
  60. Report disallowed extensions in metadata (#2125)

    When translating the `spirv.Extension` metadata of an LLVM Module,
    report an error when encountering an extension that has been
    explicitly disabled.
    
    Original commit:
    KhronosGroup/SPIRV-LLVM-Translator@2e917c9
    svenvh authored and sys-ce-bb committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    8039af2 View commit details
    Browse the repository at this point in the history
  61. Convert transcoding tests to opaque pointers (#2127)

    This is a bulk conversion done using the migration script.
    
    There are more transcoding tests to be converted; however they will
    need manual fixups, so leave them out of this bulk conversion.
    
    Original commit:
    KhronosGroup/SPIRV-LLVM-Translator@76fcc39
    svenvh authored and sys-ce-bb committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    35564c6 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    fe3d9e6 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    cf61891 View commit details
    Browse the repository at this point in the history
  64. Fix is.fpclass intrinsic emulation (#2130)

    After bitcast float to integer we should use not SAbs but UAbs call. But since
    UAbs is a bit useless - we shouldn't generate *Abs at all.
    
    Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
    
    Original commit:
    KhronosGroup/SPIRV-LLVM-Translator@d021f75
    MrSidims authored and sys-ce-bb committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    20ca00b View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2023

  1. Configuration menu
    Copy the full SHA
    88c0a4d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    30614a5 View commit details
    Browse the repository at this point in the history
  3. Fix revert of 8acdcf4

    jsji committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    d29f171 View commit details
    Browse the repository at this point in the history
  4. Remove leftover file

    jsji committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    33670fa View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2023

  1. Configuration menu
    Copy the full SHA
    755c22e View commit details
    Browse the repository at this point in the history