Changes

Summary

  1. [VectorCombine] Add tests which require DT to use info from assumes. (details)
  2. [SystemZ]  Emit EXRL target instructions before text section is ended. (details)
  3. [llvm] Pass LLVM_CHECK_ENABLED_PROJECTS through in cross builds (details)
  4. [IR] Add the constructor of ShuffleVector for one-input-vector. (details)
  5. [AMDGPU][MC][GFX10] Enabled dlc for FLAT and GLOBAL atomics (details)
  6. [InstCombine] add tests for mask-shift with trunc; NFC (details)
  7. [NFC] Update the list of subprojects in docs. (details)
  8. [clang-offload-bundler][docs][NFC] Add archive unbundling documentation (details)
  9. [InstCombine] Improve TryToSinkInstruction with multiple uses (details)
  10. [OpenCL] Defines helper function for OpenCL default address space (details)
  11. [RISCV] Optimize (add (mul x, c0), c1) (details)
  12. [NFC] `goto fail` has failed us in the past... (details)
  13. [mlir][linalg] Assert tile loop nest invariants in fusion. (details)
  14. [mlir][Linalg] Revisit RAW dependence interference in comprehensive bufferize. (details)
  15. [mlir][Linalg] Revisit heuristic ordering of tensor.insert_slice in comprehensive bufferize. (details)
  16. [AArch64] Regenerate test lines in and-mask-removal.ll (details)
  17. [clang][NFC] Fix needless double-parenthisation (details)
  18. AMDGPU/GlobalISel: Restore run line erased in D109154 by mistake (details)
  19. [AMDGPU][MC][GFX7][GFX10] Corrected image_atomic_fcmpswap (details)
  20. [mlir][linalg] Add isPermutation helper (NFC). (details)
  21. [mlir][linalg] Simplify slice dim computation for fusion on tensors (NFC). (details)
  22. [GlobalISel] Support ConstantAsMetadata in IRTranslator (details)
  23. [SelectionDAG] Re-calculate scoped AA metadata when merging stores. (details)
  24. [ValueTracking,VectorCombine] Allow passing DT to computeConstantRange. (details)
  25. [sanitizer coverage] write the pc-table at the process exit (details)
  26. [InstCombine] move/add tests for trunc-of-lshr; NFC (details)
  27. [CodeGen] Remove redundant declaration getFileType (NFC) (details)
  28. [PowerPC] Fix signature of lxvp and stxvp builtins (details)
  29. [InstCombine] powi(x, y) * powi(x, z) -> powi(x, y + z) (details)
  30. Revert "Diagnose -Wunused-value based on CFG reachability" (details)
  31. [OpenMP][NFC] Add declare variant and metadirective to support page (details)
  32. [libc++][format] Adds parser std-format-spec. (details)
  33. [gn build] Port a04a6ce7726b (details)
  34. [lldb/win] Default to native PDB reader when LLVM_ENABLE_DIA_SDK=NO (details)
  35. [RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for and/or/xor. (details)
  36. [LV] Fix crash for reverse interleaved loads with gap under fold-tail. (details)
  37. [PowerPC] Add prefix load pattern for fpext to v2f64 (details)
  38. [OpenMP] Codegen aggregate for outlined function captures (details)
  39. [LSR] Make sure that Factor fits into Base type (details)
  40. [RISCV] Make some arrays of constants 'static const'. NFC (details)
  41. [AMDGPU] Correctly merge alias.scope and noalias metadata for memops (details)
  42. Teach InstCombine to eliminate malloc-realloc-free triplets. (details)
  43. [AMDGPU] Filtering out the inactive lanes bits when lowering copy to SCC (details)
  44. Print nullptr_t namespace qualified within std:: (details)
  45. [IR] Re-group AAMDNodes relevant interfaces. NFC. (details)
  46. DebugInfo: Rebuild decltype(nullptr) as 'std::nullptr_t' (details)
  47. Support value-typed references in iterator facade's operator->() (details)
  48. nullptr printing - update for a change to clang type printing that now uses "std::nullptr_t" (details)
  49. [MergeICmps] Don't reorder unmerged comparisons (details)
Commit ea27dd74972e95e513fefcf96067522364f4e3d7 by flo
[VectorCombine] Add tests which require DT to use info from assumes.
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extract-insert-store-scalarization.ll (diff)
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll (diff)
Commit a48b43f9816aa3a3ccc9ca13e7767ccf70756729 by paulsson
[SystemZ]  Emit EXRL target instructions before text section is ended.

SystemZ adds the EXRL target instructions in the end of each file. This must
be done before debug info emission since that may end the text section, and
therefore this is now done in emitConstantPools() (instead of in
emitEndOfAsmFile).

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D109513
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetStreamer.h (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.h (diff)
The file was addedllvm/test/CodeGen/SystemZ/memset-06.ll
Commit e9ea03c62ccc1ed4e3ed4f20e37640cfdd76cbcf by thakis
[llvm] Pass LLVM_CHECK_ENABLED_PROJECTS through in cross builds
The file was modifiedllvm/cmake/modules/CrossCompile.cmake (diff)
Commit 043733d677310d6b0ac465b938e82733a9f4cfce by gusrb406
[IR] Add the constructor of ShuffleVector for one-input-vector.

One of the two inputs of the Shufflevector is often a placeholder.
Previously, there were cases where the placeholder was undef, and there were cases where it was poison.
I added these constructors to create a placeholder consistently.

Changing to use the newly added constructor will be written in a separate patch.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D110146
The file was modifiedllvm/lib/IR/Instructions.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Instructions.h (diff)
Commit b8e7f5320825812fc4b597ee5df3dccc53fe78bb by dmitry.preobrazhensky
[AMDGPU][MC][GFX10] Enabled dlc for FLAT and GLOBAL atomics

Differential Revision: https://reviews.llvm.org/D109614
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/flat_gfx10.txt (diff)
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_flat.s (diff)
Commit af1c5312d76000bf134d8b81cdb7343607c6ee64 by spatel
[InstCombine] add tests for mask-shift with trunc; NFC
The file was modifiedllvm/test/Transforms/InstCombine/and-narrow.ll (diff)
Commit 17a26f585127fde64fdf1b2393e90454e81f143c by diana.picus
[NFC] Update the list of subprojects in docs.

The updated list is based on the output of
cmake -G Ninja -S llvm -B build -DLLVM_ENABLE_PROJECTS='foo'.

Differential Revision: https://reviews.llvm.org/D110124
The file was modifiedllvm/docs/GettingStarted.rst (diff)
The file was modifiedREADME.md (diff)
Commit ee31ad0ab5f7d443b0bd582582a3524dcf7f13f0 by Saiyedul.Islam
[clang-offload-bundler][docs][NFC] Add archive unbundling documentation

Add documentation of unbundling of heterogeneous device archives to
create device specific archives, as introduced by D93525. Also, add
documentation for supported text file formats.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D110083
The file was modifiedclang/docs/ClangOffloadBundler.rst (diff)
Commit 69921f6f4558a2c5c8e48c5b12d83a65127bfecc by anna
[InstCombine] Improve TryToSinkInstruction with multiple uses

This patch allows sinking an instruction which can have multiple uses in a
single user. We were previously over-restrictive by looking for exactly one use,
rather than one user.

Also added an API for retrieving a unique undroppable user.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D109700
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/sink_instruction.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll (diff)
The file was modifiedllvm/include/llvm/IR/Value.h (diff)
The file was modifiedllvm/lib/IR/Value.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/icmp-mul-zext.ll (diff)
Commit 32b994bca66641cdac8586f25315daf349921ebc by Justas.Janickas
[OpenCL] Defines helper function for OpenCL default address space

Helper function `getDefaultOpenCLPointeeAddrSpace()` introduced to
`ASTContext` class. It returns default OpenCL address space
depending on language version and enabled features. If generic
address space is supported, the helper function returns value
`LangAS::opencl_generic`. Otherwise, value `LangAS::opencl_private`
is returned. Code refactoring changes performed in several suitable
places.

Differential Revision: https://reviews.llvm.org/D109874
The file was modifiedclang/include/clang/AST/ASTContext.h (diff)
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp (diff)
The file was modifiedclang/lib/Sema/Sema.cpp (diff)
The file was modifiedclang/lib/Sema/SemaType.cpp (diff)
The file was modifiedclang/lib/AST/Expr.cpp (diff)
Commit b3052013b43617defd777b1f3b4339540c4c07df by powerman1st
[RISCV] Optimize (add (mul x, c0), c1)

Optimize (add (mul x, c0), c1) -> (ADDI (MUL (ADDI, c1/c0), c0), c1%c0),
if c1/c0 and c1%c0 are simm12, while c1 is not.

Optimize (add (mul x, c0), c1) -> (MUL (ADDI, c1/c0), c0),
if c1%c0 is zero, and c1/c0 is simm12 while c1 is not.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D108607
The file was modifiedllvm/test/CodeGen/RISCV/addimm-mulimm.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
Commit 744ec74b305a5039dc74e2d043e1c136e06beac1 by chris.bieneman
[NFC] `goto fail` has failed us in the past...

This patch replaces reliance on `goto failure` pattern with
`llvm::scope_exit`.

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D109865
The file was modifiedclang/lib/Frontend/FrontendAction.cpp (diff)
Commit c8eed8f9a7e019382ab236c90ac1ee0f5d81c54f by gysit
[mlir][linalg] Assert tile loop nest invariants in fusion.

Assert the tile loop nest invariants are satisfied instead of failing silently.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110137
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp (diff)
Commit 0d2c54e851f12594b38f45e76ced03e3f5cc5443 by nicolas.vasilache
[mlir][Linalg] Revisit RAW dependence interference in comprehensive bufferize.

Previously, comprehensive bufferize would consider all aliasing reads and writes to
the result buffer and matching operand. This resulted in spurious dependences
being considered and resulted in too many unnecessary copies.

Instead, this revision revisits the gathering of read and write alias sets.
This results in fewer alloc and copies.
An exhaustive test cases is added that considers all possible permutations of
`matmul(extract_slice(fill), extract_slice(fill), ...)`.
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp (diff)
The file was addedmlir/test/Dialect/Linalg/comprehensive-bufferize-analysis-2fill-extract-matmul-all-perms.mlir
Commit 101d017a643845b537687467e3f7c2a5d963df6e by nicolas.vasilache
[mlir][Linalg] Revisit heuristic ordering of tensor.insert_slice in comprehensive bufferize.

It was previously assumed that tensor.insert_slice should be bufferized first in a greedy fashion to avoid out-of-place bufferization of the large tensor. This heuristic does not hold upon further inspection.

This CL removes the special handling of such ops and adds a test that exhibits better behavior and appears in real use cases.

The only test adversely affected is an artificial test which results in a returned memref: this pattern is not allowed by comprehensive bufferization in real scenarios anyway and the offending test is deleted.

Differential Revision: https://reviews.llvm.org/D110072
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir (diff)
Commit a502294b2d9594e06be01fab344e937ddae22cd1 by david.green
[AArch64] Regenerate test lines in and-mask-removal.ll
The file was modifiedllvm/test/CodeGen/AArch64/and-mask-removal.ll (diff)
Commit 9ae4275557ca10f79af91ca99a2aa79d5dfd7ed3 by wingo
[clang][NFC] Fix needless double-parenthisation

Strip a layer of parentheses in TreeTransform::RebuildQualifiedType.

Differential Revision: https://reviews.llvm.org/D108359
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
Commit f3366983f0aa81f5fc5361392a6fcec05157b851 by petar.avramovic
AMDGPU/GlobalISel: Restore run line erased in D109154 by mistake
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir (diff)
Commit 3500e7d2b0f1c3f508f384ba9223e879c103b0ab by dmitry.preobrazhensky
[AMDGPU][MC][GFX7][GFX10] Corrected image_atomic_fcmpswap

Differential Revision: https://reviews.llvm.org/D109616
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_mimg.txt (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx7_asm_mimg.s (diff)
The file was modifiedllvm/lib/Target/AMDGPU/MIMGInstructions.td (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_mimg.s (diff)
Commit 9072f1b5f81347b36f0668e8cc10802fedbc6cfd by gysit
[mlir][linalg] Add isPermutation helper (NFC).

Add a helper method to check if an index vector contains a permutation of its indices. Additionally, refactor applyPermutationToVector to take int64_t.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110135
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Interchange.cpp (diff)
Commit 8b5236def5a1adc55f649f125d2582254b80f699 by gysit
[mlir][linalg] Simplify slice dim computation for fusion on tensors (NFC).

Compute the tiled producer slice dimensions directly starting from the consumer not using the producer at all.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110147
The file was modifiedmlir/test/Dialect/Linalg/tile-and-fuse-on-tensors.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp (diff)
Commit 624e4d087efdb2f26a9a618dd0e2da99782e6308 by Matthew.Arsenault
[GlobalISel] Support ConstantAsMetadata in IRTranslator

When using instructions which have a MetadataAsValue argument
(e.g. some target-specific intrinsics) MD canonicalization strips
internal MDNodes with a single ConstantAsMetadata child. That
prevented IRTranslator from the proper translation of such a calls.
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-metadata.ll (diff)
Commit 5fb3ae525ffa7fc9e09e0c10de02ecc003c3adae by michael.hliao
[SelectionDAG] Re-calculate scoped AA metadata when merging stores.

Reviewed By: jeroen.dobbelaere

Differential Revision: https://reviews.llvm.org/D102821
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
The file was modifiedllvm/include/llvm/IR/Metadata.h (diff)
The file was modifiedllvm/lib/Analysis/TypeBasedAliasAnalysis.cpp (diff)
Commit 5131037ea96f9e2bc863557ba6d6dc63f46a94ab by flo
[ValueTracking,VectorCombine] Allow passing DT to computeConstantRange.

isValidAssumeForContext can provide better results with access to the
dominator tree in some cases. This patch adjusts computeConstantRange to
allow passing through a dominator tree.

The use VectorCombine is updated to pass through the DT to enable
additional scalarization.

Note that similar APIs like computeKnownBits already accept optional dominator
tree arguments.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D110175
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp (diff)
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll (diff)
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h (diff)
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extract-insert-store-scalarization.ll (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp (diff)
Commit 11c533e1ea38381726ed04ab65937a03fbfb3e19 by kcc
[sanitizer coverage] write the pc-table at the process exit

The current code writes the pc-table at the process startup,
which may happen before the common_flags() are initialized.
Move writing to the process end.
This is consistent with how we write the counters and avoids the problem with the uninitalized flags.
Add prints if verbosity>=1.

Reviewed By: kostik

Differential Revision: https://reviews.llvm.org/D110119
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter_default_impl.cpp (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp (diff)
Commit 08ef71ca92d9bd474ac4bbb5109e9ced19c77f0e by spatel
[InstCombine] move/add tests for trunc-of-lshr; NFC

Planning to reframe a proposed transform in terms of
demanded bits as suggested in D110170.
The new tests end with an 'or'.
The file was modifiedllvm/test/Transforms/InstCombine/and-narrow.ll (diff)
The file was addedllvm/test/Transforms/InstCombine/trunc-demand.ll
Commit 54229cd9e44f70de09ffa0c55ad35317c521adc0 by kazu
[CodeGen] Remove redundant declaration getFileType (NFC)
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h (diff)
Commit 57939309501c33b264b777e04186c7747ebc3de1 by quinn.pham
[PowerPC] Fix signature of lxvp and stxvp builtins

This patch changes the signature of the load and store vector pair
builtins to match their documentation. The type of the `signed long long`
argument is changed to `signed long`. This patch also changes existing testcases
to match the signature change.

Reviewed By: lei, Conanap

Differential Revision: https://reviews.llvm.org/D109996
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def (diff)
The file was modifiedclang/test/Sema/ppc-pair-mma-types.c (diff)
The file was modifiedclang/test/CodeGen/builtins-ppc-pair-mma.c (diff)
Commit c0fdfc9af2338fa84f1b65dda8f1649c0ec1ebf1 by Dávid Bolvanský
[InstCombine] powi(x, y) * powi(x, z) -> powi(x, y + z)

We already have pow(x, y) * pow(x, z) -> pow(x, y + z) transformation, but we are missing same transformation for powi (power is integer).

Requires reassoc.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D109954
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/powi.ll (diff)
Commit 73a8bcd78921d38130fc42c90fd75d47b05b063d by aaron
Revert "Diagnose -Wunused-value based on CFG reachability"

This reverts commit 63e0d038fc20c894a3d541effa1bc2b1fdea37b9.

It causes test failures:

http://lab.llvm.org:8011/#/builders/119/builds/5612
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8835548361443044001/+/u/clang/test/stdout
The file was modifiedclang/test/SemaTemplate/derived.cpp (diff)
The file was modifiedclang/lib/Sema/SemaStmt.cpp (diff)
The file was modifiedclang/test/SemaCXX/warn-unused-value.cpp (diff)
The file was modifiedclang/test/Frontend/fixed_point_crash.c (diff)
The file was modifiedclang/test/Parser/cxx1z-init-statement.cpp (diff)
The file was modifiedclang/test/SemaCXX/attr-annotate.cpp (diff)
The file was modifiedclang/test/Sema/warn-type-safety.c (diff)
The file was modifiedclang/test/Analysis/dead-stores.c (diff)
The file was modifiedclang/test/SemaCXX/expression-traits.cpp (diff)
The file was modifiedclang/test/CodeCompletion/pragma-macro-token-caching.c (diff)
The file was modifiedclang/test/Parser/objcxx11-attributes.mm (diff)
The file was modifiedclang/test/CXX/basic/basic.link/p8.cpp (diff)
The file was modifiedclang/test/Sema/sizeless-1.c (diff)
The file was modifiedclang/lib/Sema/SemaExpr.cpp (diff)
The file was modifiedclang/test/Sema/const-eval.c (diff)
The file was modifiedclang/test/Sema/exprs.c (diff)
The file was modifiedclang/test/SemaTemplate/lambda-capture-pack.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr14xx.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr20xx.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp (diff)
The file was modifiedclang/test/SemaCXX/constant-expression.cpp (diff)
The file was modifiedclang/test/SemaCXX/matrix-type-operators.cpp (diff)
The file was modifiedclang/test/Parser/cxx-ambig-decl-expr.cpp (diff)
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/partial-specializations.cpp (diff)
The file was modifiedclang/test/PCH/cxx-explicit-specifier.cpp (diff)
The file was modifiedclang/test/Parser/cxx0x-ambig.cpp (diff)
The file was modifiedclang/test/Sema/warn-unused-value.c (diff)
The file was modifiedclang/test/SemaCXX/overloaded-operator.cpp (diff)
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp (diff)
The file was modifiedclang/test/Parser/objc-try-catch-1.m (diff)
The file was modifiedclang/test/Sema/vla-2.c (diff)
The file was modifiedclang/test/Sema/i-c-e.c (diff)
The file was modifiedclang/test/SemaCXX/warn-comma-operator.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/test/Parser/objc-messaging-1.m (diff)
The file was modifiedclang/test/Sema/switch-1.c (diff)
The file was modifiedclang/test/SemaCXX/builtin-constant-p.cpp (diff)
The file was modifiedclang/test/SemaCXX/vector.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr7xx.cpp (diff)
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp (diff)
Commit 8c68bd480f3d8a5bf6087f47837d320f9d6dba2d by cchen
[OpenMP][NFC] Add declare variant and metadirective to support page
The file was modifiedclang/docs/OpenMPSupport.rst (diff)
Commit a04a6ce7726b51c4f503c8de899362bee40d4e04 by koraq
[libc++][format] Adds parser std-format-spec.

This implements the generic std.format.spec framework for all types.

The Unicode support will be added in a separate patch.

Implements parts of:
- P0645 Text Formatting

Completes:
- LWG-3242 std::format: missing rules for arg-id in width and precision
- P1892 Extended locale-specific presentation specifiers for std::format

Reviewed By: #libc, ldionne, vitaut

Differential Revision: https://reviews.llvm.org/D103368
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/test_exception.h
The file was modifiedlibcxx/include/__format/formatter.h (diff)
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_integral.pass.cpp
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_string.pass.cpp
The file was modifiedlibcxx/include/format (diff)
The file was modifiedlibcxx/docs/Status/Cxx20Papers.csv (diff)
The file was addedlibcxx/include/__format/parser_std_format_spec.h
The file was modifiedlibcxx/docs/Status/Cxx20Issues.csv (diff)
The file was modifiedlibcxx/include/module.modulemap (diff)
The file was addedlibcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.module.verify.cpp
The file was modifiedlibcxx/include/CMakeLists.txt (diff)
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/concepts_precision.h
Commit a3bb4f145599c7c4147fd60ea15cb09cd68e50d9 by llvmgnsyncbot
[gn build] Port a04a6ce7726b
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn (diff)
Commit 908c1154421287c6ffa0ef06ef5225a8fd0b06a7 by thakis
[lldb/win] Default to native PDB reader when LLVM_ENABLE_DIA_SDK=NO

Trying to use the DIA SDK reader only to fail with "DIA SDK wasn't enabled"
isn't very useful. The native PDB reader is missing some stuff, but it's still
better than nothing.

Reduces number of lldb-check-shell test failures with LLVM_ENABLE_DIA_SDK=NO
from 27 to 15.

Differential Revision: https://reviews.llvm.org/D110172
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp (diff)
Commit aeb63d464f30db5e32da1449a650eec8c85d95bd by craig.topper
[RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for and/or/xor.

This requires a minor change to CodeGenPrepare to ensure that
shouldSinkOperands will be called for And.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D110106
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
Commit ab6a69dfea64d362dca300c3926733b9a599ad2c by ayal.zaks
[LV] Fix crash for reverse interleaved loads with gap under fold-tail.

This patch fixes the crash found by PR51614:
whenever doing tail folding, interleave groups must be considered under mask.

Another fix D108900 follows for targets that support masked loads and stores:
when *deciding* to vectorize with masked interleave groups, check if the access
is reverse - which is currently not supported; rather than (only) asserting when
computing cost and generating code.

Differential Revision: https://reviews.llvm.org/D108891
The file was addedllvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
Commit 2af57b6099e1750c375cfc1321d1a5ef0a65c085 by amy.kwan1
[PowerPC] Add prefix load pattern for fpext to v2f64

This patch adds a prefixed load pattern involving v2f32 fpext v2f64, where we
are dealing with a value with an offset that fits into a 34-bit signed immediate.
A reduced test case is also added to patch that tests the pattern, in which the
pattern is tested in the big endian CHECKs of the newly added test.

Differential Revision: https://reviews.llvm.org/D109887
The file was modifiedllvm/test/CodeGen/PowerPC/reduce_scalarization.ll (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td (diff)
Commit 1d66649adf28d48ae1731516d87fb899426e3349 by georgakoudis1
[OpenMP] Codegen aggregate for outlined function captures

Parallel regions are outlined as functions with capture variables explicitly generated as distinct parameters in the function's argument list. That complicates the fork_call interface in the OpenMP runtime: (1) the fork_call is variadic since there is a variable number of arguments to forward to the outlined function, (2) wrapping/unwrapping arguments happens in the OpenMP runtime, which is sub-optimal, has been a source of ABI bugs, and has a hardcoded limit (16) in the number of arguments, (3)  forwarded arguments must cast to pointer types, which complicates debugging. This patch avoids those issues by aggregating captured arguments in a struct to pass to the fork_call.

Reviewed By: jdoerfert, jhuber6

Differential Revision: https://reviews.llvm.org/D102107
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/single_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_data_sharing.cpp (diff)
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected (diff)
The file was modifiedclang/test/OpenMP/sections_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/for_linear_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/unroll_codegen_parallel_for_factor.cpp (diff)
The file was removedopenmp/libomptarget/utils/generate_microtask_cases.py
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_collapse_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_for_linear_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/declare_target_codegen_globalization.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/for_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp (diff)
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected (diff)
The file was modifiedclang/test/OpenMP/debug-info-complex-byval.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_for_debug_codegen.cpp (diff)
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c (diff)
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_sections_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/openmp_win_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_map_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/tile_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/metadirective_device_kind_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/task_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/cancellation_point_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_for_simd_aligned_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_teams_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/declare_variant_construct_codegen_1.c (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_if_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/task_if_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_for_lastprivate_conditional.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c (diff)
The file was modifiedclang/test/OpenMP/target_parallel_debug_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp (diff)
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c (diff)
The file was modifiedclang/test/OpenMP/parallel_if_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/observe-noexcept.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_nested_parallel_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_copyin_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/metadirective_implementation_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/for_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_for_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_teams_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_parallel_for_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/reduction_compound_op.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_num_teams_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp (diff)
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu (diff)
The file was modifiedclang/test/OpenMP/distribute_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/single_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_map_codegen_03.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c (diff)
The file was modifiedclang/test/OpenMP/nvptx_allocate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_if_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_simd_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/sections_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/for_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_teams_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/for_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/debug-info-openmp-array.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_num_threads_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_lambda_capturing.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/for_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_parallel_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp (diff)
The file was modifiedclang/test/OpenMP/sections_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_codegen_global_capture.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp (diff)
The file was removedopenmp/libomptarget/deviceRTLs/common/generated_microtask_cases.gen
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/for_reduction_codegen_UDR.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_simd_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskgroup_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp (diff)
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h (diff)
The file was modifiedclang/test/OpenMP/parallel_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/sections_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_reduction_task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/sections_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/cancel_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/single_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_thread_limit_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/vla_crash.c (diff)
The file was modifiedclang/test/OpenMP/parallel_if_codegen_PR51349.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/teams_distribute_private_codegen.cpp (diff)
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c (diff)
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/metadirective_device_kind_codegen.c (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp (diff)
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for.c (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/remarks_parallel_in_target_state_machine.c (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp (diff)
Commit 78b51c7a2cb6994c1baf4349d61266f36f0c45c5 by dmalyutin
[LSR] Make sure that Factor fits into Base type

Fixes pr42770

Differential Revision: https://reviews.llvm.org/D108772
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp (diff)
The file was addedllvm/test/Transforms/LoopStrengthReduce/scaling-factor-incompat-type.ll
The file was removedllvm/test/Transforms/LoopStrengthReduce/pr42770.ll
Commit 7c975665b47cb91227c5ec0cd902aaf4a7529b58 by craig.topper
[RISCV] Make some arrays of constants 'static const'. NFC

This helps the compiler generate better code.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
Commit cbdf624bb82b57dc9372353459cb04e615418697 by brendon.cahoon
[AMDGPU] Correctly merge alias.scope and noalias metadata for memops

When adding alias.scope and noalias metadata to a memcpy function,
the alias.scope and noalias metadata from the operands are merged.
The rule for merging alias.scope is to take the intersection of
the domains and the union of the scopes within those domains.
The rule for merging noalias is to take the intersection.

The bug is that AMDGPULowerModuleLDS was using concatenation for
both alias.scope and noalias. For example, when f1 and f2 are added
to the LDS structure and there is a memcpy(f2, f1, sizeof(f1)).
Then, concatenation creates noalias metadata for the memcpy that
includes both {f1, f2}. That means that the memcpy is assumed
not to alias a prior load of f2, which enables the optimizer to
remove a load of f2 that occurs after mempcy.

The function MDNode::getmostGenericAliasScope defines the semantics
for alias.scope. There is a function, combineMetadata in Local.cpp,
that uses intersect for noalias.

Differential Revision: https://reviews.llvm.org/D110049
The file was addedllvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp (diff)
Commit b5fbbdd2025fb04dc8ee1fc892d6575a9a3e2bcd by resistor
Teach InstCombine to eliminate malloc-realloc-free triplets.

Reviewed By: majnemer

Differential Revision: https://reviews.llvm.org/D109988
The file was addedllvm/test/Transforms/InstCombine/realloc-free.ll
The file was addedllvm/test/Transforms/InstCombine/alloc-realloc-free.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)
Commit 1a33294652b24eff17a1f222f1f11f4986cdce5a by Alexander Timofeev
[AMDGPU] Filtering out the inactive lanes bits when lowering copy to SCC

Normally, given that the DA results are kept consistent over the selection DAG, uniform comparisons get selected to S_CMP_* but divergent to V_CMP_*.  Sometimes, for the sake of efficiency,  SSA subgraphs may be converted to VALU to avoid repeatedly copying data back and forth. Hence we have to be able to sustain the correctness passing the i1 from VALU to SALU context and vice versa.

VALU operations only process the active lanes of the VGPR and ignore inactive ones.
Active lanes correspond to 1 bit in the EXEC mask register.
SALU represents i1 as just one bit but VALU as 64bits: 0/1 and 0/(0xffffffffffffffff & EXEC) respectively.
SALU uses one-bit conditional flag SCC but VALU - VCC that is a pair of 32-bit SGPRs

To expose SCC to the VALU context we need to convert the one-bit boolean value to the appropriate 64bit.
To return back to the SALU context we need to do the opposite.

To correctly convert 64bit VALU boolean to either 0 or 1 we need to filter out the bits corresponding to the inactive lanes.

Reviewed By: piotr

Differential Revision: https://reviews.llvm.org/D109900
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/copy_to_scc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll (diff)
Commit 131e8786640a49daf533b7ead4d3b5b82e0aea2a by dblaikie
Print nullptr_t namespace qualified within std::

This improves diagnostic (& important to me, DWARF) accuracy - otherwise
there could be ambiguities between "std::nullptr_t" and some user-defined
type that's /actually/ "nullptr_t" defined in the global namespace.

Differential Revision: https://reviews.llvm.org/D110044
The file was modifiedclang/test/SemaTemplate/deduction.cpp (diff)
The file was modifiedclang/test/CXX/temp/temp.param/p10-2a.cpp (diff)
The file was modifiedclang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.cpp (diff)
The file was modifiedclang/test/SemaCXX/nullability.cpp (diff)
The file was modifiedclang/test/SemaCXX/cxx0x-noexcept-expression.cpp (diff)
The file was modifiedclang/test/SemaTemplate/instantiate-local-class.cpp (diff)
The file was modifiedclang/test/SemaTemplate/friend.cpp (diff)
The file was modifiedclang/test/Sema/builtins-arm64-mte.c (diff)
The file was modifiedclang/test/OpenMP/task_affinity_messages.cpp (diff)
The file was modifiedclang/lib/AST/Type.cpp (diff)
The file was modifiedclang/test/SemaTemplate/deduction-guide.cpp (diff)
The file was modifiedclang/test/SemaCXX/nullptr.cpp (diff)
The file was modifiedclang/test/SemaCXX/cxx2a-explicit-bool.cpp (diff)
The file was modifiedclang/test/Analysis/plist-diagnostics-template-record.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr15xx.cpp (diff)
The file was modifiedclang/test/Sema/format-strings-pedantic.c (diff)
The file was modifiedclang/test/AST/ast-dump-recovery.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr6xx.cpp (diff)
The file was modifiedclang/test/OpenMP/task_depend_messages.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-template.cpp (diff)
Commit 2d1ffad01074cdfa6e986c526167b600cf71eb41 by michael.hliao
[IR] Re-group AAMDNodes relevant interfaces. NFC.
The file was modifiedllvm/lib/Analysis/TypeBasedAliasAnalysis.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Instruction.h (diff)
The file was modifiedllvm/lib/IR/Metadata.cpp (diff)
Commit 49c519a84856d018578ed2af625b114771f666e4 by dblaikie
DebugInfo: Rebuild decltype(nullptr) as 'std::nullptr_t'

Now that Clang's been changed to render nullptr types/template
parameters as 'std::nullptr_t' do the same thing down here.

(Clang commit: 131e8786640a49daf533b7ead4d3b5b82e0aea2a )
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/prettyprint_types.s (diff)
Commit 9149ae09bd1ef2934e2bc7bcaeffbb055739f074 by csigg
Support value-typed references in iterator facade's operator->()

Add a PointerProxy similar to the existing iterator_facade_base::ReferenceProxy and return it from the arrow operator. This prevents iterator facades with a reference type that is not a true reference to take the address of a temporary.

Forward the reference type of the mapped_iterator to the iterator adaptor which in turn forwards it to the iterator facade. This fixes mlir::op_iterator::operator->() to take the address of a temporary.

Make some polishing changes to op_iterator and op_filter_iterator.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D109490
The file was modifiedllvm/include/llvm/ADT/iterator.h (diff)
The file was modifiedmlir/include/mlir/IR/TypeUtilities.h (diff)
The file was modifiedllvm/include/llvm/ADT/STLExtras.h (diff)
The file was modifiedmlir/include/mlir/IR/BlockSupport.h (diff)
The file was modifiedmlir/include/mlir/IR/UseDefLists.h (diff)
The file was modifiedmlir/include/mlir/IR/TypeRange.h (diff)
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.h (diff)
The file was modifiedmlir/include/mlir/TableGen/Operator.h (diff)
Commit 40e971a21052a8638933037615e3c681e193f3fc by dblaikie
nullptr printing - update for a change to clang type printing that now uses "std::nullptr_t"
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/function-types-builtins.cpp (diff)
Commit f2fa6ad0476b318fdba46f09a2d59187228431ee by nikita.ppv
[MergeICmps] Don't reorder unmerged comparisons

MergeICmps will currently sort (by offset) all comparisons in a chain,
including those that do not get merged. This is problematic in two ways:

* We may end up moving the original first block into the middle of
   the chain, in which case the "extra work" instructions will also
   be in the middle of the chain, resulting in invalid IR
   (reported in https://reviews.llvm.org/D108782#3005583).
* Reordering branches is generally not legal, because it may
   introduce branch on poison, which is UB (PR51845). The merging
   done by MergeICmps is legal as long as we assume that memcmp()
   works on frozen memory, but the reordering of unmerged comparisons
   is definitely incorrect (without inserting freeze instructions),
   so we should avoid it.

There are easier ways to fix the first issue, but I figured it was
worthwhile to do this properly to also fix the second one. What we
now do is to restore the original relative order of (potentially
merged) comparisons.

I took the liberty of dropping the MERGEICMPS_DOT_ON functionality,
because it would be more awkward to implement now (as the before and
after representation is different) and it doesn't seem terribly
useful nowadays.

Differential Revision: https://reviews.llvm.org/D110024
The file was modifiedllvm/lib/Transforms/Scalar/MergeICmps.cpp (diff)
The file was modifiedllvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll (diff)
The file was addedllvm/test/Transforms/MergeICmps/X86/entry-block-shuffled-2.ll