LLVM/project 222eb25llvm/lib/Transforms/Utils BuildLibCalls.cpp, llvm/test/Transforms/InferFunctionAttrs annotate.ll

[InferAttrs] Mark ceil and round as memory(none) (#170694)

This probably should've been done in
https://github.com/llvm/llvm-project/pull/124742, but it wasn't. The
floor, ceil, round, and trunc family of functions all behave the same.
DeltaFile
+6-6llvm/lib/Transforms/Utils/BuildLibCalls.cpp
+6-6llvm/test/Transforms/InferFunctionAttrs/annotate.ll
+12-122 files

LLVM/project 5c91afellvm/include/llvm/CodeGen TargetInstrInfo.h, llvm/lib/CodeGen/SelectionDAG SelectionDAGISel.cpp

AMDGPU: Avoid crashing on statepoint-like pseudoinstructions

At the moment the MIR tests are somewhat redundant. The waitcnt
one is needed to ensure we actually have a load, given we are
currently just emitting an error on ExternalSymbol. The asm printer
one is more redundant for the moment, since it's stressed by the IR
test. However I am planning to change the error path for the IR test,
so it will soon not be redundant.
DeltaFile
+64-0llvm/test/CodeGen/AMDGPU/statepoint-insert-waitcnts.mir
+40-0llvm/test/CodeGen/AMDGPU/statepoint-asm-printer.mir
+16-0llvm/test/CodeGen/AMDGPU/llvm.deoptimize.ll
+12-1llvm/include/llvm/CodeGen/TargetInstrInfo.h
+12-0llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+11-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+155-17 files not shown
+184-313 files

LLVM/project ce03c68llvm/lib/Target/AMDGPU AMDGPUISelLowering.cpp

AMDGPU: Create a dummy call sequence when emitting call error

At least one special case call lowering tries to parse the call
sequence and asserts when it can't find a callseq_end.
DeltaFile
+6-1llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+6-11 files

LLVM/project 64e1991lldb/include/lldb/Host Terminal.h, lldb/source/Host/common Terminal.cpp DiagnosticsRendering.cpp

[lldb] improve the heuristics for checking if a terminal supports Unicode (#168603)

This patch improves the way lldb checks if the terminal it's opened in
(if any) supports Unicode or not.

On POSIX systems, we check if `LANG` contains `UTF-8`.

On Windows, we always return `true` since we use the `WriteToConsoleW`
api.
DeltaFile
+15-0lldb/source/Host/common/Terminal.cpp
+12-0lldb/include/lldb/Host/Terminal.h
+3-5lldb/source/Host/common/DiagnosticsRendering.cpp
+30-53 files

LLVM/project 4424a58llvm/docs RFCProcess.rst DeveloperPolicy.rst

Document the community RFC process (#116386)

This adds documentation about how the community RFC process works, based
on how the community typically runs RFCs. The goal is to roughly
document the process as-is and then post a follow-up explaining how the
new governance model ties in to the RFC process. From there, we can
discuss any changes to the process we would like to make via... an RFC.
DeltaFile
+125-0llvm/docs/RFCProcess.rst
+13-46llvm/docs/DeveloperPolicy.rst
+2-1llvm/docs/CodeReview.rst
+2-1llvm/docs/Lexicon.rst
+2-0llvm/docs/index.rst
+144-485 files

LLVM/project ac56d6ellvm/lib/CodeGen/SelectionDAG LegalizeDAG.cpp LegalizeFloatTypes.cpp

DAG: Avoid using getLibcallName for function support test (#170583)

DeltaFile
+4-4llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+4-3llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+1-1llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+9-83 files

LLVM/project 6283259llvm/include/llvm/CodeGen RuntimeLibcallUtil.h, llvm/lib/CodeGen TargetLoweringBase.cpp

DAG: Use more RTLIB helper functions for getting libcall from type (#170563)

We had a set of utilities which was only used for some set of
floating point libcalls. Add more, most of which are for integer
operations.

Ideally we would generate these functions from tablegen.
DeltaFile
+177-0llvm/lib/CodeGen/TargetLoweringBase.cpp
+14-123llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+57-1llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
+248-1243 files

LLVM/project b109bf5llvm/test/CodeGen/X86 combine-sub-usat.ll

[X86] combine-sub-usat.ll - add test coverage inspired by #170076 (#170681)

DeltaFile
+63-0llvm/test/CodeGen/X86/combine-sub-usat.ll
+63-01 files

LLVM/project 2d4d7e3flang/docs ReleaseNotes.md ReleaseNotesTemplate.txt

[flang][docs] Tweak in-progress warning in the release notes page

Reformat the in-progress warning message in the release notes page. This
is now rendered in a style similar to that of clang. The warning will
be hidden on release builds of the documentation.
DeltaFile
+7-5flang/docs/ReleaseNotes.md
+7-5flang/docs/ReleaseNotesTemplate.txt
+14-102 files

LLVM/project 4c03b88llvm/test/tools/llvm-readobj/MachO file-headers.test, llvm/tools/llvm-readobj MachODumper.cpp

[llvm-readobj][MachO] Add support for CPU_TYPE_ARM64_32 (#170193)

This adds support for ARM64_32 (ILP32) cpu type and subtype in
llvm-readobj --file-headers. The support was previously added for
llvm-objdump but was accidentally omitted from llvm-readobj.
DeltaFile
+74-135llvm/test/tools/llvm-readobj/MachO/file-headers.test
+21-10llvm/tools/llvm-readobj/MachODumper.cpp
+95-1452 files

LLVM/project 4b2714fflang-rt/lib/runtime descriptor.cpp, flang-rt/unittests/Runtime Descriptor.cpp

[flang/flang-rt] Implement show_descriptor intrinsic, a non-standard extension. (#170389)

This is a reapply the original patch (#169137) with the flang-rt unit
test changes limiting it to linux platform only.
Additionally accommodated style changes from Peter Klausler (#170227)
    
show_descriptor intrinsic prints details of a descriptor (extended
Fortran pointer).
It accepts a descriptor for any type and rank, including scalars.
Requires use of flang_debug module.
    
Example:
```
    program test
      use flang_debug
      implicit none
      integer :: a(4) = (/ 1,3,5,7 /)
      call show_descriptor(a(1:3))
    end program test

    [13 lines not shown]
DeltaFile
+241-0flang/test/Lower/Intrinsics/show_descriptor.f90
+152-5flang-rt/lib/runtime/descriptor.cpp
+122-0flang-rt/unittests/Runtime/Descriptor.cpp
+43-0flang/docs/Intrinsics.md
+14-0flang/module/flang_debug.f90
+14-0flang/lib/Optimizer/Builder/IntrinsicCall.cpp
+586-59 files not shown
+623-715 files

LLVM/project 87ccc55clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaOpenACCClause.cpp

[OpenACC] Adjust rules of 'routine' required clauses (#170667)

The interaction between various clauses on 'routine' was not implemented
QUITE right, as I discovered when looking into the implementation of the
ACC dialect. This patch fixes it up so that there can only be 1 of the
special clauses per device_type VALUE (including nvidia ==
    acc_device_nvidia).

This patch also does a refactor/unification of this with the rules of
other clauses, as we now know they are effectively the same.
DeltaFile
+162-194clang/lib/Sema/SemaOpenACCClause.cpp
+154-123clang/test/SemaOpenACC/routine-construct-clauses.cpp
+20-4clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
+10-12clang/include/clang/Basic/DiagnosticSemaKinds.td
+8-8clang/test/SemaOpenACC/data-construct-async-clause.c
+8-8clang/test/SemaOpenACC/compute-construct-async-clause.c
+362-3498 files not shown
+392-37914 files

LLVM/project 4f2d209llvm/lib/Target/AArch64/GISel AArch64LegalizerInfo.cpp, llvm/test/CodeGen/AArch64 lround-conv-win.ll lround-conv-fp16-win.ll

[AArch64][GlobalISel] Add basic scalar handling for i32 lround and lrint (#170175)

This covers the "windows" variants, where long == i32. We can treat them
as legal and generate the expected fcvtas instruction. The
lround/llround and lrint/llrint were rejigged to allow the common parts
to legalise in the same manner.
DeltaFile
+20-43llvm/test/CodeGen/AArch64/lround-conv-win.ll
+18-38llvm/test/CodeGen/AArch64/lround-conv-fp16-win.ll
+17-12llvm/test/CodeGen/AArch64/vector-lrint.ll
+6-6llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
+1-6llvm/test/CodeGen/AArch64/lrint-conv-win.ll
+1-5llvm/test/CodeGen/AArch64/lrint-conv-fp16-win.ll
+63-1101 files not shown
+64-1117 files

LLVM/project 8eb089dclang-tools-extra/clangd/test lit.cfg.py system-include-extractor.test

Reapply "[clangd] Enable lit internal shell by default" (#170676)

This reverts commit 4cfbc44ebe26692c209655c37aeb0b6cbf1d479b.

There was an issue setting up the PATH variable in
system-include-extractor.test which prevented chmod from being resolved.
Ubuntu 18.04 puts all the standard Linux utilities in `/bin` which sits
at the end of `$PATH` on that system. We were not removing the newline
after python's print of `$PATH`, which caused lit to not be able to
properly resolve the path.
DeltaFile
+14-1clang-tools-extra/clangd/test/lit.cfg.py
+1-1clang-tools-extra/clangd/test/system-include-extractor.test
+15-22 files

LLVM/project a77c494flang/lib/Lower/OpenMP ClauseProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP target.f90

[Flang][OpenMP] Add lowering support for is_device_ptr clause (#169331)

Add support for OpenMP is_device_ptr clause for target directives.

[MLIR][OpenMP] Add OpenMPToLLVMIRTranslation support for is_device_ptr #169367
This PR adds support for the OpenMP is_device_ptr clause in the MLIR to LLVM IR translation for target regions. The is_device_ptr clause allows device pointers (allocated via OpenMP runtime APIs) to be used directly in target regions without implicit mapping.
DeltaFile
+60-0offload/test/offloading/fortran/target-is-device-ptr.f90
+18-27flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+38-4flang/lib/Lower/OpenMP/OpenMP.cpp
+30-0flang/test/Lower/OpenMP/target.f90
+18-7mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+17-0mlir/test/Target/LLVMIR/omptarget-llvm.mlir
+181-385 files not shown
+199-5111 files

LLVM/project ca50832clang-tools-extra/clangd/test lit.cfg.py system-include-extractor.test

Reapply "[clangd] Enable lit internal shell by default"

This reverts commit 4cfbc44ebe26692c209655c37aeb0b6cbf1d479b.

There was an issue setting up the PATH variable in
system-include-extractor.test which prevented chmod from being resolved.
DeltaFile
+14-1clang-tools-extra/clangd/test/lit.cfg.py
+1-1clang-tools-extra/clangd/test/system-include-extractor.test
+15-22 files

LLVM/project 3a6225fllvm/test/CodeGen/AMDGPU maximumnum.bf16.ll minimumnum.bf16.ll, llvm/test/CodeGen/X86 wide-scalar-shift-by-byte-multiple-legalization.ll

Rebase

Created using spr 1.3.7
DeltaFile
+17,522-20,773llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+8,857-10,952llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+8,840-10,957llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+4,725-0llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
+3,019-0llvm/test/Transforms/AggressiveInstCombine/umulh_carry4.ll
+240-1,495llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
+43,203-44,1772,394 files not shown
+151,431-91,1822,400 files

LLVM/project 68caa8bflang/lib/Parser openmp-utils.cpp

[flang][OpenMP] Add explicit return type to visitor function (#170677)

This fixes a build break with older compilers after PR170351.
DeltaFile
+1-1flang/lib/Parser/openmp-utils.cpp
+1-11 files

LLVM/project d5a1eefclang-tools-extra/clangd/test lit.cfg.py system-include-extractor.test

Reapply "[clangd] Enable lit internal shell by default"

This reverts commit 4cfbc44ebe26692c209655c37aeb0b6cbf1d479b.

There was an issue setting up the PATH variable in
system-include-extractor.test which prevented chmod from being resolved.
DeltaFile
+14-1clang-tools-extra/clangd/test/lit.cfg.py
+4-2clang-tools-extra/clangd/test/system-include-extractor.test
+18-32 files

LLVM/project 4c17f9bbolt/include/bolt/Passes IdenticalCodeFolding.h, bolt/lib/Passes IdenticalCodeFolding.cpp

[BOLT] Make safe ICF work with relative vtable (#170629)

To support relative vtable, we divide each vtable entry address by 4
instead of 8 when tracking addresses covered by vtable using bitvector.
This guarantees accuracy, saves the trouble of checking for each vtable
whether it is relative, and is also necessary for libraries for which
some contributing compilation units are compiled with relative vtable
while others are not.
DeltaFile
+26-0bolt/test/safe-icf-relative-vtable.cpp
+4-2bolt/include/bolt/Passes/IdenticalCodeFolding.h
+2-1bolt/lib/Passes/IdenticalCodeFolding.cpp
+32-33 files

LLVM/project 3570d90flang/lib/Parser openmp-utils.cpp

[flang][OpenMP] Add explicit return type to visitor function

This fixes a build break with older compilers after PR170351.
DeltaFile
+1-1flang/lib/Parser/openmp-utils.cpp
+1-11 files

LLVM/project 09b0885llvm/docs LangRef.rst, llvm/lib/Analysis Loads.cpp

[LangRef] Specify icmp on pointers to only compare address (#163936)

This changes LangRef to specify that pointer icmp only compares the
address bits of the pointers. That is, `icmp pred %a, %b` is equivalent
to `icmp pred ptrtoaddr(%a), ptrtoaddr(%b)`.

Similarly, it specifies that the `nonnull` attribute requires that the
address bits are non-zero.

There are a couple of motivations for this:

* For inequality comparisons, this is really the only sensible
semantics. Relational comparison of address and metadata bits as a
single integer is generally meaningless (unless the metadata bits are
equal).
* This matches (as far as I understand) the behavior of existing CHERI
implementations.
* LLVM can only reason about the address bits. These semantics allow
pointers with non-address bits to receive essentially the same

    [16 lines not shown]
DeltaFile
+5-15llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
+11-5llvm/lib/Analysis/Loads.cpp
+1-11llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
+7-2llvm/docs/LangRef.rst
+5-3llvm/test/Transforms/GVN/assume-equal.ll
+3-3llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+32-391 files not shown
+34-417 files

LLVM/project 15d7c01clang-tools-extra/docs/clang-tidy/checks/cert dcl58-cpp.rst mem57-cpp.rst

Fix typo; NFC

aliaes -> alias

Fixes #170673
DeltaFile
+1-1clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
+1-1clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
+2-22 files

LLVM/project 394c2c7clang-tools-extra/clangd/test lit.cfg.py system-include-extractor.test

Reapply "[clangd] Enable lit internal shell by default"

This reverts commit 4cfbc44ebe26692c209655c37aeb0b6cbf1d479b.

There was an issue setting up the PATH variable in
system-include-extractor.test which prevented chmod from being resolved.
DeltaFile
+14-1clang-tools-extra/clangd/test/lit.cfg.py
+2-2clang-tools-extra/clangd/test/system-include-extractor.test
+16-32 files

LLVM/project d684cb8clang/lib/AST ASTContext.cpp

Fix a use-after-free crash in ResetObjCLayout (#170360)

operator[] can potentially cause reallocation and invalidate live
iterators if it's called with a key that isn't present in the DenseMap.
Call lookup() instead to prevent the function from inserting new entries
into the DenseMap for ObjC classes that don't have any subclasses.

rdar://165448332
DeltaFile
+1-1clang/lib/AST/ASTContext.cpp
+1-11 files

LLVM/project 42bd2b5mlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/lib/Target/LLVMIR/Dialect/NVVM NVVMToLLVMIRTranslation.cpp

[mlir][NVVM] Add support for few more fence Ops (#170251)

This commit adds support for the following fence Ops:

- fence.sync_restrict
- fence.proxy.sync_restrict

The commit also moves memory.barrier into the Membar/Fence section, migrates fence.mbarrier.init to intrinsics and consolidates fence related tests under nvvm/fence.mlir and nvvm/fence-invalid.mlir
DeltaFile
+106-43mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+89-0mlir/test/Target/LLVMIR/nvvm/fence-invalid.mlir
+85-0mlir/test/Target/LLVMIR/nvvm/fence.mlir
+0-36mlir/test/Target/LLVMIR/nvvmir.mlir
+35-0mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
+0-23mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
+315-1022 files not shown
+334-1108 files

LLVM/project 5df0e25lldb/source/Host/windows ProcessLauncherWindows.cpp

[NFC][lldb][windows] refactor the referencing of STARTUPINFOW (#170669)

DeltaFile
+15-18lldb/source/Host/windows/ProcessLauncherWindows.cpp
+15-181 files

LLVM/project e0cc20blibc/shared/math fmaf16.h, libc/src/__support/math fmaf16.h CMakeLists.txt

[libc][math] Refactor fmaf16 implementation to header-only in src/__support/math folder.
DeltaFile
+33-0libc/src/__support/math/fmaf16.h
+29-0libc/shared/math/fmaf16.h
+9-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+8-0libc/src/__support/math/CMakeLists.txt
+2-4libc/src/math/generic/fmaf16.cpp
+1-2libc/src/math/generic/CMakeLists.txt
+82-73 files not shown
+86-89 files

LLVM/project 52a8c5alibc/shared/math fmaf.h, libc/src/__support/math fmaf.h CMakeLists.txt

[libc][math] Refactor fmaf implementation to header-only in src/__support/math folder.
DeltaFile
+27-0libc/src/__support/math/fmaf.h
+23-0libc/shared/math/fmaf.h
+9-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+8-0libc/src/__support/math/CMakeLists.txt
+2-5libc/src/math/generic/fmaf.cpp
+1-1libc/test/shared/shared_math_test.cpp
+70-73 files not shown
+73-89 files

LLVM/project a2a3d89llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP][NFC]Hoist invariant request for user nodes out of the loop, NFC
DeltaFile
+3-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+3-31 files