SuccessChanges

Summary

  1. [RISCV] Fix broken test (details)
  2. Fix reordering of instructions during VirtRegRewriter unbundling (details)
  3. [AMDGPU] SIInsertSkips: Refactor early exit block creation (details)
  4. [MLInliner] Factor out logging (details)
  5. [NewPM] Set -enable-npm-optnone to true by default (details)
  6. Make OpenMP tests less brittle in the face of changes in constant (details)
  7. [c++17] Implement P0145R3 during constant evaluation. (details)
  8. [dotest] Simplify logic to find the Python path (details)
  9. [GVN LoadPRE] Extend the scope of optimization by using context to prove safety of speculation (details)
  10. [AttributeFuncs] Consider `align` in `typeIncompatible` (details)
  11. [AttributeFuncs] Consider `noundef` in `typeIncompatible` (details)
  12. [JITLink][ELF] Handle BSS sections, improve some error messages. (details)
  13. [AttributeFuncs][FIX] Update new tests (D87304) after sret changes (details)
  14. Revert "[SCEV] Prove implicaitons via AddRec start" (details)
Commit a48d480e1f7ebc5d5f93507fe1f519496621e259 by ebahapo
[RISCV] Fix broken test

Fix test for the SiFive E76 core.

This patch fixes the issue introduced by the commit 5d6d8a2769.
The file was modifiedclang/test/Driver/riscv-cpus.c
The file was modifiedllvm/include/llvm/Support/RISCVTargetParser.def
Commit ea9d6392f4a375b5183be02ac93eb3a75c169360 by carl.ritson
Fix reordering of instructions during VirtRegRewriter unbundling

When unbundling COPY bundles in VirtRegRewriter the start of the
bundle is not correctly referenced in the unbundling loop.

The effect of this is that unbundled instructions are sometimes
inserted out-of-order, particular in cases where multiple
reordering have been applied to avoid clobbering dependencies.
The resulting instruction sequence clobbers dependencies.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D88821
The file was modifiedllvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
The file was modifiedllvm/lib/CodeGen/VirtRegMap.cpp
Commit c3e07a0018ec74216d662e0596584d2c846a1063 by carl.ritson
[AMDGPU] SIInsertSkips: Refactor early exit block creation

Refactor exit block creation to a single call ensureEarlyExitBlock.
Add support for generating an early exit block which clears the
exec mask, but only add this instruction when required.
These changes are to facilitate adding more forms of early
termination for PS shaders in the near future.

Reviewed By: nhaehnle

Differential Revision: https://reviews.llvm.org/D88775
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertSkips.cpp
Commit 36bb1fb1fe624012332d1f2788625ee4625f29db by mtrofin
[MLInliner] Factor out logging

Factored out the logging facility, to allow its reuse outside the
inliner.

Differential Revision: https://reviews.llvm.org/D88770
The file was modifiedllvm/include/llvm/Analysis/Utils/TFUtils.h
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
The file was modifiedllvm/test/Transforms/Inline/ML/development-training-log.ll
The file was modifiedllvm/unittests/Analysis/TFUtilsTest.cpp
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit d4e08c95e500bc813b24b146be29f17e7c08fa2a by aeubanks
[NewPM] Set -enable-npm-optnone to true by default

This makes the NPM skip not required passes on functions marked optnone.

If this causes a pass that should be required but has not been marked
required to be skipped, add
`static bool isRequired() { return true; }`
to the pass class. AlwaysInlinerPass is an example.

clang/test/CodeGen/O0-no-skipped-passes.c is useful for checking that
no passes are skipped under -O0.

The -enable-npm-optnone option will be removed once this has been stable
for long enough without issues.

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D87869
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
Commit ebf6fd633ef83b747bac721aafc3677d2c47aef1 by richard
Make OpenMP tests less brittle in the face of changes in constant
evaluation diagnostics.
The file was modifiedclang/test/OpenMP/target_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_ordered_messages.cpp
The file was modifiedclang/test/OpenMP/for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/for_ordered_clause.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_ordered_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/taskloop_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_ordered_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_collapse_messages.cpp
Commit ded79be63555f4e5bfdb0db27ef22b71fe568474 by richard
[c++17] Implement P0145R3 during constant evaluation.

Ensure that we evaluate assignment and compound-assignment
right-to-left, and array subscripting left-to-right.

Fixes PR47724.
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1z.cpp
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit f22496a9f4cabb97e735314b62731fedb2e01e50 by Jonas Devlieghere
[dotest] Simplify logic to find the Python path

Simplify the logic of parsing the lldb -P output to find the python
path. This removes the special handling for the LLDB.framework case and
instead of pattern matching known errors focus on finding a directory
path that contains an __init__.py.

Differential revision: https://reviews.llvm.org/D88840
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit b9888980132e5511e85d4172a46e02475957298b by serguei.katkov
[GVN LoadPRE] Extend the scope of optimization by using context to prove safety of speculation

Use context to prove that load can be safely executed at a point where load is being hoisted.

Postpone the decision about safety of speculative load execution till the moment we know
where we hoist load and check safety at that context.

Reviewers: nikic, fhahn, mkazantsev, lebedev.ri, efriedma, reames
Reviewed By: reames, mkazantsev
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D88725
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/test/Transforms/GVN/loadpre-context.ll
Commit 2a078c3072043541ee0595aea6c8d7909f94c6f9 by johannes
[AttributeFuncs] Consider `align` in `typeIncompatible`

Alignment attributes need to be dropped for non-pointer values.
This also introduces a check into the verifier to ensure you don't use
`align` on anything but a pointer. Test needed to be adjusted
accordingly.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87304
The file was modifiedllvm/test/Transforms/DeadArgElim/returned.ll
The file was modifiedllvm/test/Bitcode/attributes-3.3.ll
The file was modifiedllvm/test/Bitcode/attributes.ll
The file was modifiedllvm/test/Verifier/byref.ll
The file was modifiedllvm/test/Bitcode/attributes-3.3.ll.bc
The file was modifiedllvm/test/Transforms/LoopSimplify/unreachable-loop-pred.ll
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was addedllvm/test/Verifier/align.ll
Commit ef48436e62732e61cea5dde9b35b63b3ce8126f7 by johannes
[AttributeFuncs] Consider `noundef` in `typeIncompatible`

Drop `noundef` for return values that are replaced by void and make it
illegal to put `noundef` on a void value.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87306
The file was addedllvm/test/Verifier/noundef.ll
The file was modifiedllvm/test/Verifier/align.ll
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/test/Transforms/DeadArgElim/returned.ll
Commit 01baeda7ca6645f5d8455733b110c89203a61ccf by Lang Hames
[JITLink][ELF] Handle BSS sections, improve some error messages.

This patch enables basic BSS section handling, and improves a couple of error
messages in the ELF section parsing code.

Patch by Christian Schafmeister. Thanks Christian!

Differential Revision: https://reviews.llvm.org/D88867
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
The file was modifiedllvm/test/ExecutionEngine/JITLink/X86/ELF_x86-64_relocations.s
Commit 848342b333e76ff1db04d10097470fc454d4a8b7 by johannes
[AttributeFuncs][FIX] Update new tests (D87304) after sret changes
The file was modifiedllvm/test/Verifier/align.ll
Commit bbb0ee6e34db1d8e00367ea03ee1972d1131d1e0 by mkazantsev
Revert "[SCEV] Prove implicaitons via AddRec start"

This reverts commit 69acdfe075fa8eb18781f88f4d0cd1ea40fa6e48.

Need to investigate reported miscompiles.
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/unittests/Analysis/ScalarEvolutionTest.cpp
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp