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

LLVM/project 0f93cb9bolt/lib/Passes PointerAuthCFIAnalyzer.cpp

[BOLT] Add comment about the chosen threshold
DeltaFile
+10-0bolt/lib/Passes/PointerAuthCFIAnalyzer.cpp
+10-01 files

LLVM/project ced537abolt/lib/Passes PointerAuthCFIAnalyzer.cpp, bolt/test/AArch64 pacret-cfi-incorrect.s

[BOLT] Use opts::Verbosity in PointerAuthCFIAnalyzer
DeltaFile
+17-10bolt/lib/Passes/PointerAuthCFIAnalyzer.cpp
+1-1bolt/test/AArch64/pacret-cfi-incorrect.s
+18-112 files

LLVM/project 85c15ebbolt/lib/Passes PointerAuthCFIAnalyzer.cpp, bolt/test/runtime/AArch64 pacret-synchronous-unwind.cpp

[BOLT][PAC] Warn about synchronous unwind tables

BOLT currently ignores functions with synchronous PAuth DWARF info.
When more than 10% of functions get ignored for inconsistencies, we
should emit a warning to only use asynchronous unwind tables.

See also: #165215
DeltaFile
+33-0bolt/test/runtime/AArch64/pacret-synchronous-unwind.cpp
+8-1bolt/lib/Passes/PointerAuthCFIAnalyzer.cpp
+41-12 files

LLVM/project d569f73bolt/docs PointerAuthDesign.md

[BOLT][doc] Add two resolutions for CFI
DeltaFile
+4-0bolt/docs/PointerAuthDesign.md
+4-01 files

LLVM/project e0a245ebolt/lib/Passes PointerAuthCFIFixup.cpp InsertNegateRAStatePass.cpp, bolt/unittests/Passes PointerAuthCFIFixup.cpp InsertNegateRAState.cpp

[BOLT][NFC] Rename Pointer Auth DWARF rewriter passes

Original names were "working titles". After initial patches are merged,
I'd like to rename these passes to names that reflect their intent
better and show their relationship to each other:

InsertNegateRAStatePass renamed to PointerAuthCFIFixup,
MarkRAStates renamed to PointerAuthCFIAnalyzer.
DeltaFile
+325-0bolt/unittests/Passes/PointerAuthCFIFixup.cpp
+0-325bolt/unittests/Passes/InsertNegateRAState.cpp
+275-0bolt/lib/Passes/PointerAuthCFIFixup.cpp
+0-275bolt/lib/Passes/InsertNegateRAStatePass.cpp
+145-0bolt/lib/Passes/PointerAuthCFIAnalyzer.cpp
+0-145bolt/lib/Passes/MarkRAStates.cpp
+745-74513 files not shown
+882-88119 files

LLVM/project 8759e47bolt/include/bolt/Passes PointerAuthCFIFixup.h PointerAuthCFIAnalyzer.h, bolt/lib/Rewrite BinaryPassManager.cpp

[BOLT] Add --print flags for PointerAuthCFI* passes
DeltaFile
+13-2bolt/lib/Rewrite/BinaryPassManager.cpp
+7-1bolt/unittests/Passes/PointerAuthCFIFixup.cpp
+2-1bolt/include/bolt/Passes/PointerAuthCFIFixup.h
+2-1bolt/include/bolt/Passes/PointerAuthCFIAnalyzer.h
+24-54 files

LLVM/project 3eaf1a5bolt/docs PacRetDesign.md

Update PacRetDesign.md
DeltaFile
+1-1bolt/docs/PacRetDesign.md
+1-11 files

LLVM/project a92e144bolt/docs PacRetDesign.md

Update bolt/docs/PacRetDesign.md

Co-authored-by: Paschalis Mpeis <paschalis.mpeis at arm.com>
DeltaFile
+1-1bolt/docs/PacRetDesign.md
+1-11 files

LLVM/project a7da8c1bolt/docs PointerAuthDesign.md PacRetDesign.md, bolt/test/AArch64 negate-ra-state-incorrect.s pacret-cfi-incorrect.s

[NFC] Rename PAuth tests to have a common prefix
DeltaFile
+236-0bolt/docs/PointerAuthDesign.md
+0-236bolt/docs/PacRetDesign.md
+0-78bolt/test/AArch64/negate-ra-state-incorrect.s
+78-0bolt/test/AArch64/pacret-cfi-incorrect.s
+76-0bolt/test/AArch64/pacret-cfi.s
+0-76bolt/test/AArch64/negate-ra-state.s
+390-3908 files not shown
+556-55614 files

LLVM/project 28fa1ebbolt/lib/Passes InsertNegateRAStatePass.cpp, bolt/unittests/Passes InsertNegateRAState.cpp

Fix for cases where empty BBs are preceding unknown BBs

also added regression test for this.
DeltaFile
+37-0bolt/unittests/Passes/InsertNegateRAState.cpp
+10-6bolt/lib/Passes/InsertNegateRAStatePass.cpp
+47-62 files

LLVM/project 14fb59alldb/test/API/commands/frame/var-dil/expr/PointerArithmetic TestFrameVarDILExprPointerArithmetic.py TestFrameVarDILPointerArithmetic.py

[lldb] Fix duplicate test class name causing lldb-dotest conflict (#169861)

Duplicate test class name `TestFrameVarDILPointerArithmetic` prevents
lldb-dotest from running any tests.
The conflict exists between:
- lldb/test/API/commands/frame/vardil/expr/PointerArithmetic/
- lldb/test/API/commands/frame/vardil/basics/PointerArithmetic/

Rename the expr variant to `TestFrameVarDILExprPointerArithmetic`.
DeltaFile
+29-0lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/TestFrameVarDILExprPointerArithmetic.py
+0-29lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
+29-292 files