SuccessChanges

Summary

  1. [CodeGen][SVE] Replace deprecated calls in getCopyFromPartsVector() (details)
  2. [LiveVariables] Don't set undef reg PHI used as live for FromMBB (details)
  3. [libcxx testing] Fix bot failure in my last commit (details)
  4. lld: ignore the `-search_paths_first` option on MachO (details)
  5. [CodeGen] Enable tail call position check for speculatable functions (details)
  6. [analyzer] Add support for ObjCIndirectCopyRestoreExpr. (details)
  7. [analyzer] ObjCAutoreleaseWriteChecker: Support explicit autoreleasepools. (details)
  8. [libc++] Support move construction and assignment in <thread> in C++03 (details)
  9. [MLIR] Shape to standard dialect lowering (details)
  10. [lldb/Test] Don't print 'command invoked' (details)
  11. [doc] Fix typo. (details)
  12. [libc++] Fix test broken in C++03 due to requiring C++11 features from vector (details)
  13. [profile] Sync InstrProfData.inc with llvm. (details)
  14. [XCOFF][AIX] Use 'L..' instead of 'L' for PrivateGlobalPrefix (details)
  15. [InstSimplify] fix bug in matching or-with-not op (PR46083) (details)
  16. [AIX] Change the default target CPU to power4 for AIX on Power (details)
  17. [doc] Fix use of ` where `` was intended in attribute docs. (details)
  18. [VectorCombine] Add multi-use multiply test for D80885 (details)
Commit c57e41c000c40e2efd441bc819b472feb49c94bf by dancgr
[CodeGen][SVE] Replace deprecated calls in getCopyFromPartsVector()

Summary: Replaced getVectorNumElements() with getVectorElementCount(). Added operator overloads for class ElementCount. Fixes warning in several AArch64 unit tests.

Reviewers: sdesmalen, kmclaughlin, dancgr, efriedma, each, andwar, rengolin

Reviewed By: efriedma

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80826
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit 2cc77b2b8a022c0f6c7c60bf3eda157f62007d88 by shkzhang
[LiveVariables] Don't set undef reg PHI used as live for FromMBB

Summary:
In the patch D73152, it adds a new function LiveVariables::addNewBlock.
This new function will add the reg which PHI used to the MBB which reg
is from.
But the new function may cause LiveVariable Verification failed when the
Src reg in PHI is undef.

Reviewed By: bjope

Differential Revision: https://reviews.llvm.org/D80077
The file was addedllvm/test/CodeGen/AArch64/PHIElimination-crash.mir
The file was modifiedllvm/lib/CodeGen/LiveVariables.cpp
Commit e25f01be0c4c4f0355ae645599b3f54acb712ddd by dave
[libcxx testing] Fix bot failure in my last commit
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp
Commit 37d93b528c1c6dc0f77ee517936de61816707023 by Saleem Abdulrasool
lld: ignore the `-search_paths_first` option on MachO

ld64 provides the `-search_path_firsts` which will search each path in
the library search path order for both `lib[name].dylib`, `lib[name].a`
before moving on (searching all paths for the dylib and then falling
back to the static library if a shared library was not found).

This option has been the default for a long time, but the command line
flag still exists.  Ignore it for compatibility.
The file was modifiedlld/MachO/Options.td
Commit 3abe7aca455b9a8b9b0f1e1efdaffb50193516dd by wei.huang
[CodeGen] Enable tail call position check for speculatable functions

In the function "Analysis.cpp:isInTailCallPosition", it only checks whether
a call is in a tail call position if the call has side effects, access memory
or it is not safe to speculative execute. Therefore, a speculatable function
will not go through tail call position check and improperly tail called when
it is not in a tail-call position. This patch enables tail call position check
for speculatable functions.

Differential Revision: https://reviews.llvm.org/D80661
The file was addedllvm/test/CodeGen/PowerPC/tailcall-speculatable-callee.ll
The file was modifiedllvm/lib/CodeGen/Analysis.cpp
Commit e94192198f8a949c7880620b06e9ef85d87ad4b3 by Artem Dergachev
[analyzer] Add support for ObjCIndirectCopyRestoreExpr.

Idiomatic objc using ARC will generate this expression regularly due to
NSError out-param passing.  Providing an implementation for this
expression allows the analyzer to explore many more codepaths in ARC
projects.

The current implementation is not perfect but the differences are hopefully
subtle enough to not cause much problems.

rdar://63918914

Differential Revision: https://reviews.llvm.org/D81071
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was addedclang/test/Analysis/objc-indirect-copy-restore.m
Commit 7113271528a4c6efc8b57f25ead28f65b5e48757 by Artem Dergachev
[analyzer] ObjCAutoreleaseWriteChecker: Support explicit autoreleasepools.

The checker currently supports only a whitelist of block-enumeration
methods which are known to internally clear an autorelease pool.
Extend this checker to detect writes within the scope of explicit
@autoreleasepool statements.

rdar://25301111

Differential Revision: https://reviews.llvm.org/D81072
The file was modifiedclang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
The file was modifiedclang/test/Analysis/autoreleasewritechecker_test.m
Commit 62cfa3a0b5d20e6d0d5abe95412ab271d934083c by Louis Dionne
[libc++] Support move construction and assignment in <thread> in C++03

Libc++ provides support for <thread> in C++03 as an extension. Furthermore,
it does not support any compiler that doesn't have rvalue references. It
is hence possible to provide the move constructor and move assignment
operator in C++03.
The file was modifiedlibcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp
The file was modifiedlibcxx/include/thread
The file was modifiedlibcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp
Commit 3713314bfae3dc9a793c152e8a698a2ca1444f6c by frgossen
[MLIR] Shape to standard dialect lowering

Add a new pass to lower operations from the `shape` to the `std` dialect.
The conversion applies only to the `size_to_index` and `index_to_size`
operations and affected types.
Other patterns will be added as needed.

Differential Revision: https://reviews.llvm.org/D81091
The file was addedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was addedmlir/lib/Conversion/ShapeToStandard/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h
The file was addedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
Commit 96e7d19a1f22f5d2018377b70b4c98e0f59ea412 by Jonas Devlieghere
[lldb/Test] Don't print 'command invoked'

The different tools constructing dotest invocations (lit and
lldb-dotest) already print the command invocation so there's no need to
print it again in the dotest output.

My motivation for removing it is that it doesn't include the Python
interpreter and every time I accidentally copy it, the command fails
with an `ImportError`.

Differential revision: https://reviews.llvm.org/D81032
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit bee2c2708f3e38261825439bc8b0fbe8b795854d by noreply
[doc] Fix typo.

The absence of a space here caused this codeblock to be missing from the rendered output.
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 2bbfa6b02b3e5bb2458eae8bc8ef4e1517e994ce by Louis Dionne
[libc++] Fix test broken in C++03 due to requiring C++11 features from vector
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp
Commit 14bb6770f2c6597e61d8a696da28483c66f37aed by yamauchi
[profile] Sync InstrProfData.inc with llvm.

Reviewers: davidxl

Subscribers: #sanitizers, llvm-commits

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D81038
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
Commit f5415f7c5a06e8563c650a3ecfd6435d36ca3a66 by jasonliu
[XCOFF][AIX] Use 'L..' instead of 'L' for PrivateGlobalPrefix

Without this change, names start with 'L' will get created as
temporary symbol in MCContext::createSymbol.

Some other potential prefix considered:
.L, does not work for AIX, as a function start with L will end
up with .L as prefix for its function entry point.

..L could work, but it does not play well with the convention
on AIX that anything start with '.' are considered as entry point.

L. could work, but not sure if it's safe enough, as it's possible
to have suffixes like .something append to a plain L, giving L.something
which is not necessarily a temporary.

That's why we picked L.. for now.

Differential Revision: https://reviews.llvm.org/D80831
The file was modifiedllvm/test/CodeGen/PowerPC/aix-extern-weak.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-abi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-extern.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-jump-table.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-xcoff-externL.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-weak.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix64-cc-byval.ll
The file was modifiedllvm/test/CodeGen/PowerPC/lower-globaladdr32-aix-asm.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-constant-pool-index.ll
The file was modifiedllvm/test/CodeGen/PowerPC/lower-globaladdr64-aix-asm.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-byval.ll
The file was modifiedllvm/lib/MC/MCAsmInfoXCOFF.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-block-address.ll
Commit a9fe69c359de653015c39e413e48630d069abe27 by spatel
[InstSimplify] fix bug in matching or-with-not op (PR46083)
The file was modifiedllvm/test/Transforms/InstSimplify/or.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit ba4afe6f7a8453b24ee0b664e40d157d15a54034 by wanyu9511
[AIX] Change the default target CPU to power4 for AIX on Power

Summary: This patch changes the AIX default target CPU to power4 since this is the the lowest arch for the lowest OS level supported.

Reviewers: hubert.reinterpretcast, cebowleratibm, daltenty

Reviewed By: hubert.reinterpretcast

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80835
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was addedclang/test/Driver/aix-mcpu-default.c
Commit 5f478651eb31ac81acf9a521c3d44c5e1c4af49a by noreply
[doc] Fix use of ` where `` was intended in attribute docs.

`...` is rST syntax for hyperlinks etc. ``...`` should be used for code snippets.
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 9f8ea2e6cf7c855aa4f89993a6c696390cb07d07 by llvm-dev
[VectorCombine] Add multi-use multiply test for D80885
The file was modifiedllvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant.ll