LLVM/project 7b4dfecllvm/test/MC/AsmParser macro-irp.s macro-rept.s

[MCAsmParser] Improve .rept/.irp tests
DeltaFile
+33-16llvm/test/MC/AsmParser/macro-irp.s
+21-1llvm/test/MC/AsmParser/macro-rept.s
+0-7llvm/test/MC/AsmParser/macro-rept-err2.s
+0-6llvm/test/MC/AsmParser/macro-rept-err1.s
+54-304 files

LLVM/project 2a97b50flang/lib/Lower/OpenMP DataSharingProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP wsloop-collapse.f90 parallel-wsloop.f90

[flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)

DeltaFile
+73-35flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
+30-14flang/test/Lower/OpenMP/wsloop-collapse.f90
+24-8flang/test/Lower/OpenMP/parallel-wsloop.f90
+19-8flang/test/Lower/OpenMP/default-clause.f90
+17-10flang/lib/Lower/OpenMP/OpenMP.cpp
+23-0flang/test/Lower/OpenMP/critical.f90
+186-7555 files not shown
+390-21861 files

LLVM/project bfeebdaflang/test lit.cfg.py lit.site.cfg.py.in, flang/test/Lower/OpenMP omp-lib-num-threads.f90 atomic-capture.f90

[flang][OpenMP] Re-enable tests when building OpenMP as a runtime (#89046)

DeltaFile
+9-0flang/test/lit.cfg.py
+4-4flang/test/Lower/OpenMP/omp-lib-num-threads.f90
+5-1flang/test/lit.site.cfg.py.in
+2-3flang/test/Lower/OpenMP/atomic-capture.f90
+2-2flang/test/Lower/OpenMP/sections.f90
+2-2flang/test/Parser/OpenMP/allocate-tree.f90
+24-1248 files not shown
+78-6454 files

LLVM/project 195ba45llvm/lib/MC/MCParser AsmParser.cpp, llvm/test/MC/AsmParser macro-rept.s macro-arg.s

[MCAsmParser] .macro/.rept/.irp/.irpc: remove excess \n after expansion

```
.irp foo,1
nop
.endr
nop
```

expands to an excess EOL between two nop lines. Other loop directives
and .macro have the same issue.

`Lex()` at "Jump to the macro instantiation and prime the lexer"
requires that there is one single \n token in CurTok. Therefore, we
cannot consume the trailing \n when parsing the macro(-like) body.
(commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba (reverted by
1e5f29af81a5f6fda308074f6345b9fba4faa71c))

Instead, skip the potential \n after jumpToLoc at handleMacroExit.
DeltaFile
+17-18llvm/lib/MC/MCParser/AsmParser.cpp
+13-12llvm/test/MC/AsmParser/macro-rept.s
+2-4llvm/test/MC/AsmParser/macro-arg.s
+2-0llvm/test/MC/AsmParser/macro-irp.s
+34-344 files

LLVM/project 219476d. etime-function.mlir

Fix: remove wrongly pushed etime-function.mlir at toplevel (#92634)

The purpose of this PR is to remove the 'etime-function.mlir' file that
I mistakenly committed in
https://github.com/llvm/llvm-project/pull/92571. This file is not
necessary in source code control, and its presence may cause confusion
or misunderstanding.
DeltaFile
+0-25etime-function.mlir
+0-251 files

LLVM/project 9e98815.github dependabot.yml

[Github] Revert accidental changes to dependabot config

f3524e9aebbfabed0c60d0087b39ce14d8f778da accidentally touched the
dependabot config. This patch reverts that change.
DeltaFile
+16-10.github/dependabot.yml
+16-101 files

LLVM/project cfe9deb.github dependabot.yml, compiler-rt/lib/ctx_profile CMakeLists.txt

Reapply "[ctx_profile] Integration test (#92456)"

This reverts commit 881f20e958e80bd30463fc57d2d3e891bcb8a571.

Passing -ldl -lpthread explicitly
DeltaFile
+103-0compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
+10-16.github/dependabot.yml
+9-0compiler-rt/lib/ctx_profile/CMakeLists.txt
+4-0compiler-rt/test/ctx_profile/lit.cfg.py
+126-164 files

LLVM/project 702198fflang/lib/Lower ConvertVariable.cpp, flang/test/Lower/CUDA cuda-program-global.cuf

[flang][cuda] Add data attribute to program globals (#92610)

DeltaFile
+19-0flang/test/Lower/CUDA/cuda-program-global.cuf
+4-1flang/lib/Lower/ConvertVariable.cpp
+23-12 files

LLVM/project faf39f4lld/ELF InputSection.cpp, lld/test/ELF loongarch-relax-align-ldr.s loongarch-relax-emit-relocs.s

Revert "[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)"

This reverts commit 01f79899ba349a0200586c8d05f5e22cca2ced31.

This unusual special case has been discussed on the binutils mailing
list. The approach will be revisited:
https://sourceware.org/pipermail/binutils/2024-May/134092.html

Pull Request: https://github.com/llvm/llvm-project/pull/92584
DeltaFile
+0-28lld/test/ELF/loongarch-relax-align-ldr.s
+6-8llvm/test/MC/LoongArch/Relocations/relax-align.s
+5-2llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
+1-5lld/ELF/InputSection.cpp
+2-3lld/test/ELF/loongarch-relax-emit-relocs.s
+1-1llvm/test/MC/LoongArch/Relocations/relax-addsub.s
+15-476 files

LLVM/project 1e9324alldb/include/lldb/API SBExpressionOptions.h, lldb/source/API SBExpressionOptions.cpp

[lldb] Namespace SBSourceLanguageName (NFC)
DeltaFile
+1-1lldb/include/lldb/API/SBExpressionOptions.h
+1-1lldb/source/API/SBExpressionOptions.cpp
+2-22 files

LLVM/project b672d9ellvm/lib/CodeGen/AsmPrinter DwarfDebug.cpp, llvm/test/DebugInfo/X86 debug-names-split-dwarf-inlining.ll

DebugInfo: Don't emit .debug_names entries for split-dwarf-inlining info
DeltaFile
+84-0llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll
+2-1llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+86-12 files

LLVM/project 881f20ecompiler-rt/lib/ctx_profile CMakeLists.txt, compiler-rt/test/ctx_profile lit.cfg.py

Revert "[ctx_profile] Integration test (#92456)"

This reverts commit 487d5af6482ea5f074c12d29d7e376d3fc697706.

This was causing failures on some buildbots.
https://lab.llvm.org/buildbot/#/builders/247/builds/18559
DeltaFile
+0-103compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
+0-9compiler-rt/lib/ctx_profile/CMakeLists.txt
+0-4compiler-rt/test/ctx_profile/lit.cfg.py
+0-1163 files

LLVM/project 86e511bflang/runtime io-api.cpp

[flang] Fixed https://lab.llvm.org/buildbot/#/builders/270/builds/14406
DeltaFile
+1-0flang/runtime/io-api.cpp
+1-01 files

LLVM/project 48c1364clang/lib/Driver/ToolChains OpenBSD.cpp

[clang] Don't assume location of compiler-rt for OpenBSD (#92183)

If the `/usr/lib/...` path where compiler-rt is conventionally installed
on OpenBSD does not exist, fall back to the regular logic to find it.

This is a minimal change to allow OpenBSD cross compilation from a
toolchain that doesn't adopt all of OpenBSD's monorepo's conventions.

(cherry picked from commit be10746f3a4381456eb5082a968766201c17ab5d)
DeltaFile
+2-1clang/lib/Driver/ToolChains/OpenBSD.cpp
+2-11 files

LLVM/project cef6387clang/include/clang/Basic DiagnosticSemaKinds.td DiagnosticGroups.td, clang/lib/Sema SemaDeclAttr.cpp

[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members

In 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 an additional restriction
was added when applying the `counted_by` attribute to flexible array
members in structs. The restriction prevented the element type being
a struct that itself had a flexible array member. E.g.:

```
struct has_unannotated_VLA {
  int count;
  char buffer[];
};

struct buffer_of_structs_with_unnannotated_vla {
  int count;
  struct has_unannotated_VLA Arr[] __counted_by(count);
};
```


    [13 lines not shown]
DeltaFile
+15-2clang/lib/Sema/SemaDeclAttr.cpp
+6-3clang/test/Sema/attr-counted-by-vla.c
+7-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+4-0clang/include/clang/Basic/DiagnosticGroups.td
+32-64 files

LLVM/project b80e0fbmlir/include/mlir/Dialect/Polynomial/IR Polynomial.td PolynomialAttributes.td, utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[mlir][polynomial] split attributes into its own tablegen (#92613)

Out of tree we have other dialects that use the ring attribute, but we
get compilation errors when generating ops while pulling in all the
Polynomial tablegen ops (there's no `-dialect` flag in `mlir-tblgen` for
op generation like there is for attributes and types).

This PR simply moves the attributes into its own file, so it can be
included separately, and this also requires moving the dialect
declaration into its own file.
DeltaFile
+2-151mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
+125-0mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
+55-0mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
+1-1mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
+1-1utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+184-1535 files

LLVM/project ab7930bflang/include/flang/Semantics tools.h, flang/lib/Semantics check-declarations.cpp

[flang] Relax checking of dummy procedures under BIND(C) (#92474)

As was done recently to allow derived types that are not explicitly
BIND(C), but meet the requirements of BIND(C), to be acceptable for use
in contexts nominally requiring BIND(C), this patch allows procedures
that are not explicitly BIND(C) to be used in contexts that nominally
require BIND(C) so long as (1) they meet the requirements of BIND(C),
and (2) don't use dummy arguments whose implementations may vary under
BIND(C), such as VALUE.
DeltaFile
+266-174flang/lib/Semantics/check-declarations.cpp
+68-3flang/test/Semantics/bind-c12.f90
+13-14flang/include/flang/Semantics/tools.h
+9-9flang/test/Semantics/bind-c09.f90
+3-3flang/test/Semantics/bind-c03.f90
+1-1flang/test/Semantics/resolve82.f90
+360-2041 files not shown
+361-2047 files

LLVM/project fe2ff54flang/runtime io-api.cpp io-api-minimal.cpp

[flang][runtime] Decouple scalar output APIs from descriptors (#92444)

For testing purposes the implementations of the output APIs like
OutputInteger32 have been simply constructing descriptors and executing
the operation through the general DescriptorIO template. This patch
decouples those APIs from that mechanism so that programs using simple
"PRINT *" statements for output can link to a smaller portion of the I/O
runtime support library. (This is the only form of I/O accepted in GPU
device code by previous CUDA Fortran and Fortran OpenACC compilers.)
DeltaFile
+6-214flang/runtime/io-api.cpp
+163-0flang/runtime/io-api-minimal.cpp
+93-0flang/runtime/io-api-common.h
+1-2flang/runtime/descriptor-io.h
+1-0flang/runtime/CMakeLists.txt
+264-2165 files

LLVM/project 34c1fe3compiler-rt/lib/sanitizer_common sanitizer_symbolizer_posix_libcdep.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.4
DeltaFile
+8-1compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
+8-11 files

LLVM/project 8da3a8fllvm/lib/Target/NVPTX NVPTXUtilities.cpp NVPTXISelLowering.cpp, llvm/test/CodeGen/NVPTX param-overalign.ll

[NVPTX] fixup support for over-aligned parameters (#92457)

This extends the NVPTX support for over-aligned parameters and return
values in a few related ways:

- Support for `alignstack` attribute, as an alternative to legacy nvvm
`!"align"` metadata entries. While we still maintain the legacy support,
long term it might be nice to auto-upgrade to `alignstack`.
- Check the alignment info when emitting the parameter list to prevent a
mismatch between alignment of caller and callee, which would previously
cause a fatal error for `ptxas`.
- Check the alignment info when emitting loads for parameters,
potentially enabling better vectorization.
DeltaFile
+109-0llvm/test/CodeGen/NVPTX/param-overalign.ll
+28-19llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
+16-17llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+9-5llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
+3-2llvm/lib/Target/NVPTX/NVPTXUtilities.h
+3-0llvm/lib/Target/NVPTX/NVPTXISelLowering.h
+168-436 files

LLVM/project e2db08fclang/test/Sema/aarch64-sme2-intrinsics acle_sme2_add_sub_za16.c

[test] Use conventional -emit-llvm-only

Similar to a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
DeltaFile
+1-1clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
+1-11 files

LLVM/project bdfb04alldb/tools/lldb-dap package.json

[lldb-dap] Bump the version to 0.2.1

Bump the version to 0.2.1 to test the publishing workflow and update the
extension README and URL.
DeltaFile
+1-1lldb/tools/lldb-dap/package.json
+1-11 files

LLVM/project 6d50a79flang/lib/Semantics resolve-names.cpp semantics.cpp, flang/module cudadevice.f90

[flang][cuda] Implicitly load cudadevice module in device/global subprogram (#92038)

This is a re-worked version of #91668. It adds the `cudadevice` module
and set the `device` attributes on its functions/subroutines so there is
no need for special case in semantic check.
`cudadevice` module is implicitly USE'd in `global`/`device` subprogram.
DeltaFile
+74-0flang/module/cudadevice.f90
+35-0flang/test/Semantics/cuf-device-procedures01.cuf
+20-0flang/lib/Semantics/resolve-names.cpp
+17-0flang/test/Semantics/cuf-device-procedures02.cuf
+8-4flang/tools/f18/CMakeLists.txt
+8-0flang/lib/Semantics/semantics.cpp
+162-41 files not shown
+166-57 files

LLVM/project 1a5bc7ccompiler-rt/test/tsan signal_in_mutex_lock.cpp

Fix flaky test: signal_in_mutex_lock.cpp (#92587)

Fix flaky test: the spawned thread keeps spinning
on `sampler_mutex` which may be released before
the thread is terminated based on termination
ordering.

My understanding of C++ semantics are that the
program here is invalid: the destructors of global
variables are invoked at the time of program
termination, and it is the responsibility of the
program to ensure that invoking those destructors
is safe.

rdar://126768628
DeltaFile
+20-12compiler-rt/test/tsan/signal_in_mutex_lock.cpp
+20-121 files

LLVM/project 3d0752bllvm/lib/Transforms/IPO GlobalOpt.cpp, llvm/test/Transforms/GlobalOpt alias-weak.ll

[GlobalOpt] Don't replace aliasee with alias that has weak linkage (#91483)

Fixes #91312.

Don't perform the transform if the alias may be replaced at link time.

(cherry picked from commit c79690040acf5bb3d857558b0878db47f7f23dc3)
DeltaFile
+57-0llvm/test/Transforms/GlobalOpt/alias-weak.ll
+3-0llvm/lib/Transforms/IPO/GlobalOpt.cpp
+60-02 files

LLVM/project af7467clibcxx/src atomic.cpp chrono.cpp, libcxxabi/src cxa_guard_impl.h

[libcxx][libcxxabi] Fix build for OpenBSD (#92186)

- No indirect syscalls on OpenBSD. Instead there is a `futex` function
which issues a direct syscall.

- Monotonic clock is available despite the full POSIX suite of timers
not being available in its entirety.

  See https://lists.boost.org/boost-bugs/2015/07/41690.php and
  https://github.com/boostorg/log/commit/c98b1f459add14d5ce3e9e63e2469064601d7f71
  for a description of an analogous problem and fix for Boost.
DeltaFile
+14-2libcxx/src/atomic.cpp
+15-1libcxxabi/src/cxa_guard_impl.h
+3-1libcxx/src/chrono.cpp
+32-43 files

LLVM/project 9208786llvm/lib/Target/AArch64 AArch64Arm64ECCallLowering.cpp, llvm/test/CodeGen/AArch64 arm64ec-entry-thunks.ll

[Arm64EC] Correctly handle sret in entry thunks. (#92326)

I accidentally left out the code to transfer sret attributes to entry
thunks, so values weren't being passed in the right registers, and the
sret pointer wasn't returned in the correct register.

Fixes #90229
DeltaFile
+22-14llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
+8-1llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
+30-152 files

LLVM/project bee6966llvm/lib/Target/AArch64 AArch64Arm64ECCallLowering.cpp, llvm/test/CodeGen/AArch64 arm64ec-exit-thunks.ll arm64ec-entry-thunks.ll

[Arm64EC] Improve alignment mangling in arm64ec thunks. (#90115)

In some cases, MSVC's mangling for arm64ec thunks includes the alignment
of a struct. I added some code to try to match... but it never really
worked right. The issues:

- Alignment is only mangled if it's 16 or more (I guess the default is
supposed to be 8).
- Alignment isn't mangled on return values (since the memory is
allocated by the caller).

The current patch leaves hooks to make alignment mangling work... but
doesn't actually ever mangle alignment: clang never actually encodes a
relevant alignment into the IR. Once we get clang to emit the real
size/alignment of structs, we can start emitting it.
DeltaFile
+5-5llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
+4-3llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
+3-3llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
+12-113 files

LLVM/project 61f1c62llvm/include/llvm/Transforms/Utils CallPromotionUtils.h

remove unused forward declaration from header file
DeltaFile
+0-1llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
+0-11 files

LLVM/project 6456ebb.github/workflows libclang-abi-tests.yml

[workflows] Fix libclang-abi-tests to work with new version scheme (#91865)

(cherry picked from commit d06270ee00e37b247eb99268fb2f106dbeee08ff)
DeltaFile
+3-4.github/workflows/libclang-abi-tests.yml
+3-41 files