SuccessChanges

Summary

  1. Modify TypePrinter to differentiate between anonymous struct and unnamed struct (details)
  2. AMDGPU/ELF: Sort MACHs by value and add missing reserved MACHs (details)
  3. [libcxx] adds concept `std::uniform_random_bit_generator` (details)
  4. Fix MLIR Toy tutorial JIT example and add a test to cover it (details)
  5. Fix for Modify TypePrinter to differentiate between anonymous struct and unnamed struct (details)
  6. [OpenMP][NVPTX] Add the support for CUDA 11.2 and CUDA 11.1 (details)
  7. Reland "[MLIR] Make structured op tests permutation invariant" (details)
  8. Revert "Fix for Modify TypePrinter to differentiate between anonymous struct and unnamed struct" (details)
  9. Revert "Modify TypePrinter to differentiate between anonymous struct and unnamed struct" (details)
  10. PR49239: Don't take shortcuts when constant evaluating in 'warn on UB' (details)
  11. Reset the EntryValue location flag in finalizeEntryValue. (details)
  12. [RISCV] Enable PrimaryKeyEarlyOut on RISCVVPseudosTable. (details)
  13. [RISCV] Split zvlsseg searchable table into 4 separate tables. Index by properties rather than intrinsic ID. (details)
  14. [Coroutine] Relax CoroElide musttail check (details)
Commit ecb90b55454ee94733481247486729a504aa43a1 by Shafik Yaghmour
Modify TypePrinter to differentiate between anonymous struct and unnamed struct

Currently TypePrinter lumps anonymous classes and unnamed classes in one group "anonymous" this is not correct and can be confusing in some contexts.

Differential Revision: https://reviews.llvm.org/D96807
The file was modifiedclang/test/AST/ast-dump-openmp-target-update.c
The file was modifiedclang/test/AST/ast-dump-openmp-cancellation-point.c
The file was modifiedclang/test/AST/ast-dump-openmp-taskgroup.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-sections.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-sections.c
The file was modifiedclang/test/AST/ast-dump-openmp-for.c
The file was modifiedclang/test/SemaCXX/enum.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-simd.c
The file was modifiedclang/test/SemaCXX/condition.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel.c
The file was modifiedclang/test/PCH/stmt-openmp_structured_block-bit.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-enter-data.c
The file was modifiedclang/test/Sema/switch.c
The file was modifiedclang/test/Analysis/padding_c.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-data.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute.c
The file was modifiedclang/test/Layout/ms-x86-alias-avoidance-padding.cpp
The file was modifiedclang/test/Sema/assign.c
The file was modifiedclang/test/Index/print-type.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-stmt-json.m
The file was modifiedclang/test/AST/ast-dump-openmp-for-simd.c
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-task.c
The file was modifiedclang/test/AST/ast-dump-openmp-section.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute.c
The file was modifiedclang/test/AST/ast-dump-records.cpp
The file was modifiedclang/test/Analysis/cfg.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for.c
The file was modifiedclang/test/Index/print-type.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute.c
The file was modifiedclang/test/AST/ast-dump-records.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-taskloop-simd.c
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug-types-missing-signature.test
The file was modifiedclang/test/AST/ast-dump-openmp-cancel.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams.c
The file was modifiedclang/test/AST/ast-dump-openmp-single.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-exit-data.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-simd.c
The file was modifiedclang/test/SemaCXX/warn-sign-conversion.cpp
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/clang-ast-from-dwarf-unamed-and-anon-structs.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-taskloop.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-records-json.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-decl-json.c
The file was modifiedclang/test/AST/ast-dump-openmp-target.c
The file was modifiedclang/test/AST/ast-dump-enum-json.cpp
The file was modifiedclang/test/ASTMerge/struct/test.c
The file was modifiedclang/test/AST/ast-dump-openmp-ordered.c
Commit 71d1f785a5a6afb2d9f49bf9e4c0ea350e0a123d by kzhuravl_dev
AMDGPU/ELF: Sort MACHs by value and add missing reserved MACHs

  - Sort MACHs by its value
  - Add missing reserved MACHs
    - EF_AMDGPU_MACH_AMDGCN_RESERVED_0X3D
    - EF_AMDGPU_MACH_AMDGCN_RESERVED_0X3E

Differential Revision: https://reviews.llvm.org/D97010
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit 9f4f6ac94bfcb474fa71dab40f1dbee6ee57398f by cjdb
[libcxx] adds concept `std::uniform_random_bit_generator`

Implements parts of:
    - P0898R3 Standard Library Concepts
    - P1754 Rename concepts to standard_case for C++20, while we still can

Differential Revision: https://reviews.llvm.org/D96577
The file was removedlibcxx/test/std/numerics/rand/rand.req/rand.req.urng/nothing_to_do.pass.cpp
The file was modifiedlibcxx/include/random
The file was modifiedlibcxx/test/std/concepts/lang/arithmetic.pass.cpp
The file was addedlibcxx/test/std/numerics/rand/rand.req/rand.req.urng/uniform_random_bit_generator.compile.pass.cpp
The file was modifiedlibcxx/include/concepts
Commit ae15b1e7ad71e4bfde1b031dd5e6b0bbb3b88a42 by joker.eph
Fix MLIR Toy tutorial JIT example and add a test to cover it
The file was modifiedmlir/examples/toy/Ch7/toyc.cpp
The file was addedmlir/test/Examples/Toy/Ch7/jit.toy
The file was modifiedmlir/examples/toy/Ch6/toyc.cpp
The file was addedmlir/test/Examples/Toy/Ch6/jit.toy
Commit 1e0819395657a9306f609849dcd3be9d7fb0c894 by Shafik Yaghmour
Fix for Modify TypePrinter to differentiate between anonymous struct and unnamed struct

One of the lldb tests needed additional fixes.
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug-types-missing-signature.test
Commit 89827fd404f954605663776e746ec351bde61348 by tianshilei1992
[OpenMP][NVPTX] Add the support for CUDA 11.2 and CUDA 11.1

CUDA 11.2 and CUDA 11.1 are all available now.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D97004
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
Commit db011775e4f1e0973620ed74a1819ce5d94521b8 by gcmn
Reland "[MLIR] Make structured op tests permutation invariant"

Relands with fix swapping DEPENDS for LINK_LIBS.

This reverts commit cd8cc00b9e2b2b2b10270f7485eb47759bc54cc1.

Differential Revision: https://reviews.llvm.org/D97011
The file was addedmlir/lib/Dialect/Utils/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/CMakeLists.txt
The file was addedmlir/unittests/Dialect/Utils/StructuredOpsUtilsTest.cpp
The file was modifiedmlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h
The file was addedmlir/unittests/Dialect/Utils/CMakeLists.txt
The file was addedmlir/lib/Dialect/Utils/StructuredOpsUtils.cpp
The file was modifiedmlir/lib/Dialect/Vector/CMakeLists.txt
Commit 080ba851c61604f9c00117b584191c67cfc468cd by Shafik Yaghmour
Revert "Fix for Modify TypePrinter to differentiate between anonymous struct and unnamed struct"

I missed clangd test suite and may need some time to get those working, so reverting for now.

This reverts commit 1e0819395657a9306f609849dcd3be9d7fb0c894.
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug-types-missing-signature.test
Commit 9068dab1fdde8162cb83037a70750fde0812d22e by Shafik Yaghmour
Revert "Modify TypePrinter to differentiate between anonymous struct and unnamed struct"

I missed clangd test suite and may need some time to get those working, so reverting for now.

This reverts commit ecb90b55454ee94733481247486729a504aa43a1.
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/clang-ast-from-dwarf-unamed-and-anon-structs.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-records.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-task.c
The file was modifiedclang/test/SemaCXX/warn-sign-conversion.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-enter-data.c
The file was modifiedclang/test/AST/ast-dump-records-json.cpp
The file was modifiedclang/test/Index/print-type.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-update.c
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug-types-missing-signature.test
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-sections.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-enum-json.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-cancellation-point.c
The file was modifiedclang/test/Index/print-type.c
The file was modifiedclang/test/PCH/stmt-openmp_structured_block-bit.cpp
The file was modifiedclang/test/ASTMerge/struct/test.c
The file was modifiedclang/test/AST/ast-dump-openmp-section.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-data.c
The file was modifiedclang/test/Analysis/padding_c.c
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-parallel.c
The file was modifiedclang/test/SemaCXX/enum.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams.c
The file was modifiedclang/test/AST/ast-dump-decl-json.c
The file was modifiedclang/test/AST/ast-dump-openmp-ordered.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-cancel.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-simd.c
The file was modifiedclang/test/Layout/ms-x86-alias-avoidance-padding.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute.c
The file was modifiedclang/test/AST/ast-dump-stmt-json.m
The file was modifiedclang/test/AST/ast-dump-openmp-taskgroup.c
The file was modifiedclang/test/AST/ast-dump-openmp-single.c
The file was modifiedclang/test/AST/ast-dump-records.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel.c
The file was modifiedclang/test/AST/ast-dump-openmp-taskloop.c
The file was modifiedclang/test/Sema/assign.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-exit-data.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-target.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-taskloop-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute.c
The file was modifiedclang/test/Sema/switch.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-sections.c
The file was modifiedclang/test/AST/ast-dump-openmp-for-simd.c
The file was modifiedclang/test/Analysis/cfg.cpp
The file was modifiedclang/test/SemaCXX/condition.cpp
Commit bdf6fbc939646b52af61c0bae7335623a8be59f4 by richard
PR49239: Don't take shortcuts when constant evaluating in 'warn on UB'
mode.

We use that mode when evaluating ICEs in C, and those shortcuts could
result in ICE evaluation producing the wrong answer, specifically if we
evaluate a statement-expression as part of evaluating the ICE.
The file was modifiedclang/test/Sema/i-c-e.c
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit c4ad878acb62d0264072e28f413178d5d8670e49 by Adrian Prantl
Reset the EntryValue location flag in finalizeEntryValue.

This fixes an assertion error when entry values are combined with
DW_OP_LLVM_fragment.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
The file was addedllvm/test/DebugInfo/MIR/X86/piece-entryval.mir
Commit cf34559104d3531e98e16ea242b777f18d5f95cf by craig.topper
[RISCV] Enable PrimaryKeyEarlyOut on RISCVVPseudosTable.

This table is queried in RISCVMCInstLower without knowing
whether the instruction is a vector pseudo. Due to the way the
binary search works, we have to do log2(tablesize) checks just
to determine a non-vector instruction isn't in the table.

Conveniently, all the vector pseudos are pretty tightly
packed within the internal instruction enum. By enabling the
PrimaryKeyEarlyOut, tablegen will emit a check against the
beginning and end of the table before doing the binary search.
This gives a quick early out on the search for the majority
of non-vector instructions.

Differential Revision: https://reviews.llvm.org/D97016
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Commit 8ed3bbbcc35233dce19f77208c2f3d21c3f68902 by craig.topper
[RISCV] Split zvlsseg searchable table into 4 separate tables. Index by properties rather than intrinsic ID.

Intrinsic ID is a 32-bit value which made each row of the table 4
byte aligned. The remaining fields used 5 bytes. This meant 3 bytes
of padding per row.

This patch breaks the table into 4 separate tables and indexes them
by properties we know about the intrinsic. NF, masked,
strided, ordered, etc. The indexed load/store tables have no
padding in their rows now.

All together this reduces the size of llc binary by ~28K.

I'm considering adding similar tables for isel of non-segment
load/store as well to cut down the size of the isel table and
probably improve our isel performance. Those tables would need to
indexed from intrinsics, IR loads/stores, gathers/scatters, and
RISCVISD opcodes. So having a table that can be indexed without using
intrinsic ID is more flexible.

Reviewed By: HsiangKai

Differential Revision: https://reviews.llvm.org/D96894
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
Commit 3bf8f162a0a922026d4c183231acb2be0dcdfcc7 by lxfind
[Coroutine] Relax CoroElide musttail check

As discussed in D94834, we don't really need to do complicated analysis. It's safe to just drop the tail call attribute.

Differential Revision: https://reviews.llvm.org/D96926
The file was modifiedllvm/lib/Transforms/Coroutines/CoroElide.cpp
The file was modifiedllvm/test/Transforms/Coroutines/coro-elide-musttail.ll