Changes

Summary

  1. [VE] use local cache (details)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [libcxx] moves `std::invoke` into `__functional_base` (details)
  2. [Polly] Refactoring isInnermost() from isl to use the C++ wrapper (details)
  3. Exact ashr/lshr don't loose any set bits and are thus trivially invertible (details)
  4. [SROA] Allow SROA on pointers with invariant group intrinsic uses (details)
  5. Comment adjustments for a rename (details)
  6. [RISCV] When custom iseling masked stores, copy the mask into V0 instead of virtual register. (details)
  7. [NewPM] Change tests to run them without PreserveCFGChecker. NFC (details)
  8. [Statepoint] Factor-out utility function to get non-foldable area of STATEPOINT like instructions. NFC (details)
  9. [MLIR][docs] Fixes to operation syntax in Lang Ref (details)
  10. [NewPM] Redesign of PreserveCFG Checker (details)
  11. [NewPM] Fix unused lambda capture build error (details)
  12. [clang][cli] Ensure plugin args are generated in deterministic order (details)
  13. [AMDGPU] Add some missing testing for new subtargets gfx90a and gfx90c (details)
  14. [AArch64] Use 64-bit movi for zeroing halfs/floats (details)
  15. [NFC][WebAssembly] Removed mangled name from test. (details)
  16. Revert "[flang] Improve constant folding for type parameter inquiries" (details)
Commit c25c22d5f9b7e56c0c350982b5ec41095c5a0a05 by cjdb
[libcxx] moves `std::invoke` into `__functional_base`

Including `<concepts>` in other standard library headers (such as
`<iterator>`) creates circular dependencies due to `<functional>`.
Since `<concepts>` only needs `std::invoke` from `<functional>`, the
easiest, fastest, and cleanest way to eliminate the circular dep is to
move `std::invoke` into `__functional_base`.

This has the added advantage of `<concepts>` not transitively importing
`<functional>`.

Differential Revision: https://reviews.llvm.org/D99041
The file was modifiedlibcxx/include/concepts (diff)
The file was modifiedlibcxx/include/functional (diff)
The file was modifiedlibcxx/include/__functional_base (diff)
Commit 812ce7f9beb2b828032ddbd01d3aba4c1f9d76da by llvm-project
[Polly] Refactoring isInnermost() from isl to use the C++ wrapper

Polly use algorithms from the Integer Set Library (isl), which is a library written in C and which is incompatible with the rest of the LLVM as it is written in C++.

Changes made:
- Refactoring isInnermost() to take C++ bindings instead of the plain isl C api.
- Addition of manage_copy() when needed to get the reference for the isl_ast_node object

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D99841
The file was modifiedpolly/lib/CodeGen/IslAst.cpp (diff)
The file was modifiedpolly/include/polly/CodeGen/IslAst.h (diff)
Commit 13deb6aac723e5694d404f21ee136e9773eb27a6 by listmail
Exact ashr/lshr don't loose any set bits and are thus trivially invertible

Use that fact to improve isKnownNonEqual.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/test/Analysis/ValueTracking/known-non-equal.ll (diff)
Commit ea0e2ca1acb20781515c23850ec1ee7476909b2f by aeubanks
[SROA] Allow SROA on pointers with invariant group intrinsic uses

When we are able to SROA an alloca, we know all uses of it, meaning we
don't have to preserve the invariant group intrinsics and metadata.

It's possible that we could lose information regarding redundant
loads/stores, but that's unlikely to have any real impact since right
now the only user is Clang and vtables.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D99760
The file was modifiedllvm/lib/IR/Instruction.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Instruction.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp (diff)
The file was addedllvm/test/Transforms/SROA/invariant-group.ll
Commit 58ccbd0d08fe0a9b4b06d47d0be20f19717919f8 by listmail
Comment adjustments for a rename
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
Commit cb1028a0b95f5f4dd3924d81e8f8d9198b597ff4 by craig.topper
[RISCV] When custom iseling masked stores, copy the mask into V0 instead of virtual register.

I missed a few intrinsics in 3dd4aa7d09599507d1f801ffe4bec4c9eebbb8da
when I did this for masked loads and masked segment loads/stores.

Found while trying to share more code between these custom isel
functions.
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-fp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp (diff)
Commit 872c57c90ac66a7a190fd575e4258eb06cec624e by yrouban
[NewPM] Change tests to run them without PreserveCFGChecker. NFC

Change several pass sequence sensitive tests to be indifferent
to the PreserveCFGChecker by explicitly settting the option
-verify-cfg-preserved=0. It is a preparation step that allows
a redesign of PreserveCFGChecker.

Reviewed By: skatkov

Differential Revision: https://reviews.llvm.org/D99878
The file was modifiedllvm/test/Other/new-pm-O0-defaults.ll (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll (diff)
The file was modifiedllvm/test/Other/new-pm-lto-defaults.ll (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll (diff)
The file was modifiedllvm/test/Other/loop-pm-invalidation.ll (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll (diff)
The file was modifiedllvm/test/Transforms/LoopRotate/pr35210.ll (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll (diff)
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-preserve-analysis.ll (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll (diff)
Commit 0057ec8034d8d99ffbcf088b208484d36a0e24e2 by serguei.katkov
[Statepoint] Factor-out utility function to get non-foldable area of STATEPOINT like instructions. NFC

Reviewers: reames, dantrushin
Reviewed By: reames
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D99875
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h (diff)
Commit 22411d80723860cd050eab072bb10abd7a2ae526 by gcmn
[MLIR][docs] Fixes to operation syntax in Lang Ref

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D99922
The file was modifiedmlir/docs/LangRef.md (diff)
Commit 39e3e3aa51d628722637c1bfa507f9ec2c532120 by yrouban
[NewPM] Redesign of PreserveCFG Checker

The reason for the NewPM redesign is described in the commit
  cba3e783389a: [NewPM] Disable PreservedCFGChecker ...

The checker introduces an internal custom CFG analysis that tracks
current up-to date CFG snapshot. The analysis is invalidated along
any other CFG related analysis (the key is CFGAnalyses). If the CFG
analysis is not invalidated at a functional pass exit then the checker
asserts that the CFG snapshot taken from this analysis is equals to
a snapshot of the current CFG.

Along the way:
- the function CFG::printDiff() is simplified by removing function
  name calculation. The name is printed by the caller;
- fixed CFG invalidated condition (see CFG::invalidate());
- StandardInstrumentations::registerCallbacks() gets additional
  optional parameter of type FunctionAnalysisManager*, which is
  needed by the checker to get the custom CFG analysis;
- several PM related tests updated to explicitly set
  -verify-cfg-preserved=1 as they need.

This patch is safe to land as the CFGChecker is left switched off
(the options -verify-cfg-preserved is false by default). It will be
switched on by a separate patch to minimize possible reverts.

Reviewed By: skatkov, kuhar

Differential Revision: https://reviews.llvm.org/D91327
The file was modifiedllvm/test/Other/new-pm-defaults.ll (diff)
The file was modifiedllvm/test/Other/new-pass-manager.ll (diff)
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h (diff)
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp (diff)
The file was modifiedllvm/tools/opt/NewPMDriver.cpp (diff)
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp (diff)
The file was modifiedllvm/lib/LTO/LTOBackend.cpp (diff)
The file was modifiedllvm/unittests/IR/PassManagerTest.cpp (diff)
Commit 98742e42fc50f58d3f2d3f2cdbbf540288c134b9 by yrouban
[NewPM] Fix unused lambda capture build error

Fixes commit 39e3e3aa51d: Redesign of PreserveCFG Checker
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp (diff)
Commit cc26943313def7a985f72eadc7499ac981daabc6 by Jan Svoboda
[clang][cli] Ensure plugin args are generated in deterministic order

The '-plugin-arg' command-line arguments are not being generated in deterministic order.

This patch changes the storage from `std::unordered_map` to `std::map` to enforce ordering.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D99879
The file was modifiedclang/include/clang/Frontend/FrontendOptions.h (diff)
The file was modifiedclang/unittests/Frontend/CompilerInvocationTest.cpp (diff)
Commit 94d0fc32f54bb390550bfd2e33676ab78c5ab24f by jay.foad
[AMDGPU] Add some missing testing for new subtargets gfx90a and gfx90c

Differential Revision: https://reviews.llvm.org/D99647
The file was modifiedllvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll (diff)
Commit ef05b08c612dd144003c1b2312bd2b365e7df519 by sjoerd.meijer
[AArch64] Use 64-bit movi for zeroing halfs/floats

This was using the .2d variant which zeros 128 bits, but using the .2s variant
that zeros 64 bits is faster on some cores.

This is a prep step for D99586 to always using movi for zeroing floats.

Differential Revision: https://reviews.llvm.org/D99710
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/f16-imm.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing.ll (diff)
Commit f1313b3b249adea1fb8e629fb604fb7ccdcacf37 by sam.parker
[NFC][WebAssembly] Removed mangled name from test.
The file was modifiedllvm/test/CodeGen/WebAssembly/comparisons-f64.ll (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/comparisons-f32.ll (diff)
Commit b7ef804807855e607da3eba221c1fc59e27f778e by kiran.chandramohan
Revert "[flang] Improve constant folding for type parameter inquiries"

This reverts commit 8c7bf2f93da9b64b07509f67552d592a86260ff5.
The file was modifiedflang/lib/Evaluate/fold-integer.cpp (diff)
The file was modifiedflang/lib/Semantics/type.cpp (diff)
The file was modifiedflang/lib/Evaluate/formatting.cpp (diff)
The file was removedflang/test/Semantics/resolve104.f90
The file was modifiedflang/test/Semantics/resolve89.f90 (diff)
The file was modifiedflang/test/Semantics/assign04.f90 (diff)