[all-commits] [llvm/llvm-project] 7f3ac5: [clang][Interp] Only accept constant variables in ...

wanglei via All-commits all-commits at lists.llvm.org
Thu May 16 00:36:18 PDT 2024


  Branch: refs/heads/users/wangleiat/spr/loongarch-refactor-loongarchabicomputetargetabi
  Home:   https://github.com/llvm/llvm-project
  Commit: 7f3ac51b946bf6d6fa8c8443457ebee219879302
      https://github.com/llvm/llvm-project/commit/7f3ac51b946bf6d6fa8c8443457ebee219879302
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/AST/Interp/cxx98.cpp

  Log Message:
  -----------
  [clang][Interp] Only accept constant variables in c++98


  Commit: d12c48cad52798f4846dd8ef882af0f854118d16
      https://github.com/llvm/llvm-project/commit/d12c48cad52798f4846dd8ef882af0f854118d16
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/source/Target/UnwindLLDB.cpp
    A lldb/test/Shell/Unwind/Inputs/unaligned-pc-sigbus.c
    A lldb/test/Shell/Unwind/unaligned-pc-sigbus.test

  Log Message:
  -----------
  [lldb/aarch64] Allow unaligned PC addresses below a trap handler (#92093)

The stack validation heuristic is counter-productive in this case, as
the unaligned address is most likely the thing that caused the signal in
the first place.


  Commit: 6479e3cb66895754089dc017a33478e9eb4b8d65
      https://github.com/llvm/llvm-project/commit/6479e3cb66895754089dc017a33478e9eb4b8d65
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/bitfields.cpp

  Log Message:
  -----------
  [clang][Interp] Use proper type for non-primitive reference dummies


  Commit: 1d43ec8191e55d6efd552a1510ce63dbdea00cc0
      https://github.com/llvm/llvm-project/commit/1d43ec8191e55d6efd552a1510ce63dbdea00cc0
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unnecessary if condition

This is already in a if(isBlockPointer()) block.


  Commit: afba3daf822c839db1be40464041307679c803a9
      https://github.com/llvm/llvm-project/commit/afba3daf822c839db1be40464041307679c803a9
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Add basic support for AddrLabelExprs

Just create a local variable for them.


  Commit: ca4a405232cf170f20a2f111bf72beab82095935
      https://github.com/llvm/llvm-project/commit/ca4a405232cf170f20a2f111bf72beab82095935
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/test/Analysis/memory-model.cpp

  Log Message:
  -----------
  [analyzer] Refactor recognition of the errno getter functions (#91531)

There are many environments where `errno` is a macro that expands to
something like `(*__errno())` (different standard library
implementations use different names instead of "__errno").

In these environments the ErrnoModeling checker creates a symbolic
region which will be used to represent the return value of this "get the
location of errno" function.

Previously this symbol was only created when the checker was able to
find the declaration of the "get the location of errno" function; but
this commit eliminates the complex logic that was responsible for this
and always creates the symbolic region when `errno` is not available as
a "regular" global variable.

This significantly simplifies a code and only introduces a minimal
performance reduction (one extra symbol) in the case when `errno` is not
declared (neither as a variable nor as a function).


In addition to this simplification, this commit specifies that the
`CallDescription`s for the "get the location of errno" functions are
matched in `CDM::CLibrary` mode. (This was my original goal, but I was
sidetracked by resolving a FIXME above the `CallDescriptionSet` in
`ErrnoModeling.cpp`.)

This change is very close to being NFC, but it fixes weird corner cases
like the handling of a C++ method that happens to be named "__errno()"
(previously it could've been recognized as an errno location getter
function).


  Commit: f090801a9651cf4f0d05cc361a2a1b14805b62bf
      https://github.com/llvm/llvm-project/commit/f090801a9651cf4f0d05cc361a2a1b14805b62bf
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/test/Shell/Unwind/unaligned-pc-sigbus.test

  Log Message:
  -----------
  [lldb] Disable unaligned-pc-sigbus.test on arm(32)

I though the test could work there as well, but (of course) it does not,
because the lowest bit just means "run the code as thumb".


  Commit: 2f6c0e6e180c81087c26f4afac2155ea70472ec6
      https://github.com/llvm/llvm-project/commit/2f6c0e6e180c81087c26f4afac2155ea70472ec6
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/test/Transforms/tbaa.fir

  Log Message:
  -----------
  [flang][Alias Analysis] not all block arguments are dummy arguments (#92156)

Arguments to openmp regions should not be tagged as dummy arguments.
This is particularly unsafe because these openmp blocks will eventually
be inlined into the calling function, where they will trivially alias
with other values inside of the calling function.

This is probably a theoretical issue because the calls to openmp runtime
function calls would act as barriers, preventing optimizations that are
too aggressive. But a lot more thought would need to go into a bet like
that.

This came out of discussion on
https://github.com/llvm/llvm-project/pull/92036


  Commit: f39e75b45160ae69222d6ae197ee20c365146717
      https://github.com/llvm/llvm-project/commit/f39e75b45160ae69222d6ae197ee20c365146717
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp

  Log Message:
  -----------
  [CodeGen][ARM64EC][NFC] Factor out emitFunctionAlias and getSymbolFromMetadata in emitFunctionEntryLabel. (#92098)


  Commit: 421862f8e4ffddf57e210a205984a0ee39c57d96
      https://github.com/llvm/llvm-project/commit/421862f8e4ffddf57e210a205984a0ee39c57d96
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/ext-int-cc.c

  Log Message:
  -----------
  [Clang] Fix incorrect passing of _BitInt args (#90741)

This patch removes incorrect `byval` attribute from pointer argument
passed with >128 bit long _BitInt types.


  Commit: d187005cad8c2cb7d44ba3dd6b01c5f0e4c14ae7
      https://github.com/llvm/llvm-project/commit/d187005cad8c2cb7d44ba3dd6b01c5f0e4c14ae7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

  Log Message:
  -----------
  [VPlan] Update VPBlendRecipe codegen for for first-lane only.

Update VPBlendRecipe::execute to support generating code for first-lane
only. This fixes a crash in the newly added test
@test_not_first_lane_only_wide_compare_incoming_order_swapped.


  Commit: 4f8f5005ed7ea01b4b18da74b9d64e75d91bf7be
      https://github.com/llvm/llvm-project/commit/4f8f5005ed7ea01b4b18da74b9d64e75d91bf7be
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/test/AST/Interp/bitfields.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/cxx98.cpp
    M clang/test/Analysis/memory-model.cpp
    M clang/test/CodeGen/ext-int-cc.c
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/test/Transforms/tbaa.fir
    M lldb/source/Target/UnwindLLDB.cpp
    A lldb/test/Shell/Unwind/Inputs/unaligned-pc-sigbus.c
    A lldb/test/Shell/Unwind/unaligned-pc-sigbus.test
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

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

Created using spr 1.3.5-bogner

[skip ci]


  Commit: fa6d8511fac1eb92e8e5189465457abe736361f7
      https://github.com/llvm/llvm-project/commit/fa6d8511fac1eb92e8e5189465457abe736361f7
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/test/AST/Interp/bitfields.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/cxx98.cpp
    M clang/test/Analysis/memory-model.cpp
    M clang/test/CodeGen/ext-int-cc.c
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/test/Transforms/tbaa.fir
    M lldb/source/Target/UnwindLLDB.cpp
    A lldb/test/Shell/Unwind/Inputs/unaligned-pc-sigbus.c
    A lldb/test/Shell/Unwind/unaligned-pc-sigbus.test
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

  Log Message:
  -----------
  Address @SixWeining's comment

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/c5fc4c5cfd18...fa6d8511fac1

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