AbortedChanges

Summary

  1. [PowerPC] Add vec_vupkhpx and vec_vupklpx for XL compatibility (details)
  2. [AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description. (details)
  3. [ARM][AArch64] Correct __ARM_FEATURE_CRYPTO macro and crypto feature (details)
  4. [RISCV] Add the DebugLoc parameter to getVLENFactoredAmount(). (details)
  5. [ARM] Define CPSR on MEMCPY pseudos (details)
  6. [ARM] Expand predecessor search to multiple blocks when reverting WhileLoopStarts (details)
  7. [utils] Don't print username in arcanist clang format message (details)
  8. [clangd] Always default to raw pch format (details)
  9. [rs4gc] Strip memory related attributes consistently (details)
  10. [AArch64][SVE] Add unpredicated vector BIC ISD node (details)
  11. Bump googletest to 1.8.1 (details)
Commit 7cd2833311ab614775bc695e7bb808159a02e2a9 by nemanja.i.ibm
[PowerPC] Add vec_vupkhpx and vec_vupklpx for XL compatibility

These are old names for these functions that XL still supports.
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedclang/test/CodeGen/builtins-ppc-altivec.c
Commit 434b278cde81800eb23a0496d9f6abdbc30e15bc by dmitry.preobrazhensky
[AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description.

Summary of changes:
- added description of GFX90A;
- minor bugfixing and improvements.
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_7.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssrc_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_m.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdst_7.rst
The file was addedllvm/docs/AMDGPU/gfx90a_simm32_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_hwreg.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vaddr_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdst_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vsrc.rst
The file was addedllvm/docs/AMDGPU/gfx90a_imm16_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdata.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_9.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssrc_2.rst
The file was modifiedllvm/docs/AMDGPU/gfx10_offset_smem_plain.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_8.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_9.rst
The file was addedllvm/docs/AMDGPU/AMDGPUAsmGFX90a.rst
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdst_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssrc.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdata_1.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_offset_smem_buf.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vsrc_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vaddr_4.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdst_3.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sbase_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_10.rst
The file was addedllvm/docs/AMDGPU/gfx90a_type_deviation.rst
The file was addedllvm/docs/AMDGPU/gfx90a_saddr_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_soffset_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_18.rst
The file was modifiedllvm/docs/AMDGPUOperandSyntax.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_5.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdst_4.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_13.rst
The file was addedllvm/docs/AMDGPU/gfx90a_msg.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vsrc_4.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_6.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssrc_8.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_imask.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_3.rst
The file was addedllvm/docs/AMDGPU/gfx90a_srsrc_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_6.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_10.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_11.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_16.rst
The file was addedllvm/docs/AMDGPU/gfx90a_saddr.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_imm16.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vaddr.rst
The file was addedllvm/docs/AMDGPU/gfx90a_soffset_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdata_4.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vsrc_3.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssrc_5.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_15.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_offset_smem_plain.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vsrc_5.rst
The file was addedllvm/docs/AMDGPU/gfx90a_imm16_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_simm32_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vaddr_5.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_9.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vaddr_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_7.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vaddr_3.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata0_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssrc_6.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sbase.rst
The file was addedllvm/docs/AMDGPU/gfx90a_opt.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssamp.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_11.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vsrc_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sbase_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_7.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssrc_4.rst
The file was modifiedllvm/docs/AMDGPU/gfx10_offset_smem_buf.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdata_2.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssrc_3.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_4.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_5.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_3.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_10.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_4.rst
The file was addedllvm/docs/AMDGPU/gfx90a_waitcnt.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdata_3.rst
The file was addedllvm/docs/AMDGPU/gfx90a_probe.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_12.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vcc.rst
The file was modifiedllvm/docs/AMDGPUModifierSyntax.rst
The file was addedllvm/docs/AMDGPU/gfx90a_fx_operand.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_19.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdst.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_dst.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata_6.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_8.rst
The file was addedllvm/docs/AMDGPU/gfx90a_soffset.rst
The file was addedllvm/docs/AMDGPU/gfx90a_label.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata0.rst
The file was addedllvm/docs/AMDGPU/gfx90a_simm32.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdst_5.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdata_5.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_8.rst
The file was addedllvm/docs/AMDGPU/gfx90a_srsrc.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_3.rst
The file was addedllvm/docs/AMDGPU/gfx90a_sdst_6.rst
The file was addedllvm/docs/AMDGPU/gfx90a_src_5.rst
The file was addedllvm/docs/AMDGPU/gfx90a_m_1.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_14.rst
The file was addedllvm/docs/AMDGPU/gfx90a_ssrc_7.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_4.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdst_17.rst
The file was addedllvm/docs/AMDGPU/gfx90a_vdata1_1.rst
Commit 3d59f9d22440645ca0237dfc5d91ca09f749174b by david.candler
[ARM][AArch64] Correct __ARM_FEATURE_CRYPTO macro and crypto feature

This patch contains a couple of minor corrections to my previous
crypto patch:

Since both AArch32 and AArch64 are now correctly setting the aes and
sha2 features individually, it is not necessary to continue to check
the crypto feature when defining feature macros.

In the AArch32 driver, the feature vector is only modified when the
crypto feature is actually in the vector. If crypto is not present,
there is no need to split it and explicitly define crypto/sha2/aes.

Reviewed By: lenary

Differential Revision: https://reviews.llvm.org/D102406
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modifiedclang/lib/Basic/Targets/AArch64.cpp
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
Commit b41e1306b80f20a857f0e285e51ea453eb7888a1 by kai.wang
[RISCV] Add the DebugLoc parameter to getVLENFactoredAmount().

The MachineBasicBlock::iterator is continuously changing during
generating the frame handling instructions. We should use the DebugLoc
from the caller, instead of getting it from the changing iterator.

If the prologue instructions located in a basic block without any other
instructions after these prologue instructions, the iterator will be
updated to the boundary of the basic block and it is invalid to use the
iterator to access DebugLoc. This patch also fixes the crash when
accessing DebugLoc using the iterator.

Differential Revision: https://reviews.llvm.org/D102386
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.h
The file was addedllvm/test/CodeGen/RISCV/rvv/get-vlen-debugloc.mir
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Commit 11b34e78c1e2fd5e7cec224d99400216334e2893 by david.green
[ARM] Define CPSR on MEMCPY pseudos

These pseudos are converted post-isel into t2WhileLoopStart and
t2LoopEnd/LoopDec instructions, which themselves are defined to clobber
CPSR. Doing the same with the MEMCPY nodes will make sure they are
scheduled correctly to not end up with incorrect uses.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-tp-loop.mir
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-tp-loop.ll
Commit ce76093c3c860599ceb3d588fb80700cd69f1b46 by david.green
[ARM] Expand predecessor search to multiple blocks when reverting WhileLoopStarts

We were previously only searching a single preheader for call
instructions when reverting WhileLoopStarts to DoLoopStarts. This
extends that to multiple blocks that can come up when, for example a
loop is expanded from a memcpy. It also expends the instructions from
just Call's to also include other LoopStarts, to catch other low
overhead loops in the preheader.

Differential Revision: https://reviews.llvm.org/D102269
The file was modifiedllvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wls-search-pred.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/memcall.ll
Commit 810d4a6ff6d0b9c90f7720a7825a65f5356e4bba by david.spickett
[utils] Don't print username in arcanist clang format message

I didn't realise this message was also posted to the phabricator review.

Just say "the user's local path". "local" is the important part,
the username is not important.
The file was modifiedutils/arcanist/clang-format.sh
Commit ed339111bff690c6ba87d5e25c50bcad6793a309 by kadircet
[clangd] Always default to raw pch format

Clang would emit a fatal error when it encounters an unregistered PCH
format. This change ensures clangd will always use raw format no matter what
user specifies.

As side effects:

- serializing an AST in an unknown format might throw off build
systems. I suppose this would only be an issue when build system and clangd are
racing for same PCM modules, hopefully this should be rare and both clangd or
the build system should recover on the next run.

- whenever clang reads a serialized AST it seems to be checking for file
signature and emitting non-fatal errors. so this should be fine again.

The only other valid module format in clang is `obj` but it is part of codegen,
i don't think it is worth the dependency. Hence chosing to not register it, at
least yet.

Differential Revision: https://reviews.llvm.org/D102418
The file was modifiedclang-tools-extra/clangd/unittests/ModulesTests.cpp
The file was modifiedclang-tools-extra/clangd/Compiler.cpp
Commit 3f1c218318ed2e4f37d169f1bfbb39be657dc0b4 by listmail
[rs4gc] Strip memory related attributes consistently

I noticed that rs4gc is not stripping a number of memory aliasing related attributes. We do strip some from call sites, but don't strip the same ones from declarations or parameters.

Why do we need to strip these? Two answers:

    Safepoints conceptually read and write to the entire garbage collected heap in the physical model. We need this to preserve ordering of all loads and stores with respect to possible relocation.
    We can infer other attributes from these. For instance, readnone can imply both nofree and nosync. Both of which don't hold after physical rewriting.

Note: This exposed a latent issue which was fixed a couple weeks back in 01801d5274.

Differential Revision: https://reviews.llvm.org/D99802
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/strip-invalid-attributes.ll
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Commit 90ffcb124566eba54e50ff29f479a6adcd726ae4 by bradley.smith
[AArch64][SVE] Add unpredicated vector BIC ISD node

Addition of this node allows us to better utilize the different forms of
the SVE BIC instructions, including using the alias to an AND (immediate).

Differential Revision: https://reviews.llvm.org/D101831
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-unpred-form.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-logical-imm.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 4dd546131ad2749fbde3e048583cf29d615b9851 by benny.kra
Bump googletest to 1.8.1

We've accumulated a scary amount of local patches to this directory. I
tried to merge them all, but if your favorite change is missing please
reapply it manually (and send it upstream).
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-cardinalities.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-generated-function-mockers.h
The file was modifiedllvm/utils/unittest/googletest/src/gtest-death-test.cc
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest-test-part.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest-param-test.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-more-actions.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest-printers.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-filepath.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-actions.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest_pred_impl.h
The file was modifiedllvm/utils/unittest/googletest/src/gtest-all.cc
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-string.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/internal/gmock-port.h
The file was modifiedllvm/unittests/ADT/OptionalTest.cpp
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/custom/gtest-printers.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-port-arch.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-generated-actions.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-death-test-internal.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-generated-nice-strict.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-internal.h
The file was modifiedllvm/utils/unittest/googletest/src/gtest.cc
The file was modifiedllvm/utils/unittest/googletest/src/gtest-typed-test.cc
The file was modifiedllvm/utils/unittest/googlemock/src/gmock-spec-builders.cc
The file was modifiedclang/unittests/Format/FormatTestObjC.cpp
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest-typed-test.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/custom/gtest-port.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h
The file was modifiedllvm/utils/unittest/googlemock/src/gmock-all.cc
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/custom/gtest.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/internal/custom/gmock-matchers.h
The file was modifiedllvm/utils/unittest/googletest/src/gtest-filepath.cc
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/internal/custom/gmock-port.h
The file was modifiedllvm/utils/unittest/googletest/README.LLVM
The file was modifiedllvm/utils/unittest/googletest/src/gtest-port.cc
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-type-util.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest-death-test.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-matchers.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-param-util-generated.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h
The file was modifiedllvm/utils/unittest/googletest/src/gtest-printers.cc
The file was modifiedllvm/utils/unittest/googlemock/src/gmock-matchers.cc
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest-spi.h
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedllvm/utils/unittest/googletest/src/gtest-internal-inl.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-linked_ptr.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest-message.h
The file was modifiedllvm/utils/unittest/googletest/src/gtest-test-part.cc
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-spec-builders.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/gtest_prod.h
The file was modifiedllvm/utils/unittest/googlemock/src/gmock.cc
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-more-matchers.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-generated-matchers.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-param-util.h
The file was modifiedllvm/utils/unittest/googletest/include/gtest/internal/gtest-tuple.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/internal/gmock-internal-utils.h
The file was modifiedllvm/utils/unittest/googlemock/README.LLVM
The file was modifiedllvm/utils/unittest/googlemock/src/gmock-cardinalities.cc
The file was modifiedllvm/utils/unittest/googlemock/src/gmock-internal-utils.cc