[all-commits] [llvm/llvm-project] 4d2256: [SLP]Fix PR57447: Assertion `!getTreeEntry(V) && "...

Roy Jacobson via All-commits all-commits at lists.llvm.org
Thu Sep 1 02:01:13 PDT 2022


  Branch: refs/heads/release/15.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 4d2256aa7f770e821572ee5e1f3a0af3bf3b09fe
      https://github.com/llvm/llvm-project/commit/4d2256aa7f770e821572ee5e1f3a0af3bf3b09fe
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2022-09-01 (Thu, 01 Sep 2022)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll

  Log Message:
  -----------
  [SLP]Fix PR57447: Assertion `!getTreeEntry(V) && "Scalar already in tree!"' failed.

The pointer operands for the ScatterVectorize node may contain
non-instruction values and they are not checked for "already being
vectorized". Need to check that such pointers are already vectorized and
gather them instead of trying to build vectorize node to avoid compiler
crash.

Differential Revision: https://reviews.llvm.org/D132949

(cherry picked from commit ec06df9459136ed538c07d32db16163999c350fe)


  Commit: 98b6628d16198748cb35202254f5a907c66468ab
      https://github.com/llvm/llvm-project/commit/98b6628d16198748cb35202254f5a907c66468ab
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2022-09-01 (Thu, 01 Sep 2022)

  Changed paths:
    A clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/index.rst

  Log Message:
  -----------
  [docs] Add "Standard C++ Modules"

We get some standard C++ module things done in clang15.x. But we lack a
user documentation for it. The implementation of standard C++ modules
share a big part of codes with clang modules. But they have very
different semantics and user interfaces, so I think it is necessary to
add a document for Standard C++ modules. Previously, there were also
some people ask the document for standard C++ Modules and I couldn't
offer that time.

Reviewed By: iains, Mordante, h-vetinari, ruoso, dblaikie, JohelEGP,
aaronmondal

Differential Revision: https://reviews.llvm.org/D131388

(cherry picked from commit b1d5af81249dc7e5697faf9ee33f86012ccd8668)


  Commit: 0b644cb1cc35dc29420b36c6715518d7430c6538
      https://github.com/llvm/llvm-project/commit/0b644cb1cc35dc29420b36c6715518d7430c6538
  Author: Roy Jacobson <roi.jacobson1 at gmail.com>
  Date:   2022-09-01 (Thu, 01 Sep 2022)

  Changed paths:
    M clang/include/clang/Lex/Preprocessor.h

  Log Message:
  -----------
  [Frontend] Restore Preprocessor::getPredefines()

https://reviews.llvm.org/rG6bbf51f3ed59ae37f0fec729f25af002111c9e74 from May removed Preprocessor::getPredefines() from Clang's API, presumably as a cleanup because this method is unused in the LLVM codebase.

However, it was/is used by a small number of third-party tools and is pretty harmless, so this patch adds it back and documents why it's here.

The issue was raised in https://github.com/llvm/llvm-project/issues/57483, it would be nice to be able to land it into Clang 15 as it breaks those third-party tools and we can't easily add it back in bug fix releases.

Reviewed By: brad.king, thieta

Differential Revision: https://reviews.llvm.org/D133044

(cherry picked from commit bb9dedce5d01f5608acd784942481f386c710c0d)


Compare: https://github.com/llvm/llvm-project/compare/761d71a489bf...0b644cb1cc35


More information about the All-commits mailing list