Changes

Summary

  1. [PowerPC] Implement vector float and vector double version for vec_orc builtin (details)
  2. [WebAssembly] De-duplicate WasmAddressSpace and refactor reftype predicates (details)
  3. [WebAssembly] Fix call_indirect on funcrefs (details)
  4. [SVE] Fix incorrect DAG combines when extracting fixed-width from scalable vectors (details)
  5. [AArch64] Regenerate some fast-isel tests (details)
  6. [docs] Fix typo and minor text changes in MyFirstTypoFix (details)
  7. Revert "Second Recommit "[AArch64] Split bitmask immediate of bitwise AND operation"" (details)
  8. [gn build] Port fc36fb4d23a5 (details)
  9. [compiler-rt][lsan] Add backup AArch64 register for use_registers test (details)
  10. Round XML register bitsize to byte boundary (details)
  11. [SystemZ] Temporarily revert memcmp and memcpy patches (details)
  12. [CostModel][X86] getCmpSelInstrCost - treat BAD_PREDICATEs the same as the worst case cost predicates for ICMP/FCMP instructions (details)
  13. [AArch64] Regenerate some more tests (details)
  14. [mlir][Linalg] Don't return early from inPlaceAnalysis (details)
  15. [X86][NFC] structure-return simplificiation (details)
  16. [analyzer] canonicalize special case of structure/pointer deref (details)
  17. [Test] Add some more symmetrical test cases for D110517 (details)
  18. [clang] Replace report_fatal_error(std::string) uses with report_fatal_error(Twine) (details)
  19. [llvm] Replace report_fatal_error(std::string) uses with report_fatal_error(Twine) (details)
  20. [llvm] Unix.h - Replace report_fatal_error(std::string) with report_fatal_error(Twine) (details)
  21. Revert "Revert "[GlobalISel][IRTranslator] Emit trap intrinsic for "unreachable""" (details)
  22. [lldb] Remove "dwarf dynamic register size expressions" from RegisterInfo (details)
  23. [mlir] Replace report_fatal_error(std::string) uses with report_fatal_error(Twine) (details)
  24. [lldb] [ABI/X86] Split base x86 and i386 classes (details)
  25. [gn build] Port a30a36f66aea (details)
  26. [Test] Few more symmetrical test for D110517 (details)
  27. [lldb] [FreeBSD] Fix building on systems without PT_COREDUMP (details)
  28. [InstCombine] fold fake vector extract to shift+trunc (details)
Commit 13d3cd37e27889cb343d92313944d5dabfe2762b by albionapc
[PowerPC] Implement vector float and vector double version for vec_orc builtin

The builtin for vec_orc has support for the following two signatures,
but currently the compiler marks it ambiguous:
vector float vec_orc(vector float, vector float)
vector double vec_orc(vector double, vector double)

This patch implements these two builtins.

Differential revision: https://reviews.llvm.org/D110858
The file was modifiedclang/test/CodeGen/builtins-ppc-p8vector.c
The file was modifiedclang/lib/Headers/altivec.h
Commit 91fe069c35f13647687f4e4af2c838c61331c450 by pmatos
[WebAssembly] De-duplicate WasmAddressSpace and refactor reftype predicates

This is a non-functional change to remove the duplicate
WasmAddressSpace enum and refactor reftype predicates by moving them
to the Utilities source file.

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D111144
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
Commit 0c7495848a02e1bcc68527c77c2a060ffae408c1 by pmatos
[WebAssembly] Fix call_indirect on funcrefs

The currently implementation of funcrefs is broken since it is putting
the funcref itself on the stack before the call_indirect. Instead what
should be on the stack is the constant 0, which is the index at which
we store the funcref in __funcref_call_table.

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D111152
The file was modifiedllvm/test/CodeGen/WebAssembly/funcref-call.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Commit 37edb7d3e26353ffd8a239b3f850925dc913a6bb by david.sherwood
[SVE] Fix incorrect DAG combines when extracting fixed-width from scalable vectors

We were previously silently generating incorrect code when extracting a
fixed-width vector from a scalable vector. This is worse than crashing,
since the user will have no indication that this is currently unsupported
behaviour. I have fixed the code to only perform DAG combines when safe
to do so, i.e. the input and output vectors are both fixed-width or
both scalable.

Test added here:

  CodeGen/AArch64/sve-extract-scalable-vector.ll

Differential revision: https://reviews.llvm.org/D110624
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
Commit 94bdc0cf61d5b2b807c1fda96c5fb8d5cc301cea by david.green
[AArch64] Regenerate some fast-isel tests

This updates the check lines in some fast isel test, to make them more
maintainable going forward.
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-memcpy.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-gep.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-addressing-modes.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-shift.ll
Commit bafdf2b1efb3238068f263a752fb86ebcdb21906 by kuhnel
[docs] Fix typo and minor text changes in MyFirstTypoFix

Reviewed By: kuhnel

Differential Revision: https://reviews.llvm.org/D111211
The file was modifiedllvm/docs/MyFirstTypoFix.rst
Commit fc36fb4d23a5e419cf33002c87c0082f682cb77b by david.spickett
Revert "Second Recommit "[AArch64] Split bitmask immediate of bitwise AND operation""

This reverts commit 13f3c39f3658fa28cb008eb56a58d8e34697cd5d.

Due to test failures in stage 2 clang tests on AArch64 bots.
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was removedllvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
The file was modifiedllvm/test/CodeGen/AArch64/unfold-masked-merge-scalar-constmask-innerouter.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64.h
The file was modifiedllvm/lib/Target/AArch64/CMakeLists.txt
The file was removedllvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
Commit a67b1220f53bdece83d5e8a6370f8a6b6b3b10de by llvmgnsyncbot
[gn build] Port fc36fb4d23a5
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Commit f8f1bb7462bf2924ac78e9f22356228356fd5219 by david.spickett
[compiler-rt][lsan] Add backup AArch64 register for use_registers test

On Ubuntu Focal x13 is used by something in the process of calling
sched_yield. Causing the test to fail depending on when the thread
is stopped.

Adding x14 works around this and the test passes consistently.

Not switching to only x14 because that could make other platforms
fail. With both we'll always find at least one and even if both
values are present we'll only get one report.

Reviewed By: oontvoo, vitalybuka

Differential Revision: https://reviews.llvm.org/D110931
The file was modifiedcompiler-rt/test/lsan/TestCases/use_registers.cpp
Commit d2b9d0fdda5e8295a2a81276fa6be8ea8d1fd022 by omair.javaid
Round XML register bitsize to byte boundary

This patch allows LLDB to accept register sizes which are not aligned
to 8 bits bitsize boundary. This fixes a crash in LLDB when connecting
to OpenOCD stub. GDB xml description allows for non-aligned bit lengths
but they are rounded off to nearest byte during transfer. In case of
OpenOCD some of SOC specific system registers were less than a single
byte in length and were causing LLDB to crash.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D111131
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestArmRegisterDefinition.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Commit 3562076dfc0b505854e1ecade1c1b420b61197b8 by paulsson
[SystemZ] Temporarily revert memcmp and memcpy patches

Seem to cause test failures in compiler-rt.

Revert "[SystemZ] Implement memcmp of variable length with CLC."
This reverts commit 7a4e9a0c73667cb80e4572d41535a9e48f1ed9ef.

Revert "[SystemZ] Implement memcpy of variable length with MVC."
This reverts commit c6c13c58eebda605a9a05f1f13cac1e46407afc7.
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFormats.td
The file was modifiedllvm/test/CodeGen/SystemZ/memcmp-01.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/memcpy-01.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/loop-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/tail-call-mem-intrinsics.ll
Commit 0776924a17efaf5269f154f899ecb5474e7800f2 by llvm-dev
[CostModel][X86] getCmpSelInstrCost - treat BAD_PREDICATEs the same as the worst case cost predicates for ICMP/FCMP instructions

As suggested on D111024, we should treat getCmpSelInstrCost calls without a specific predicate as matching the worst case predicate cost.

These regressions will be addressed with a mixture of D111024 and fixing other specific getCmpSelInstrCost calls to have realistic predicates.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-overflow.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-smin.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fshl.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-ssat.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-umin.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-usat.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fshr.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-sminmax.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-umax.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/scalarize-cmp.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-uminmax.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-smax.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/scalarize-cmp-inseltpoison.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit a84b78198cdd76a2171fdf6b0d80e49f4a4cf572 by david.green
[AArch64] Regenerate some more tests

This updates the check lines in some extra tests, to make them more
maintainable going forward.
The file was modifiedllvm/test/CodeGen/AArch64/isinf.ll
The file was modifiedllvm/test/CodeGen/AArch64/memcpy-scoped-aa.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
The file was modifiedllvm/test/CodeGen/AArch64/cond-sel-value-prop.ll
The file was modifiedllvm/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll
The file was modifiedllvm/test/CodeGen/AArch64/movw-consts.ll
The file was modifiedllvm/test/CodeGen/AArch64/madd-lohi.ll
Commit 26b3e929811814a4d2698228d1e8ded90b8bad7b by nicolas.vasilache
[mlir][Linalg] Don't return early from inPlaceAnalysis

Instead just emit a warning that analysis failed and the result will be treated conservatively.

Differential Revision: https://reviews.llvm.org/D111217
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit c11e7b59d2e9a221b2a956dcc0e0711eec12118e by nathan
[X86][NFC] structure-return simplificiation

The X86 backend only needs to know whether structure return is via an
sret pointer.  This removes the categorization enumeration and
adjusts, templatizes and renames the related functions.

Differential Revision: https://reviews.llvm.org/D109966
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit b29186c08ae230d0decbca67565be68919c6b24d by vince.a.bridgers
[analyzer] canonicalize special case of structure/pointer deref

This simple change addresses a special case of structure/pointer
aliasing that produced different symbolvals, leading to false positives
during analysis.

The reproducer is as simple as this.

```lang=C++
struct s {
  int v;
};

void foo(struct s *ps) {
  struct s ss = *ps;
  clang_analyzer_dump(ss.v); // reg_$1<int Element{SymRegion{reg_$0<struct s *ps>},0 S64b,struct s}.v>
  clang_analyzer_dump(ps->v); //reg_$3<int SymRegion{reg_$0<struct s *ps>}.v>
  clang_analyzer_eval(ss.v == ps->v); // UNKNOWN
}
```

Acks: Many thanks to @steakhal and @martong for the group debug session.

Reviewed By: steakhal, martong

Differential Revision: https://reviews.llvm.org/D110625
The file was modifiedclang/test/Analysis/ptr-arith.c
The file was modifiedclang/lib/StaticAnalyzer/Core/Store.cpp
Commit 78873840ff4112e6fb8e04fa6f7637febe114c96 by mkazantsev
[Test] Add some more symmetrical test cases for D110517

More similar cases to see that the opt we are trying to make is generic enough.
The file was modifiedllvm/test/Transforms/IndVarSimplify/outer_phi.ll
Commit b9b90bb5426ffc23cf90f133a90d1469d263522c by llvm-dev
[clang] Replace report_fatal_error(std::string) uses with report_fatal_error(Twine)

As described on D111049, we're trying to remove the <string> dependency from error handling and replace uses of report_fatal_error(const std::string&) with the Twine() variant which can be forward declared.
The file was modifiedclang/include/clang/Serialization/ASTRecordReader.h
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/Tooling/CommonOptionsParser.cpp
The file was modifiedclang/lib/Basic/ProfileList.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
The file was modifiedclang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
Commit 21661607cabd3927a56481e5382c4a68ffe6c2f3 by llvm-dev
[llvm] Replace report_fatal_error(std::string) uses with report_fatal_error(Twine)

As described on D111049, we're trying to remove the <string> dependency from error handling and replace uses of report_fatal_error(const std::string&) with the Twine() variant which can be forward declared.
The file was modifiedllvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
The file was modifiedllvm/lib/Transforms/Utils/SymbolRewriter.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Assembler.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
The file was modifiedllvm/tools/llvm-readobj/ARMEHABIPrinter.h
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
The file was modifiedllvm/lib/Support/raw_ostream.cpp
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
The file was modifiedllvm/include/llvm/Object/ELFObjectFile.h
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
The file was modifiedllvm/lib/Support/SpecialCaseList.cpp
The file was modifiedllvm/tools/llvm-objdump/ELFDump.cpp
The file was modifiedllvm/lib/IR/DiagnosticHandler.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/lib/Object/RelocationResolver.cpp
The file was modifiedllvm/include/llvm/Support/Windows/WindowsSupport.h
The file was modifiedllvm/tools/llvm-lto/llvm-lto.cpp
The file was modifiedllvm/lib/MC/MCELFStreamer.cpp
The file was modifiedllvm/lib/Transforms/IPO/FunctionImport.cpp
The file was modifiedllvm/lib/Support/Error.cpp
The file was modifiedllvm/lib/Target/BPF/BPFMIChecking.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
Commit e9f4fa75ed19a075593928644de92b398345772a by llvm-dev
[llvm] Unix.h - Replace report_fatal_error(std::string) with report_fatal_error(Twine)

As described on D111049, we're trying to remove the <string> dependency from error handling and replace uses of report_fatal_error(const std::string&) with the Twine() variant which can be forward declared.
The file was modifiedllvm/lib/Support/Unix/Unix.h
Commit 79d13bf22c169cf83515e799d45db8d6424104fd by Amara Emerson
Revert "Revert "[GlobalISel][IRTranslator] Emit trap intrinsic for "unreachable"""

This reverts commit d95cd81141a4e398e0d3337cb2e6617281d06278.

Re-land the original patch now that the bug this exposed in selection has been
fixed by 6bc64e24c38a
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unreachable.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Commit 00e704bf080ffeeb9e334fb3ab71594f9aa50969 by pavel
[lldb] Remove "dwarf dynamic register size expressions" from RegisterInfo

These were added to support some mips registers on linux, but linux mips
support has now been removed due.

They are still referenced in the freebds mips implementation, but the
completeness of that implementation is also unknown. All other
architectures just set these fields to zero, which is a cause of
significant bloat in our register info definitions.

Arm also has registers with variable sizes, but they were implemented in
a more gdb-compatible fashion and don't use this feature.

Differential Revision: https://reviews.llvm.org/D110914
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_i386.h
The file was modifiedlldb/source/Target/DynamicRegisterInfo.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp
The file was modifiedlldb/source/Target/RegisterContext.cpp
The file was modifiedlldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_arm.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
The file was modifiedlldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_powerpc.h
The file was modifiedlldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
The file was modifiedlldb/unittests/tools/lldb-server/tests/MessageObjects.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp
The file was modifiedlldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_arm64_sve.h
The file was modifiedlldb/unittests/Target/DynamicRegisterInfoTest.cpp
The file was modifiedlldb/include/lldb/Target/DynamicRegisterInfo.h
The file was modifiedlldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_s390x.h
The file was modifiedlldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
The file was modifiedlldb/include/lldb/Target/RegisterContext.h
The file was modifiedlldb/include/lldb/lldb-private-types.h
The file was modifiedlldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp
The file was modifiedlldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_ppc64le.h
The file was modifiedlldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
The file was modifiedlldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_ppc64.h
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
Commit e244a6fec7c9724bca31a49fec34400c1e4dc417 by llvm-dev
[mlir] Replace report_fatal_error(std::string) uses with report_fatal_error(Twine)

As described on D111049, we're trying to remove the <string> dependency from error handling and replace uses of report_fatal_error(const std::string&) with the Twine() variant which can be forward declared.
The file was modifiedmlir/lib/Interfaces/DataLayoutInterfaces.cpp
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/lib/Reducer/Tester.cpp
Commit a30a36f66aea459337999a000c7997b220b25227 by mgorny
[lldb] [ABI/X86] Split base x86 and i386 classes

Split the ABIX86 class into two classes: base ABIX86 class that is
common to 32-bit and 64-bit ABIs, and ABIX86_i386 class that is the base
for 32-bit ABIs.  This removes the confusing concept that ABIX86
initializes 64-bit ABIs but is only the base for 32-bit ABIs.

Differential Revision: https://reviews.llvm.org/D111216
The file was modifiedlldb/source/Plugins/ABI/X86/ABIX86_64.h
The file was addedlldb/source/Plugins/ABI/X86/ABIX86_i386.h
The file was addedlldb/source/Plugins/ABI/X86/ABIX86_i386.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h
The file was modifiedlldb/source/Plugins/ABI/X86/ABIX86.h
The file was modifiedlldb/source/Plugins/ABI/X86/ABIX86.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABISysV_i386.h
The file was modifiedlldb/source/Plugins/ABI/X86/CMakeLists.txt
Commit 1e013f112efd2754a22ee9298aef997406ea5852 by llvmgnsyncbot
[gn build] Port a30a36f66aea
The file was modifiedllvm/utils/gn/secondary/lldb/source/Plugins/ABI/X86/BUILD.gn
Commit 576ab15b9092e5a3ef7db656d2472d633cae96a5 by mkazantsev
[Test] Few more symmetrical test for D110517
The file was modifiedllvm/test/Transforms/IndVarSimplify/outer_phi.ll
Commit 02e690ba0b10c422cbec77105eb40835dab57092 by mgorny
[lldb] [FreeBSD] Fix building on systems without PT_COREDUMP

PT_COREDUMP is a relatively recent addition.  Use an #ifdef to skip it
if the underlying system does not support it.

Differential Revision: https://reviews.llvm.org/D111214
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemoteSaveCore.py
Commit db231ebdb07f38f8b5d92311a4dc89e63c5a9d05 by spatel
[InstCombine] fold fake vector extract to shift+trunc

We already handle more complicated cases like:
extelt (bitcast (inselt poison, X, 0)) --> trunc (lshr X)

But we missed this simpler pattern:
https://alive2.llvm.org/ce/z/D55h64 / https://alive2.llvm.org/ce/z/GKzzRq

This is part of solving:
https://llvm.org/PR52057

I made the transform depend on legal/desirable int type to avoid creating
a shift of an illegal type (for example i128). I'm not sure if that
restriction is actually necessary, but we can change that as a follow-up
if the backend can deal with integer ops on too-wide illegal types.

The pile of AVX512 test changes are all neutral AFAICT - the x86 backend
seems to know how to turn that into the expected "kmov" instructions.

Differential Revision: https://reviews.llvm.org/D111082
The file was modifiedllvm/test/Transforms/InstCombine/extractelement.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-avx512.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h