Changes

Summary

  1. [lldb] Actually let the matrix bot test something (details)
Commit 478f6eb87c8780f5713c8526a32bb6f7e95caab1 by Raphael Isemann
[lldb] Actually let the matrix bot test something

Since https://reviews.llvm.org/D69401 landed the bot has been setting unused
CMake variables for specifying test compilers which meant this bot hasn't
been testing anything since 2019. Reenabling the tests so that we can start
fixing the failing tests.
The file was modifiedzorg/jenkins/monorepo_build.py (diff)

Summary

  1. [llvm-objcopy] Delete empty namespace. NFC (details)
  2. [mlir][linalg] Adapt FillOp to use a scalar operand. (details)
  3. [llvm-objcopy] Internalize some symbols (details)
  4. [NewPM] Print passes with params when using "opt -print-passes" (details)
  5. [GlobalISel] Add scalable property to LLT types. (details)
  6. [Utils][vim] Add missing highlights for fast-math flags (details)
  7. [mlir][NFC] Move SubTensorOp and SubTensorInsertOp to TensorDialect (details)
  8. [clang][Analyzer] Track null stream argument in alpha.unix.Stream . (details)
  9. [ConstantFolding] Separate conditions in GEP evaluation (NFC) (details)
  10. [Clang][OpenMP] Monotonic does not apply to SIMD (details)
  11. [ADT] Add StringRef consume_front_lower and consume_back_lower (details)
  12. [lldb] Bumb Clang version requirement for TestBasicEntryValues.py to 11 (details)
  13. [lld/mac] Add explicit "no unwind info" entries for functions without unwind info (details)
  14. [lldb] Adjust Clang version requirements for tail_call_frames tests (details)
  15. [SCEV] Retain AddExpr flags when subtracting a foldable constant. (details)
  16. [mlir][memref] Add memref.copy operation (details)
  17. [LLDB] Skip TestExitDuringExpression on aarch64/linux buildbot (details)
  18. Add norm sub-target feature to table gen for ARC (details)
  19. [lldb][NFC] Use SubsystemRAII in XcodeSDKModuleTests (details)
  20. [AMDGPU][Libomptarget] Move allow_access_to_all_gpu_agents to rtl.cpp (details)
  21. [mlir] Fix invalid handling of AllocOp symbolOperands by SimplifyAllocConst. (details)
  22. [OpenMP] libomp: fix dynamic loop dispatcher (details)
  23. [ConstantFold] Skip bitcast -> GEP transform for opaque pointers (details)
  24. [ConstantFold] Delay fetching pointer element type (details)
  25. [BitcodeReader] Validate Strtab before accessing. (details)
  26. [Libomptarget] Introduce new globalization runtime calls (details)
  27. [clang] Remove unused capture in closure (details)
  28. [SLP][AArch64] Add SLP vectorizer tests for XOR and AND reductions. NFC (details)
  29. [lldb][NFC] Remove an outdated comment in HostInfoBase (details)
  30. [OpenMP] Simplify GPU memory globalization (details)
  31. [SCEV] Reduce code to handle predicates in applyLoopGuards (NFC). (details)
  32. [SimpleLoopUnswich] Fixa a bug on ComputeUnswitchedCost with partial unswitch (details)
  33. [lldb] Remove more redundant SetStatus(eReturnStatusFailed) (details)
  34. [AArch64LoadStoreOptimizer] Recommit: Generate more STPs by renaming registers earlier (details)
  35. [OpaquePtr] Handle addrspacecasts in InstCombine (details)
  36. [Libomptarget] Improve device runtime implementation for globalized variables. (details)
  37. [OpenMP] Replace GPU globalization calls with shared memory in the middle-end (details)
  38. [llvm-diff] Constify APIs so that there aren't conflicts (details)
  39. [llvm-objcopy] Fix some namespace style issues (details)
Commit f14e6e4451188928b6708693dee706249313c198 by i
[llvm-objcopy] Delete empty namespace. NFC
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
Commit 4882cacf129b31129a3d7ffdc0c2ed8d0fb67673 by gysit
[mlir][linalg] Adapt FillOp to use a scalar operand.

Adapt the FillOp definition to use a scalar operand instead of a capture. This patch is a follow up to https://reviews.llvm.org/D104109. As the input operands are in front of the output operands the patch changes the internal operand order of the FillOp. The pretty printed version of the operation remains unchanged though. The patch also adapts the linalg to standard lowering to ensure the c signature of the FillOp remains unchanged as well.

Differential Revision: https://reviews.llvm.org/D104121
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/python/mlir/dialects/_linalg_ops_ext.py
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/test/Dialect/Linalg/generalize-named-ops.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor-pattern.mlir
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Commit 3f873e9b51781f58e89806639c8e19eea5610ff7 by i
[llvm-objcopy] Internalize some symbols
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
Commit d919b73564fa79b5dbd6352120a23998f27a7811 by bjorn.a.pettersson
[NewPM] Print passes with params when using "opt -print-passes"

Make sure we also print passes with params when using "opt -print-passes".

Differential Revision: https://reviews.llvm.org/D104625
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Other/print-passes.ll
Commit bd7f7e2ebae4e5bc95f0ca65efbc72575ca31c14 by sander.desmalen
[GlobalISel] Add scalable property to LLT types.

This patch aims to add the scalable property to LLT. The rest of the
patch-series changes the interfaces to take/return ElementCount and
TypeSize, which both have the ability to represent the scalable property.

The changes are mostly mechanical and aim to be non-functional changes
for fixed-width vectors.

For scalable vectors some unit tests have been added, but no effort has
been put into making any of the GlobalISel algorithms work with scalable
vectors yet. That will be left as future work.

The work is split into a series of 5 patches to make reviews easier.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D104450
The file was modifiedllvm/lib/CodeGen/LowLevelType.cpp
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp
The file was modifiedllvm/unittests/CodeGen/LowLevelTypeTest.cpp
The file was modifiedllvm/include/llvm/Support/LowLevelTypeImpl.h
The file was modifiedllvm/lib/Support/LowLevelType.cpp
Commit c97cf73867dd42d18361226ad43dfca00278dce3 by fraser
[Utils][vim] Add missing highlights for fast-math flags

This patch adds the `afn`, `contract`, and `reassoc` fast-math flags.

It also fixes up `fneg`'s order in the alphabetized list.

Reviewed By: MaskRay, craig.topper

Differential Revision: https://reviews.llvm.org/D104541
The file was modifiedllvm/utils/vim/syntax/llvm.vim
Commit 060208b4c8b78b2456b8440d9597c9f584676bf4 by springerm
[mlir][NFC] Move SubTensorOp and SubTensorInsertOp to TensorDialect

The main goal of this commit is to remove the dependency of Standard dialect on the Tensor dialect.

* Rename SubTensorOp -> tensor.extract_slice, SubTensorInsertOp -> tensor.insert_slice.
* Some helper functions are (already) duplicated between the Tensor dialect and the MemRef dialect. To keep this commit smaller, this will be cleaned up in a separate commit.
* Additional dialect dependencies: Shape --> Tensor, Tensor --> Standard
* Remove dialect dependencies: Standard --> Tensor
* Move canonicalization test cases to correct dialect (Tensor/MemRef).

Note: This is a fixed version of https://reviews.llvm.org/D104499, which was reverted due to a missing update to two CMakeFile.txt.

Differential Revision: https://reviews.llvm.org/D104676
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-func-bufferize.mlir
The file was modifiedmlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert.mlir
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
The file was modifiedmlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert-multiple-uses.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Dialect/Linalg/tile-tensors.mlir
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/test/Dialect/Linalg/subtensor-of-padtensor.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-func-bufferize-analysis.mlir
The file was modifiedmlir/test/Conversion/TosaToStandard/tosa-to-standard.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
The file was modifiedmlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/Shape.h
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile-and-distribute.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile-and-pad-tensors.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor-pattern.mlir
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/Tensor/IR/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/test/Dialect/Tensor/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Conversion/TosaToStandard/TosaToStandardPass.cpp
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeBase.td
The file was modifiedmlir/test/Dialect/Linalg/bufferize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/CMakeLists.txt
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was modifiedmlir/test/Dialect/Linalg/hoisting.mlir
The file was modifiedmlir/test/Dialect/MemRef/canonicalize.mlir
The file was modifiedmlir/lib/Conversion/TosaToStandard/TosaToStandard.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
The file was modifiedmlir/test/Dialect/SCF/canonicalize.mlir
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/test/Dialect/Linalg/tile-and-fuse-tensors.mlir
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/test/Dialect/Linalg/fusion-sequence.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/include/mlir/Dialect/Tensor/IR/Tensor.h
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
The file was modifiedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit d7227a5bc718940fa9bf90ba443e1dff6ded68cc by 1.int32
[clang][Analyzer] Track null stream argument in alpha.unix.Stream .

The checker contains check for passing a NULL stream argument.
This change should make more easy to identify where the passed pointer
becomes NULL.

Reviewed By: NoQ

Differential Revision: https://reviews.llvm.org/D104640
The file was modifiedclang/test/Analysis/stream-note.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Commit 04395fd6cb0949dfe628353cd61bcec3625b8c0d by nikita.ppv
[ConstantFolding] Separate conditions in GEP evaluation (NFC)

Handle to gep p, 0-v case separately, and not as part of the loop
that ensures all indices are constant integers. Those two things
are not really related.
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit c6a91ee6aaaacbda0c37973112b2e0d609c82321 by graham.hunter
[Clang][OpenMP] Monotonic does not apply to SIMD

The codegen for simd constructs was affected by the presence (or
absence) of the 'monotonic' schedule modifier for worksharing
loops. The modifier is only intended to apply to the scheduling of
chunks for a thread, not iterations of a loop inside a chunk.

In addition, the monotonic modifier was applied to worksharing loops
by default if no schedule clause was present; the referenced part of
the OpenMP 4.5 spec in the code (section 2.7.1) only applies if the
user specified a schedule clause with a static kind but no modifier.
Without a user-specified schedule clause we should default to
nonmonotonic scheduling.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D103793
The file was modifiedclang/test/OpenMP/distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_codegen.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/test/OpenMP/teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
Commit 703b0ed8e208e5e6cf001689ea0a92296552f032 by martin
[ADT] Add StringRef consume_front_lower and consume_back_lower

These serve as a convenient combination of consume_front/back and
startswith_lower/endswith_lower, consistent with other existing
case insensitive methods named <operation>_lower.

Differential Revision: https://reviews.llvm.org/D104218
The file was modifiedllvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
The file was modifiedllvm/unittests/ADT/StringRefTest.cpp
The file was modifiedllvm/include/llvm/ADT/StringRef.h
The file was modifiedllvm/tools/llvm-rc/llvm-rc.cpp
Commit 35cf5b109769ceb356a9013ca0c0f60fbd230080 by Raphael Isemann
[lldb] Bumb Clang version requirement for TestBasicEntryValues.py to 11

The test only passes with Clang>=11 so adjust the decorator.

Failure output for Clang 10 is:

--- FileCheck trace (code=1) ---
FileCheck main.cpp -check-prefix=FUNC1-GNU

FileCheck input:
      Address: a.out[0x0000000000401127] (a.out.PT_LOAD[1]..text + 263)
      Summary: a.out`func1(int&) + 23 at main.cpp:25:1
       Module: file = "functionalities/param_entry_vals/basic_entry_values/BasicEntryValues_GNU.test_dwo/a.out", arch = "x86_64"
  CompileUnit: id = {0x00000000}, file = "functionalities/param_entry_vals/basic_entry_values/main.cpp", language = "c++11"
     Function: id = {0x400000000000010a}, name = "func1(int&)", mangled = "_Z5func1Ri", range = [0x0000000000401110-0x0000000000401129)
     FuncType: id = {0x400000000000010a}, byte-size = 0, decl = main.cpp:13, compiler_type = "void (int &)"
       Blocks: id = {0x400000000000010a}, range = [0x00401110-0x00401129)
    LineEntry: [0x0000000000401127-0x0000000000401130): functionalities/param_entry_vals/basic_entry_values/main.cpp:25:1
       Symbol: id = {0x0000002c}, range = [0x0000000000401110-0x0000000000401129), name="func1(int&)", mangled="_Z5func1Ri"

FileCheck output:

functionalities/param_entry_vals/basic_entry_values/main.cpp:23:16: error: FUNC1-GNU: expected string not found in input
// FUNC1-GNU: name = "sink", type = "int &", location = DW_OP_GNU_entry_value
The file was modifiedlldb/test/API/functionalities/param_entry_vals/basic_entry_values/TestBasicEntryValues.py
Commit d6565a2dbcbe0932cd5cbb95bf2fc06855dfe938 by thakis
[lld/mac] Add explicit "no unwind info" entries for functions without unwind info

Fixes PR50529. With this, lld-linked Chromium base_unittests passes on arm macs.

Surprisingly, no measurable impact on link time.

Differential Revision: https://reviews.llvm.org/D104681
The file was modifiedlld/MachO/UnwindInfoSection.cpp
The file was modifiedlld/test/MachO/tools/validate-unwind-info.py
The file was modifiedlld/test/MachO/compact-unwind.s
Commit 98e2b1a8dd8ff03b6289a40a16fe749834257494 by Raphael Isemann
[lldb] Adjust Clang version requirements for tail_call_frames tests

Those tests are all failing for older Clang versions. This is adding the
respective test decorators for the passing Clang versions to get the recently
revived matrix bot green.
The file was modifiedlldb/test/API/functionalities/tail_call_frames/thread_step_out_message/TestArtificialFrameStepOutMessage.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/disambiguate_paths_to_common_sink/TestDisambiguatePathsToCommonSink.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/TestInliningAndTailCalls.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/disambiguate_tail_call_seq/TestDisambiguateTailCallSeq.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/disambiguate_call_site/TestDisambiguateCallSite.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
Commit d17798823ca2213af353e125f6f5233522dda7ce by flo
[SCEV] Retain AddExpr flags when subtracting a foldable constant.

Currently we drop wrapping flags for expressions like (A + C1)<flags> - C2.

But we can retain flags under certain conditions:

* Adding a smaller constant is NUW if the original AddExpr was NUW.

* Adding a constant with the same sign and small magnitude is NSW, if the
  original AddExpr was NSW.

This can improve results after using `SimplifyICmpOperands`, which may
subtract one in order to use stricter predicates, as is the case for
`isKnownPredicate`.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D104319
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
Commit bb6afc69b212b756b51b165672bd3531032afa01 by herhut
[mlir][memref] Add memref.copy operation

As the name suggests, it copies from one memref to another.

Differential Revision: https://reviews.llvm.org/D104657
The file was modifiedmlir/test/Dialect/MemRef/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
The file was modifiedmlir/test/Dialect/MemRef/ops.mlir
Commit 28058d4cd10dac8129a5d5760597e832ea6eef81 by omair.javaid
[LLDB] Skip TestExitDuringExpression on aarch64/linux buildbot

TestExitDuringExpression test_exit_before_one_thread_no_unwind fails
sporadically on both Arm and AArch64 linux buildbots. This seems like
manifesting itself on a fully loaded machine. I have not found a reliable
timeout value so marking it skip for now.
The file was modifiedlldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
Commit 2ef1fbfe0e341c3d4706f54ae15b8a5a8eee7b16 by danila
Add norm sub-target feature to table gen for ARC

This adds the `norm` sub-target feature (without backing implementation for now) to table gen.

Differential Revision: https://reviews.llvm.org/D104558
The file was modifiedllvm/lib/Target/ARC/ARCSubtarget.h
The file was modifiedllvm/lib/Target/ARC/ARC.td
Commit c462048cc4c088f6d12e6a55c1ceb54fd731a2b3 by Raphael Isemann
[lldb][NFC] Use SubsystemRAII in XcodeSDKModuleTests
The file was modifiedlldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
Commit 9d110f915918fc6c2338837a15856c92a79f7b94 by Pushpinder.Singh
[AMDGPU][Libomptarget] Move allow_access_to_all_gpu_agents to rtl.cpp

Moving this method helps eliminate a use of g_atl_machine.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D104691
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/system.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/internal.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/data.cpp
Commit 82c1fb575034f81f861a299d8280a5668854a2bc by ivan.butygin
[mlir] Fix invalid handling of AllocOp symbolOperands by SimplifyAllocConst.

symbolOperands were completely ignored by SimplifyAllocConst. Also, slightly improved diagnostic message for verifyAllocLikeOp.

Differential Revision: https://reviews.llvm.org/D104260
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/test/Dialect/MemRef/canonicalize.mlir
The file was modifiedmlir/test/Transforms/canonicalize.mlir
Commit 5dd4d0d46fb892975bbb3a086da5a3a9996ced4d by Andrey.Churbanov
[OpenMP] libomp: fix dynamic loop dispatcher

Restructured dynamic loop dispatcher code.
Fixed use of dispatch buffers for nonmonotonic dynamic (static_steal) schedule:
- eliminated possibility of stealing iterations of the wrong loop when victim
  thread changed its buffer to work on another loop;
- fixed race when victim thread changed its buffer to work in nested parallel;
- eliminated "static" property of the schedule, that is now a single thread can
  execute whole loop.

Differential Revision: https://reviews.llvm.org/D103648
The file was modifiedopenmp/runtime/test/worksharing/for/kmp_set_dispatch_buf.c
The file was modifiedopenmp/runtime/test/worksharing/for/omp_for_schedule_runtime.c
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp
The file was modifiedopenmp/runtime/src/kmp_dispatch.h
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was modifiedopenmp/runtime/test/env/kmp_set_dispatch_buf.c
The file was addedopenmp/runtime/test/worksharing/for/omp_par_in_loop.c
The file was modifiedopenmp/runtime/src/kmp_dispatch_hier.h
Commit 87bdde4962ea926e81a3534119ac8f02901b75b9 by nikita.ppv
[ConstantFold] Skip bitcast -> GEP transform for opaque pointers

Same as with the InstCombine transform, this is not possible for
bitcasts involving opaque pointers, as GEP preserves opaqueness.
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/test/Transforms/InstCombine/opaque-ptr.ll
Commit e638a290f7d0bb85dbf81ba34eaaeef8c8d1b42d by nikita.ppv
[ConstantFold] Delay fetching pointer element type

Don't do this while stipping pointer casts, instead fetch it at
the end. This improves compatibility with opaque pointers for the
case where the base object is not opaque.
The file was modifiedllvm/test/Transforms/InstCombine/opaque-ptr.ll
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit 34cccdaed7e7952a9191231ffa62b1b22eac35c8 by flo
[BitcodeReader] Validate Strtab before accessing.

This fixes a crash with invalid bitcode files that have records
referencing names in Strtab, but Strtab is not present or the index is
out-of-bounds.

This fixes the following clusterfuzz issue:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29895

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D95554
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was addedllvm/test/Bitcode/invalid-record-strtab.ll.bc
The file was addedllvm/test/Bitcode/invalid-record-strtab.ll
Commit 952a0f23852ce9448b10458449b0aa39061ffee5 by huberjn
[Libomptarget] Introduce new globalization runtime calls

Summary:
This patch introduces the new globalization runtime to be used by D97680. These
runtime calls will replace the __kmpc_data_sharing_push_stack and
__kmpc_data_sharing_pop_stack functions.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D102532
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/data_sharing.cu
Commit a83ce95b097689f4ebd2c3b45c0778d0b6946d00 by graham.hunter
[clang] Remove unused capture in closure

c6a91ee6aaaa removed uses of IsMonotonic from OpenMP SIMD codegen,
but that left a capture of the variable unused which upset buildbots
using -Werror.
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
Commit b2f48cc9142012aeac16b8a28070f630e6711d5d by rosie.sumpter
[SLP][AArch64] Add SLP vectorizer tests for XOR and AND reductions. NFC

These regression tests show missed SLP vectorization opportunities,
which will be fixed in a future commit (see:
https://reviews.llvm.org/D104538).

Differential Revision: https://reviews.llvm.org/D104708
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/slp-xor-reduction.ll
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/slp-and-reduction.ll
Commit 48e2d3a5c23f7a11972c30f92d48d85a6a6bf1bd by Raphael Isemann
[lldb][NFC] Remove an outdated comment in HostInfoBase

We should *never* use static local variables in this file as this makes
unittesting the plugin code impossible (and this whole 'testing' thing has
turned out to be rather useful so far).
The file was modifiedlldb/source/Host/common/HostInfoBase.cpp
Commit 68d133a3e8c961965eff9a66b36742a7fcb30165 by huberjn
[OpenMP] Simplify GPU memory globalization

Summary:
Memory globalization is required to maintain OpenMP standard semantics for data sharing between
worker and master threads. The GPU cannot share data between its threads so must allocate global or
shared memory to store the data in. Currently this is implemented fully in the frontend using the
`__kmpc_data_sharing_push_stack` and __kmpc_data_sharing_pop_stack` functions to emulate standard
CPU stack sharing. The front-end scans the target region for variables that escape the region and
must be shared between the threads. Each variable then has a field created for it in a global record
type.

This patch replaces this functinality with a single allocation command, effectively mimicing an
alloca instruction for the variables that must be shared between the threads. This will be much
slower than the current solution, but makes it much easier to optimize as we can analyze each
variable independently and determine if it is not captured. In the future, we can replace these
calls with an `alloca` and small allocations can be pushed to shared memory.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D97680
The file was modifiedclang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedclang/test/OpenMP/nvptx_data_sharing.cpp
The file was modifiedllvm/test/Transforms/OpenMP/globalization_remarks.ll
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.h
The file was modifiedclang/test/OpenMP/assumes_include_nvptx.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_nested_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_debug_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_lambda_capturing.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_codegen.cpp
The file was modifiedllvm/test/Transforms/PhaseOrdering/openmp-opt-module.ll
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_parallel_for_codegen.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/test/OpenMP/declare_target_codegen_globalization.cpp
Commit 6c782e6eb0390097a02ae20bed7c502b8ee15696 by flo
[SCEV] Reduce code to handle predicates in applyLoopGuards (NFC).

Hoist out common recurrence check and sink updating the map, to reduce
the code required to support additional predicates.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 873ff5a72864fdf60614cca8adbd0d869fc9a9a2 by jingu.kang
[SimpleLoopUnswich] Fixa a bug on ComputeUnswitchedCost with partial unswitch

There was a bug from cost calculation for partially invariant unswitch.

The costs of non-duplicated blocks are substracted from the total LoopCost, so
anything that is duplicated should not be counted.

Differential Revision: https://reviews.llvm.org/D103816
The file was modifiedllvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Commit a8dd7094d364f6fb4921627a36b920e5098e88c3 by david.spickett
[lldb] Remove more redundant SetStatus(eReturnStatusFailed)

Mostly by converting uses of GetErrorStream to AppendError,
so that the call to SetStatus is implicit.

Some remain where it isn't certain that you'll have a message
to set, or you want the output to be on stdout.

One place in CommandObjectWatchpoint previously didn't set
the status to failed at all. However it's pretty obvious
that it should do so.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D104697
The file was modifiedlldb/source/Commands/CommandObjectWatchpoint.cpp
The file was modifiedlldb/source/Commands/CommandObjectVersion.cpp
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp
The file was modifiedlldb/source/Interpreter/CommandObject.cpp
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
The file was modifiedlldb/source/Commands/CommandObjectReproducer.cpp
Commit ea011ec5ed53599305de62ca5fcfd31f4b3448c3 by meera.nakrani
[AArch64LoadStoreOptimizer] Recommit: Generate more STPs by renaming registers earlier

This is a recommit that fixes unwanted STP generation by checking that
the base register has not been modified or used elsewhere.

Our initial motivating case was memcpy's with alignments > 16. The
loads/stores, to which small memcpy's expand, are kept together in
several places so that we get a sequence like this for a 64 bit copy:
LD w0
LD w1
ST w0
ST w1
The load/store optimiser can generate a LDP/STP w0, w1 from this because
the registers read/written are consecutive. In our case however, the
sequence is optimised during ISel, resulting in:
LD w0
ST w0
LD w0
ST w0
This instruction reordering allows reuse of registers. Since the registers
are no longer consecutive (i.e. they are the same), it inhibits LDP/STP
creation. The approach here is to perform renaming:
LD w0
ST w0
LD w1
ST w1
to enable the folding of the stores into a STP. We do not yet generate
the LDP due to a limitation in the renaming implementation, but plan to
look at that in a follow-up so that we fully support this case. While
this was initially motivated by certain memcpy's, this is a general
approach and thus is beneficial for other cases too, as can be seen
in some test changes.

Differential Revision: https://reviews.llvm.org/D103597
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
The file was modifiedllvm/test/CodeGen/AArch64/consthoist-gep.ll
The file was modifiedllvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
The file was modifiedllvm/test/CodeGen/AArch64/ldst-opt.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/byval-call.ll
Commit e790d3667ed4d8f8df0b55f7c93fee0045c0e626 by nikita.ppv
[OpaquePtr] Handle addrspacecasts in InstCombine

This adds support for addrspace casts involving opaque pointers to
InstCombine, as well as the isEliminableCastPair() helper
(otherwise the assertion failure would just move there).

Add PointerType::hasSameElementTypeAs() to hide the element type
details.

Differential Revision: https://reviews.llvm.org/D104668
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/test/Transforms/InstCombine/opaque-ptr.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 244e98ff480859e969a99d07064745b075f3a892 by huberjn
[Libomptarget] Improve device runtime implementation for globalized variables.

Currently the runtime implementation of `__kmpc_alloc_shared` is extremely slow because it allocated memory for each thread individually. This patch adds a small buffer for the threads to share data and will greatly improve performance for builds where all globalization could not be optimized out. If the shared buffer is full, then memory will not only be allocated per-warp rather than per-thread.

Depends on D97680

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D104666
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omp_data.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/data_sharing.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
Commit 6fc51c9f7d6647ba78e5a235e7d8bfcf3ab2ede0 by huberjn
[OpenMP] Replace GPU globalization calls with shared memory in the middle-end

Summary:
The changes introduced in D97680 create a simpler interface to code that needs
to be globalized. This interface is used to simplify the globalization calls in
the middle end. We can check any globalization call that is only called by a
single thread in the team and replace it with a static shared memory buffer.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D97818
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was addedllvm/test/Transforms/OpenMP/replace_globalization.ll
Commit dd1b121c99de6bd7186e23e2bf34edb02db7c076 by isanbard
[llvm-diff] Constify APIs so that there aren't conflicts

Some APIs work with const variables while others don't. This can cause
conflicts when calling one from the other.

This is NFC.

Differential Revision: https://reviews.llvm.org/D104719
The file was modifiedllvm/tools/llvm-diff/DiffLog.h
The file was modifiedllvm/tools/llvm-diff/DifferenceEngine.cpp
The file was modifiedllvm/tools/llvm-diff/DiffConsumer.cpp
The file was modifiedllvm/tools/llvm-diff/DiffConsumer.h
The file was modifiedllvm/tools/llvm-diff/DiffLog.cpp
The file was modifiedllvm/tools/llvm-diff/DifferenceEngine.h
Commit 3accff2553c00c3237876edd6066e1701c52e66c by i
[llvm-objcopy] Fix some namespace style issues

https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-implement-previously-declared-functions

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D104693
The file was modifiedllvm/tools/llvm-objcopy/ConfigManager.cpp
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp

Summary

  1. [lldb] Actually let the matrix bot test something (details)
Commit 478f6eb87c8780f5713c8526a32bb6f7e95caab1 by Raphael Isemann
[lldb] Actually let the matrix bot test something

Since https://reviews.llvm.org/D69401 landed the bot has been setting unused
CMake variables for specifying test compilers which meant this bot hasn't
been testing anything since 2019. Reenabling the tests so that we can start
fixing the failing tests.
The file was modifiedzorg/jenkins/monorepo_build.py