SuccessChanges

Summary

  1. [clang] Update `ignoringElidableConstructorCall` matcher to ignore (details)
  2. [AArch64] Do not emit '#' before immediates in inline asm (details)
  3. [globalisel][legalizer] Attempt to write down the minimal legalization (details)
  4. clang: Diag running out of file handles while looking for files (details)
  5. Recommit Devirtualize destructor of final class. (details)
  6. [X86] Make CMPXCHG16B feature imply CMPXCHG8B feature. (details)
  7. [lld][WebAssembly] Use createGlobalVariable helper function. NFC. (details)
Commit 57f471f4ff431cfc29ea0849a42829cc52e5f40a by yitzhakm
[clang] Update `ignoringElidableConstructorCall` matcher to ignore
`ExprWithCleanups`.
Summary: The `ExprWithCleanups` node is added to the AST along with the
elidable CXXConstructExpr.  If it is the outermost node of the node
being matched, ignore it as well.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D65944
llvm-svn: 368319
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h (diff)
The file was modifiedclang/docs/LibASTMatchersReference.html (diff)
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp (diff)
Commit 0cb2a33dfd3e87a01d5eab3effbe033db10300eb by pirama
[AArch64] Do not emit '#' before immediates in inline asm
Summary: The A64 assembly language does not require the '#' character to
introduce constant immediate operands.  Avoid the '#' since the AArch64
asm parser does not accept '#' before the lane specifier and rejects the
following:
__asm__ ("fmla v2.4s, v0.4s, v1.s[%0]" :: "I"(0x1))
Fix a test to not expect the '#' and add a new test case with the above
asm.
Fixes: https://github.com/android-ndk/ndk/issues/1036
Reviewers: peter.smith, kristof.beyls
Subscribers: javed.absar, hiraditya, llvm-commits, srhines
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65550
llvm-svn: 368320
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/arm64-inline-asm.ll (diff)
Commit 5b40eb0572256d8f9606ac17397dafa6137e96fc by daniel_l_sanders
[globalisel][legalizer] Attempt to write down the minimal legalization
rules
Summary: There aren't very many requirements on the legalization rules
but we should document them.
Reviewers: aditya_nandakumar, volkan, bogner, paquette, aemerson, rovka,
arsenm, Petar.Avramovic
Subscribers: wdng, kristof.beyls, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D62423
# Conflicts:
# llvm/docs/GlobalISel.rst
llvm-svn: 368321
The file was modifiedllvm/docs/GlobalISel.rst (diff)
Commit babdfdec90bb978799bcccf1ee0c856678b0ef7b by nicolasweber
clang: Diag running out of file handles while looking for files
clang would only print "file not found" when it's unable to find a
header file.  If the reason for that is a file handle leak, that's not a
very useful error message.  For errors that aren't in a small whitelist
("file not found", "file is directory"), print an error with the
strerror() output.
This changes behavior in corner cases: If clang was out of file handles
while looking in one -I dir but then suddenly wasn't when looking in the
next -I dir, and both directories contained a file with the desired
name, previously we'd silently return the file from the second
directory. For this reason, it's important to ignore "is a directory"
for this new diag: if a file foo/foo exists and -I -Ifoo are passed, an
include of "foo" should successfully open file "foo" in directory "foo/"
instead of complaining that "./foo" is a directory.
No test since we mostly hit this when there's a handle leak somewhere,
and currently there isn't one. I manually tested this with the repro
steps in comment 2 on the bug below.
Fixes PR42524.
Differential Revision: https://reviews.llvm.org/D65956
llvm-svn: 368322
The file was modifiedclang/lib/Lex/HeaderSearch.cpp (diff)
Commit cb30590da10ba80a133222588efedab7e5fc9bdd by yamauchi
Recommit Devirtualize destructor of final class.
Original patch commited as r364100, reverted as r364359, recommitted as
r365509, reverted as r365850.
llvm-svn: 368323
The file was addedclang/test/CodeGenCXX/devirtualize-dtor-final.cpp
The file was modifiedclang/lib/CodeGen/CGExprCXX.cpp (diff)
Commit 9d55e2c85e6636898f58487aea8832d858e7e682 by craig.topper
[X86] Make CMPXCHG16B feature imply CMPXCHG8B feature.
This fixes znver1 so that it properly enables CMPXHG8B. We can probably
remove explicit CMPXCHG8B from CPUs that also have CMPXCHG16B, but
keeping this simple to allow cherry pick to 9.0.
Fixes PR42935.
llvm-svn: 368324
The file was modifiedllvm/test/CodeGen/X86/cmpxchg8b.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86.td (diff)
Commit ad1cc145e8bb34666a7efad55e5972799eb7ca20 by sbc
[lld][WebAssembly] Use createGlobalVariable helper function. NFC.
Differential Revision: https://reviews.llvm.org/D65911
llvm-svn: 368325
The file was modifiedlld/wasm/Driver.cpp (diff)