[all-commits] [llvm/llvm-project] 9a227b: [clang][Interp] Start implementing unions and chan...

Fangrui Song via All-commits all-commits at lists.llvm.org
Sun Aug 11 10:35:59 PDT 2024


  Branch: refs/heads/users/MaskRay/spr/nsan-add-nsanthread-and-clear-static-tls-shadow
  Home:   https://github.com/llvm/llvm-project
  Commit: 9a227ba3e129eaa89498b97421afefb1e9d681df
      https://github.com/llvm/llvm-project/commit/9a227ba3e129eaa89498b97421afefb1e9d681df
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Disasm.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBlock.h
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/unions.cpp

  Log Message:
  -----------
  [clang][Interp] Start implementing unions and changing the active member (#102723)


  Commit: 5c717d6b1de0029b632f4f3f0f706b0d9135ba1e
      https://github.com/llvm/llvm-project/commit/5c717d6b1de0029b632f4f3f0f706b0d9135ba1e
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__bit/rotate.h
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/include/memory_resource
    M libcxx/modules/std/mdspan.inc
    M libcxx/modules/std/new.inc
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
    M libcxx/test/tools/clang_tidy_checks/header_exportable_declarations.cpp

  Log Message:
  -----------
  [libc++] re-enable clang-tidy in the CI and fix any issues (#102658)

It looks like we've accidentally disabled clang-tidy in the CI. This
re-enables it and fixes the issues accumulated while it was disabled.


  Commit: 979abf142f606bf43a5500e59d72f1286a7180c7
      https://github.com/llvm/llvm-project/commit/979abf142f606bf43a5500e59d72f1286a7180c7
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/test/AST/Interp/constexpr-frame-describe.cpp

  Log Message:
  -----------
  [clang][Interp] Improve "in call to" call argument printing (#102735)

Always go through toAPValue() first and pretty-print that. In the
future, I think we could get rid of the individual toDiagnosticString()
implementations. This way we also get the correct printing for floats.


  Commit: 86691f8d7e86176db7409ccafb7a79964221720a
      https://github.com/llvm/llvm-project/commit/86691f8d7e86176db7409ccafb7a79964221720a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

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

  Log Message:
  -----------
  [clang][Interp] Do not call dtors of union members (#102739)


  Commit: 3b57f6b4c76d9b54b1c42591fdddf0ddc86dc964
      https://github.com/llvm/llvm-project/commit/3b57f6b4c76d9b54b1c42591fdddf0ddc86dc964
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

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

  Log Message:
  -----------
  [clang][Interp] Handle nested unions (#102743)


  Commit: 22c77f235416d137ea83875c16901fdf32b57159
      https://github.com/llvm/llvm-project/commit/22c77f235416d137ea83875c16901fdf32b57159
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M polly/include/polly/CodeGen/BlockGenerators.h
    M polly/include/polly/CodeGen/IslExprBuilder.h
    M polly/include/polly/CodeGen/IslNodeBuilder.h
    M polly/include/polly/CodeGen/LoopGenerators.h
    M polly/include/polly/CodeGen/LoopGeneratorsGOMP.h
    M polly/include/polly/CodeGen/LoopGeneratorsKMP.h
    M polly/include/polly/Support/ScopHelper.h
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/CodeGen/IslExprBuilder.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp
    M polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
    M polly/lib/CodeGen/LoopGeneratorsKMP.cpp
    M polly/lib/Support/ScopHelper.cpp

  Log Message:
  -----------
  [Polly] Use separate DT/LI/SE for outlined subfn. NFC. (#102460)

DominatorTree, LoopInfo, and ScalarEvolution are function-level analyses
that expect to be called only on instructions and basic blocks of the
function they were original created for. When Polly outlined a parallel
loop body into a separate function, it reused the same analyses seemed
to work until new checks to be added in #101198.

This patch creates new analyses for the subfunctions. GenDT, GenLI, and
GenSE now refer to the analyses of the current region of code. Outside
of an outlined function, they refer to the same analysis as used for the
SCoP, but are substituted within an outlined function.

Additionally to the cross-function queries of DT/LI/SE, we must not
create SCEVs that refer to a mix of expressions for old and generated
values. Currently, SCEVs themselves do not "remember" which
ScalarEvolution analysis they were created for, but mixing them is just
as unexpected as using DT/LI across function boundaries. Hence
`SCEVLoopAddRecRewriter` was combined into `ScopExpander`.
`SCEVLoopAddRecRewriter` only replaced induction variables but left
SCEVUnknowns to reference the old function. `SCEVParameterRewriter`
would have done so but its job was effectively superseded by
`ScopExpander`, and now also `SCEVLoopAddRecRewriter`. Some issues
persist put marked with a FIXME in the code. Changing them would
possibly cause this patch to be not NFC anymore.


  Commit: 59f7a806182543c3d1198ad69c478afcc1443521
      https://github.com/llvm/llvm-project/commit/59f7a806182543c3d1198ad69c478afcc1443521
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M libc/newhdrgen/yaml/math.yaml

  Log Message:
  -----------
  [libc] Fix `scablnf16` using `float16` instead of `_Float16`


  Commit: 955be526cbb29d8d5cf5ca344cecac4fd00f9790
      https://github.com/llvm/llvm-project/commit/955be526cbb29d8d5cf5ca344cecac4fd00f9790
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    R lld/test/COFF/Inputs/except_handler3.lib
    M lld/test/COFF/safeseh-md.s

  Log Message:
  -----------
  [LLD][NFC] Don't use x64 import library for x86 target in safeseh-md tests. (#102736)

Use llvm-lib to generate input library instead of a binary blob.


  Commit: 2849ebb19c4c9bfe9e3ec716e0f2b1bfe5dd3607
      https://github.com/llvm/llvm-project/commit/2849ebb19c4c9bfe9e3ec716e0f2b1bfe5dd3607
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h

  Log Message:
  -----------
  [LLD][NFC] Make InputFile::getMachineType const. (#102737)


  Commit: 5f26497da7de10c4eeec33b5a5cfcb47e96836cc
      https://github.com/llvm/llvm-project/commit/5f26497da7de10c4eeec33b5a5cfcb47e96836cc
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp

  Log Message:
  -----------
  [mlir][vector] Use `DenseI64ArrayAttr` in vector.multi_reduction (#102637)

This prevents some unnecessary conversions to/from int64_t and
IntegerAttr.


  Commit: ac47edd8a9dadc15aa7b6557e3ac03512aa1cf6f
      https://github.com/llvm/llvm-project/commit/ac47edd8a9dadc15aa7b6557e3ac03512aa1cf6f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/test/AST/Interp/records.cpp
    M clang/test/AST/Interp/unions.cpp

  Log Message:
  -----------
  [clang][Interp] Only zero-init first union member (#102744)

Zero-initializing all of them accidentally left the last member active.
Only initialize the first one.


  Commit: 1c269929d03e4a664a1f05d494b8fefe291ef8c0
      https://github.com/llvm/llvm-project/commit/1c269929d03e4a664a1f05d494b8fefe291ef8c0
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/OpenMP/target_teams_ast_print.cpp
    M clang/test/OpenMP/target_teams_distribute_num_teams_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_num_teams_messages.cpp
    M clang/test/OpenMP/teams_num_teams_messages.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [Clang][Sema][OpenMP] Allow `thread_limit` to accept multiple expressions (#102715)


  Commit: 8d908b8cc5f4b3aeb2303437a9c2d35654279fd9
      https://github.com/llvm/llvm-project/commit/8d908b8cc5f4b3aeb2303437a9c2d35654279fd9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

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

  Log Message:
  -----------
  [clang][Interp] Ignore unnamed bitfields when zeroing records (#102749)

Including unions, where this is more important.


  Commit: 9d6cec5f349d4e26ac8610565dbbe4678a965278
      https://github.com/llvm/llvm-project/commit/9d6cec5f349d4e26ac8610565dbbe4678a965278
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/unions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix activating via indirect field initializers (#102753)

Pointer::activate() propagates up anyway, so that is handled. But we
need to call activate() in any case since the parent might not be a
union, but the activate() is still needed. Always call it and hope that
the InUnion flag takes care of the potential performance problems.


  Commit: 8a61bfcf8f3e569d7f1d8fcb8958c02ec4aa6e7f
      https://github.com/llvm/llvm-project/commit/8a61bfcf8f3e569d7f1d8fcb8958c02ec4aa6e7f
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
    M llvm/utils/TableGen/Basic/SDNodeProperties.h
    M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
    M llvm/utils/TableGen/Common/AsmWriterInst.h
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/CodeGenHwModes.h
    M llvm/utils/TableGen/Common/CodeGenInstAlias.h
    M llvm/utils/TableGen/Common/CodeGenInstruction.h
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/CodeGenSchedule.h
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/TableGen/Common/DAGISelMatcher.h
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
    M llvm/utils/TableGen/Common/GlobalISel/CodeExpander.h
    M llvm/utils/TableGen/Common/GlobalISel/CodeExpansions.h
    M llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    M llvm/utils/TableGen/Common/GlobalISel/PatternParser.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/Common/OptEmitter.h
    M llvm/utils/TableGen/Common/PredicateExpander.h
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.h
    M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.h

  Log Message:
  -----------
  [NFC] Fix TableGen include guards to match paths (#102746)

- Fix include guards for headers under utils/TableGen to match their
paths.


  Commit: 9bb7c11f4eed1de09c7b160f02ac258ec9129920
      https://github.com/llvm/llvm-project/commit/9bb7c11f4eed1de09c7b160f02ac258ec9129920
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-conflict.mir

  Log Message:
  -----------
  [GISel] Handle more opcodes in constant_fold_binop (#102640)

Update the list of opcodes handled by the constant_fold_binop combine to
match the ones that are folded in CSEMIRBuilder::buildInstr.


  Commit: 8101d1863cc3a6ca0ca49962903f2d7651b25659
      https://github.com/llvm/llvm-project/commit/8101d1863cc3a6ca0ca49962903f2d7651b25659
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTree.h
    M llvm/lib/Analysis/TypeMetadataUtils.cpp
    M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    A llvm/test/Transforms/AlignmentFromAssumptions/domtree-crash.ll

  Log Message:
  -----------
  [Support] Assert that DomTree nodes share parent (#101198)

A dominance query of a block that is in a different function is
ill-defined, so assert that getNode() is only called for blocks that are
in the same function.

There are two cases, where this behavior did occur. LoopFuse didn't
explicitly do this, but didn't invalidate the SCEV block dispositions,
leaving dangling pointers to free'ed basic blocks behind, causing
use-after-free. We do, however, want to be able to dereference basic
blocks inside the dominator tree, so that we can refer to them by a
number stored inside the basic block.


  Commit: ac83582a2e7301f7088d14a4c352438e9f62bcf0
      https://github.com/llvm/llvm-project/commit/ac83582a2e7301f7088d14a4c352438e9f62bcf0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [Serialization] Fix a warning

This patch fixes:

  clang/lib/Serialization/ASTReader.cpp:11484:13: error: unused
  variable '_' [-Werror,-Wunused-variable]


  Commit: 4ce2f988b28445dadd067e6990aa6fb3db81a184
      https://github.com/llvm/llvm-project/commit/4ce2f988b28445dadd067e6990aa6fb3db81a184
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [Serialization] Use traditional for loops (NFC) (#102761)

The use of _ requires either:

- (void)_ and curly braces, or
- [[maybe_unused]].

For simple repetitions like these, we can use traditional for loops
for readable warning-free code.


  Commit: 496b224dc2fabe7c9f72e02fb5096f2b0fdd9e9b
      https://github.com/llvm/llvm-project/commit/496b224dc2fabe7c9f72e02fb5096f2b0fdd9e9b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/test/AST/Interp/unions.cpp

  Log Message:
  -----------
  [clang][Interp] Handle union copy/move ctors (#102762)

They don't have a body and we need to implement them ourselves. Use the
Memcpy op to do that.


  Commit: c27415ff86a617bdaaf310f6888f084bdf0705ea
      https://github.com/llvm/llvm-project/commit/c27415ff86a617bdaaf310f6888f084bdf0705ea
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Linux/aligned_delete_test.cpp
    M compiler-rt/test/asan/TestCases/Linux/new_delete_mismatch.cpp
    M compiler-rt/test/hwasan/TestCases/new-test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/new_delete_test.cpp
    M compiler-rt/test/scudo/aligned-new.cpp

  Log Message:
  -----------
  [sanitizer,test] Restore -fno-sized-deallocation coverage

-fsized-deallocation was recently made the default for C++17 onwards
(#90373). While here, remove unneeded -faligned-allocation.


  Commit: 80eea015ba4c1cf1182067579cd385dfdcb2e118
      https://github.com/llvm/llvm-project/commit/80eea015ba4c1cf1182067579cd385dfdcb2e118
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan.cpp
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/dfsan/dfsan_chained_origin_depot.cpp
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/lib/dfsan/dfsan_interceptors.cpp
    M compiler-rt/lib/dfsan/dfsan_thread.cpp

  Log Message:
  -----------
  [dfsan] Use namespace qualifier and internalize accidentally exported functions. NFC


  Commit: f3e950a2fe04dcfcc9202125c99d29451df2be0c
      https://github.com/llvm/llvm-project/commit/f3e950a2fe04dcfcc9202125c99d29451df2be0c
  Author: Tobias Hieta <tobias at hieta.se>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    A llvm/utils/release/merge-release-pr.py

  Log Message:
  -----------
  [Utils] Add new merge-release-pr.py script. (#101630)

This script helps the release managers merge backport PR's.

It does the following things:

* Validate the PR, checks approval, target branch and many other things.
* Rebases the PR
* Checkout the PR locally
* Pushes the PR to the release branch
* Deletes the local branch

I have found the script very helpful to merge the PR's.


  Commit: b167ada89631fc18e073c2b6295b10e3085b8c88
      https://github.com/llvm/llvm-project/commit/b167ada89631fc18e073c2b6295b10e3085b8c88
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-analysis.ll
    M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
    M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
    M llvm/test/Transforms/DFAJumpThreading/max-path-length.ll

  Log Message:
  -----------
  [DFAJumpThreading] Rewrite the way paths are enumerated (#96127)

I tried to add a limit to number of blocks visited in the paths()
function but even with a very high limit the transformation coverage was
being reduced.

After looking at the code it seemed that the function was trying to
create paths of the form
`SwitchBB...DeterminatorBB...SwitchPredecessor`. This is inefficient
because a lot of nodes in those paths (nodes before DeterminatorBB)
would be irrelevant to the optimization. We only care about paths of the
form `DeterminatorBB_Pred DeterminatorBB...SwitchBB`. This weeds out a
lot of visited nodes.

In this patch I have added a hard limit to the number of nodes visited
and changed the algorithm for path calculation. Primarily I am
traversing the use-def chain for the PHI nodes that define the state. If
we have a hole in the use-def chain (no immediate predecessors) then I
call the paths() function.

I also had to the change the select instruction unfolding code to insert
redundant one input PHIs to allow the use of the use-def chain in
calculating the paths.

The test suite coverage with this patch (including a limit on nodes
visited) is as follows:

    Geomean diff:
      dfa-jump-threading.NumTransforms: +13.4%
      dfa-jump-threading.NumCloned: +34.1%
      dfa-jump-threading.NumPaths: -80.7%

Compile time effect vs baseline (pass enabled by default) is mostly
positive:
https://llvm-compile-time-tracker.com/compare.php?from=ad8705fda25f64dcfeb6264ac4d6bac36bee91ab&to=5a3af6ce7e852f0736f706b4a8663efad5bce6ea&stat=instructions:u

Change-Id: I0fba9e0f8aa079706f633089a8ccd4ecf57547ed


  Commit: fe31363a682d6bbdf087a9a02dcca3458504ba97
      https://github.com/llvm/llvm-project/commit/fe31363a682d6bbdf087a9a02dcca3458504ba97
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan.cpp
    M compiler-rt/lib/dfsan/dfsan_custom.cpp

  Log Message:
  -----------
  [dfsan] Use namespace qualifier. NFC


  Commit: 2ba1cc8ea53cd76fbeac79dad837dcae32cc7e59
      https://github.com/llvm/llvm-project/commit/2ba1cc8ea53cd76fbeac79dad837dcae32cc7e59
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGObjCGNU.cpp

  Log Message:
  -----------
  [Clang][CodeGen] Fix bad codegen when building Clang with latest MSVC (#102681)

Before this PR, when using the latest MSVC `Microsoft (R) C/C++
Optimizing Compiler Version 19.40.33813 for x64` one of the Clang unit
test used to fail: `CodeGenObjC/gnustep2-direct-method.m`, see full
failure log:
[here](https://github.com/llvm/llvm-project/pull/100517#issuecomment-2266269490).

This PR temporarily shuffles around the code to make the MSVC inliner/
optimizer happy and avoid the bug.

MSVC bug report:
https://developercommunity.visualstudio.com/t/Bad-code-generation-when-building-LLVM-w/10719589?port=1025&fsid=e572244a-cde7-4d75-a73d-9b8cd94204dd


  Commit: c5a4291fb704b4cff469bab18ff7ebab41807564
      https://github.com/llvm/llvm-project/commit/c5a4291fb704b4cff469bab18ff7ebab41807564
  Author: Ameer J <52414509+ameerj at users.noreply.github.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add BreakBinaryOperations configuration (#95013)

By default, clang-format packs binary operations, but it may be
desirable to have compound operations be on individual lines instead of
being packed.

This PR adds the option `BreakBinaryOperations` to break up large
compound binary operations to be on one line each.

This applies to all logical and arithmetic/bitwise binary operations

Maybe partially addresses #79487 ?
Closes #58014 
Closes #57280


  Commit: 986bc3d0719af653fecb77e8cfc59f39bec148fd
      https://github.com/llvm/llvm-project/commit/986bc3d0719af653fecb77e8cfc59f39bec148fd
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    A clang/test/Format/list-ignored.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Fix a serious bug in `git clang-format -f` (#102629)

With the --force (or -f) option, git-clang-format wipes out input files
excluded by a .clang-format-ignore file if they have unstaged changes.

This patch adds a hidden clang-format option --list-ignored that lists
such excluded files for git-clang-format to filter out.

Fixes #102459.


  Commit: a417083e27b155dc92b7f7271c0093aee0d7231c
      https://github.com/llvm/llvm-project/commit/a417083e27b155dc92b7f7271c0093aee0d7231c
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp

  Log Message:
  -----------
  [llvm-exegesis][unittests] Also disable SubprocessMemoryTest on SPARC (#102755)

Three `llvm-exegesis` tests
```
  LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/SubprocessMemoryTest/DefinitionFillsCompletely
  LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/SubprocessMemoryTest/MultipleDefinitions
  LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/SubprocessMemoryTest/OneDefinition
```
`FAIL` on Linux/sparc64 like
```
llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp:68: Failure
Expected equality of these values:
  SharedMemoryMapping[I]
    Which is: '\0'
  ExpectedValue[I]
    Which is: '\xAA' (170)
```
It seems like this test only works on little-endian hosts: three
sub-tests are already disabled on powerpc and s390x (both big-endian),
and the fourth is additionally guarded against big-endian hosts (making
the other guards unnecessary).

However, since it's not been analyzed if this is really an endianess
issue, this patch disables the whole test on powerpc and s390x as before
adding sparc to the mix.

Tested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`.


  Commit: b728f3712190a5efe9b49fd98809670876df2a19
      https://github.com/llvm/llvm-project/commit/b728f3712190a5efe9b49fd98809670876df2a19
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [Analysis] Use llvm::set_is_subset (NFC) (#102766)


  Commit: 8c4e039deece7c08f7a49e1d38decc55fcb71fbd
      https://github.com/llvm/llvm-project/commit/8c4e039deece7c08f7a49e1d38decc55fcb71fbd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp

  Log Message:
  -----------
  [LegalizeTypes] Use APInt::getLowBitsSet instead of getAllOnes+zext. NFC


  Commit: 3c3df1bef84bd509bdd2b6033bc9bb3653826388
      https://github.com/llvm/llvm-project/commit/3c3df1bef84bd509bdd2b6033bc9bb3653826388
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTree.h
    M llvm/lib/Analysis/TypeMetadataUtils.cpp
    M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    R llvm/test/Transforms/AlignmentFromAssumptions/domtree-crash.ll

  Log Message:
  -----------
  Revert "[Support] Assert that DomTree nodes share parent" (#102780)

Reverts llvm/llvm-project#101198

Breaks multiple bots:
https://lab.llvm.org/buildbot/#/builders/72/builds/2103
https://lab.llvm.org/buildbot/#/builders/164/builds/1909
https://lab.llvm.org/buildbot/#/builders/66/builds/2706


  Commit: f498638a4cd5f60dafcda512e4de848ee627ab95
      https://github.com/llvm/llvm-project/commit/f498638a4cd5f60dafcda512e4de848ee627ab95
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/test/AST/Interp/constexpr-frame-describe.cpp

  Log Message:
  -----------
  Revert "[clang][Interp] Improve "in call to" call argument printing" (#102785)

Reverts llvm/llvm-project#102735

Breaks https://lab.llvm.org/buildbot/#/builders/52/builds/1496


  Commit: fa12aa7f6770e989119a7806471b556fccdba2db
      https://github.com/llvm/llvm-project/commit/fa12aa7f6770e989119a7806471b556fccdba2db
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmv.v.v.ll

  Log Message:
  -----------
  [RISCV] Add IR tests for bf16 vmerge and vmv.v.v. NFC (#102775)


  Commit: 4ac42afbccf616a3644e19f2945ccd9ad1b66ccf
      https://github.com/llvm/llvm-project/commit/4ac42afbccf616a3644e19f2945ccd9ad1b66ccf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp

  Log Message:
  -----------
  [InstCombine] Use llvm::set_is_subset (NFC) (#102778)


  Commit: 242f4e85eb5caa462a9835ac85c49e4a78dc1703
      https://github.com/llvm/llvm-project/commit/242f4e85eb5caa462a9835ac85c49e4a78dc1703
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.h

  Log Message:
  -----------
  [profgen][NFC] Pass parameter as const_ref

Pass `ProbeNode` parameter of `trackInlineesOptimizedAway` as const
reference.

Reviewers: wlei-llvm, WenleiHe

Reviewed By: WenleiHe

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


  Commit: cd15d12f477516a323c1f14b451173feaecc0774
      https://github.com/llvm/llvm-project/commit/cd15d12f477516a323c1f14b451173feaecc0774
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-08-10 (Sat, 10 Aug 2024)

  Changed paths:
    M llvm/lib/MC/MCPseudoProbe.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp

  Log Message:
  -----------
  [MC][profgen][NFC] Expand auto for MCDecodedPseudoProbe

Expand autos in select places in preparation to #102789.

Reviewers: dcci, maksfb, WenleiHe, rafaelauler, ayermolo, wlei-llvm

Reviewed By: WenleiHe, wlei-llvm

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


  Commit: 073b0578b79904647e601937954e800b918f2b29
      https://github.com/llvm/llvm-project/commit/073b0578b79904647e601937954e800b918f2b29
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/lib/Target/VE/VEISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [Target] Construct SmallVector<MachineMemOperand *> with ArrayRef (NFC) (#102779)


  Commit: 712ab805140068a7b4719a38de3fee904841dbb3
      https://github.com/llvm/llvm-project/commit/712ab805140068a7b4719a38de3fee904841dbb3
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

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

  Log Message:
  -----------
  [clang][Interp] Properly adjust instance pointer in virtual calls (#102800)

`getDeclPtr()` will not just return what we want, but in this case a
pointer to the `vu` local variable.


  Commit: 2a00bf412efec1f87fed0762ee42dd7a6b809cbb
      https://github.com/llvm/llvm-project/commit/2a00bf412efec1f87fed0762ee42dd7a6b809cbb
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M clang/test/AST/Interp/cxx20.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Add a failing test case (#102801)


  Commit: 3036bcd23e15a22944d8a10b5f6e667de494a558
      https://github.com/llvm/llvm-project/commit/3036bcd23e15a22944d8a10b5f6e667de494a558
  Author: Sebastian Neubauer <Flakebi at users.noreply.github.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/docs/MeetupGuidelines.rst

  Log Message:
  -----------
  [Docs] Update meetup contact mail address (#99321)

Arnaud is no longer active.


  Commit: a245a984fd41bc4e9ae225219cb7859d53cd83a4
      https://github.com/llvm/llvm-project/commit/a245a984fd41bc4e9ae225219cb7859d53cd83a4
  Author: Jannick Kremer <jannick.kremer at mailbox.org>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [NFC][libclang/python] Fix code highlighting in release notes (#102807)

This corrects a release note introduced in #98745


  Commit: 35d3625a4d50d70a8b6348d6bb0be143b9006f53
      https://github.com/llvm/llvm-project/commit/35d3625a4d50d70a8b6348d6bb0be143b9006f53
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Move VPWidenLoadRecipe::execute to VPlanRecipes.cpp (NFC).

Move VPWidenLoadRecipe::execute to VPlanRecipes.cpp in line with
other ::execute implementations that don't depend on anything
defined in LoopVectorization.cpp


  Commit: 2b0a88ff61b16c14973fd82633725dea1f3602f1
      https://github.com/llvm/llvm-project/commit/2b0a88ff61b16c14973fd82633725dea1f3602f1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/perfhint.ll

  Log Message:
  -----------
  AMDGPU: Try to add some more amdgpu-perf-hint tests (#102644)

This test has hardly any test coverage, and no IR tests. Add a few
more tests involving calls, and add some IR checks. This pass needs
a lot of work to improve the test coverage, and to actually use
the cost model instead of making up its own accounting scheme.


  Commit: dd094b2647976050295384ce7e72582607090602
      https://github.com/llvm/llvm-project/commit/dd094b2647976050295384ce7e72582607090602
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/perfhint.ll

  Log Message:
  -----------
  NewPM/AMDGPU: Port AMDGPUPerfHintAnalysis to new pass manager (#102645)

This was much more difficult than I anticipated. The pass is
not in a good state, with poor test coverage. The legacy PM
does seem to be relying on maintaining the map state between
different SCCs, which seems bad. The pass is going out of its
way to avoid putting the attributes it introduces onto non-callee
functions. If it just added them, we could use them directly
instead of relying on the map, I would think.

The NewPM path uses a ModulePass; I'm not sure if we should be
using CGSCC here but there seems to be some missing infrastructure
to support backend defined ones.


  Commit: f070f61fc0b4c731a031fbe9f8e7360c337791c4
      https://github.com/llvm/llvm-project/commit/f070f61fc0b4c731a031fbe9f8e7360c337791c4
  Author: Jannick Kremer <jannick.kremer at mailbox.org>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [CI][libclang] Add PR autolabeling for libclang (#102809)

This automatically adds the `clang:as-a-library` label on PRs for the C
and Python bindings and the libclang library

---------

Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>


  Commit: 4589bf90aa1849b3851945fb611f5c96af821332
      https://github.com/llvm/llvm-project/commit/4589bf90aa1849b3851945fb611f5c96af821332
  Author: Mike Crowe <mac at mcrowe.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp

  Log Message:
  -----------
  [clang-tidy] Fix modernize-use-std-format lit test signature (#102759)

My fix for my original fix of issue #92896 in
666d224248707f373577b5b049b5b0229100006c modified the function signature
for fmt::sprintf to more accurately match the real implementation in
libfmt but failed to do the same for absl::StrFormat. The latter fix
applied equally well to absl::StrFormat so it's important that its test
verifies that the bug is fixed too.


  Commit: 7024cecf03e6b5c1fd0fe1292ed18c7b808396f7
      https://github.com/llvm/llvm-project/commit/7024cecf03e6b5c1fd0fe1292ed18c7b808396f7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV] Collect profitable VFs in ::getBestVF. (NFCI)

Move collectig profitable VFs to ::getBestVF, in preparation for
retiring selectVectorizationFactor.


  Commit: 4399dbe331bd9840e7d709266196a8b9f26d658c
      https://github.com/llvm/llvm-project/commit/4399dbe331bd9840e7d709266196a8b9f26d658c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll

  Log Message:
  -----------
  [LV] Adjust test for #48188 to use AVX level closer to report.

Update AVX level for https://github.com/llvm/llvm-project/issues/48188
to be closer to the one used in the preproducer.


  Commit: 5286656609418c766272ff78e62fda41671ef4cb
      https://github.com/llvm/llvm-project/commit/5286656609418c766272ff78e62fda41671ef4cb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/predicate-switch.ll

  Log Message:
  -----------
  [LV] Regenerate check lines in preparation for #99808.

Regenerate check lines for test to avoid unrelated changes in
https://github.com/llvm/llvm-project/pull/99808.


  Commit: 94e6786b8007b1d9b871cb5750a80973d685580b
      https://github.com/llvm/llvm-project/commit/94e6786b8007b1d9b871cb5750a80973d685580b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp

  Log Message:
  -----------
  [llvm] Construct SmallVector with ArrayRef (NFC) (#102799)


  Commit: d2336fd75cc93d5191d56f8c7486069dc8aeec5b
      https://github.com/llvm/llvm-project/commit/d2336fd75cc93d5191d56f8c7486069dc8aeec5b
  Author: Tobias Stadler <mail at stadler-tobias.de>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
    M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/unittests/CodeGen/GlobalISel/CMakeLists.txt
    A llvm/unittests/CodeGen/GlobalISel/InstructionSelectTest.cpp

  Log Message:
  -----------
  [RFC][GlobalISel] InstructionSelect: Allow arbitrary instruction erasure (#97670)

See https://discourse.llvm.org/t/rfc-globalisel-instructionselect-allow-arbitrary-instruction-erasure


  Commit: d1957dda16f1b236352e238dedd3156b8fbca85b
      https://github.com/llvm/llvm-project/commit/d1957dda16f1b236352e238dedd3156b8fbca85b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn

  Log Message:
  -----------
  [gn build] Port d2336fd75cc9


  Commit: bf3aa88b7f5459f94524948f01f30f5c67cfde5f
      https://github.com/llvm/llvm-project/commit/bf3aa88b7f5459f94524948f01f30f5c67cfde5f
  Author: Tobias Stadler <mail at stadler-tobias.de>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/Combiner.cpp

  Log Message:
  -----------
  [GlobalISel] Combiner: Install Observer into MachineFunction

The Combiner doesn't install the Observer into the MachineFunction.
This probably went unnoticed, because MachineFunction::getObserver() is
currently only used in constrainOperandRegClass(), but this might cause
issues down the line.

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


  Commit: fe59b84f27181ef96fdf0f234a15f19d0a13a5c2
      https://github.com/llvm/llvm-project/commit/fe59b84f27181ef96fdf0f234a15f19d0a13a5c2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

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

  Log Message:
  -----------
  [clang][Interp] Propagate InUnion flag to base classes (#102804)


  Commit: 65c72139be5314ce4d844745d3706d46dbad77d5
      https://github.com/llvm/llvm-project/commit/65c72139be5314ce4d844745d3706d46dbad77d5
  Author: Tobias Stadler <mail at stadler-tobias.de>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
    M llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
    M llvm/lib/CodeGen/GlobalISel/Combiner.cpp

  Log Message:
  -----------
  [GlobalISel] Don't remove from unfinalized GISelWorkList

Remove a hack from GISelWorkList caused by the Combiner removing
instructions from an unfinalized GISelWorkList during the DCE phase.
This is in preparation for larger changes to the WorkListMaintainer.

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


  Commit: 846dccce9cd030a1984a4d4336267cd2850e6bd8
      https://github.com/llvm/llvm-project/commit/846dccce9cd030a1984a4d4336267cd2850e6bd8
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    A lld/test/COFF/implib-machine.s

  Log Message:
  -----------
  [LLD][COFF] Validate import library machine type. (#102738)


  Commit: 257c479b91c6b7cd6f69b894d110abc6c30c7839
      https://github.com/llvm/llvm-project/commit/257c479b91c6b7cd6f69b894d110abc6c30c7839
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/usub_sat_plus.ll

  Log Message:
  -----------
  [LegalizeTypes][RISCV] Use SExtOrZExtPromotedOperands to promote operands for USUBSAT. (#102781)

It doesn't matter which extend we use to promote the operands. Use
whatever is the most efficient.

The custom handler for RISC-V was using SIGN_EXTEND when the Zbb
extension is enabled so we no longer need that.


  Commit: bdb645d421896893e81a652099da4779c27ee46c
      https://github.com/llvm/llvm-project/commit/bdb645d421896893e81a652099da4779c27ee46c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M .github/new-prs-labeler.yml
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Disasm.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBlock.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/records.cpp
    M clang/test/AST/Interp/unions.cpp
    A clang/test/Format/list-ignored.cpp
    M clang/test/OpenMP/target_teams_ast_print.cpp
    M clang/test/OpenMP/target_teams_distribute_num_teams_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_num_teams_messages.cpp
    M clang/test/OpenMP/teams_num_teams_messages.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/git-clang-format
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M compiler-rt/lib/dfsan/dfsan.cpp
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/dfsan/dfsan_chained_origin_depot.cpp
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/lib/dfsan/dfsan_interceptors.cpp
    M compiler-rt/lib/dfsan/dfsan_thread.cpp
    M compiler-rt/test/asan/TestCases/Linux/aligned_delete_test.cpp
    M compiler-rt/test/asan/TestCases/Linux/new_delete_mismatch.cpp
    M compiler-rt/test/hwasan/TestCases/new-test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/new_delete_test.cpp
    M compiler-rt/test/scudo/aligned-new.cpp
    M libc/newhdrgen/yaml/math.yaml
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__bit/rotate.h
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/include/memory_resource
    M libcxx/modules/std/mdspan.inc
    M libcxx/modules/std/new.inc
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
    M libcxx/test/tools/clang_tidy_checks/header_exportable_declarations.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    R lld/test/COFF/Inputs/except_handler3.lib
    A lld/test/COFF/implib-machine.s
    M lld/test/COFF/safeseh-md.s
    M llvm/docs/MeetupGuidelines.rst
    M llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
    M llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
    M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
    M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/MC/MCPseudoProbe.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/VE/VEISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-conflict.mir
    M llvm/test/CodeGen/AMDGPU/perfhint.ll
    M llvm/test/CodeGen/RISCV/rvv/vmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmv.v.v.ll
    M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
    M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-analysis.ll
    M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
    M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
    M llvm/test/Transforms/DFAJumpThreading/max-path-length.ll
    M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.h
    M llvm/unittests/CodeGen/GlobalISel/CMakeLists.txt
    A llvm/unittests/CodeGen/GlobalISel/InstructionSelectTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
    M llvm/utils/TableGen/Basic/SDNodeProperties.h
    M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
    M llvm/utils/TableGen/Common/AsmWriterInst.h
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/CodeGenHwModes.h
    M llvm/utils/TableGen/Common/CodeGenInstAlias.h
    M llvm/utils/TableGen/Common/CodeGenInstruction.h
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/CodeGenSchedule.h
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/TableGen/Common/DAGISelMatcher.h
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
    M llvm/utils/TableGen/Common/GlobalISel/CodeExpander.h
    M llvm/utils/TableGen/Common/GlobalISel/CodeExpansions.h
    M llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    M llvm/utils/TableGen/Common/GlobalISel/PatternParser.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/Common/OptEmitter.h
    M llvm/utils/TableGen/Common/PredicateExpander.h
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.h
    M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.h
    M llvm/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
    A llvm/utils/release/merge-release-pr.py
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
    M polly/include/polly/CodeGen/BlockGenerators.h
    M polly/include/polly/CodeGen/IslExprBuilder.h
    M polly/include/polly/CodeGen/IslNodeBuilder.h
    M polly/include/polly/CodeGen/LoopGenerators.h
    M polly/include/polly/CodeGen/LoopGeneratorsGOMP.h
    M polly/include/polly/CodeGen/LoopGeneratorsKMP.h
    M polly/include/polly/Support/ScopHelper.h
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/CodeGen/IslExprBuilder.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp
    M polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
    M polly/lib/CodeGen/LoopGeneratorsKMP.cpp
    M polly/lib/Support/ScopHelper.cpp

  Log Message:
  -----------
  rebase

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/ad2b646035bc...bdb645d42189

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