SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [WebAssembly] Fix signature of __powitf2 libcall (details)
  2. [ObjC][ARC] Keep track of phis that have been discovered to avoid an (details)
  3. [LegalizeDAG][X86][AMDGPU] Use ANY_EXTEND instead of ZERO_EXTEND when (details)
  4. [Driver][test] Fix Driver/hexagon-toolchain-elf.c for (details)
  5. [Driver][test] Refactor LLVMgold tests (details)
  6. [Driver] Don't pass -plugin LLVMgold.so when the linker is ld.lld (details)
  7. [Driver][test] Create empty file (details)
  8. [TargetLowering] Remove isDesirableToCombineBuildVectorToShuffleTruncate (details)
  9. [X86][SSE] Show isNegatibleForFree inability to peek through (details)
  10. [X86][SSE] Add X86ISD::FRCP handling to isNegatibleForFree (details)
  11. ArrayRef'ize spillCalleeSavedRegisters. NFCI. (details)
  12. Add missing encoding comments from fma4 folded intrinsics tests (details)
  13. Use heterogenous lookup for std;:map<std::string with a StringRef. NFCI. (details)
  14. Support -fstack-clash-protection for x86 (details)
  15. [DebugInfo] Allow reading an address table with a mismatched address. (details)
  16. Revert "[ARM] Improve codegen of volatile load/store of i64" (details)
  17. Revert "Support -fstack-clash-protection for x86" (details)
  18. Drop some uses of StringLiteral in favor of StringRef (details)
  19. [X86] Standardize VPSLLDQ/VPSRLDQ enum names (PR31079) (details)
  20. Put back makeArrayRef to make GCC 5 happy (details)
  21. Add missing encoding comments from fma scalar folded intrinsics tests (details)
  22. Regenerate FMA tests (details)
  23. [InstCombine] Fix infinite loop in min/max load/store bitcast combine (details)
  24. [InstCombine] Use swapValues(); NFC (details)
  25. [InstCombine] Avoid modifying instructions in-place (details)
  26. [InstCombine] Remove unnecessary worklist push; NFCI (details)
  27. [X86] Standardize BROADCAST enum names (PR31079) (details)
Commit caeb6cfbc28088fcb5363b2961df888501ca8a47 by sbc
[WebAssembly] Fix signature of __powitf2 libcall
Add tests for @llvm.powi.f64/f128.
See: https://llvm.org/docs/LangRef.html#llvm-powi-intrinsic
Differential Revision: https://reviews.llvm.org/D74274
The file was modifiedllvm/test/CodeGen/WebAssembly/libcalls.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
Commit 4dcc029edbe4bd5e30d4f0cdcf123ea4ed2b6418 by Akira
[ObjC][ARC] Keep track of phis that have been discovered to avoid an
infinite loop
This fixes a bug introduced in 6770fbb31450db15d8d4a2ac7f0ce70eaf2acc5f.
rdar://problem/59137105
The file was modifiedllvm/test/Transforms/ObjCARC/inert-global.ll
The file was modifiedllvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
Commit 2af1640f9aa4ebe5d447586bbdad6514312bb814 by craig.topper
[LegalizeDAG][X86][AMDGPU] Use ANY_EXTEND instead of ZERO_EXTEND when
promoting ISD::CTTZ/CTTZ_ZERO_UNDEF.
Summary: For CTTZ we place a set bit just past where the non-promoted
type stopped so the extended bits won't be used for the count. For
CTTZ_ZERO_UNDEF we don't care what happens if no bits are set in the
original type and we end up counting into the extended bits. So we can
just use ANY_EXTEND for both cases.
This matches what is done in type legalization for these operations. We
make no effort to force the upper bits to zero.
Differential Revision: https://reviews.llvm.org/D74111
The file was modifiedllvm/test/CodeGen/X86/clz.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Commit 8d4fe864c4bdc53b3e6a2df43112520cb646afcf by maskray
[Driver][test] Fix Driver/hexagon-toolchain-elf.c for
-DCLANG_DEFAULT_LINKER=lld builds after
305bf5b21dbdb2345ef86b5700285e42d992c954
The file was modifiedclang/test/Driver/hexagon-toolchain-elf.c
Commit 70e0935256fc173fbc57c7333727ab222af476eb by maskray
[Driver][test] Refactor LLVMgold tests
LLVMgold.so tests are duplicated in several places. Deduplicate them.
Move the tests to lto.c and lto.cu Specify -fuse-ld=bfd or
-fuse-ld=gold.
In a future change, if -fuse-ld=lld or CLANG_DEFAULT_LINKER=lld without
-fuse-ld=, we will remove -plugin /path/to/LLVMgold.so
The file was modifiedclang/test/Driver/freebsd.c
The file was modifiedclang/test/Driver/lto.cu
The file was modifiedclang/test/Driver/thinlto.c
The file was modifiedclang/test/Driver/thinlto.cu
The file was removedclang/test/Driver/lto-plugin-linux.c
The file was removedclang/test/Driver/gold-lto.c
The file was removedclang/test/Driver/lto-plugin-darwin.c
The file was removedclang/test/Driver/lto-plugin-windows.c
The file was modifiedclang/test/Driver/lto.c
Commit 8aa3f507c38a2ccd8ed7cb33d02a6f645cdbc03a by maskray
[Driver] Don't pass -plugin LLVMgold.so when the linker is ld.lld
This is does not cover the case when ld is lld (e.g. /usr/bin/ld on
modern FreeBSD systems).
The file was modifiedclang/test/Driver/lto.cu
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/test/Driver/lto.c
Commit 6589a2914762eb6c2a1181c6b71edbb5d09130b2 by maskray
[Driver][test] Create empty file
Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.lld
To make lto.c and lto.cu pass for systems that do not have ld.lld
The file was addedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.lld
Commit 4229f12a22a28d17ab49a3478928852fd212fc2a by llvm-dev
[TargetLowering] Remove isDesirableToCombineBuildVectorToShuffleTruncate
target hook. NFC.
This hasn't been used for years, its original implementation, D35700,
had bugs that caused the reversion of most of the code, and since then
x86 shuffle lowering/combining has handled most cases and can deal with
the rest as well.
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 63e338be2cc6a4ab7a95ca7cf264928d41778ff4 by llvm-dev
[X86][SSE] Show isNegatibleForFree inability to peek through
X86ISD::FRCP
We can safely negate the input of RCP but we can't peek through it.
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine-2.ll
Commit 7f5b3fa73c39be2491a74283080a35b7140972d3 by llvm-dev
[X86][SSE] Add X86ISD::FRCP handling to isNegatibleForFree
Peek through X86ISD::FRCP nodes to see if there is a negatible input.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine-2.ll
Commit e4230a9f6c518209cf0d9fdac1764dadd525b513 by benny.kra
ArrayRef'ize spillCalleeSavedRegisters. NFCI.
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/XCore/XCoreFrameLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCFrameLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was modifiedllvm/lib/Target/ARM/Thumb1FrameLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.h
The file was modifiedllvm/lib/Target/AVR/AVRFrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.h
The file was modifiedllvm/lib/Target/ARC/ARCFrameLowering.cpp
The file was modifiedllvm/lib/Target/MSP430/MSP430FrameLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCFrameLowering.cpp
The file was modifiedllvm/lib/Target/AVR/AVRFrameLowering.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/Target/ARC/ARCFrameLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.h
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.h
The file was modifiedllvm/lib/Target/XCore/XCoreFrameLowering.cpp
The file was modifiedllvm/lib/Target/MSP430/MSP430FrameLowering.h
The file was modifiedllvm/lib/Target/ARM/Thumb1FrameLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZFrameLowering.h
The file was modifiedllvm/include/llvm/CodeGen/MachineFrameInfo.h
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
The file was modifiedllvm/lib/Target/Mips/Mips16FrameLowering.cpp
The file was modifiedllvm/lib/Target/Mips/Mips16FrameLowering.h
The file was modifiedllvm/lib/Target/Mips/Mips16InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
Commit ed92ac73aff55211b0b67537fc36e663815cc9f7 by llvm-dev
Add missing encoding comments from fma4 folded intrinsics tests
The file was modifiedllvm/test/CodeGen/X86/fma4-intrinsics-x86_64-folded-load.ll
Commit ef83d46b6b428fa1c8614cd28ab6fe3f07f8d075 by benny.kra
Use heterogenous lookup for std;:map<std::string with a StringRef. NFCI.
The file was modifiedllvm/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedllvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
The file was modifiedclang/include/clang/Lex/HeaderSearchOptions.h
The file was modifiedclang/lib/Lex/HeaderSearch.cpp
The file was modifiedclang/include/clang/Frontend/CompilerInstance.h
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
Commit e229017732bcf1911210903ee9811033d5588e0d by sguelton
Support -fstack-clash-protection for x86
Implement protection against the stack clash attack [0] through inline
stack probing.
Probe stack allocation every PAGE_SIZE during frame lowering or dynamic
allocation to make sure the page guard, if any, is touched when touching
the stack, in a similar manner to GCC[1].
This extends the existing `probe-stack' mechanism with a special value
`inline-asm'. Technically the former uses function call before stack
allocation while this patch provides inlined stack probes and chunk
allocation.
Only implemented for x86.
[0] https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt
[1] https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00556.html
This a recommit of 39f50da2a357a8f685b3540246c5d762734e035f with better
option handling and more portable testing
Differential Revision: https://reviews.llvm.org/D68720
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was addedllvm/test/CodeGen/X86/stack-clash-dynamic-alloca.ll
The file was modifiedllvm/lib/Target/X86/X86CallFrameOptimization.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticCommonKinds.td
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was addedllvm/test/CodeGen/X86/stack-clash-medium.ll
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was addedllvm/test/CodeGen/X86/stack-clash-small.ll
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was addedllvm/test/CodeGen/X86/stack-clash-large.ll
The file was addedllvm/test/CodeGen/X86/stack-clash-no-free-probe.ll
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was addedllvm/test/CodeGen/X86/stack-clash-unknown-call.ll
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/CodeGen/stack-clash-protection.c
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was addedllvm/test/CodeGen/X86/stack-clash-medium-natural-probes-mutliple-objects.ll
The file was addedllvm/test/CodeGen/X86/stack-clash-medium-natural-probes.ll
The file was addedclang/test/Driver/stack-clash-protection.c
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.h
Commit 1ea99a2ebcb6dd5ce3d8c6bd3e35774daa8ed203 by ikudrin
[DebugInfo] Allow reading an address table with a mismatched address.
This case does not look as an unrecoverable error.
Differential Revision: https://reviews.llvm.org/D74194
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_address_size_mismatch.s
Commit af2a38458197e07cbd03ea9446714008488826d8 by victor.campos
Revert "[ARM] Improve codegen of volatile load/store of i64"
This reverts commit 60e0120c913dd1d4bfe33769e1f000a076249a42.
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was removedllvm/test/CodeGen/ARM/i64_volatile_load_store.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Commit 658495e6ecd4f6e9422307379ce8ea959fea8e8f by sguelton
Revert "Support -fstack-clash-protection for x86"
This reverts commit e229017732bcf1911210903ee9811033d5588e0d.
Failures:
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-debian/builds/2604
http://lab.llvm.org:8011/builders/llvm-clang-win-x-aarch64/builds/4308
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was removedllvm/test/CodeGen/X86/stack-clash-medium-natural-probes-mutliple-objects.ll
The file was removedllvm/test/CodeGen/X86/stack-clash-medium.ll
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was removedclang/test/CodeGen/stack-clash-protection.c
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was removedllvm/test/CodeGen/X86/stack-clash-medium-natural-probes.ll
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was removedllvm/test/CodeGen/X86/stack-clash-unknown-call.ll
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was removedllvm/test/CodeGen/X86/stack-clash-no-free-probe.ll
The file was modifiedclang/include/clang/Basic/DiagnosticCommonKinds.td
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/include/clang/Driver/Options.td
The file was removedllvm/test/CodeGen/X86/stack-clash-dynamic-alloca.ll
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was removedllvm/test/CodeGen/X86/stack-clash-small.ll
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was removedllvm/test/CodeGen/X86/stack-clash-large.ll
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedllvm/lib/Target/X86/X86CallFrameOptimization.cpp
The file was removedclang/test/Driver/stack-clash-protection.c
Commit ec93c758ced7fa8ae1b5042039dd326ef1db45ef by benny.kra
Drop some uses of StringLiteral in favor of StringRef
StringRef can be used in constexpr contexts, so StringLiteral isn't
necessary anymore.
The file was modifiedmlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h
The file was modifiedmlir/lib/Dialect/VectorOps/VectorOps.cpp
Commit 0ed79e9b8fbcc0c7fafa21cb1a606e64fd0d63e9 by llvm-dev
[X86] Standardize VPSLLDQ/VPSRLDQ enum names (PR31079)
Tweak EVEX implementation names so it matches the other variants
The file was modifiedllvm/lib/Target/X86/X86InstrFoldTables.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/test/CodeGen/X86/evex-to-vex-compress.mir
Commit 7355364f63eac9d20c0abb5ce213ba478e8ea8f1 by benny.kra
Put back makeArrayRef to make GCC 5 happy
The file was modifiedmlir/lib/Dialect/VectorOps/VectorOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h
Commit 2398752f37c5c1a377912d3d6aa416d3b06a4f30 by llvm-dev
Add missing encoding comments from fma scalar folded intrinsics tests
The file was modifiedllvm/test/CodeGen/X86/fma-scalar-memfold.ll
Commit c8bc89a933fc5e6fe160cffbd6e6a0aca0277cd9 by llvm-dev
Regenerate FMA tests
The file was modifiedllvm/test/CodeGen/X86/fma-commute-x86.ll
The file was modifiedllvm/test/CodeGen/X86/fmaddsub-combine.ll
The file was modifiedllvm/test/CodeGen/X86/intersect-fma-fmf.ll
The file was modifiedllvm/test/CodeGen/X86/extended-fma-contraction.ll
The file was modifiedllvm/test/CodeGen/X86/fma-intrinsics-phi-213-to-231.ll
Commit 23db9724d0e5490fa5a2a726acf015f84e2c87cf by nikita.ppv
[InstCombine] Fix infinite loop in min/max load/store bitcast combine
(PR44835)
Fixes https://bugs.llvm.org/show_bug.cgi?id=44835. Skip the transform if
it wouldn't actually do anything (apart from removing and reinserting
the same instructions).
Note that the test case doesn't loop on current master anymore, only on
the LLVM 10 release branch. The issue is already mitigated on master due
to worklist order fixes, but we should fix the root cause there as well.
As a side note, we should probably assert in combineLoadToNewType() that
it does not combine to the same type. Not doing this here, because this
assertion would also be triggered in another place right now.
Differential Revision: https://reviews.llvm.org/D74278
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was addedllvm/test/Transforms/InstCombine/pr44835.ll
Commit 9d03b7d0d00833d81f31ff740491af6211262209 by nikita.ppv
[InstCombine] Use swapValues(); NFC
Less code, and makes it more obvious that these operands do not need to
be added back to the worklist.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Commit d4627b90a0462c90a834c2f7b9c9228b3ec7a45b by nikita.ppv
[InstCombine] Avoid modifying instructions in-place
As discussed on D73919, this replaces a few cases where we were
modifying multiple operands of instructions in-place with the creation
of a new instruction, which we generally prefer nowadays.
This tends to be more readable and less prone to worklist management
bugs.
Test changes are only superficial (instruction naming and order).
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modifiedllvm/test/Transforms/InstCombine/icmp-custom-dl.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
Commit 5b2b67be8eef706c4959201e9cf8590e133166b2 by nikita.ppv
[InstCombine] Remove unnecessary worklist push; NFCI
This is no longer needed after d4627b90a0462c90a834c2f7b9c9228b3ec7a45b,
should have dropped it there...
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit 10417ad2e4b5dccc9642960b9ee0ca5bd53bfb7c by llvm-dev
[X86] Standardize BROADCAST enum names (PR31079)
Tweak EVEX implementation names so it matches the other variants by
adding the 'r' prefix. Oddly some of the subvec broadcast ops already
matched.
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/lib/Target/X86/X86MCInstLower.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrFoldTables.cpp
The file was modifiedllvm/test/CodeGen/X86/evex-to-vex-compress.mir
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86SchedSkylakeServer.td
The file was modifiedllvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp