Changes

Summary

  1. [Driver][test] Add back some -no-canonical-prefixes (details)
  2. [GlobalOpt] Iterate over replaced values deterministically to constprop (details)
  3. [Driver][test] Avoiding producing object file in the current directory (details)
  4. [PowerPC] Enable CR bits support for Power8 and above. (details)
  5. Mark identifier prefixes as substitutable (details)
  6. [mlir] CRunnerUtils: qualify UnrankedMemRefType to avoid collisions with mlir::UnrankedMemRefType (details)
  7. [mlir][OpenMP] Add omp.cancel and omp.cancellationpoint. (details)
  8. Reapply "[BuildLibCalls] Introduce getOrInsertLibFunc() for use when building (details)
  9. [ifs] Fix bug where exclude only excluded when outputting ifs files (details)
  10. [Driver][test] Remove clang{{.*}} when testing -cc1 command lines (details)
  11. [NFC] Add test for HasNativeLLVMSupport (details)
  12. [PS5] Check for HasNativeLLVMSupport (details)
  13. Revert "Re-apply 4b6c2cd642 "Deferred Concept Instantiation Implementation""" (details)
  14. [DeadArgElim] Set unused arguments for internal functions (details)
  15. [VPlan] Do not create VPWidenCall recipes for scalar vector factors. (details)
  16. Update movmsk-cmp.ll to match improvements made to InstCombine (details)
  17. [Object][DX] Initial DXContainer parsing support (details)
  18. [SDAG] fix miscompile when casting int->FP->int (details)
  19. [SystemZ] Accept (. - 0x100000000) PCRel32 constants (details)
  20. [SLP]Improve reductions analysis and emission, part 1. (details)
  21. [OpenMP] Fix -Wswitch (due to new OMPC_cancellation_construct_type) after D123828 (details)
  22. [memprof] Don't instrument PGO and other compiler inserted variables (details)
  23. Revert "Fix a misuse of `cast`" (details)
  24. [TableGen] Add support for variable length instruction in decoder generator (details)
  25. [NFC] Rename `FixedLenDecoderEmitter` as `DecoderEmitter` (details)
  26. [clangd] Add inlay hints for mutable reference parameters (details)
  27. [SLP][NFC]Minor code changes for better readability, NFC. (details)
  28. [NFC] Fix warning reported on bots (details)
  29. [flang] Fix semantics check for RETURN statement (details)
  30. [NFC] Fixing error on some versions of GCC (details)
  31. [memprof] Only insert dynamic shadow load when needed (details)
  32. [LoopCacheAnalysis] Consider dimension depth of the subscript reference when calculating cost (details)
  33. [sanitizer] Use canonical syscalls everywhere (details)
  34. fix warning caused by ef4ecc3ceffcf3ef129640c813f823c974f9ba22 (details)
  35. [Object][DX] Identify DXBC file magic (details)
  36. Revert "[DeadArgElim] Set unused arguments for internal functions" (details)
  37. [gn build] Port 4070aa01561c (details)
  38. AMDGPU/SDAG: Factor out the fold (add (mul x, y), y) --> mad_[iu]64_[iu]32 (details)
  39. [NFC] Add missing switch cases (details)
  40. [mlir][LLVMIR] Add support for translating FCmp & FP constants (details)
  41. Add transparency report. (details)
  42. [DAGCombiner] reassociationCanBreakAddressingModePattern should check uses of the outer add. (details)
  43. [Driver][test] Remove clang{{.*}} when testing -cc1 command lines (details)
  44. [lldb] Remove PlatformRemoteMacOSX::GetFileWithUUID overload (NFC) (details)
  45. [lldb] Remove unused PlatformRemoteDarwinDevice::FindFileInAllSDKs (details)
  46. [lldb] Hoist device support out of PlatformRemoteDarwinDevice (NFC) (details)
  47. [lldb] Move GetSharedModuleWithLocalCache to PlatformDarwinDevice (NFC) (details)
  48. [gn build] Port 41c0ff1e740b (details)
  49. [RISCV] Fix incorrect codegen for masked vmsge{u}.vx with mask agnostic. (details)
  50. [AMDGPU][NFC] Make lowerINSERT_VECTOR_ELT() more readable (details)
  51. [AMDGPU] Fix scalar_to_vector for v8i16/v8f16 (details)
Commit 46cc04de341bceef319144fa11b0d421d29c5451 by i
[Driver][test] Add back some -no-canonical-prefixes

To make them meaningful, it's useful to check "clang". Use
-no-canonical-prefixes to support distributions that symlink %clang to an
executable with a filename not ending in "clang".
The file was modifiedclang/test/Driver/cc-log-diagnostics.c
The file was modifiedclang/test/Driver/cc-print-proc-stat.c
The file was modifiedclang/test/Driver/compilation_database.c
Commit b07aab8fc1088ef66ecbe2befc3ef7e3936a390e by aeubanks
[GlobalOpt] Iterate over replaced values deterministically to constprop

If there are pre-existing dead instructions, the order we visit replaced
values can cause us sometimes to not delete dead instructions.

The added test non-deterministically failed without the change.
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was addedllvm/test/Transforms/GlobalOpt/malloc-promote-6.ll
Commit 3d09c9b30fe6484717181a926e14b2ee36747d13 by i
[Driver][test] Avoiding producing object file in the current directory
The file was modifiedclang/test/Driver/cc-print-proc-stat.c
The file was modifiedclang/test/Driver/cc-print-options.c
Commit 2534dc120a4c9468d9a0044665a50361089f0a4d by amy.kwan1
[PowerPC] Enable CR bits support for Power8 and above.

This patch turns on support for CR bit accesses for Power8 and above. The reason
why CR bits are turned on as the default for Power8 and above is that because
later architectures make use of builtins and instructions that require CR bit
accesses (such as the use of setbc in the vector string isolate predicate
and bcd builtins on Power10).

This patch also adds the clang portion to allow for turning on CR bits in the
front end if the user so desires to.

Differential Revision: https://reviews.llvm.org/D124060
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel-byte-loads.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fast-isel-fcmp-nan.ll
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was addedclang/test/Driver/ppc-crbits.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/fp64-to-int16.ll
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict-fcmp-noopt.ll
The file was modifiedllvm/test/CodeGen/PowerPC/addegluecrash.ll
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
The file was modifiedllvm/test/CodeGen/PowerPC/f128-branch-cond.ll
Commit fed7be096f8ed5d70029acd712ac19ffc61e04e5 by harald
Mark identifier prefixes as substitutable

The Itanium C++ ABI says prefixes are substitutable. For most prefixes
we already handle this: the manglePrefix(const DeclContext *, bool) and
manglePrefix(QualType) overloads explicitly handles substitutions or
defer to functions that handle substitutions on their behalf. The
manglePrefix(NestedNameSpecifier *) overload, however, is different and
handles some cases implicitly, but not all. The Identifier case was not
handled; this change adds handling for it, as well as a test case.

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D122663
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/CodeGenCXX/clang-abi-compat.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/CodeGenCXX/mangle.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
Commit 38d0df557706940af5d7110bdf662590449f8a60 by ezhulenev
[mlir] CRunnerUtils: qualify UnrankedMemRefType to avoid collisions with mlir::UnrankedMemRefType

When CRunnerUtils included together with MLIR IR headers, it can lead to compilation errors.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D124744
The file was modifiedmlir/include/mlir/ExecutionEngine/CRunnerUtils.h
Commit c685f8212689665968de47f8bd4b1146296e8cc2 by raghu.maddhipatla
[mlir][OpenMP] Add omp.cancel and omp.cancellationpoint.

Reviewed By: kiranchandramohan, peixin, shraiysh

Differential Revision: https://reviews.llvm.org/D123828
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
The file was modifiedmlir/test/Dialect/OpenMP/ops.mlir
The file was modifiedmlir/test/Dialect/OpenMP/invalid.mlir
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
Commit 304378fd096755950939f2d3dbb4f724bba0d6cb by paulsson
Reapply "[BuildLibCalls] Introduce getOrInsertLibFunc() for use when building
libcalls." (was 0f8c626). This reverts commit 14d9390.

The patch previously failed to recognize cases where user had defined a
function alias with an identical name as that of the library
function. Module::getFunction() would then return nullptr which is what the
sanitizer discovered.

In this updated version a new function isLibFuncEmittable() has as well been
introduced which is now used instead of TLI->has() anytime a library function
is to be emitted . It additionally also makes sure there is e.g. no function
alias with the same name in the module.

Reviewed By: Eli Friedman

Differential Revision: https://reviews.llvm.org/D123198
The file was modifiedllvm/include/llvm/IR/Module.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
The file was modifiedllvm/test/Transforms/InstCombine/double-float-shrink-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/simplify-libcalls.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/BuildLibCalls.h
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.h
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was addedllvm/test/Transforms/InstCombine/SystemZ/libcall-arg-exts.ll
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/annotate.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/pr39177.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/lib/Transforms/IPO/InferFunctionAttrs.cpp
Commit 7aaad7b18322a22555b2fbb0ad686f23f44502c8 by abrachet
[ifs] Fix bug where exclude only excluded when outputting ifs files

Now output elf files will also have excluded symbols removed.

Reviewed By: haowei

Differential Revision: https://reviews.llvm.org/D124781
The file was modifiedllvm/tools/llvm-ifs/llvm-ifs.cpp
The file was modifiedllvm/test/tools/llvm-ifs/exclude.test
Commit 980679981fbc311bc07f8cd23e3739fd56c22d2a by i
[Driver][test] Remove clang{{.*}} when testing -cc1 command lines

The majority of tests omit testing "clang" for -cc1 command lines. In addition,
some distributions symlink %clang to an executable with a content hash based
filename so clang{{.*}} check won't work.

With this change, we can remove many -no-canonical-prefixes whose purpose was to
make the tests pass on such distributions.
The file was modifiedclang/test/Driver/fat_archive_amdgpu.cpp
The file was modifiedclang/test/Driver/ve-toolchain.cpp
The file was modifiedclang/test/Driver/riscv64-toolchain.c
The file was modifiedclang/test/Driver/amdgpu-openmp-system-arch.c
The file was modifiedclang/test/Driver/color-diagnostics.c
The file was modifiedclang/test/Driver/msp430-mmcu.c
The file was modifiedclang/test/Driver/amdgcn-toolchain-pic.cl
The file was modifiedclang/test/Driver/csky-toolchain.c
The file was modifiedclang/test/Driver/amdgpu-toolchain.c
The file was modifiedclang/test/Driver/riscv32-toolchain.c
The file was modifiedclang/test/Driver/dragonfly.c
The file was modifiedclang/test/Driver/darwin-xarch.c
The file was modifiedclang/test/Driver/wasm-toolchain.cpp
The file was modifiedclang/test/Driver/ve-toolchain.c
The file was modifiedclang/test/Driver/hip-options.hip
The file was modifiedclang/test/Driver/fat_archive_nvptx.cpp
The file was modifiedclang/test/Driver/report-stat.c
The file was modifiedclang/test/Driver/hip-syntax-only.hip
The file was modifiedclang/test/Driver/wasm-toolchain.c
The file was modifiedclang/test/Driver/cuda-detect.cu
The file was modifiedclang/test/Driver/openmp-offload-gpu-new.c
The file was modifiedclang/test/Driver/amdgpu-toolchain-opencl.cl
The file was modifiedclang/test/Driver/openbsd.c
The file was modifiedclang/test/Driver/preprocessor.c
The file was modifiedclang/test/Driver/avr-mmcu.c
The file was modifiedclang/test/Driver/avr-toolchain.c
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
Commit 214265bce9dfe3a86d9e8e8869d58ee7eded20fa by paul.robinson
[NFC] Add test for HasNativeLLVMSupport

It looks like there used to be a test for this, but the test evolved
in a way that caused the check for the diagnostic to be eliminated.
Add a test that is obviously and specifically for that diagnostic.
The file was addedclang/test/Driver/native-llvm.c
Commit 2ed0123b7fedd6360b0dc06cab9721f108123a98 by paul.robinson
[PS5] Check for HasNativeLLVMSupport
The file was modifiedclang/test/Driver/ps4-ps5-toolchain.c
Commit 45c07db31cc76802a1a2e41bed1ce9c1b8198181 by erich.keane
Revert "Re-apply 4b6c2cd642 "Deferred Concept Instantiation Implementation"""

This reverts commit a97899108e495147985e5e9492e742d51d5cc97a.

The patch caused some problems with the libc++ `__range_adaptor_closure`
that I haven't been able to figure out the cause of, so I am reverting
while I figure out whether this is a solvable problem/issue with the
  CFE, or libc++ depending on an older 'incorrect' behavior.
The file was modifiedclang/lib/ExtractAPI/ExtractAPIConsumer.cpp
The file was removedclang/test/SemaTemplate/trailing-return-short-circuit.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/include/clang/AST/DeclBase.h
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-requires-clause.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
The file was removedclang/test/SemaTemplate/deferred-concept-inst.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/include/clang/Sema/Template.h
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/SemaTemplate/concepts.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/AST/Decl.cpp
Commit e547a333a43348a8a7ec9460f37696ecc5453e56 by qcolombet
[DeadArgElim] Set unused arguments for internal functions

Prior to this patch we would only set to undef the unused arguments of the
external functions. The rationale was that unused arguments of internal
functions wouldn't need to be turned into undef arguments because they
should have been simply eliminated by the time we reach that code.

This is actually not true because there are plenty of cases where we can't
remove unused arguments. For instance, if the internal function is used in
an indirect call, it may not be possible to change the function signature.
Yet, for statically known call-sites we would still like to mark the unused
arguments as undef.

This patch enables the "set undef arguments" optimization on internal
functions when we encounter cases where internal functions cannot be
optimized. I.e., whenever an internal function is marked "live".

Differential Revision: https://reviews.llvm.org/D124699
The file was modifiedllvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
The file was addedllvm/test/Transforms/DeadArgElim/fct_ptr.ll
Commit 0ef8ca6d88aa7e4abc1142c1ddd9da02f989d514 by flo
[VPlan] Do not create VPWidenCall recipes for scalar vector factors.

'Widen' recipe are only used when actual vector values are generated.
Fix tryToWidenCall to do not create VPWidenCallRecipes for scalar vector
factors.

This was exposed by D123720, because the widened recipes are considered
vector users.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D124718
The file was modifiedllvm/test/Transforms/LoopVectorize/interleave-with-call.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit b6beb59073455b1bd99b18d35ee3fea4560eedc1 by deadalnix
Update movmsk-cmp.ll to match improvements made to InstCombine

This reflects the changes in the IR generated by InstCombine as pointed out by @RKSimon in https://reviews.llvm.org/D124743#3485199

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D124756
The file was modifiedllvm/test/CodeGen/X86/movmsk-cmp.ll
Commit 4070aa01561c6bf2a5954d68228f373386658cde by chris.bieneman
[Object][DX] Initial DXContainer parsing support

This patch begins adding DXContainer parsing support to libObject.
Following the pattern used by ELFFile my goal here is to write a
standalone DXContainer parser and later write an adapter interface to
support a subset of the ObjectFile interfaces so that we can add
limited objdump support. I will also be adding ObjectYAML support to
help drive testing of the object tools and MC-level object writers as
those come together.

DXContainer is a slightly odd format. It is arranged in "parts" that
are semantically similar to sections, but it doesn't support symbol
listing.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D124643
The file was addedllvm/include/llvm/Object/DXContainer.h
The file was modifiedllvm/unittests/Object/CMakeLists.txt
The file was addedllvm/lib/Object/DXContainer.cpp
The file was addedllvm/unittests/Object/DXContainerTest.cpp
The file was modifiedllvm/lib/Object/CMakeLists.txt
The file was addedllvm/include/llvm/BinaryFormat/DXContainer.h
Commit 747c6a0c734e618db8132b503f432d8274cc56b5 by spatel
[SDAG] fix miscompile when casting int->FP->int

This is the codegen equivalent of D124692.

As shown in https://github.com/llvm/llvm-project/issues/55150 -
the existing fold may be wrong when converting to a signed value.
This is a quick fix to avoid the miscompile.
https://alive2.llvm.org/ce/z/KtaDmd

Differential Revision: https://reviews.llvm.org/D124771
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AArch64/float-conv-elim.ll
The file was modifiedllvm/test/CodeGen/X86/float-conv-elim.ll
Commit 7070c6a96b418874ac201c6e0ff2070c5c9669d3 by iii
[SystemZ] Accept (. - 0x100000000) PCRel32 constants

Clang does not accept instructions like brasl %r0,.-0x100000000,
because the second operand's right-hand-side (0x100000000) barely
misses the acceptable range. However, since it's being subtracted, it
makes sense to perform the range check on the negated value.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D124780
The file was modifiedllvm/test/MC/SystemZ/insn-good.s
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modifiedllvm/test/MC/SystemZ/insn-bad.s
Commit 7ea03f0b4e4ec5d91d48ba2976f5adc299089ffd by a.bataev
[SLP]Improve reductions analysis and emission, part 1.

Currently SLP vectorizer walks through the instructions and selects
3 main classes of values: 1) reduction operations - instructions with same
reduction opcode (add, mul, min/max, etc.), which build the reduction,
2) reduced values - instructions with the same opcodes, but different
from the reduction opcode, 3) extra arguments - all other values,
instructions from the different basic block rather than the root node,
instructions with to many/less uses.

This scheme is not very efficient. It excludes some instructions and all
non-instruction values from the reductions (constants, proficient
gathers), to many possibly reduced values are marked as extra arguments.
Patch improves this process by introducing a bit extended analysis
stage. During this stage, we still try to select 3 classes of the
values: 1) reduction operations - same as before, 2) possibly reduced
values - all instructions from the current block/non-instructions, which
may build a vectorization tree, 3) extra arguments - instructions from
the different basic blocks. Additionally, an extra sorting of the
possibly reduced values occurs to build the scalar sequences which
highly likely will bed vectorized, e.g. loads are grouped by the
distance between them, constants are grouped together, cmp instructions
are sorted by their compare types and predicates, extractelement
instructions are sorted by the vector operand, etc. Also, these groups
are reordered by their length so the longest group is the first in the
list of the possibly reduced values.

The vectorization process tries to emit the reductions for all these
groups. These reductions, remaining non-vectorized possible reduced
values and extra arguments are then combined into the final expression
just like it was before.

Differential Revision: https://reviews.llvm.org/D114171
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction-same-vals.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR35628_2.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction_unrolled.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction_loads.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR35628_1.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR40310.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
Commit 4d34c4e0e67d321ac6b52f787648a68ea6d267c0 by i
[OpenMP] Fix -Wswitch (due to new OMPC_cancellation_construct_type) after D123828
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
Commit a0b5af46a2a0e9cfc6b2e0e85c11dca5f18ddfbc by tejohnson
[memprof] Don't instrument PGO and other compiler inserted variables

Suppress instrumentation of PGO counter accesses, which is unnecessary
and costly. Also suppress accesses to other compiler inserted variables
starting with "__llvm". This is a slightly expanded variant of what is
done for tsan in shouldInstrumentReadWriteFromAddress.

Differential Revision: https://reviews.llvm.org/D124703
The file was addedllvm/test/Instrumentation/HeapProfiler/skip-compiler-inserted.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Commit 522d90528e5a49393b7293204e20b311e789a913 by ox59616e
Revert "Fix a misuse of `cast`"

This reverts commit ba59ec2843f99f19d55d7cd9f9ac536fb038fdab.
The file was modifiedllvm/utils/TableGen/FixedLenDecoderEmitter.cpp
Commit 28e850a8da51336bb85343e7c106953b5dbe5b15 by ox59616e
[TableGen] Add support for variable length instruction in decoder generator

To support variable length instructions, I think of them as fixed length instructions with the "maximum length". For example, if there're three instructions with 2, 6 and 9 bytes, we can fit them into the algorithm by treating them all as 9 bytes.

Also, since we can't know the length of the instruction in advance, there is a function object with type `void(APInt &, uint64_t)` added in the parameter list of `decodeInstruction` and `fieldFromInstruction`. We can use this to supply the additional bits the decoder needs after we know the opcode of the instruction.

Finally, `InstrLenTable` is added to let the decoder know the length of the instructions.

See D120960 for its usage.

Reviewed By: myhsu

Differential Revision: https://reviews.llvm.org/D120958
The file was addedllvm/test/TableGen/VarLenDecoder.td
The file was modifiedllvm/utils/TableGen/VarLenCodeEmitterGen.h
The file was modifiedllvm/utils/TableGen/FixedLenDecoderEmitter.cpp
The file was modifiedllvm/utils/TableGen/VarLenCodeEmitterGen.cpp
Commit df3765bfdc13ab01bbdd3ffe3711b1d13e368249 by ox59616e
[NFC] Rename `FixedLenDecoderEmitter` as `DecoderEmitter`

Since now we are able to handle both fixed length & variable
length instructions.

Reviewed By: myhsu

Differential Revision: https://reviews.llvm.org/D123451
The file was modifiedllvm/utils/TableGen/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
The file was addedllvm/utils/TableGen/DecoderEmitter.cpp
The file was modifiedllvm/utils/TableGen/DisassemblerEmitter.cpp
The file was removedllvm/utils/TableGen/FixedLenDecoderEmitter.cpp
Commit 043e9650240866701bee89922d54bf7af059ed30 by zeratul976
[clangd] Add inlay hints for mutable reference parameters

Add a & prefix to all parameter inlay hints that refer to a non-const l-value reference. That makes it easier to identify them even if semantic highlighting is not used (where this is already available)

Reviewed By: nridge

Differential Revision: https://reviews.llvm.org/D124359
The file was modifiedclang-tools-extra/clangd/unittests/InlayHintTests.cpp
The file was modifiedclang-tools-extra/clangd/InlayHints.cpp
Commit e74a73782f34771816ae1d87b52302c08f7f15c2 by a.bataev
[SLP][NFC]Minor code changes for better readability, NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 55e13a6bc0d6a31afc258a012184253041b0eb8e by chris.bieneman
[NFC] Fix warning reported on bots
The file was modifiedllvm/unittests/Object/DXContainerTest.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/DXContainer.h
Commit 1dd8da2d7c75c2a34bf85a37a819755d60ddfb2b by j.emil.kieri
[flang] Fix semantics check for RETURN statement

The RETURN statement is allowed in functions and subroutines, but not
in main programs. It is however a common extension, which we also
implement, to allow RETURN from main programs -- we only issue a
portability warning when -pedantic or -std=f2018 are set.

This patch fixes false positives for this portability warning, where it
was triggered also when RETURN was present in functions or subroutines.

Fixexs #55080

Reviewed By: PeteSteinfeld

Differential Revision: https://reviews.llvm.org/D124732
The file was modifiedflang/lib/Semantics/check-return.cpp
The file was modifiedflang/test/Semantics/altreturn02.f90
The file was addedflang/test/Semantics/altreturn07.f90
Commit b26e44e623c75c084e865084b18541c6a1736df2 by chris.bieneman
[NFC] Fixing error on some versions of GCC

Some versions of GCC don't implicitly move Error to Expected.
The file was modifiedllvm/lib/Object/DXContainer.cpp
Commit 084b65f7dc3986f0ee584c1b449cfe0c5e751fb3 by tejohnson
[memprof] Only insert dynamic shadow load when needed

We don't need to insert a load of the dynamic shadow address unless there
are interesting memory accesses to profile.

Split out of D124703.

Differential Revision: https://reviews.llvm.org/D124797
The file was addedllvm/test/Instrumentation/HeapProfiler/no-instrumentation.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Commit ef4ecc3ceffcf3ef129640c813f823c974f9ba22 by bmahjour
[LoopCacheAnalysis] Consider dimension depth of the subscript reference when calculating cost

Reviewed By: congzhe, etiotto

Differential Revision: https://reviews.llvm.org/D123400
The file was modifiedllvm/include/llvm/Analysis/LoopCacheAnalysis.h
The file was modifiedllvm/test/Analysis/LoopCacheAnalysis/PowerPC/LoopnestFixedSize.ll
The file was modifiedllvm/test/Analysis/LoopCacheAnalysis/PowerPC/matvecmul.ll
The file was modifiedllvm/test/Analysis/LoopCacheAnalysis/PowerPC/single-store.ll
The file was addedllvm/test/Analysis/LoopCacheAnalysis/PowerPC/multi-store.ll
The file was modifiedllvm/lib/Analysis/LoopCacheAnalysis.cpp
Commit 696092c703b1de04f584f1b3cf61d6cacad4f618 by eugenis
[sanitizer] Use canonical syscalls everywhere

These "new" syscalls have been added in 2.6.16, more than 16 years ago.
Surely that's enough time to migrate. Glibc 2.33 is using them on both
i386 and x86_64. Android has an selinux filter to block the legacy
syscalls in the apps.

Differential Revision: https://reviews.llvm.org/D124212
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Commit 363b3a645a1e30011cc8da624f13dac5fd915628 by bmahjour
fix warning caused by ef4ecc3ceffcf3ef129640c813f823c974f9ba22
The file was modifiedllvm/include/llvm/Analysis/LoopCacheAnalysis.h
The file was modifiedllvm/lib/Analysis/LoopCacheAnalysis.cpp
Commit 966c40aea663fa2cb575614518fc1b7c528bbae9 by chris.bieneman
[Object][DX] Identify DXBC file magic

This adds support to llvm::identify_magic to detect DXBC and classify
it as the dxcontainer format.
The file was modifiedllvm/lib/BinaryFormat/Magic.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/Magic.h
The file was modifiedllvm/unittests/Object/DXContainerTest.cpp
Commit 098e80707413bebfe804ed5a1a500e623d6236b8 by Vitaly Buka
Revert "[DeadArgElim] Set unused arguments for internal functions"

Breaks bots, see https://reviews.llvm.org/D124699

This reverts commit e547a333a43348a8a7ec9460f37696ecc5453e56.
The file was removedllvm/test/Transforms/DeadArgElim/fct_ptr.ll
The file was modifiedllvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
Commit 4f5d525b1d863183ca5a0dedf911a763330b91a4 by llvmgnsyncbot
[gn build] Port 4070aa01561c
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
Commit deaa678137e52f51ca694fdfd1dc9988360fb69b by nicolai.haehnle
AMDGPU/SDAG: Factor out the fold (add (mul x, y), y) --> mad_[iu]64_[iu]32

Refactor to simplify a follow-up change.

No functional change intended. However, there is a rather subtle logic
change: the subsequent combines (e.g. reassociation) are skipped *always*
when one of the operands of the add is a mul, instead of only when
additionally mad64_32 etc. are available. This change makes sense because
the subsequent combines should never apply when one of the operands is a
mul.

Differential Revision: https://reviews.llvm.org/D123833
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
Commit 19fb52cbfec7fcb013b9354df4d069a03a7cd3f6 by chris.bieneman
[NFC] Add missing switch cases

This silences warnings encountered on some bots.
The file was modifiedllvm/lib/Object/ObjectFile.cpp
The file was modifiedllvm/lib/Object/Binary.cpp
Commit e927a336a58b93ea2b2cddfc511e531695273d8d by minyihh
[mlir][LLVMIR] Add support for translating FCmp & FP constants

This patch add supports for translating FCmp and more kinds of FP
constants in addition to 32 & 64-bit ones. However, we can't express
ppc_fp128 constants right now because the semantics for its underlying
APFloat is `S_PPCDoubleDouble` but mlir::FloatType doesn't support such
semantics right now.

Differential Revision: https://reviews.llvm.org/D124630
The file was modifiedmlir/test/Target/LLVMIR/Import/basic.ll
The file was modifiedmlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
Commit 751716bebd463f1c4527b5b438fe73490192a94d by tanyalattner
Add transparency report.
The file was modifiedllvm/docs/CodeOfConduct.rst
Commit 5f057eaa0ddf76118a0164b345dff7b382b55234 by craig.topper
[DAGCombiner] reassociationCanBreakAddressingModePattern should check uses of the outer add.

When looking for memory uses,
reassociationCanBreakAddressingModePattern should check uses of
the outer ADD rather than the inner ADD. We want to know if the
two ops we're reassociating are used by a load/store.

In practice, the existing check usually works because CodeGenPrepare
will make one of the load/stores have an offset of 0 relative to
split GEP. That will make the inner add have a memory use.

To test this, I've manually split the GEPs so there is no 0 offset
store.

This issue was recently discussed in the original review D60294.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D124644
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/RISCV/split-offsets.ll
Commit 32eb7b863e49222882afae39ca9f2888ee5cc7a0 by rtrieu
[Driver][test] Remove clang{{.*}} when testing -cc1 command lines

The majority of tests omit testing "clang" for -cc1 command lines. In addition,
some distributions symlink %clang to an executable with a content hash based
filename so clang{{.*}} check won't work.

With this change, we can remove many -no-canonical-prefixes whose purpose was to
make the tests pass on such distributions.
The file was modifiedclang/test/Driver/wasm-toolchain.cpp
Commit d75cc0859391e90a79bb0de6300d5d69db015421 by Jonas Devlieghere
[lldb] Remove PlatformRemoteMacOSX::GetFileWithUUID overload (NFC)

There's no reason PlatformRemoteMacOSX has to override GetFileWithUUID.
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.cpp
Commit d0067738e0cf764a92e1cc5ee0c8b2af8659bada by Jonas Devlieghere
[lldb] Remove unused PlatformRemoteDarwinDevice::FindFileInAllSDKs

As far as I can tell this function is unused both upstream and
downstream.
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
Commit 41c0ff1e740bc0962104a2619b908f8c24e28741 by Jonas Devlieghere
[lldb] Hoist device support out of PlatformRemoteDarwinDevice (NFC)

Refactoring in preparation of D124801.

Differential revision: https://reviews.llvm.org/D124799
The file was addedlldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
The file was addedlldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.h
Commit 322b4130415ac51ba48c993dfebc9c0b38d5bc32 by Jonas Devlieghere
[lldb] Move GetSharedModuleWithLocalCache to PlatformDarwinDevice (NFC)

Refactoring in preparation of D124801.

Differential revision: https://reviews.llvm.org/D124800
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h
Commit 24901ac6d061d0dfefe40516867647c58f7e6237 by llvmgnsyncbot
[gn build] Port 41c0ff1e740b
The file was modifiedllvm/utils/gn/secondary/lldb/source/Plugins/Platform/MacOSX/BUILD.gn
Commit 5807e59a0ab4c6fbe372af68cc7980ed6ff9239c by zakk.chen
[RISCV] Fix incorrect codegen for masked vmsge{u}.vx with mask agnostic.

The result was totally wrong.
We could use mask undisturbed result to emulate the mask agnostic result.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D124684
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/masked-tama.ll
Commit 3175323ce109fde642d1a8004d711c1318043173 by mahesha.comp
[AMDGPU][NFC] Make lowerINSERT_VECTOR_ELT() more readable

by moving around the code and by adding more comments, which would
later help during any required clean-up.

Differential Revision: https://reviews.llvm.org/D124733
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 589b9df4e15131348b8d94406e0667d6e1b7518b by mahesha.comp
[AMDGPU] Fix scalar_to_vector for v8i16/v8f16

so that the stack access is avoided.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D124734
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll