UnstableChanges

Summary

  1. Fix gcc build after de3a485d9 due to a gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598 (details)
  2. [RISCV] Frame handling for RISC-V V extension. (details)
  3. [RISCV] Spilling for RISC-V V extension. (2nd version) (details)
  4. [mlgo] Fetch models from path / URL (details)
  5. [lld] Silence compiler warnings by removing always true/false comparisons (details)
  6. [SCEV] Use ListSeparator (NFC) (details)
  7. [llvm] Fix header guards (NFC) (details)
  8. [CodeGen] Use range-based for loops (NFC) (details)
  9. [SampleFDO] Fix MSVC "namespace uses itself" warning (NFC) (details)
Commit 0e3d7e61867d69721b28e557272bdf4b66010327 by douglas.yung
Fix gcc build after de3a485d9 due to a gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598

This should fix gcc based builders such as http://lab.llvm.org:8011/#/builders/76/builds/1683
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Commit 5a31a67385c900244dede8defedacfa4fe79f370 by kai.wang
[RISCV] Frame handling for RISC-V V extension.

This patch proposes how to deal with RISC-V vector frame objects. The
layout of RISC-V vector frame will look like

|---------------------------------|
| scalar callee-saved registers   |
|---------------------------------|
| scalar local variables          |
|---------------------------------|
| scalar outgoing arguments       |
|---------------------------------|
| RVV local variables &&          |
| RVV outgoing arguments          |
|---------------------------------| <- end of frame (sp)

If there is realignment or variable length array in the stack, we will use
frame pointer to access fixed objects and stack pointer to access
non-fixed objects.

|---------------------------------| <- frame pointer (fp)
| scalar callee-saved registers   |
|---------------------------------|
| scalar local variables          |
|---------------------------------|
| ///// realignment /////         |
|---------------------------------|
| scalar outgoing arguments       |
|---------------------------------|
| RVV local variables &&          |
| RVV outgoing arguments          |
|---------------------------------| <- end of frame (sp)

If there are both realignment and variable length array in the stack, we
will use frame pointer to access fixed objects and base pointer to access
non-fixed objects.

|---------------------------------| <- frame pointer (fp)
| scalar callee-saved registers   |
|---------------------------------|
| scalar local variables          |
|---------------------------------|
| ///// realignment /////         |
|---------------------------------| <- base pointer (bp)
| RVV local variables &&          |
| RVV outgoing arguments          |
|---------------------------------|
| /////////////////////////////// |
| variable length array           |
| /////////////////////////////// |
|---------------------------------| <- end of frame (sp)
| scalar outgoing arguments       |
|---------------------------------|

In this version, we do not save the addresses of RVV objects in the
stack. We access them directly through the polynomial expression
(a x VLENB + b). We do not reserve frame pointer when there is any RVV
object in the stack. So, we also access the scalar frame objects through the
polynomial expression (a x VLENB + b) if the access across RVV stack
area.

Differential Revision: https://reviews.llvm.org/D94465
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
The file was addedllvm/test/CodeGen/RISCV/rvv/memory-args.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was addedllvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.h
The file was addedllvm/test/CodeGen/RISCV/rvv/localvar.ll
Commit a3c783dbf27f0a65472906dafc455b5165ed881a by kai.wang
[RISCV] Spilling for RISC-V V extension. (2nd version)

Differential Revision: https://reviews.llvm.org/D95148
The file was addedllvm/test/CodeGen/RISCV/spill-fpr-scalar.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was addedllvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/rv32-spill-vector.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/rv64-spill-vector.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Commit 33481c9997e3f0afb6c10b1a33a4d48014cf6100 by mtrofin
[mlgo] Fetch models from path / URL

Allow custom location for pre-trained models used when AOT-compiling
policies.

Differential Revision: https://reviews.llvm.org/D96796
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was modifiedllvm/cmake/modules/TensorFlowCompile.cmake
Commit caff023b77995166c8f335ace3064c04f677cb9c by mikael.holmen
[lld] Silence compiler warnings by removing always true/false comparisons

type is an uint8_t so
type >= 0
is always true and
type < 0
is always false.
The file was modifiedlld/MachO/Arch/ARM64.cpp
The file was modifiedlld/MachO/Arch/X86_64.cpp
Commit df35a183d7d447aa4f452ec1c56f9f04d4c02ee7 by kazu
[SCEV] Use ListSeparator (NFC)
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 2620459baabee93b7e328399b742848ff87ac515 by kazu
[llvm] Fix header guards (NFC)

Identified with llvm-header-guard.
The file was modifiedllvm/include/llvm/Support/SHA256.h
Commit 3279943adf410d43082c14c0f0d9a7bc499004d1 by kazu
[CodeGen] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/lib/CodeGen/MachineScheduler.cpp
Commit a23e6b321ca623b83252f8b1e06a2ad4fc441f89 by nullptr.cpp
[SampleFDO] Fix MSVC "namespace uses itself" warning (NFC)

MSVC warning:
```
SampleProfileLoaderBaseImpl.h(41): warning C4515: 'llvm': namespace uses itself
```
The file was modifiedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h