[DSE] Make DSE eliminate stores to objects with a sized dead_on_return
dead_on_return is made optionally sized in #171712. This patch adds
handling in DSE so that we can actually eliminate stores to pointer
parameters marked with a sized dead_on_return attribute. We do not
eliminate stores where the store may overlap with bytes that are not
known to be dead after return.
Reviewers: nikic, antoniofrighetto, alinas, aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/173694
[ProfCheck] Add new tests to xfail list
PhaseOrdering fixes are likely to be coincidental and are probably in
passes we have not gotten to yet. We have not started working on any of
the coroutine passes.
[mlir][linalg] Preserve cast semantics during generic to matmul (#174757)
Infer signed/unsigned cast intent from cast ops in linalg.generic bodies
and propagate it via the matmul cast attribute. This could otherwise lead
to silent overflow/underflow errors in e2e execution.
TODO: Extend this to other named ops that support cast attribute.
Fixes #174517
NAS-139354 / 26.04 / Properly account for existing pool with SED disks (#18079)
This PR adds changes to fix couple of issues identified with our SED
implementation:
1. For existing pools, when we were marking if a pool should be
`all_sed` or not, we were not accounting for the fact that a customer
can have a pool based off SED disks which are not initialized and in
this case it should not be an `all_sed` pool as the customer just might
not want to use the SED functionality for that specific case.
In this case, when we try to gauge if a pool should be marked as
`all_sed` - we will rely on all the disks being SED and also in an
UNINITIALIZED state.
2. Pool attach case had not been handled for integrated SED
functionality to automatically setup SED disks etc.
---------
Co-authored-by: Caleb St. John <30729806+yocalebo at users.noreply.github.com>
[BOLT] Gadget scanner: prevent false positives due to jump tables
As part of PAuth hardening, AArch64 LLVM backend can use a special
BR_JumpTable pseudo (enabled by -faarch64-jump-table-hardening
Clang option) which is expanded in the AsmPrinter into a contiguous
sequence without unsafe instructions in the middle.
This commit adds another target-specific callback to MCPlusBuilder
to make it possible to inhibit false positives for known-safe jump
table dispatch sequences. Without special handling, the branch
instruction is likely to be reported as a non-protected call (as its
destination is not produced by an auth instruction, PC-relative address
materialization, etc.) and possibly as a tail call being performed with
unsafe link register (as the detection whether the branch instruction
is a tail call is an heuristic).
For now, only the specific instruction sequence used by the AArch64
LLVM backend is matched.
[libc++][NFC] Clang-format <vector> and remove unused __self alias (#177021)
These changes were extracted out of the size-based vector patch.
Co-authored-by: Christopher Di Bella <cjdb at google.com>
[mlir][tosa] Add a canonicalization to optimize cast cast sequences (#176904)
This commit introduces a new canonicalization over a sequence of cast
operations. cast->cast sequences can be simplified to a single cast when
no narrowing is performed inbetween. This optimization is limited to
integer types, since floating point casts may impact numerical
behaviour.