SuccessChanges

Summary

  1. [mlir] Add better support for f80 and f128 (details)
  2. [libc] CopyAlignedBlocks can now specify alignment on top of block size (details)
  3. [RISCV][NFC] Fix order of parameters in cmov ge/le tests (details)
  4. [clang][cli] NFC: Add PIE parsing for precompiled input and IR (details)
  5. [clang][cli] NFC: Parse some LangOpts after the defaults are set (details)
  6. [clang][cli] NFC: Promote ParseLangArgs and ParseCodeGenArgs to members (details)
  7. [ARM][Block placement] Check the predecessor exists before processing it (details)
Commit cf0173de69a760d1b17f8ef5b2c3b4f2b6f58966 by clementval
[mlir] Add better support for f80 and f128

Add builtin f80 and f128 following @schweitz proposition
https://llvm.discourse.group/t/rfc-adding-better-support-for-higher-precision-floating-point/2526/5

Reviewed By: ftynse, rriddle

Differential Revision: https://reviews.llvm.org/D94737
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/test/Target/llvmir-types.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
The file was modifiedmlir/lib/IR/Types.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
The file was modifiedmlir/docs/Dialects/LLVM.md
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/test/Dialect/LLVMIR/roundtrip.mlir
The file was modifiedmlir/lib/IR/BuiltinDialect.cpp
The file was modifiedmlir/lib/IR/BuiltinTypes.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/utils/gdb-scripts/prettyprinters.py
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.td
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.h
The file was modifiedmlir/test/Dialect/LLVMIR/types.mlir
The file was modifiedmlir/lib/Parser/TypeParser.cpp
The file was modifiedmlir/docs/ConversionToLLVMDialect.md
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedmlir/docs/LangRef.md
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/lib/Target/LLVMIR/TypeTranslation.cpp
The file was modifiedmlir/lib/Parser/TokenKinds.def
Commit 5bf47e142b6ebe1baf0cab257800c27a1a3bbde7 by gchatelet
[libc] CopyAlignedBlocks can now specify alignment on top of block size

This has been requested in D92236

Differential Revision: https://reviews.llvm.org/D94770
The file was modifiedlibc/src/string/memory_utils/memcpy_utils.h
The file was modifiedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was modifiedlibc/src/string/memory_utils/utils.h
Commit bf1aa5db5c76d187df8dfef28bc5b8889fb53c4b by selliott
[RISCV][NFC] Fix order of parameters in cmov ge/le tests

The first parameter should be selected if the condition is true and
the last parameter if the condition is false. Prior to this change
it was the other way round which was confusing.

Differential Revision: https://reviews.llvm.org/D94729
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbt.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbt.ll
Commit 383262933045e1c138362105be4ee4d1b62ab4cc by jan_svoboda
[clang][cli] NFC: Add PIE parsing for precompiled input and IR

This patch effectively reverts a small part of D83979.

When we stop parsing `LangOpts` unconditionally in `parseSimpleArgs` (above the diff) and move them back to `ParseLangArgs` (called in `else` branch) in D94682, `LangOpts.PIE` would never get parsed in this `if` branch. This patch ensures this doesn't happen.

Right now, this causes `LangOpts.PIE` to be parsed twice, but that will be immediately corrected in D94682.

Reviewed By: Bigcheese

Differential Revision: https://reviews.llvm.org/D94679
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit a7dcd3aeb0fb58ad774bc89428ed6c925f31f8aa by jan_svoboda
[clang][cli] NFC: Parse some LangOpts after the defaults are set

This patch ensures we only parse the necessary options before calling `setLangDefaults` (explained in D94678).

Because neither `LangOpts.CFProtectionBranch` nor `LangOpts.SYCLIsDevice` are used in `setLangDefaults`, this is a NFC.

Reviewed By: Bigcheese

Differential Revision: https://reviews.llvm.org/D94680
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 1744f4c676411ebd2e38afd5a6b56e5dd533c6ac by jan_svoboda
[clang][cli] NFC: Promote ParseLangArgs and ParseCodeGenArgs to members

This patch promotes `ParseLangArgs` and `ParseCodeGenArgs` to members of `CompilerInvocation`. That will be useful in the following patch D94682, where we need to access protected members of `LangOptions` and `CodeGenOptions`. Both of those classes already have `friend CompilerInvocation`.

This is cleaner than keeping those functions freestanding and having to specify the exact signature of both in extra `friend` declarations.

Reviewed By: Bigcheese

Differential Revision: https://reviews.llvm.org/D94681
The file was modifiedclang/include/clang/Frontend/CompilerInvocation.h
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 1a497ae9b83653682d6d20f1ec131394e523375d by samuel.tebbs
[ARM][Block placement] Check the predecessor exists before processing it

Not all machine loops will have a predecessor. so the pass needs to
check it before continuing.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D94780
The file was modifiedllvm/test/CodeGen/Thumb2/block-placement.mir
The file was modifiedllvm/lib/Target/ARM/ARMBlockPlacement.cpp