SuccessChanges

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

Summary

  1. [PowerPC][AIX] Create multiple constant sections. (details)
  2. [AArch64][GlobalISel] Widen G_IMPLICIT_DEF and G_FREEZE before clamping (details)
  3. [AArch64][GlobalISel] Overhaul G_INSERT legalization (details)
  4. [mlir] Cleanup: Fix warnings in MLIR (details)
  5. [AVR][clang] Pass '-fno-use-init-array' to cc1 as default (details)
Commit 23651c5ae02a209ff214e4283dddb5ab65d1003a by sd.fertile
[PowerPC][AIX] Create multiple constant sections.

Fixes issue where late materialized constants can be more strictly
aligned then their containing csect.

Differential Revision: https://reviews.llvm.org/D103103
The file was modifiedllvm/include/llvm/MC/MCObjectFileInfo.h
The file was addedllvm/test/CodeGen/PowerPC/aix-constant-align.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-space.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-rodata-align.ll
Commit 562c8e14d9f19220fe0a9a35dafa0bcf2485bc0f by Jessica Paquette
[AArch64][GlobalISel] Widen G_IMPLICIT_DEF and G_FREEZE before clamping

Similar to other cleanup commits which widen instructions before clamping
during legalization. Purpose of this is to avoid weird type breakdowns.

In terms of G_IMPLICIT_DEF, this simplifies legalization for other instructions.
The legalizer has to emit G_IMPLICIT_DEF to legalize certain instructions, so
this can help with emitting merges elsewhere.

Differential Revision: https://reviews.llvm.org/D107604
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-undef.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extracts.mir
Commit e6a3944ea9dee8ffaa318c347287027480311552 by Jessica Paquette
[AArch64][GlobalISel] Overhaul G_INSERT legalization

Similar cleanup to G_EXTRACT (51bd4e874fa51412e7399fe7f863169b4f4829bc).

Also swap the order of clamp/widen to avoid unnecessary complex merges.

Add a bunch of missing testcases to legalize-inserts while we're at it.

Differential Revision: https://reviews.llvm.org/D107601
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Commit 66b1e629d89543cb7542c184f7dfb32deee732e1 by springerm
[mlir] Cleanup: Fix warnings in MLIR

Tested with gcc-10. Other compilers may generate additional warnings. This does not fix all warnings. There are a few extra ones in LLVMCore and MLIR.

* `OpEmitter::getAttrNameIndex`: -Wunused-function (function is private and not used anywhere)
* `PrintOpPass` copy constructor: -Wextra ("Base class should be explicitly initialized in the copy constructor")
* `LegalizeForLLVMExport.cpp`: -Woverflow (overflow is expected, silence warning by making the cast explicit)

Differential Revision: https://reviews.llvm.org/D107525
The file was modifiedmlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit dae7adda949993bd96aa50c551dc64ddebba7923 by powerman1st
[AVR][clang] Pass '-fno-use-init-array' to cc1 as default

On AVR, '.ctors' is used, not '.init_array'. Make this the default
unless specifically overridden by driver argument.

This matches gcc, and it matches the behavior in (e.g.) the NetBSD
driver (for certain OS variants).

Reviewed by: MaskRay

Differential Revision: https://reviews.llvm.org/D107610
The file was modifiedclang/lib/Driver/ToolChains/AVR.cpp
The file was modifiedclang/test/Driver/avr-toolchain.c
The file was modifiedclang/lib/Driver/ToolChains/AVR.h