FailedChanges

Summary

  1. [AArch64][SVE] Add support for fcmp. (details)
  2. Add a new -fglobal-isel option and make -fexperimental-isel an alias for it. (details)
  3. [gn build] Port 03f43b3aca36 (details)
  4. [mlir][spirv] Change op doc description autogen separator (details)
  5. [docs] Make llvm-addr2line documentation more explicit about which (details)
  6. Re-land "[lldb/Reproducers] Always collect the whole dSYM in the reproducer" (details)
  7. [libc++] Allow running .sh.cpp tests with SSHExecutors (details)
  8. [InstCombine] Report change in non zero phi transform (details)
  9. [InstCombine] Use replaceOperand() in non zero phi transform (details)
  10. [InstCombine] Erase old alloca in cast of alloca transform (details)
  11. [InstCombine] Use replaceOperand() in descaling (details)
  12. Remove "mask" operand from shufflevector. (details)
  13. [InstCombine] Use replaceOperand() in some select transforms (details)
  14. Revert "[InlineFunction] Handle return attributes on call within inlined body" (details)
  15. [cmake] Link libc++ tests against static libc++/libc++abi in CrossWinToARMLinux.cmake (details)
  16. Switch this function to the LLVM variable naming convention, to match the rest of the file. (details)
  17. [pch] Honour -fallow-pch-with-compiler-errors for overall compilation status (details)
  18. [MLIR][NFC] modernize affine.for unroll test pass (details)
  19. Fixed windows failure after D74873 (details)
  20. [clangd] Don't build clangdserver for (most) completion tests. NFC (details)
  21. [libc++] Use 'export' instead of 'env' to run remote commands (details)
  22. [OPENMP50]Allow use of array shaping expression in a list. (details)
  23. [AArch64] Fix mismatch in prologue and epilogue for funclets on Windows (details)
  24. [AArch64] Change AArch64 Windows EH UnwindHelp object to be a fixed object (details)
  25. [Object] Update ObjectFile::makeTriple for XCOFF (details)
  26. [FileCheck] Add missing %ProtectFileCheckOutput to FileCheck tests (details)
Commit dacf8d3562b6c3a46f61b325f8ed20b6dac69cde by efriedma
[AArch64][SVE] Add support for fcmp.

This also requires support for boolean "not", so I added boolean logic
while I was there.

Differential Revision: https://reviews.llvm.org/D76901
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-log.ll
The file was addedllvm/test/CodeGen/AArch64/sve-fcmp.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
Commit 7f1ea924c695f3293ff48f662cd1ec5f44bc1ab6 by Amara Emerson
Add a new -fglobal-isel option and make -fexperimental-isel an alias for it.

Since GlobalISel is maturing and is already on at -O0 for AArch64, it's not
completely "experimental". Create a more appropriate driver flag and make
the older option an alias for it.

Differential Revision: https://reviews.llvm.org/D77103
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/Driver/global-isel.c
Commit 45b6364e8d74f6038e94b760f017e03740acf725 by maskray
[gn build] Port 03f43b3aca36
The file was modifiedllvm/utils/gn/secondary/lld/tools/lld/BUILD.gn
The file was addedllvm/utils/gn/secondary/lld/MachO/BUILD.gn
Commit d26435c1703f1d7f13e8bf78ee390cb7e2490586 by antiagainst
[mlir][spirv] Change op doc description autogen separator

This commit changes the separator line for dividing auto-generated
docs from spec and manually added appendix from "### Custom assembly
form" to "<!-- End of AutoGen section -->". This is in preparation
to use the declarative assembly form in MLIR core. We will replace
more and more manually written assembly forms to be autogenerated.

Differential Revision: https://reviews.llvm.org/D77158
The file was modifiedmlir/utils/spirv/gen_spirv_dialect.py
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBitOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVControlFlowOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVLogicalOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVAtomicOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVNonUniformOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVCompositeOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVGLSLOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVArithmeticOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVGroupOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVCastOps.td
Commit 11ccad6e879573f75dc8b231351ee23a17e0900f by richard
[docs] Make llvm-addr2line documentation more explicit about which
behavior is llvm-addr2line's and which is llvm-symbolizer's.
The file was modifiedllvm/docs/CommandGuide/llvm-addr2line.rst
Commit 015c6cd47557272bb8b92fbf9f5bd2bcb8fa8989 by Jonas Devlieghere
Re-land "[lldb/Reproducers] Always collect the whole dSYM in the reproducer"

The FileCollector in LLDB collects every files that's used during a
debug session when capture is enabled. This ensures that the reproducer
only contains the files necessary to reproduce. This approach is not a
good fit for the dSYM bundle, which is a directory on disk, but should
be treated as a single unit.

On macOS LLDB have automatically find the matching dSYM for a binary by
its UUID. Having a incomplete dSYM in a reproducer can break debugging
even when reproducers are disabled.

This patch adds a was to specify a directory of interest to the
reproducers. It is called from SymbolVendorMacOSX with the path of the
dSYMs used by LLDB.

Differential revision: https://reviews.llvm.org/D76672
The file was modifiedlldb/source/Utility/Reproducer.cpp
The file was addedlldb/test/Shell/Reproducer/TestDSYM.test
The file was modifiedlldb/include/lldb/Utility/Reproducer.h
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
Commit 07e462526d0cbae40b320e1a4307ce11e197fb0a by Louis Dionne
[libc++] Allow running .sh.cpp tests with SSHExecutors

This commit adds a script that can be used as an %{exec} substitution
such that .sh.cpp tests can now run on remote hosts when using the
SSHExecutor.
The file was modifiedlibcxx/test/std/containers/associative/map/PR28469_undefined_behavior_segfault.sh.cpp
The file was addedlibcxx/utils/ssh.py
The file was modifiedlibcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/PR42676.sh.cpp
The file was modifiedlibcxx/utils/libcxx/test/format.py
The file was modifiedlibcxx/test/libcxx/selftest/exec.sh.cpp
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/test/libcxx/selftest/test.sh.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp
The file was modifiedlibcxx/test/libcxx/double_include.sh.cpp
Commit f3d4166368b0449baea1e7d8e043d0fe76930179 by nikita.ppv
[InstCombine] Report change in non zero phi transform

We need to inform InstCombine (and transitively the pass manager)
that we changed an instruction.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
Commit 87357808b807a9270153702975872cab1a569db6 by nikita.ppv
[InstCombine] Use replaceOperand() in non zero phi transform

To make sure the old operand gets DCEd.

NFC apart from worklist order changes.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
Commit 19df7fa892d42f6abd503a9dd6705e130dadf1a7 by nikita.ppv
[InstCombine] Erase old alloca in cast of alloca transform

As we don't return the replaceInstUsesWith() result, we are
responsible for erasing the instruction.

NFC apart from worklist order.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit c538c57d6dae548e644449352d9350d58be9a4af by nikita.ppv
[InstCombine] Use replaceOperand() in descaling

To make sure the old operand gets DCEd.

NFC apart from worklist order.
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 1ee6ec2bf370fbd1d93f34c8b56741a9d3f22ed2 by efriedma
Remove "mask" operand from shufflevector.

Instead, represent the mask as out-of-line data in the instruction. This
should be more efficient in the places that currently use
getShuffleVector(), and paves the way for further changes to add new
shuffles for scalable vectors.

This doesn't change the syntax in textual IR. And I don't currently plan
to change the bitcode encoding in this patch, although we'll probably
need to do something once we extend shufflevector for scalable types.

I expect that once this is finished, we can then replace the raw "mask"
with something more appropriate for scalable vectors.  Not sure exactly
what this looks like at the moment, but there are a few different ways
we could handle it.  Maybe we could try to describe specific shuffles.
Or maybe we could define it in terms of a function to convert a fixed-length
array into an appropriate scalable vector, using a "step", or something
like that.

Differential Revision: https://reviews.llvm.org/D72467
The file was modifiedllvm/include/llvm/IR/PatternMatch.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/IR/Core.cpp
The file was modifiedllvm/include/llvm/IR/ConstantFolder.h
The file was modifiedllvm/include/llvm/Analysis/TargetFolder.h
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVNSink.cpp
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/Transforms/Scalar/NewGVN.cpp
The file was modifiedllvm/include/llvm/IR/NoFolder.h
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedllvm/lib/IR/ConstantsContext.h
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modifiedllvm/lib/IR/Instruction.cpp
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/unittests/IR/PatternMatch.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilderFolder.h
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
The file was modifiedllvm/include/llvm/Analysis/InstructionSimplify.h
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/include/llvm/IR/Constants.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/include/llvm/Analysis/ConstantFolding.h
The file was modifiedllvm/lib/ExecutionEngine/Interpreter/Execution.cpp
The file was modifiedllvm/lib/Target/X86/X86PartialReduction.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/IR/ConstantFold.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/lib/Bitcode/Writer/ValueEnumerator.cpp
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
The file was modifiedllvm/include/llvm/ADT/ArrayRef.h
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
Commit b7fe795e5b3789b50f41377195a5965f41929b53 by nikita.ppv
[InstCombine] Use replaceOperand() in some select transforms

To make sure the old operand is DCEd.

NFC apart from worklist order.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Commit 58a05675daf46b2e9c336dd13ae6ac6dbfdc2c72 by anna
Revert "[InlineFunction] Handle return attributes on call within inlined body"

This reverts commit 28518d9ae39ff5c6044e230d58b6ae28b0252cae.
There is a failure in MsgPackReader.cpp when built with clang. It
complains about "signext and zeroext" are incompatible. Investigating
offline if it is infact a UB in the MsgPackReader code.
The file was modifiedclang/test/CodeGen/builtins-systemz-zvector2.c
The file was modifiedclang/test/CodeGen/movbe-builtins.c
The file was modifiedclang/test/CodeGen/builtins-systemz-zvector.c
The file was removedllvm/test/Transforms/Inline/ret_attr_update.ll
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedclang/test/CodeGen/rot-intrinsics.c
Commit 9a6a696817bd6322d62db21aa17fe395af41f8ae by jaskiewiczs
[cmake] Link libc++ tests against static libc++/libc++abi in CrossWinToARMLinux.cmake

Summary: Now that D72687 has landed, we can enable this setting in our cache file.

Reviewers: vvereschaka

Reviewed By: vvereschaka

Subscribers: mgorny, kristof.beyls, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D76774
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
Commit 9dcb16bc9aff676f45b530398dc75bd52526b0b5 by richard
Switch this function to the LLVM variable naming convention, to match the rest of the file.
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Commit cc3fddb411d55d4d0902a772a9f3db11fc4f002e by blangmuir
[pch] Honour -fallow-pch-with-compiler-errors for overall compilation status

Previously we would emit a PCH with errors, but fail the overall
compilation. If run using the driver, that would result in removing the
just-produced PCH. Instead, we should have the compilation result match
whether we were able to emit the PCH.

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

rdar://61110294
The file was modifiedclang/lib/Serialization/GeneratePCH.cpp
The file was modifiedclang/test/Index/pch-with-errors.c
Commit e1fb9d53727f379be7930e8d8bb24c3c7da2f12a by uday
[MLIR][NFC] modernize affine.for unroll test pass

The walk code here was written before any of the support was
available in IR/. Replace/cleanup.

Differential Revision: https://reviews.llvm.org/D77166
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
Commit 7e4e9f4a2fcb096778fb81fc96da6bb8aa966661 by Stanislav.Mekhanoshin
Fixed windows failure after D74873

Print format LaneBitmask was set as "%016lX" but should be
"%016llX" for 64 bit support on Windows.
The file was modifiedllvm/include/llvm/MC/LaneBitmask.h
Commit 2dee4d44297220655786d3fddd471cdf99fa8e5a by sam.mccall
[clangd] Don't build clangdserver for (most) completion tests. NFC
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TweakTesting.h
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.h
Commit 1c0dd57cd3e253b2ac7036366ef91e286422c830 by Louis Dionne
[libc++] Use 'export' instead of 'env' to run remote commands

This allows running commands that use shell builtins remotely too, when
'env' would complain that it can't find the program.
The file was modifiedlibcxx/utils/ssh.py
Commit 9b3bf72a0d7918601e8005554592fcb4949a822e by a.bataev
[OPENMP50]Allow use of array shaping expression in a list.

Need to allow arrayshaping expression in a list of expressions, so use
ParseAssignmentExpression() when try to parse the base of the shaping
operation.
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/test/OpenMP/task_ast_print.cpp
Commit 522b4c4b88a5606b0074926e8658e7fede97c230 by efriedma
[AArch64] Fix mismatch in prologue and epilogue for funclets on Windows

The generated code for a funclet can have an add to sp in the epilogue
for which there is no corresponding sub in the prologue.

This patch removes the early return from emitPrologue that was
preventing the sub to sp, and instead conditionalizes the appropriate
parts of the rest of the function.

Fixes https://bugs.llvm.org/show_bug.cgi?id=45345

Differential Revision: https://reviews.llvm.org/D77015
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/funclet-match-add-sub-stack.ll
Commit 494abe139a9aab991582f1b3f3370b99b252944c by efriedma
[AArch64] Change AArch64 Windows EH UnwindHelp object to be a fixed object

The UnwindHelp object is used during exception handling by runtime
code. It must be findable from a fixed offset from FP.

This change allocates the UnwindHelp object as a fixed object (as is
done for x86_64) to ensure that both the generated code and runtime
agree on the location of the object.

Fixes https://bugs.llvm.org/show_bug.cgi?id=45346

Differential Revision: https://reviews.llvm.org/D77016
The file was addedllvm/test/CodeGen/AArch64/wineh-unwindhelp-via-fp.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh-try-catch-realign.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh-try-catch-cbz.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/seh-finally.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh-try-catch.ll
Commit 478af4479ab65b90a4c7bd6460ff685d8e95d625 by hubert.reinterpretcast
[Object] Update ObjectFile::makeTriple for XCOFF

Summary:
When we encounter an XCOFF file, reflect that in the triple information.
In addition to knowing the object file format, we know that the
associated OS is AIX.

This means that we can expect that there is no output difference in the
processing of an XCOFF32 input file between cases where the triple is
left unspecified by the user and cases where the user specifies
`--triple powerpc-ibm-aix` explicitly.

Reviewers: jhenderson, sfertile, jasonliu, daltenty

Reviewed By: jasonliu

Subscribers: wuzish, nemanjai, hiraditya, MaskRay, rupprecht, steven.zhang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77025
The file was modifiedllvm/lib/Object/ObjectFile.cpp
The file was modifiedllvm/test/tools/llvm-objdump/XCOFF/disassemble-all.test
The file was modifiedllvm/test/CodeGen/PowerPC/aix-return55.ll
Commit 8f8c4950fead500bf1086f36f21b0b52e93b2b05 by jdenny.ornl
[FileCheck] Add missing %ProtectFileCheckOutput to FileCheck tests

I'm committing this fixup without review because it's an obvious
continuation of D65121 (committed at f471eb8e99b5).
The file was modifiedllvm/test/FileCheck/numeric-defines-diagnostics.txt
The file was modifiedllvm/test/FileCheck/numeric-expression.txt