SuccessChanges

Summary

  1. flang-aarch64-ubuntu-clang-build: increase the number of parellel jobs (details)
Commit bd6fa0d220a99c6a54ade4d1f031bbb7b84f1527 by andrzej.warzynski
flang-aarch64-ubuntu-clang-build: increase the number of parellel jobs

This worker has been a bit too slow. Increase the number of parallel
jobs to speed the builds up.

Differential Revision: https://reviews.llvm.org/D88874
The file was modifiedbuildbot/osuosl/master/config/slaves.py (diff)

Summary

  1. [libcxx][lit] Add support for custom ssh/scp flags in ssh.py (details)
  2. [Statepoints] Change statepoint machine instr format to better suit VReg lowering. (details)
  3. [llvm-objcopy][MachO] Add support for universal binaries (details)
  4. [clang-tidy] Remove obsolete checker google-runtime-references (details)
  5. [gn build] Port d6c9dc3c17e (details)
  6. [llvm-objcopy][NFC] fix style issues reported by clang-format. (details)
  7. [InstCombine] FoldShiftByConstant - remove unnecessary cast<>. NFC. (details)
  8. [InstCombine] FoldShiftByConstant - use PatternMatch for logicalshift(trunc(shift(x,c1)),c2) fold. NFCI. (details)
  9. [lldb] [Platform] Move common ::DebugProcess() to PlatformPOSIX (details)
  10. [SystemZAsmParser] Treat VR128 separately in ParseDirectiveInsn(). (details)
  11. Convert diagnostics about multi-character literals from extension to warning (details)
  12. [mlir][Linalg] Extend buffer allocation to support Linalg init tensors (details)
  13. [AMDGPU][MC] Added detection of unsupported instructions (details)
  14. [ARM] Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV (details)
  15. [clangd] Add basic keyword-name-validation in rename. (details)
  16. [InstCombine] FoldShiftByConstant - consistently use ConstantExpr in logicalshift(trunc(shift(x,c1)),c2) fold. NFCI. (details)
  17. [InstCombine] canRewriteGEPAsOffset - don't dereference a dyn_cast<>. NFCI. (details)
  18. Revert "[c++17] Implement P0145R3 during constant evaluation." (details)
  19. Silence -Wunused-variable in NDEBUG mode (details)
  20. Add ability to turn off -fpch-instantiate-templates in clang-cl (details)
  21. [Attributor][NFC] Ignore benign uses in AAMemoryBehaviorFloating (details)
  22. [Attributor][FIX] Dead return values are not `noundef` (details)
  23. [Attributor][FIX] Move assertion to make it not trivially fail (details)
  24. [test][NewPM] Make dead-uses.ll work under NPM (details)
  25. [test][InstCombine][NewPM] Fix InstCombine tests under NPM (details)
  26. [BPF][NewPM] Make BPFTargetMachine properly adjust NPM optimizer pipeline (details)
  27. [HIP] Restructure hip headers to add cmath (details)
  28. [gn build] Port aa2b593f149 (details)
  29. [SimplifyLibCalls] Optimize mempcpy_chk to mempcpy (details)
  30. [HIP] NFC Add comments to cmath functions (details)
  31. [X86] .code16: temporarily set Mode32Bit when matching an instruction with the data32 prefix (details)
  32. [libc++] Allow retries in two flaky tests (details)
  33. [APIntTest] Extend extractBits to check 'lshr+trunc' pattern for each case as well. (details)
  34. [flang] Track CHARACTER length better in TypeAndShape (details)
  35. [libc++] Check _LIBCPP_USE_CLOCK_GETTIME before using clock_gettime (details)
  36. [MemCpyOpt] Add separate statistic for call slot optimization (NFC) (details)
  37. [MemCpyOpt] Check for throwing calls during call slot optimization (details)
  38. [MemCpyOpt] Use dereferenceable pointer helper (details)
  39. [AMDGPU] Remove SIInstrInfo::calculateLDSSpillAddress (details)
  40. [X86][SSE] combineX86ShuffleChain add 'CanonicalizeShuffleInput' helper. NFCI. (details)
  41. [SystemZ][z/OS] Set default alignment rules for z/OS target (details)
  42. [AMDGPU] Create isGFX9Plus utility function (details)
  43. [mlir][vector] Fold extractOp coming from broadcastOp (details)
  44. [AMDGPU] Emit correct kernel descriptor on big-endian hosts (details)
  45. [mlir][spirv] Fix extended insts deserialization generation (details)
  46. [mlir][Linalg] Implement tiling on tensors (details)
  47. [SystemZ][z/OS] Set default alignment rules for z/OS target (details)
  48. [NFC][flang] Add the header file Todo.h. This file is being upstreamed to satisfy dependencies and enable continued progress on lowering of OpenMP, OpenACC, etc. (details)
  49. [AMDGPU] Fix remaining kernel descriptor test (details)
  50. [mlir][spirv] Add Vector to SPIR-V conversion pass (details)
  51. [NFC][MC] Type uses of MCRegUnitIterator as MCRegister (details)
  52. [c++17] Implement P0145R3 during constant evaluation. (details)
  53. [libc++] Add a script to setup CI on macOS nodes (details)
  54. Revert [lit] Support running tests on Windows without GnuWin32 (details)
  55. Remove unneeded "allow-unregistered-dialect" from shape-type-conversion.mlir test (NFC) (details)
  56. [mlir] [sparse] convenience runtime support to read Matrix Market format (details)
  57. [libc++] Add assert to check bounds in `constexpr string_view::operator[]` (details)
  58. [CMake] Track TSan's dependency on C++ headers (details)
  59. Replace shadow space zero-out by madvise at mmap (details)
Commit 04f908b9f0d637fc5ba3dd32437ffdf89623b1d8 by Alexander.Richardson
[libcxx][lit] Add support for custom ssh/scp flags in ssh.py

In our CHERI Jenkins CI we need to pass `-F <custom_config_file>` to each
ssh/scp command to set various arguments such as the localhost port, usage
of controlmaster, etc. to speed up connections to our emulated QEMU systems.

For our specific use-case I could have also added a single --ssh-config-file
argument that can be used for both the scp and ssh commands, but being able
to pass arbitrary extra flags for both commands seems more flexible.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D84097
The file was modifiedlibcxx/utils/ssh.py
Commit c08d48fc2d7cced7b86043854c235394e87c4506 by dantrushin
[Statepoints] Change statepoint machine instr format to better suit VReg lowering.

Current Statepoint MI format is this:

   STATEPOINT
   <id>, <num patch bytes >, <num call arguments>, <call target>,
   [call arguments...],
   <StackMaps::ConstantOp>, <calling convention>,
   <StackMaps::ConstantOp>, <statepoint flags>,
   <StackMaps::ConstantOp>, <num deopt args>, [deopt args...],
   <gc base/derived pairs...> <gc allocas...>

Note that GC pointers are listed in pairs <base,derived>.
This causes base pointers to appear many times (at least twice) in
instruction, which is bad for us when VReg lowering is ON.
The problem is that machine operand tiedness is 1-1 relation, so
it might look like this:

  %vr2 = STATEPOINT ... %vr1, %vr1(tied-def0)

Since only one instance of %vr1 is tied, that may lead to incorrect
codegen (see PR46917 for more details), so we have to always spill
base pointers. This mostly defeats new VReg lowering scheme.

This patch changes statepoint instruction format so that every
gc pointer appears only once in operand list. That way they all can
be tied. Additional set of operands is added to preserve base-derived
relation required to build stackmap.
New statepoint has following format:

  STATEPOINT
  <id>, <num patch bytes>, <num call arguments>, <call target>,
  [call arguments...],
  <StackMaps::ConstantOp>, <calling convention>,
  <StackMaps::ConstantOp>, <statepoint flags>,
  <StackMaps::ConstantOp>, <num deopt args>, [deopt args...],
  <StackMaps::ConstantOp>, <num gc pointers>, [gc pointers...],
  <StackMaps::ConstantOp>, <num gc allocas>,  [gc allocas...]
  <StackMaps::ConstantOp>, <num entries in gc map>, [base/derived indices...]

Changes are:
  - every gc pointer is listed only once in a flat length-prefixed list;
  - alloca list is prefixed with its length too;
  - following alloca list is length-prefixed list of base-derived
    indices of pointers from gc pointer list. Note that indices are
    logical (number of pointer), not absolute (index of machine operand).

Differential Revision: https://reviews.llvm.org/D87154
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/statepoint-stack-usage.ll
The file was modifiedllvm/include/llvm/CodeGen/StackMaps.h
The file was modifiedllvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
The file was modifiedllvm/lib/CodeGen/StackMaps.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg.mir
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg-details.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-vector.ll
Commit 315970de1d7140fa689dbbe7482620f134e5d021 by alexshap
[llvm-objcopy][MachO] Add support for universal binaries

This diff adds support for universal binaries to llvm-objcopy.
This is a recommit of 32c8435ef70031 with the asan issue fixed.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D88400
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/strip-all.test
The file was modifiedllvm/include/llvm/Object/MachOUniversalWriter.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.h
The file was addedllvm/tools/llvm-objcopy/llvm-objcopy.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
The file was modifiedllvm/lib/Object/MachOUniversalWriter.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/universal-object.test
Commit d6c9dc3c17e444e007758c01507bb5280532c9f8 by adam.balogh
[clang-tidy] Remove obsolete checker google-runtime-references

The rules which is the base of this checker is removed from the
//Google C++ Style Guide// in May:
[[ https://github.com/google/styleguide/pull/553 | Update C++ styleguide ]].
Now this checker became obsolete.

Differential Revision: https://reviews.llvm.org/D88831
The file was modifiedclang-tools-extra/clang-tidy/google/CMakeLists.txt
The file was removedclang-tools-extra/clang-tidy/google/NonConstReferences.h
The file was removedclang-tools-extra/clang-tidy/google/NonConstReferences.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was removedclang-tools-extra/test/clang-tidy/checkers/google-runtime-references.cpp
The file was removedclang-tools-extra/docs/clang-tidy/checks/google-runtime-references.rst
The file was modifiedclang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
Commit 95429b88a469ee6537f15c82aec9f83e699b8b02 by llvmgnsyncbot
[gn build] Port d6c9dc3c17e
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/google/BUILD.gn
Commit 7bbb65b0a431554ee74b875aec77d40f5c387596 by a.v.lapshin
[llvm-objcopy][NFC] fix style issues reported by clang-format.
The file was modifiedllvm/tools/llvm-objcopy/COFF/Object.h
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.h
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
Commit 0b402e985e41e8c01768a0d026adbc25c2274744 by llvm-dev
[InstCombine] FoldShiftByConstant - remove unnecessary cast<>. NFC.

Op1 is already a Constant*
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 21100f885d5bab4105ed2630b480b03d466f3da9 by llvm-dev
[InstCombine] FoldShiftByConstant - use PatternMatch for logicalshift(trunc(shift(x,c1)),c2) fold. NFCI.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit a825eaa90e2419e3e9ae64ec047440ce98e7bacb by mgorny
[lldb] [Platform] Move common ::DebugProcess() to PlatformPOSIX

Move common ::DebugProcess() implementation shared by Linux and NetBSD
(and to be shared by FreeBSD shortly) into PlatformPOSIX, and move
the old base implementation used only by Darwin to PlatformDarwin.

Differential Revision: https://reviews.llvm.org/D88852
The file was modifiedlldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
The file was modifiedlldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h
The file was modifiedlldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
The file was modifiedlldb/source/Plugins/Platform/Linux/PlatformLinux.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
The file was modifiedlldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
Commit 5588dbce73be2c86bf1701b2ebbce47239130296 by paulsson
[SystemZAsmParser] Treat VR128 separately in ParseDirectiveInsn().

This patch makes the parser
  - reject higher vector registers (>=16) in operands where they should not
    be accepted.
  - accept higher integers (>=16) in vector register operands.

Review: Ulrich Weigand
Differential Revision: https://reviews.llvm.org/D88888
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modifiedllvm/test/MC/SystemZ/directive-insn-vector.s
The file was modifiedllvm/test/MC/SystemZ/regs-bad.s
Commit 8fa45e1fd527269140c4e2a1652fef5500da16fd by aaron
Convert diagnostics about multi-character literals from extension to warning

This addresses PR46797.
The file was modifiedclang/include/clang/Basic/DiagnosticLexKinds.td
The file was modifiedclang/lib/Lex/LiteralSupport.cpp
The file was modifiedclang/test/Lexer/constants.c
The file was addedclang/test/Lexer/multi-char-constants.c
Commit d8ee28b96ee77a466aea5e9ca9c6ed57b2194b4d by nicolas.vasilache
[mlir][Linalg] Extend buffer allocation to support Linalg init tensors

This revision adds init_tensors support to buffer allocation for Linalg on tensors.
Currently makes the assumption that the init_tensors fold onto the first output tensors.

This assumption is not currently enforced or cast in stone and requires experimenting with tiling linalg on tensors for ops **without reductions**.

Still this allows progress towards the end-to-end goal.
The file was modifiedmlir/test/lib/Transforms/TestBufferPlacement.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Transforms/buffer-placement-preparation.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp
Commit e2452f57faa916866a99126d2337bd82a9e0a06d by dmitry.preobrazhensky
[AMDGPU][MC] Added detection of unsupported instructions

Implemented identification of unsupported instructions; improved errors reporting.

See bug 42590.

Reviewers: rampitec

Differential Revision: https://reviews.llvm.org/D88211
The file was modifiedllvm/test/MC/AMDGPU/flat.s
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_err.s
The file was modifiedllvm/test/MC/AMDGPU/vop_dpp.s
The file was modifiedllvm/test/MC/AMDGPU/mad-mix.s
The file was modifiedllvm/test/MC/AMDGPU/out-of-range-registers.s
The file was modifiedllvm/test/MC/AMDGPU/ds.s
The file was modifiedllvm/test/MC/AMDGPU/vop3-errs.s
The file was modifiedllvm/test/MC/AMDGPU/wave32.s
The file was modifiedllvm/test/MC/AMDGPU/vop1-gfx9-err.s
The file was modifiedllvm/test/MC/AMDGPU/fma-mix.s
The file was modifiedllvm/test/MC/AMDGPU/vop_sdwa.s
The file was modifiedllvm/test/MC/AMDGPU/sop1.s
The file was modifiedllvm/test/MC/AMDGPU/flat-scratch-instructions.s
The file was modifiedllvm/test/MC/AMDGPU/invalid-instructions-spellcheck.s
The file was modifiedllvm/test/MC/AMDGPU/xdl-insts-err.s
The file was addedllvm/test/MC/AMDGPU/gfx10_unsupported.s
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
The file was modifiedllvm/test/MC/AMDGPU/vop3-gfx9.s
The file was addedllvm/test/MC/AMDGPU/gfx8_unsupported.s
The file was modifiedllvm/test/MC/AMDGPU/dpp-err.s
The file was modifiedllvm/test/MC/AMDGPU/sopk.s
The file was modifiedllvm/test/MC/AMDGPU/mubuf.s
The file was modifiedllvm/test/MC/AMDGPU/smem.s
The file was modifiedllvm/test/MC/AMDGPU/flat-global.s
The file was modifiedllvm/test/MC/AMDGPU/sopc.s
The file was modifiedllvm/test/MC/AMDGPU/gfx1011_err.s
The file was addedllvm/test/MC/AMDGPU/gfx7_unsupported.s
The file was modifiedllvm/test/MC/AMDGPU/mai-err.s
The file was modifiedllvm/test/MC/AMDGPU/vop3.s
The file was addedllvm/test/MC/AMDGPU/gfx9_unsupported.s
The file was modifiedllvm/test/MC/AMDGPU/vop2.s
The file was modifiedllvm/test/MC/AMDGPU/literals.s
The file was modifiedllvm/test/MC/AMDGPU/mubuf-gfx9.s
The file was modifiedllvm/test/MC/AMDGPU/sopp.s
Commit 68e002e1819f1598fc6815226a353ad2f04cd509 by samuel.tebbs
[ARM] Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV

    This folds a select_cc or select(set_cc) of a max or min vector reduction with a scalar value into a VMAXV or VMINV.

    Differential Revision: https://reviews.llvm.org/D87836
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmaxv.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was addedllvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
Commit 8a3cbb1535a92dcc0ac3bd8fc64216a465b8506a by hokein.wu
[clangd] Add basic keyword-name-validation in rename.

Differential Revision: https://reviews.llvm.org/D88875
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
Commit 75d33a3a97c6f6e65ef5139a4a12508716842601 by llvm-dev
[InstCombine] FoldShiftByConstant - consistently use ConstantExpr in logicalshift(trunc(shift(x,c1)),c2) fold. NFCI.

This still only gets used for scalar types but now always uses ConstantExpr in preparation for vector support - it was using APInt methods in some places.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 17b9a91ec274a527e734321701d2791368f146c9 by llvm-dev
[InstCombine] canRewriteGEPAsOffset - don't dereference a dyn_cast<>. NFCI.

We know V is a IntToPtrInst or PtrToIntInst type so we know its a CastInst - so use cast<> directly.

Prevents clang static analyzer warning that we could deference a null pointer.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 37c74dfe72ecf4e7def22702c5a944682a7865df by gribozavr
Revert "[c++17] Implement P0145R3 during constant evaluation."

This reverts commit ded79be63555f4e5bfdb0db27ef22b71fe568474. It causes
a crash (I sent the crash reproducer directly to the author).
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1z.cpp
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit b3876ef49093b17555ae058eb87bb9c70a525c49 by gribozavr
Silence -Wunused-variable in NDEBUG mode
The file was modifiedllvm/lib/CodeGen/StackMaps.cpp
Commit 66e4f07198761bbb4dcd55235024c1081ed15c75 by hans
Add ability to turn off -fpch-instantiate-templates in clang-cl

A lot of our code building with clang-cl.exe using Clang 11 was failing with
the following 2 type of errors:

1. explicit specialization of 'foo' after instantiation
2. no matching function for call to 'bar'

Note that we also use -fdelayed-template-parsing in our builds.

I tried pretty hard to get a small repro for these failures, but couldn't. So
there is some subtle edge case in the -fpch-instantiate-templates feature
introduced by this change: https://reviews.llvm.org/D69585

When I tried turning this off using -fno-pch-instantiate-templates, builds
would silently fail with the same error without any indication that
-fno-pch-instantiate-templates was being ignored by the compiler. Then I
realized this "no" option wasn't actually working when I ran Clang under a
debugger.

Differential revision: https://reviews.llvm.org/D88680
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/Driver/pch-instantiate-templates.c
Commit 957094e31b058f1b0a4bd3c76912f7d8b5b294b7 by johannes
[Attributor][NFC] Ignore benign uses in AAMemoryBehaviorFloating

In AAMemoryBehaviorFloating we used to track benign uses in a SetVector.
With this change we look through benign uses eagerly to reduce the
number of elements (=Uses) we look at during an update.

The test does actually not fail prior to this commit but I already wrote
it so I kept it.
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
Commit 04f6951397cfbb892b99027bd3c0e4e0382f5458 by johannes
[Attributor][FIX] Dead return values are not `noundef`

When we assume a return value is dead we might still visit return
instructions via `Attributor::checkForAllReturnedValuesAndReturnInsts(..)`.
When we do so the "returned value" is potentially simplified to `undef`
as it is the assumed "returned value". This is a problem if there was a
preexisting `noundef` attribute that will only be removed as we manifest
the `undef` return value. We should not use this combination to derive
`unreachable` though. Two test cases fixed.
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/depgraph.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
Commit 4a7a988442dfa40309b34746218c07ebf758b378 by johannes
[Attributor][FIX] Move assertion to make it not trivially fail

The idea of this assertion was to check the simplified value before we
assign it, not after, which caused this to trivially fail all the time.
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit 61d4b342d15a82d5e841d9e72a52d77eaa5b5097 by aeubanks
[test][NewPM] Make dead-uses.ll work under NPM

This one is weird...

globals-aa needs to be already computed at licm, or else a function pass
can't run a module analysis and won't have access to globals-aa.
But the globals-aa result is impacted by instcombine in a way that
affects what the test is expecting. If globals-aa is computed before
instcombine, it is cached and globals-aa used in licm won't contain the
necessary info provided by instcombine.
Another catch is that if we don't invalidate AAManager, it will use the
cached AAManager that instcombine requested, which may not contain
globals-aa. So we have to invalidate<aa> so that licm can recompute
an AAManager with the globals-aa created by the require<globals-aa>.

This is essentially the problem described in https://reviews.llvm.org/D84259.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D88118
The file was modifiedllvm/test/Analysis/GlobalsModRef/dead-uses.ll
Commit 8df17b4dc12292cd7adc9c46a5bd75b8db26d49e by aeubanks
[test][InstCombine][NewPM] Fix InstCombine tests under NPM

Some of these depended on analyses being present that aren't provided
automatically in NPM.

early_dce_clobbers_callgraph.ll was previously inlining a noinline function?

cast-call-combine.ll relied on the legacy always-inline pass being a
CGSCC pass and getting rerun.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D88187
The file was modifiedllvm/test/Transforms/InstCombine/fputs-opt-size.ll
The file was modifiedllvm/test/Transforms/InstCombine/cast-call-combine.ll
The file was modifiedllvm/test/Transforms/InstCombine/infinite-loop-postdom.ll
The file was modifiedllvm/test/Transforms/InstCombine/early_dce_clobbers_callgraph.ll
The file was modifiedllvm/test/Transforms/InstCombine/gep-combine-loop-invariant.ll
Commit 40251fee00840b98d927c2c138e45e812bc3468b by aeubanks
[BPF][NewPM] Make BPFTargetMachine properly adjust NPM optimizer pipeline

This involves porting BPFAbstractMemberAccess and BPFPreserveDIType to
NPM, then adding them BPFTargetMachine::registerPassBuilderCallbacks
(the NPM equivalent of adjustPassManager()).

Reviewed By: yonghong-song, asbirlea

Differential Revision: https://reviews.llvm.org/D88855
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.h
The file was modifiedllvm/lib/Target/BPF/BPF.h
The file was modifiedllvm/lib/Target/BPF/BPFPreserveDIType.cpp
The file was modifiedllvm/test/CodeGen/BPF/CORE/store-addr.ll
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
Commit aa2b593f1495a972a4a592952760ec9d5f7c01f1 by enye.shi
[HIP] Restructure hip headers to add cmath

Separate __clang_hip_math.h header into __clang_hip_cmath.h
and __clang_hip_math.h. Improve the math function definition,
and add missing definitions or declarations. Add missing
overloads.

Reviewed By: tra, JonChesterfield

Differential Review: https://reviews.llvm.org/D88837
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was addedclang/lib/Headers/__clang_hip_cmath.h
The file was modifiedclang/lib/Headers/__clang_hip_libdevice_declares.h
The file was modifiedclang/lib/Headers/__clang_hip_math.h
The file was modifiedclang/lib/Headers/__clang_hip_runtime_wrapper.h
Commit 260892dff06666957f727310ca78d79789c3a04f by llvmgnsyncbot
[gn build] Port aa2b593f149
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit 86429c4eaf22b68d31428a708e6579faf9e4f61a by Dávid Bolvanský
[SimplifyLibCalls] Optimize mempcpy_chk to mempcpy
The file was modifiedllvm/unittests/Analysis/TargetLibraryInfoTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BuildLibCalls.h
The file was modifiedllvm/test/Transforms/InstCombine/fortify-folding.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.def
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
Commit 8d2a0c115e245e86bba4ea1c70e6d34b552031a9 by enye.shi
[HIP] NFC Add comments to cmath functions

Add missing comments to cmath functions.

Differential Revision: https://reviews.llvm.org/D88837
The file was modifiedclang/lib/Headers/__clang_hip_cmath.h
Commit 43c7dc52f12973b306910a161bcf150d70d33504 by i
[X86] .code16: temporarily set Mode32Bit when matching an instruction with the data32 prefix

PR47632

This allows MC to match `data32 ...` as one instruction instead of two (data32 without insn + insn).

The compatibility with GNU as improves: `data32 ljmp` will be matched as ljmpl.
`data32 lgdt 4(%eax)` will be matched as `lgdtl` (prefixes: 0x67 0x66, instead
of 0x66 0x67).

GNU as supports many other `data32 *w` as `*l`. We currently just hard code
`data32 callw` and `data32 ljmpw`.  Generalizing the suffix replacement is
tricky and requires a think about the "bwlq" appending suffix rules in MatchAndEmitATTInstruction.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D88772
The file was modifiedllvm/test/MC/X86/data-prefix-fail.s
The file was modifiedllvm/test/MC/X86/x86-16.s
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit 281de8f3613683f805bfa6a202b4d740edf83d27 by Louis Dionne
[libc++] Allow retries in two flaky tests
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
Commit 3cb8347c94a0d8ae1295fa4ae686443f49bc18e8 by llvm-dev
[APIntTest] Extend extractBits to check 'lshr+trunc' pattern for each case as well.

Noticed while triaging PR47731 that we don't have great coverage for such patterns.
The file was modifiedllvm/unittests/ADT/APIntTest.cpp
Commit 53bf28b80cf9fec53c807922b19e0af2832dfeba by pklausler
[flang] Track CHARACTER length better in TypeAndShape

CHARACTER length expressions were not always being
captured or computed as part of procedure "characteristics",
leading to test failures due to an inability to compute
memory size expressions accurately.

Differential revision: https://reviews.llvm.org/D88689
The file was modifiedflang/lib/Semantics/check-call.cpp
The file was modifiedflang/include/flang/Evaluate/characteristics.h
The file was modifiedflang/lib/Evaluate/characteristics.cpp
The file was modifiedflang/lib/Evaluate/shape.cpp
Commit f78bb4d84eee55c5d3bb1f3322c1e346e3388572 by Louis Dionne
[libc++] Check _LIBCPP_USE_CLOCK_GETTIME before using clock_gettime

The clock_gettime function is available when _POSIX_TIMERS is defined.
We check for this and set _LIBCPP_USE_CLOCK_GETTIME accordingly since
59b3102739c. But check for _LIBCPP_USE_CLOCK_GETTIME was removed in
babd3aefc91. As a result, code is now trying to use clock_gettime even
on platforms where it is not available and it is causing build failure
with newlib.

This patch restores the checks to fix this.

Differential Revision: https://reviews.llvm.org/D88825
The file was modifiedlibcxx/src/chrono.cpp
Commit 80cde02e85df3f1903f0a04ccccaf0f84c2854d1 by nikita.ppv
[MemCpyOpt] Add separate statistic for call slot optimization (NFC)
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Commit 6b441ca523cd6be9475106408a60989ad1f5ae55 by nikita.ppv
[MemCpyOpt] Check for throwing calls during call slot optimization

When performing call slot optimization for a non-local destination,
we need to check whether there may be throwing calls between the
call and the copy. Otherwise, the early write to the destination
may be observable by the caller.

This was already done for call slot optimization of load/store,
but not for memcpys. For the sake of clarity, I'm moving this check
into the common optimization function, even if that does need an
additional instruction scan for the load/store case.

As efriedma pointed out, this check is not sufficient due to
potential accesses from another thread. This case is left as a TODO.

Differential Revision: https://reviews.llvm.org/D88799
The file was modifiedllvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Commit 616f5450480214d40dd69a5f5f0f10b41bd4b3e2 by nikita.ppv
[MemCpyOpt] Use dereferenceable pointer helper

The call slot optimization has some home-grown code for checking
whether the destination is dereferenceable. Replace this with the
generic isDereferenceableAndAlignedPointer() helper.

I'm not checking alignment here, because that is currently handled
separately and may be an enforced alignment for allocas. The clean
way of integrating that part would probably be to accept a callback
in isDereferenceableAndAlignedPointer() for the actual isAligned check,
which would then have a chance to use an enforced alignment instead.

This allows the destination to be a GEP (among other things), though
the two open TODOs may prevent it from working in practice.

Differential Revision: https://reviews.llvm.org/D88805
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Commit b4264210f2b24b8fb40247f34decd4e14174559e by sebastian.neubauer
[AMDGPU] Remove SIInstrInfo::calculateLDSSpillAddress

This function does not seem to be used anymore.

Differential Revision: https://reviews.llvm.org/D88904
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
Commit 6c7d713cf5d9bb188f1e73452a256386f0288bf7 by llvm-dev
[X86][SSE] combineX86ShuffleChain add 'CanonicalizeShuffleInput' helper. NFCI.

As part of PR45974, we're getting closer to not creating 'padded' vectors on-the-fly in combineX86ShufflesRecursively, and only pad the source inputs if we have a definite match inside combineX86ShuffleChain.

At the moment combineX86ShuffleChain just has to bitcast an input to the correct shuffle type, but eventually we'll need to pad them as well. So, move the bitcast into a 'CanonicalizeShuffleInput helper for now, making the diff for future padding support a lot smaller.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit c781dc74a8b282eb4c6f3aa48982c5de898611a2 by Abhina.Sreeskantharajan
[SystemZ][z/OS] Set default alignment rules for z/OS target

Set the default alignment control variables for z/OS target and add test case for alignment rules on z/OS.

Reviewed By: abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D88845
The file was addedclang/test/CodeGen/zos-alignment.c
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
Commit acce6b6082684d601e0375818260226259d96b7a by Stanislav.Mekhanoshin
[AMDGPU] Create isGFX9Plus utility function

Introduce a utility function to make it more
convenient to write code that is the same on
the GFX9 and GFX10 subtargets.

Use isGFX9Plus in the AsmParser for AMDGPU.

Authored By: Joe_Nash

Differential Revision: https://reviews.llvm.org/D88908
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Commit 92e83afe44fbfd81ffd428bb41b7f760eee712f9 by thomasraoux
[mlir][vector] Fold extractOp coming from broadcastOp

Combine ExtractOp with scalar result with BroadcastOp source. This is useful to
be able to incrementally convert degenerated vector of one element into scalar.

Differential Revision: https://reviews.llvm.org/D88751
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
Commit e4a9e4ef554a90637c53d4f10326c262df69b76c by scott.linder
[AMDGPU] Emit correct kernel descriptor on big-endian hosts

Previously we wrote multi-byte values out as-is from host memory. Use
the `emitIntN` helpers in `MCStreamer` to produce a valid descriptor
irrespective of the host endianness.

Reviewed By: arsenm, rochauha

Differential Revision: https://reviews.llvm.org/D88858
The file was modifiedllvm/test/MC/AMDGPU/hsa-v3.s
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modifiedllvm/test/MC/AMDGPU/hsa-sgpr-init-bug-v3.s
Commit c9f1c50fc092fa99ba3f527a7401205a59a73c45 by antiagainst
[mlir][spirv] Fix extended insts deserialization generation

This change replaces container used for storing temporary
strings for generated code to std::list.
SmallVector may reallocate internal data, which will invalidate
references when more than one extended instruction set is
generated.

Reviewed By: mravishankar, antiagainst

Differential Revision: https://reviews.llvm.org/D88626
The file was modifiedmlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
Commit a3adcba645eec31b42ad0a1f727975c5c9c236f0 by nicolas.vasilache
[mlir][Linalg] Implement tiling on tensors

This revision implements tiling on tensors as described in:
https://llvm.discourse.group/t/an-update-on-linalg-on-tensors/1878/4

Differential revision: https://reviews.llvm.org/D88733
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was addedmlir/test/Dialect/Linalg/tile-tensors.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
Commit 43cd0a98d1b1cbbbab38591badbe11a995844cf7 by Abhina.Sreeskantharajan
[SystemZ][z/OS] Set default alignment rules for z/OS target

Update RUN line to fix lit failure

Differential Revision: https://reviews.llvm.org/D88845
The file was modifiedclang/test/CodeGen/zos-alignment.c
Commit 0f8294072fbc75cc4f6d0e1c3e16f9849aae3771 by eschweitz
[NFC][flang] Add the header file Todo.h. This file is being upstreamed to satisfy dependencies and enable continued progress on lowering of OpenMP, OpenACC, etc.

Differential Revision: https://reviews.llvm.org/D88909
The file was addedflang/include/flang/Lower/Todo.h
Commit bf5c1d92d92ef8cee2adbfa17ecca20a8f65dc0e by scott.linder
[AMDGPU] Fix remaining kernel descriptor test

Follow up on e4a9e4ef554a to fix a test I missed in the original patch.
Committed as obvious.
The file was modifiedllvm/test/MC/AMDGPU/hsa-gfx10-v3.s
Commit 6e557bc40507cbc5e331179b26f7ae5fe9624294 by thomasraoux
[mlir][spirv] Add Vector to SPIR-V conversion pass

Add conversion pass for Vector dialect to SPIR-V dialect and add some simple
conversion pattern for vector.broadcast, vector.insert, vector.extract.

Differential Revision: https://reviews.llvm.org/D88761
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/include/mlir/Conversion/VectorToSPIRV/ConvertVectorToSPIRVPass.h
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVCompositeOps.td
The file was addedmlir/test/Conversion/VectorToSPIRV/simple.mlir
The file was addedmlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was addedmlir/include/mlir/Conversion/VectorToSPIRV/ConvertVectorToSPIRV.h
The file was addedmlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
Commit d85b845cb2550216b2a05c5dee451f423a4e4946 by mtrofin
[NFC][MC] Type uses of MCRegUnitIterator as MCRegister

This is one of many subsequent similar changes. Note that we're ok with
the parameter being typed as MCPhysReg, as MCPhysReg -> MCRegister is a
correct conversion; Register -> MCRegister assumes the former is indeed
physical, so we stop relying on the implicit conversion and use the
explicit, value-asserting asMCReg().

Differential Revision: https://reviews.llvm.org/D88862
The file was modifiedllvm/lib/CodeGen/BreakFalseDeps.cpp
The file was modifiedllvm/include/llvm/CodeGen/LiveIntervals.h
The file was modifiedllvm/include/llvm/CodeGen/TargetRegisterInfo.h
The file was modifiedllvm/lib/CodeGen/EarlyIfConversion.cpp
Commit 00d3e6c1b4d0b7879afc6002b721111b49ecf755 by richard
[c++17] Implement P0145R3 during constant evaluation.

Ensure that we evaluate assignment and compound-assignment
right-to-left, and array subscripting left-to-right.

Fixes PR47724.

This is a re-commit of ded79be, reverted in 37c74df, with a fix and test
for the crasher bug previously introduced.
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1z.cpp
The file was modifiedclang/www/cxx_status.html
Commit 370b7887e5af413e06cb0bdb23f502ca7a56280d by Louis Dionne
[libc++] Add a script to setup CI on macOS nodes
The file was addedlibcxx/utils/ci/macos-ci-setup
Commit d3d790fc9827301a49c7bbab3c1eb22da48085c6 by alexandre.ganea
Revert [lit] Support running tests on Windows without GnuWin32

This reverts b3418cb4eb1456c41606f4621dcfa362fe54183c and d12ae042e17b27ebc8d2b5ae3d8dd5f88384d093

This breaks some external bots, see discussion in https://reviews.llvm.org/D84380

In the meanwhile, please use `cmake -DLLVM_LIT_TOOLS_DIR="C:/Program Files/Git/usr/bin"` or add it to %PATH%.
The file was modifiedllvm/utils/lit/lit/llvm/config.py
Commit 5a305f81bfc3cb71f1f77f15d08dd62b32865e8a by joker.eph
Remove unneeded "allow-unregistered-dialect" from shape-type-conversion.mlir test (NFC)
The file was modifiedmlir/test/Dialect/Shape/shape-type-conversion.mlir
Commit c6c67f643dcff142b26a53059e63e5369e6d8d89 by ajcbik
[mlir] [sparse] convenience runtime support to read Matrix Market format

Setting up input data for benchmarks and integration tests can be tedious in
pure MLIR. With more sparse tensor work planned, this convenience library
simplifies reading sparse matrices in the popular Matrix Market Exchange
Format (see https://math.nist.gov/MatrixMarket). Note that this library
is *not* part of core MLIR. It is merely intended as a convenience library
for benchmarking and integration testing.

Reviewed By: penpornk

Differential Revision: https://reviews.llvm.org/D88856
The file was modifiedmlir/integration_test/CMakeLists.txt
The file was addedmlir/integration_test/data/test.mtx
The file was modifiedmlir/lib/ExecutionEngine/CMakeLists.txt
The file was addedmlir/lib/ExecutionEngine/SparseUtils.cpp
The file was addedmlir/integration_test/Sparse/CPU/matrix-market-example.mlir
The file was addedmlir/integration_test/Sparse/CPU/lit.local.cfg
Commit 9eff07a746a9e6a9b105c12b5e28073360fa8065 by Louis Dionne
[libc++] Add assert to check bounds in `constexpr string_view::operator[]`

Differential Revision: https://reviews.llvm.org/D88864
The file was modifiedlibcxx/include/string_view
Commit 4540d6624838af2b190dfb33802528eb4bfb3fb8 by phosek
[CMake] Track TSan's dependency on C++ headers

TSan relies on C++ headers, so when libc++ is being built as part of
the runtimes build, include an explicit dependency on cxx-headers which
is the same approach that's already used for other sanitizers.

Differential Revision: https://reviews.llvm.org/D88912
The file was modifiedcompiler-rt/cmake/Modules/AddCompilerRT.cmake
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
Commit 4d1d8ae7100ec3c7e1709addb7b3ec6f9ad0b44f by jianzhouzh
Replace shadow space zero-out by madvise at mmap

After D88686, munmap uses MADV_DONTNEED to ensure zero-out before the
next access. Because the entire shadow space is created by MAP_PRIVATE
and MAP_ANONYMOUS, the first access is also on zero-filled values.

So it is fine to not zero-out data, but use madvise(MADV_DONTNEED) at
mmap. This reduces runtime
overhead.

Reviewed-by: morehouse

Differential Revision: https://reviews.llvm.org/D88755
The file was removedcompiler-rt/test/dfsan/munmap_release_shadow.c
The file was addedcompiler-rt/test/dfsan/release_shadow_space.c
The file was modifiedcompiler-rt/lib/dfsan/dfsan_interceptors.cpp

Summary

  1. flang-aarch64-ubuntu-clang-build: increase the number of parellel jobs (details)
Commit bd6fa0d220a99c6a54ade4d1f031bbb7b84f1527 by andrzej.warzynski
flang-aarch64-ubuntu-clang-build: increase the number of parellel jobs

This worker has been a bit too slow. Increase the number of parallel
jobs to speed the builds up.

Differential Revision: https://reviews.llvm.org/D88874
The file was modifiedbuildbot/osuosl/master/config/slaves.py