SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-zorg.git)

Summary

  1. [buildbot] add CMAKE_INSTALL_RPATH_USE_LINK_PATH for ML development mode (details)
Commit 8721195e10b4722a0b5bfae6b6c9b5b24af65db9 by mtrofin
[buildbot] add CMAKE_INSTALL_RPATH_USE_LINK_PATH for ML development mode

This ensures the tensorflow library is copied to install dir.
The file was modifiedbuildbot/osuosl/master/config/builders.py

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. Mips: Don't store MachineFunction in MipsFunctionInfo (details)
  2. PPC: Don't store function in PPCFunctionInfo (details)
  3. RISCV: Don't store function in RISCVMachineFunctionInfo (details)
  4. Sparc: Use Register (details)
  5. [BitcodeReader] Fix DelayedShuffle handling for ConstantExpr shuffles. (details)
  6. [Sanitizer] Remove obsolete assert for OS version checking on Darwin (details)
  7. [libc++] Translate the std Lit parameter to the DSL (details)
  8. [SVE] Reject vector struct indexes for scalable vectors. (details)
  9. [ASTImporter] Fix AST import crash for a friend decl (details)
  10. [clang][diagnostics] Add '-Wundef-prefix' warning option (details)
  11. [PowerPC][Power10] Add Vector Splat Imm/Permute/Blend/Shift Double Bit Imm Definitions and MC Tests (details)
  12. [X86] Use some preprocessor macros to reduce the very similar repeated code in getVPTESTMOpc. NFCI (details)
  13. split darwin-version-min-load-command.s into Arm64 subtest to avoid failures (details)
  14. [PPC][NFC] Replace TM with Subtarget->getTargetMachine() in preparation for GlobalISel. (details)
  15. [BasicAA] Replace -basicaa with -basic-aa in polly (details)
  16. [clangd] Run formatting operations asynchronously. (details)
  17. [mlir] Add support for defining Traits and Interfaces on Attributes/Types. (details)
  18. [mlir] Refactor InterfaceGen to support generating interfaces for Attributes and Types. (details)
  19. [mlir] Remove locking for dialect/operation registration. (details)
  20. [Docs][BasicAA] Rename -basicaa to -basic-aa in docs (details)
  21. [ModuloSchedule] Make PeelingModuloScheduleExpander inheritable. (details)
  22. [gn build] Update build for new OpenMP tablegen logic (details)
  23. Fix wrong title underline length (details)
  24. A constexpr virtual function is implicitly inline so should never be a (details)
  25. AMDGPU/GlobalISel: Remove some selection tests which should be invalid (details)
  26. GlobalISel: Disallow undef generic virtual register uses (details)
  27. [gn build] (semi-manually) port ce6153a5282 (details)
  28. [Sanitizers] Implement interceptors for msgsnd, msgrcv (details)
  29. [Docs][BasicAA] Rename some more basicaa -> basic-aa (details)
  30. [llvm-install-name-tool] Tighten some path checks (details)
  31. Fixup BDVER1 and ZNVER1 definitions that were accidentally changed in recent refactor. (details)
  32. [c++20] consteval functions don't get vtable slots. (details)
  33. [DWARFYAML][test] Make the checker stricter. NFC. (details)
  34. [NewPM] Add explicit init value to -enable-new-pm (details)
  35. Fix diagnostic for missing virtual dtor (details)
  36. [lld][WebAssembly] Give better error message on bad archive member (details)
  37. [NFC] fix diagnostic (details)
  38. [CodeComplete] Add code completion after function equals (details)
  39. [mlir] Remove the default template parameters from AttrBase and TypeBase. (details)
  40. [ELF][test] Fix ppc32-gnu-ifunc.s and remove XFAIL: * (details)
Commit 669bb3111ff0b4b300a2218b88ad71f8e58bebb7 by Matthew.Arsenault
Mips: Don't store MachineFunction in MipsFunctionInfo

It will soon be disallowed to depend on MachineFunction state on
construction.
The file was modifiedllvm/lib/Target/Mips/MipsFastISel.cpp
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsInstructionSelector.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsMachineFunction.h
The file was modifiedllvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsCallLowering.cpp
The file was modifiedllvm/lib/Target/Mips/Mips16ISelLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsMachineFunction.cpp
Commit d9f0c3663f023ce2935b18dda3c3c7cbd7bf666b by Matthew.Arsenault
PPC: Don't store function in PPCFunctionInfo

Continue migrating targets from depending on the MachineFunction
during the initial construction.
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
Commit 08649f0a9da55f069e5bfcb2bd107d8e24068e76 by Matthew.Arsenault
RISCV: Don't store function in RISCVMachineFunctionInfo

Targets should not depend on the MachineFunction state during the
MachineFunctionInfo construction.
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
Commit f7b2997ad67b2be7137677c70aa38d13cff18191 by Matthew.Arsenault
Sparc: Use Register
The file was modifiedllvm/lib/Target/Sparc/SparcInstrInfo.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/Sparc/SparcISelLowering.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcInstrInfo.h
Commit 0ec712afec642fa6a57fe17be0c8d7d096bf7434 by efriedma
[BitcodeReader] Fix DelayedShuffle handling for ConstantExpr shuffles.

The indexing was messed up, so the result was completely broken.

Shuffle constant exprs are rare in practice; without vscale types,
constant folding generally elminates them. So sort of hard to trip over.

Fixes regression from D72467.

(Recommitting after fix for memory leak.)

Differential Revision: https://reviews.llvm.org/D80330
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was addedllvm/test/Bitcode/vscale-shuffle.ll
Commit 32791937d7aceb0a5e1eaabf1bb1a6dbe1639792 by julian.lettner
[Sanitizer] Remove obsolete assert for OS version checking on Darwin

macOS versions do not necessarily start with 10 anymore.  Remove an
obsolete assert.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.h
Commit 1eb211ada17ab90b800b271c74f5d568329fde39 by Louis Dionne
[libc++] Translate the std Lit parameter to the DSL
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit df1f371e28301a046b734ed1b8be0f07253700e2 by efriedma
[SVE] Reject vector struct indexes for scalable vectors.

It's messy to pattern-match, and completely unnecessary: scalar indexes
work equally well.

See also discussion on D81620 and D82061.

Differential Revision: https://reviews.llvm.org/D82430
The file was addedllvm/test/Assembler/getelementptr_vscale_struct.ll
The file was modifiedllvm/lib/IR/Type.cpp
Commit ecae672ac2ac42bc15bdc794cc56ddccadec9e4f by vince.a.bridgers
[ASTImporter] Fix AST import crash for a friend decl

Summary:
Running CTU testing, we found that VisitFriendDecl in
ASTImporterLookup.cpp was not handling a particular non-dependent case,
so we reached the llvm_unreachable case.

The FriendDecl and QualType not handled were:

(gdb) p D->dump()
FriendDecl 0x7ffff5cf1958
< <<srcfile>>, 'nlohmann::basic_json<std::map, std::vector,
   std::basic_string<char>, bool, long long, unsigned long long, double,
   std::allocator, adl_serializer, std::vector<unsigned char,
   std::allocator<unsigned char>>>':'nlohmann::basic_json<std::map,
   std::vector, std::basic_string<char>, bool, long long, unsigned long
   long, double, std::allocator, adl_serializer, std::vector<unsigned char,
   std::allocator<unsigned char>>>'

(gdb) p Ty->dump()
SubstTemplateTypeParmType 0x7ffff5cf0df0 'class
nlohmann::basic_json<std::map, std::vector, class
   std::basic_string<char>, _Bool, long long, unsigned long long, double,
   std::allocator, adl_serializer, class std::vector<unsigned char, class
   std::allocator<unsigned char> > >' sugar
|-TemplateTypeParmType 0x7ffff643ea40 'BasicJsonType' dependent depth 0
index 0
| `-TemplateTypeParm 0x7ffff643e9e8 'BasicJsonType'
`-RecordType 0x1012ad20 'class nlohmann::basic_json<std::map,
std::vector, class std::basic_string<char>, _Bool, long long, unsigned
long long, double, std::allocator, adl_serializer, class
std::vector<unsigned char, class std::allocator<unsigned char> > >'
  `-ClassTemplateSpecialization 0x1012ab68 'basic_json'

Reviewers: martong, a.sidorin

Reviewed By: martong

Subscribers: kristof.beyls, rnkovacs, teemperor, cfe-commits, dkrupp

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82882
The file was modifiedclang/lib/AST/ASTImporterLookupTable.cpp
Commit 89a0c4066b0e70edd257e30d7189f303e26251a0 by cyndy_ishida
[clang][diagnostics] Add '-Wundef-prefix' warning option

Summary:
Add an `-Wundef-prefix=<arg1>,<arg2>...` option, which is similar to `-Wundef`, but only give warnings for undefined macros with the given prefixes.

Reviewers: ributzka, steven_wu, cishida, bruno, arphaman, rsmith

Reviewed By: ributzka, arphaman

Subscribers: riccibruno, dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80751

This patch was authored by Zixu Wang <zixu_wang@apple.com>
The file was modifiedclang/include/clang/Basic/DiagnosticOptions.h
The file was addedclang/test/Preprocessor/warn-macro-undef.c
The file was modifiedclang/lib/Lex/PPExpressions.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/include/clang/Basic/DiagnosticLexKinds.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 73377c45974855a00b13974cd515e875c5605556 by amy.kwan1
[PowerPC][Power10] Add Vector Splat Imm/Permute/Blend/Shift Double Bit Imm Definitions and MC Tests

This patch adds the td definitions and asm/disasm tests for the
following instructions:

XXSPLTIW
XXSPLTIDP
XXSPLTI32DX
XXPERMX
XXBLENDVB
XXBLENDVH
XXBLENDVW
XXBLENDVD
VSLDBI
VSRDBI

Differential Revision: https://reviews.llvm.org/D82896
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
Commit 1df1186ab12d87f42f3e8c5bd7703520d5bf1f17 by craig.topper
[X86] Use some preprocessor macros to reduce the very similar repeated code in getVPTESTMOpc. NFCI

This function picks X86 opcode name based on type, masking,
and whether not a load or broadcast has been folded using multiple
switch statements. The contents of the switches mostly just vary in
a few characters in the instruction name. So use some macros to
build the instruction names to reduce the repetiveness.
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Commit c8f1d442d0858f66fd4128fde6f67eb5202fa2b1 by Alex Lorenz
split darwin-version-min-load-command.s into Arm64 subtest to avoid failures

Some buildbot configurations don't build the arm64 backend, so the test-cases
that need arm64 should go into the aarch64 subdirectory.
The file was modifiedllvm/test/MC/MachO/darwin-version-min-load-command.s
The file was addedllvm/test/MC/MachO/AArch64/arm-darwin-version-min-load-command.s
Commit 4c2c6c7cc1663ee123be806fa02ead0f175568bc by kbarton
[PPC][NFC] Replace TM with Subtarget->getTargetMachine() in preparation for GlobalISel.

There are two uses of TM (instance of TargetMachine) when checking options.
These will not work once we enable GlobalISel. This patch replaces those uses of
TM with Subtarget->getTargetMachine().
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
Commit b210c9899bddf4c0332f8295b3b71938299e4835 by aeubanks
[BasicAA] Replace -basicaa with -basic-aa in polly

Follow up to https://reviews.llvm.org/D82607.
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_assign_scalar.ll
The file was modifiedpolly/test/ScopDetect/simple_loop_with_param_2.ll
The file was modifiedpolly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll
The file was modifiedpolly/test/ScopInfo/licm_load.ll
The file was modifiedpolly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_large_width.ll
The file was modifiedpolly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll
The file was modifiedpolly/test/DependenceInfo/do_pluto_matmult.ll
The file was modifiedpolly/test/Isl/CodeGen/intrinsics_lifetime.ll
The file was modifiedpolly/test/ScopDetect/intrinsics_1.ll
The file was modifiedpolly/test/Isl/Ast/reduction_different_reduction_clauses.ll
The file was modifiedpolly/test/ScopInfo/reduction_escaping_intermediate.ll
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_call_2.ll
The file was modifiedpolly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll
The file was modifiedpolly/test/Isl/CodeGen/MemAccess/default_aligned_new_access_function.ll
The file was modifiedpolly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_assign_scalar_2.ll
The file was modifiedpolly/test/ScopInfo/mod_ref_read_pointee_arguments.ll
The file was modifiedpolly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll
The file was modifiedpolly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_const.ll
The file was modifiedpolly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
The file was modifiedpolly/test/Isl/CodeGen/reduction_2.ll
The file was modifiedpolly/test/ScopInfo/reduction_escaping_intermediate_2.ll
The file was modifiedpolly/test/ScheduleOptimizer/prevectorization.ll
The file was modifiedpolly/test/ScopInfo/memcpy-raw-source.ll
The file was modifiedpolly/test/ScopInfo/intra_bb_scalar_dep.ll
The file was modifiedpolly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
The file was modifiedpolly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
The file was modifiedpolly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
The file was modifiedpolly/test/ScopInfo/scalar_to_array.ll
The file was modifiedpolly/test/ScopDetect/intrinsics_3.ll
The file was modifiedpolly/test/DeadCodeElimination/chained_iterations.ll
The file was modifiedpolly/test/Isl/Ast/dependence_distance_varying_multiple.ll
The file was modifiedpolly/docs/experiments/matmul/runall.sh
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll
The file was modifiedpolly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
The file was modifiedpolly/test/ScopInfo/reduction_disabled_multiplicative.ll
The file was modifiedpolly/docs/HowToManuallyUseTheIndividualPiecesOfPolly.rst
The file was modifiedpolly/test/ScopDetect/simple_loop_with_param.ll
The file was modifiedpolly/test/ScopInfo/reduction_multiple_simple_binary.ll
The file was modifiedpolly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
The file was modifiedpolly/test/Isl/CodeGen/MemAccess/simple_stride_test.ll
The file was modifiedpolly/test/Isl/CodeGen/invariant_load_hoist_alignment.ll
The file was modifiedpolly/test/ScopDetect/keep_going_expansion.ll
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_two_stmts.ll
The file was modifiedpolly/test/ScheduleOptimizer/computeout.ll
The file was modifiedpolly/test/DeadCodeElimination/chained_iterations_2.ll
The file was modifiedpolly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
The file was modifiedpolly/test/DeadCodeElimination/dead_iteration_elimination.ll
The file was modifiedpolly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll
The file was modifiedpolly/test/ScopInfo/licm_reduction_nested.ll
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_call.ll
The file was modifiedpolly/test/DependenceInfo/sequential_loops.ll
The file was modifiedpolly/test/Isl/CodeGen/loop_with_condition_2.ll
The file was modifiedpolly/test/ScopInfo/assume_gep_bounds_2.ll
The file was modifiedpolly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
The file was modifiedpolly/test/Isl/CodeGen/loop_with_condition.ll
The file was modifiedpolly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll
The file was modifiedpolly/test/ScopDetect/mod_ref_read_pointer.ll
The file was modifiedpolly/test/Isl/CodeGen/intrinsics_misc.ll
The file was modifiedpolly/test/ScopInfo/memmove.ll
The file was modifiedpolly/www/documentation/gpgpucodegen.html
The file was modifiedpolly/test/DeadCodeElimination/computeout.ll
The file was modifiedpolly/test/ScopInfo/isl_aff_out_of_bounds.ll
The file was modifiedpolly/test/ScopInfo/licm_reduction.ll
The file was modifiedpolly/test/ScopInfo/memcpy.ll
The file was modifiedpolly/test/ScopInfo/tempscop-printing.ll
The file was modifiedpolly/test/DependenceInfo/reduction_multiple_reductions.ll
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_cast.ll
The file was modifiedpolly/test/ScopInfo/mod_ref_read_pointer.ll
The file was modifiedpolly/test/Isl/CodeGen/run-time-condition.ll
The file was modifiedpolly/test/DeadCodeElimination/null_schedule.ll
The file was modifiedpolly/test/DependenceInfo/reduction_multiple_reductions_2.ll
The file was modifiedpolly/test/Isl/CodeGen/partial_write_mapped_vector.ll
The file was modifiedpolly/test/ScopInfo/licm_store.ll
The file was modifiedpolly/test/Isl/CodeGen/loop_with_condition_ineq.ll
The file was modifiedpolly/test/Isl/CodeGen/create-conditional-scop.ll
The file was modifiedpolly/test/ScopInfo/inter_bb_scalar_dep.ll
The file was modifiedpolly/test/ScopDetect/intrinsics_2.ll
The file was modifiedpolly/test/ScopInfo/mod_ref_access_pointee_arguments.ll
The file was modifiedpolly/test/ScopInfo/mod_ref_read_pointers.ll
The file was modifiedpolly/test/ScopInfo/loop_carry.ll
The file was modifiedpolly/test/Isl/Ast/dependence_distance_multiple_constant.ll
The file was modifiedpolly/test/Isl/Ast/reduction_dependences_equal_non_reduction_dependences.ll
The file was modifiedpolly/test/Isl/CodeGen/loop_with_condition_nested.ll
The file was modifiedpolly/test/ScopInfo/licm_potential_store.ll
The file was modifiedpolly/test/Isl/Ast/single_loop_strip_mine.ll
The file was modifiedpolly/test/ScopInfo/reduction_invalid_different_operators.ll
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_stride_x.ll
The file was modifiedpolly/test/Isl/Ast/run-time-condition.ll
The file was modifiedpolly/test/ScheduleOptimizer/2012-04-16-Trivially-vectorizable-loops.ll
Commit ffa63dde8e97a34b8914a151556551f74d4227e7 by sam.mccall
[clangd] Run formatting operations asynchronously.

Summary:
They don't need ASTs or anything, so they should still run immediately.

These were sync for historical reasons (they predate clangd having a pervasive
threading model). This worked ok as they were "cheap".
Aside for consistency, there are a couple of reasons to make them async:
- they do IO (finding .clang-format) so aren't trivially cheap
- having TUScheduler involved in running these tasks means we can use it as
   an injection point for configuration.
   (TUScheduler::run will need to learn about which file is being operated on,
   but that's an easy change).
- adding the config system adds more potential IO, too

Reviewers: kbobyrev

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82642
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.h
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
Commit 9fbb2de8e475cbb4ffa71280eb2ddc4922af05f6 by riddleriver
[mlir] Add support for defining Traits and Interfaces on Attributes/Types.

This revisions add mechanisms to Attribute/Type for attaching traits and interfaces. The mechanisms are modeled 1-1 after those for operations to keep the system consistent. AttrBase and TypeBase now accepts a trailing list of `Trait` types that will be attached to the object. These traits should inherit from AttributeTrait::TraitBase and TypeTrait::TraitBase respectively as necessary. A followup commit will refactor the interface gen mechanisms in ODS to support Attribute/Type interface generation and add tests for the mechanisms.

Differential Revision: https://reviews.llvm.org/D81883
The file was modifiedmlir/include/mlir/IR/Dialect.h
The file was modifiedmlir/include/mlir/IR/TypeSupport.h
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/lib/IR/Types.cpp
The file was modifiedmlir/include/mlir/IR/StorageUniquerSupport.h
The file was modifiedmlir/lib/IR/Attributes.cpp
The file was modifiedmlir/include/mlir/IR/AttributeSupport.h
The file was modifiedmlir/include/mlir/IR/Types.h
Commit 2e2cdd0a5230790300bdde7e5629fedef36d99b6 by riddleriver
[mlir] Refactor InterfaceGen to support generating interfaces for Attributes and Types.

This revision adds support to ODS for generating interfaces for attributes and types, in addition to operations. These interfaces can be specified using `AttrInterface` and `TypeInterface` in place of `OpInterface`. All of the features of `OpInterface` are supported except for the `verify` method, which does not have a matching representation in the Attribute/Type world. Generating these interface can be done using `gen-(attr|type)-interface-(defs|decls|docs)`.

Differential Revision: https://reviews.llvm.org/D81884
The file was addedmlir/test/lib/Dialect/Test/TestTypes.h
The file was addedmlir/test/mlir-tblgen/interfaces.mlir
The file was modifiedmlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
The file was modifiedmlir/docs/Traits.md
The file was modifiedmlir/include/mlir/Interfaces/ControlFlowInterfaces.td
The file was addedmlir/test/lib/IR/TestInterfaces.cpp
The file was modifiedmlir/lib/TableGen/CMakeLists.txt
The file was modifiedmlir/docs/Interfaces.md
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was addedmlir/test/lib/Dialect/Test/TestInterfaces.td
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was removedmlir/include/mlir/TableGen/OpInterfaces.h
The file was removedmlir/lib/TableGen/OpInterfaces.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/lib/TableGen/OpTrait.cpp
The file was modifiedmlir/include/mlir/IR/SymbolInterfaces.td
The file was modifiedmlir/test/lib/Dialect/Test/CMakeLists.txt
The file was addedmlir/lib/TableGen/Interfaces.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpInterfacesGen.cpp
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/include/mlir/Interfaces/SideEffectInterfaces.td
The file was modifiedmlir/tools/mlir-tblgen/DialectGen.cpp
The file was modifiedmlir/include/mlir/TableGen/OpTrait.h
The file was modifiedmlir/include/mlir/Interfaces/CallInterfaces.td
The file was addedmlir/include/mlir/TableGen/Interfaces.h
The file was modifiedmlir/test/lib/IR/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit 5d699d18b32c0e0c27eceec026ed399e76e7e8ef by riddleriver
[mlir] Remove locking for dialect/operation registration.

Moving forward dialects should only be registered in a thread safe context. This matches the existing usage we have today, but it allows for removing quite a bit of expensive locking from the context.

This led to ~.5 a second compile time improvement when running one conversion pass on a very large .mlir file(hundreds of thousands of operations).

Differential Revision: https://reviews.llvm.org/D82595
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/include/mlir/IR/Dialect.h
Commit 3dfe1440aecc285992b0f325b13c1b95468f0074 by aeubanks
[Docs][BasicAA] Rename -basicaa to -basic-aa in docs

Follow up to https://reviews.llvm.org/D82607.
The file was modifiedllvm/docs/Passes.rst
The file was modifiedllvm/docs/AliasAnalysis.rst
Commit 50ac7ce94f34c5f43b02185ae0c33e150e78b044 by hgreving
[ModuloSchedule] Make PeelingModuloScheduleExpander inheritable.

Basically a NFC, but allows subclasses access to the entire PeelingModuloScheduleExpander
class. We are doing this to allow backends, particularly one that are not necessarily
upstreamed, to inherit from PeelingModuloScheduleExpander and access its basic structures.

Renames Info into LoopInfo for consistency in PeelingModuloScheduleExpander.

Differential Revision: https://reviews.llvm.org/D82673
The file was modifiedllvm/include/llvm/CodeGen/ModuloSchedule.h
The file was modifiedllvm/lib/CodeGen/ModuloSchedule.cpp
Commit 926fab7c4fcd0a7cf00ca69847fa5ae73dc863ea by rnk
[gn build] Update build for new OpenMP tablegen logic

Ports 1a70077b5a64189d9c04d1a2d7ea6ff0e49744d6 to gn from cmake.
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Frontend/OpenMP/BUILD.gn
Commit 8b6f675f448e8e340b5610a637d0fa7211cc0549 by aeubanks
Fix wrong title underline length
The file was modifiedllvm/docs/AliasAnalysis.rst
Commit b6c490349d1524aefeb1c4a686411f860e6a3555 by richard
A constexpr virtual function is implicitly inline so should never be a
key function.
The file was addedclang/test/CodeGenCXX/vtable-constexpr.cpp
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
Commit 291ece0efa038000a31c93f132f6732ee8d30e89 by Matthew.Arsenault
AMDGPU/GlobalISel: Remove some selection tests which should be invalid

These use undef generic virtual register operands, which should be
rejected by the verifier.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-merge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-brcond.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-build-vector.mir
Commit e9eab30339a70596386b175b415167cc97e062d5 by Matthew.Arsenault
GlobalISel: Disallow undef generic virtual register uses

With an undef operand, it's possible for getVRegDef to fail and return
null. This is an edge case very little code bothered to
consider. Proper gMIR should use G_IMPLICIT_DEF instead.

I initially tried to apply this restriction to all SSA MIR, so then
getVRegDef would never fail anywhere. However, ProcessImplicitDefs
does technically run while the function is in SSA. ProcessImplicitDefs
and DetectDeadLanes would need to either move, or a new pseudo-SSA
type of function property would need to be introduced.
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was addedllvm/test/MachineVerifier/generic-vreg-undef-use.mir
Commit 679d101e7cbf26f82ed6bf3c9a73ab14a4897916 by thakis
[gn build] (semi-manually) port ce6153a5282
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn
Commit 144e57fc9535eb30e7a9a2b691bc15bd38b68a04 by guiand
[Sanitizers] Implement interceptors for msgsnd, msgrcv

Differential Revision: https://reviews.llvm.org/D82897
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysmsg.c
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit f9348f70c2330f3565ee01134bcba1dd38628c79 by aeubanks
[Docs][BasicAA] Rename some more basicaa -> basic-aa

Follow up to https://reviews.llvm.org/D82607.
The file was modifiedllvm/docs/WritingAnLLVMPass.rst
Commit 5f56da3763ac6d5cc38b474fb05a2c89542d207e by smeenai
[llvm-install-name-tool] Tighten some path checks

Just having --implicit-check-not=/usr breaks when the LLVM checkout path
contains '/usr', since llvm-objdump prints out the path to the input
file in the first line. Tighten the checks by adding the 'name' prefix
that's used when printing load command payloads. An alternative would be
to redirect the input file into llvm-objdump, in which case it prints
out 'a.out' as the file name, but I'm not sure how reliable that
behavior is.
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-id.test
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-change.test
Commit 56fc6b987ab8a235cea9ae13fb8d6430aec8c30d by douglas.yung
Fixup BDVER1 and ZNVER1 definitions that were accidentally changed in recent refactor.

- BDVER1
  - Duplicate FeatureLZCNT removed
- ZNVER1
  - Duplicate FeatureLZCNT removed
  - Removed unsupported FeatureLWP
  - Swapped FeatureMMX and FeatureMOVBE to be in alphabetical order
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 4eff2beefb2b655fc02d35de235fc86d72d05755 by richard
[c++20] consteval functions don't get vtable slots.

For the Itanium C++ ABI, this implements the rule added in
https://github.com/itanium-cxx-abi/cxx-abi/pull/83

For the MS C++ ABI, this implements the direction that seemed most
plausible based on personal correspondence with MSVC developers, but is
subject to change as they decide their ABI rule.
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
The file was modifiedclang/lib/AST/VTableBuilder.cpp
The file was addedclang/test/CodeGenCXX/vtable-consteval.cpp
The file was modifiedclang/include/clang/AST/VTableBuilder.h
Commit a22091b4f074483fa5779b0654820290ce09631d by Xing
[DWARFYAML][test] Make the checker stricter. NFC.

Currently, DWARFYAML doesn't emit the 0 byte for terminating the abbrev
table for the given compilation unit. Before addressing this issue, we
have to make the test stricter.
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-abbrev.yaml
Commit 9a5e3a43923229af2c3d8c6828ef68cb2584c941 by aeubanks
[NewPM] Add explicit init value to -enable-new-pm

So it's easier to test with it on by default.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D82922
The file was modifiedllvm/tools/opt/opt.cpp
Commit c7586444ca787c3845ac4ad0bd603709f2abbb0f by JF Bastien
Fix diagnostic for missing virtual dtor

Introduced in D82673.
The file was modifiedllvm/include/llvm/CodeGen/ModuloSchedule.h
Commit 73e575a88e27c6ed8bdb1140893260aaf5f9dc7a by sbc
[lld][WebAssembly] Give better error message on bad archive member

Include the archive name as well as the member name when an error
is encountered parsing bitcode archives.

Differential Revision: https://reviews.llvm.org/D82884
The file was modifiedlld/test/wasm/lto/libcall-truncsfhf2.ll
The file was modifiedlld/wasm/InputFiles.cpp
The file was modifiedlld/test/wasm/lto/incompatible.ll
Commit ca134e4c525babf0c414c78fb53d648fbee364d8 by JF Bastien
[NFC] fix diagnostic

It's pretty silly to diagnose on a scalar copy but the build does that:
  loop variable 'SibReg' of type 'const llvm::Register' creates a copy from type 'const llvm::Register' [-Wrange-loop-analysis]
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
Commit 83fae3f762699655a4329fe3cf6fd3e2a2617559 by 1585086582
[CodeComplete] Add code completion after function equals

Summary:
Provide `default` and `delete` completion after the function equals.

Reviewers: kadircet, sammccall

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82548
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was addedclang/test/CodeCompletion/after-function-equals.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit f625f5231ab8e76b1367f70aeed56b6389d83471 by riddleriver
[mlir] Remove the default template parameters from AttrBase and TypeBase.

MSVC 2017 doesn't support the case where a trailing variadic template list comes after template types with default parameters. Until we upgrade to VS 2019, we can't use the simplified definitions.
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTypes.h
The file was modifiedmlir/include/mlir/IR/Location.h
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/Shape.h
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/include/mlir/IR/StandardTypes.h
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRAttr.h
The file was modifiedmlir/docs/Tutorials/DefiningAttributesAndTypes.md
Commit f5e0ae240f2daeee214097f222e12cd23706b1db by maskray
[ELF][test] Fix ppc32-gnu-ifunc.s and remove XFAIL: *
The file was modifiedlld/test/ELF/ppc32-gnu-ifunc.s