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

Test #2

Closed
wants to merge 7,819 commits into from
Closed

Test #2

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

Commits on Oct 14, 2024

  1. [C2y] Add test coverage for N3298 (llvm#112033)

    This paper adds 'i' and 'j' as suffixes for forming a _Complex constant.
    This feature has been supported in Clang since at least Clang 3.0, so
    only test coverage is needed.
    
    It does remove -Wgnu-imaginary-constant in C mode (still used in C++
    mode) because the feature is now a C2y feature rather than a GNU one.
    AaronBallman authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    8e5aa53 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a31e834 View commit details
    Browse the repository at this point in the history
  3. [AMDGPU] Skip terminators when forcing emit zero flag (llvm#112116)

    When forcing emit zero, we need to skip terminators of a MBB; otherwise
    the terminator list of the MBB would be broken.
    shiltian authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    a746594 View commit details
    Browse the repository at this point in the history
  4. [Clang] Diagnose additional ObjC statements as function effect violat…

    …ions (llvm#112148)
    
    Bug fix: `@autoreleasepool`, `@synchronized`, and `@finally` were not
    being noticed and treated as function effect violations.
    
    ---------
    
    Co-authored-by: Doug Wyatt <[email protected]>
    dougsonos and Doug Wyatt authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    cef66aa View commit details
    Browse the repository at this point in the history
  5. [OpenACC] implement loop 'worker' clause. (llvm#112206)

    The worker clause specifies iterations of the loop/ that are executed in
    parallel by distributing the iterations among the multiple works within
    a single gang.
    
    The sema rules for this type are simply that it cannot be combined with
    a `kernel` construct with a `num_workers` clause, child `loop` clauses
    cannot contain a `gang` or `worker` clause, and that the argument is oly
    allowed when associated with a `kernel`.
    erichkeane authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    cf456ed View commit details
    Browse the repository at this point in the history
  6. [clang] Mark __builtin_convertvector and __builtin_shufflevector

    …as `constexpr`. (llvm#112129)
    
    Closes llvm#107985.
    
    LanguageExtensions.rst states that `__builtin_shufflevector` and
    `__builtin_convertvector` can be evaluated as constants, but this is not
    reflected in Butiltins.td. This patch aligns these two.
    c8ef authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    ab6ec7a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    39ac8b2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c79e5ac View commit details
    Browse the repository at this point in the history
  9. [TargetLowering][SelectionDAG] Exploit nneg Flag in UINT_TO_FP (llvm#…

    …108931)
    
    1. Propagate the nneg flag in WidenVecRes
    2. Use SINT_TO_FP in expandUINT_TO_FP when possible.
    mmarjieh authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    b5600c6 View commit details
    Browse the repository at this point in the history
  10. [lldb] Improve unwinding for discontinuous functions (llvm#111409)

    Currently, our unwinder assumes that the functions are continuous (or at
    least, that there are no functions which are "in the middle" of other
    functions). Neither of these assumptions is true for functions optimized
    by tools like propeller and (probably) bolt.
    
    While there are many things that go wrong for these functions, the
    biggest damage is caused by the unwind plan caching code, which
    currently takes the maximalist extent of the function and assumes that
    the unwind plan we get for that is going to be valid for all code inside
    that range. If a part of the function has been moved into a "cold"
    section, then the range of the function can be many megabytes, meaning
    that any function within that range will probably fail to unwind.
    
    We end up with this maximalist range because the unwinder asks for the
    Function object for its range. This is only one of the strategies for
    determining the range, but it is the first one -- and also the most
    incorrect one. The second choice would is asking the eh_frame section
    for the range of the function, and this one returns something reasonable
    here (the address range of the current function fragment) -- which it
    does because each fragment gets its own eh_frame entry (it has to,
    because they have to be continuous).
    
    With this in mind, this patch moves the eh_frame (and debug_frame) to
    the front of the queue. I think that preferring this range makes sense
    because eh_frame is one of the unwind plans that we return, and some
    others (augmented eh_frame) are based on it. In theory this could break
    some functions, where the debug info and eh_frame disagree on the extent
    of the function (and eh_frame is the one who's wrong), but I don't know
    of any such scenarios.
    labath authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    a89e016 View commit details
    Browse the repository at this point in the history
  11. [BOLT] Support perf2bolt-N in the driver

    Check invoked tool with `starts_with`.
    
    Addresses the issue where `perf2bolt` invoked using a distro symlink
    `perf2bolt-16` fails to run in perf2bolt mode and runs in llvm-bolt mode
    instead.
    
    The issue is mentioned in https://vondra.me/posts/playing-with-bolt-and-postgres/
    
    Test Plan:
    ```
    ln -sf perf2bolt perf2bolt-20
    perf2bolt-20 clang -p perf.data -o fdata.clang -w yaml.clang
    ...
    PERF2BOLT: wrote 188593 objects and 0 memory objects to fdata.clang
    ```
    
    Reviewers: ayermolo, rafaelauler, dcci, maksfb
    
    Reviewed By: maksfb
    
    Pull Request: llvm#111072
    aaupov authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    3c4f009 View commit details
    Browse the repository at this point in the history
  12. [libc][complex] Set up headers and add documentation for complex.h. (l…

    …lvm#111659)
    
    Refer: 7.3.1 from [ISO
    SPEC](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf)
    
    I have added complex variants of F16 and F128 in libc doc but have
    omitted support for them since we will have to first investigate how
    their support matrix for clang and gcc looks like, and then add header
    guards for them accordingly. Planning to add them in follow up PRs once
    this gets landed.
    Sh0g0-1758 authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    f4ba6a6 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2f077ec View commit details
    Browse the repository at this point in the history
  14. [Coverage][WebAssembly] Add initial support for WebAssembly/WASI (llv…

    …m#111332)
    
    Currently, WebAssembly/WASI target does not provide direct support for
    code coverage.
    This patch set fixes several issues to unlock the feature. The main
    changes are:
    
    1. Port `compiler-rt/lib/profile` to WebAssembly/WASI.
    2. Adjust profile metadata sections for Wasm object file format.
    - [CodeGen] Emit `__llvm_covmap` and `__llvm_covfun` as custom sections
    instead of data segments.
        - [lld] Align the interval space of custom sections at link time.
    - [llvm-cov] Copy misaligned custom section data if the start address is
    not aligned.
        - [llvm-cov] Read `__llvm_prf_names` from data segments
    3. [clang] Link with profile runtime libraries if requested
    
    See each commit message for more details and rationale.
    This is part of the effort to add code coverage support in Wasm target
    of Swift toolchain.
    kateinoigakukun authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    d4efc3e View commit details
    Browse the repository at this point in the history
  15. [scudo] Apply the min release threshold to the group (llvm#112014)

    For the block smaller than a page size, one block is unlikely to
    introduce more unused pages (at most 2 if it acrosses the page boundary
    and both touched pages are unused). So it's better to apply the
    threshold to reduce the time of scanning groups that can't release any
    new pages.
    ChiaHungDuan authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    53c9553 View commit details
    Browse the repository at this point in the history
  16. [libc][complex] Silence pedantic warning (llvm#112239)

    Fix buildbot errors due to llvm#111659
    Sh0g0-1758 authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    8906bff View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    36a4055 View commit details
    Browse the repository at this point in the history
  18. [RISCV][VLOPT] Add support for 11.9 min/max instructions (llvm#112198)

    This adds support for these instructions and also tests getOperandInfo
    for these instructions as well.
    michaelmaitland authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    82e89c0 View commit details
    Browse the repository at this point in the history
  19. [RISCV][VLOPT] Add support for 11.11 div instructions (llvm#112201)

    This adds support for these instructions and also tests getOperandInfo
    for these instructions as well.
    michaelmaitland authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    c2c4db8 View commit details
    Browse the repository at this point in the history
  20. [CUDA] Add support for CUDA-12.6 and sm_100 (llvm#112028)

    This is a copy of llvm#97402(with minor updates), which is now ready to land.
    
    ---------
    
    Co-authored-by: Sergey Kozub <[email protected]>
    Artem-B and sergey-kozub authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    30a06e8 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    8bb100b View commit details
    Browse the repository at this point in the history
  22. Undef _TIME_BITS along with _FILE_OFFSET_BITS

    This change is identical to
    26800a2 ("[sanitizer] Undef
    _TIME_BITS along with _FILE_OFFSET_BITS on Linux"), but for
    sanitizer_procmaps_solaris.cpp.
    
    Indeed, even though sanitizer_procmaps_solaris.cpp is Solaris
    specific, it also gets built on Linux platforms. It also includes
    sanitizer_platform.h, which also ends up including features-time64.h,
    causing a build failure on 32-bit Linux platforms on which 64-bit
    time_t is enabled by setting _TIME_BITS=64.
    
    To fix this, we do the same change: undefine _TIME_BITS, which anyway
    will cause no harm as the rest of this file is inside a
    SANITIZER_SOLARIS compile-time conditional.
    
    Fixes:
    
    In file included from /home/thomas/buildroot/buildroot/output/host/i686-buildroot-linux-gnu/sysroot/usr/include/features.h:394,
                     from ../../../../libsanitizer/sanitizer_common/sanitizer_platform.h:25,
                     from ../../../../libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp:14:
    /home/thomas/buildroot/buildroot/output/host/i686-buildroot-linux-gnu/sysroot/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is al
    lowed only with _FILE_OFFSET_BITS=64"
       26 | #   error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
          |     ^~~~~
    
    Signed-off-by: Thomas Petazzoni <[email protected]>
    Closes: llvm#99699
    tpetazzoni authored and thesamesam committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    a121702 View commit details
    Browse the repository at this point in the history
  23. [Clang] Diagnose dangling references in std::vector. (llvm#111753)

    This is a follow-up to llvm#108344.
    
    The original bailout check was overly strict, causing it to miss cases
    like the vector(initializer_list, allocator) constructor. This patch
    relaxes the check to address that issue.
    
    Fix llvm#111680
    hokein authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    0eaccee View commit details
    Browse the repository at this point in the history
  24. [NVTPX] Copy kernel arguments as byte array (llvm#110356)

    Ensures that struct padding is not skipped, as it may contain actual
    data if the struct is really a union.
    
    The patch originated from a discussion on llvm#53710
    
    Fixes llvm#53710
    mkuron authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    96c3207 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    9bf68c2 View commit details
    Browse the repository at this point in the history
  26. [NFC] [MTE] Use aarch64-linux-android34 for globals test (llvm#112050)

    It doesn't make a difference currently, but MTE globals are only
    supported on Android, so that's the more natural target to use.
    fmayer authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    e052c4c View commit details
    Browse the repository at this point in the history
  27. [HIP] Suport LLVM Driver (llvm#112249)

    This addresses an issue introduced in llvm#112041.
    petrhosek authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    66723a0 View commit details
    Browse the repository at this point in the history
  28. [SandboxVec][DAG] Avoid unnecessary dependency scan and improve descr…

    …iption (llvm#112057)
    
    When NewInterval is below DAGInterval we used to revisit instructions
    already visited. This patch fixes this by separating the scan in two:
    1. The full scan of the NewInterval, and
    2. The cross-interval scan for DAGInterval.
    
    This is further explained in the new description.
    vporpo authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    08bfc9b View commit details
    Browse the repository at this point in the history
  29. Revert "[scudo] Apply the min release threshold to the group" (llvm#1…

    …12252)
    
    Reverts llvm#112014
    
    The change didn't update the iterator
    ChiaHungDuan authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    037938d View commit details
    Browse the repository at this point in the history
  30. [RISCV][VLOPT] Fix passthru check in getOperandInfo (llvm#112244)

    If a pseudo has a passthru, I believe the first source operand will have
    operand no 2, not 1.
    lukel97 authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    db57fc4 View commit details
    Browse the repository at this point in the history
  31. [libc] Add Linux mman extension remap_file_pages. (llvm#110307)

    Fixes llvm#110122
    - Create remap_file_pages.h/.cpp wrapper for the linux sys call.
    - Add UnitTests for remap_file_pages
    - Add function to libc/spec/linux.td
    - Add Function spec to mman.yaml
    AlyElashram authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    76173b1 View commit details
    Browse the repository at this point in the history
  32. Revert "[AMDGPU][SplitModule] Handle !callees metadata (llvm#108802)"

    This reverts commit 4a0dc3e.
    Breaks tests, see comments on
    llvm#108802
    nico committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    140cbca View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    d0b6709 View commit details
    Browse the repository at this point in the history
  34. [lldb] Use CFPropertyListCreateData in debugserver (NFC) (llvm#112262)

    CFPropertyListCreateXMLData has been deprecated since macOS 10.10. Use
    CFPropertyListCreateData instead.
    JDevlieghere authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    9cc6e6f View commit details
    Browse the repository at this point in the history
  35. [Fuchsia][cmake] Avoid referencing cxx_shared in compiler-rt (llvm#11…

    …2257)
    
    After llvm#80007 Fuchsia builds are
    now always building cxx_shared for arm64 and x64 Linux. Ultimately, this
    is because the LIBCXX_ENABLE_SHARED is not used in compiler-rt to select
    the correct libc++ target, and because cxx_shared is now always defined,
    it is selected as a dependency when building runtimes tests.
    
    ---------
    
    Co-authored-by: Petr Hosek <[email protected]>
    ilovepi and petrhosek authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    c4131cb View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    58bf78c View commit details
    Browse the repository at this point in the history
  37. [RISCV] Move "let rd = 0" into class body. NFC

    We usually override operand related fields in the class body instead
    of at the top level.
    topperc committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    d0d54fa View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    b8ee0aa View commit details
    Browse the repository at this point in the history
  39. [RISCV] Use RVInst16CB for C_SRLI64_HINT and C_SRAI64_HINT. (llvm#112250

    )
    
    c.srli(64) and c.srai(64) are encoded differently than c.slli(64). The
    former have a 3-bit register, while the latter has a 5-bit register.
    c.srli and c.srai already use RVInst16CB.
    
    The "let Inst{11-10} =" prevented this from causing any functional
    issues by dropping the upper 2 bits of the register. The ins/outs list
    uses GPRC so the register class is constrained.
    topperc authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    1c17484 View commit details
    Browse the repository at this point in the history
  40. Revert "[lldb] Improve unwinding for discontinuous functions (llvm#11…

    …1409)"
    
    This reverts commit a89e016.
    
    This is being reverted because it broke the test:
    
    Unwind/trap_frame_sym_ctx.test
    
    /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test:21:10: error: CHECK: expected string not found in input
     CHECK: frame #2: {{.*}}`main
    rastogishubham committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    d8de239 View commit details
    Browse the repository at this point in the history
  41. [MSan] Copy tests for 32-bit architectures (llvm#111835)

    As discussed in llvm#109284
    Copied msan tests from 64-bit platforms to following 32-bit platforms:
    * MIPS
    * ARM
    * RISCV
    * PowerPC
    * i386
    
    Most of the tests have been copied form mips64.
    Target triple and test contents have not been changed: to be done in
    next PR.
    
    ---------
    
    Co-authored-by: Kamil Kashapov <[email protected]>
    k-kashapov and Kamil Kashapov authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    f032622 View commit details
    Browse the repository at this point in the history
  42. [docs][clang-tools-extra] Fix broken document link in ReleaseNotes.rst

    Fixes the following error:
    ```
    clang-tools-extra/docs/ReleaseNotes.rst:247: WARNING: unknown document: 'clang-tidy/checks/readability/readability-identifier-naming' [ref.doc]
    ```
    nicovank authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    3484ed9 View commit details
    Browse the repository at this point in the history
  43. [SandboxVec][DAG] Implement UnscheduledSuccs (llvm#112255)

    This patch implements the UnscheduledSuccs counter in DGNode. It counts
    the number of unscheduled successors and is used by the scheduler to
    determine when a node is ready.
    vporpo authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    fc08ad6 View commit details
    Browse the repository at this point in the history
  44. [lldb] Expose structured command diagnostics via the SBAPI. (llvm#112109

    )
    
    This allows IDEs to render LLDB expression diagnostics to their liking
    without relying on characterprecise ASCII art from LLDB. It is exposed
    as a versioned SBStructuredData object, since it is expected that this
    may need to be tweaked based on actual usage.
    adrian-prantl authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    9eddc8b View commit details
    Browse the repository at this point in the history
  45. Reapply "[clang][CodeGen] Zero init unspecified fields in initializer…

    …s in C" (llvm#109898) (llvm#110051)
    
    This reverts commit d50eaac. Also fixes
    a bug calculating offsets for bit fields in the original patch.
    yabinc authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    6277465 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    9b8dbe2 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    b26c514 View commit details
    Browse the repository at this point in the history
  48. [Vectorize] Fix -Wunused-variable in DependencyGraph.h (NFC)

    /llvm-project/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h:231:10:
    error: unused variable 'Inserted' [-Werror,-Wunused-variable]
        auto Inserted = MemPreds.insert(PredN).second;
             ^
    1 error generated.
    DamonFool committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    ac39696 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    cadfd0b View commit details
    Browse the repository at this point in the history
  50. [lldb] Account for DWARF 5 sections in TestCTF.py

    Update the TestCTF Makefile to remove the DWARF 5 sections.
    JDevlieghere committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    6539481 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. [lldb] Remove ASL (Apple System Log) support from debugserver (NFC) (l…

    …lvm#112260)
    
    Remove support for ASL (Apple System Log) which has been deprecated
    since macOS 10.12. Fixes the following warnings:
    
    warning: 'asl_new' is deprecated: first deprecated in macOS 10.12 -
    os_log(3) has replaced asl(3)
    warning: 'asl_set' is deprecated: first deprecated in macOS 10.12 -
    os_log(3) has replaced asl(3)
    warning: 'asl_vlog' is deprecated: first deprecated in macOS 10.12 -
    os_log(3) has replaced asl(3)
    JDevlieghere authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    8225938 View commit details
    Browse the repository at this point in the history
  2. Reland [CodeGenPrepare] Convert ctpop(X) ==/!= 1 into ctpop(X) u<…

    …/u> 2/1` (llvm#111284)` (llvm#111998)
    
    Relands llvm#111284. Test failure with stage2 build has been fixed by
    llvm#111946.
    
    
    Some targets have better codegen for `ctpop(X) u< 2` than `ctpop(X) ==
    1`. After llvm#100899, we set the
    range of ctpop's return value to indicate the argument/result is
    non-zero.
    
    This patch converts `ctpop(X) ==/!= 1` into `ctpop(X) u</u> 2/1` in CGP
    to fix llvm#95255.
    dtcxzyw authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    637e81f View commit details
    Browse the repository at this point in the history
  3. [lldb][test] Remove objcopy detection from API tests' CMakeLists.txt (l…

    …lvm#111977)
    
    This commit essentially reverts https://reviews.llvm.org/D30453.
    
    In llvm#109961, objcopy util search code was added to dotest.py. dotest.py
    should use llvm-X by default if no path to a utility X is provided
    externally.
    
    However, it doesn't work out for llvm-objcopy, since objcopy path is
    always overridden with the lines being removed here. It causes a problem
    with cross-platform testing when objcopy used by cmake doesn't support
    targets/executable file formats other than native.
    
    I suppose these lines are unnecessary after llvm#109961, so they can be
    safely removed.
    dzhidzhoev authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    1cb8314 View commit details
    Browse the repository at this point in the history
  4. [mlir][LLVMIR] Add sinh/cosh/tanh intrinsic ops (llvm#111912)

    This revision adds hyperbolic trigonometric sinh, cosh, and tanh
    intrinsic ops.
    pengmai authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    7215d50 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b9f0867 View commit details
    Browse the repository at this point in the history
  6. Revert "[clang-format] Correctly annotate */& in if condition with br…

    …aced init (llvm#109505)"
    
    This reverts commit 98281da which caused a
    regression.
    
    Fixes llvm#112176.
    owenca committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    ee64684 View commit details
    Browse the repository at this point in the history
  7. [AMDGPU] Tidy SIPreAllocateWWMRegs after recent changes (NFCI) (llvm#…

    …111967)
    
    - V_SET_INACTIVE is always in WWM/WQM so can be treated like any other
    operation in WWM/WQM.
    - After encountering SI_SPILL_S32_TO_VGPR loop should bypass to avoid
    double processing its defs.
    perlfu authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    784230b View commit details
    Browse the repository at this point in the history
  8. [Triple] Make mipsel-*-windows-* use COFF files by default (llvm#107809)

    Windows NT/MIPS and Windows CE/MIPS always used COFF format.
    
    This is an extract of PR llvm#107744.
    hpoussin authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    c6ba7b3 View commit details
    Browse the repository at this point in the history
  9. [COFF] Add MIPS relocation types (llvm#107814)

    Add the MIPS COFF relocation types. They will be needed to add support
    for MIPS Windows object file.
    
    This is an extract of PR
    llvm#107744.
    hpoussin authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    97ccd86 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b373278 View commit details
    Browse the repository at this point in the history
  11. [RISCV] Rename rs1_wb to rd in some C instructions. NFC (llvm#112269)

    The spec refers to the field as rd'/rs1' so we might as well name the
    destination rd.
    topperc authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    5462725 View commit details
    Browse the repository at this point in the history
  12. [flang][cuda] Add cuf.register_kernel operation (llvm#112268)

    The operation will be used in the CUF constructor to register the kernel
    functions. This allow to delay this until codegen when the gpu.binary
    will be available.
    clementval authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    cbe76a2 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2a68f82 View commit details
    Browse the repository at this point in the history
  14. [RISCV][VCIX] Add a tied constraint between rd and rs3 in sf.v.xvv an…

    …d sf.v.xvw instructions (llvm#111630)
    
    The instruction has the constraint, but the pseudo instruction is
    missing.
    4vtomat authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    ae7751f View commit details
    Browse the repository at this point in the history
  15. [RISCV] Add missing assembler test case for c.addi zero, 0. NFC (llvm…

    …#112291)
    
    This is an assembly only alias for c.nop.
    topperc authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a1463ca View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    706c9da View commit details
    Browse the repository at this point in the history
  17. Reapply "[scudo] Apply the min release threshold to the group" (llvm#…

    …112252) (llvm#112266)
    
    This reverts commit 037938d.
    
    Fixed the iterator to avoid infinite loop
    ChiaHungDuan authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    cb3e7b3 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    bad04dc View commit details
    Browse the repository at this point in the history
  19. [Clang] Fix a DeclContext mismatch when parsing nested lambda paramet…

    …ers (llvm#112177)
    
    When parsing its function parameters, we don't change the CurContext to
    the lambda's function declaration. However,
    CheckIfAnyEnclosingLambdasMustCaptureAnyPotentialCaptures() has not
    yet adapted to such behavior when nested lambdas come into play.
    Consider the following case,
    
        struct Foo {};
    
        template <int, Foo f> struct Arr {};
    
        constexpr void foo() {
          constexpr Foo F;
          [&]<int I>() {
             [&](Arr<I, F>) {};
           }.template operator()<42>();
        }
    
    As per [basic.def.odr]p5.2, the use of F constitutes an ODR-use. And
    per [basic.def.odr]p10, F should be ODR-usable in that interleaving
    scope.
    
    We failed to accept the case because the call to tryCaptureVariable()
    in getStackIndexOfNearestEnclosingCaptureCapableLambda() suggested
    that F is needlessly captureable. That was due to a missed handling
    for AfterParameterList in FunctionScopeIndexToStopAt, where it still
    presumed DC and LSI matched.
    
    Fixes llvm#47400
    Fixes llvm#90896
    zyn0217 authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    3733b0c View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    08ddbab View commit details
    Browse the repository at this point in the history
  21. (reland) [AMDGPU][SplitModule] Handle !callees metadata (llvm#108802)

    (reland with fixed sed command for macos)
    
    Handle the `!callees` metadata to further reduce the amount of indirect
    call cases that end up conservatively assuming that any indirectly
    callable function is a potential target.
    Pierre-vh committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    b3a8400 View commit details
    Browse the repository at this point in the history
  22. [APFloat] Fix APFloat::getOne (llvm#112308)

    `APFloat::APFloat(const fltSemantics &Semantics, integerPart I)`
    interprets 'I' as a unsigned integer.
    Fix the bug found in
    llvm#112113 (comment).
    dtcxzyw authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a54d88f View commit details
    Browse the repository at this point in the history
  23. clang: Fix hipstdpar test relying on default target (llvm#111975)

    Use explicit target and stop restricting hosts it can run on.
    arsenm authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    5b330a7 View commit details
    Browse the repository at this point in the history
  24. [clang][bytecode] Fix __builtin_convertvector with float-cast (llvm#1…

    …12238)
    
    Comparing their PrimTypes isn't enough in this case. We can have a
    floating cast here as well.
    tbaederr authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    51d0e40 View commit details
    Browse the repository at this point in the history
  25. [Clang][Sema] Fix templated array size calculation. (llvm#96464)

    The [last attempt](llvm#89036) to
    fix llvm#41441 has been reverted
    immediately.
    
    Here I'm trying the simplest idea I've been able to come with: skip
    handling dependent case in `BuildCXXNew`.
    
    The original test (borrowed form
    llvm#89036) passes.
    
    Also I've created and added to the tests a minimal repro of the code
    llvm#89036 fails on. This
    (obviously) also passes.
    awson authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    37bd788 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    57d109c View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    bc09beb View commit details
    Browse the repository at this point in the history
  28. [MLIR][TableGen] Use const pointers for various Init objects (llvm#…

    …112316)
    
    Use const pointers for various `Init` objects. This is a part of effort
    to have better const correctness in TableGen backends:
    
    
    https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
    jurahul authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    1ae9fe5 View commit details
    Browse the repository at this point in the history
  29. [mlir][Transforms] Dialect conversion: add originalType param to ma…

    …terializations (llvm#112128)
    
    This commit adds an optional `originalType` parameter to target
    materialization functions. Without this parameter, target
    materializations are underspecified.
    
    Note: `originalType` is only needed for target materializations.
    Source/argument materializations do not have it.
    
    Consider the following example: Let's assume that a conversion pattern
    "P1" replaced an SSA value "v1" (type "t1") with "v2" (type "t2"). Then
    a different conversion pattern "P2" matches an op that has "v1" as an
    operand. Let's furthermore assume that "P2" determines that the
    legalized type of "t1" is "t3", which may be different from "t2". In
    this example, the target materialization callback will be invoked with:
    outputType = "t3", inputs = "v2", originalType = "t1". Note that the
    original type "t1" cannot be recovered from just "t3" and "v2"; that's
    why the `originalType` parameter is added.
    
    This change is in preparation of merging the 1:1 and 1:N dialect
    conversion drivers. As part of that change, argument materializations
    will be removed (as they are no longer needed; they were just a
    workaround because of missing 1:N support in the dialect conversion).
    The new `originalType` parameter is needed when lowering MemRef to LLVM.
    During that lowering, MemRef function block arguments are replaced with
    the elements that make up a MemRef descriptor. The type converter is set
    up in such a way that the legalized type of a MemRef type is an
    `!llvm.struct` that represents the MemRef descriptor. When the bare
    pointer calling convention is enabled, the function block arguments
    consist of just an LLVM pointer. In such a case, a target
    materialization will be invoked to construct a MemRef descriptor (output
    type = `!llvm.struct<...>`) from just the bare pointer (inputs =
    `!llvm.ptr`). The original MemRef type is required to construct the
    MemRef descriptor, as static sizes/strides/offset cannot be inferred
    from just the bare pointer.
    matthias-springer authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    0d906a4 View commit details
    Browse the repository at this point in the history
  30. [mlir][tblgen] Add additional constructor to Adaptor class (llvm#112144)

    Add an additional adaptor constructor that copies everything except for
    the values. The values are provided with by a second parameter.
    
    This commit is in preparation of merging the 1:1 and 1:N dialect
    conversions. As part of that, a new `matchAndRewrite` function is added.
    For details, see this RFC:
    https://discourse.llvm.org/t/rfc-merging-1-1-and-1-n-dialect-conversions/82513
    
    ```c++
    template <typename SourceOp>
    class OpConversionPattern : public ConversionPattern {
     public:
      using OneToNOpAdaptor =
          typename SourceOp::template GenericAdaptor<ArrayRef<ArrayRef<Value>>>;
    
      virtual LogicalResult
      matchAndRewrite(SourceOp op, OneToNOpAdaptor adaptor,
                      ConversionPatternRewriter &rewriter) const {
        SmallVector<Value> oneToOneOperands =
            getOneToOneAdaptorOperands(adaptor.getOperands());
    
        // This OpAdaptor constructor is added by this commit.
        return matchAndRewrite(op, OpAdaptor(oneToOneOperands, adaptor), rewriter);
      }
    };
    ```
    matthias-springer authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    9aef0fd View commit details
    Browse the repository at this point in the history
  31. [GlobalISel] Support vector G_UNMERGE_VALUES in computeKnownBits. (ll…

    …vm#112172)
    
    This adds computeKnownBits support for vector->vector G_UNMERGE_VALUES,
    grabbing the known bits with an adjusted DemandedElts mask.
    davemgreen authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    04546a0 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    708b154 View commit details
    Browse the repository at this point in the history
  33. [APInt] Fix getAllOnes() with zero width (llvm#112227)

    This makes sure that APInt::getAllOnes() keeps working after the APInt
    constructor assertions are enabled.
    
    I'm relaxing the requirement for the signed case to either an all zeros
    or all ones integer. This is basically saying that we can interpret the
    zero-width integer as either positive or negative.
    nikic authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    c180da9 View commit details
    Browse the repository at this point in the history
  34. [WebAssembly] Fix feature coalescing (llvm#110647)

    This fixes a problem introduced in llvm#80094. That PR copied negative
    features from the TargetMachine to the end of the feature string. This
    is not correct, because even if we have a baseline TM of say `-simd128`,
    but a function with `+simd128`, the coalesced feature string should have
    `+simd128`, not `-simd128`.
    
    To address the original motivation of that PR, we should instead
    explicitly materialize the negative features in the target feature
    string, so that explicitly disabled default features are honored.
    
    Unfortunately, there doesn't seem to be any way to actually test this
    using llc, because `-mattr` appends the specified features to the end of
    the `"target-features"` attribute. I've tested this locally by making it
    prepend the features instead.
    nikic authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    5a7b79c View commit details
    Browse the repository at this point in the history
  35. [clang] Fix crash related to _BitInt constant split (llvm#112218)

    9ad72df added split of _BitInt
    constants when required. Before folding back, check that the constant
    exists.
    Fznamznon authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    b528b13 View commit details
    Browse the repository at this point in the history
  36. [VPlan] Implement VPReductionRecipe::computeCost(). NFC (llvm#107790)

    Implementation of `computeCost()` function for `VPReductionRecipe`.
    
    Note that `in-loop` and `any-of` reductions are not supported by
    VPlan-based cost model currently.
    ElvisWang123 authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    3c91a2f View commit details
    Browse the repository at this point in the history
  37. [ubsan][test] Enable Misc/Linux tests on all Posix systems (llvm#111497)

    When investigating PR llvm#101634, it turned out that
    `UBSan-Standalone-sparc :: TestCases/Misc/Linux/diag-stacktrace.cpp`
    isn't Linux-specific at all. In fact, none of the
    `ubsan/TestCases/Misc/Linux` tests are.
    
    Therefore this patch moves them to `Misc/Posix` instead.
    
    Tested on `sparc64-unknown-linux-gnu`, `sparcv9-sun-solaris2.11`,
    `x86_64-pc-linux-gnu`, and `amd64-pc-solaris2.11`.
    rorth authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    e290152 View commit details
    Browse the repository at this point in the history
  38. [sanitizer][test] Unify LD_LIBRARY_PATH handling (llvm#111498)

    When testing on Linux/sparc64 with a `runtimes` build, the
    `UBSan-Standalone-sparc :: TestCases/Misc/Linux/sigaction.cpp` test
    `FAIL`s:
    ```
    runtimes/runtimes-bins/compiler-rt/test/ubsan/Standalone-sparc/TestCases/Misc/Linux/Output/sigaction.cpp.tmp: error while loading shared libraries: libclang_rt.ubsan_standalone.so: wrong ELF class: ELFCLASS64
    ```
    It turns out SPARC needs the same `LD_LIBRARY_PATH` handling as x86.
    
    This is what this patch does, at the same time noticing that the current
    duplication between `lit.common.cfg.py` and
    `asan/Unit/lit.site.cfg.py.in` isn't necessary.
    
    Tested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`.
    rorth authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    11903e8 View commit details
    Browse the repository at this point in the history
  39. [Sema]Use tag name lookup for class names (llvm#112166)

    This PR would fix llvm#16855 .
    
    The correct lookup to use for class names is Tag name lookup,
    because it does not take namespaces into account. The lookup before
    does and because of this some valid programs are not accepted.
    
    An example scenario of a valid program being declined is when you have a struct (let's call it `y`) inheriting from another struct with a name `x` but the struct `y` is in a namespace that is also called `x`:
    ```
    struct x
    {};
    
    namespace
    {
        namespace x
        {
            struct y : x
            {};
        }
    }
    ```
    
    This shall be accepted because: 
    ```
    C++ [class.derived]p2 (wrt lookup in a base-specifier): The lookup for
      // the component name of the type-name or simple-template-id is type-only.
    ```
    spaits authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    4852120 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    9efb07f View commit details
    Browse the repository at this point in the history
  41. [Verifier] Verify attribute denormal-fp-math[-f32] (llvm#112310)

    Some typos are also fixed. Address
    llvm#112067 (review).
    dtcxzyw authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    8d8bb40 View commit details
    Browse the repository at this point in the history
  42. InstCombine/test: cover foldSelectValueEquivalence (llvm#111694)

    Write dedicated tests for foldSelectValueEquivalence, demonstrating that
    it does not perform many GVN-like replacements when:
    
    - the comparison is a vector-type
    - the comparison is a floating-point type
    
     as a prelude to fixing these deficiencies.
    artagnon authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    fe526ae View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    f719886 View commit details
    Browse the repository at this point in the history
  44. [LiveDebugVariables] Fix a DBG_VALUE reordering issue (llvm#111124)

    LDV could reorder reinserted fragment and non-fragment debug values for
    the same variable (compared to the input order), potentially resulting
    in stale values being presented.
    
    For example, before:
    
      DBG_VALUE 1001, $noreg, !13, !DIExpression(DW_OP_LLVM_fragment, 0, 16)
      DBG_VALUE 1002, $noreg, !13, !DIExpression(DW_OP_LLVM_fragment, 16, 16)
      DBG_VALUE %0, $noreg, !13, !DIExpression()
    
    After (without this patch):
    
      DBG_VALUE %stack.0, 0, !13, !DIExpression()
      DBG_VALUE 1002, $noreg, !13, !DIExpression(DW_OP_LLVM_fragment, 16, 16)
      DBG_VALUE 1001, $noreg, !13, !DIExpression(DW_OP_LLVM_fragment, 0, 16)
    
    It would also reorder DBG_VALUEs for different variables. Although that
    does not matter for the debug information output, it resulted in some
    noise in before/after pass diffs.
    
    This should hopefully align so that instruction referencing and
    DBG_VALUE emit debug instructions in the same order (see the
    sdag-salvage-add.ll change).
    dstenb committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    9786198 View commit details
    Browse the repository at this point in the history
  45. [LLVM][SelectionDAG] Ensure Constant[FP]SDnode only store references …

    …to scalar Constant{Int,FP}. (llvm#111005)
    
    This fixes a failure path when the use-constant-##-for-###-splat IR
    options are enabled.
    paulwalker-arm authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    d27394a View commit details
    Browse the repository at this point in the history
  46. InstCombine: extend select-equiv to support vectors (llvm#111966)

    foldSelectEquivalence currently doesn't support GVN-like replacements on
    vector types. Put in the checks for potentially lane-crossing
    operations, and lift the limitation.
    artagnon authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    1c6c850 View commit details
    Browse the repository at this point in the history
  47. [lldb][test] Fix TestStdCXXDisassembly test for case when tests are l…

    …inked with libc++ statically (llvm#98694)
    
    This is to fix buildbot failure
    https://lab.llvm.org/staging/#/builders/195/builds/4255.
    
    The test expects 'libstdc++' or 'libc++' SO module in the module list.
    In case when static linking with libc++ is on by default, none of them
    may be present.
    
    Thus, USE_SYSTEM_STDLIB is added to ensure the presence of any of them.
    
    ---------
    
    Co-authored-by: Vladimir Vereschaka <[email protected]>
    dzhidzhoev and vvereschaka authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    f035d9f View commit details
    Browse the repository at this point in the history
  48. [MLIR][OpenMP] Remove terminators from loop wrappers (llvm#112229)

    This patch simplifies the representation of OpenMP loop wrapper
    operations by introducing the `NoTerminator` trait and updating
    accordingly the verifier for the `LoopWrapperInterface`.
    
    Since loop wrappers are already limited to having exactly one region
    containing exactly one block, and this block can only hold a single
    `omp.loop_nest` or loop wrapper and an `omp.terminator` that does not
    return any values, it makes sense to simplify the representation of loop
    wrappers by removing the terminator.
    
    There is an extensive list of Lit tests that needed updating to remove
    the `omp.terminator`s adding some noise to this patch, but actual
    changes are limited to the definition of the `omp.wsloop`, `omp.simd`,
    `omp.distribute` and `omp.taskloop` loop wrapper ops, Flang lowering for
    those, `LoopWrapperInterface::verifyImpl()`, SCF to OpenMP conversion
    and OpenMP dialect documentation.
    skatrak authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    0a17bdf View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    790d986 View commit details
    Browse the repository at this point in the history
  50. [MLIR][OpenMP] Named recipe op's block args accessors (NFC) (llvm#112192

    )
    
    This patch adds extra class declarations to the `omp.declare_reduction`
    and `omp.private` operations to access the entry block arguments defined
    by their regions. Some existing accesses to these arguments are updated
    to use the new named methods to improve code readability.
    skatrak authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    7ec3209 View commit details
    Browse the repository at this point in the history
  51. [AArch64][SME] Fix iterator to fixupCalleeSaveRestoreStackOffset (llv…

    …m#110855)
    
    The iterator passed to `fixupCalleeSaveRestoreStackOffset` may be
    incorrect when it tries to skip over the instructions that get the
    current value of 'vg', when there is a 'rdsvl' instruction straight
    after the prologue. That's because it doesn't check that the instruction
    is still a 'frame-setup' instruction.
    sdesmalen-arm authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    f314e12 View commit details
    Browse the repository at this point in the history
  52. [compiler-rt][ASan] Add function copying annotations (llvm#91702)

    This PR adds a `__sanitizer_copy_contiguous_container_annotations`
    function, which copies annotations from one memory area to another. New
    area is annotated in the same way as the old region at the beginning
    (within limitations of ASan).
    
    Overlapping case: The function supports overlapping containers, however
    no assumptions should be made outside of no false positives in new
    buffer area. (It doesn't modify old container annotations where it's not
    necessary, false negatives may happen in edge granules of the new
    container area.) I don't expect this function to be used with
    overlapping buffers, but it's designed to work with them and not result
    in incorrect ASan errors (false positives).
    
    If buffers have granularity-aligned distance between them (`old_beg %
    granularity == new_beg % granularity`), copying algorithm works faster.
    If the distance is not granularity-aligned, annotations are copied byte
    after byte.
    
    ```cpp
    void __sanitizer_copy_contiguous_container_annotations(
        const void *old_storage_beg_p, const void *old_storage_end_p,
        const void *new_storage_beg_p, const void *new_storage_end_p) {
    ```
    
    This function aims to help with short string annotations and similar
    container annotations. Right now we change trait types of
    `std::basic_string` when compiling with ASan and this function purpose
    is reverting that change as soon as possible.
    
    
    https://github.com/llvm/llvm-project/blob/87f3407856e61a73798af4e41b28bc33b5bf4ce6/libcxx/include/string#L738-L751
    
    The goal is to not change `__trivially_relocatable` when compiling with
    ASan. If this function is accepted and upstreamed, the next step is
    creating a function like `__memcpy_with_asan` moving memory with ASan.
    And then using this function instead of `__builtin__memcpy` while moving
    trivially relocatable objects.
    
    
    https://github.com/llvm/llvm-project/blob/11a6799740f824282650aa9ec249b55dcf1a8aae/libcxx/include/__memory/uninitialized_algorithms.h#L644-L646
    
    ---
    
    I'm thinking if there is a good way to address fact that in a container
    the new buffer is usually bigger than the previous one. We may add two
    more arguments to the functions to address it (the beginning and the end
    of the whole buffer.
    
    Another potential change is removing `new_storage_end_p` as it's
    redundant, because we require the same size.
    
    Potential future work is creating a function `__asan_unsafe_memmove`,
    which will be basically memmove, but with turned off instrumentation
    (therefore it will allow copy data from poisoned area).
    
    ---------
    
    Co-authored-by: Vitaly Buka <[email protected]>
    AdvenamTacet and vitalybuka authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    c76045d View commit details
    Browse the repository at this point in the history
  53. [mlir][vector] Add more tests for ConvertVectorToLLVM (8/n) (llvm#111997

    )
    
    Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
    Covers the following Ops:
    
    * `vector.transfer_read`,
    * `vector.transfer_write`.
    
    In addition:
    
    * Duplicate tests from "vector-mask-to-llvm.mlir" are removed.
    * Tests for xfer_read/xfer_write are moved to a newly created test file,
      "vector-xfer-to-llvm.mlir". This follows an existing pattern among
      VectorToLLVM conversion tests.
    * Tests that test both xfer_read and xfer_write have their names updated
      to capture that (e.g. @transfer_read_1d_mask ->
      @transfer_read_write_1d_mask)
    * @transfer_write_1d_scalable_mask and @transfer_read_1d_scalable_mask
      are re-written as @transfer_read_write_1d_mask_scalable. This is to
      make it clear that this case is meant to complement
      @transfer_read_write_1d_mask.
    * @transfer_write_tensor is updated to also test xfer_read.
    banach-space authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    3187a49 View commit details
    Browse the repository at this point in the history
  54. [lldb] Support tests with nested make invocations on Windows 1/2 (llv…

    …m#112342)
    
    In recent PR llvm#111531 for
    Windows support, we enabled tests that require the `make` tool. On
    Windows, default install directories likely contain spaces, in this case
    e.g. `C:\Program Files (x86)\GnuWin32\bin\make.exe`. It's typically
    handled well by CMake, so that today invocations from `dotest.py` don't
    cause issues. However, we also have nested invocations from a number of
    Makefiles themselves. These still failed if the path to the `make` tool
    contains spaces.
    
    This patch attempts to fix the functionalities/completion test by adding
    quotes in the respective Makefile. If it keeps passing on the bots, we can
    roll out the fix to all affected tests.
    weliveindetail authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a4367d2 View commit details
    Browse the repository at this point in the history
  55. [flang][OpenMP] Support target ... nowait (llvm#111823)

    Adds MLIR to LLVM lowering support for `target ... nowait`. This
    leverages the already existings code-gen patterns for `task` by treating
    `target ... nowait` as `task ... if(1)` and `target` (without `nowait`)
    as `task ... if(0)`; similar to what clang does.
    ergawy authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    d0d0380 View commit details
    Browse the repository at this point in the history
  56. [clang-tidy] Make P +- BS / sizeof(*P) opt-outable in `bugprone-siz…

    …eof-expression` (llvm#111178)
    
    In some cases and for projects that deal with a lot of low-level buffers, a
    pattern often emerges that an array and its full size, not in the number of
    "elements" but in "bytes", are known with no syntax-level connection between
    the two values.
    To access the array elements, the pointer arithmetic involved will have
    to divide 'SizeInBytes' (a numeric value) with `sizeof(*Buffer)`.
    Since the previous patch introduced this new warning, potential
    false-positives were triggered from `bugprone-sizeof-expression`, as `sizeof`
    appeared in pointer arithmetic where integers are scaled.
    
    This patch adds a new check option, `WarnOnOffsetDividedBySizeOf`, which allows
    users to opt out of warning about the division case.
    In arbitrary projects, it might still be worthwhile to get these warnings until
    an opt-out from the detection of scaling issues, especially if a project
    might not be using low-level buffers intensively.
    whisperity authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    1c38c46 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    aabdd8f View commit details
    Browse the repository at this point in the history
  58. Reapply "[DAG] Enhance SDPatternMatch to match integer minimum and ma…

    …ximum patterns in addition to the existing ISD nodes." (llvm#112203)
    
    This patch adds icmp+select patterns for integer min/max matchers in
    SDPatternMatch, similar to those in IR PatternMatch.
    
    Reapply llvm#111774.
    
    Closes llvm#108218.
    c8ef authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    854ded9 View commit details
    Browse the repository at this point in the history
  59. [NFC][LoopVectorize] Make replaceVPBBWithIRVPBB more efficient (llvm#…

    …111514)
    
    In replaceVPBBWithIRVPBB we spend time erasing and appending
    predecessors and successors from a list, when all we really have to do
    is replace the old with the new. Not only is this more efficient, but it
    also preserves the ordering of successors and predecessors. This is
    something which may become important for vectorising early exit loops
    (see PR llvm#88385), since a VPIRInstruction is the wrapper for a live-out
    phi with extra operands that map to the incoming block according to the
    block's predecessor.
    david-arm authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    175461a View commit details
    Browse the repository at this point in the history
  60. [OpenACC] Implement 'loop' 'vector' clause (llvm#112259)

    The 'vector' clause specifies the iterations to be executed in vector or
    SIMD mode. There are some limitations on which associated compute
    contexts may be associated with this and have arguments, but otherwise
    this is a fairly unrestricted clause.
    
    It DOES have region limits like 'gang' and 'worker'.
    erichkeane authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    c8cbdc6 View commit details
    Browse the repository at this point in the history
  61. [X86[] fp80-strict-libcalls.ll - add missing fp80 libm declarations f…

    …or completeness
    
    Noticed while reviewing llvm#110760
    RKSimon committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    6e86496 View commit details
    Browse the repository at this point in the history
  62. [X86[] fp128-libcalls-strict.ll - add missing fp80 libm declarations …

    …for completeness
    
    Noticed while reviewing llvm#110760
    RKSimon committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    b75f9f7 View commit details
    Browse the repository at this point in the history
  63. [flang] AliasAnalysis: Fix pointer component logic (llvm#94242)

    This PR applies the changes discussed in [[RFC] Rationale for Flang
    AliasAnalysis pointer component
    logic](https://discourse.llvm.org/t/rfc-rationale-for-flang-aliasanalysis-pointer-component-logic/79252).
    
    In summary, this PR replaces the existing pointer component logic in
    Flang's AliasAnalysis implementation. That logic focuses on aliasing
    between pointers and non-pointer, non-target composites that have
    pointer components. However, it is more conservative than necessary, and
    some existing tests expect its current results when less conservative
    results seem reasonable.
    
    This PR splits the logic into two cases:
    
    1. Source values are the same: Return MayAlias when one value is the
    address of a composite, and the other value is statically the address of
    a pointer component of that composite.
    2. Source values are different: Return MayAlias when one value is the
    address of a composite (actual argument), and the other value is the
    address of a pointer (dummy arg) that might dynamically be a component
    of that composite.
    
    In both cases, the actual implementation is still more conservative than
    described above, but it can be improved further later. Details appear in
    the comments.
    
    Additionally, this PR revises the logic that reports MayAlias for a
    pointer/target vs. another pointer/target. It constrains the existing
    logic to handle only isData cases, and it adds less conservative
    handling of !isData cases elsewhere. First, it extends case 2 listed
    above to cover the case where the actual argument is the address of a
    pointer rather than a composite. Second, it adds a third case: where
    target attributes enable aliasing with a dummy argument.
    jdenny-ornl authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    7323533 View commit details
    Browse the repository at this point in the history
  64. [RISCV][VLOPT] Fix operand check in isVectorOpUsedAsScalarOp (llvm#11…

    …2253)
    
    A reduction instruction always has a passthru operand, so the scalar
    operand should always be vs1 which is at index 3.
    
    Even though the destination operand is also scalar, I think the passthru
    will need to preserve all elements so I haven't included it.
    lukel97 authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    043f066 View commit details
    Browse the repository at this point in the history
  65. [LLDB]Provide clearer error message for invalid commands. (llvm#111891)

    Sometimes users (esp. gdb-longtime users) accidentally use GDB syntax,
    such as `breakpoint foo`, and they would get an error message from LLDB
    saying simply `Invalid command "breakpoint foo"`, which is not very
    helpful.
    
    This change provides additional suggestions to help correcting the
    mistake.
    oontvoo authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    4d78881 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    94eb975 View commit details
    Browse the repository at this point in the history
  67. Configuration menu
    Copy the full SHA
    e100e4a View commit details
    Browse the repository at this point in the history
  68. [Inliner] Don't propagate access attr to byval params (llvm#112256)

    - **[Inliner] Add tests for bad propagationg of access attr for `byval`
    param; NFC**
    - **[Inliner] Don't propagate access attr to `byval` params**
    
    We previously only handled the case where the `byval` attr was in the
    callbase's param attr list. This PR also handles the case if the
    `ByVal` was a param attr on the function's param attr list.
    goldsteinn authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    3c777f0 View commit details
    Browse the repository at this point in the history
  69. Configuration menu
    Copy the full SHA
    2f09c72 View commit details
    Browse the repository at this point in the history
  70. [libc++] Fix expression-equivalence for mem_fn (llvm#111307)

    Previously, SFINAE constraints and exception specification propagation
    were missing in the return type of libc++'s `std::mem_fn`. The
    requirements on expression-equivalence (or even plain "equivalent" in
    pre-C++20 specification) in [func.memfn] are actually requiring them.
    
    This PR adds the missed stuffs. Fixes llvm#86043.
    
    Drive-by changes:
    - removing no longer used `__invoke_return`,
    - updating synopsis comments in several files, and
    - merging several test files for `mem_fn` into one.
    frederick-vs-ja authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a061d4d View commit details
    Browse the repository at this point in the history
  71. Configuration menu
    Copy the full SHA
    5dca89c View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    c5c27d8 View commit details
    Browse the repository at this point in the history
  73. [libc++][test] Fix overload_compare_iterator::iterator_category (ll…

    …vm#112165)
    
    `overload_compare_iterator` only supports operations required for
    forward iterators. On the other hand, it is used for output iterators of
    uninitialized memory algorithms, which requires it to be forward
    iterator.
    
    As a result, `overload_compare_iterator<I>::iterator_category` should
    always be `std::forward_iterator_tag` if we don't extend its ability.
    The correct `iterator_category` can prevent standard library
    implementations like MSVC STL attempting random access operations on
    `overload_compare_iterator`.
    
    Fixes llvm#74756.
    frederick-vs-ja authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    d9c2256 View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    3c2e1d3 View commit details
    Browse the repository at this point in the history
  75. Configuration menu
    Copy the full SHA
    b43cfa7 View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    a7b7af7 View commit details
    Browse the repository at this point in the history
  77. [LV] Check early for supported interleave factors with scalable types…

    … [nfc] (llvm#111592)
    
    Previously, the cost model was returning an invalid cost. This simply
    moves the check from one place to another. This is mostly to make the
    cost modeling code a bit easier to follow.
    
    ---------
    
    Co-authored-by: Mel Chen <[email protected]>
    preames and Mel-Chen authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    b3c687b View commit details
    Browse the repository at this point in the history
  78. [clang][RISCV] Correct the SEW operand of indexed/fault only first se…

    …gment intrinsics (llvm#111476)
    
    Indexed segment load/store intrinsics don't have SEW information encoded
    in the name, so we need to get the information from its pointer type
    argument at runtime.
    4vtomat authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    46f953d View commit details
    Browse the repository at this point in the history
  79. [X86] shuffle-vs-trunc-512.ll - add missing AVX512BW FAST PERLANE/CRO…

    …SSLANE check prefixes
    RKSimon committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    64421ec View commit details
    Browse the repository at this point in the history
  80. [X86] lowerShuffleAsVTRUNC - ensure we peek through bitcasts when loo…

    …king for freely-concatable subvectors
    
    Fixes llvm#111611
    RKSimon committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a3a9ba8 View commit details
    Browse the repository at this point in the history
  81. Configuration menu
    Copy the full SHA
    9b7491e View commit details
    Browse the repository at this point in the history
  82. [LLVM][TableGen] Check overloaded intrinsic mangling suffix conflicts (

    …llvm#110324)
    
    Check name conflicts between intrinsics caused by mangling suffix.
    
    If the base name of an overloaded intrinsic is a proper prefix of
    another intrinsic, check if the other intrinsic name suffix after the
    proper prefix can match a mangled type and issue an error if it can.
    jurahul authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    2a0073f View commit details
    Browse the repository at this point in the history
  83. [lldb] Use BasicBlock::iterator instead of InsertPosition (NFC) (llvm…

    …#112307)
    
    InsertPosition has been deprecated in favor of using
    BasicBlock::iterator. (See llvm#102608)
    JDevlieghere authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    74eb079 View commit details
    Browse the repository at this point in the history
  84. [DAG] visitXOR - add missing comment for or/and constant demorgan fol…

    …d. NFC.
    
    Noticed while triaging llvm#112347 which is using this fold - we described the or->and fold, but not the equivalent and->or which is also handled.
    RKSimon committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    30deb76 View commit details
    Browse the repository at this point in the history
  85. [X86] combineAndNotOrIntoAndNotAnd - don't attempt with constant oper…

    …ands
    
    Don't fold AND(X,OR(NOT(Z),C)) -> AND(X,NOT(AND(Z,C'))) as DAGCombiner will invert it back again.
    
    Fixes llvm#112347
    RKSimon committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    ec78f0d View commit details
    Browse the repository at this point in the history
  86. [SLP]Initial non-power-of-2 support (but still whole register) for re…

    …ductions
    
    Enables initial non-power-of-2 support (but still requiresnumber of
    elements, forming whole registers) for reductions.
    Enables extra vectorization for
    MultiSource/Benchmarks/7zip/7zip-benchmark, CINT2006/464.h264ref and
    CFP2017rate/526.blender_r (checked for SSE2)
    
    Reviewers: RKSimon
    
    Reviewed By: RKSimon
    
    Pull Request: llvm#112361
    alexey-bataev authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    8287fa8 View commit details
    Browse the repository at this point in the history
  87. [clang][bytecode] Diagnose reference to non-constexpr variable of con…

    …st type in C23 constexpr (llvm#112211)
    
    ```cpp
    const int V33 = 4;
    const int V34 = 0;
    const int V35 = 2;
    
    constexpr int V36 = V33 / V34;
    // expected-error@-1 {{constexpr variable 'V36' must be initialized by a constant expression}}
    constexpr int V37 = V33 / V35;
    // expected-error@-1 {{constexpr variable 'V37' must be initialized by a constant expression}}
    ```
    
    ---------
    
    Signed-off-by: yronglin <[email protected]>
    yronglin authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    8079a2c View commit details
    Browse the repository at this point in the history
  88. [llvm][NFC] Remove redundant copy parameter (llvm#109859)

    Remove redundant copy parameter and move it
    
    from `explicit OwningMemoryBlock(MemoryBlock M) : M(M) {}`
    
    to `explicit OwningMemoryBlock(MemoryBlock M) : M(std::move(m)) {}`
    
    Fixes: llvm#95640
    AmrDeveloper authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    dd63ede View commit details
    Browse the repository at this point in the history
  89. [ConstantFold] Fold log1p and log1pf when the input parameter is …

    …a constant value. (llvm#112113)
    
    This patch adds support for constant folding for the `log1p` and
    `log1pf` libc functions.
    c8ef authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    47a6da2 View commit details
    Browse the repository at this point in the history
  90. [ELF] Fix PROVIDE_HIDDEN -shared regression with bitcode file references

    The inaccurate llvm#111945 condition fixes a PROVIDE regression (llvm#111478)
    but introduces another regression: in a DSO link, if a symbol referenced
    only by bitcode files is defined as PROVIDE_HIDDEN, lld would not set
    the visibility correctly, leading to an assertion failure in
    DynamicReloc::getSymIndex (https://reviews.llvm.org/D123985).
    This is because `(sym->isUsedInRegularObj || sym->exportDynamic)` is
    initially false (bitcode undef does not set `isUsedInRegularObj`) then
    true (in `addSymbol`, after LTO compilation).
    
    Fix this by making the condition accurate: use a map to track defined
    symbols.
    
    Reviewers: smithp35
    
    Reviewed By: smithp35
    
    Pull Request: llvm#112386
    MaskRay authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a2359a8 View commit details
    Browse the repository at this point in the history
  91. [SPIR-V] Support optimization of branching with analyzeBranch/removeB…

    …ranch/insertBranch functions (llvm#110653)
    
    This PR fixes implementation of `SPIRVInstrInfo::analyzeBranch()` and
    adds implementations of `SPIRVInstrInfo::removeBranch()` and
    `SPIRVInstrInfo::insertBranch()` to support Branch Folding and If
    Conversion optimization.
    
    The attached test case failed before this PR due to report_fatal_error()
    firing on missing implementation of `SPIRVInstrInfo::removeBranch()`.
    
    The new test case is not able to pass spirv-val check at the moment due
    to the issue described in
    llvm#110652 , this is not related
    to this PR.
    
    This PR also updates instructions definition in tablegen to set
    isBranch=1 for relevant instructions.
    VyacheslavLevytskyy authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    62d6fa8 View commit details
    Browse the repository at this point in the history
  92. [SPIRV] Implement type deduction and reference to function declaratio…

    …ns for indirect calls using SPV_INTEL_function_pointers (llvm#111159)
    
    This PR improves implementation of SPV_INTEL_function_pointers and type
    inference for phi-nodes and indirect calls.
    VyacheslavLevytskyy authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    8d8996d View commit details
    Browse the repository at this point in the history
  93. Configuration menu
    Copy the full SHA
    bfe84f7 View commit details
    Browse the repository at this point in the history
  94. Configuration menu
    Copy the full SHA
    fb858b4 View commit details
    Browse the repository at this point in the history
  95. Configuration menu
    Copy the full SHA
    867e042 View commit details
    Browse the repository at this point in the history
  96. [clang][aarch64] Add support for the MSVC qualifiers __ptr32, __ptr64…

    …, __sptr, __uptr for AArch64 (llvm#111879)
    
    MSVC has a set of qualifiers to allow using 32-bit signed/unsigned
    pointers when building 64-bit targets. This is useful for WoW code
    (i.e., the part of Windows that handles running 32-bit application on a
    64-bit OS). Currently this is supported on x64 using the 270, 271 and
    272 address spaces, but does not work for AArch64 at all.
    
    This change adds the same 270, 271 and 272 address spaces to AArch64 and
    adjusts the data layout string accordingly. Clang will generate the
    correct address space casts, but these will currently be ignored until
    the AArch64 backend is updated to handle them.
    
    Partially fixes llvm#62536
    
    This is a resurrected version of <https://reviews.llvm.org/D158857>
    (originally created by @a_vorobev) - I've cleaned it up a little, fixed
    the rest of the tests and added to auto-upgrade for the data layout.
    dpaoliello authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    c9f2727 View commit details
    Browse the repository at this point in the history
  97. [MLIR] Make More Specific Function Header For StringLiteral Optimizat…

    …ion in `Diagnostic` (llvm#112154)
    
    Diagnostic stores various notes/error messages which might help the user
    in debugging. For the most part, the `Diagnostic` when receiving an
    error message will copy and own the contents of the string.
    
    However, there is one optimization where given a `const char*`, the
    class will assume this is a StringLiteral which is immutable and
    lifetime matches that of the entire program. As a result, instead of
    copying the message in these cases the class will simply store the
    underlying pointer.
    
    This is problematic since `const char*` is not specific enough to always
    imply a StringLiteral which can lead to bugs, e.g. if the underlying
    pointer is freed before the diagnostic reports.
    
    We solve this problem by choosing a more specific function signature.
    While not full-proof, this should cover a lot more cases.
    
    A potentially better alternative is just deleting this special handling
    of string literals, but I am unsure of the implications (it does sound
    safe to do however with a negligble impact on performance).
    AndrewZhaoLuo authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    e511026 View commit details
    Browse the repository at this point in the history
  98. [libc][setjmp] fix setjmp test via naked fn attr (llvm#88054)

    This would consistently fail for me locally, to the point where I could not run
    ninja libc-unit-tests without ninja libc_setjmp_unittests failing.
    
    Turns out that since I enabled -ftrivial-auto-var-init=pattern in
    commit 1d5c16d ("[libc] default enable -ftrivial-auto-var-init=pattern
    (llvm#78776)")
    this has been a problem. Our x86_64 setjmp definition disabled -Wuninitialized,
    so we wound up clobbering these registers and instead backing up
    0xAAAAAAAAAAAAAAAA rather than the actual register value.
    
    Use `naked` function attribute to avoid function prolog/epilog.
    nickdesaulniers authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    66f968c View commit details
    Browse the repository at this point in the history
  99. [NVPTX] restrict cvta.param use to kernels only. (llvm#112278)

    If `cvta.param` is used in regular functions, it may produce an
    invalid pointer. It's unclear if it's a bug in ptxas or we're not using `cvta.param` correctly, but,
    regardless of the underlying reason, the instruction has to be disabled for non-kernels, at least for now.
    Artem-B authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    7d7fb7c View commit details
    Browse the repository at this point in the history
  100. [NFC][Intrumentation] Don't brake long RUN: lines (llvm#112281)

    I find multiline 'RUN:' statements hard to read.
    
    ` *\\\n; RUN: *` -> ` ` for  ./llvm/test/Instrumentation/
    vitalybuka authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    fe7f5f9 View commit details
    Browse the repository at this point in the history
  101. [mlir][vector] Update document for vector.splat(NFC) (llvm#112363)

    This PR updates the document for `vector.splat`, specifying that the
    operand type must match the element type of the result.
    CoTinker authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a24e8a7 View commit details
    Browse the repository at this point in the history
  102. [SLP][NFCI]Check early for deleted instructions

    Check as early as possible for the deleted instructions before trying to
    vectorize the code. May reduce number of attempts for the vectorization.
    alexey-bataev committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    060d151 View commit details
    Browse the repository at this point in the history
  103. [InstCombine] Extend fcmp+select folding to minnum/maxnum intrinsics (l…

    …lvm#112088)
    
    Today, InstCombine can fold fcmp+select patterns to minnum/maxnum
    intrinsics when the nnan and nsz flags are set. The ordering of the
    operands in both the fcmp and select instructions is important for the
    folding to occur.
    
    maxnum patterns:
    1. (a op b) ? a : b -> maxnum(a, b), where op is one of {ogt, oge}
    2. (a op b) ? b : a -> maxnum(a, b), where op is one of {ule, ult}
    
    The second pattern is supposed to make the order of the operands in the
    select instruction irrelevant. However, the pattern matching code uses
    the CmpInst::getInversePredicate method to invert the comparison
    predicate. This method doesn't take into account the fast-math flags,
    which can lead missing the folding opportunity.
    
    The patch extends the pattern matching code to handle unordered fcmp
    instructions. This allows the folding to occur even when the select
    instruction has the operands in the inverse order.
    
    New maxnum patterns:
    1. (a op b) ? a : b -> maxnum(a, b), where op is one of {ugt, uge}
    2. (a op b) ? b : a -> maxnum(a, b), where op is one of {ole, olt}
    
    The same changes are applied to the minnum intrinsic.
    bader authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    583fa4f View commit details
    Browse the repository at this point in the history
  104. Reland '[flang][cuda] Add cuf.register_kernel operation' (llvm#112389)

    The operation will be used in the CUF constructor to register the kernel
    functions. This allow to delay this until codegen when the gpu.binary
    will be available.
    
    Reland of llvm#112268 with correct shared library build support.
    clementval authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    7e72e5b View commit details
    Browse the repository at this point in the history
  105. [libc] Add bigint casting between word types (llvm#111914)

    Previously you could cast between bigints with different numbers of
    bits, but only if they had the same underlying type. This patch adds the
    ability to cast between bigints with different underlying types, which
    is needed for llvm#110894
    michaelrj-google authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    87db0c0 View commit details
    Browse the repository at this point in the history
  106. [mlir][td] Rename pack_paddings in structured.pad (llvm#111036)

    The pack_paddings attribute in the structure.pad TD Op is used to set
    the `nofold` attribute in the generated tensor.pad Op. The current name
    is confusing and suggests that there's a relation with the tensor.pack
    Op. This patch renames it as `nofold_flags` to better match the actual
    usage.
    banach-space authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a758bcd View commit details
    Browse the repository at this point in the history
  107. Configuration menu
    Copy the full SHA
    b0a2546 View commit details
    Browse the repository at this point in the history
  108. clang: Remove some pointer bitcasts (llvm#112324)

    Obsolete since opaque pointers.
    arsenm authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    84ee629 View commit details
    Browse the repository at this point in the history
  109. Configuration menu
    Copy the full SHA
    f7468a2 View commit details
    Browse the repository at this point in the history
  110. [lldb-dap] Improving the naming consistency of startDebugging reverse…

    … request. (llvm#112396)
    
    Adjusting the name from `lldb-dap startDebugging` to `lldb-dap
    start-debugging` to improve consistency with other names for commands in
    lldb/lldb-dap.
    ashgti authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    224f62d View commit details
    Browse the repository at this point in the history
  111. [libc] Remove dependency on cpp::function in rpc.h (llvm#112422)

    Summary:
    I'm going to attempt to move the `rpc.h` header to a separate folder
    that we can install and include outside of `libc`. Before doing this I'm
    going to try to trim up the file so there's not as many things I need to
    copy to make it work. This dependency on `cpp::functional` is a low
    hanging fruit. I only did it so that I could overload the argument of
    the work function so that passing the id was optional in the lambda,
    that's not a *huge* deal and it makes it more explicit I suppose.
    jhuber6 authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    be0c67c View commit details
    Browse the repository at this point in the history
  112. [VPlan] Implement VPInterleaveRecipe::computeCost. (llvm#106067)

    Implement computing costs for VPInterleaveRecipe.
    
    PR: llvm#106067
    fhahn authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    2a46e5d View commit details
    Browse the repository at this point in the history
  113. [Clang][TableGen] Use const pointers for various Init * pointers in…

    … SA checker emitter (llvm#112321)
    
    Use const pointers for various Init objects in SA checker emitter. This
    is a part of effort to have better const correctness in TableGen
    backends:
    
    
    https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
    jurahul authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    d1a4791 View commit details
    Browse the repository at this point in the history
  114. Configuration menu
    Copy the full SHA
    685bec7 View commit details
    Browse the repository at this point in the history
  115. [libc] fix -Wmissing-attributes in setjmp (llvm#112415)

    Fixes:
    
        llvm-project/libc/src/setjmp/x86_64/setjmp.cpp:21:25: error: ‘int
        __llvm_libc_19_0_0_git::setjmp(__jmp_buf*)’ specifies less restrictive
        attribute than its target ‘int
        __llvm_libc_19_0_0_git::__setjmp_impl__(__jmp_buf*)’: ‘nothrow’
        [-Werror=missing-attributes]
           21 | LLVM_LIBC_FUNCTION(int, setjmp, (__jmp_buf * buf)) {
              |                         ^~~~~~
    
    observed in the GCC build by manually expanding LLVM_LIBC_FUNCTION to add
    `gnu::nothrow` to the alias.
    
    We probably need to revisit adding nothrow throughout our declarations, so
    there is probably a better way to clean this up in the future.
    
    Link: llvm#88054
    nickdesaulniers authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    46200fc View commit details
    Browse the repository at this point in the history
  116. [lldb][test] Fix TestStdCXXDisassembly test (llvm#112357)

    The patch llvm#98694 was not enough. This test is still failed on the
    buildbot https://lab.llvm.org/staging/#/builders/195/builds/4438
    Use `USE_LIBSTDCPP := 1` instead for non Darwin OS and skip the test if
    libstdc++.so is missing.
    slydiman authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    de7f7ea View commit details
    Browse the repository at this point in the history
  117. [mlir][SCF] Fix dynamic loop pipeline peeling for num_stages > total_…

    …iters (llvm#112418)
    
    When pipelining an `scf.for` with dynamic loop bounds, the epilogue
    ramp-down must align with the prologue when num_stages >
    total_iterations.
    
    For example:
    ```
    scf.for (0..ub) {
      load(i)
      add(i)
      store(i)
    }
    ```
    When num_stages=3 the pipeline follows:
    ```
    load(0)  -  add(0)      -  scf.for (0..ub-2)    -  store(ub-2)
                load(1)     -                       -  add(ub-1)     -  store(ub-1)
    
    ```
    The trailing `store(ub-2)`, `i=ub-2`, must align with the ramp-up for
    `i=0` when `ub < num_stages-1`, so the index `i` should be `max(0,
    ub-2)` and each subsequent index is an increment. The predicate must
    also handle this scenario, so it becomes `predicate[0] =
    total_iterations > epilogue_stage`.
    sjw36 authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    8da5aa1 View commit details
    Browse the repository at this point in the history
  118. Configuration menu
    Copy the full SHA
    3cab882 View commit details
    Browse the repository at this point in the history
  119. DynamicLoaderDarwin load images in parallel with preload (llvm#110646)

    This change enables `DynamicLoaderDarwin` to load modules in parallel
    using the thread pool. This new behavior is controlled by a new setting
    `plugin.dynamic-loader.darwin.experimental.enable-parallel-image-load`,
    which is enabled by default. When disabled, DynamicLoaderDarwin will
    load modules sequentially as before.
    DmT021 authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    5f2cf99 View commit details
    Browse the repository at this point in the history
  120. [GSYM] Remove redundant getInliningInfoForAddress call (llvm#111136)

    In DwarfTransformer::verify() line number information is retrieved for
    each address using:
    
      auto DwarfInlineInfos =
          DICtx.getInliningInfoForAddress(SectAddr, DLIS);
    
    Later down the loop, another such invocation was made before:
    
      Gsym->dump(Log, *FI);
    
    There is a continue after that, DwarfInlineInfos do not affect the
    dump() invocation, I am not aware of any other side effects that is
    needed from the extra getInliningInfoForAddress() invocation, and tests
    pass without it, so just remove it.
    dstenb authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    97da5e6 View commit details
    Browse the repository at this point in the history
  121. [HLSL] Make HLSLAttributedResourceType canonical and add code paths t…

    …o convert HLSL types to DirectX target types (llvm#110327)
    
    Translates `RWBuffer` and `StructuredBuffer` resources buffer types to
    DirectX target types `dx.TypedBuffer` and `dx.RawBuffer`.
    
    Includes a change of `HLSLAttributesResourceType` from 'sugar' type to
    full canonical type. This is required for codegen and other clang
    infrastructure to work property on HLSL resource types.
    
    Fixes llvm#95952 (part 2/2)
    hekota authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    3b45120 View commit details
    Browse the repository at this point in the history
  122. Configuration menu
    Copy the full SHA
    dd47920 View commit details
    Browse the repository at this point in the history
  123. [VPlan] Use VPWidenIntrinsicRecipe to vp.select. (llvm#110489)

    Use VPWidenIntrinsicRecipe
    (llvm#110486)
    to create vp.select intrinsics. This potentially offers an alternative
    to duplicating EVL recipes for all existing recipes.
    
    There are some recipes that will need duplicates (at least at the
    moment), due to extra code-gen needs (e.g. widening loads and stores).
    But in cases the intrinsic can directly be used, creating the widened
    intrinsic directly would reduce the need to duplicate some recipes.
    
    
    PR: llvm#110489
    fhahn authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    34cdd67 View commit details
    Browse the repository at this point in the history
  124. [LLD][COFF] Fix handling of weak aliases referencing lazy symbols (ll…

    …vm#112243)
    
    The assumption that a symbol is either `Defined` or `Undefined` is not
    always true for some cases. For example, `mangleMaybe` may create a weak
    alias to a lazy archive symbol.
    cjacek authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    ba898db View commit details
    Browse the repository at this point in the history
  125. [NFC][PowerPC] Use tablegen's MatchRegisterName() (llvm#111553)

    Use PPC `MatchRegisterName()` that is auto generated by table gen.
    lei137 authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    23da169 View commit details
    Browse the repository at this point in the history
  126. [flang][cuda] Add kernel registration in CUF constructor (llvm#112416)

    Update the CUF constructor with the cuf.register_kernel operations.
    clementval authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    8588014 View commit details
    Browse the repository at this point in the history
  127. [flang] Split interoperability warnings, disable some by default (llv…

    …m#111922)
    
    Type interoperability warnings current issue for intrinsic types when
    their type, kind, or length do not meet the requirements for C
    interoperability. This turns out to be too noisy for the case of
    one-byte characters with lengths other than one when creating C pointers
    from C_LOC or C_F_POINTER -- it is not uncommon for programs to use
    pointers to longer character objects.
    
    So split the interoperability warning so that the case of a known bad
    character length for an otherwise interoperable type is controlled by
    its own UsageWarning enumerator, and leave that usage warning off by
    default. This will better fit expectations in the default case while
    still showing a warning under -pedantic.
    klausler authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    5a9d684 View commit details
    Browse the repository at this point in the history
  128. [flang] Support "PRINT namelistname" (llvm#112024)

    Nearly every Fortran compiler supports "PRINT namelistname" as a synonym
    for "WRITE (*, NML=namelistname)". Implement this extension via parse
    tree rewriting.
    
    Fixes llvm#111738.
    klausler authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a70ffe7 View commit details
    Browse the repository at this point in the history
  129. [flang] Silence impossible error about SMP interface incompatibility (l…

    …lvm#112054)
    
    It is possible for the compiler to emit an impossible error message
    about dummy argument character length incompatibility in the case of a
    MODULE SUBROUTINE or FUNCTION defined later in a submodule with MODULE
    PROCEDURE, when the character length is defined by USE association in
    its interface. The checking for separate module procedure interface
    compatibility needs to use a more flexible check than just operator== on
    a semantics::ParamValue.
    klausler authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    35e8624 View commit details
    Browse the repository at this point in the history
  130. [flang] Fold ERFC_SCALED (llvm#112287)

    Move the ErfcScaled template function from the runtime into a new header
    file in flang/include/Common, then use it in constant folding to
    implement folding for the erfc_scaled() intrinsic function.
    klausler authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    38b9dd7 View commit details
    Browse the repository at this point in the history
  131. [flang] Retain spaces when preprocessing fixed-form source (llvm#112417)

    When running fixed-form source through the compiler under -E, don't
    aggressively remove space characters, since the parser won't be parsing
    the result and some tools might need to see the spaces in the -E
    preprocessed output.
    
    Fixes llvm#112279.
    klausler authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    9fb2db1 View commit details
    Browse the repository at this point in the history
  132. [NFC] Remove unnececary check from test (llvm#112438)

    Important part of the test to have correct
    `ThreadDescriptorSize` after `InitTlsSize()`.
    
    It's not a problem if another test called
    `InitTlsSize()` before.
    
    Fixes llvm#112399.
    vitalybuka authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    e12fbdf View commit details
    Browse the repository at this point in the history
  133. [NFC] Fix flakiness in test if run unsharded (llvm#112439)

    If we run all test in a single process, there is high
    probability that `99` is already claimed.
    vitalybuka authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    01b78b2 View commit details
    Browse the repository at this point in the history
  134. [RISCV] Promote fixed-length bf16 arith vector ops with zvfbfmin (llv…

    …m#112393)
    
    The aim is to have the same set of promotions on fixed-length bf16
    vectors as on fixed-length f16 vectors, and then deduplicate them
    similarly to what was done for scalable vectors.
    
    It looks like fneg/fabs/fcopysign end up getting expanded because fsub
    is now legal, and the default operation action must be expand.
    lukel97 authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    f6c2322 View commit details
    Browse the repository at this point in the history
  135. [SandboxVec] Add pass to create Regions from metadata. Generalize San…

    …dboxVec pass pipelines. (llvm#112288)
    
    My previous attempt (llvm#111904) hacked creation of Regions from metadata
    into the bottom-up vectorizer. I got some feedback that it should be its
    own pass. So now we have two SandboxIR function passes (`BottomUpVec`
    and `RegionsFromMetadata`) that are interchangeable, and we could have
    other SandboxIR function passes doing other kinds of transforms, so this
    commit revamps pipeline creation and parsing.
    
    First, `sandboxir::PassManager::setPassPipeline` now accepts pass
    arguments in angle brackets. Pass arguments are arbitrary strings that
    must be parsed by each pass, the only requirement is that nested angle
    bracket pairs must be balanced, to allow for nested pipelines with more
    arguments. For example:
    ```
        bottom-up-vec<region-pass-1,region-pass-2<arg>,region-pass-3>
    ```
    This has complicated the parser a little bit (the loop over pipeline
    characters now contains a small state machine), and we now have some new
    test cases to exercise the new features.
    
    The main SandboxVectorizerPass now contains a customizable pipeline of
    SandboxIR function passes, defined by the `sbvec-passes` flag. Region
    passes for the bottom-up vectorizer pass are now in pass arguments (like
    in the example above).
    
    Because we have now several classes that can build sub-pass pipelines,
    I've moved the logic that interacts with PassRegistry.def into its own
    files (PassBuilder.{h,cpp} so it can be easily reused.
    
    Finally, I've added a `RegionsFromMetadata` function pass, which will
    allow us to run region passes in isolation from lit tests without
    relying on the bottom-up vectorizer, and a new lit test that does
    exactly this.
    
    Note that the new pipeline parser now allows empty pipelines. This is
    useful for testing. For example, if we use
    ```
      -sbvec-passes="bottom-up-vec<>"
    ```
    SandboxVectorizer converts LLVM IR to SandboxIR and runs the bottom-up
    vectorizer, but no region passes afterwards.
    ```
      -sbvec-passes=""
    ```
    SandboxVectorizer converts LLVM IR to SandboxIR and runs no passes on
    it. This is useful to exercise SandboxIR conversion on its own.
    slackito authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    2e8ad49 View commit details
    Browse the repository at this point in the history
  136. [MLIR][ROCDL] Added SchedGroupBarrier and IglpOpt ops (llvm#112237)

    This PR adds missing `sched.group.barrier` and `rocdl.iglp.opt` ops to
    the ROCDL dialect (see
    [here](https://github.com/llvm/llvm-project/blob/ec78f0da0e9b1b8e2b2323e434ea742e272dd913/clang/include/clang/Basic/BuiltinsAMDGPU.def#L66-L68)).
    The ops are converted to the corresponding intrinsic calls during the
    translation from MLIR to LLVM IRs. This intrinsics are hints to the
    instruction scheduler of the AMDGPU backend.
    ravil-mobile authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    d741435 View commit details
    Browse the repository at this point in the history
  137. [RISCV] Fix bf16 cost model tests. NFC

    These were inadvertently changed in llvm#112393
    lukel97 committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    4c89473 View commit details
    Browse the repository at this point in the history
  138. [flang] Fix broken shared library build (llvm#112444)

    I just introduced a dependency from the Evaluate library to the
    Semantics library, which is circular in a shared library build.
    Rearrange the code a little to ensure that the dependence is only on a
    header.
    klausler authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    7cbb365 View commit details
    Browse the repository at this point in the history
  139. [libc] Add sinpif16 function (llvm#110994)

    Half-precision floating point (16-bit) implementation of the
    trigonometric function Sin for inputs scaled by pi
    wldfngrs authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    ddc3f2d View commit details
    Browse the repository at this point in the history
  140. [Clang][TableGen] Use const pointers for various Init objects in Neon…

    …Emitter (llvm#112317)
    
    Use const pointers for various Init objects in NeonEmitter. This is a
    part of effort to have better const correctness in TableGen backends:
    
    https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
    jurahul authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    9b422d1 View commit details
    Browse the repository at this point in the history
  141. [Clang][TableGen] Use const pointers for various Init objects in Diag…

    …nostic Emitter (llvm#112318)
    
    Use const pointers for various Init objects in Diagnostic Emitter. This
    is a part of effort to have better const correctness in TableGen
    backends:
    
    
    https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
    jurahul authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    ffc5b19 View commit details
    Browse the repository at this point in the history
  142. Configuration menu
    Copy the full SHA
    08ed199 View commit details
    Browse the repository at this point in the history
  143. [lldb] Make the system log a NOOP on non-Darwin platforms

    As discussed in llvm#111911, we have consensus that as it stands, the system
    log is only meaningful on Darwin and that by default it should be a NOOP
    on other platforms.
    JDevlieghere committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    cc13d4f View commit details
    Browse the repository at this point in the history
  144. [ORC][COFF] Remove the ExecutionSession& argument to COFFPlatform

    … factory & constructor (llvm#112419)
    
    We can get a reference to the `ExecutionSession` from the
    `ObjectLinkingLayer` argument, so there's no need to pass it in
    separately.
    
    This mirrors recent changes to `ElfNixPlatform` and `MachOPlatform` by
    @lhames in
    llvm@3dba4ca
    and
    llvm@cc20dd2.
    tjk213 authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    1b6a46a View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2024

  1. [scudo] Double frees result in chunk state error (llvm#110345)

    Fixes bug where a device that supports tagged pointers doesn't use
    the tagged pointer when computing the checksum.
    
    Add tests to verify that double frees result in chunk state error
    not corrupted header errors.
    cferris1000 authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    ed0fd13 View commit details
    Browse the repository at this point in the history
  2. [lldb] Fix command-expr-diagnostics.test for Windows (llvm#112109)

    This adds a minor change to command-expr-diagnostics.test to make
    it pass on windows. Clang produces PDB on windows by default which
    was ignoring main symbol due to optimization. The problem is fixed
    by adding -gdwarf to commandline, making sure dwarf debug info gets
    generated on both Windows and Linux.
    omjavaid committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    eca3206 View commit details
    Browse the repository at this point in the history
  3. Revert "[lldb] Fix command-expr-diagnostics.test for Windows (llvm#11…

    …2109)"
    
    This reverts commit eca3206.
    
    This broke LLDB Linux bot for no apparent reason. I ll post a more
    suitable fix later. Disabled command-expr-diagnostics.test on
    windows for now.
    omjavaid committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    69f7758 View commit details
    Browse the repository at this point in the history
  4. [JITLink] Add support for R_X86_64_SIZE* relocations. (llvm#110081)

    This patch adds support for R_X86_64_SIZE32/R_X86_64_SIZE64 relocation
    types by introducing edge kinds x86_64::Size32/x86_64::Size64. The
    calculation for these relocations is: Z + A, where:
    
    Z - Represents the size of the symbol whose index resides in the
        relocation entry.
    
    A - Represents the addend used to compute the value of the relocation
        field.
    
    Ref: [System V Application Binary Interface
    x86-64](https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/artifacts/master/raw/x86-64-ABI/abi.pdf?job=build)
    higuoxing authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    210140a View commit details
    Browse the repository at this point in the history
  5. [HLSL] Implement WaveReadLaneAt intrinsic (llvm#111010)

    - create a clang built-in in Builtins.td
        - add semantic checking in SemaHLSL.cpp
        - link the WaveReadLaneAt api in hlsl_intrinsics.h
        - add lowering to spirv backend op GroupNonUniformShuffle
          with Scope = 2 (Group) in SPIRVInstructionSelector.cpp
        - add WaveReadLaneAt intrinsic to IntrinsicsDirectX.td and mapping
          to DXIL.td
    
        - add tests for HLSL intrinsic lowering to spirv intrinsic in
          WaveReadLaneAt.hlsl
        - add tests for sema checks in WaveReadLaneAt-errors.hlsl
        - add spir-v backend tests in WaveReadLaneAt.ll
        - add test to show scalar dxil lowering functionality
    
        - note that this doesn't include support for the scalarizer to
          handle WaveReadLaneAt will be added in a future pr
    
    This is the first part llvm#70104
    inbelic authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    6d13cc9 View commit details
    Browse the repository at this point in the history
  6. [AIX][CMake] Disable openmp as LLVM_ENABLE_PROJECTS (llvm#110152)

    in favor of LLVM_ENABLE_RUNTIMES
    DanielCChen authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    bb89988 View commit details
    Browse the repository at this point in the history
  7. Update LLVMLibCArchitectures.cmake (llvm#112464)

    Hi there,
    
    When building llvm-libc on the openEuler system, I encountered an issue
    as shown in the image below:
    
    ![image](https://github.com/user-attachments/assets/75667de4-5bea-4a95-be28-ed34db0e05b9)
    
    This issue happens because the regular expression used in
    `libc/cmake/modules/LLVMLibCArchitectures.cmake`: `string(REGEX MATCH
    "Target: [-_a-z0-9.]+[ \r\n]+")` does not handle capital letters
    properly in `openEuler`.
    
    To fix this, I modified the regular expression to: `string(REGEX MATCH
    "Target: [-_a-zA-Z0-9.]+[ \r\n]+")`. This change makes it compatible
    with capital letters.
    westtide authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    4cc6a08 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b2b0e6c View commit details
    Browse the repository at this point in the history
  9. [LoongArch] Add options for annotate tablejump

    This aligns with GCC. LoongArch kernel developers requested that this
    option generate some corresponding relations in a section, including the
    addresses of the jump instruction(jr) and the `MachineJumpTableEntry`.
    
    Reviewed By: heiher
    
    Pull Request: llvm#102411
    wangleiat authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    4c2c177 View commit details
    Browse the repository at this point in the history
  10. [ORC][llvm-jitlink] Add support for forced loading of archive members.

    This patch adds support for forced loading of archive members, similar to the
    behavior of the -all_load and -ObjC options in ld64. To enable this, the
    StaticLibraryDefinitionGenerator class constructors are extended with a
    VisitMember callback that is called on each member file in the archive at
    generator construction time. This callback can be used to unconditionally add
    the member file to a JITDylib at that point.
    
    To test this the llvm-jitlink utility is extended with -all_load (all platforms)
    and -ObjC (darwin only) options. Since we can't refer to symbols in the test
    objects directly (these would always cause the member to be linked in, even
    without the new flags) we instead test side-effects of force loading: execution
    of constructors and registration of Objective-C metadata.
    
    rdar://134446111
    lhames committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    7937fe1 View commit details
    Browse the repository at this point in the history
  11. [lld] Fix warning in SymbolTable.cpp (llvm#112323)

    Fix gcc warning:
    
    lld/ELF/SymbolTable.cpp:340:33: warning: enumeral and non-enumeral type
    in conditional expression [-Wextra]
    karka228 authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    cfc10be View commit details
    Browse the repository at this point in the history
  12. [Coroutines] Improve dump of BB label to avoid str copies (llvm#112374)

    * This avoids the need to call printAsOperand that requires use of an
    ostream and thus avoids a str copy.
    * ModuleSlotTracker is used to get a BB # for BB's without names when
    dumping SuspendCrossingInfo and materialization info.
    * getBasicBlockLabel() is changed to dumpBasicBlockLabel() that directly
    prints the label to dbgs()
    * The label corresponds with the print-before BB #s.
    * This change does not require any additional arguments to be added to
    dump() methods, at least those that currently do not require any args.
    
    Co-authored-by: tnowicki <[email protected]>
    TylerNowicki and tnowicki authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    4db57ab View commit details
    Browse the repository at this point in the history
  13. [JITLink] Fix i686 R_386_32 and other relocation values (llvm#111091)

    Fix R_386_32 and other relocations by correcting Addend computations.
    vtjnash authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    5716f83 View commit details
    Browse the repository at this point in the history
  14. [mlir][LLVMIR] Add operand bundle support for llvm.intr.assume (llvm#…

    …112143)
    
    This patch adds operand bundle support for `llvm.intr.assume`.
    
    This patch actually contains two parts:
    
    - `llvm.intr.assume` now accepts operand bundle related attributes and
    operands. `llvm.intr.assume` does not take constraint on the operand
    bundles, but obviously only a few set of operand bundles are meaningful.
    I plan to add some of those (e.g. `aligned` and `separate_storage` are
    what interest me but other people may be interested in other operand
    bundles as well) in future patches.
    
    - The definitions of `llvm.call`, `llvm.invoke`, and
    `llvm.call_intrinsic` actually define `op_bundle_tags` as an operation
    property. It turns out this approach would introduce some unnecessary
    burden if applied equally to the intrinsic operations because properties
    are not available through `Operation *` but we have to operate on
    `Operation *` during the import/export of intrinsics, so this PR changes
    it from a property to an array attribute.
    Lancern authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    d8fadad View commit details
    Browse the repository at this point in the history
  15. [ORC] Fix LLJIT's atexit declaration for clang-repl on SystemZ.

    The atexit needs a signext attribute on its return type. See
    llvm#109658.
    lhames committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    4245c00 View commit details
    Browse the repository at this point in the history
  16. [RISCV] Fix vp-intrinsics args in cost model tests. NFC (llvm#112463)

    This patch contains following changes to fix vp intrinsics tests.
    1. v\*float -> v\*f32, v\*double -> v\*f64 and v\*half -> v\*f16
    2. Fix the order of the vp-intrinsics.
    ElvisWang123 authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    f364804 View commit details
    Browse the repository at this point in the history
  17. [VPlan] Mark VPVectorPointerRecipe as not having sideeffects.

    VectorPointer doesn't read from memory or have any sideeffects. Mark it
    accordingly.
    fhahn committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    3860e29 View commit details
    Browse the repository at this point in the history
  18. Update llvm::Registry to work for LLVM shared library builds on windo…

    …ws (llvm#109024)
    
    This is part of the effort to support for enabling plugins on windows by
    adding better support for building llvm and clang as a DLL.
    
    Since windows doesn't implicitly import and merge exported symbols
    across shared libraries like other platforms we need to explicitly add a
    extern template declaration for each instantiation of llvm::Registry to
    force the registry symbols to be dllimport'ed.
    I've added a new visibility macro that doesn't switch between dllimport
    and dllexport on windows since the existing macro would be in the wrong
    mode for llvm::Registry's declared in Clang. This PR also depends Clang
    symbol visibility macros that will be added by llvm#108276
    
    ---------
    
    Co-authored-by: Saleem Abdulrasool <[email protected]>
    fsfod and compnerd authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    00cd1a0 View commit details
    Browse the repository at this point in the history
  19. [ELF] Pass Ctx & to Partition

    MaskRay committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    682925e View commit details
    Browse the repository at this point in the history
  20. Revert "Update llvm::Registry to work for LLVM shared library builds …

    …on windows (llvm#109024)"
    
    This reverts commit 00cd1a0.
    
    This effectively reverts llvm#109024
    vgvassilev committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    b8882be View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    282ab2f View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    cc5b5ca View commit details
    Browse the repository at this point in the history
  23. [CMake] Do not set CMP0114 explicitly to old (llvm#90384)

    CMP0114 was originally set to old to get rid of warnings. However, this
    behavior is now set to new by default with the minimum CMake version
    that LLVM requires so does not produce any warnings, and setting it
    explicitly to old does produce a warning in newer CMake versions. Due to
    these reasons, remove this check for now.
    
    Splitting off from removing the CMP0116 check just in case something
    breaks.
    
    Partially fixes llvm#83727.
    boomanaiden154 authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    49de154 View commit details
    Browse the repository at this point in the history
  24. Revert "[mlir][LLVMIR] Add operand bundle support for llvm.intr.assume (

    llvm#112143)"
    
    This reverts commit d8fadad.
    
    The commit breaks the following CI builds:
    - ppc64le-mlir-rhel-clang: https://lab.llvm.org/buildbot/#/builders/129/builds/7685
    - ppc64le-flang-rhel-clang: https://lab.llvm.org/buildbot/#/builders/157/builds/10338
    Lancern committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    484c027 View commit details
    Browse the repository at this point in the history
  25. [VPlan] Use alloc-type to compute interleave group offset.

    Use getAllocTypeSize to get compute the offset to the start of
    interleave groups instead getScalarSizeInBits, which may return 0 for
    pointers. This is in line with the analysis building the interleave
    groups and fixes a mis-compile reported for
    llvm#106431.
    fhahn committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    bbff5b8 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    e55869a View commit details
    Browse the repository at this point in the history
  27. [LV] Add additional trip count expansion tests for llvm#92177.

    Extra tests for llvm#92177, split
    off the PR.
    fhahn committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    2442310 View commit details
    Browse the repository at this point in the history
  28. [mlir][arith] Remove some e2e tests (llvm#112012)

    I am removing the recently added integration test for various Arith Ops.
    These operations and their lowerings are effectively already verified by
    the Arith-to-LLVM conversion tests in:
      * "mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir"
    
    I've noticed that a few variants of `arith.cmpi` were missing in that
    file - those are added here as well.
    
    This is a follow-up for this discussion:
      * llvm#92272
    
    See also the recent update to our guidelines on e2e tests in MLIR:
      * llvm/mlir-www#203
    banach-space authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    37ad65f View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    e1d205a View commit details
    Browse the repository at this point in the history
  30. AMDGPU/GlobalISel: Run redundant_and combine in RegBankCombiner (llvm…

    …#112353)
    
    Combine is needed to clear redundant ANDs with 1 that will be
    created by reg-bank-select to clean-up high bits in register.
    Fix replaceRegWith from CombinerHelper:
    If copy had to be inserted, first create copy then delete MI.
    If MI is deleted first insert point is not valid.
    petar-avramovic authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    14d006c View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    eccf4d4 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    732b804 View commit details
    Browse the repository at this point in the history
  33. Revert "[PGO] Preserve analysis results when nothing was instrumented (

    …llvm#93421)"
    
    This reverts commit 23c64be.
    Howard Roark committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    e36b22f View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    488d392 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    c137b3e View commit details
    Browse the repository at this point in the history
  36. [X86] Do not elect to tail call if caller must preserve all registers

    A miscompilation issue has been addressed with improved checking.
    
    Fixes: llvm#97758.
    antoniofrighetto committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    d3a8363 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    72a7b47 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    4ddea29 View commit details
    Browse the repository at this point in the history
  39. [clang][analyzer] Improve test and documentation in cstring NotNullTe…

    …rminated checker (llvm#112019)
    
    CStringChecker has a sub-checker alpha.unix.cstring.NotNullTerminated
    which checks for invalid objects passed to string functions. The checker
    and its name are not exact and more functions could be checked, this
    change only adds some tests and improves documentation.
    balazske authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    9df8d8d View commit details
    Browse the repository at this point in the history
  40. [InstCombine] Drop samesign flag in foldAndOrOfICmpsWithConstEq (l…

    …lvm#112489)
    
    In
    llvm@5dbfca3
    we assume that RHS is poison implies LHS is also poison. It doesn't hold
    after introducing samesign flag.
    
    This patch drops the `samesign` flag on RHS if the original expression
    is a logical and/or.
    
    Closes llvm#112467.
    dtcxzyw authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    3bf2295 View commit details
    Browse the repository at this point in the history
  41. [Modules][NFC] Rewrite friend-definition-2.cpp with split-file (llvm#…

    …112380)
    
    Instead of the pragmas, which are less familiar to people.
    This is a follow-up of a discussion from llvm#111992.
    ilya-biryukov authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    f0d7ccc View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    5059059 View commit details
    Browse the repository at this point in the history
  43. [clang][ExtractAPI] Fix up casting from CXXClassRecord (llvm#110983)

    `RecordRecord::classOfKind` and `TagRecord::classofKind` didn't
    correctly capture `RK_CXXClass` and derived variants, e.g.
    `RK_ClassTemplate`. This materialized by anonymous C++ tag types not
    being correctly detected when they need to be merged with another
    record.
    daniel-grumberg authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    949177d View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    1549291 View commit details
    Browse the repository at this point in the history
  45. [LLVM][AArch64][NFC] Remove redundant copy parameter in method (llvm#…

    …110300)
    
    Remove redundant copy parameter in method
    
    Fixes llvm#94233
    AmrDeveloper authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    2122302 View commit details
    Browse the repository at this point in the history
  46. [LLVM][NFC] Reduce copying of parameter in lambda (llvm#110299)

    Reduce redundant copy parameter in lambda
    
    Fixes llvm#95642
    AmrDeveloper authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    4ba1800 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    4c28d21 View commit details
    Browse the repository at this point in the history
  48. [Sema] Fix warning in SemaOpenACC.cpp (llvm#112481)

    Fix gcc warning:
    
    clang/lib/Sema/SemaOpenACC.cpp:2208:5: warning: this statement may fall
    through [-Wimplicit-fallthrough=]
    karka228 authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    7c5d5c0 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    0eed305 View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    1d40fef View commit details
    Browse the repository at this point in the history
  51. [MIR] Fix vreg flag vector memory leak (llvm#112479)

    A fix-it patch for dbfca24 llvm#110228.
    
    No need for a container. This allows 8 flags for a register.
    
    The virtual register flags vector had a memory leak because the vector's
    memory is not freed.
    The `BumpPtrAllocator` handles the deallocation and missed calling the
    `std::vector<uint8_t> Flags` destructor.
    optimisan authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    b5cc222 View commit details
    Browse the repository at this point in the history
  52. [Flang][OpenMP] Support lowering of simd reductions (llvm#112194)

    This patch enables lowering to MLIR of the reduction clause of `simd`
    constructs. Lowering from MLIR to LLVM IR remains unimplemented, so at
    that stage it will result in errors being emitted rather than silently
    ignoring it as it is currently done.
    
    On composite `do simd` constructs, this lowering error will remain
    untriggered, as the `omp.simd` operation in that case is currently
    ignored. The MLIR representation, however, will now contain `reduction`
    information.
    skatrak authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    15d8576 View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    7033408 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. [libunwind][AArch64] Protect PC within libunwind's context.

    Libunwind manages the regiser context including the program counter
    which is used effectively as return address.
    To increase the robustness of libunwind let's protect the stored address
    with PAC. Since there is no unwind info for this let's use the A key and
    the base address of the context/registers as modifier.
    __libunwind_Registers_arm64_jumpto can go anywhere where the given buffer
    's PC points to. After this patch it needs a signed PC therefore the context
     is more harder to cract outside of libunwind.
    
    The register value is internal to libunwind and the change is not visible
    on the the APIs.
    w
    DanielKristofKiss committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    3dd2f4d View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2024

  1. Configuration menu
    Copy the full SHA
    1423c03 View commit details
    Browse the repository at this point in the history
  2. log

    DanielKristofKiss committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    c8f721c View commit details
    Browse the repository at this point in the history