[all-commits] [llvm/llvm-project] c17347: [llvm][DebugInfo] Emit DW_OP_lit0/1 for constant b...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Sep 8 03:19:43 PDT 2025


  Branch: refs/heads/users/arsenm/ppc/use-stringref-subtarget-constructor
  Home:   https://github.com/llvm/llvm-project
  Commit: c1734763ce89ba053752482682f64fd812d25a50
      https://github.com/llvm/llvm-project/commit/c1734763ce89ba053752482682f64fd812d25a50
  Author: Laxman Sole <lsole at nvidia.com>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
    A llvm/test/DebugInfo/debug-bool-const-location.ll

  Log Message:
  -----------
  [llvm][DebugInfo] Emit DW_OP_lit0/1 for constant boolean values (#157167)

Backends like NVPTX use -1 to indicate `true` and 0 to indicate `false`
for boolean values. Machine instruction `#DBG_VALUE` also uses -1 to
indicate a `true` boolean constant.

However, during the DWARF generation, booleans are treated as unsigned
variables, and the debug_loc expression, like `DW_OP_lit0; DW_OP_not` is
emitted for the `true` value.

This leads to the debugger printing `255` instead of `true` for constant
boolean variables.

This change emits `DW_OP_lit1` instead of `DW_OP_lit0; DW_OP_not`.


  Commit: c71da7d5e0f63e7158c1260dfac034896150b669
      https://github.com/llvm/llvm-project/commit/c71da7d5e0f63e7158c1260dfac034896150b669
  Author: Julian Brown <julian.brown at amd.com>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    A offload/test/mapping/chained_containing_structs_1.cc
    A offload/test/mapping/chained_containing_structs_2.cc
    A offload/test/mapping/chained_containing_structs_3.cc

  Log Message:
  -----------
  [OpenMP] Add tests for mapping of chained 'containing' structs (#156703)

This PR adds several new tests for mapping of chained structures, i.e.
those resembling:

  #pragma omp target map(tofrom: a->b->c)

These are currently XFAILed, although the first two tests actually work
with unified memory -- I'm not sure if it's possible to easily improve
the condition on the XFAILs in question to make them more accurate.

These cases are all fixed by the WIP PR
https://github.com/llvm/llvm-project/pull/153683.


  Commit: dd0161f6025bb97f6784e0bc7e1b5849acae44dd
      https://github.com/llvm/llvm-project/commit/dd0161f6025bb97f6784e0bc7e1b5849acae44dd
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
    A llvm/test/CodeGen/AArch64/scalable_masked_interleaved_stores.ll

  Log Message:
  -----------
  [AArch64] Improve lowering for scalable masked interleaving stores (#156718)

Similar to #154338, this PR aims to support lowering of certain IR
to SVE's st2 and st4 instructions. The typical IR scenario looks
like:

%mask = .. @llvm.vector.interleave2(<vscale x 16 x i1> %m, <vscale x 16
x i1> %m)
%val = .. @llvm.vector.interleave2(<vscale x 16 x i8> %v1, <vscale x 16
x i8> %v2)
.. @llvm.masked.store.nxv32i8.p0(<vscale x 32 x i8> %val, ..., <vscale x
32 x i1> %mask)

where we're interleaving both the value and the mask being passed
to the wide store. When the mask interleave parts are identical
we can lower this to st2b.

This PR adds a DAG combine for lowering this kind of IR pattern
to st2X and st4X SVE instructions.


  Commit: 3b19717fb4ce17e450f13f1fd114c26a9682accf
      https://github.com/llvm/llvm-project/commit/3b19717fb4ce17e450f13f1fd114c26a9682accf
  Author: Amina Chabane <amina.chabane at arm.com>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/bitcast_truncstore.ll

  Log Message:
  -----------
  [AArch64] Removed redundant FMOV instruction for truncstores of f64/f32 via bitcast to i64/i32/i8. (#149997)

Previously, storing the low bits of a double, which was bitcast to i64
and truncated to i32 or i16, would emit a redundant FMOV. This patch
introduces new TableGen patterns to avoid the unnecessary FMOV. Tests
added: bitcast_truncstore.ll


  Commit: 528b13df571c86a2c5b8305d7974f135d785e30f
      https://github.com/llvm/llvm-project/commit/528b13df571c86a2c5b8305d7974f135d785e30f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-requiring-scev-predicates.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/pr34681.ll
    M llvm/test/Transforms/LoopVectorize/pr37248.ll
    M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/vplan-native-path-inner-loop-with-runtime-checks.ll

  Log Message:
  -----------
  [SCEVExp] Add helper to clean up dead instructions after expansion. (#157308)

Add new helper to erase dead instructions inserted during SCEV expansion
but not being used due to InstSimplifyFolder simplifications.

Together with https://github.com/llvm/llvm-project/pull/157307 this also
allows removing some specialized folds, e.g.
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp#L2205

PR: https://github.com/llvm/llvm-project/pull/157308


  Commit: be7094ed67526ee149ca150b9c9b1e7e724b226e
      https://github.com/llvm/llvm-project/commit/be7094ed67526ee149ca150b9c9b1e7e724b226e
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    M libcxx/include/__cxx03/locale
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] cherry-pick #126273 (#157095)


  Commit: 04518e7357b17e0802445b724377f844511a661f
      https://github.com/llvm/llvm-project/commit/04518e7357b17e0802445b724377f844511a661f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    M libcxx/include/__algorithm/make_heap.h
    M libcxx/include/__algorithm/partial_sort.h
    M libcxx/include/__algorithm/partial_sort_copy.h
    M libcxx/include/__algorithm/sift_down.h
    M libcxx/test/libcxx/algorithms/bad_iterator_traits.verify.cpp

  Log Message:
  -----------
  [libc++] Improve the performance of std::make_heap a bit (#154092)

```
Apple M4:
-----------------------------------------------------------------------------------------------------
Benchmark                                                                         old             new
-----------------------------------------------------------------------------------------------------
BM_MakeHeap_uint32_Random_1                                                  0.285 ns        0.271 ns
BM_MakeHeap_uint32_Random_4                                                   2.09 ns         1.80 ns
BM_MakeHeap_uint32_Random_16                                                  1.85 ns         1.83 ns
BM_MakeHeap_uint32_Random_64                                                  1.92 ns         1.50 ns
BM_MakeHeap_uint32_Random_256                                                 2.10 ns         1.87 ns
BM_MakeHeap_uint32_Random_1024                                                1.73 ns         1.86 ns
BM_MakeHeap_uint32_Random_16384                                               2.17 ns         2.05 ns
BM_MakeHeap_uint32_Random_262144                                              1.77 ns         1.77 ns
BM_MakeHeap_uint32_Ascending_1                                               0.288 ns        0.277 ns
BM_MakeHeap_uint32_Ascending_4                                               0.658 ns        0.481 ns
BM_MakeHeap_uint32_Ascending_16                                              0.636 ns        0.637 ns
BM_MakeHeap_uint32_Ascending_64                                              0.643 ns        0.601 ns
BM_MakeHeap_uint32_Ascending_256                                             0.710 ns        0.636 ns
BM_MakeHeap_uint32_Ascending_1024                                            0.747 ns        0.660 ns
BM_MakeHeap_uint32_Ascending_16384                                           0.713 ns        0.633 ns
BM_MakeHeap_uint32_Ascending_262144                                          0.769 ns        0.731 ns
BM_MakeHeap_uint32_Descending_1                                              0.294 ns        0.280 ns
BM_MakeHeap_uint32_Descending_4                                              0.379 ns        0.305 ns
BM_MakeHeap_uint32_Descending_16                                             0.376 ns        0.268 ns
BM_MakeHeap_uint32_Descending_64                                             0.358 ns        0.271 ns
BM_MakeHeap_uint32_Descending_256                                            0.377 ns        0.284 ns
BM_MakeHeap_uint32_Descending_1024                                           0.355 ns        0.267 ns
BM_MakeHeap_uint32_Descending_16384                                          0.348 ns        0.248 ns
BM_MakeHeap_uint32_Descending_262144                                         0.349 ns        0.247 ns
BM_MakeHeap_uint32_SingleElement_1                                           0.292 ns        0.280 ns
BM_MakeHeap_uint32_SingleElement_4                                           0.570 ns        0.332 ns
BM_MakeHeap_uint32_SingleElement_16                                          0.635 ns        0.604 ns
BM_MakeHeap_uint32_SingleElement_64                                          0.653 ns        0.567 ns
BM_MakeHeap_uint32_SingleElement_256                                         0.703 ns        0.609 ns
BM_MakeHeap_uint32_SingleElement_1024                                        0.737 ns        0.604 ns
BM_MakeHeap_uint32_SingleElement_16384                                       0.699 ns        0.574 ns
BM_MakeHeap_uint32_SingleElement_262144                                      0.803 ns        0.684 ns
BM_MakeHeap_uint32_PipeOrgan_1                                               0.291 ns        0.284 ns
BM_MakeHeap_uint32_PipeOrgan_4                                               0.588 ns        0.399 ns
BM_MakeHeap_uint32_PipeOrgan_16                                              0.648 ns         1.12 ns
BM_MakeHeap_uint32_PipeOrgan_64                                              0.662 ns        0.771 ns
BM_MakeHeap_uint32_PipeOrgan_256                                             0.723 ns        0.672 ns
BM_MakeHeap_uint32_PipeOrgan_1024                                            0.749 ns        0.674 ns
BM_MakeHeap_uint32_PipeOrgan_16384                                           0.708 ns        0.638 ns
BM_MakeHeap_uint32_PipeOrgan_262144                                          0.786 ns        0.743 ns
BM_MakeHeap_uint32_Heap_1                                                    0.298 ns        0.282 ns
BM_MakeHeap_uint32_Heap_4                                                    0.396 ns        0.308 ns
BM_MakeHeap_uint32_Heap_16                                                   0.377 ns        0.268 ns
BM_MakeHeap_uint32_Heap_64                                                   0.356 ns        0.271 ns
BM_MakeHeap_uint32_Heap_256                                                  0.378 ns        0.290 ns
BM_MakeHeap_uint32_Heap_1024                                                 0.356 ns        0.275 ns
BM_MakeHeap_uint32_Heap_16384                                                0.348 ns        0.252 ns
BM_MakeHeap_uint32_Heap_262144                                               0.347 ns        0.250 ns
BM_MakeHeap_uint32_QuickSortAdversary_1                                      0.290 ns        0.284 ns
BM_MakeHeap_uint32_QuickSortAdversary_4                                      0.627 ns        0.409 ns
BM_MakeHeap_uint32_QuickSortAdversary_16                                     0.640 ns        0.653 ns
BM_MakeHeap_uint32_QuickSortAdversary_64                                     0.577 ns        0.484 ns
BM_MakeHeap_uint32_QuickSortAdversary_256                                    0.613 ns        0.521 ns
BM_MakeHeap_uint32_QuickSortAdversary_1024                                   0.652 ns        0.514 ns
BM_MakeHeap_uint32_QuickSortAdversary_16384                                  0.428 ns        0.308 ns
BM_MakeHeap_uint32_QuickSortAdversary_262144                                 0.373 ns        0.261 ns
BM_MakeHeap_uint64_Random_1                                                  0.291 ns        0.281 ns
BM_MakeHeap_uint64_Random_4                                                   2.20 ns         1.97 ns
BM_MakeHeap_uint64_Random_16                                                  1.93 ns         1.70 ns
BM_MakeHeap_uint64_Random_64                                                  1.89 ns         1.48 ns
BM_MakeHeap_uint64_Random_256                                                 2.10 ns         1.99 ns
BM_MakeHeap_uint64_Random_1024                                                1.41 ns         2.04 ns
BM_MakeHeap_uint64_Random_16384                                               2.12 ns         1.83 ns
BM_MakeHeap_uint64_Random_262144                                              1.83 ns         1.63 ns
BM_MakeHeap_uint64_Ascending_1                                               0.288 ns        0.283 ns
BM_MakeHeap_uint64_Ascending_4                                               0.624 ns        0.493 ns
BM_MakeHeap_uint64_Ascending_16                                              0.648 ns        0.688 ns
BM_MakeHeap_uint64_Ascending_64                                              0.671 ns        0.634 ns
BM_MakeHeap_uint64_Ascending_256                                             0.739 ns        0.680 ns
BM_MakeHeap_uint64_Ascending_1024                                            0.761 ns        0.698 ns
BM_MakeHeap_uint64_Ascending_16384                                           0.740 ns        0.685 ns
BM_MakeHeap_uint64_Ascending_262144                                          0.849 ns        0.837 ns
BM_MakeHeap_uint64_Descending_1                                              0.304 ns        0.287 ns
BM_MakeHeap_uint64_Descending_4                                              0.395 ns        0.312 ns
BM_MakeHeap_uint64_Descending_16                                             0.374 ns        0.276 ns
BM_MakeHeap_uint64_Descending_64                                             0.358 ns        0.272 ns
BM_MakeHeap_uint64_Descending_256                                            0.389 ns        0.303 ns
BM_MakeHeap_uint64_Descending_1024                                           0.361 ns        0.278 ns
BM_MakeHeap_uint64_Descending_16384                                          0.352 ns        0.253 ns
BM_MakeHeap_uint64_Descending_262144                                         0.350 ns        0.251 ns
BM_MakeHeap_uint64_SingleElement_1                                           0.295 ns        0.285 ns
BM_MakeHeap_uint64_SingleElement_4                                           0.569 ns        0.358 ns
BM_MakeHeap_uint64_SingleElement_16                                          0.649 ns        0.652 ns
BM_MakeHeap_uint64_SingleElement_64                                          0.673 ns        0.565 ns
BM_MakeHeap_uint64_SingleElement_256                                         0.732 ns        0.651 ns
BM_MakeHeap_uint64_SingleElement_1024                                        0.759 ns        0.632 ns
BM_MakeHeap_uint64_SingleElement_16384                                       0.748 ns        0.614 ns
BM_MakeHeap_uint64_SingleElement_262144                                      0.947 ns        0.797 ns
BM_MakeHeap_uint64_PipeOrgan_1                                               0.295 ns        0.284 ns
BM_MakeHeap_uint64_PipeOrgan_4                                               0.601 ns        0.496 ns
BM_MakeHeap_uint64_PipeOrgan_16                                              0.655 ns         1.18 ns
BM_MakeHeap_uint64_PipeOrgan_64                                              0.682 ns        0.803 ns
BM_MakeHeap_uint64_PipeOrgan_256                                             0.759 ns        0.710 ns
BM_MakeHeap_uint64_PipeOrgan_1024                                            0.759 ns        0.713 ns
BM_MakeHeap_uint64_PipeOrgan_16384                                           0.739 ns        0.696 ns
BM_MakeHeap_uint64_PipeOrgan_262144                                          0.870 ns        0.849 ns
BM_MakeHeap_uint64_Heap_1                                                    0.290 ns        0.284 ns
BM_MakeHeap_uint64_Heap_4                                                    0.413 ns        0.314 ns
BM_MakeHeap_uint64_Heap_16                                                   0.378 ns        0.277 ns
BM_MakeHeap_uint64_Heap_64                                                   0.362 ns        0.272 ns
BM_MakeHeap_uint64_Heap_256                                                  0.389 ns        0.303 ns
BM_MakeHeap_uint64_Heap_1024                                                 0.362 ns        0.283 ns
BM_MakeHeap_uint64_Heap_16384                                                0.352 ns        0.253 ns
BM_MakeHeap_uint64_Heap_262144                                               0.350 ns        0.251 ns
BM_MakeHeap_uint64_QuickSortAdversary_1                                      0.293 ns        0.284 ns
BM_MakeHeap_uint64_QuickSortAdversary_4                                      0.606 ns        0.494 ns
BM_MakeHeap_uint64_QuickSortAdversary_16                                     0.645 ns        0.691 ns
BM_MakeHeap_uint64_QuickSortAdversary_64                                     0.607 ns        0.511 ns
BM_MakeHeap_uint64_QuickSortAdversary_256                                    0.641 ns        0.537 ns
BM_MakeHeap_uint64_QuickSortAdversary_1024                                   0.657 ns        0.529 ns
BM_MakeHeap_uint64_QuickSortAdversary_16384                                  0.435 ns        0.316 ns
BM_MakeHeap_uint64_QuickSortAdversary_262144                                 0.382 ns        0.266 ns
BM_MakeHeap_pair<uint32, uint32>_Random_1                                    0.297 ns        0.378 ns
BM_MakeHeap_pair<uint32, uint32>_Random_4                                     2.80 ns        0.765 ns
BM_MakeHeap_pair<uint32, uint32>_Random_16                                    2.92 ns         2.20 ns
BM_MakeHeap_pair<uint32, uint32>_Random_64                                    3.17 ns         3.64 ns
BM_MakeHeap_pair<uint32, uint32>_Random_256                                   3.44 ns         3.20 ns
BM_MakeHeap_pair<uint32, uint32>_Random_1024                                  3.35 ns         3.64 ns
BM_MakeHeap_pair<uint32, uint32>_Random_16384                                 3.22 ns         3.50 ns
BM_MakeHeap_pair<uint32, uint32>_Random_262144                                3.61 ns         3.46 ns
BM_MakeHeap_pair<uint32, uint32>_Ascending_1                                 0.291 ns        0.379 ns
BM_MakeHeap_pair<uint32, uint32>_Ascending_4                                 0.779 ns        0.436 ns
BM_MakeHeap_pair<uint32, uint32>_Ascending_16                                0.943 ns         1.01 ns
BM_MakeHeap_pair<uint32, uint32>_Ascending_64                                 1.17 ns         1.26 ns
BM_MakeHeap_pair<uint32, uint32>_Ascending_256                                1.38 ns         1.44 ns
BM_MakeHeap_pair<uint32, uint32>_Ascending_1024                               1.37 ns         1.43 ns
BM_MakeHeap_pair<uint32, uint32>_Ascending_16384                              1.29 ns         1.31 ns
BM_MakeHeap_pair<uint32, uint32>_Ascending_262144                             1.37 ns         1.40 ns
BM_MakeHeap_pair<uint32, uint32>_Descending_1                                0.292 ns        0.382 ns
BM_MakeHeap_pair<uint32, uint32>_Descending_4                                0.440 ns        0.347 ns
BM_MakeHeap_pair<uint32, uint32>_Descending_16                               0.529 ns        0.520 ns
BM_MakeHeap_pair<uint32, uint32>_Descending_64                               0.540 ns        0.527 ns
BM_MakeHeap_pair<uint32, uint32>_Descending_256                              0.637 ns        0.583 ns
BM_MakeHeap_pair<uint32, uint32>_Descending_1024                             0.552 ns        0.513 ns
BM_MakeHeap_pair<uint32, uint32>_Descending_16384                            0.522 ns        0.488 ns
BM_MakeHeap_pair<uint32, uint32>_Descending_262144                           0.515 ns        0.492 ns
BM_MakeHeap_pair<uint32, uint32>_SingleElement_1                             0.299 ns        0.377 ns
BM_MakeHeap_pair<uint32, uint32>_SingleElement_4                             0.787 ns        0.474 ns
BM_MakeHeap_pair<uint32, uint32>_SingleElement_16                             1.07 ns        0.921 ns
BM_MakeHeap_pair<uint32, uint32>_SingleElement_64                             1.20 ns         1.15 ns
BM_MakeHeap_pair<uint32, uint32>_SingleElement_256                            1.30 ns         1.27 ns
BM_MakeHeap_pair<uint32, uint32>_SingleElement_1024                           1.30 ns         1.31 ns
BM_MakeHeap_pair<uint32, uint32>_SingleElement_16384                          1.29 ns         1.28 ns
BM_MakeHeap_pair<uint32, uint32>_SingleElement_262144                         1.37 ns         1.38 ns
BM_MakeHeap_pair<uint32, uint32>_PipeOrgan_1                                 0.293 ns        0.385 ns
BM_MakeHeap_pair<uint32, uint32>_PipeOrgan_4                                 0.677 ns        0.438 ns
BM_MakeHeap_pair<uint32, uint32>_PipeOrgan_16                                 1.04 ns         1.00 ns
BM_MakeHeap_pair<uint32, uint32>_PipeOrgan_64                                 1.20 ns         1.27 ns
BM_MakeHeap_pair<uint32, uint32>_PipeOrgan_256                                1.40 ns         1.43 ns
BM_MakeHeap_pair<uint32, uint32>_PipeOrgan_1024                               1.36 ns         1.43 ns
BM_MakeHeap_pair<uint32, uint32>_PipeOrgan_16384                              1.27 ns         1.31 ns
BM_MakeHeap_pair<uint32, uint32>_PipeOrgan_262144                             1.37 ns         1.41 ns
BM_MakeHeap_pair<uint32, uint32>_Heap_1                                      0.292 ns        0.378 ns
BM_MakeHeap_pair<uint32, uint32>_Heap_4                                      0.440 ns        0.380 ns
BM_MakeHeap_pair<uint32, uint32>_Heap_16                                     0.560 ns        0.606 ns
BM_MakeHeap_pair<uint32, uint32>_Heap_64                                     0.588 ns        0.573 ns
BM_MakeHeap_pair<uint32, uint32>_Heap_256                                    0.632 ns        0.607 ns
BM_MakeHeap_pair<uint32, uint32>_Heap_1024                                   0.598 ns        0.580 ns
BM_MakeHeap_pair<uint32, uint32>_Heap_16384                                  0.576 ns        0.563 ns
BM_MakeHeap_pair<uint32, uint32>_Heap_262144                                 0.572 ns        0.561 ns
BM_MakeHeap_pair<uint32, uint32>_QuickSortAdversary_1                        0.304 ns        0.379 ns
BM_MakeHeap_pair<uint32, uint32>_QuickSortAdversary_4                        0.823 ns        0.430 ns
BM_MakeHeap_pair<uint32, uint32>_QuickSortAdversary_16                        1.08 ns         1.03 ns
BM_MakeHeap_pair<uint32, uint32>_QuickSortAdversary_64                        1.18 ns         1.23 ns
BM_MakeHeap_pair<uint32, uint32>_QuickSortAdversary_256                       1.39 ns         1.43 ns
BM_MakeHeap_pair<uint32, uint32>_QuickSortAdversary_1024                      1.36 ns         1.42 ns
BM_MakeHeap_pair<uint32, uint32>_QuickSortAdversary_16384                     1.28 ns         1.32 ns
BM_MakeHeap_pair<uint32, uint32>_QuickSortAdversary_262144                    1.34 ns         1.37 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Random_1                           0.276 ns        0.511 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Random_4                            4.25 ns         1.96 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Random_16                           4.84 ns         3.77 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Random_64                           5.53 ns         4.93 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Random_256                          5.30 ns         5.06 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Random_1024                         5.29 ns         5.02 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Random_16384                        5.53 ns         5.31 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Random_262144                       5.49 ns         5.29 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Ascending_1                        0.275 ns        0.443 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Ascending_4                         1.22 ns        0.764 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Ascending_16                        1.39 ns         1.49 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Ascending_64                        1.66 ns         1.76 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Ascending_256                       1.85 ns         1.99 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Ascending_1024                      1.90 ns         2.02 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Ascending_16384                     2.15 ns         2.27 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Ascending_262144                    2.25 ns         2.37 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Descending_1                       0.274 ns        0.445 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Descending_4                       0.939 ns        0.520 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Descending_16                       1.02 ns        0.811 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Descending_64                       1.01 ns        0.941 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Descending_256                      1.03 ns         1.01 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Descending_1024                    0.969 ns        0.947 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Descending_16384                   0.882 ns        0.876 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Descending_262144                  0.893 ns        0.871 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_SingleElement_1                    0.276 ns        0.443 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_SingleElement_4                     1.34 ns        0.870 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_SingleElement_16                    1.60 ns         1.59 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_SingleElement_64                    1.91 ns         2.00 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_SingleElement_256                   1.91 ns         2.08 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_SingleElement_1024                  1.91 ns         2.10 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_SingleElement_16384                 2.13 ns         2.35 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_SingleElement_262144                2.25 ns         2.48 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_PipeOrgan_1                        0.275 ns        0.446 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_PipeOrgan_4                         1.07 ns        0.671 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_PipeOrgan_16                        1.36 ns         1.44 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_PipeOrgan_64                        1.70 ns         1.80 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_PipeOrgan_256                       1.88 ns         2.05 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_PipeOrgan_1024                      1.92 ns         2.06 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_PipeOrgan_16384                     2.11 ns         2.26 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_PipeOrgan_262144                    2.18 ns         2.34 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Heap_1                             0.274 ns        0.441 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Heap_4                             0.938 ns        0.587 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Heap_16                             1.01 ns        0.873 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Heap_64                             1.08 ns         1.00 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Heap_256                            1.21 ns         1.18 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Heap_1024                           1.37 ns         1.29 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Heap_16384                          1.31 ns         1.26 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_Heap_262144                         1.29 ns         1.25 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_QuickSortAdversary_1               0.275 ns        0.447 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_QuickSortAdversary_4                1.22 ns        0.764 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_QuickSortAdversary_16               1.35 ns         1.46 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_QuickSortAdversary_64               1.63 ns         1.73 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_QuickSortAdversary_256              1.83 ns         1.87 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_QuickSortAdversary_1024             1.81 ns         1.94 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_QuickSortAdversary_16384            2.06 ns         2.19 ns
BM_MakeHeap_tuple<uint32, uint64, uint32>_QuickSortAdversary_262144           2.14 ns         2.31 ns
BM_MakeHeap_string_Random_1                                                  0.289 ns        0.446 ns
BM_MakeHeap_string_Random_4                                                   7.43 ns         4.84 ns
BM_MakeHeap_string_Random_16                                                  9.73 ns         8.92 ns
BM_MakeHeap_string_Random_64                                                  11.5 ns         11.5 ns
BM_MakeHeap_string_Random_256                                                 12.6 ns         12.4 ns
BM_MakeHeap_string_Random_1024                                                13.2 ns         13.2 ns
BM_MakeHeap_string_Random_16384                                               15.4 ns         15.4 ns
BM_MakeHeap_string_Random_262144                                              21.4 ns         21.5 ns
BM_MakeHeap_string_Ascending_1                                               0.287 ns        0.447 ns
BM_MakeHeap_string_Ascending_4                                                3.22 ns         2.44 ns
BM_MakeHeap_string_Ascending_16                                               3.77 ns         3.62 ns
BM_MakeHeap_string_Ascending_64                                               4.84 ns         5.17 ns
BM_MakeHeap_string_Ascending_256                                              5.79 ns         6.04 ns
BM_MakeHeap_string_Ascending_1024                                             5.93 ns         6.60 ns
BM_MakeHeap_string_Ascending_16384                                            6.84 ns         7.25 ns
BM_MakeHeap_string_Ascending_262144                                           13.5 ns         14.3 ns
BM_MakeHeap_string_Descending_1                                              0.293 ns        0.447 ns
BM_MakeHeap_string_Descending_4                                               2.61 ns         1.83 ns
BM_MakeHeap_string_Descending_16                                              2.64 ns         2.60 ns
BM_MakeHeap_string_Descending_64                                              2.75 ns         2.74 ns
BM_MakeHeap_string_Descending_256                                             3.78 ns         3.57 ns
BM_MakeHeap_string_Descending_1024                                            3.20 ns         3.51 ns
BM_MakeHeap_string_Descending_16384                                           3.57 ns         3.85 ns
BM_MakeHeap_string_Descending_262144                                          6.27 ns         6.39 ns
BM_MakeHeap_string_SingleElement_1                                           0.291 ns        0.448 ns
BM_MakeHeap_string_SingleElement_4                                            3.88 ns         2.71 ns
BM_MakeHeap_string_SingleElement_16                                           5.08 ns         4.96 ns
BM_MakeHeap_string_SingleElement_64                                           6.14 ns         6.29 ns
BM_MakeHeap_string_SingleElement_256                                          6.13 ns         6.46 ns
BM_MakeHeap_string_SingleElement_1024                                         5.98 ns         6.60 ns
BM_MakeHeap_string_SingleElement_16384                                        5.88 ns         6.39 ns
BM_MakeHeap_string_SingleElement_262144                                       9.95 ns         10.2 ns
BM_MakeHeap_string_PipeOrgan_1                                               0.292 ns        0.447 ns
BM_MakeHeap_string_PipeOrgan_4                                                2.97 ns         2.51 ns
BM_MakeHeap_string_PipeOrgan_16                                               3.76 ns         3.91 ns
BM_MakeHeap_string_PipeOrgan_64                                               4.89 ns         5.20 ns
BM_MakeHeap_string_PipeOrgan_256                                              5.77 ns         6.09 ns
BM_MakeHeap_string_PipeOrgan_1024                                             6.14 ns         6.40 ns
BM_MakeHeap_string_PipeOrgan_16384                                            6.83 ns         7.32 ns
BM_MakeHeap_string_PipeOrgan_262144                                           13.8 ns         14.6 ns
BM_MakeHeap_string_Heap_1                                                    0.288 ns        0.515 ns
BM_MakeHeap_string_Heap_4                                                     3.62 ns         4.20 ns
BM_MakeHeap_string_Heap_16                                                    5.36 ns         5.23 ns
BM_MakeHeap_string_Heap_64                                                    5.79 ns         5.38 ns
BM_MakeHeap_string_Heap_256                                                   5.70 ns         5.40 ns
BM_MakeHeap_string_Heap_1024                                                  5.78 ns         5.37 ns
BM_MakeHeap_string_Heap_16384                                                 6.09 ns         5.67 ns
BM_MakeHeap_string_Heap_262144                                                6.37 ns         5.96 ns
BM_MakeHeap_string_QuickSortAdversary_1                                      0.282 ns        0.448 ns
BM_MakeHeap_string_QuickSortAdversary_4                                       7.45 ns         5.60 ns
BM_MakeHeap_string_QuickSortAdversary_16                                      9.76 ns         8.85 ns
BM_MakeHeap_string_QuickSortAdversary_64                                      11.5 ns         11.2 ns
BM_MakeHeap_string_QuickSortAdversary_256                                     12.0 ns         11.8 ns
BM_MakeHeap_string_QuickSortAdversary_1024                                    12.2 ns         12.0 ns
BM_MakeHeap_string_QuickSortAdversary_16384                                   13.7 ns         13.6 ns
BM_MakeHeap_string_QuickSortAdversary_262144                                  14.1 ns         14.8 ns
BM_MakeHeap_float_Random_1                                                   0.287 ns        0.287 ns
BM_MakeHeap_float_Random_4                                                    2.29 ns         2.60 ns
BM_MakeHeap_float_Random_16                                                   4.00 ns         2.48 ns
BM_MakeHeap_float_Random_64                                                   4.41 ns         1.92 ns
BM_MakeHeap_float_Random_256                                                  4.73 ns         2.05 ns
BM_MakeHeap_float_Random_1024                                                 4.90 ns         2.27 ns
BM_MakeHeap_float_Random_16384                                                4.42 ns         2.27 ns
BM_MakeHeap_float_Random_262144                                               4.72 ns         1.39 ns
BM_MakeHeap_float_Ascending_1                                                0.291 ns        0.293 ns
BM_MakeHeap_float_Ascending_4                                                0.633 ns        0.428 ns
BM_MakeHeap_float_Ascending_16                                               0.638 ns        0.874 ns
BM_MakeHeap_float_Ascending_64                                               0.614 ns        0.698 ns
BM_MakeHeap_float_Ascending_256                                              0.663 ns        0.713 ns
BM_MakeHeap_float_Ascending_1024                                             0.660 ns        0.761 ns
BM_MakeHeap_float_Ascending_16384                                            0.628 ns        0.725 ns
BM_MakeHeap_float_Ascending_262144                                           0.629 ns        0.814 ns
BM_MakeHeap_float_Descending_1                                               0.290 ns        0.290 ns
BM_MakeHeap_float_Descending_4                                               0.421 ns        0.316 ns
BM_MakeHeap_float_Descending_16                                              0.302 ns        0.225 ns
BM_MakeHeap_float_Descending_64                                              0.293 ns        0.212 ns
BM_MakeHeap_float_Descending_256                                             0.314 ns        0.246 ns
BM_MakeHeap_float_Descending_1024                                            0.300 ns        0.231 ns
BM_MakeHeap_float_Descending_16384                                           0.308 ns        0.205 ns
BM_MakeHeap_float_Descending_262144                                          0.309 ns        0.203 ns
BM_MakeHeap_float_SingleElement_1                                            0.289 ns        0.292 ns
BM_MakeHeap_float_SingleElement_4                                            0.569 ns        0.347 ns
BM_MakeHeap_float_SingleElement_16                                           0.538 ns        0.825 ns
BM_MakeHeap_float_SingleElement_64                                           0.585 ns        0.727 ns
BM_MakeHeap_float_SingleElement_256                                          0.603 ns        0.708 ns
BM_MakeHeap_float_SingleElement_1024                                         0.618 ns        0.760 ns
BM_MakeHeap_float_SingleElement_16384                                        0.599 ns        0.726 ns
BM_MakeHeap_float_SingleElement_262144                                       0.723 ns        0.820 ns
BM_MakeHeap_float_PipeOrgan_1                                                0.289 ns        0.291 ns
BM_MakeHeap_float_PipeOrgan_4                                                0.457 ns        0.420 ns
BM_MakeHeap_float_PipeOrgan_16                                               0.670 ns         1.32 ns
BM_MakeHeap_float_PipeOrgan_64                                               0.764 ns        0.889 ns
BM_MakeHeap_float_PipeOrgan_256                                              0.793 ns        0.757 ns
BM_MakeHeap_float_PipeOrgan_1024                                             0.755 ns        0.764 ns
BM_MakeHeap_float_PipeOrgan_16384                                            0.723 ns        0.723 ns
BM_MakeHeap_float_PipeOrgan_262144                                           0.654 ns        0.817 ns
BM_MakeHeap_float_Heap_1                                                     0.291 ns        0.289 ns
BM_MakeHeap_float_Heap_4                                                     0.388 ns        0.316 ns
BM_MakeHeap_float_Heap_16                                                    0.317 ns        0.225 ns
BM_MakeHeap_float_Heap_64                                                    0.353 ns        0.213 ns
BM_MakeHeap_float_Heap_256                                                   0.361 ns        0.246 ns
BM_MakeHeap_float_Heap_1024                                                  0.381 ns        0.233 ns
BM_MakeHeap_float_Heap_16384                                                 0.390 ns        0.205 ns
BM_MakeHeap_float_Heap_262144                                                0.379 ns        0.202 ns
BM_MakeHeap_float_QuickSortAdversary_1                                       0.295 ns        0.289 ns
BM_MakeHeap_float_QuickSortAdversary_4                                       0.640 ns        0.422 ns
BM_MakeHeap_float_QuickSortAdversary_16                                      0.658 ns        0.871 ns
BM_MakeHeap_float_QuickSortAdversary_64                                      0.574 ns        0.659 ns
BM_MakeHeap_float_QuickSortAdversary_256                                     0.631 ns        0.550 ns
BM_MakeHeap_float_QuickSortAdversary_1024                                    0.617 ns        0.552 ns
BM_MakeHeap_float_QuickSortAdversary_16384                                   0.424 ns        0.283 ns
BM_MakeHeap_float_QuickSortAdversary_262144                                  0.386 ns        0.219 ns
```

Fixes #120752


  Commit: a103b9b207f67e0afbaf41647a56a4cb716414c6
      https://github.com/llvm/llvm-project/commit/a103b9b207f67e0afbaf41647a56a4cb716414c6
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    M flang/include/flang/Lower/HlfirIntrinsics.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-result-length.f90
    A flang/test/Lower/array-elemental-calls-char-dynamic.f90
    M flang/test/Lower/array-elemental-calls-char.f90

  Log Message:
  -----------
  [flang][lowering] fix vector subscripts in character elemental procedures (#156661)

Fixes https://github.com/llvm/llvm-project/issues/145151

Character elemental procedures require evaluating the result
specification expression outside of the elemental loops when the
function result length is not a constant. This is needed so that the
array result storage can be allocated before the evaluation if a storage
is needed.

Because the result specification expression may depend on inquires about
the dummy argument (but not usages of values thanks to F2023 C15121),
some representation of the dummy must be created. Since this is an
elemental call, this requires providing an element, and not the whole
array actual argument (we only care about the properties of such element
it does not matter which element is being used).

The previous code was creating the element with a type cast from the
base array, but this did not work with vector subscripted arrays where
the lowering representation is more complex. This caused a compiler
assert to fire.

Switch the code to only copy the properties that can be inquired from
the actual argument to the mock dummy (length parameters, dynamic type
and presence). A mock one address is used instead of addressing the
actual argument before the loop (one is used instead of NULL so that
presence inquiry will work as expected for OPTIONAL arguments).


  Commit: 761b56e08e2258a626604148385b25e8fb4f19b2
      https://github.com/llvm/llvm-project/commit/761b56e08e2258a626604148385b25e8fb4f19b2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.h

  Log Message:
  -----------
  PPC: Remove TargetTriple from PPCSubtarget (#157404)

This already exists in the base class.


  Commit: 8e006fc1d144357a6c52344dfcd07bf44aa7ab1f
      https://github.com/llvm/llvm-project/commit/8e006fc1d144357a6c52344dfcd07bf44aa7ab1f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-09-08 (Mon, 08 Sep 2025)

  Changed paths:
    M flang/include/flang/Lower/HlfirIntrinsics.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-result-length.f90
    A flang/test/Lower/array-elemental-calls-char-dynamic.f90
    M flang/test/Lower/array-elemental-calls-char.f90
    M libcxx/include/__algorithm/make_heap.h
    M libcxx/include/__algorithm/partial_sort.h
    M libcxx/include/__algorithm/partial_sort_copy.h
    M libcxx/include/__algorithm/sift_down.h
    M libcxx/include/__cxx03/locale
    M libcxx/test/libcxx/algorithms/bad_iterator_traits.verify.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.pass.cpp
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/CodeGen/AArch64/bitcast_truncstore.ll
    A llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
    A llvm/test/CodeGen/AArch64/scalable_masked_interleaved_stores.ll
    A llvm/test/DebugInfo/debug-bool-const-location.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-requiring-scev-predicates.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/pr34681.ll
    M llvm/test/Transforms/LoopVectorize/pr37248.ll
    M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/vplan-native-path-inner-loop-with-runtime-checks.ll
    A offload/test/mapping/chained_containing_structs_1.cc
    A offload/test/mapping/chained_containing_structs_2.cc
    A offload/test/mapping/chained_containing_structs_3.cc

  Log Message:
  -----------
  Merge branch 'main' into users/arsenm/ppc/use-stringref-subtarget-constructor


Compare: https://github.com/llvm/llvm-project/compare/ac19605eb9b3...8e006fc1d144

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