SuccessChanges

Summary

  1. [X86] AMX programming model. (details)
  2. [AST] Fix a constexpr-evaluator crash on error-dependent returnstmt. (details)
  3. [gn build] Port f80b29878b0 (details)
  4. [ARM] MVE vcreate tests, for dual lane moves. NFC (details)
Commit f80b29878b0448efb306b9c93c49e5deb9ba2738 by yuanke.luo
[X86] AMX programming model.
This patch implements amx programming model that discussed in llvm-dev
(http://lists.llvm.org/pipermail/llvm-dev/2020-August/144302.html).
Thank Hal for the good suggestion in the RA. The fast RA is not in the patch yet.
This patch implemeted 7 components.

1. The c interface to end user.
2. The AMX intrinsics in LLVM IR.
3. Transform load/store <256 x i32> to AMX intrinsics or split the
   type into two <128 x i32>.
4. The Lowering from AMX intrinsics to AMX pseudo instruction.
5. Insert psuedo ldtilecfg and build the def-use between ldtilecfg to amx
   intruction.
6. The register allocation for tile register.
7. Morph AMX pseudo instruction to AMX real instruction.

Change-Id: I935e1080916ffcb72af54c2c83faa8b2e97d5cb0

Differential Revision: https://reviews.llvm.org/D87981
The file was modifiedclang/lib/Headers/amxintrin.h
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/X86/AMX/amx-config.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsX86.td
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was addedllvm/lib/Target/X86/X86PreTileConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/statepoint-fixup-shared-ehpad.mir
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was addedllvm/lib/Target/X86/X86TileConfig.cpp
The file was modifiedllvm/include/llvm/CodeGen/LiveRegMatrix.h
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.h
The file was modifiedllvm/lib/Target/X86/CMakeLists.txt
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
The file was addedllvm/lib/Target/X86/X86LowerAMXType.cpp
The file was modifiedllvm/include/llvm/CodeGen/VirtRegMap.h
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was addedllvm/test/CodeGen/X86/AMX/amx-spill.ll
The file was modifiedllvm/include/llvm/CodeGen/LiveIntervalUnion.h
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.td
The file was modifiedllvm/test/CodeGen/X86/ipra-reg-usage.ll
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/CodeGen/LiveRegMatrix.cpp
The file was modifiedllvm/lib/Target/X86/X86.h
The file was modifiedllvm/lib/CodeGen/VirtRegMap.cpp
The file was addedllvm/test/CodeGen/X86/AMX/amx-type.ll
The file was modifiedllvm/include/llvm/CodeGen/Passes.h
The file was addedllvm/include/llvm/CodeGen/TileShapeInfo.h
The file was modifiedllvm/lib/CodeGen/LiveIntervalUnion.cpp
The file was modifiedclang/include/clang/Basic/BuiltinsX86_64.def
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrAMX.td
The file was addedllvm/test/CodeGen/X86/AMX/amx-across-func.ll
The file was addedclang/test/CodeGen/X86/amx_api.c
The file was modifiedllvm/test/CodeGen/X86/statepoint-fixup-invoke.mir
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
Commit a0539298540e49cb734c7b82f93572ab46bf9b00 by hokein.wu
[AST] Fix a constexpr-evaluator crash on error-dependent returnstmt.

When the evaluator encounters an error-dependent returnstmt, before this patch
it returned a ESR_Returned without setting the result, the callsides think this
is a successful execution, and try to access the Result which causes the crash.

The fix is to always return failed as we don't know the result of the
error-dependent return stmt.

Differential Revision: https://reviews.llvm.org/D92969
The file was modifiedclang/test/SemaCXX/constexpr-function-recovery-crash.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit 426bee7ad735fc8ca7b2b8a721ce1a8f3cb107bc by llvmgnsyncbot
[gn build] Port f80b29878b0
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Commit eec5b99901826852f13e11e7f807e175d434f1cd by david.green
[ARM] MVE vcreate tests, for dual lane moves. NFC
The file was addedllvm/test/CodeGen/Thumb2/mve-vcreate.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-constfold.ll