[lldb][docs] Simplify the links page (#193038)
When we created the links page, we didn't have many so it made sense to
include a little snippet for some of the videos. Now that this has
grown, it makes the page harder to navigate.
[CIR] Allow user-defined casts in emitPointerWithAlignment (#193078)
In CIR, we use a fully-covered switch for casts in
emitPointerWithAlignment and only allow casts that are known to be safe
to fall through without handling. Classic codegen uses a default and all
casts that don't already have special handling fall through. This change
moves CK_UserDefinedConversion to the group that we allow to fall
through and changes the unanalyzed group to emit an NYI diagnostic
rather than calling llvm_unreachable.
[LV][RISCV][NFC] Add explicit LMUL controls via computeFeasibleMaxVF
Add components of maxVF and its support under scalable only
vectorization. This mode disables Fixed vectorization rather
than choosing between Scalable and Fixed. It is disabled currently
as other components need to be ported as well.
[CodeGen] Add MachineBlockHashInfoAnalysis for the new pass manager (#192911)
This patch introduces `MachineBlockHashInfoAnalysis` and its
corresponding
printer pass `MachineBlockHashInfoPrinterPass` to the new pass manager.
This allows running `-passes="print<machine-block-hash>"` via `llc`.
Can't merge before #192826, and don't want to mix test patch with
determinism fix in #192826.
[libc][math] Qualify floor functions to constexpr (#192791)
Signed-off-by: udaykiriti <udaykiriti624 at gmail.com>
Co-authored-by: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
[SSAF][Analysis] Add PointerFlowReachableAnalysis
PointerFlowReachableAnalysis uses PointerFlow and UnsafeBufferUsage
summaries. It computes reachable nodes in the PointerFlow graph from
unsafe buffer nodes in the UnsafeBufferUsage summary.
rdar://174874942
[NFC][SSAF][EntityPointerLevel] Move EntityID-to-EPL map serialization to the EPL module
Factor out the serialization of `std::map<EntityId, EntityPointerLevelSet>`
to `EntityPointerLevelFormat.h`.
[LV][RISCV][NFC] Add explicit LMUL controls via computeFeasibleMaxVF
Add components of maxVF and its support under scalable only
vectorization. This mode disables Fixed vectorization rather
than choosing between Scalable and Fixed. It is disabled currently
as other components need to be ported as well.
Add post-install hints for boards without distro_bootcmd (like BPi F3/Jupiter)
The default bootcmd is useless on these boards, so suggest some simple
default boot command.
[AMDGPU] Add `.amdgpu.info` section for per-function metadata
AMDGPU object linking requires the linker to propagate resource usage
(registers, stack, LDS) across translation units. To support this, the compiler
must emit per-function metadata and call graph edges in the relocatable object
so the linker can compute whole-program resource requirements.
This PR introduces a `.amdgpu.info` ELF section using a tagged, length-prefixed
binary format: each entry is encoded as:
```
[kind: u8] [len: u8] [payload: <len> bytes]
```
A function scope is opened by an `INFO_FUNC` entry (containing a symbol
reference), followed by per-function attributes (register counts, flags, private
segment size) and relational edges (direct calls, LDS uses, indirect call
signatures). String data such as function type signatures is stored in a
companion `.amdgpu.strtab` section.
[4 lines not shown]
[flang][OpenMP] Get final label from nested constructs (#192517)
Non-block DO loops can share termination statements. When parsing a
non-block DO loop, account for labels on terminating statements from
recursively parsed ExecutionPartConstructs.
Fixes https://github.com/llvm/llvm-project/issues/188892
[SSAF][WPA] Add no-op PointerFlow and UnsafeBufferUsage analysis
We need no-op PointerFlow and UnsafeBufferUsage analyses for the
analysis that depends on their summary data.
Refactored PointerFlow and UnsafeBufferUsage serialization for code
sharing.
rdar://174874942
[flang][OpenMP] Move ALLOCATE + privatize check to semantic checks (#192792)
Move the check from symbol resolution to semantic checks.
The check now seems to be more accurate, catching some cases that were
not detected before.
[clang] implement CWG2064: ignore value dependence for decltype
The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.
This patch also implements what's neceessary to allow overloading
on pure differences in instantiation dependence, making `std::void_t`
usable for SFINAE purposes.
This also readds a few test cases from da98651, which was a previous attempt
at resolving CWG2064.
Fixes #8740
Fixes #61818
Fixes #190388
[SLP][REVEC] Honor slot type when computing NumberOfParts
The getNumberOfParts() helper split VecTy without considering that a
REVEC slot is a FixedVectorType, so NumParts could fall on a non-slot
boundary.
Add an explicit ScalarTy argument, require (Sz / NumParts) to be a
multiple of getNumElements(ScalarTy), and use ScalarTy for the
hasFullVectorsOrPowerOf2 check. For non-REVEC callers ScalarSz == 1 and
behavior is unchanged.
Fixes #192963.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/193085