LLVM/project f2342e8llvm/lib/Target/Sparc SparcISelLowering.cpp, llvm/test/CodeGen/SPARC bswap.ll

[SPARC] Don't combine misaligned memory ops with BSWAP (#206345)

Doing it will result in a misaligned LD*A/ST*A instruction, which will
raise a bus error.

This should fix the failure in `clamscan` test.
DeltaFile
+405-0llvm/test/CodeGen/SPARC/bswap.ll
+14-7llvm/lib/Target/Sparc/SparcISelLowering.cpp
+419-72 files

LLVM/project 50f9437clang/include/clang/Analysis/Analyses/LifetimeSafety Loans.h Facts.h, clang/lib/Analysis/LifetimeSafety LoanPropagation.cpp Facts.cpp

[LifetimeSafety] Support field-sensitivity in lifetime tracking

This patch enables field-sensitivity when tracking lifetimes of nested objects.

- FactsGenerator now generates `PathElement::getField` for `MemberExpr` accesses, mapping fields to loans.
- LoanPropagation now propagates field paths along flow facts, appending fields to base loans.
- Removes false-positive warnings in `invalidations.cpp` where modifications to one field were incorrectly reported as invalidating iterators/pointers to another field.
- Adds comprehensive unit tests checking nested field access and placeholder fields.

TAG=agy
CONV=2cfd8d00-18d7-4a03-8d78-2aba2f9a8f23
DeltaFile
+106-36clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
+72-30clang/unittests/Analysis/LifetimeSafetyTest.cpp
+82-8clang/test/Sema/LifetimeSafety/invalidations.cpp
+29-0clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
+15-11clang/lib/Analysis/LifetimeSafety/Facts.cpp
+24-0clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
+328-854 files not shown
+362-9310 files

LLVM/project 4bb5603llvm/include/llvm/MC MCSubtargetInfo.h, llvm/lib/CodeGen TargetSubtargetInfo.cpp

[spr] changes to main this commit is based on

Created using spr 1.3.8-wip

[skip ci]
DeltaFile
+20-14llvm/utils/TableGen/SubtargetEmitter.cpp
+8-8llvm/lib/MC/MCSubtargetInfo.cpp
+6-6llvm/include/llvm/MC/MCSubtargetInfo.h
+6-5llvm/lib/CodeGen/TargetSubtargetInfo.cpp
+3-2llvm/unittests/CodeGen/MFCommon.inc
+2-2llvm/utils/TableGen/Common/CodeGenSchedule.h
+45-374 files not shown
+51-4110 files

LLVM/project 251e8c6llvm/include/llvm/CodeGen TargetSubtargetInfo.h, llvm/include/llvm/MC MCSubtargetInfo.h

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+60-73llvm/utils/TableGen/SubtargetEmitter.cpp
+19-14llvm/include/llvm/MC/MCSubtargetInfo.h
+13-15llvm/lib/MC/MCSubtargetInfo.cpp
+7-6llvm/lib/CodeGen/TargetSubtargetInfo.cpp
+6-5llvm/unittests/CodeGen/MFCommon.inc
+4-2llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
+109-1154 files not shown
+118-12310 files

LLVM/project f7ca48eclang/test/CodeGen attr-counted-by.c attr-counted-by-with-sanitizers.c, llvm/test/CodeGen/PowerPC abdu.ll abdu-neg.ll

rebase

Created using spr 1.3.8-wip
DeltaFile
+0-2,755clang/test/CodeGen/attr-counted-by.c
+1,736-0clang/test/CodeGen/attr-counted-by-with-sanitizers.c
+1,387-0clang/test/CodeGen/attr-counted-by-without-sanitizers.c
+992-0llvm/test/CodeGen/PowerPC/abdu.ll
+910-0llvm/test/CodeGen/PowerPC/abdu-neg.ll
+247-506llvm/test/CodeGen/X86/haddsub-undef.ll
+5,272-3,261635 files not shown
+20,610-10,086641 files

LLVM/project 871cf98clang/lib/Analysis/LifetimeSafety Checker.cpp MovedLoans.cpp

[LifetimeSafety][NFC] Update Checker to use prefix comparison interfaces

This patch switches the Checker's expiry and invalidation checks to use `AccessPath::isPrefixOf` instead of equality (`==`).

Since all generated access paths are currently empty, `isPrefixOf` is behaviorally identical to `==` (NFC). This prepares the checker to handle nested paths (fields and container interiors) in subsequent commits.

TAG=agy
CONV=2cfd8d00-18d7-4a03-8d78-2aba2f9a8f23
DeltaFile
+3-3clang/lib/Analysis/LifetimeSafety/Checker.cpp
+1-1clang/lib/Analysis/LifetimeSafety/MovedLoans.cpp
+4-42 files

LLVM/project 750abfbclang/include/clang/Analysis/Analyses/LifetimeSafety Loans.h, clang/lib/Analysis/LifetimeSafety Loans.cpp Checker.cpp

[LifetimeSafety][NFC] Refactor AccessPath and Loan representations

This patch refactors the internal representations of `AccessPath` and `Loan` to support path elements, preparing for field-sensitive and interior-sensitive lifetime tracking.

- Introduces `PathElement` representing a field or interior dereference.
- Refactors `AccessPath` to contain a base and a list of `PathElement`s.
- Updates `Loan` and `LoanManager` to use the new `AccessPath` structure.
- Refactors debug dump formatting to output path elements if present.
- Updates Checker and FactsGenerator to compile with the new interfaces, keeping logic behaviorally identical (NFC).

TAG=agy
CONV=2cfd8d00-18d7-4a03-8d78-2aba2f9a8f23
DeltaFile
+144-67clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
+45-21clang/lib/Analysis/LifetimeSafety/Loans.cpp
+17-10clang/lib/Analysis/LifetimeSafety/Checker.cpp
+6-5clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+212-1034 files

LLVM/project 4fb7bf3clang/include/clang/Analysis/Analyses/LifetimeSafety LoanPropagation.h, clang/lib/Analysis/LifetimeSafety LoanPropagation.cpp Facts.cpp

[LifetimeSafety] Add multi-block support to buildOriginFlowChain (#204592)

After introducing `buildOriginFlowChain` to use-after-scope diagnostics,
it should support multi-block analysis. This also allows it to be reused
by other diagnostics.

In some loops, `UseFact` may appear before `OriginFlowFact`:

```cpp
void for_loop_use_before_loop_body(MyObj safe) {
  MyObj* p = &safe;
  for (int i = 0; i < 1; ++i) {
    (void)*p;
    MyObj s;
    p = &s;
  }
  (void)*p;
}
```

    [6 lines not shown]
DeltaFile
+149-11clang/test/Sema/LifetimeSafety/safety.cpp
+97-43clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
+56-10clang/unittests/Analysis/LifetimeSafetyTest.cpp
+12-7clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
+8-6clang/lib/Analysis/LifetimeSafety/Facts.cpp
+4-2clang/lib/Analysis/LifetimeSafety/Checker.cpp
+326-792 files not shown
+330-808 files

LLVM/project f26f3e6clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp, clang/test/CodeGen/AArch64 v8.5a-neon-frint3264-intrinsic.c neon-intrinsics.c

[clang][CIR] Add lowering for Neon rounding builtins (#195021)

This PR adds CIR lowering for AArch64 NEON rounding builtins:

- vrnd (trunc), vrnda (round), vrndi (nearbyint), vrndm (floor),
  vrndn (roundeven), vrndp (ceil), vrndx (rint)
- vrnd32x, vrnd32z, vrnd64x, vrnd64z (v8.5-a FRINT variants)

The standard rounding builtins lower to the corresponding CIR ops
(cir.trunc, cir.round, etc.). The vrndi_v/vrndiq_v cases are handled
in the common NEON switch since they enter via AArch64SIMDIntrinsicMap
(NEONMAP0). The vrnd32/64 builtins use NEONMAP1 entries with their
aarch64.neon.frint* intrinsic names.

The lowering follows the existing implementation in
CodeGen/TargetBuiltins/ARM.cpp.

Prior to this patch, the original neon-intrinsics.c had zero f32
standard rounding tests :

    [6 lines not shown]
DeltaFile
+473-0clang/test/CodeGen/AArch64/neon/intrinsics.c
+132-0clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
+1-129clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
+0-99clang/test/CodeGen/AArch64/neon-intrinsics.c
+66-23clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+672-2515 files

LLVM/project a8b40e8llvm/test/tools/llubi intr_experimental_vector.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Implement experimental vector intrinsics (#206899)

This PR implements experimental vector intrinsics.
DeltaFile
+247-0llvm/tools/llubi/lib/Interpreter.cpp
+141-0llvm/test/tools/llubi/intr_experimental_vector.ll
+388-02 files

LLVM/project 37f7fc7clang/test/Driver riscv-arch.c, llvm/lib/Target/RISCV/MCTargetDesc RISCVMCTargetDesc.cpp

[RISC-V][RVY] Initial ISAInfo support for RVY

RVY is a new base ISA, so the syntax to enable it is rv32y/rv64y.
Since the compressed instructions reuse the space for Zcf (RV32) and
Zcd (RV64), those are marked as incompatible and the logic for C/Zce
is updated as part of this PR.
RVY can also extend RVE instead of RVY (as is done for CHERIoT), but the
official arch string syntax for that has not been finalized yet.
Related discussion on that includes the "long base name" proposal:
https://lists.riscv.org/g/tech-unprivileged/message/1134

Reviewers: topperc, lenary, jrtc27

Pull Request: https://github.com/llvm/llvm-project/pull/201931
DeltaFile
+245-12llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
+60-14llvm/lib/TargetParser/RISCVISAInfo.cpp
+35-0llvm/test/MC/RISCV/rvy-build-attributes.s
+33-0llvm/test/MC/RISCV/rvy-invalid-attributes.s
+18-11llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
+4-4clang/test/Driver/riscv-arch.c
+395-412 files not shown
+397-438 files

LLVM/project 758f039llvm/lib/Transforms/Vectorize LoopVectorize.cpp VPlan.cpp

[VPlan] Move consecutive vector pointer construction to VPBuilder (NFC). (#207563)

Introduce VPBuilder::createConsecutiveVectorPointer to create vector
pointers for consecutive accesses. This enables re-use in follow-up
changes.
DeltaFile
+3-22llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+21-0llvm/lib/Transforms/Vectorize/VPlan.cpp
+7-0llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+31-223 files

LLVM/project c4714e4clang/lib/Format Format.cpp, clang/unittests/Format ConfigParseTest.cpp

[clang-format] Fix BlockIndent compat mapping of AlignAfterOpenBracket (#207187)

be11e2b3d25 (#192283) replaced the `[[fallthrough]]` chain in the
`AlignAfterOpenBracket` backward-compatibility switch with explicit
per-case assignments. In the `BAS_BlockIndent` case the
`BreakBeforeCloseBracket{BracedList,Function,If} = true` assignments are
immediately overwritten with `false`, and
`BreakAfterOpenBracket{BracedList,Function,If}` (previously inherited
from the `BAS_AlwaysBreak` case via fallthrough) are never set. As a
result, `AlignAfterOpenBracket: BlockIndent` parses to the same flag set
as `Align`, silently dropping the block-indent style for existing
configurations.

Restore the pre-#192283 mapping and pin the full BlockIndent flag
mapping in ConfigParseTest so the compat shim cannot regress silently
again.

Fixes #207186.

Note for the release branch: if #205920 (backport of #192283 to
release/22.x) lands, this fix needs to be backported together with it.
DeltaFile
+22-0clang/unittests/Format/ConfigParseTest.cpp
+5-5clang/lib/Format/Format.cpp
+27-52 files

LLVM/project b0a64cflibcxx/docs/Status Cxx26Issues.csv, libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions pointer_to.pass.cpp

[libc++] Mark LWG3454 as resolved (#207487)

Closes https://github.com/llvm/llvm-project/issues/171307.

LWG3454 has been implemented in
https://github.com/llvm/llvm-project/commit/98d3d5b5da66e3cf7807c23a0294280bb796466b.
DeltaFile
+10-3libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
+1-1libcxx/docs/Status/Cxx26Issues.csv
+11-42 files

LLVM/project 5d13ff1llvm/include/llvm/MC MCSubtargetInfo.h, llvm/test/TableGen MacroFusion.td

[MC] Generate FeatureKV with compact string table (#206331)

FeatureKV is responsible for a fair amount of .data.rel.ro size and
relocations; in an all-target build, this amounts to ~139 kiB that need
to be touched on every startup. Therefore, store strings adjacent to the
SubtargetFeatureKV in memory and reference the strings via relative
offsets to avoid dynamic relocations.
DeltaFile
+66-38llvm/utils/TableGen/SubtargetEmitter.cpp
+18-9llvm/include/llvm/MC/MCSubtargetInfo.h
+0-7llvm/test/TableGen/MacroFusion.td
+84-543 files

LLVM/project 55669acllvm/include/llvm/Support GenericDomTreeConstruction.h

[Support][NFC] Use single predecessor array in DomTreeConstr (#207535)

Storing many small vectors of predecessors is bad for performance, as
each of these has to be non-trivially initialized when growing the
NodeInfos vector. Therefore, store all predecessors in a separate
vector, in which predecessors form a linked list.
DeltaFile
+12-4llvm/include/llvm/Support/GenericDomTreeConstruction.h
+12-41 files

LLVM/project 5ec0eeelibc/src/__support frac128.h

[libc] Fix buildbot failure for bigint (#207534)

Fixes the buildbot failure in
https://github.com/llvm/llvm-project/pull/206277 by adding the missing
initialization
DeltaFile
+1-1libc/src/__support/frac128.h
+1-11 files

LLVM/project 2112641llvm/lib/Support UnicodeNameToCodepointGenerated.cpp, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

[spr] changes introduced through rebase

Created using spr 1.3.8-wip

[skip ci]
DeltaFile
+24,053-23,916llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+19,967-19,033llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+13,779-6,871llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-sve-instructions.s
+10,260-9,388llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
+6,927-5,721llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+5,374-4,577llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+80,360-69,5064,377 files not shown
+366,873-196,6634,383 files

LLVM/project 3aec6a4llvm/include/llvm/Support FormatVariadicDetails.h FormatAdapters.h, llvm/unittests/Support FormatVariadicTest.cpp

[Support] Remove virtual functions from formatv (#207516)

Currently, formatv erases types using a base class and calls the virtual
function format() to format the objects. To avoid these vtables,
refactor formatv to instead store function_refs to a functor (struct
with overloaded operator()). This saves ~5kiB in vtables.

Additionally, add a static assertion that a formatter is present instead
of relying on errors due to missing templates. This requires a little
change to MLIR's tgfmt to use a different name -- previously, the
substitution failure on ArrayRef<> would cause the variadic function to
be skipped, but a static assertion failure is not a substitution error.

Also, simplify the code in FormatVariadicDetails to use if constexpr
instead of template overloads with enable_if, making the code shorter
and easier to read.
DeltaFile
+47-122llvm/include/llvm/Support/FormatVariadicDetails.h
+19-13llvm/unittests/Support/FormatVariadicTest.cpp
+12-13mlir/include/mlir/TableGen/Format.h
+11-14llvm/include/llvm/Support/FormatAdapters.h
+4-18llvm/include/llvm/Support/FormatProviders.h
+9-11llvm/include/llvm/Support/FormatVariadic.h
+102-1919 files not shown
+127-22015 files

LLVM/project 6b3433allvm/include/llvm/MC MCInstrInfo.h, llvm/lib/MC MCInstrInfo.cpp

[MC][NFC] Generate ComplexDeprecationInfos as function (#207496)

The only user of ComplexDeprecationInfos is ARM, where 19 instructions
are deprecated. Instead of emitting a ~36kiB function pointer table,
emit a single 201B (x86-64) function switching over the opcodes.
DeltaFile
+12-16llvm/utils/TableGen/InstrInfoEmitter.cpp
+4-5llvm/include/llvm/MC/MCInstrInfo.h
+3-2llvm/lib/MC/MCInstrInfo.cpp
+19-233 files

LLVM/project f33eb91llvm/lib/Target/AMDGPU AMDGPURemoveIncompatibleFunctions.cpp

[AMDGPU][NFC] Remove direct access to FeatureKV (#206231)

This is preparatory work for changing the representation of
FeatureKV/SubTypeKV, in which they will no longer be that easily
accessible as global variables. Therefore, get them from the subtarget
instead.
DeltaFile
+13-16llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
+13-161 files

LLVM/project b5936a0llvm/lib/Target/AMDGPU SISchedule.td GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU wmma-hazards-gfx1250-w32.mir wmma-coexecution-valu-hazards.mir

[AMDGPU] Fix gfx1250 WMMA latencies

- 16x16x64 FP8/BF8 WMMA run in 4 cycles, not 8. Add a 4-cycle
  WriteXDL1PassWMMA write and split the FP8/BF8 InstRW by shape so that
  16x16x128 FP8/BF8 (and F16/BF16) keep the 8-cycle latency.
- f8f6f4 WMMA run in 4 cycles when both matrix inputs are f4 and 8 cycles
  when any input is f6 or f8, instead of the previous 8/16. Update the
  scheduling predicate accordingly.

The co-execution hazard category is derived from the WMMA latency. The
4-cycle WMMAs have a single co-execution slot, so give them their own
category (2 wait states before a dependent WMMA, 1 before a dependent VALU)
rather than bucketing them with the 8-cycle WMMAs.
DeltaFile
+0-117llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
+0-67llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
+66-0llvm/test/tools/llvm-mca/AMDGPU/gfx1250-wmma-cycles.s
+17-10llvm/lib/Target/AMDGPU/SISchedule.td
+14-8llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+0-4llvm/test/CodeGen/AMDGPU/misched-into-wmma-hazard-shadow.mir
+97-2066 files

LLVM/project da70bd9llvm/lib/Passes PassBuilder.cpp PassRegistry.def

pass registry

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Passes/PassBuilder.cpp
+1-0llvm/lib/Passes/PassRegistry.def
+2-02 files

LLVM/project 16802f5llvm/include/llvm/Analysis StaticDataProfileInfo.h, llvm/lib/Analysis StaticDataProfileInfo.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+28-0llvm/include/llvm/Analysis/StaticDataProfileInfo.h
+15-3llvm/lib/Target/X86/X86AsmPrinter.cpp
+15-2llvm/lib/Analysis/StaticDataProfileInfo.cpp
+1-1llvm/lib/Target/X86/X86AsmPrinter.h
+59-64 files

LLVM/project 1f07a60llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/PhaseOrdering/X86 avg.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+88-304llvm/test/Transforms/PhaseOrdering/X86/avg.ll
+37-40llvm/test/Transforms/SLPVectorizer/AArch64/long-non-power-of-2.ll
+36-17llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+15-18llvm/test/Transforms/SLPVectorizer/X86/recalc-copyable-operand-deps-shared-inst.ll
+3-9llvm/test/Transforms/SLPVectorizer/X86/commutable-node-with-non-sched-parent.ll
+2-9llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-subvectors-insert.ll
+181-3977 files not shown
+196-42213 files

LLVM/project 7f449d3llvm/test/Transforms/SLPVectorizer/X86 resched.ll

[SLP][NFC]Remove undef from the test, cleanup, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/207545
DeltaFile
+31-32llvm/test/Transforms/SLPVectorizer/X86/resched.ll
+31-321 files

LLVM/project c98a157llvm/test/Transforms/SLPVectorizer/X86 debug-info-salvage.ll

[SLP][NFC]Update test to avoid instructions folding, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/207544
DeltaFile
+49-22llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll
+49-221 files

LLVM/project af22063clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp Checker.cpp, clang/test/Sema/LifetimeSafety invalidations.cpp

[LifetimeSafety] Support container interior paths and invalidations

This patch completes the implementation of path-sensitive lifetime tracking by supporting container interior paths (`.*`) and deep-nested invalidation.

- Enables `PathElement::getInterior` generation in `FactsGenerator` for GSL Owners and Views (e.g. member functions, function parameters, lambda captures).
- Removes bypass checks in `FactsGenerator::handleInvalidatingCall` to track container invalidation on fields.
- Updates `Checker` to use strict prefix comparison (`isStrictPrefixOf`) for container invalidations, ensuring invalidation of container contents (interior) correctly invalidates iterators but not other sibling fields.
- Reorganizes tests in `invalidations.cpp` by resolving duplicates and distributing them logically.
- Updates unit tests and sema tests with correct expectations for interior paths.

TAG=agy
CONV=2cfd8d00-18d7-4a03-8d78-2aba2f9a8f23
DeltaFile
+223-65clang/test/Sema/LifetimeSafety/invalidations.cpp
+109-67clang/unittests/Analysis/LifetimeSafetyTest.cpp
+31-12clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+9-2clang/lib/Analysis/LifetimeSafety/Checker.cpp
+6-3clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
+378-1495 files

LLVM/project 52d55b0clang/include/clang/Analysis/Analyses/LifetimeSafety Loans.h Facts.h, clang/lib/Analysis/LifetimeSafety LoanPropagation.cpp Loans.cpp

[LifetimeSafety] Support field-sensitivity in lifetime tracking

This patch enables field-sensitivity when tracking lifetimes of nested objects.

- FactsGenerator now generates `PathElement::getField` for `MemberExpr` accesses, mapping fields to loans.
- LoanPropagation now propagates field paths along flow facts, appending fields to base loans.
- Removes false-positive warnings in `invalidations.cpp` where modifications to one field were incorrectly reported as invalidating iterators/pointers to another field.
- Adds comprehensive unit tests checking nested field access and placeholder fields.

TAG=agy
CONV=2cfd8d00-18d7-4a03-8d78-2aba2f9a8f23
DeltaFile
+74-35clang/unittests/Analysis/LifetimeSafetyTest.cpp
+82-8clang/test/Sema/LifetimeSafety/invalidations.cpp
+70-14clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
+32-0clang/lib/Analysis/LifetimeSafety/Loans.cpp
+31-0clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
+24-0clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
+313-573 files not shown
+348-659 files

LLVM/project eaa3389llvm/test/Transforms/LoopVectorize/VPlan/AArch64 vplan-memory-op-decisions.ll

[VPlan] Add additional memory decision tests. (NFC) (#207537)

Add extra tests showing additional cases where no VPlan-based decisions
are made yet.
DeltaFile
+186-1llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll
+186-11 files