[all-commits] [llvm/llvm-project] 5a7341: [NFC][libc++][TZDB] Improves some internals. (#84800)

Vitaly Buka via All-commits all-commits at lists.llvm.org
Wed Mar 27 13:42:17 PDT 2024


  Branch: refs/heads/users/vitalybuka/spr/hwasan-dont-instrument-loads-from-global-if-globals-are-not-tagged
  Home:   https://github.com/llvm/llvm-project
  Commit: 5a7341a7ae29be80be944b73419eba4017826cd1
      https://github.com/llvm/llvm-project/commit/5a7341a7ae29be80be944b73419eba4017826cd1
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/src/include/tzdb/tzdb_list_private.h
    M libcxx/src/tzdb_list.cpp

  Log Message:
  -----------
  [NFC][libc++][TZDB] Improves some internals. (#84800)

Removes some unneeded overloads in the pimpl class; they implementation
could be in the caller.
The pimpl member functions are __uglified.


  Commit: 52431fdb1ab8d29be078edd55250e06381e4b6b0
      https://github.com/llvm/llvm-project/commit/52431fdb1ab8d29be078edd55250e06381e4b6b0
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll

  Log Message:
  -----------
  [WebAssembly] Remove threwValue comparison after __wasm_setjmp_test (#86633)

Currently the code thinks a `longjmp` occurred if both `__THREW__` and
`__threwValue` are nonzero. But `__threwValue` can be 0, and the
`longjmp` library function should change it to 1 in case it is 0:
https://en.cppreference.com/w/c/program/longjmp

Emscripten libraries were not consistent about that, but after
https://github.com/emscripten-core/emscripten/pull/21493 and
https://github.com/emscripten-core/emscripten/pull/21502, we correctly
pass 1 in case the input is 0. So there will be no case `__threwValue`
is 0. And regardless of what `longjmp` library function does, treating
`longjmp`'s 0 input to its second argument as "not longjmping" doesn't
seem right.

I'm not sure where that `__threwValue` checking came from, but probably
I was porting then fastcomp's implementation and moved this part just
verbatim:
https://github.com/emscripten-core/emscripten-fastcomp/blob/9bdc7bb4fc595fe05a021b06fe350e8494a741a1/lib/Target/JSBackend/CallHandlers.h#L274-L278

Just for the context, how this was discovered:
https://github.com/emscripten-core/emscripten/pull/21502#pullrequestreview-1942160300


  Commit: 2598aa67c8fa733455af1b9738f257653ee6322b
      https://github.com/llvm/llvm-project/commit/2598aa67c8fa733455af1b9738f257653ee6322b
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-error.ll

  Log Message:
  -----------
  [CSSPGO] Reject high checksum mismatched profile (#84097)

Error out the build if the checksum mismatch is extremely high, it's
better to drop the profile rather than apply the bad profile.
Note that the check is on a module level, the user could make big
changes to functions in one single module but those changes might not be
performance significant to the whole binary, so we want to be
conservative, only expect to catch big perf regression. To do this, we
select a set of the "hot" functions for the check. We use two
parameter(`hot-func-cutoff-for-staleness-error` and
`min-functions-for-staleness-error`) to control the function selection
to make sure the selected are hot enough and the num of function is not
small.
Tuned the parameters on our internal services, it works to catch big
perf regression due to the high mismatch .


  Commit: f1ac559534788f8dd42191b60dfdf9cc56b39fd4
      https://github.com/llvm/llvm-project/commit/f1ac559534788f8dd42191b60dfdf9cc56b39fd4
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tsd.h

  Log Message:
  -----------
  Revert "[scudo] Use getMonotonicTimeFast for tryLock." (#86590)

This reverts commit 36ca9a29025a2f678096e9545fa2ec44e8432592.

We were using the `time` as the seed while choosing a new TSD. To make
the access of TSDs evenly distributed, we require a higher precision in
`time`. Otherwise, many threads may result in having the same random
access pattern on TSDs because they share the same `time` in certain
period. On Linux, CLOCK_MONOTONIC_COARSE usually adopts 4 ms precision.
This is way higher than the average accessing time of TSD (which is
usually less than 1 us). As a result, when multiple threads try to
select a new TSD in a 4 ms interval, they share the same `time` seed and
end up choosing and congesting on the same TSD.


  Commit: 36e74cfdbde208e384c72bcb52ea638303fb7d67
      https://github.com/llvm/llvm-project/commit/36e74cfdbde208e384c72bcb52ea638303fb7d67
  Author: David Green <david.green at arm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    A llvm/test/CodeGen/AArch64/peephole-movd.mir

  Log Message:
  -----------
  [AArch64] Clear kill flags when removing FMOVDr. (#86308)

The uses of OldDef/NewDef may not be killed in the same place they
previously were after they are replaced, and so need to be cleared.


  Commit: 2329fb29d141bc356e4b5b859ab290b02f0b3cf6
      https://github.com/llvm/llvm-project/commit/2329fb29d141bc356e4b5b859ab290b02f0b3cf6
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl

  Log Message:
  -----------
  [HLSL] enforce unsigned types for reversebits (#86720)

fixes #86719
- `SemaChecking.cpp` - Adds unsigned semaChecks to
`__builtin_elementwise_bitreverse`
- `hlsl_intrinsics.h` - remove signed `reversebits` apis


  Commit: 2d641858fa44db315a42fa1b5ba43540f1ca1ea4
      https://github.com/llvm/llvm-project/commit/2d641858fa44db315a42fa1b5ba43540f1ca1ea4
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    A llvm/test/Transforms/Inline/update_invoke_prof.ll
    A llvm/test/Transforms/Inline/update_value_profile.ll

  Log Message:
  -----------
  [nfc][PGO]Factor out profile scaling into a standalone helper function (#83780)

- Put the helper function in `ProfDataUtil.h/cpp`, which is already a
dependency of `Instructions.cpp`
- The helper function could be re-used to update profiles of
`InvokeInst` (in a follow-up pull request)


  Commit: e36ec2f40c7ea998dd11a485b01c32f50b7bf738
      https://github.com/llvm/llvm-project/commit/e36ec2f40c7ea998dd11a485b01c32f50b7bf738
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A clang/test/C/C99/digraphs.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to digraphs/iso646


  Commit: dd06b8e679fd28f51cd065401062041a40b87f9c
      https://github.com/llvm/llvm-project/commit/dd06b8e679fd28f51cd065401062041a40b87f9c
  Author: rayroudc <rayroudc at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Fix anonymous reference parameter with default value (#86254)

When enabling alignment of consecutive declarations and reference right
alignment, the needed space between `& ` and ` = ` is removed in the
following use case.

Problem (does not compile)
```
int    a(const Test    &= Test());
double b();
```

Expected:
```
int    a(const Test & = Test());
double b();
```

Test command:

```
echo "int    a(const Test& = Test()); double b();" | clang-format -style="{AlignConsecutiveDeclarations: true, ReferenceAlignment: Right}"
```


  Commit: 421085fd740d937559db068c0a1b354b033aca63
      https://github.com/llvm/llvm-project/commit/421085fd740d937559db068c0a1b354b033aca63
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/test/Driver/linker-wrapper-image.c
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp

  Log Message:
  -----------
  [Offload] Change unregister library to use `atexit` instead of destructor (#86830)

Summary:
The 'new driver' sets up the lifetime of a registered liftime using
global constructors and destructors. Currently, this is put at priority
1 which isn't strictly conformant as it will conflict with system
utilities. We now use 101 as this is the loweest suggested for
non-system constructors and will still run before user constructors.

Secondly, there were issues with the CUDA runtime when destructed with a
global destructor. Because the global ones are in any order and
potentially run before other things we were hitting an edge case where
the OpenMP runtime was uninitialized *after* `_dl_fini` was called. This
would result in us erroring when we call into a destroyed `libcuda.so`
instance. using `atexit` is what CUDA / HIP use and it prevents this
from happening. Most everything uses `atexit` except system utilities
and because of the constructor priority it will be unregistered *after*
everything else but not after `_fl_fini`.


  Commit: ed68aac9f225ce560a89315c30f1e97e7e035a03
      https://github.com/llvm/llvm-project/commit/ed68aac9f225ce560a89315c30f1e97e7e035a03
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Libomptarget] Move API implementations into GenericPluginTy (#86683)

Summary:
The plan is to remove the entire plugin interface and simply use the
`GenericPluginTy` inside of `libomptarget` by statically linking against
it. This means that inside of `libomptarget` we will simply do
`Plugin.data_alloc` without the dynamically loaded interface. To reduce
the amount of code required, this patch simply moves all of the RTL
implementation functions inside of the Generic device. Now the
`__tgt_rtl_` interface is simply a shallow wrapper that will soon go
away. There is some redundancy here, this will be improved later. For
now what is important is minimizing the changes to the API.


  Commit: 6ef829941b38f7e8a28c4cba1ff25cd0ae9f7d3d
      https://github.com/llvm/llvm-project/commit/6ef829941b38f7e8a28c4cba1ff25cd0ae9f7d3d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll

  Log Message:
  -----------
  Recommit "[VPlan] Replace disjoint or with add instead of dropping disjoint. (#83821)"

Recommit with a fix for the use-after-free causing the revert.
This reverts the revert commit f872043e055f4163c3c4b1b86ca0354490174987.

Original commit message:

Dropping disjoint from an OR may yield incorrect results, as some
analysis may have converted it to an Add implicitly (e.g. SCEV used for
dependence analysis). Instead, replace it with an equivalent Add.

This is possible as all users of the disjoint OR only access lanes where
the operands are disjoint or poison otherwise.

Note that replacing all disjoint ORs with ADDs instead of dropping the
flags is not strictly necessary. It is only needed for disjoint ORs that
SCEV treated as ADDs, but those are not tracked.

There are other places that may drop poison-generating flags; those
likely need similar treatment.

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

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


  Commit: c2bdbedf1c2326cb3b38cedf0ee46413d86e2e2c
      https://github.com/llvm/llvm-project/commit/c2bdbedf1c2326cb3b38cedf0ee46413d86e2e2c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++][NFC] Remove whitespace that doesn't belong


  Commit: aeb8628c218f8224e08dddcdd3199a445d8607a8
      https://github.com/llvm/llvm-project/commit/aeb8628c218f8224e08dddcdd3199a445d8607a8
  Author: Neumann Hon <neumann.hon at ibm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/unittests/Object/GOFFObjectFileTest.cpp

  Log Message:
  -----------
  Revert "[SystemZ][z/OS] TXT records in the GOFF reader (#74526)"

This reverts commit 009f88fc0e3a036be97ef7b222b90af342bae0b7.

Reverting PR due to test failure.


  Commit: baf66ec061aa4da85d6bdfd1f9cd1030b9607fbb
      https://github.com/llvm/llvm-project/commit/baf66ec061aa4da85d6bdfd1f9cd1030b9607fbb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/TableGen/ConcatenatedSubregs.td
    A llvm/test/TableGen/HwModeSubRegs.td
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [Target][RISCV] Add HwMode support to subregister index size/offset. (#86368)

This is needed to provide proper size and offset for the GPRPair subreg
indices on RISC-V. The size of a GPR already uses HwMode. Previously we
said the subreg indices have unknown size and offset, but this stops
DwarfExpression::addMachineReg from being able to find the registers
that make up the pair.

I believe this fixes https://github.com/llvm/llvm-project/issues/85864
but need to verify.


  Commit: 10bd55566a01c63d9e4f46da5a4e671684aa7fc5
      https://github.com/llvm/llvm-project/commit/10bd55566a01c63d9e4f46da5a4e671684aa7fc5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td

  Log Message:
  -----------
  [RISCV] Model vd as a src for some Zvk* instructions in MC layer. (#86710)

Some Zvk instructions use vd as a source regardless of tail policy.
Model this in the MC layer. We already do this for FMA for example.


  Commit: d9a685a9dd589486e882b722e513ee7b8c84870c
      https://github.com/llvm/llvm-project/commit/d9a685a9dd589486e882b722e513ee7b8c84870c
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  [CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers  (#86721)

To authenticate pointers, CodeGen needs access to the key and
discriminators that were used to sign the pointer. That information is
sometimes known from the context, but not always, which is why `Address`
needs to hold that information.

This patch adds methods and data members to `Address`, which will be
needed in subsequent patches to authenticate signed pointers, and uses
the newly added methods throughout CodeGen. Although this patch isn't
strictly NFC as it causes CodeGen to use different code paths in some
cases (e.g., `mergeAddressesInConditionalExpr`), it doesn't cause any
changes in functionality as it doesn't add any information needed for
authentication.

In addition to the changes mentioned above, this patch introduces class
`RawAddress`, which contains a pointer that we know is unsigned, and
adds several new functions for creating `Address` and `LValue` objects.

This reapplies 8bd1f9116aab879183f34707e6d21c7051d083b6. The commit
broke msan bots because LValue::IsKnownNonNull was uninitialized.


  Commit: cd17082b24079a31eff0057abe407da5cfb7b0fc
      https://github.com/llvm/llvm-project/commit/cd17082b24079a31eff0057abe407da5cfb7b0fc
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/docs/math/index.rst

  Log Message:
  -----------
  [libc][math][c23] Add remaining linux/* entrypoints for {,u}fromfp{,x}* (#86692)


  Commit: 4a5056be2e38bdf27125a41f3f1b7ae4233f9713
      https://github.com/llvm/llvm-project/commit/4a5056be2e38bdf27125a41f3f1b7ae4233f9713
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [Libomptarget][NFC] Remove trivially true checks on function pointers (#86804)

Summary:
Previously we had an interface that checked these functions pointers to
see if they are implemented by the plugin. This was removed as currently
every single function is implemented as a part of the common interface.
These checks are now always true and do nothing.


  Commit: 685d7855acb28f89aa948e0056d2807bf30d3971
      https://github.com/llvm/llvm-project/commit/685d7855acb28f89aa948e0056d2807bf30d3971
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp

  Log Message:
  -----------
  Fix the -Wmissing-designated-field-initializers on the clang-ppc64le-rhel bot


  Commit: abc270ae00cd991bf1b2125e880b9eb73d8d6727
      https://github.com/llvm/llvm-project/commit/abc270ae00cd991bf1b2125e880b9eb73d8d6727
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  Finish revert "[SystemZ][z/OS] TXT records in the GOFF reader (#74526)"

This finishes the revert started in
aeb8628c218f8224e08dddcdd3199a445d8607a8 which didn't completely back
out the original patch.


  Commit: 0d7ea50d20414e2da3019c45a0a3de804167fa47
      https://github.com/llvm/llvm-project/commit/0d7ea50d20414e2da3019c45a0a3de804167fa47
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/pr86717.ll

  Log Message:
  -----------
  [AArch64] Pre-commit test for #86717. NFC


  Commit: acab142751d3498c6d0aa63253dc1c9f3f83f268
      https://github.com/llvm/llvm-project/commit/acab142751d3498c6d0aa63253dc1c9f3f83f268
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/test/CodeGen/AArch64/pr86717.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/X86/2009-06-05-VariableIndexInsert.ll
    M llvm/test/CodeGen/X86/insertelement-var-index.ll

  Log Message:
  -----------
  [LegalizeDAG] Freeze index when converting insert_elt/insert_subvector to load/store on stack.

We try clamp the index to be within the bounds of the stack object
we create, but if we don't freeze it, poison can propagate into the
clamp code. This can cause the access to leave the bounds of the
stack object.

We have other instances of this issue in type legalization and extract_elt/subvector,
but posting this patch first for direction check.

Fixes #86717


  Commit: 4d4626d9d59bce9f4d19bd4a1b384f1122904419
      https://github.com/llvm/llvm-project/commit/4d4626d9d59bce9f4d19bd4a1b384f1122904419
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll

  Log Message:
  -----------
  [TEST][HWASAN] Fix test after #86771


  Commit: 3522de9e412fbaa6d7344cc31bd43d1be6c95d59
      https://github.com/llvm/llvm-project/commit/3522de9e412fbaa6d7344cc31bd43d1be6c95d59
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll

  Log Message:
  -----------
  [TEST][HWASAN] Fix test after #86771


  Commit: fa90a0aa0e12aaf657d0f6f7626e05f90ba6f999
      https://github.com/llvm/llvm-project/commit/fa90a0aa0e12aaf657d0f6f7626e05f90ba6f999
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp

  Log Message:
  -----------
  [llvm-exegesis] Improve error handling for shm_open calls

This patch adds error handling for shm_open failures in one case where
they were not handled before and also makes an error handler in another
case report the value of errno for diagnosis.


  Commit: 8a071678a9091d536eae29912ca7be6238105956
      https://github.com/llvm/llvm-project/commit/8a071678a9091d536eae29912ca7be6238105956
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/docs/math/index.rst

  Log Message:
  -----------
  Revert "[libc][math][c23] Add remaining linux/* entrypoints for {,u}fromfp{,x}* (#86692)"

This reverts commit cd17082b24079a31eff0057abe407da5cfb7b0fc because the newly
added tests fail on 32b ARM.

Link: #86692
Link: https://lab.llvm.org/buildbot/#/builders/229/builds/24458


  Commit: 453a63caebc35378bcdb31da9d0f358a3998e51b
      https://github.com/llvm/llvm-project/commit/453a63caebc35378bcdb31da9d0f358a3998e51b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp

  Log Message:
  -----------
  [NFC][HWASAN] Promote InstrumentGlobals to member (#86773)


  Commit: b164a11cdb4440334f0ca0e7be84e74db49c8e83
      https://github.com/llvm/llvm-project/commit/b164a11cdb4440334f0ca0e7be84e74db49c8e83
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/C/C99/digraphs.c
    R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/Driver/linker-wrapper-image.c
    A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
    M clang/unittests/Format/FormatTest.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/www/c_status.html
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
    M compiler-rt/lib/scudo/standalone/tsd.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/src/include/tzdb/tzdb_list_private.h
    M libcxx/src/tzdb_list.cpp
    M libcxx/utils/libcxx/test/params.py
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/CodeGen/AArch64/peephole-movd.mir
    A llvm/test/CodeGen/AArch64/pr86717.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
    M llvm/test/CodeGen/X86/2009-06-05-VariableIndexInsert.ll
    M llvm/test/CodeGen/X86/insertelement-var-index.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll
    M llvm/test/TableGen/ConcatenatedSubregs.td
    A llvm/test/TableGen/HwModeSubRegs.td
    A llvm/test/Transforms/Inline/update_invoke_prof.ll
    A llvm/test/Transforms/Inline/update_value_profile.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-error.ll
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/unittests/Object/GOFFObjectFileTest.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


  Commit: 02468cc39e2ba8bf3b854ae5611b18ac5f533cab
      https://github.com/llvm/llvm-project/commit/02468cc39e2ba8bf3b854ae5611b18ac5f533cab
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/C/C99/digraphs.c
    R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/Driver/linker-wrapper-image.c
    A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
    M clang/unittests/Format/FormatTest.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/www/c_status.html
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
    M compiler-rt/lib/scudo/standalone/tsd.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/src/include/tzdb/tzdb_list_private.h
    M libcxx/src/tzdb_list.cpp
    M libcxx/utils/libcxx/test/params.py
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/CodeGen/AArch64/peephole-movd.mir
    A llvm/test/CodeGen/AArch64/pr86717.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
    M llvm/test/CodeGen/X86/2009-06-05-VariableIndexInsert.ll
    M llvm/test/CodeGen/X86/insertelement-var-index.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll
    M llvm/test/TableGen/ConcatenatedSubregs.td
    A llvm/test/TableGen/HwModeSubRegs.td
    A llvm/test/Transforms/Inline/update_invoke_prof.ll
    A llvm/test/Transforms/Inline/update_value_profile.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-error.ll
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/unittests/Object/GOFFObjectFileTest.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  isa<>

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/e18cbd39f677...02468cc39e2b

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