[all-commits] [llvm/llvm-project] c93bad: [mlir][wasmssa] Fix if/else round-trip and verify ...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Sat Oct 3 23:39:27 PDT 2026
Branch: refs/heads/users/vitalybuka/spr/main.nfctsan-check-no-locks-are-held-in-entersymbolizer
Home: https://github.com/llvm/llvm-project
Commit: c93bad65aa654f507ea768610d003c42ba31ab7b
https://github.com/llvm/llvm-project/commit/c93bad65aa654f507ea768610d003c42ba31ab7b
Author: Saqib Khan <saqibkhan at utexas.edu>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
M mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
M mlir/test/Dialect/WasmSSA/custom_parser/if.mlir
A mlir/test/Dialect/WasmSSA/return-invalid.mlir
M mlir/test/Target/Wasm/if.mlir
Log Message:
-----------
[mlir][wasmssa] Fix if/else round-trip and verify return types (#227828)
Fixes two WasmSSA dialect bugs:
**#226072: `wasmssa.if` does not round-trip.** The else region was
printed with `printKeywordOrString("else ")`. Because of the trailing
space, `"else "` is not a valid bare keyword, so it was printed as a
quoted string (`} "else "{`), which `parseElseRegion` does not accept.
The else keyword is now printed directly, giving `} else {`.
**#226073: `wasmssa.return` is not checked against the function's
results.** `wasmssa.return` had no verifier, so a function could return
a different number or type of values than its signature declares. This
adds a `ReturnOp` verifier that checks the operands against the
enclosing `wasmssa.func`. Checking in the return op rather than in
`FuncOp::verifyBody` also covers returns nested inside
`block`/`loop`/`if` regions.
Tests:
- `custom_parser/if.mlir` expected the broken `"else "` output; it now
expects `} else {` and gains a second RUN line piping through `mlir-opt`
again to check the round trip. Its `@func_0` returned `f32` from an
`i32` function, which the new verifier rejects, so the signature is now
`-> f32`.
- `Target/Wasm/if.mlir` also expected the quoted `"else "` and is
updated. The Wasm importer's output passes the new verifier.
- New `return-invalid.mlir` covers type mismatch, too few / too many
operands, and a mismatched return inside a nested `if` region.
`llvm-lit mlir/test/Dialect/WasmSSA mlir/test/Target/Wasm
mlir/test/Conversion/RaiseWasm`: 112/112 pass. The new and updated
dialect tests fail without the fix.
Assisted-by: Claude Code (Claude Opus 5.5)
Co-authored-by: Ferdinand Lemaire <flscminecraft at gmail.com>
Commit: 7634546c4af456d0e026a9e3a661282a50e5211b
https://github.com/llvm/llvm-project/commit/7634546c4af456d0e026a9e3a661282a50e5211b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Support nodelete on constructors and destructors (#218822)
Commit: 72b39c854fd7f9fd008bf14df4ce2c98b0ea364d
https://github.com/llvm/llvm-project/commit/72b39c854fd7f9fd008bf14df4ce2c98b0ea364d
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M libclc/test/work-item/get_group_id.cl
Log Message:
-----------
Wyles/update libclctests (#228681)
Using libclc with different versions of clang emit different output.
computeConstantRange now pushes ranges through zext and sext so we now
can prove noundef. This test returns AMDGPU workgroup ID which is zero
extended, so we can now prove it needs noundef.
At some point we may need to update the CI targets to look at libclc?
Commit: 4d807b161f802800617703cdf885ef8f5707a912
https://github.com/llvm/llvm-project/commit/4d807b161f802800617703cdf885ef8f5707a912
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[orc-rt] enabling CI (#226088)
For now we only build this as a stand alone project.
Co-authored-by: Lang Hames <lhames at gmail.com>
Commit: 61ab63550e48c9f2e50aa2d5261ee8a5fe319c72
https://github.com/llvm/llvm-project/commit/61ab63550e48c9f2e50aa2d5261ee8a5fe319c72
Author: Douglas <Douglas.Gliner at sony.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[clang][Driver] Prevent Safe Stack runtime from linking if enabled then disabled (#228537)
Currently:
```
$ ./clang -fsanitize=safe-stack -fno-sanitize=safe-stack -Wl,--trace -x c++ -o- - < /dev/null
...
.../libclang_rt.safestack.a
...
```
See https://godbolt.org/z/e63za9sjn
With this change, `libclang_rt.safestack.a` is not included when Safe
Stack is disabled as the last option. This is because `Kinds` is the
final resolved set of sanitizers after removals via `-fno-sanitize`.
`AllAddedKinds` is the set of all sanitizers which were seen at least
once even if they were removed. This change makes it so we check against
`Kinds` instead of `AllAddedKinds`.
Besides Safe Stack, there are quite a few options resolved and passed to
the driver unintentionally when using particular combinations of
`-fsanitize` and `-fno-sanitize`. This is filed as
https://github.com/llvm/llvm-project/issues/228529.
Should fix https://github.com/llvm/llvm-project/issues/107763.
Commit: 140515f43372ac94179223953e39d8e57259ba92
https://github.com/llvm/llvm-project/commit/140515f43372ac94179223953e39d8e57259ba92
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Support nodelete on constructors and destructors (#218822)
This PR adds the support for specifying nodelete annotation on C++
constructors and destructors. To do this, we recognize
[[clang::annotate("webkit.nodelete")]] on function declarations instead
of [[clang::annotate_type("webkit.nodelete")]] on the return value.
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Commit: d5349560d53694d0ee6fea65627748aba4c76574
https://github.com/llvm/llvm-project/commit/d5349560d53694d0ee6fea65627748aba4c76574
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Driver/sanitizer-ld.c
M libclc/test/work-item/get_group_id.cl
M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
M mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
M mlir/test/Dialect/WasmSSA/custom_parser/if.mlir
A mlir/test/Dialect/WasmSSA/return-invalid.mlir
M mlir/test/Target/Wasm/if.mlir
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.7
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/6b38839ddc63...d5349560d536
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