[all-commits] [llvm/llvm-project] 4fb7bf: [LifetimeSafety] Add multi-block support to buildO...

Alexis Engelke via All-commits all-commits at lists.llvm.org
Sun Jul 5 08:30:46 PDT 2026


  Branch: refs/heads/users/aengelke/spr/main.mcnfc-store-subtypekv-names-as-string-table
  Home:   https://github.com/llvm/llvm-project
  Commit: 4fb7bf3323ea54d929f3846e6cd28d9dda1b891c
      https://github.com/llvm/llvm-project/commit/4fb7bf3323ea54d929f3846e6cd28d9dda1b891c
  Author: Yuan Suo <suoyuan666 at s5n.xyz>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/test/Sema/LifetimeSafety/safety-c.c
    M clang/test/Sema/LifetimeSafety/safety.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp

  Log Message:
  -----------
  [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;
}
```

So I no longer use `StartPoint` as the initial search starting point; it
is only used to locate the corresponding block.

---------

Signed-off-by: Yuan Suo <suoyuan666 at s5n.xyz>


  Commit: f2342e84e66c015a43437620f825fe884c8bdd4e
      https://github.com/llvm/llvm-project/commit/f2342e84e66c015a43437620f825fe884c8bdd4e
  Author: Koakuma <koachan at protonmail.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/test/CodeGen/SPARC/bswap.ll

  Log Message:
  -----------
  [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.


  Commit: d832bfe3c99ac8251258b5a965d4418db503e38c
      https://github.com/llvm/llvm-project/commit/d832bfe3c99ac8251258b5a965d4418db503e38c
  Author: Lucas Mellone <github.snugness349 at passinbox.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv

  Log Message:
  -----------
  [libc++] Mark LWG4098 as resolved (#206295)

Already implemented and tested in the scope of the full implementation
for `adjacent_view` (1e15dbe311eb08462e7a68fcb8b5850632e24aff).

Closes #105353


  Commit: 9a858b68628a37a36d82b076425c1e5ce902cb6f
      https://github.com/llvm/llvm-project/commit/9a858b68628a37a36d82b076425c1e5ce902cb6f
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp

  Log Message:
  -----------
  [DirectX] Fix format override in DXILPrettyPrinter.cpp (#207588)


  Commit: ecbadb43064ad4f9dbc5bf8c1e232ce3582779f7
      https://github.com/llvm/llvm-project/commit/ecbadb43064ad4f9dbc5bf8c1e232ce3582779f7
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/subtraction.c

  Log Message:
  -----------
  [CIR][AArch64] Upstream narrowing-subtraction NEON builtins (#207115)

Related to https://github.com/llvm/llvm-project/issues/185382

CIR lowering for
- narrowing-subtraction intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#narrowing-subtraction)

Port tests:
- `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/subtraction.c`


  Commit: 67d9abb916acc2b501ae08297de95c22e99d7218
      https://github.com/llvm/llvm-project/commit/67d9abb916acc2b501ae08297de95c22e99d7218
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h

  Log Message:
  -----------
  [GenericDomTreeConstruction] Use 0-based DFS numbering (#207524)

Number DFS-visited nodes from 0 and drop the unused index-0 sentinel
from NumToNode/NumToInfo/IDoms.

`Unvisited = 0` marks unvisited nodes by DFS. 0 is now the DFS root, or
the virtual root for postdominators.

Decrease the inline capacity for NumToNode/NodeInfos, which doesn't seem
to matter. sqlite3's p90 block count is 29.


  Commit: 2ac46a3b86ba92408f6503986f518da6cbd1d224
      https://github.com/llvm/llvm-project/commit/2ac46a3b86ba92408f6503986f518da6cbd1d224
  Author: David Green <david.green at arm.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/arith.ll
    M llvm/test/Analysis/CostModel/AArch64/mul.ll

  Log Message:
  -----------
  [AArch64] Update some arith and mul tests. NFC (#207589)


  Commit: bfca639ab943b4b2e16178797ebb01c84675ee65
      https://github.com/llvm/llvm-project/commit/bfca639ab943b4b2e16178797ebb01c84675ee65
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/MC/MCSubtargetInfo.h
    M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
    M llvm/lib/MC/MCSubtargetInfo.cpp
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/CodeGen/MachineOperandTest.cpp
    M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.h
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [CodeGen][NFC] Store CPU model index in SubTypeKV (#207351)

Instead of storing the pointer to the CPU model, store all CPU models in
an array and store the index. This is preliminary work for moving
SubTypeKV to .rodata.

NB: the scheduling models also take a fair amount of space in
.data.rel.ro, with SchedModels ~13kiB, ModelProcResources ~57kiB.


  Commit: 4dd2c56211fc5d807d39e36c69065ec2dbba0aa4
      https://github.com/llvm/llvm-project/commit/4dd2c56211fc5d807d39e36c69065ec2dbba0aa4
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/subtraction.c
    M clang/test/Sema/LifetimeSafety/safety-c.c
    M clang/test/Sema/LifetimeSafety/safety.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp
    M libcxx/docs/Status/Cxx26Issues.csv
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/test/Analysis/CostModel/AArch64/arith.ll
    M llvm/test/Analysis/CostModel/AArch64/mul.ll
    M llvm/test/CodeGen/SPARC/bswap.ll

  Log Message:
  -----------
  [spr] changes introduced through rebase

Created using spr 1.3.8-wip

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/4bb56039d6eb...4dd2c56211fc

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list