SuccessChanges

Summary

  1. [RISCV] Use default member initializers for the feature flags in RISCVTargetInfo. NFC (details)
  2. [LV] Restructure handling of -prefer-predicate-over-epilogue option [NFC] (details)
  3. [OpenMP] Introduce new file wrapper class for runtime (details)
  4. [mlir] Handle unknown ops in dynamic_tensor_from_elements bufferization (details)
  5. [lld-macho] -weak_{library,framework} should always take priority (details)
  6. [lld-macho] Don't emit rebase opcodes for relocs in TLV sections (details)
  7. [lld-macho] Support -sub_umbrella (details)
  8. [lld-macho] Add implicit dylib support for frameworks (details)
  9. [flang] Minor fix to list-directed REAL output editing (details)
  10. [clangd] Validate clang-tidy Checks in clangd config. (details)
  11. [PowerPC] Enable paired vector type and intrinsics when MMA is disabled (details)
  12. [clang-tidy] Support all YAML supported spellings for bools in CheckOptions. (details)
Commit c103f9ef5a0e3180db8c9e94f9cd0b0e2a65375f by craig.topper
[RISCV] Use default member initializers for the feature flags in RISCVTargetInfo. NFC

This avoids having to repeat all the flags in the constructor's
initializer list in the same order. This style is already used by
several other targets.
The file was modifiedclang/lib/Basic/Targets/RISCV.h
Commit a81db8b3159e72a6d2ecb2318024316e4aa30933 by listmail
[LV] Restructure handling of -prefer-predicate-over-epilogue option [NFC]

This should be purely non-functional.  When touching this code for another reason, I found the handling of the PredicateOrDontVectorize piece here very confusing.  Let's make it an explicit state (instead of an implicit combination of two variables), and use early return for options/hint processing.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 5aafdd7b88f5bad06431f34103a771fe681f9213 by jonathan.l.peyton
[OpenMP] Introduce new file wrapper class for runtime

Introduce new kmp_safe_raii_file_t class with RAII semantics for file
open/close. It is essentially a wrapper around the C-style FILE* object.
This also unifies the way we error report if a file can't be opened.

Differential Revision: https://reviews.llvm.org/D92604
The file was modifiedopenmp/runtime/src/kmp_lock.cpp
The file was modifiedopenmp/runtime/src/kmp_stats.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
Commit caf4f2e372a7a4d5d8b5a8733e44f002c6dee0d5 by silvasean
[mlir] Handle unknown ops in dynamic_tensor_from_elements bufferization

Due to how the conversion infra works, the "clone" call that this
pattern was using required all the cloned ops to be immediately
legalized as part of this dialect conversion invocation.

That was previously working due to a couple factors:

- In the test case, there was scf.if, which we happen to mark as legal
  as part of marking the entire SCF dialect as legal for the scf.parallel
  we generate here.

- Originally, this test case had std.extract_element in the body, which
  we happened to have a pattern for in this pass. After I migrated that to
  `tensor.extract` (which removed the tensor.extract bufferization from
  here), I hacked this up to use `std.dim` which we still have patterns
  for in this pass.

This patch updates the test case to use a truly opaque op `test.source`
that properly stresses this aspect of the pattern.

(this also removes a stray dependency on the `tensor` dialect that I
must have left behind as part of my hacking this pass up when migrating
to `tensor.extract`)

Differential Revision: https://reviews.llvm.org/D93262
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Dialect/Standard/bufferize.mlir
Commit 544148ae702ac3e94aa41b656e9f6d11b382f9f6 by jezng
[lld-macho] -weak_{library,framework} should always take priority

We were not setting forceWeakImport for file paths given by
`-weak_library` if we had already loaded the file. This diff fixes that
by having `loadDylib` return a cached DylibFile instance even if we have
already loaded that file.

We still avoid emitting multiple LC_LOAD_DYLIBs, but we achieve this by
making inputFiles a SetVector instead of relying on the `loadedDylibs`
cache.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D93255
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/DriverUtils.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/test/MachO/invalid/duplicate-symbol.s
The file was modifiedlld/test/MachO/weak-import.s
The file was modifiedlld/MachO/InputFiles.h
Commit 31845199094418173a3beadb786767b860bfda03 by jezng
[lld-macho] Don't emit rebase opcodes for relocs in TLV sections

Their addresses are already encoded as section-relative offsets, so
there's no need to rebase them at runtime. {D85080} has some context
on the weirdness of TLV sections.

Fixes llvm.org/PR48491.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D93257
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was modifiedlld/test/MachO/tlv.s
The file was modifiedlld/test/MachO/tlv-dylib.s
Commit 8a5e0688233636ac6f9a27fa57006cba9f67a945 by jezng
[lld-macho] Support -sub_umbrella

From what I can tell, it's essentially identical to
`-sub_library`, but it doesn't match files ending in ".dylib".

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D93276
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/sub-library.s
The file was modifiedlld/MachO/Options.td
Commit 3aa8e071dd1ae7e9fb9e28fa9fcdb9f9fdb7aa06 by jezng
[lld-macho] Add implicit dylib support for frameworks

{D93000} applied to frameworks. Partial fix for PR48511.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D93277
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/test/MachO/implicit-dylibs.s
Commit b1afbceb9296a9ce14a0bd38f36e93b8c77fa18a by pklausler
[flang] Minor fix to list-directed REAL output editing

Always emit the letter 'E' in list-directed REAL output;
the library was omitting it for exponents greater than 99,
as should be done for E and D formatting of large exponents
without an Ed exponent digit count.

Differential Revision: https://reviews.llvm.org/D93319
The file was modifiedflang/runtime/edit-output.cpp
Commit dfac97d557690dd4b1f2fab798680234b238d11f by n.james93
[clangd] Validate clang-tidy Checks in clangd config.

Add instrumentation in ConfigCompile to validate that items in ClangTidy:[Add|Remove] correspond to actual clang-tidy checks.
If they don't a warning will be presented to the user.

This is especially useful for catching typos in the glob items.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D92874
The file was modifiedclang-tools-extra/clangd/TidyProvider.h
The file was modifiedclang-tools-extra/clangd/TidyProvider.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
Commit 57d83c3a90c427ad0975803feb5b348d1ad34e29 by baptiste.saleil
[PowerPC] Enable paired vector type and intrinsics when MMA is disabled

This patch enables the Clang type __vector_pair and its associated LLVM
intrinsics even when MMA is disabled. With this patch, the type is now controlled
by the PPC paired-vector-memops option. The builtins and intrinsics will be
renamed to drop the mma prefix in another patch.

Differential Revision: https://reviews.llvm.org/D91819
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/include/clang/AST/TypeProperties.td
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/include/clang/Basic/PPCTypes.def
The file was addedclang/test/AST/ast-dump-ppc-types.c
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was addedllvm/test/CodeGen/PowerPC/paired-vector-intrinsics-without-mma.ll
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedclang/lib/AST/PrintfFormatString.cpp
The file was modifiedclang/lib/Serialization/ASTCommon.cpp
The file was modifiedclang/lib/AST/NSAPI.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/AST/TypeLoc.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was removedclang/test/AST/ast-dump-ppc-mma-types.c
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/CodeGen/CodeGenTypes.cpp
The file was modifiedclang/lib/Index/USRGeneration.cpp
Commit 68e642cad02468ce3efb18e7648cf82f2611e7a3 by n.james93
[clang-tidy] Support all YAML supported spellings for bools in CheckOptions.

Depends on D92755

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D92756
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp