[RISCV] Support 'f' Inline Assembly Constraint for bfloat16 (#184566)
This patch is to add 'f' and 'cf' Inline Assembly Constraint for the `bfloat16` type, so they are passed in the floating point registers.
[ELF] Add target-specific relocation scanning for RISC-V (#181332)
Implement RISCV::scanSectionImpl, following the pattern established
for x86 (#178846) and AArch64 (#181099). This merges the getRelExpr
and TLS handling for SHF_ALLOC sections into the target-specific
scanner, enabling devirtualization and eliminating abstraction
overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle TLS IE and GD directly (RISC-V does not optimize GD/LD/IE).
- Replace TLS-optimization-specific expressions for TLSDESC, following
the x86 pattern: R_RELAX_TLS_GD_TO_IE -> R_GOT_PC,
R_RELAX_TLS_GD_TO_LE -> R_TPREL. Update relocateAlloc and relax()
to dispatch on relocation type instead of RelExpr for TLSDESC.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and preprocessRelocs.
[4 lines not shown]
[RISCV] Add register overlap checks to the assembler for vector indexed segment load (#184569)
The destination vector register group cannot overlap the source vector
register group for vector indexed segment load. This patch is to add
register overlap checks to the assembler.
[clang][deps] Store `IgnoreCWD` on `ModuleDeps` (#184921)
This aligns us with downstream, where we need to be able to query
whether a module depends on CWD or not.
[RISCV] Remove outdated TODO in isExtractSubvectorCheap (#184938)
Index 0 is already handled by an early return, so the TODO comment about
extracting index 0 from a mask vector is no longer needed.
[ELF] handleTlsGd: support disabling GD-to-IE/LE optimization. NFC (#184934)
Use this in ARM::scanSectionImpl for R_ARM_TLS_GD32 and the upcoming
RISC-V change.
[MLIR][ACC] Fix -Wunused-variable in dfe7738
There was a variable only used in an assertion which causes warnings in
non-assertions builds. Fix the issue by inlining the variable into the
assertion given it is only used in one place.
[Clang][NFC] Apply Rule of Three to AttrScopedAttrEquivalenceContext (#184905)
Static analysis flagged AttrScopedAttrEquivalenceContext as having a
user defined destructor but not having copy ctor or copy assignment. I
set them as deleted since they are not needed.