[all-commits] [llvm/llvm-project] 92cdaa: [compiler-rt] Don't build offload ubsan library on...

Steven Wu via All-commits all-commits at lists.llvm.org
Tue Sep 29 13:12:02 PDT 2026


  Branch: refs/heads/users/cachemeifyoucan/spr/cas-support-boot-time-on-windows-and-tolerate-a-moving-boot-time
  Home:   https://github.com/llvm/llvm-project
  Commit: 92cdaa21f4f1e0b883ed694f790c0793db96b71c
      https://github.com/llvm/llvm-project/commit/92cdaa21f4f1e0b883ed694f790c0793db96b71c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M compiler-rt/lib/ubsan/offload/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Don't build offload ubsan library on 32-bit hosts (#227424)

Summary:
Previous changes put the offload library in the main path. This caused
us to link in 64-bit specific library calls and fail int i386. Simply
restrict building this library to 64-bit hosts only.


  Commit: abf10296ea7fcb250a6cfae307df39903ddad21d
      https://github.com/llvm/llvm-project/commit/abf10296ea7fcb250a6cfae307df39903ddad21d
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir

  Log Message:
  -----------
  [NFC][AMDGPU] Add tests for SCC live into a frame index user (#225196)

Pre-commit tests for the case where SCC is live into a frame index user
and
no SGPR is free to hold the V_READFIRSTLANE_B32 result. Scavenging one
emergency-spills an SGPR, and an SGPR spill flips EXEC with S_NOT_B64,
so the
EXEC flips land between the S_CMP_EQ_U32 that defines SCC and the read
of SCC
that follows, clobbering it in between.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


  Commit: a3ea30af9f485e0561cdb91221ea1663cba82813
      https://github.com/llvm/llvm-project/commit/a3ea30af9f485e0561cdb91221ea1663cba82813
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir

  Log Message:
  -----------
  [AMDGPU] Don't spill an SGPR while SCC is live in frame index lowering (#224080)

When SCC is live into a scalar frame index user, the scaling path avoids
SALU ops that write SCC by computing the address in a VGPR and reading
it
back with V_READFIRSTLANE_B32. If the destination of that readfirstlane
is
scavenged with spilling allowed, an AMDGPU SGPR spill writes inactive
lanes, so it flips EXEC with S_NOT_B64 and clobbers SCC. Instead,
scavenge
that register with AllowSpill=false.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


  Commit: e6e7da35405a3f6d91bc6a91d8bb2bd533a94276
      https://github.com/llvm/llvm-project/commit/e6e7da35405a3f6d91bc6a91d8bb2bd533a94276
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M libc/utils/hdrgen/hdrgen/function.py
    M libc/utils/hdrgen/tests/expected_output/subdir/test.h
    M libc/utils/hdrgen/tests/input/subdir/test.yaml

  Log Message:
  -----------
  [libc][hdrgen] Improve support for function-types as function args. (#227088)

Previously entries like
```
type: int (*)(const struct type_b **, const struct type_c **)
```
ended up assuming the type should be `struct_type_b_struct_type_c`.

Fix this by splitting the type strings into components, where each
component can be a type name itself (which is the case for a complex
function types like in the example above. This was raised during the
discussion in https://github.com/llvm/llvm-project/pull/223198


  Commit: ef1e579be4898441f4b340bf7e416397cc1d8f4f
      https://github.com/llvm/llvm-project/commit/ef1e579be4898441f4b340bf7e416397cc1d8f4f
  Author: DylanFleming-arm <85629460+DylanFleming-arm at users.noreply.github.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M libc/src/__support/mathvec/CMakeLists.txt
    M libc/src/__support/mathvec/cosf.h
    M libc/src/__support/mathvec/trig_reductionf.h
    M libc/src/__support/mathvec/trig_reductionf_nofma.h
    M libc/test/UnitTest/SIMDMatcher.h
    M libc/test/src/mathvec/UnitTestWrappers.h
    M libc/test/src/mathvec/cosf_test.cpp
    M libc/test/src/mathvec/exhaustive/cosf_test.cpp
    M libc/test/src/mathvec/exhaustive/exhaustive_test.h
    M libc/test/src/mathvec/exhaustive/sinf_test.cpp
    M libc/test/src/mathvec/sinf_test.cpp

  Log Message:
  -----------
  [libc][mathvec] Vectorise cosf (#224290)

Replaces loop over scalar cosf with a fully vectorised implementation.

Replaces sinf and cosf scalar reference with a forced accurate double-eval.


  Commit: 05ec41c6f31e71d524893e37c936885516334c90
      https://github.com/llvm/llvm-project/commit/05ec41c6f31e71d524893e37c936885516334c90
  Author: David Green <david.green at arm.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:

  Log Message:
  -----------
  [ARM] Use target constant for MVE fixed fp convert constant (#227250)

If the constant already exists then we would reuse the constant in a
register instead of using an immediate, as the instruction requires. Use
a TargetConstant to make sure we generate an immediate.

Fixes #226591


  Commit: 3084a8ffb386822a584f4658d8351a24aa3d965e
      https://github.com/llvm/llvm-project/commit/3084a8ffb386822a584f4658d8351a24aa3d965e
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M llvm/docs/NewPassManager.md
    M llvm/docs/ReleaseNotes.md
    M llvm/examples/Bye/Bye.cpp
    M llvm/examples/IRTransforms/SimplifyCFG.cpp
    M llvm/include/llvm/Plugins/PassPlugin.h
    M llvm/lib/Plugins/PassPlugin.cpp
    M llvm/test/Feature/codegen-plugin-passes.mir
    M llvm/test/Feature/codegen-plugin.ll
    M llvm/test/Feature/load_extension.ll
    M llvm/tools/llc/lib/llcdriver.cpp
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/tools/opt/NewPMDriver.h
    M llvm/tools/opt/optdriver.cpp
    M polly/lib/Support/RegisterPasses.cpp

  Log Message:
  -----------
  [Plugins] Add -plugin-arg and PassPluginLibraryInfo::ParseArguments (#227414)

opt and llc load -load-pass-plugin plugins from a cl::opt callback while
parsing argv, so that the options a plugin registers are recognized
later on the command line. cl::callback is to be removed to enable
migration to a TableGen-based option representation

(https://discourse.llvm.org/t/rfc-declare-library-command-line-options-in-tablegen-one-struct-per-library/91877/5).
To prepare for loading plugins after parsing, give plugins their own
arguments.

Add `-plugin-arg=<plugin>,<arg>`, which passes <arg> (split at the first
comma, so it may contain commas) to the new
PassPluginLibraryInfo::ParseArguments callback of the plugin named
<plugin> (LLVM_PLUGIN_API_VERSION 3). Plugins that define cl::opt (Polly
and the Bye and IRTransforms examples) parse their arguments with the
new parsePassPluginCommandLine.

opt also passes -plugin-arg arguments to statically linked extensions
(Extension.def), so Polly's options have the same spelling in both build
modes:

```
opt -plugin-arg=Polly,-polly-tile-sizes=1,64 ...                                 # linked
opt -load-pass-plugin=LLVMPolly.so -plugin-arg=Polly,-polly-tile-sizes=1,64 ...  # plugin
```

opt now registers plugins and linked extensions in one loop, so
optMain's PassBuilderCallbacks run after linked extensions.

Extracted from #226773


  Commit: e76fc68fe1f02a9a55941fbe3704b3b836530c32
      https://github.com/llvm/llvm-project/commit/e76fc68fe1f02a9a55941fbe3704b3b836530c32
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
    A llvm/test/CodeGen/RISCV/jumptable-section.ll
    M llvm/test/CodeGen/RISCV/jumptable.ll

  Log Message:
  -----------
  [RISCV] Emit jumptables into text section with large code model (#227167)

The .rodata section may be far away with the large code model

Assisted-by: Claude


  Commit: 9ff7b3edb2d859938ae344937c5d96c612f12cc8
      https://github.com/llvm/llvm-project/commit/9ff7b3edb2d859938ae344937c5d96c612f12cc8
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M offload/liboffload/API/Platform.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/platform/olIteratePlatforms.cpp

  Log Message:
  -----------
  [OFFLOAD] add olIteratePlatforms (#226439)

Add a new service to iterate created Platforms. This differs from
obtaining the platforms from the existing olIterateDevices in that the
platforms are not initialized.

Assisted by Claude.


  Commit: 64182d57ff6420aecd4cc2b2984daf552942f1f4
      https://github.com/llvm/llvm-project/commit/64182d57ff6420aecd4cc2b2984daf552942f1f4
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/store-chains-shared-values.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with ineffective vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/227440


  Commit: fce53c80f985d3447963322a82ae807fd06f4094
      https://github.com/llvm/llvm-project/commit/fce53c80f985d3447963322a82ae807fd06f4094
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:

  Log Message:
  -----------
  [SLP][NFC]Add a test with ineffective vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/227440


  Commit: 98331a0a49e6d4a86d2e39ecc71025ce3b85acd9
      https://github.com/llvm/llvm-project/commit/98331a0a49e6d4a86d2e39ecc71025ce3b85acd9
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/MathToXeVM/CMakeLists.txt
    M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
    A mlir/test/Conversion/MathToXeVM/algebraic-simplification.mlir
    M mlir/test/Conversion/MathToXeVM/math-to-xevm.mlir

  Log Message:
  -----------
  [MLIR][MathToXeVM] Add Algebraic simplification patterns in MathToXeVM. (#223442)

Add Algebraic simplification patterns in MathToXeVM pass.

---------

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>


  Commit: 08d36e8388141b79783b77236041d5846bb0bc22
      https://github.com/llvm/llvm-project/commit/08d36e8388141b79783b77236041d5846bb0bc22
  Author: newgre <jannewger at gmail.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/runtime/CMakeLists.txt
    A clang/test/CodeGen/copyprof.cpp
    M clang/test/CodeGen/no-skipped-passes-O0-opt-bisect.c
    A clang/test/CodeGenCXX/copyprof-attrs-move.cpp
    A clang/test/CodeGenCXX/copyprof-attrs.cpp
    A clang/test/Driver/fcopyprof.cpp

  Log Message:
  -----------
  [CopyProf] Clang frontend and driver integration. (#225905)

This wires the existing passes and runtime up to the Clang driver so
CopyProf can actually be enabled from the command line.

Adds two flags:
- `-fcopyprof` — to enable CopyProf.
- `-fcopyprof-static-size-threshold=<N>` — minimum C++ object size in
bytes to enable instrumentation.

RFC:
https://discourse.llvm.org/t/rfc-copysanitizer-csan-detecting-unneccessary-object-copies-at-runtime/91038
Previous PR: #223458

---------

Co-authored-by: Jan Newger <jannewger at google.com>


  Commit: fbf3ce75afb9a32470c4d13ec6e5a8cf1abb023a
      https://github.com/llvm/llvm-project/commit/fbf3ce75afb9a32470c4d13ec6e5a8cf1abb023a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/store-chains-shared-values.ll

  Log Message:
  -----------
  [SLP]Vectorize the longer store groups first

A shorter store group that shares scalars with a longer one splits the
longer chain when it is vectorized first. Process the groups with more
stores first, so the shorter ones reuse their vectors.

Fixes #215998

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/227445


  Commit: 079efa261865eb52683420fa78f0a4a45752b15d
      https://github.com/llvm/llvm-project/commit/079efa261865eb52683420fa78f0a4a45752b15d
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M offload/include/PluginManager.h
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/libompaccsupport/PluginManager.cpp

  Log Message:
  -----------
  [offload][omp] Load plugins through liboffload (#226440)

Change libomptarget to load the plugins through liboffload. Because
everything else (including initialization) is still intact at this stage
we still get a GenericPluginTy reference to call the plugin interface.

Assisted by Claude.


  Commit: bc46c1ded88397cc877dc20e472d23e5bace9443
      https://github.com/llvm/llvm-project/commit/bc46c1ded88397cc877dc20e472d23e5bace9443
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/runtime/CMakeLists.txt
    A clang/test/CodeGen/copyprof.cpp
    M clang/test/CodeGen/no-skipped-passes-O0-opt-bisect.c
    A clang/test/CodeGenCXX/copyprof-attrs-move.cpp
    A clang/test/CodeGenCXX/copyprof-attrs.cpp
    A clang/test/Driver/fcopyprof.cpp
    M compiler-rt/lib/ubsan/offload/CMakeLists.txt
    M libc/src/__support/mathvec/CMakeLists.txt
    M libc/src/__support/mathvec/cosf.h
    M libc/src/__support/mathvec/trig_reductionf.h
    M libc/src/__support/mathvec/trig_reductionf_nofma.h
    M libc/test/UnitTest/SIMDMatcher.h
    M libc/test/src/mathvec/UnitTestWrappers.h
    M libc/test/src/mathvec/cosf_test.cpp
    M libc/test/src/mathvec/exhaustive/cosf_test.cpp
    M libc/test/src/mathvec/exhaustive/exhaustive_test.h
    M libc/test/src/mathvec/exhaustive/sinf_test.cpp
    M libc/test/src/mathvec/sinf_test.cpp
    M libc/utils/hdrgen/hdrgen/function.py
    M libc/utils/hdrgen/tests/expected_output/subdir/test.h
    M libc/utils/hdrgen/tests/input/subdir/test.yaml
    M llvm/docs/NewPassManager.md
    M llvm/docs/ReleaseNotes.md
    M llvm/examples/Bye/Bye.cpp
    M llvm/examples/IRTransforms/SimplifyCFG.cpp
    M llvm/include/llvm/Plugins/PassPlugin.h
    M llvm/lib/Plugins/PassPlugin.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir
    A llvm/test/CodeGen/RISCV/jumptable-section.ll
    M llvm/test/CodeGen/RISCV/jumptable.ll
    M llvm/test/Feature/codegen-plugin-passes.mir
    M llvm/test/Feature/codegen-plugin.ll
    M llvm/test/Feature/load_extension.ll
    A llvm/test/Transforms/SLPVectorizer/X86/store-chains-shared-values.ll
    M llvm/tools/llc/lib/llcdriver.cpp
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/tools/opt/NewPMDriver.h
    M llvm/tools/opt/optdriver.cpp
    M llvm/unittests/CAS/UnifiedOnDiskCacheTest.cpp
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/MathToXeVM/CMakeLists.txt
    M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
    A mlir/test/Conversion/MathToXeVM/algebraic-simplification.mlir
    M mlir/test/Conversion/MathToXeVM/math-to-xevm.mlir
    M offload/include/PluginManager.h
    M offload/liboffload/API/Platform.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/libompaccsupport/PluginManager.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/platform/olIteratePlatforms.cpp
    M polly/lib/Support/RegisterPasses.cpp

  Log Message:
  -----------
  Add missing include

Created using spr 1.3.7


Compare: https://github.com/llvm/llvm-project/compare/506212f8125b...bc46c1ded883

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