SuccessChanges

Summary

  1. [AArch64][GlobalISel] Don't use explicit zero registers for compare results. (details)
  2. [VE] Change to expand SHL_PARTS/SRA_PARTS/SRL_PARTS (details)
  3. Revert "[ASTImporter] Fix crash caused by unset AttributeSpellingListIndex" (details)
  4. [VE] Add vector load/store instructions (details)
  5. PR47805: Use a single object for a function parameter in the caller and (details)
  6. [CMake] Avoid accidental C++ standard library dependency in sanitizers (details)
  7. Revert "[CMake] Avoid accidental C++ standard library dependency in sanitizers" (details)
  8. [AMDGPU] Correct typos in SIMemoryLegalizer.cpp comments (details)
Commit 78ccb0359d8da3269636d85933dd8afe50a2211f by Amara Emerson
[AArch64][GlobalISel] Don't use explicit zero registers for compare results.

These cause problems for later optimizations, just using an unused vreg like
SelectionDAG generates better code in the end, and obviates the need for some
GISel specific flag optimizations.

Differential Revision: https://reviews.llvm.org/D89419
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/tbz-sgt.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/opt-shifted-reg-compare.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-arith-immed-compare.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-cmp.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-select.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-cbz.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/fold-fp-select.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/tbnz-slt.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/fold-select.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/opt-and-tbnz-tbz.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/opt-fold-compare.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt-constrain.mir
Commit 8e7b108e80ff5988c0d5e1db581589e7b37f1bd8 by marukawa
[VE] Change to expand SHL_PARTS/SRA_PARTS/SRL_PARTS

VE doesn't have SHL_PARTS/SRA_PARTS/SRL_PARTS instructions, so need
to expand them.  Add regression tests too.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D89396
The file was addedllvm/test/CodeGen/VE/shr.ll
The file was addedllvm/test/CodeGen/VE/shl.ll
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
Commit 4cb4db11ee1323c5d4bf66d21deb046970f4e516 by davelee.com
Revert "[ASTImporter] Fix crash caused by unset AttributeSpellingListIndex"

This broke the GreenDragon build, due to the following error while running
TestImportBuiltinFileID:

```
Ignored/unknown shouldn't get here
UNREACHABLE executed at tools/clang/include/clang/Sema/AttrSpellingListIndex.inc:13!
```

See http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/24213/

This reverts commit 73c6beb2f7053fe8b5150072c2b5cd930de38a22.
This reverts https://reviews.llvm.org/D89318
The file was removedclang/test/ASTMerge/attr/Inputs/RestrictAttr.cpp
The file was removedclang/test/ASTMerge/attr/testRestrictAttr.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
Commit 94c18d91d24355ba7274c4f40f3e8754a5f72c41 by marukawa
[VE] Add vector load/store instructions

Add vector registers and vector load/store instructions.  Add
regression tests for vector load/store instructions too.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D89183
The file was modifiedllvm/lib/Target/VE/VEInstrFormats.td
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.h
The file was addedllvm/lib/Target/VE/VEInstrVec.td
The file was modifiedllvm/lib/Target/VE/Disassembler/VEDisassembler.cpp
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was modifiedllvm/lib/Target/VE/VERegisterInfo.td
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was addedllvm/test/MC/VE/VST.s
The file was addedllvm/test/MC/VE/VLD.s
Commit f7f2e4261a98b2da519d58e7f6794b013cda7a4b by richard
PR47805: Use a single object for a function parameter in the caller and
callee in constant evaluation.

We previously made a deep copy of function parameters of class type when
passing them, resulting in the destructor for the parameter applying to
the original argument value, ignoring any modifications made in the
function body. This also meant that the 'this' pointer of the function
parameter could be observed changing between the caller and the callee.

This change completely reimplements how we model function parameters
during constant evaluation. We now model them roughly as if they were
variables living in the caller, albeit with an artificially reduced
scope that covers only the duration of the function call, instead of
modeling them as temporaries in the caller that we partially "reparent"
into the callee at the point of the call. This brings some minor
diagnostic improvements, as well as significantly reduced stack usage
during constant evaluation.
The file was modifiedclang/test/CXX/except/except.spec/p1.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/SemaCXX/c99-variable-length-array-cxx11.cpp
The file was modifiedclang/test/SemaCXX/warn-vla.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/test/SemaCXX/vla-construct.cpp
The file was modifiedclang/test/Sema/builtin-expect-with-probability.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-consteval.cpp
The file was modifiedclang/test/Sema/builtin-expect-with-probability-avr.cpp
The file was modifiedclang/test/CXX/expr/expr.const/p2-0x.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
The file was modifiedclang/test/OpenMP/critical_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p6.cpp
The file was modifiedclang/test/Sema/c89.c
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/SemaCUDA/constexpr-variables.cu
The file was modifiedclang/test/OpenMP/distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/SemaCXX/c99-variable-length-array.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/SemaCXX/integer-overflow.cpp
Commit 287c318690f19fcbe337211278798d97ccf7884e by phosek
[CMake] Avoid accidental C++ standard library dependency in sanitizers

While sanitizers don't use C++ standard library, we could still end
up accidentally including or linking it just by the virtue of using
the C++ compiler. Pass -nostdinc++ and -nostdlib++ to avoid these
accidental dependencies.

Differential Revision: https://reviews.llvm.org/D88922
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/lib/profile/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTUtils.cmake
The file was modifiedcompiler-rt/lib/asan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/fuzzer/CMakeLists.txt
The file was modifiedcompiler-rt/lib/xray/CMakeLists.txt
The file was modifiedcompiler-rt/lib/hwasan/CMakeLists.txt
Commit 220de1f32add09848009ae2286a1e6fd271abe9e by phosek
Revert "[CMake] Avoid accidental C++ standard library dependency in sanitizers"

This reverts commit 287c318690f19fcbe337211278798d97ccf7884e which broke
sanitizer tests that use C++ standard library.
The file was modifiedcompiler-rt/lib/hwasan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/xray/CMakeLists.txt
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/lib/profile/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/lib/fuzzer/CMakeLists.txt
The file was modifiedcompiler-rt/lib/asan/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTUtils.cmake
Commit b3a38bc2dcab478e9f1a7e96029393a19cd9357d by Tony.Tye
[AMDGPU] Correct typos in SIMemoryLegalizer.cpp comments
The file was modifiedllvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp