LLVM/project 920a091libcxx/test/libcxx-03/input.output/string.streams/stringbuf const_sso_buffer.pass.cpp, libcxx/test/libcxx-03/iterators contiguous_iterators.pass.cpp

[libc++][C++03] Remove code in the C++03-specific tests that is guarded on the language version (#169354)

This is dead code, since `test/libcxx-03` is only ever executed with
`-std=c++03`.
DeltaFile
+0-164libcxx/test/libcxx-03/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
+0-108libcxx/test/libcxx-03/utilities/meta/is_referenceable.compile.pass.cpp
+0-105libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.trivial_copy_move.pass.cpp
+0-97libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.non_trivial_copy_move.pass.cpp
+0-94libcxx/test/libcxx-03/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
+0-89libcxx/test/libcxx-03/iterators/contiguous_iterators.pass.cpp
+0-65732 files not shown
+3-1,25138 files

LLVM/project adcc557llvm/test/CodeGen/X86 srem-vector-lkk.ll urem-vector-lkk.ll

[X86] rem-vector-lkk.ll - improve CPU coverage to cover all x86-64 levels (#169805)

SSE2/SSE42/AVX1/AVX2 + x86-64-v4 (AVX512)
DeltaFile
+264-108llvm/test/CodeGen/X86/srem-vector-lkk.ll
+262-98llvm/test/CodeGen/X86/urem-vector-lkk.ll
+526-2062 files

LLVM/project c0d81bfllvm/lib/Target/ARM ARMAsmPrinter.cpp ARMAsmPrinter.h

[ARM] Remove Subtarget from ARMAsmPrinter (#168264)

Remove Subtarget uses from ARMAsmPrinter, making use of TargetMachine
where applicable and getting the Subtarget from the MF where not. Some
of the `if() llvm_unreachable` have been replaced by `asserts`.
DeltaFile
+21-26llvm/lib/Target/ARM/ARMAsmPrinter.cpp
+1-5llvm/lib/Target/ARM/ARMAsmPrinter.h
+5-0llvm/lib/Target/ARM/ARMSubtarget.cpp
+2-2llvm/lib/Target/ARM/ARMMCInstLower.cpp
+29-334 files

LLVM/project f43d268llvm/test/CodeGen/AMDGPU shufflevector.v4p0.v4p0.ll shufflevector.v4i64.v4i64.ll

Merge branch 'main' into users/kasuga-fj/da-move-delinearize-validation
DeltaFile
+5,975-8,879llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
+5,975-8,879llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
+3,880-6,644llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v3p0.ll
+3,880-6,644llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v3i64.ll
+2,266-3,675llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
+2,266-3,675llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
+24,242-38,3963,481 files not shown
+168,921-251,8513,487 files

LLVM/project e3044cdclang/lib/Basic/Targets X86.cpp, compiler-rt/lib/builtins/cpu_model x86.c

[X86] Sync multiversion features with libgcc and refactor internal feature tables (#168750)

Compiler-rt internal feature table is synced with the one in libgcc
(common/config/i386/i386-cpuinfo.h).

LLVM internal feature table is refactored to include a field ABI_VALUE,
so we won't be relying on ordering to keep the values correct. The table
is also synced to the one in compiler-rt.
DeltaFile
+139-144llvm/include/llvm/TargetParser/X86TargetParser.def
+18-18compiler-rt/lib/builtins/cpu_model/x86.c
+14-15llvm/lib/TargetParser/X86TargetParser.cpp
+3-3clang/lib/Basic/Targets/X86.cpp
+1-2llvm/include/llvm/TargetParser/X86TargetParser.h
+175-1825 files

LLVM/project 47ae3eaflang/docs OpenMPSupport.md, llvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h

[MLIR][OpenMP] Add MLIR Lowering Support for dist_schedule (#152736)

`dist_schedule` was previously supported in Flang/Clang but was not
implemented in MLIR, instead a user would get a "not yet implemented"
error. This patch adds support for the `dist_schedule` clause to be
lowered to LLVM IR when used in an `omp.distribute` or `omp.wsloop`
section.

There has needed to be some rework required to ensure that MLIR/LLVM
emits the correct Schedule Type for the clause, as it uses a different
schedule type to other OpenMP directives/clauses in the runtime library.

This patch also ensures that when using dist_schedule or a chunked
schedule clause, the correct llvm loop parallel accesses details are
added.
DeltaFile
+205-0mlir/test/Target/LLVMIR/openmp-dist_schedule_with_wsloop.mlir
+140-49llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+24-12mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+27-7llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+34-0mlir/test/Target/LLVMIR/openmp-dist_schedule.mlir
+11-11flang/docs/OpenMPSupport.md
+441-794 files not shown
+464-9310 files

LLVM/project 0e5633fclang/test/OpenMP irbuilder_nested_parallel_for.c cancel_codegen.cpp, llvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h

[OMPIRBuilder] always leave PARALLEL via the same barrier (#164586)

A barrier will pause execution until all threads reach it. If some go to
a different barrier then we deadlock. This manifests in that the
finalization callback must only be run once. Fix by ensuring we always
go through the same finalization block whether the thread in cancelled
or not and no matter which cancellation point causes the cancellation.

The old callback only affected PARALLEL, so it has been moved into the
code generating PARALLEL. For this reason, we don't need similar changes
for other cancellable constructs. We need to create the barrier on the
shared exit from the outlined function instead of only on the cancelled
branch to make sure that threads exiting normally (without cancellation)
meet the same barriers as those which were cancelled. For example,
previously we might have generated code like

```
...
  %ret = call i32 @__kmpc_cancel(...)

    [50 lines not shown]
DeltaFile
+69-77llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+56-53llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+61-47clang/test/OpenMP/irbuilder_nested_parallel_for.c
+20-20clang/test/OpenMP/cancel_codegen.cpp
+30-10clang/test/OpenMP/ordered_codegen.cpp
+27-10llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+263-21717 files not shown
+370-26323 files

LLVM/project 4394aa6clang/docs HIPSupport.rst, clang/lib/CodeGen CodeGenModule.cpp

[OpenMP][clang][HIP][CUDA] fix weak alias emit on device compilation (#164326)

This PR adds checks for when emitting weak aliases in: `void
CodeGenModule::EmitGlobal(GlobalDecl GD)`, before for device compilation
for OpenMP, HIP and Cuda, clang would look for the aliasee even if it
was never marked for device compilation.

For OpenMP the following case now works:

> Failed before when compiling with device, ie: `clang -fopenmp
-fopenmp-targets=amdgcn-amd-amdhsa`
>   ```
>   int __Two(void) { return 2; }
>   int Two(void) __attribute__ ((weak, alias("__Two")));
>   ```

For HIP / Cuda:

> 

    [17 lines not shown]
DeltaFile
+125-0clang/test/CodeGenHIP/hip_weak_alias.cpp
+115-0clang/test/OpenMP/amdgcn_weak_alias.cpp
+103-0clang/test/OpenMP/amdgcn_weak_alias.c
+36-1clang/lib/CodeGen/CodeGenModule.cpp
+37-0clang/docs/HIPSupport.rst
+22-0clang/test/OpenMP/nvptx_weak_alias.c
+438-11 files not shown
+455-17 files

LLVM/project 3eac921clang/lib/AST PrintfFormatString.cpp ScanfFormatString.cpp

[NFC] formatting changes
DeltaFile
+172-114clang/lib/AST/PrintfFormatString.cpp
+85-39clang/lib/AST/ScanfFormatString.cpp
+257-1532 files

LLVM/project 6412184mlir/docs/Dialects NVVMDialect.md

[MLIR][NVVM][Docs] Update docs (#169694)

This patch updates the NVVM Dialect docs to:
* include information on the type of pointers for the memory spaces.
* include high-level information on mbarrier objects.

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
DeltaFile
+27-5mlir/docs/Dialects/NVVMDialect.md
+27-51 files

LLVM/project 079f451clang/lib/AST FormatString.cpp PrintfFormatString.cpp, clang/lib/Sema SemaChecking.cpp

add format string handling

(cherry picked from commit 20a6fdfe3045eebaf1acc4fff7269c66e85e10c3)
DeltaFile
+128-118clang/lib/AST/FormatString.cpp
+84-65clang/lib/AST/PrintfFormatString.cpp
+40-36clang/lib/Sema/SemaChecking.cpp
+23-16clang/lib/AST/FormatStringParsing.h
+19-12clang/lib/AST/ScanfFormatString.cpp
+19-0llvm/lib/Support/TextEncoding.cpp
+313-24710 files not shown
+378-25716 files

LLVM/project ec0efa5clang/include/clang/Sema Sema.h, clang/lib/Parse ParseDecl.cpp ParseDeclCXX.cpp

add ParserConversionAction

(cherry picked from commit c2647a73957921d3f7a53c6f25a69f1cc2725aa3)
DeltaFile
+13-0clang/lib/Parse/ParseDecl.cpp
+7-5clang/lib/Sema/SemaExpr.cpp
+7-3clang/lib/Parse/ParseDeclCXX.cpp
+5-4clang/lib/Parse/ParseExpr.cpp
+6-2clang/include/clang/Sema/Sema.h
+4-0clang/lib/Parse/Parser.cpp
+42-141 files not shown
+43-147 files

LLVM/project 97aa4f3llvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls xcore.ll

XCore: Add iprintf to RuntimeLibcalls system library (#167088)

DeltaFile
+6-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/xcore.ll
+1-0llvm/include/llvm/IR/RuntimeLibcalls.td
+7-02 files

LLVM/project d128d90llvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls emscripten.ll

RuntimeLibcalls: Add small_printf functions to emscripten (#167087)

DeltaFile
+6-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/emscripten.ll
+4-0llvm/include/llvm/IR/RuntimeLibcalls.td
+10-02 files

LLVM/project 514dbabclang/docs ClangStaticAnalyzer.rst, clang/docs/analyzer user-docs.rst

[NFC][analyzer] Clean up obsolete installation instructions (#166193)

The documentation file `Installation.rst` contained very obsolete
instructions for installing the clang static analyzer. This commit
replaces it with sentence which explains that the analyzer is part of
clang and links to the releases page of LLVM (for downloading clang).

This sentence is primarily added to the top-level page of the analyzer
documentation; but it also appears in a stubbed Installation.rst (for
users who followed a direct external link to this installation page).
This stubbed section is removed from the table of contents, but I kept
it as an orphaned page (to avoid breaking links).

Fixes #165571
DeltaFile
+3-34clang/docs/analyzer/user-docs/Installation.rst
+4-3clang/docs/analyzer/user-docs/CommandLineUsage.rst
+2-2clang/docs/ClangStaticAnalyzer.rst
+0-1clang/docs/analyzer/user-docs.rst
+9-404 files

LLVM/project 1d7d83dllvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls darwin.ll

RuntimeLibcalls: Add macos unlocked IO functions to systems (#167084)

DeltaFile
+9-2llvm/test/Transforms/Util/DeclareRuntimeLibcalls/darwin.ll
+7-1llvm/include/llvm/IR/RuntimeLibcalls.td
+16-32 files

LLVM/project 14fcaa3bolt/lib/Passes PAuthGadgetScanner.cpp

[BOLT] Overhaul the comments in PAuthGadgetScanner for readability (NFC)

Update the comments in PAuthGadgetScanner.cpp to better describe the
current version of the code. Along the way, shorten identifier names
that are redundant taking their context into account:
`RegsToTrackInstsFor` (made `RegsToTrack`) and `getNumTrackedRegisters`
(made `getNumRegisters`).
DeltaFile
+135-111bolt/lib/Passes/PAuthGadgetScanner.cpp
+135-1111 files

LLVM/project 66ca3f1llvm/lib/Target/SystemZ SystemZInstrInfo.h SystemZInstrInfo.cpp, llvm/test/CodeGen/SystemZ zos-target-flags.ll

[SystemZ] Serialize ada entry flags (#169395)

Adding support for serializing the ada entry flags helps with mir based
test cases. Without this change, the flags are simple displayed as being
"unkmown".
DeltaFile
+12-11llvm/lib/Target/SystemZ/SystemZInstrInfo.h
+17-0llvm/test/CodeGen/SystemZ/zos-target-flags.ll
+16-0llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
+45-113 files

LLVM/project ea1e62dllvm/include/llvm/CodeGen ValueTypes.td, llvm/include/llvm/CodeGenTypes MachineValueType.h

[CodeGenTypes] Remove explicit VT numbers from ValueTypes.td (#169670)

Remove explicit VT numbers from ValueTypes.td so that patches that add a
new VT do not have to renumber the entire file.

In TableGen VTs are now identified by ValueType.LLVMName instead of
ValueType.Value. This is important for target-defined types (typically
based on PtrValueType) which are not mentioned in ValueTypes.td itself.
DeltaFile
+282-289llvm/include/llvm/CodeGen/ValueTypes.td
+9-11llvm/include/llvm/CodeGenTypes/MachineValueType.h
+9-8llvm/utils/TableGen/Basic/VTEmitter.cpp
+9-2llvm/utils/TableGen/Common/CodeGenTarget.cpp
+8-2mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
+2-2llvm/include/llvm/Target/Target.td
+319-3141 files not shown
+320-3157 files

LLVM/project fca41f4clang/include/clang/Basic BuiltinsX86.td, clang/lib/CodeGen/TargetBuiltins X86.cpp

[X86] Replace BF16 to F32 conversions with generic conversions (#169781)

Let standard casting / builtin_convertvector handle the conversions from BF16 to F32

My only query is how to best implement _mm_cvtpbh_ps - I went for the
v8bf16 -> v8f32 conversion followed by subvector extraction in the end,
but could just as easily extract a v4bf16 first - makes no difference to
final optimized codegen.

First part of #154911
DeltaFile
+13-16clang/test/CodeGen/X86/avx512vlbf16-builtins.c
+12-14clang/lib/Headers/avx512vlbf16intrin.h
+7-8clang/lib/Headers/avx512bf16intrin.h
+5-8clang/test/CodeGen/X86/avx512bf16-builtins.c
+0-4clang/include/clang/Basic/BuiltinsX86.td
+0-2clang/lib/CodeGen/TargetBuiltins/X86.cpp
+37-526 files

LLVM/project eee09caclang/include/clang/Basic BuiltinsX86.td, clang/lib/AST ExprConstant.cpp

[X86][Clang] Allow constexpr evaluation of F16C CVTPS2PH intrinsics (#162295)

Fixes #160312
DeltaFile
+91-0clang/lib/AST/ByteCode/InterpBuiltin.cpp
+75-0clang/lib/AST/ExprConstant.cpp
+57-0clang/test/CodeGen/X86/f16c-builtins.c
+4-2clang/include/clang/Basic/BuiltinsX86.td
+227-24 files

LLVM/project 7b813c3clang/test/AST/ByteCode invalid.cpp

[clang][bytecode][test] Specify triple for Invalid.cpp

This should unbreak that test on 32bit builders, e.g.
https://lab.llvm.org/buildbot/#/builders/154/builds/24509
DeltaFile
+2-2clang/test/AST/ByteCode/invalid.cpp
+2-21 files

LLVM/project df80612libcxx/include/__flat_set flat_set.h, libcxx/test/libcxx/diagnostics flat_set.nodiscard.verify.cpp flat_map.nodiscard.verify.cpp

[libc++][flat_set] Applied `[[nodiscard]]` (#169739)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
DeltaFile
+51-37libcxx/include/__flat_set/flat_set.h
+83-5libcxx/test/libcxx/diagnostics/flat_set.nodiscard.verify.cpp
+1-1libcxx/test/libcxx/diagnostics/flat_map.nodiscard.verify.cpp
+135-433 files

LLVM/project 1d8dfd5llvm/test/CodeGen/AMDGPU lower-module-lds-constantexpr.ll same-lds-variable-multiple-use-in-one-phi-node.ll, mlir/include/mlir/Dialect/LLVMIR NVVMOps.td

fix build

Created using spr 1.3.7
DeltaFile
+122-28mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+47-41llvm/test/CodeGen/AMDGPU/lower-module-lds-constantexpr.ll
+87-0mlir/test/Target/LLVMIR/nvvm/convert_fp16x2.mlir
+2-66mlir/test/Target/LLVMIR/nvvm/convert_stochastic_rounding.mlir
+33-26mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+51-0llvm/test/CodeGen/AMDGPU/same-lds-variable-multiple-use-in-one-phi-node.ll
+342-1619 files not shown
+479-21715 files

LLVM/project 682f292llvm/test/Transforms/LoopVectorize/AArch64 pr60831-sve-inv-store-crash.ll

[LV] Test more combinations of scalar stores using last lane of IV.

Extends test coverage to include different start and step values, as
well as interleaving.
DeltaFile
+515-12llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
+515-121 files

LLVM/project bd95a74clang/lib/AST/ByteCode Interp.cpp Pointer.cpp, clang/test/AST/ByteCode invalid.cpp

[clang][bytecode] Check for invalid record decls in IntPointer::atOffset (#169786)

We can't access the RecordLayout of an invalid decl, so return failure
if that happens.

Fixes https://github.com/llvm/llvm-project/issues/167076
DeltaFile
+12-0clang/test/AST/ByteCode/invalid.cpp
+6-2clang/lib/AST/ByteCode/Interp.cpp
+5-2clang/lib/AST/ByteCode/Pointer.cpp
+2-1clang/lib/AST/ByteCode/Pointer.h
+25-54 files

LLVM/project d6be9fclibcxx/include deque, libcxx/test/libcxx/diagnostics deque.nodiscard.verify.cpp

[libc++][deque] Applied `[[nodiscard]]` (#169745)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
DeltaFile
+30-22libcxx/include/deque
+28-2libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
+58-242 files

LLVM/project bec726fllvm/lib/Target/X86 X86InstrSSE.td X86ISelLowering.cpp, llvm/test/CodeGen/X86 haddsubsat.ll

[X86] optimize ssse3 horizontal saturating add/sub (#169591)

Currently LLVM fails to recognize a manual implementation of `phadd`

https://godbolt.org/z/zozrssaWb

```llvm
declare <8 x i16> @llvm.x86.ssse3.phadd.sw.128(<8 x i16>, <8 x i16>)

declare <8 x i16> @llvm.sadd.sat.v8i16(<8 x i16>, <8 x i16>)

define <8 x i16> @phaddsw_v8i16_intrinsic(<8 x i16> %a, <8 x i16> %b) {
entry:
  %res = call <8 x i16> @llvm.x86.ssse3.phadd.sw.128(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %res
}

define <8 x i16> @phaddsw_v8i16_generic(<8 x i16> %a, <8 x i16> %b) {
entry:

    [28 lines not shown]
DeltaFile
+101-0llvm/test/CodeGen/X86/haddsubsat.ll
+16-18llvm/lib/Target/X86/X86InstrSSE.td
+23-6llvm/lib/Target/X86/X86ISelLowering.cpp
+4-0llvm/lib/Target/X86/X86IntrinsicsInfo.h
+4-0llvm/lib/Target/X86/X86ISelLowering.h
+2-0llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
+150-246 files

LLVM/project 0dbedd1clang/include/clang/Basic BuiltinsX86.td, clang/lib/CodeGen/TargetBuiltins X86.cpp

[Clang] Replace some x86 sqrt builtins with the generic __builtin_elementwise_sqrt versions (#165682)

DeltaFile
+18-44clang/lib/CodeGen/TargetBuiltins/X86.cpp
+0-26clang/include/clang/Basic/BuiltinsX86.td
+5-8clang/lib/Headers/xmmintrin.h
+4-8clang/lib/Headers/avxintrin.h
+0-6clang/test/CodeGen/builtins-x86.c
+3-2clang/test/CodeGen/X86/sse2-builtins.c
+30-947 files not shown
+43-11013 files

LLVM/project 8401a8dllvm/test/Bitcode aarch64-sve-rev-upgrade.ll aarch64-sve-rev-upgrade.ll.bc

[NFC][LLVM] Add bitcode tests for llvm.aarch64.sve.rev
DeltaFile
+111-0llvm/test/Bitcode/aarch64-sve-rev-upgrade.ll
+0-0llvm/test/Bitcode/aarch64-sve-rev-upgrade.ll.bc
+111-02 files