LLVM/project 318236dclang/include/clang/Basic BuiltinsAMDGPU.def, clang/test/SemaHIP amdgpu-gfx950-load-to-lds.hip

[HIP][AMDGPU] Remove 't' from all __builtin_*_load_lds builtins (#165389)

Allows for type checking depending on the builtin signature.

Stacked on top of: https://github.com/llvm/llvm-project/pull/165387 and
https://github.com/llvm/llvm-project/pull/165388
DeltaFile
+15-15clang/test/SemaHIP/amdgpu-gfx950-load-to-lds.hip
+3-3clang/include/clang/Basic/BuiltinsAMDGPU.def
+18-182 files

LLVM/project 7ddc7a6openmp/module CMakeLists.txt

Reuse original file location where check-flang expects them
DeltaFile
+10-10openmp/module/CMakeLists.txt
+10-101 files

LLVM/project c2eb332lldb/packages/Python/lldbsuite/test dotest.py

[lldb][dotest] use unused variable (#169903)

DeltaFile
+1-5lldb/packages/Python/lldbsuite/test/dotest.py
+1-51 files

LLVM/project 3eb057cbolt/lib/Passes Inliner.cpp, bolt/test/AArch64 inline-bti-dbg.s inline-bti.s

Reapply "[BOLT][BTI] Skip inlining BasicBlocks containing indirect tailcalls" (#169881)

This reverts commit 9bffb10e8b77b00033f2e997731193f81676cd60.

Fix: added assertions to the requirements of the test

--------

Original commit message:

In the Inliner pass, tailcalls are converted to calls in the inlined
BasicBlock. If the tailcall is indirect, the `BR` is converted to `BLR`.

These instructions require different BTI landing pads at their targets.

As the targets of indirect tailcalls are unknown, inlining such blocks
is unsound for BTI: they should be skipped instead.
DeltaFile
+40-0bolt/test/AArch64/inline-bti-dbg.s
+38-0bolt/test/AArch64/inline-bti.s
+26-0bolt/lib/Passes/Inliner.cpp
+104-03 files

LLVM/project 10136adllvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis gcd-miv-overflow.ll

[DA] Remove special handling for SCEVAddExpr in GCD MIV
DeltaFile
+0-17llvm/lib/Analysis/DependenceAnalysis.cpp
+4-5llvm/test/Analysis/DependenceAnalysis/gcd-miv-overflow.ll
+4-222 files

LLVM/project 207627flldb/packages/Python/lldbsuite/test/tools/lldb-dap dap_server.py lldbdap_testcase.py, lldb/test/API/tools/lldb-dap/databreakpoint TestDAP_setDataBreakpoints.py

[lldb-dap] Add data breakpoints for bytes (#167237)

This patch adds support for `dataBreakpointInfoBytes` capability from
DAP. You can test this feature in VSCode (`Add data breakpoint at
address` button in breakpoints tab).
DeltaFile
+89-22lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
+39-14lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
+8-6lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
+8-1lldb/tools/lldb-dap/JSONUtils.cpp
+3-0lldb/tools/lldb-dap/Handler/RequestHandler.h
+1-0lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
+148-431 files not shown
+149-437 files

LLVM/project 3a766dcllvm/lib/Target/AArch64 AArch64SchedNeoverseN3.td, llvm/test/tools/llvm-mca/AArch64/Neoverse N3-sve-instructions.s

[AArch64] Fix throughout of 64-bit SVE gather loads (#168572)

In the Neoverse N3 Software Optimisation Guide, SVE non termporal gather
load, vector+scalar 64-bit element size and gather load, vector + imm,
64-bit element size both show throughput of 4/5. However, it currently
shows as 2/3. This patch adds a new resource group in order to show the
correct throughput.
DeltaFile
+243-243llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
+16-4llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
+259-2472 files

LLVM/project e764580llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis gcd-miv-overflow.ll

[DA] Add overflow check when calculating Delta in GCD MIV
DeltaFile
+3-1llvm/lib/Analysis/DependenceAnalysis.cpp
+1-1llvm/test/Analysis/DependenceAnalysis/gcd-miv-overflow.ll
+4-22 files

LLVM/project 7ace62allvm/test/Analysis/DependenceAnalysis gcd-miv-overflow.ll

[DA] Add tests for GCD MIV misses dependency due to overflow
DeltaFile
+119-0llvm/test/Analysis/DependenceAnalysis/gcd-miv-overflow.ll
+119-01 files

LLVM/project 80e4a3flibc/include/llvm-libc-macros/darwin time-macros.h, libc/src/__support/time/darwin clock_gettime.cpp CMakeLists.txt

[libc] Add clock_gettime for Darwin (#167160)

This patch adds support for clock_gettime for Darwin. Darwin syscall
'gettimeofday' is used to query the time from the system.

Many headers in llvm-libc-types, namely clockid_t, struct_timespec,
struct_timeval, suseconds_t, time_t_32, time_t_64, are modified to
include
header guards as Darwin has its own implementation of primitive types.
DeltaFile
+42-0libc/src/__support/time/darwin/clock_gettime.cpp
+28-0libc/src/time/darwin/clock_gettime.cpp
+20-0libc/test/src/__support/time/darwin/clock_gettime.cpp
+14-0libc/include/llvm-libc-macros/darwin/time-macros.h
+12-0libc/src/__support/time/darwin/CMakeLists.txt
+10-0libc/src/time/darwin/CMakeLists.txt
+126-010 files not shown
+178-216 files

LLVM/project a3d7724flang/include/flang/Parser dump-parse-tree.h, flang/test/Parser/OpenMP sections.f90 order-clause01.f90

[flang][OpenMP] Make OmpDirectiveSpecification::Flags an EnumSet (#169713)

The idea is that there can be multiple flags on a given directive. When
"Flags" was a simple enum, only one flag could have been set at a time.
DeltaFile
+17-17flang/test/Parser/OpenMP/sections.f90
+15-15flang/test/Parser/OpenMP/order-clause01.f90
+11-11flang/test/Parser/OpenMP/assumption.f90
+17-1flang/include/flang/Parser/dump-parse-tree.h
+9-9flang/test/Parser/OpenMP/atomic-compare.f90
+9-9flang/test/Parser/OpenMP/declare_target-device_type.f90
+78-6246 files not shown
+237-20652 files

LLVM/project 4c8d8abopenmp/module CMakeLists.txt

Diagnostics
DeltaFile
+1-1openmp/module/CMakeLists.txt
+1-11 files

LLVM/project 7c36e1dllvm/include/llvm/IR Argument.h

[NFC] Remove deprecated Argument::getParamAlignment() declaration (#169911)

The implementation of Argument::getParamAlignment() was removed in
commit b55f83d013eff244f7cf6bfcd06f06f7c894ff28, but the declaration in
Argument.h was left behind. Remove it.

NFC.
DeltaFile
+0-6llvm/include/llvm/IR/Argument.h
+0-61 files

LLVM/project 9999c31lldb/include/lldb/Target Process.h

[NFC][lldb] document Process::SetSTDIOFileDescriptor (#169849)

DeltaFile
+22-0lldb/include/lldb/Target/Process.h
+22-01 files

LLVM/project eb323d8libc/config/darwin/aarch64 entrypoints.txt, libc/src/__support/OSUtil/darwin exit.cpp CMakeLists.txt

[libc][darwin] add internal::exit (#166357)

Add internal::exit for MacOS/Darwin
DeltaFile
+24-0libc/src/__support/OSUtil/darwin/exit.cpp
+5-2libc/src/__support/OSUtil/darwin/CMakeLists.txt
+1-1libc/src/__support/OSUtil/darwin/aarch64/CMakeLists.txt
+1-0libc/config/darwin/aarch64/entrypoints.txt
+31-34 files

LLVM/project 4769122libc/test/UnitTest ExecuteFunctionUnix.cpp, libc/test/src/stdlib exit_test.cpp CMakeLists.txt

[libc][test] split exit tests into two separate tests (#169820)

_Exit(3) is a fairly simple syscall wrapper whereas exit(3) calls
atexit-registered functions + whole lot of stuff that require support
for sync primitives.

Splitting the tests allows testing the former easily (especially for new
port projects)

---------

Signed-off-by: Shreeyash Pandey <shreeyash335 at gmail.com>
DeltaFile
+15-0libc/test/src/stdlib/exit_test.cpp
+13-0libc/test/src/stdlib/CMakeLists.txt
+0-4libc/test/src/stdlib/_Exit_test.cpp
+1-1libc/test/UnitTest/ExecuteFunctionUnix.cpp
+29-54 files

LLVM/project d989ff9flang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP omp-declare-reduction-combsub.f90

[flang][OpenMP] Add lowering of subroutine calls in custom reduction combiners (#169808)

This patch adds support for lowering subroutine calls in custom
reduction combiners to MLIR.
DeltaFile
+60-0flang/test/Lower/OpenMP/omp-declare-reduction-combsub.f90
+45-14flang/lib/Lower/OpenMP/OpenMP.cpp
+105-142 files

LLVM/project cc72171lldb/source/Plugins/SymbolFile/NativePDB SymbolFileNativePDB.cpp, lldb/source/Plugins/SymbolFile/PDB SymbolFilePDB.cpp

[LLDB][PDB] Access object file through module (#169728)

When a PDB is loaded through `target symbols add <pdb-path>`, its
`m_objectfile_sp` is an `ObjectFilePDB` instead of `ObjectFilePECOFF`
(the debugged module). In both the native and DIA plugin, some paths
assumed that `m_objectfile_sp` is the debugged module. With this PR,
they go through `m_objfile_sp->GetModule()->GetObjectFile()`.

For the DIA plugin, this lead to an assertion failure
(https://github.com/llvm/llvm-project/issues/169628#issuecomment-3582555277)
and for both plugins, it meant that the symbol table wasn't loaded.
DeltaFile
+39-0lldb/test/Shell/SymbolFile/PDB/add-symbols.cpp
+6-3lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
+2-1lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+47-43 files

LLVM/project eea00f4openmp CMakeLists.txt, openmp/module CMakeLists.txt

CMake-ify
DeltaFile
+4-4openmp/module/CMakeLists.txt
+2-2openmp/CMakeLists.txt
+6-62 files

LLVM/project 4237ec3mlir/lib/Conversion/MPIToLLVM MPIToLLVM.cpp

[MLIR] Apply clang-tidy fixes for readability-avoid-const-params-in-decls in MPIToLLVM.cpp (NFC)
DeltaFile
+6-7mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
+6-71 files

LLVM/project 4e30dccmlir/lib/Target/LLVMIR/Dialect/GPU SelectObjectAttr.cpp

[MLIR] Apply clang-tidy fixes for llvm-else-after-return in SelectObjectAttr.cpp (NFC)
DeltaFile
+5-6mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
+5-61 files

LLVM/project a248fe0llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp AMDGPURegBankLegalizeRules.cpp

AMDGPU/GlobalISel: Report RegBankLegalize errors using reportGISelFailure

Use standard GlobalISel error reporting with reportGISelFailure
and pass returning false instead of llvm_unreachable.
Also enables -global-isel-abort=0 or 2 for -global-isel -new-reg-bank-select.
Note: new-reg-bank-select with abort 0 or 2 runs LCSSA,
while "intended use" without abort or with abort 1 does not run LCSSA.
DeltaFile
+47-23llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+11-16llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+6-3llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
+4-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
+2-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
+70-465 files

LLVM/project 346f48eclang/lib/Headers avx512vlbf16intrin.h avx512bf16intrin.h, clang/test/CodeGen/X86 avx512vlbf16-builtins.c avx512bf16-builtins.c

[Headers][X86] Convert bf16 to f32 conversions to constexpr implementations (#169841)

Fixes #154911
DeltaFile
+18-6clang/lib/Headers/avx512vlbf16intrin.h
+15-4clang/lib/Headers/avx512bf16intrin.h
+7-0clang/test/CodeGen/X86/avx512vlbf16-builtins.c
+5-0clang/test/CodeGen/X86/avx512bf16-builtins.c
+45-104 files

LLVM/project 63163b4mlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/lib/Dialect/LLVMIR/IR NVVMDialect.cpp

[MLIR][NVVM] Add Permute Op (#169793)

This patch adds the `permute` op.
Lit tests are added to verify the lowering to the intrinsics. 
Negative tests are also added to check the error-handling of invalid
combinations.

PTX spec reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-prmt

Signed-off-by: Dharuni R Acharya <dharunira at nvidia.com>
DeltaFile
+127-0mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+64-0mlir/test/Target/LLVMIR/nvvm/permute_valid.mlir
+50-0mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+43-0mlir/test/Target/LLVMIR/nvvm/permute_invalid.mlir
+284-04 files

LLVM/project 13f950aopenmp/module omp_lib.h.var CMakeLists.txt, openmp/runtime/cmake LibompExports.cmake

Also move omp_lib.h
DeltaFile
+1,298-0openmp/module/omp_lib.h.var
+0-1,298openmp/runtime/src/include/omp_lib.h.var
+0-12openmp/runtime/src/CMakeLists.txt
+3-0openmp/module/CMakeLists.txt
+1-1openmp/runtime/cmake/LibompExports.cmake
+1,302-1,3115 files

LLVM/project f7d7bd9llvm/include/llvm/CodeGen/GlobalISel Utils.h, llvm/lib/CodeGen/GlobalISel Utils.cpp IRTranslator.cpp

GlobalISel: Stop using TPC to check if GlobalISelAbort is enabled

New pass manager does not use TargetPassConfig.
GlobalISel requires TargetPassConfig to reportGISelFailure,
and it only actual use is to check if GlobalISelAbort is enabled.
TargetPassConfig uses TargetMachine to check if GlobalISelAbort is
enabled, but TargetMachine is also available from MachineFunction.
DeltaFile
+14-12llvm/lib/CodeGen/GlobalISel/Utils.cpp
+9-10llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+6-9llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
+4-4llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
+2-3llvm/include/llvm/CodeGen/GlobalISel/Utils.h
+2-2llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
+37-404 files not shown
+39-4710 files

LLVM/project 8233ec8openmp CMakeLists.txt, openmp/module CMakeLists.txt

Allow non-LIBOMP_FORTRAN_MODULES mode
DeltaFile
+24-21openmp/module/CMakeLists.txt
+2-11openmp/CMakeLists.txt
+26-322 files

LLVM/project 9e25a42clang/lib/Driver SanitizerArgs.cpp, compiler-rt/lib/tysan CMakeLists.txt

[TySan] Make TySan compatible with UBSan (#169036)

DeltaFile
+7-0compiler-rt/test/ubsan/CMakeLists.txt
+4-0compiler-rt/lib/tysan/CMakeLists.txt
+3-0compiler-rt/test/ubsan/lit.common.cfg.py
+3-0compiler-rt/test/ubsan/TestCases/Misc/Posix/sigaction.cpp
+2-1compiler-rt/test/ubsan/TestCases/Misc/coverage-levels.cpp
+1-1clang/lib/Driver/SanitizerArgs.cpp
+20-21 files not shown
+21-27 files

LLVM/project e0c6007llvm/lib/Target/AArch64 AArch64SchedNeoverseN3.td, llvm/test/tools/llvm-mca/AArch64/Neoverse N3-neon-instructions.s

[AArch64] Fix metrics of ASIMD instructions in Neoverse N3 (#169790)

Some ASIMD instructions in the Neoverse N3 scheduler model seem to have
been missed and have default definitions, which give them incorrect
latency and throughput. This patch fixes such instructions to match the
current N3 SWOG.
DeltaFile
+171-171llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
+19-19llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
+190-1902 files

LLVM/project ed5fa9bbolt/lib/Passes PointerAuthCFIAnalyzer.cpp

[BOLT] PointerAuthCFIAnalyzer: return early if there is no work

- makes sure we do not divide by zero, to calculate the % of ignored
  functions.
DeltaFile
+3-0bolt/lib/Passes/PointerAuthCFIAnalyzer.cpp
+3-01 files