FailedChanges

Summary

  1. [Coroutines] Fix code coverage for coroutine (details)
  2. [AArch64] Remove unnecessary CostKindCheck (NFC). (details)
  3. sanitizer_common_interceptors: Fix lint errors (details)
  4. Revert "Improve the detection of iOS/tvOS/watchOS simulator binaries in" (details)
  5. [CodeGen] Fix warnings in DAGCombiner::visitSCALAR_TO_VECTOR (details)
  6. [X86] Enable multibyte NOPs in 64-bit mode for padding/alignment. (details)
  7. AMDGPU: Clear subreg when folding immediate copies (details)
  8. AMDGPU: Fix handling of target flags when commuting instruction (details)
  9. AMDGPU: Support commuting register and global operand (details)
  10. AMDGPU: Convert AGPR copy test to generated checks (details)
  11. [CodeGen] Add public function to emit C++ destructor call. (details)
  12. Revert "Revert "Improve the detection of iOS/tvOS/watchOS simulator binaries in"" (details)
  13. debugserver: Return a nullptr in GetPlatformString() (details)
  14. [Coroutines] Fix test breakage in D82928 (details)
  15. [Sanitizers] Disable sysmsg interceptors on Android (details)
  16. [LVI][CVP] Handle (x | y) < C style conditions (details)
  17. [LegalizeTypes] Properly handle the case when UpdateNodeOperands in PromoteIntOp_MLOAD triggers CSE instead of updating the node in place. (details)
  18. [IR] Add classof methods to ConstantExpr subclasses. (details)
  19. [X86] Speculatively apply the same fix from 361853c96f46848d2ad0739dfa7613e62e7fb530 to PromoteIntOp_MGATHER. (details)
Commit 565e37c7702d181804c12d36b6010c513c9b3417 by xun
[Coroutines] Fix code coverage for coroutine

Summary:
Previously, source-based coverage analysis does not work properly for coroutine.
This patch adds processing of coroutine body and co_return in the coverage analysis, so that we can handle them properly.
For coroutine body, we should only look at the actual function body and ignore the compiler-generated things; for co_return, we need to terminate the region similar to return statement.
Added a test, and confirms that it now works properly. (without this patch, the statement after the if statement will be treated wrongly)

Reviewers: lewissbaker, modocache, junparser

Reviewed By: modocache

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82928
The file was addedclang/test/CoverageMapping/coroutine.cpp
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
Commit c30da98d478e547428a723354b4fd1e45a7f7003 by flo
[AArch64] Remove unnecessary CostKindCheck (NFC).

Simplification suggested post-commit.
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Commit cc4d523bb600cbf129242dee3167e3acf1d37a6a by guiand
sanitizer_common_interceptors: Fix lint errors
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit 98c3a38a1967ece4e70891aa188c51e29ca0f8d3 by Jonas Devlieghere
Revert "Improve the detection of iOS/tvOS/watchOS simulator binaries in"

This reverts commit 0da0437b2afbd8ebef6b11f114cca33b118e7639 to unbreak
the following tests:

lldb-api.tools/lldb-server.TestAppleSimulatorOSType.py
lldb-api.tools/lldb-server.TestGdbRemoteAttach.py
lldb-api.tools/lldb-server.TestGdbRemoteProcessInfo.py
lldb-api.tools/lldb-server.TestGdbRemoteRegisterState.py
lldb-api.tools/lldb-server.TestGdbRemoteThreadsInStopReply.py
lldb-api.tools/lldb-server.TestLldbGdbServer.py
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.h
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm
The file was modifiedlldb/tools/debugserver/source/DNB.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
Commit f11305780f08969488add6c84439fc91d18692dc by david.sherwood
[CodeGen] Fix warnings in DAGCombiner::visitSCALAR_TO_VECTOR

In visitSCALAR_TO_VECTOR we try to optimise cases such as:

  scalar_to_vector (extract_vector_elt %x)

into vector shuffles of %x. However, it led to numerous warnings
when %x is a scalable vector type, so for now I've changed the
code to only perform the combination on fixed length vectors.
Although we probably could change the code to work with scalable
vectors in certain cases, without a proper profit analysis it
doesn't seem worth it at the moment.

This change fixes up one of the warnings in:

  llvm/test/CodeGen/AArch64/sve-merging-stores.ll

I've also added a simplified version of the same test to:

  llvm/test/CodeGen/AArch64/sve-fp.ll

which already has checks for no warnings.

Differential Revision: https://reviews.llvm.org/D82872
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll
Commit 3367e9dac56024147bbd916c40bfe6a4ee61079b by craig.topper
[X86] Enable multibyte NOPs in 64-bit mode for padding/alignment.

The default CPU used by llvm-mc doesn't have the NOPL feature, but
if we know we're compiling in 64-bit mode we should be able to
use nopl.
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedllvm/test/MC/X86/align-branch-bundle.s
The file was modifiedllvm/test/MC/X86/align-branch-pad-max-prefix.s
Commit 16ea23ff78fafde15bf8b13a0ff503a0dda80ce3 by Matthew.Arsenault
AMDGPU: Clear subreg when folding immediate copies

This was getting reinterpreted as operand target flags, and appearing
as as <unknown target flag>, resulting in unparseable MIR.
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Commit a21544ad11fe443f4c38161630d3f2fc90d098bf by Matthew.Arsenault
AMDGPU: Fix handling of target flags when commuting instruction

If the original register operand had a subregister, it wasn't getting
cleared. This resulted in reinterpreted the subreg index as
unrecognized target flags, which produced unparseable MIR.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/machine-cse-commute-target-flags.mir
Commit 14fe4607f15ecfc3e9423ddb35d025d1f1b67be5 by Matthew.Arsenault
AMDGPU: Support commuting register and global operand
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/machine-cse-commute-target-flags.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/lds-relocs.ll
Commit ba3bafe46a474dca34155043c8cc0ea603db2214 by Matthew.Arsenault
AMDGPU: Convert AGPR copy test to generated checks
The file was modifiedllvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
Commit e7c5da57a5f3fdb6649ff92cb8ba0ce3c4978668 by zoecarver
[CodeGen] Add public function to emit C++ destructor call.

Adds `CodeGen::getCXXDestructorImplicitParam`, to retrieve a C++ destructor's implicit parameter (after the "this" pointer) based on the ABI in the given CodeGenModule.

This will allow other frontends (Swift, for example) to easily emit calls to object destructors with correct ABI semantics and calling convetions.

This is needed for Swift C++ interop. Here's the corresponding Swift change: https://github.com/apple/swift/pull/32291

Differential Revision: https://reviews.llvm.org/D82392
The file was modifiedclang/include/clang/CodeGen/CodeGenABITypes.h
The file was modifiedclang/lib/CodeGen/CGCXXABI.h
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modifiedclang/lib/CodeGen/CodeGenABITypes.cpp
The file was modifiedclang/lib/CodeGen/ABIInfo.h
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
Commit 116b1033738f9a409e502e270dbf1c9e04f5b1ad by Adrian Prantl
Revert "Revert "Improve the detection of iOS/tvOS/watchOS simulator binaries in""

This reverts commit 98c3a38a1967ece4e70891aa188c51e29ca0f8d3.
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py
The file was modifiedlldb/tools/debugserver/source/DNB.cpp
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.h
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm
Commit 278874f07f7315e0f7fda3202597e7ab2e94ed1a by Adrian Prantl
debugserver: Return a nullptr in GetPlatformString()

This un-breaks the testsuite after https://reviews.llvm.org/D82616
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm
Commit ddcf063dd52ff1f30ac27d6f9abce6a45685a2b2 by xun
[Coroutines] Fix test breakage in D82928

Summary: The test file in D82928 generated temp files within the test directory, causing test failures. Fix it.

Reviewers: modocache, fhahn

Reviewed By: modocache

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82986
The file was modifiedclang/test/CoverageMapping/coroutine.cpp
Commit 05d79295df136efd6fd875ead2ba6a0cb50b7997 by guiand
[Sanitizers] Disable sysmsg interceptors on Android
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysmsg.c
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Commit 91836fd7f3c128b4c608bd4b389a64ff4ac1db8a by nikita.ppv
[LVI][CVP] Handle (x | y) < C style conditions

InstCombine may convert conditions like (x < C) && (y < C) into
(x | y) < C (for some C). This patch teaches LVI to recognize that
in this case, it can infer either x < C or y < C along the edge.

This fixes the issue reported at
https://github.com/rust-lang/rust/issues/73827.

Differential Revision: https://reviews.llvm.org/D82715
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
Commit 361853c96f46848d2ad0739dfa7613e62e7fb530 by craig.topper
[LegalizeTypes] Properly handle the case when UpdateNodeOperands in PromoteIntOp_MLOAD triggers CSE instead of updating the node in place.

The caller can't handle the node having multiple results like a
masked load does. So we need to detect the case and do our own
result replacement.

Fixes PR46532.
The file was addedllvm/test/CodeGen/X86/pr46532.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit 779e4d82dea2d0ecb094252dcc679f8f7d256ca0 by efriedma
[IR] Add classof methods to ConstantExpr subclasses.

I didn't notice these were missing when I wrote 1544019.
The file was modifiedllvm/lib/IR/ConstantsContext.h
Commit 51e92b223bf13c3b529220b80ef8bc972e46e564 by craig.topper
[X86] Speculatively apply the same fix from 361853c96f46848d2ad0739dfa7613e62e7fb530 to PromoteIntOp_MGATHER.

The UpdateNodeOperands here is also subject to CSE.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp