SuccessChanges

Summary

  1. [SyntaxTree] Implement `NestedNameSpecifier` using the `List` base API (details)
  2. [DebugInfo] Don't error for zero-length arange entries (details)
  3. [ARM] Unrestrict Armv8-a IT when at minsize (details)
  4. [PowerPC] Add option to control PCRel GOT indirect linker optimization (details)
  5. [X86][SSE] Pull out shuffle(hop,hop) combine into combineShuffleWithHorizOp helper. NFC. (details)
  6. [AIX] Static init frontend recovery and backend support (details)
Commit fdbd5996533dad25f00687f27ce8e7a8b7573ba3 by ecaldas
[SyntaxTree] Implement `NestedNameSpecifier` using the `List` base API
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
Commit ca05601cd2a1b75050538ef2e78de205f1300692 by james.henderson
[DebugInfo] Don't error for zero-length arange entries

Although the DWARF specification states that .debug_aranges entries
can't have length zero, these can occur in the wild. There's no
particular reason to enforce this part of the spec, since functionally
they have no impact. The patch removes the error and introduces a new
warning for premature terminator entries which does not stop parsing.

This is a relanding of cb3a598c87db, adding the missing obj2yaml part
that was needed.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46805. See also
https://reviews.llvm.org/D71932 which originally introduced the error.

Reviewed by: ikudrin, dblaikie, Higuoxing

Differential Revision: https://reviews.llvm.org/D85313
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
The file was modifiedllvm/test/tools/obj2yaml/ELF/DWARF/debug-aranges.yaml
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugArangeSetTest.cpp
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
Commit 4f9f4b21e07ba8137b40659ac5d3955586ce81bb by sam.parker
[ARM] Unrestrict Armv8-a IT when at minsize

IT blocks with more than one instruction were performance deprecated in Armv8
but that doesn't mean we should follow that advise when optimising for size.

Differential Revision: https://reviews.llvm.org/D85638
The file was modifiedllvm/test/CodeGen/ARM/codesize-ifcvt.mir
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.cpp
The file was modifiedllvm/test/CodeGen/ARM/ifcvt-size.mir
Commit 81883ca074556f9598a8a2f43ccfb81489baeb78 by stefanp
[PowerPC] Add option to control PCRel GOT indirect linker optimization

Add a hidden option to the compiler to control a the PC Relative GOT indirect
linker optimization.

If this option is set to false the compiler will no loger produce the
relocations required by the linker to perform the optimization.

Reviewed By: nemanjai, NeHuang, #powerpc

Differential Revision: https://reviews.llvm.org/D85377
The file was modifiedllvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
The file was addedllvm/test/CodeGen/PowerPC/pcrel-linkeropt-option.ll
Commit 07e673a02bb163a70b2b5eff8231578646a20120 by llvm-dev
[X86][SSE] Pull out shuffle(hop,hop) combine into combineShuffleWithHorizOp helper. NFC.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 6ef801aa6bc01fc49a8e83ddb217470b5e2337dd by Xiangling.Liao
[AIX] Static init frontend recovery and backend support

On the frontend side, this patch recovers AIX static init implementation to
use the linkage type and function names Clang chooses for sinit related function.

On the backend side, this patch sets correct linkage and function names on aliases
created for sinit/sterm functions.

Differential Revision: https://reviews.llvm.org/D84534
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-static-init-key-object.ll
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedclang/test/CodeGenCXX/aix-static-init-debug-info.cpp
The file was modifiedclang/test/CodeGenCXX/aix-static-init.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-static-init-default-priority.ll
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
The file was addedclang/test/CodeGenCXX/aix-static-init-temp-spec-and-inline-var.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-static-init-non-default-priority.ll
The file was modifiedclang/unittests/CodeGen/IncrementalProcessingTest.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-static-init-no-unique-module-id.ll