SuccessChanges

Summary

  1. [zorg] Update container-based Linaro slaves (details)
  2. [lldb] Remove the "Test Reproducer" stage form the fast incremental bot. (details)
  3. [lldb] Merge code path for 'sanitized' variant. (NFC) (details)
Commit acf05bd9613de00aa00f33724ae515092f6cf2e8 by maxim.kuvyrkov
[zorg] Update container-based Linaro slaves

Summary:
Update container-based Linaro slaves to not include machine name
"linaro-armv8-01", since these slaves are now served by docker
containers on several Linaro machines.

Also decrease "jobs" property setting for such builders from 64 to 32.
These builders share 32-core and 64-core machines, and even on 64-core
machine they can get at most 32-thread parallelism.

Reviewers: gkistanova, olista01, rovka, yroux, omjavaid, ostannard

Reviewed By: gkistanova, ostannard

Subscribers: ostannard, kristof.beyls

Differential Revision: https://reviews.llvm.org/D80573
The file was modifiedbuildbot/osuosl/master/config/slaves.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 00e469de4882f5cdca2b9cfb5b41c98a41efc633 by Jonas Devlieghere
[lldb] Remove the "Test Reproducer" stage form the fast incremental bot.

Now that we can capture and replay the complete test suite, I'm moving
everything into a dedicated bot that runs less frequently.
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake (diff)
Commit aa99b28bf45d590685945b3af37ca05c9be302bb by Jonas Devlieghere
[lldb] Merge code path for 'sanitized' variant. (NFC)
The file was modifiedzorg/jenkins/monorepo_build.py (diff)

Summary

  1. tsan: disable java_finalizer2 test on darwin (details)
  2. [Clang][Sanitizers] Expect test failure on {arm,thumb}v7 (details)
  3. [TableGen] Fix non-standard escape warnings for braces in InstAlias (details)
  4. FileCheck [10/12]: Add support for signed numeric values (details)
  5. [ARM] Improve codegen of volatile load/store of i64 (details)
  6. [AArch64][SVE] Add support for spilling/filling ZPR2/3/4 (details)
  7. Fixed bot failure after d20bf5a7258d4b6a7 (details)
  8. [AArch64] Precommit new fp extraction/insertion test. (details)
  9. [DebugInfo] Use SplitTemplateClosers (foo<bar<baz> >) in DWARF too (details)
  10. [yaml2obj] - Implement the "SectionHeaderTable" tag. (details)
  11. [analyzer] Allow bindings of the CompoundLiteralRegion (details)
  12. [AMDGPU][MC][DISASSEMBLER] Corrected decoder to consume each code fragment only once (details)
  13. [clangd] Highlight related control flow. (details)
  14. [AMDGPU][MC] Corrected v_writelane_b32 to fix a decoding bug (details)
  15. [Clang] Enable _Complex __float128 (details)
  16. llvm-dwarfdump.h - remove unnecessary WithColor.h include. NFC. (details)
  17. DWARFDebugMacro.h - remove unnecessary WithColor.h include. NFC. (details)
  18. Fix MSVC signed/unsigned comparison warnings. NFC. (details)
  19. [AMDGPU][MC][GFX908] Corrected src0 of v_accvgpr_write to accept only VGPRs and inline constants. (details)
  20. Fixed bot failure after d20bf5a7258d4b6a7 (details)
  21. [X86][SSE] Peek though MOVMSK source sign bits using SimplifyMultipleUseDemandedBits (details)
  22. [MLIR] Move `ConcatOp` to its lexicographic position (details)
  23. WithColor.h - reduce unnecessary includes to forward declarations. NFC. (details)
  24. FileOutputBuffer.h - remove unused includes. NFC. (details)
  25. [MLIR] Tidy up documentation for `Shape_JoinOp`, `Shape_ReduceOp`, and (details)
  26. [MLIR] Add TensorFromElementsOp to Standard ops. (details)
  27. [MLIR] Add `index_to_size` and `size_to_index` to the shape dialect (details)
  28. AMDGPU: Add baseline test for ptrmask infer address space (details)
  29. InferAddressSpaces: Handle ptrmask intrinsic (details)
  30. [MLIR] Add `num_elements` to the shape dialect (details)
  31. [mlir][gpu][mlir-cuda-runner] Refactor ConvertKernelFuncToCubin to be generic. (details)
  32. [MLIR] Fix operand type in `from_extent_tensor` in the shape dialect (details)
  33. Prevent test from failing in my home directory (details)
  34. SymbolicFile.h - removed unused FileSystem.h include. NFC. (details)
  35. AMDGPU: Make S_DENORM_MODE not be a scheduling boundary (details)
  36. libclc: Compile with -nostdlib (details)
  37. AMDGPU: Add missing test for s_denorm_mode scheduling (details)
  38. [clangd] Work around PS4 -fno-exceptions, easier than disabling tests? (details)
  39. [ASTMatchers] Add traversal-kind support to `DynTypedMatcher` (details)
  40. [mlir] Make translation libraries available through MLIRConfig.cmake (details)
  41. [libTooling] Fix Transformer to work with ambient traversal kinds. (details)
  42. [x86] Propagate memory operands during call frame optimization (details)
  43. [analyzer] Merge implementations of SymInt, IntSym, and SymSym exprs (details)
  44. [analyzer] Refactor range inference for symbolic expressions (details)
  45. [analyzer] Generalize bitwise OR rules for ranges (details)
  46. [analyzer] Generalize bitwise AND rules for ranges (details)
  47. [analyzer] Introduce reasoning about symbolic remainder operator (details)
  48. Remove WrapperMatcherInterface (details)
  49. [mlir] Use ValueRange instead of ArrayRef<Value> (details)
  50. [mlir] Fix mismatched-tags warning (details)
  51. [AMDGPU] Reject moving PHI to VALU if the only VGPR input originated from move immediate (details)
  52. [libc++] Complete overhaul of constexpr support in std::array (details)
  53. Make VE.def a textual header (details)
  54. [clang-tidy] Add abseil-string-find-str-contains checker. (details)
  55. [llvm-exegesis] Make a few counter methods virtual to allow targets to provide target-specific support. (details)
  56. Create utility function to Merge Adjacent Basic Blocks (details)
  57. [SDAG] Don't require LazyBlockFrequencyInfo at optnone (details)
  58. [gn build] Port 7cfdff7b4a6 (details)
  59. Fix the crashlog.py script's use of the load_address property. (details)
  60. [X86] Add 'avx512vp2intersect' to getHostCPUFeatures. (details)
  61. [PGO] Guard the memcmp/bcmp size value profiling instrumentation behind flag. (details)
  62. Default to generating statepoints with deopt and gc-transition bundles if needed (details)
  63. [analyzer] Remove unused function. NFC. (details)
  64. [analyzer] Remove unused function declaration. NFC. (details)
  65. [ThinLTO] Compute the basic block count across modules. (details)
  66. [IR] Avoid linear scan in MDNode::intersect() (NFC) (details)
  67. [clang-tidy] Fix build broken by commit 7cfdff7b4a6704b8ef2a1b594e1ec19d2d89f385 (D80023) (details)
  68. [analyzer] SATestBuild.py: Make verbosity level a cmd option (details)
  69. [lldb/Reproducers] Add top-level-target check-lldb-reproducers (details)
Commit 0969541ffcb24ae1af59fcb8778063becf17dbca by dvyukov
tsan: disable java_finalizer2 test on darwin

pthread_barrier_t is not supported on darwin.
Do what other tests that use pthread_barrier_t do.
The file was modifiedcompiler-rt/test/tsan/java_finalizer2.cpp
Commit 69935d86aed1b691c5f33a2141f15cb3aaee1af6 by elver
[Clang][Sanitizers] Expect test failure on {arm,thumb}v7

Summary:
Versions of LLVM built on {arm,thumb}v7 appear to have differently
configured pass managers, which causes restrictions on which sanitizers
we may use.

As such, expect failure of the recently added "sanitize-coverage.c" test
on these architectures until we can investigate armv7's restrictions.

Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=46117

Reviewers: vitalybuka, glider

Reviewed By: glider

Subscribers: glider, kristof.beyls, danielkiss, cfe-commits, vvereschaka

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80668
The file was modifiedclang/test/CodeGen/sanitize-coverage.c
Commit e533a176b3d4d936a4870cd1a3273941ba699882 by cullen.rhodes
[TableGen] Fix non-standard escape warnings for braces in InstAlias

Summary:
TableGen interprets braces ('{}') in the asm string of instruction aliases as
variants but when defining aliases with literal braces they have to be escaped
to prevent them being removed.

Braces are escaped with '\\', for example:

  def FooBraces : InstAlias<"foo \\{$imm\\}", (foo IntOperand:$imm)>;

Although when TableGen is emitting the assembly writer (-gen-asm-writer)
the AsmString that gets emitted is:

  AsmString = "foo \{$\x01\}";

In c/c++ braces don't need to be escaped which causes compilation
warnings:

  warning: use of non-standard escape character '\{' [-Wpedantic]

This patch fixes the issue by unescaping the flattened alias asm string
in the asm writer, by replacing '\{\}' with '{}'.

Reviewed By: hfinkel

Differential Revision: https://reviews.llvm.org/D79991
The file was addedllvm/test/TableGen/AliasAsmString.td
The file was modifiedllvm/utils/TableGen/AsmWriterEmitter.cpp
Commit 23ac16cf9bd4cc0bb434efcf6385baf083a2ff7b by thomasp
FileCheck [10/12]: Add support for signed numeric values

Summary:
This patch is part of a patch series to add support for FileCheck
numeric expressions. This specific patch adds support signed numeric
values, thus allowing negative numeric values.

As such, the patch adds a new class to represent a signed or unsigned
value and add the logic for type promotion and type conversion in
numeric expression mixing signed and unsigned values. It also adds
the %d format specifier to represent signed value.

Finally, it also adds underflow and overflow detection when performing a
binary operation.

Copyright:
    - Linaro (changes up to diff 183612 of revision D55940)
    - GraphCore (changes in later versions of revision D55940 and
                 in new revision created off D55940)

Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson

Reviewed By: jhenderson, arichardson

Subscribers: MaskRay, hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, kristina, hfinkel, rogfer01, JonChesterfield

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60390
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
The file was modifiedllvm/lib/Support/FileCheck.cpp
The file was modifiedllvm/unittests/Support/FileCheckTest.cpp
The file was modifiedllvm/test/FileCheck/numeric-expression.txt
The file was modifiedllvm/lib/Support/FileCheckImpl.h
Commit c010d4d195506aaea76a1cc8afb5a6b5884dba44 by victor.campos
[ARM] Improve codegen of volatile load/store of i64

Summary:
Instead of generating two i32 instructions for each load or store of a volatile
i64 value (two LDRs or STRs), now emit LDRD/STRD.

These improvements cover architectures implementing ARMv5TE or Thumb-2.

The code generation explicitly deviates from using the register-offset
variant of LDRD/STRD. In this variant, the register allocated to the
register-offset cannot be reused in any of the remaining operands. Such
restriction seems to be non-trivial to implement in LLVM, thus it is
left as a to-do.

Differential Revision: https://reviews.llvm.org/D70072
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/ARM/i64_volatile_load_store.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit 8a397b66b2c672999e9e6d63334d5bffd7db1a3f by cullen.rhodes
[AArch64][SVE] Add support for spilling/filling ZPR2/3/4

Summary:
This patch enables the register allocator to spill/fill lists of 2, 3
and 4 SVE vectors registers to/from the stack. This is implemented with
pseudo instructions that get expanded to individual LDR_ZXI/STR_ZXI
instructions in AArch64ExpandPseudoInsts.

Patch by Sander de Smalen.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D75988
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/spillfill-sve.mir
Commit a0d847c6cdcbe167213d91313577c57073d5c013 by SourabhSingh.Tomar
Fixed bot failure after d20bf5a7258d4b6a7

There were some bot failures due unused funtion `rotateSign`
left in code.

http://lab.llvm.org:8011/builders/clang-ppc64le-rhel/builds/3731

error: unused function 'rotateSign' [-Werror,-Wunused-function]
static uint64_t rotateSign(int64_t I)
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Commit ab95ac013234189ad797f36d95c96b2d0999a653 by flo
[AArch64] Precommit new fp extraction/insertion test.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-neon-copy.ll
Commit d283fc4f9d07a5f3334fe682ccabfc16e8d2933b by sam.mccall
[DebugInfo] Use SplitTemplateClosers (foo<bar<baz> >) in DWARF too

Summary:
D76801 caused some regressions in debuginfo compatibility by changing how
certain functions were named.

For CodeView we try to mirror MSVC exactly: this was fixed in a549c0d00486
For DWARF the situation is murkier. Per David Blaikie:
> In general DWARF doesn't specify this at all.
> [...]
> This isn't the only naming divergence between GCC and Clang

Nevertheless, including the space seems to provide better compatibility with
GCC and GDB. E.g. cpexprs.cc in the GDB testsuite requires this formatting.
And there was no particular desire to change the printing of names in debug
info in the first place (just in diagnostics and other more user-facing text).

Fixes PR46052

Reviewers: dblaikie, labath

Subscribers: aprantl, cfe-commits, dyung

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80554
The file was modifiedclang/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp
The file was modifiedclang/test/Modules/ModuleDebugInfo.cpp
The file was modifiedclang/test/Modules/ExtDebugInfo.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit ad07d5f39425d4b7013346f4eb52a1e99e6c19a8 by grimar
[yaml2obj] - Implement the "SectionHeaderTable" tag.

With the "SectionHeaderTable" it is now possible to reorder
entries in the section header table.

It also allows to stop emitting the table.

Differential revision: https://reviews.llvm.org/D80002
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was addedllvm/test/tools/yaml2obj/ELF/section-headers.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
Commit bd06c417e6c717cbe33b566d7bbaf27fb47e763a by vsavchenko
[analyzer] Allow bindings of the CompoundLiteralRegion

Summary:
CompoundLiteralRegions have been properly modeled before, but
'getBindingForElement` was not changed to accommodate this change
properly.

rdar://problem/46144644

Differential Revision: https://reviews.llvm.org/D78990
The file was addedclang/test/Analysis/retain-release-compound-literal.m
The file was modifiedclang/lib/StaticAnalyzer/Core/RegionStore.cpp
The file was modifiedclang/unittests/StaticAnalyzer/StoreTest.cpp
The file was modifiedclang/test/Analysis/compound-literals.c
Commit bab5dadfcd0fc3a77c47aec7e885e8b70b9f9756 by dmitry.preobrazhensky
[AMDGPU][MC][DISASSEMBLER] Corrected decoder to consume each code fragment only once

Summary: disabled disassembly of successfully decoded fragments of code.

See detailed bug description: https://bugs.llvm.org/show_bug.cgi?id=46101

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D80637
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt
Commit a56141b8f9fea112c1ea078c974d91949b6e7a5c by sam.mccall
[clangd] Highlight related control flow.

Summary:
This means e.g. highlighting "return" will show other returns/throws
from the same function, highlighting a case will show all the
return/breaks etc.

This is a bit of an abuse of textDocument/highlight, but seems useful.

Reviewers: adamcz

Subscribers: ilya-biryukov, MaskRay, jkorous, mgrang, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D78454
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
Commit 45251ef5345b3c81c8f394d42d252de039c72566 by dmitry.preobrazhensky
[AMDGPU][MC] Corrected v_writelane_b32 to fix a decoding bug

Corrected vdst_in to match vdst operand type.
See bug 45193: https://bugs.llvm.org/show_bug.cgi?id=45193

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D80636
The file was modifiedllvm/lib/Target/AMDGPU/VOP3Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt
Commit f9e94eb8688d1fe1727360462e957fbbfb754e59 by nemanjai
[Clang] Enable _Complex __float128

When I added __float128 a while ago, I neglected to add support for the complex
variant of the type. This patch just adds that.

Differential revision: https://reviews.llvm.org/D80533
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was modifiedclang/test/CodeGen/ppc64-complex-return.c
The file was modifiedclang/test/CodeGen/ppc64-complex-parms.c
Commit 84be4278e7966c8747aad48aa49de9bcd9f1d730 by llvm-dev
llvm-dwarfdump.h - remove unnecessary WithColor.h include. NFC.
The file was modifiedllvm/tools/llvm-dwarfdump/llvm-dwarfdump.h
Commit ab5abce23ccf8369c39d734c6279949815a9b9dc by llvm-dev
DWARFDebugMacro.h - remove unnecessary WithColor.h include. NFC.
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
Commit 73ae678363fb42418a8959955d05488191045b31 by llvm-dev
Fix MSVC signed/unsigned comparison warnings. NFC.
The file was modifiedllvm/lib/Support/FileCheck.cpp
Commit f47e27e260e3e06167a7e1de8a4c092b95717e15 by dmitry.preobrazhensky
[AMDGPU][MC][GFX908] Corrected src0 of v_accvgpr_write to accept only VGPRs and inline constants.

This change disables use of special SGPR registers like scc, vccz, execz, etc as operands of v_accvgpr_write.

See bug 45414: https://bugs.llvm.org/show_bug.cgi?id=45414

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D80530
The file was modifiedllvm/test/MC/AMDGPU/mai.s
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Commit 7716681cfd0ea2dadbddae6f1983e130c2fa4247 by SourabhSingh.Tomar
Fixed bot failure after d20bf5a7258d4b6a7

There was a failure on windows bit due to format mismatch on
different(Hex and Decimal) platforms even if meaning of output is same.

For example on X86 linux =>
DW_OP_plus_uconst 0x70, DW_OP_deref, DW_OP_lit4, DW_OP_mul
              ^
on X86 Windows-gnu =>
DW_AT_location (DW_OP_fbreg +112, DW_OP_deref, DW_OP_lit4, DW_OP_mul)

: error: CHECK-SAME: expected string not found in input
; CHECK-SAME: DW_OP_plus_uconst 0x70, DW_OP_deref, DW_OP_lit4, DW_OP_mul
              ^
<stdin>:28:17: note: scanning from here
DW_AT_location (DW_OP_fbreg +112, DW_OP_deref, DW_OP_lit4, DW_OP_mul)
                ^
<stdin>:28:18: note: possible intended match here
DW_AT_location (DW_OP_fbreg +112, DW_OP_deref, DW_OP_lit4, DW_OP_mul)

Now the test is limited to x86 using REQUIRED and -mtriple.

http://45.33.8.238/win/16214/step_11.txt
The file was modifiedllvm/test/DebugInfo/fortranSubrangeVar.ll
Commit 1ddac9563d7f2414e6c4302f9902ac1294966161 by llvm-dev
[X86][SSE] Peek though MOVMSK source sign bits using SimplifyMultipleUseDemandedBits

Allows SimplifyDemandedBitsForTargetNode to peek through multi-use ops where MOVMSK only demands the signbit of each vector element.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec_ssubo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_saddo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll
Commit e73bb4fba7092f7e1ef807812063a0f655a185af by frgossen
[MLIR] Move `ConcatOp` to its lexicographic position

Purely cosmetic change.
The operation implementations in `Shape.cpp` are now lexicographic order.

Differential Revision: https://reviews.llvm.org/D80277
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit 1a945757ac7debd9ad14497fa404e3900869cad5 by llvm-dev
WithColor.h - reduce unnecessary includes to forward declarations. NFC.
The file was modifiedllvm/include/llvm/Support/WithColor.h
Commit f6417f5db8c16286904d074d1e40e9c1eb083951 by llvm-dev
FileOutputBuffer.h - remove unused includes. NFC.

Move dependent includes down to source files where necessary.
The file was modifiedllvm/include/llvm/Support/FileOutputBuffer.h
The file was modifiedllvm/lib/Support/FileOutputBuffer.cpp
The file was modifiedlld/Common/Strings.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
Commit dd484baffdf4a92e564c38a17d35a742e633b0e0 by frgossen
[MLIR] Tidy up documentation for `Shape_JoinOp`, `Shape_ReduceOp`, and
`Shape_ConstSizeOp`

Fix places that refer to `shape.type` instead of `shape.shape`.

Differential Revision: https://reviews.llvm.org/D80278
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit c3098e4f4036e96dbd3de0e61c5e114b0eb7bbb4 by pifon
[MLIR] Add TensorFromElementsOp to Standard ops.

Differential Revision: https://reviews.llvm.org/D80705
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/IR/core-ops.mlir
Commit 6594d54571ee5887f031555a7660b8d8e74194d3 by frgossen
[MLIR] Add `index_to_size` and `size_to_index` to the shape dialect

Add the two conversion operations `index_to_size` and `size_to_index` to the
shape dialect.
This facilitates the conversion of index types between the shape and the
standard dialect.

Differential Revision: https://reviews.llvm.org/D80280
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit 0da4353938368c1f2473cd24553989f84b964279 by Matthew.Arsenault
AMDGPU: Add baseline test for ptrmask infer address space
The file was addedllvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
Commit d6671ee90c1423eb18c6fab11819df850ae2200d by Matthew.Arsenault
InferAddressSpaces: Handle ptrmask intrinsic

This one is slightly odd since it counts as an address expression,
which previously could never fail. Allow the existing TTI hook to
return the value to use, and re-use it for handling how to handle
ptrmask.

Handles the no-op addrspacecasts for AMDGPU. We could probably do
something better based on analysis of the mask value based on the
address space, but leave that for now.
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
Commit fdaa391e3df3c3a555d933122b0ef85eaf5eb63c by frgossen
[MLIR] Add `num_elements` to the shape dialect

The operation `num_elements` determines the number of elements for a given
shape.
That is the product of its dimensions.

Differential Revision: https://reviews.llvm.org/D80281
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 061fb8eb2d9f6ffa05f2b57670c918c477ca7f36 by whchung
[mlir][gpu][mlir-cuda-runner] Refactor ConvertKernelFuncToCubin to be generic.

Make ConvertKernelFuncToCubin pass to be generic:

- Rename to ConvertKernelFuncToBlob.
- Allow specifying triple, target chip, target features.
- Initializing LLVM backend is supplied by a callback function.
- Lowering process from MLIR module to LLVM module is via another callback.
- Change mlir-cuda-runner to adopt the revised pass.
- Add new tests for lowering to ROCm HSA code object (HSACO).
- Tests for CUDA and ROCm are kept in separate directories.

Differential Revision: https://reviews.llvm.org/D80142
The file was addedmlir/test/Conversion/GPUToROCm/lower-rocdl-kernel-to-hsaco.mlir
The file was modifiedmlir/CMakeLists.txt
The file was removedmlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp
The file was addedmlir/test/Conversion/GPUToROCm/lit.local.cfg
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was removedmlir/include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h
The file was addedmlir/test/lib/Transforms/TestConvertGPUKernelToHsaco.cpp
The file was addedmlir/lib/Conversion/GPUCommon/ConvertKernelFuncToBlob.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
The file was removedmlir/lib/Conversion/GPUToCUDA/CMakeLists.txt
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/test/lib/Transforms/TestConvertGPUKernelToCubin.cpp
The file was modifiedmlir/test/lit.site.cfg.py.in
The file was modifiedmlir/lib/Conversion/GPUCommon/CMakeLists.txt
Commit f1ab7550bcd51c353a1cac0303df9bbe960b7eab by frgossen
[MLIR] Fix operand type in `from_extent_tensor` in the shape dialect

The operand of `from_extent_tensor` is now of the same index type as the result
type of the inverse operation `to_extent_tensor`.

Differential Revision: https://reviews.llvm.org/D80283
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 6c2b7ee2f7fac7b683e343c2c383b7e67fadf9f8 by sam.mccall
Prevent test from failing in my home directory
The file was modifiedclang/test/Headers/nvptx_device_math_macro.cpp
Commit 0ea52537feae4bc64b5cefc3a4c168dc3ad90463 by llvm-dev
SymbolicFile.h - removed unused FileSystem.h include. NFC.

Exposes a number of implicit dependencies that needs fixing in source files and XCOFFObjectFile.h.
The file was modifiedllvm/include/llvm/Object/XCOFFObjectFile.h
The file was modifiedllvm/lib/Object/COFFObjectFile.cpp
The file was modifiedllvm/include/llvm/Object/SymbolicFile.h
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp
The file was modifiedllvm/tools/llvm-rc/ResourceFileWriter.cpp
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/wasm/Writer.cpp
Commit 1a9e0d7092145e33175f628f4cdd28acf0d17100 by Matthew.Arsenault
AMDGPU: Make S_DENORM_MODE not be a scheduling boundary

Now that the mode register uses/defs should be properly modeled, we
don't need to treat the FP mode switch as an arbitrary side effect.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
Commit cf4d4e366a2165f0e93948f166d76ae650aecc98 by arsenm2
libclc: Compile with -nostdlib

This fixes a build error when compiling for amdgcn-amd-amdhsa, which
defaults to trying to link bitcode libraries.
The file was modifiedlibclc/CMakeLists.txt
Commit 06019e312571c886494d3287e8962e5d5943dab8 by Matthew.Arsenault
AMDGPU: Add missing test for s_denorm_mode scheduling

Forgot to add this file to 1a9e0d7092145e33175f628f4cdd28acf0d17100
The file was addedllvm/test/CodeGen/AMDGPU/schedule-barrier-fpmode.mir
Commit 8e325cfc1456820e2253909e4aa0c3014f1e050c by sam.mccall
[clangd] Work around PS4 -fno-exceptions, easier than disabling tests?
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
Commit 04a96aa3e430a66767732f44acea00c6e13c9f78 by yitzhakm
[ASTMatchers] Add traversal-kind support to `DynTypedMatcher`

Summary:
This patch exposes `TraversalKind` support in the `DynTypedMatcher` API. While
previously, the `match` method supported traversal logic, it was not possible to
set or get the traversal kind.

Reviewers: gribozavr, steveire

Subscribers: hokein, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80685
The file was modifiedclang/unittests/ASTMatchers/CMakeLists.txt
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
Commit db52a4901096f035b6cda832c4bf4c6ce2ede2f9 by jean-michel.gorius
[mlir] Make translation libraries available through MLIRConfig.cmake
The file was modifiedmlir/cmake/modules/MLIRConfig.cmake.in
The file was modifiedmlir/cmake/modules/CMakeLists.txt
Commit ce5780b88c6e2f3303afd266e5e29c1badd9eb3b by yitzhakm
[libTooling] Fix Transformer to work with ambient traversal kinds.

Summary:
`RewriteRule`'s `applyFirst` was brittle with respect to the default setting of the
`TraversalKind`. This patch builds awareness of traversal kinds directly into
rewrite rules so that they are insensitive to any changes in defaults.

Reviewers: steveire, gribozavr

Subscribers: hokein, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80606
The file was modifiedclang/include/clang/Tooling/Transformer/RewriteRule.h
The file was modifiedclang/lib/Tooling/Transformer/RewriteRule.cpp
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
Commit f5192d7fb7564c45ff4ec42f359408974b7c8fa2 by jean-michel.gorius
[x86] Propagate memory operands during call frame optimization

Summary:
Propagate memory operands when folding load instructions into instructions that directly operate on memory.

The original revision has been split. See D80140 for the other part of the changes.

Reviewers: craig.topper, rnk, lebedev.ri, efriedma

Reviewed By: craig.topper

Subscribers: lebedev.ri, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80062
The file was modifiedllvm/lib/Target/X86/X86CallFrameOptimization.cpp
The file was addedllvm/test/CodeGen/X86/cf-opt-memops.mir
Commit bb2ae74717a25ba268e7bd17a2a572d931ed094e by vsavchenko
[analyzer] Merge implementations of SymInt, IntSym, and SymSym exprs

Summary:
SymIntExpr, IntSymExpr, and SymSymExpr share a big portion of logic
that used to be duplicated across all three classes.  New
implementation also adds an easy way of introducing another type of
operands into the mix.

Differential Revision: https://reviews.llvm.org/D79156
The file was modifiedclang/lib/StaticAnalyzer/Core/SymbolManager.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
Commit 1f57d76a8dd00611aaa4b33048be195ea9a2dc44 by vsavchenko
[analyzer] Refactor range inference for symbolic expressions

Summary:
This change introduces a new component to unite all of the reasoning
we have about operations on ranges in the analyzer's solver.
In many cases, we might conclude that the range for a symbolic operation
is much more narrow than the type implies.  While reasoning about
runtime conditions (especially in loops), we need to support more and
more of those little pieces of logic.  The new component mostly plays
a role of an organizer for those, and allows us to focus on the actual
reasoning about ranges and not dispatching manually on the types of the
nested symbolic expressions.

Differential Revision: https://reviews.llvm.org/D79232
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
The file was modifiedclang/test/Analysis/constant-folding.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was addedclang/test/Analysis/double-ranges-bug.c
Commit 47c4b8bd68698b1827f39c3056783ed042faf718 by vsavchenko
[analyzer] Generalize bitwise OR rules for ranges

Summary:
Previously the current solver started reasoning about bitwise OR
expressions only when one of the operands is a constant.  However,
very similar logic could be applied to ranges.  This commit addresses
this shortcoming.  Additionally, it refines how we deal with negative
operands.

Differential Revision: https://reviews.llvm.org/D79336
The file was modifiedclang/test/Analysis/constant-folding.c
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
Commit 2a09daff0f902e70a08f2b30f3461fb8848f5ab1 by vsavchenko
[analyzer] Generalize bitwise AND rules for ranges

Summary:
Previously the current solver started reasoning about bitwise AND
expressions only when one of the operands is a constant.  However,
very similar logic could be applied to ranges.  This commit addresses
this shortcoming.  Additionally, it refines how we deal with negative
operands.

rdar://problem/54359410

Differential Revision: https://reviews.llvm.org/D79434
The file was modifiedclang/test/Analysis/switch-case.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was addedclang/test/Analysis/uninit-exhaustive-switch-bug.c
The file was modifiedclang/test/Analysis/constant-folding.c
Commit 73c120a9895a7e12e3c29a755d64096c8bd0220f by vsavchenko
[analyzer] Introduce reasoning about symbolic remainder operator

Summary:
New logic tries to narrow possible result values of the remainder operation
based on its operands and their ranges.  It also tries to be conservative
with negative operands because according to the standard the sign of
the result is implementation-defined.

rdar://problem/44978988

Differential Revision: https://reviews.llvm.org/D80117
The file was addedclang/test/Analysis/PR35418.cpp
The file was modifiedclang/test/Analysis/hangs.c
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
The file was modifiedclang/test/Analysis/constant-folding.c
The file was addedclang/test/Analysis/uninit-bug-first-iteration-init.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit 35492270ed705ea9ac98ba04c6fda1adafef613a by gribozavr
Remove WrapperMatcherInterface

Summary:
WrapperMatcherInterface is an abstraction over a member variable -- in
other words, not much of an abstraction at all. I think it makes code
harder to read more than in helps with deduplication. Not to even
mention the questionable usage of the ~Interface suffix for a type with
state.

Reviewers: ymandel

Reviewed By: ymandel

Subscribers: arichardson, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80704
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
Commit fefe4366c3bdd03552c448972930a0f7df328c24 by jpienaar
[mlir] Use ValueRange instead of ArrayRef<Value>

This allows constructing operand adaptor from existing op (useful for commonalizing verification as I want to do in a follow up).

I also add ability to use member initializers for the generated adaptor constructors for convenience.

Differential Revision: https://reviews.llvm.org/D80667
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/lib/TableGen/OpClass.cpp
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/test/mlir-tblgen/op-operand.td
The file was modifiedmlir/include/mlir/TableGen/OpClass.h
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVLowering.h
Commit 2321ab9c69ad33944697cde68525fd7b2bf4b36a by jpienaar
[mlir] Fix mismatched-tags warning
The file was modifiedmlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
Commit b726d071b4aa46004228fc38ee5bfd167f999bfe by alex-t
[AMDGPU] Reject moving PHI to VALU if the only VGPR input originated from move immediate

Summary:
PHIs result register class is set to VGPR or SGPR depending on the cross block value divergence.
         In some cases uniform PHI need to be converted to return VGPR to prevent the oddnumber of moves values from VGPR to SGPR and back.
         PHI should certainly return VGPR if it has at least one VGPR input. This change adds the exception.
         We don't want to convert uniform PHI to VGPRs in case the only VGPR input is a VGPR to SGPR COPY and definition od the
         source VGPR in this COPY is move immediate.

  bb.0:

     %0:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
     %2:sreg_32 = .....

  bb.1:
     %3:sreg_32 = PHI %1, %bb.3, %2, %bb.1
     S_BRANCH %bb.3

  bb.3:
     %1:sreg_32 = COPY %0
     S_BRANCH %bb.2

Reviewers: rampitec

Reviewed By: rampitec

Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80434
The file was addedllvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
Commit 77b9abfc8e89ca627e4f9a1cc206bea131db6db1 by Louis Dionne
[libc++] Complete overhaul of constexpr support in std::array

This commit adds missing support for constexpr in std::array under all
standard modes up to and including C++20. It also transforms the <array>
tests to check for constexpr-friendliness under the right standard modes.

Fixes https://llvm.org/PR40124
Fixes rdar://57522096
Supersedes https://reviews.llvm.org/D60666

Differential Revision: https://reviews.llvm.org/D80452
The file was modifiedlibcxx/test/std/containers/sequences/array/array.size/size.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/tuple_element.fail.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.special/swap.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/at.pass.cpp
The file was modifiedlibcxx/test/support/test_macros.h
The file was removedlibcxx/test/std/containers/sequences/array/begin.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.swap/swap.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get_rv.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get_const_rv.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/array.version.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/default.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.data/data_const.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/array/front_back_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/initializer_list.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.data/data.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.creation/to_array.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/compare.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/array/aggregate.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/size_and_alignment.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/deduct.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/array/at_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/max_size.pass.cpp
The file was modifiedlibcxx/include/array
The file was modifiedlibcxx/test/std/containers/sequences/array/front_back.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/test/std/containers/sequences/array/iterators.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/indexing.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/contiguous.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.fill/fill.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/array/indexing_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/empty.pass.cpp
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/include/version
Commit 8cec5c35816d80852bef917ed8a3002fcc5961b0 by Adrian Prantl
Make VE.def a textual header
The file was modifiedllvm/include/llvm/module.modulemap
Commit 7cfdff7b4a6704b8ef2a1b594e1ec19d2d89f385 by yitzhakm
[clang-tidy] Add abseil-string-find-str-contains checker.

Summary: This adds a checker which suggests replacing string.find(...) == npos with absl::StrContains.

Reviewers: alexfh, hokein, aaron.ballman, njames93, ymandel

Reviewed By: ymandel

Subscribers: ymandel, Eugene.Zelenko, xazax.hun, mgorny, Charusso, phosek, cfe-commits

Tags: #clang, #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D80023
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/abseil/CMakeLists.txt
The file was addedclang-tools-extra/test/clang-tidy/checkers/abseil-string-find-str-contains.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/abseil-string-find-str-contains.rst
The file was addedclang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.h
Commit cc8fafa2be8d5315cc55aec54b2a6d7e60f470c4 by vyng
[llvm-exegesis] Make a few counter methods virtual to allow targets to provide target-specific support.
Misc: Also include errno in failure message.

Differential Revision: https://reviews.llvm.org/D80610
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.h
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/PerfHelper.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/PerfHelper.h
Commit 15b6730f078329b3103a7a0476bc2227df214f4a by whitneyt
Create utility function to Merge Adjacent Basic Blocks

Summary: The following code from
/llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp can be used by other
transformations:

while (!MergeBlocks.empty()) {
    BasicBlock *BB = *MergeBlocks.begin();
    BranchInst *Term = dyn_cast<BranchInst>(BB->getTerminator());
    if (Term && Term->isUnconditional() &&
L->contains(Term->getSuccessor(0))) {
      BasicBlock *Dest = Term->getSuccessor(0);
      BasicBlock *Fold = Dest->getUniquePredecessor();
      if (MergeBlockIntoPredecessor(Dest, &DTU, LI)) {
        // Don't remove BB and add Fold as they are the same BB
        assert(Fold == BB);
        (void)Fold;
        MergeBlocks.erase(Dest);
      } else
        MergeBlocks.erase(BB);
    } else
      MergeBlocks.erase(BB);
  }
Hence it should be separated into its own utility function.

Authored By: sidbav
Reviewer: Whitney, Meinersbur, asbirlea, dmgreen, etiotto
Reviewed By: asbirlea
Subscribers: hiraditya, zzheng, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80583
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
Commit e0e5c644607ad71888c1df0fdbf3331d0fc2559f by nikita.ppv
[SDAG] Don't require LazyBlockFrequencyInfo at optnone

While LazyBlockFrequencyInfo itself is lazy, the dominator tree
and loop info analyses it requires are not. Drop the dependency
on this pass in SelectionDAGIsel at O0.
This makes for a ~0.6% O0 compile-time improvement.

Differential Revision: https://reviews.llvm.org/D80387
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
Commit db923ce6123068aec22735ea21a4abf8f02135d2 by llvmgnsyncbot
[gn build] Port 7cfdff7b4a6
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/abseil/BUILD.gn
Commit 723a1caa377b898ff3dc0897156f544feab99ac8 by jingham
Fix the crashlog.py script's use of the load_address property.

This property is explicitly for use only in the interactive editor,
and NOT in commands.  It's use worked until we got more careful about
not leaving lldb.target lying around in the script interpreter.

I also added a quick sniff test for the save_crashlog command.

<rdar://problem/60350620>
Differential Revision: https://reviews.llvm.org/D80680
The file was modifiedlldb/examples/python/crashlog.py
The file was addedlldb/test/API/macosx/save_crashlog/main.c
The file was addedlldb/test/API/macosx/save_crashlog/TestSaveCrashlog.py
The file was addedlldb/test/API/macosx/save_crashlog/Makefile
Commit 69ede516c7ff97c208d4a2378bb56ccaa242bbc1 by craig.topper
[X86] Add 'avx512vp2intersect' to getHostCPUFeatures.
The file was modifiedllvm/lib/Support/Host.cpp
Commit f0c2cfe4d044be26031acbf95471a4ac0bca5bf1 by yamauchi
[PGO] Guard the memcmp/bcmp size value profiling instrumentation behind flag.

Summary:
Follow up D79751 and put the instrumentation / value collection side (in
addition to the optimization side) behind the flag as well.

Reviewers: davidxl

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80646
The file was modifiedllvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
The file was modifiedllvm/test/Transforms/PGOProfile/memop_size_annotation.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
Commit 587fa99cfdb7d2a97143ba20ed8e8face57aa01c by listmail
Default to generating statepoints with deopt and gc-transition bundles if needed

Continues from D80598.

The key point of the change is to default to using operand bundles instead of the inline length prefix argument lists for statepoint nodes. An important subtlety to note is that the presence of a bundle has semantic meaning, even if it is empty. As such, we need to make a somewhat deeper change to the interface than is first obvious.

Existing code treats statepoint deopt arguments and the deopt bundle operands differently during inlining. The former is ignored (resulting in caller state being dropped), the later is merged.

We can't preserve the old behaviour for calls with deopt fed to RS4GC and then inlining, but we can avoid the no-deopt case changing. At least in internal testing, that seem to be the important one. (I'd argue the "stop merging after RS4GC" behaviour for the former was always "unexpected", but that the behaviour for non-deopt calls actually make sense.)

Differential Revision: https://reviews.llvm.org/D80674
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/base-pointers-4.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/basic.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/deopt-lowering-attrs.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector.ll
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector-2.ll
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/lib/IR/IRBuilder.cpp
Commit db3b970a84325e326bbcec4bc3e5e663f148a481 by vsavchenko
[analyzer] Remove unused function. NFC.
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit 116dcbebc6a1648b4acd1a1a391c1d66a3eb4b5f by vsavchenko
[analyzer] Remove unused function declaration. NFC.
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit a7fa35a629e85a72b8cf07a8f95c7c09d9663808 by yamauchi
[ThinLTO] Compute the basic block count across modules.

Summary:
Count the per-module number of basic blocks when the module summary is computed
and sum them up during Thin LTO indexing.

This is used to estimate the working set size under the partial sample PGO.

This is split off of D79831.

Reviewers: davidxl, espindola

Subscribers: emaste, inglorion, hiraditya, MaskRay, steven_wu, dexonsmith, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80403
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
The file was modifiedllvm/lib/Analysis/ModuleSummaryAnalysis.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-originalnames.ll
The file was modifiedllvm/lib/AsmParser/LLToken.h
The file was modifiedlld/test/COFF/thinlto-index-only.ll
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
The file was modifiedllvm/test/Bitcode/thinlto-function-summary.ll
The file was modifiedllvm/test/Bitcode/thinlto-alias.ll
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
The file was modifiedllvm/test/tools/llvm-lto/thinlto.ll
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.h
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph.ll
The file was modifiedlld/test/ELF/lto/thinlto-index-only.ll
The file was modifiedllvm/test/Assembler/thinlto-vtable-summary.ll
The file was modifiedllvm/test/ThinLTO/X86/distributed_indexes.ll
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was modifiedllvm/test/Bitcode/thinlto-alias2.ll
Commit 9c52422cd83137a55e9d198bf123982c040b2e99 by nikita.ppv
[IR] Avoid linear scan in MDNode::intersect() (NFC)

00940fb8544767ba5217922c4ba96677aabe9eb3 changed this code to
construct a set for the B metadata. However, it still performs a
linear is_contained query, rather than making use of the set
structure.
The file was modifiedllvm/lib/IR/Metadata.cpp
Commit a1b88afe46d7a0f72d2acd8792951bd959b27545 by yitzhakm
[clang-tidy] Fix build broken by commit 7cfdff7b4a6704b8ef2a1b594e1ec19d2d89f385 (D80023)
The file was modifiedclang-tools-extra/clang-tidy/abseil/CMakeLists.txt
Commit 5395389475bcaba16966ab62125f2f54ea81c915 by vsavchenko
[analyzer] SATestBuild.py: Make verbosity level a cmd option

Reviewers: NoQ, dcoughlin

Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, ASDenysPetrov, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80626
The file was modifiedclang/utils/analyzer/SATestBuild.py
Commit b950c261d9c107d2c9366dd7e583f9f1c4f282f3 by Jonas Devlieghere
[lldb/Reproducers] Add top-level-target check-lldb-reproducers

This adds a new target `check-lldb-reproducers` that replaces the old
`check-lldb-repro`. The latter would only run the shell tests, while
`check-lldb-reproducers` includes the API tests as well. The new target
will be used on GreenDragon.

It's still possible to run just the shell tests with reproducers,
although now that requires crafting the lit invocation yourself. The
parameters haven't changed and are the shame for the API and shell
tests:

  --param lldb-run-with-repro=capture
  --param lldb-run-with-repro=replay

This patch also updates the reproducer documentation.
The file was modifiedlldb/test/Shell/CMakeLists.txt
The file was modifiedlldb/docs/resources/reproducers.rst
The file was modifiedlldb/test/Shell/lit.cfg.py
The file was modifiedlldb/test/CMakeLists.txt

Summary

  1. [zorg] Update container-based Linaro slaves (details)
  2. [lldb] Remove the "Test Reproducer" stage form the fast incremental bot. (details)
  3. [lldb] Merge code path for 'sanitized' variant. (NFC) (details)
Commit acf05bd9613de00aa00f33724ae515092f6cf2e8 by maxim.kuvyrkov
[zorg] Update container-based Linaro slaves

Summary:
Update container-based Linaro slaves to not include machine name
"linaro-armv8-01", since these slaves are now served by docker
containers on several Linaro machines.

Also decrease "jobs" property setting for such builders from 64 to 32.
These builders share 32-core and 64-core machines, and even on 64-core
machine they can get at most 32-thread parallelism.

Reviewers: gkistanova, olista01, rovka, yroux, omjavaid, ostannard

Reviewed By: gkistanova, ostannard

Subscribers: ostannard, kristof.beyls

Differential Revision: https://reviews.llvm.org/D80573
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/slaves.py
Commit 00e469de4882f5cdca2b9cfb5b41c98a41efc633 by Jonas Devlieghere
[lldb] Remove the "Test Reproducer" stage form the fast incremental bot.

Now that we can capture and replay the complete test suite, I'm moving
everything into a dedicated bot that runs less frequently.
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit aa99b28bf45d590685945b3af37ca05c9be302bb by Jonas Devlieghere
[lldb] Merge code path for 'sanitized' variant. (NFC)
The file was modifiedzorg/jenkins/monorepo_build.py