SuccessChanges

Summary

  1. [zorg] Rename Linaro-maintained 2-stage bots (details)
Commit db2fbb6520d1ebd17dcd91dfed4886f33734ffbd by maxim.kuvyrkov
[zorg] Rename Linaro-maintained 2-stage bots

... to have consistent -2stage suffix.

Reviewed By: DavidSpickett

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

Summary

  1. Revert "[SampleFDO] Using common linkage for the discriminator flag variable" (details)
  2. [flang] Add semantic check for the RANDOM_SEED intrinsic (details)
  3. [SampleFDO] Place the discriminator flag variable into the used list. (details)
  4. [LLDB] Fix buildbots breakage due to TestGuessLanguage.py (details)
  5. [DFSan][NFC] Fix shadowing variable name. (details)
  6. [SLP] Incorrect handling of external scalar values (details)
  7. [SCEV] PtrToInt on non-integral pointers is allowed (details)
  8. [NFC][X86] lowerVECTOR_SHUFFLE(): drop FIXME about widening to i128 (YMM half) element type (details)
  9. [OpenMP] Remove unused variables from libomp code (details)
  10. [flang][driver] Add `-fdebug-dump-all` (details)
  11. [flang][nfc] Move `external-hello-world` to flang/examples (details)
  12. [ORC] Switch to WrapperFunction utility for calls to registration functions. (details)
  13. [FuncSpec] Statistics (details)
  14. [OpenMP][NFC] Add back suppression of warning (details)
  15. [AMDGPU] Use defvar in SOPInstructions.td. NFC. (details)
  16. [flang] Check there's no dependency on C++ libs (details)
  17. [AMDGPU] Set more flags on Real instructions (details)
  18. [yaml2obj] Fix bug when referencing items in SectionHeaderTable (details)
  19. [yaml2obj][obj2yaml] Support custom ELF section header string table name (details)
  20. [FuncSpec] Add test for a call site that will never be executed. NFC. (details)
  21. [flang] Add clang-tidy check for braces around if (details)
  22. [FuncSpec] Remove other passes in a test RUN line. NFC. (details)
  23. [flang] Fixup 7ddbf2633911a5c378ad6af01e250f6f252b9032 (details)
  24. [ARM] Extra tests for sign extended floating point compares. NFC (details)
  25. [ARM] Correct type of setcc results for FP vectors (details)
  26. [mlir] ODS: temporarily disbale external model in presence of extra class declarations (details)
  27. [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment (details)
  28. [lld/mac] Put lld-only flags in "LLD-SPECIFIC:" --help section (details)
  29. [lld/mac] Add support for -no_data_in_code_info flag (details)
  30. Revert "[flang] Check there's no dependency on C++ libs" (details)
  31. [AMDGPU] Set mayLoad and mayStore on Real instructions (details)
  32. [lldb] vwprintw -> vw_printw in IOHandlerCursesGUI (details)
  33. [libc] Add a set of elementary operations (details)
  34. Revert "[libc] Add a set of elementary operations" (details)
  35. [AMDGPU] Set IsAtomicRet and IsAtomicNoRet on Real instructions (details)
  36. [flang] Check there's no dependency on C++ libs. NFC (details)
  37. [OpenMP] libomp: fixed implementation of OMP 5.1 inoutset task dependence type (details)
  38. [lldb] Require Clang 8 for gpubnames test (details)
  39. [SVE] Fix PromoteIntRes_TRUNCATE not to call getVectorNumElements (details)
  40. [libc] Add a set of elementary operations (details)
  41. [libcxx] Fix exception raised during downstream bare-metal libunwind tests (details)
  42. [AMDGPU] Set SALU, VALU and other instruction type flags on Real instructions (details)
  43. [llvm-symbolizer] improve test and fix doc example after recent --print-source-context-lines behaviour change (details)
  44. [X86][AVX] Regenerate pr15296.ll tests (details)
  45. [mlir] NFC - Drop newline form BlockArgument printing. (details)
  46. [MCA][InstrBuilder] Always check for implicit uses of resource units (PR50725). (details)
  47. [libc++] Undeprecate the std::allocator<void> specialization (details)
  48. [llvm][AArch64] Handle arrays of struct properly (from IR) (details)
  49. [AMDGPU] Set VOP3P flag on Real instructions (details)
  50. [obj2yaml] Address D104035 review comments (details)
  51. [SVE] Selection failure with scalable insertelements (details)
  52. [lld-macho] Downgrade version mismatch to warning (details)
  53. [libTooling][NFC] Refactor implemenation of Transformer Stencils to use standard OOP (details)
  54. [FuncSpec] Fixed prefix typo in test function-specialization-noexec.ll. NFC. (details)
  55. [InstSimplify] propagate poison through FP ops (details)
  56. [NFC][libomptarget] Reduce the dependency on libelf (details)
  57. Reapply "[MCA] Adding the CustomBehaviour class to llvm-mca". (details)
  58. [gn build] Port ef16c8eaa5cd (details)
  59. [ValueTracking] add tests for propagatesPoison with FP ops; NFC (details)
  60. Revert "Revert "[libcxx][module-map] creates submodules for private headers"" (details)
  61. [M68k][GloballSel] Adding initial GlobalISel infrastructure (details)
  62. [llvm-objcopy] Make ihex writer similar to binary writer (details)
  63. [index] Fix performance regression with indexing macros (details)
  64. [flang] Correct the subscripts used for arguments to character intrinsics (details)
  65. RISCVFixupKinds.h: Don’t duplicate function or class name at the beginning of the comment && fix some comments (details)
  66. [ValueTracking] add FP intrinsics to test for propagatesPoison; NFC (details)
  67. [mlir][sparse] support new kind of scalar in sparse linalg generic op (details)
  68. [CSSPGO] Report zero-count probe in profile instead of dangling probes. (details)
  69. [llvm-objcopy][MachO] Copy LC_LINKER_OPTIMIZATION_HINT (details)
  70. [lld-macho][nfc] Put back shouldOmitFromOutput() asserts (details)
  71. [lld-macho] Handle multiple LC_LINKER_OPTIONs (details)
  72. [lld-macho] Put DATA_IN_CODE immediately after FUNCTION_STARTS (details)
  73. [flang] Don't crash on some bogus expressions (details)
  74. [NFC][ScalarEvolution] Refactor createNodeForSelectOrPHI (details)
  75. Fix verifier crashing on some invalid IR (details)
  76. Use early exist and simplify a condition in Block SuccessorRange (NFC) (details)
  77. [MCA] Anchoring the vtable of CustomBehaviour (details)
  78. [flang] Fix crashes on calls to non-procedures (details)
  79. Add hook for dialect specializing processing blocks post inlining calls (details)
  80. [MLIR] Fix affine parallelize pass. (details)
  81. [MLIR] Make store to load fwd condition less conservative (details)
  82. [ASTMatchers] Fix bug in `hasUnaryOperand` (details)
  83. Add sparse matrix multiplication integration test (details)
  84. [libTooling] Change `access` stencil to recognize use of `operator*`. (details)
  85. [OpenMP] Add Two-level Distributed Barrier (details)
  86. [flang] Cope with errors with array constructors (details)
  87. [flang][driver] Add missing `! REQUIRES` LIT directive (details)
  88. [flang] Fold MAXVAL & MINVAL (details)
  89. [scudo] Ensure proper allocator alignment in TSD test (details)
  90. [flang] Use a "double-double" accumulator in SUM (details)
  91. Move the definition of LLVM_SUPPORT_XCODE_SIGNPOSTS into llvm-config.h (details)
  92. Use `-cfg-func-name` value as filter for `-view-cfg`, etc. (details)
  93. [flang] Implement runtime for IALL & IANY (details)
  94. [gn build] (manually) port f9aba9a5afe (details)
  95. [mlir] Make Type::print and Type::dump const (details)
  96. [RISCV][test] Add new tests of SH*ADD in the zba extension (details)
  97. [flang] Fix ARM/POWER test failure (folding20.f90) (details)
  98. Decouple registring passes from specifying argument/description (details)
  99. Migrate MLIR test passes to the new registration API (details)
  100. [clang] NRVO: Improvements and handling of more cases. (details)
  101. [AMDGPU] Fixed constexpr expansion to handle multiple uses (details)
  102. [clang] use correct builtin type for defaulted comparison analyzer (details)
  103. Improve error message on pass registration failures to include the faulty pass name (details)
  104. [mlir-lsp-server][Docs] Tweak the documentation for the visual studio code extension (details)
  105. [flang] Complain about more cases of calls to insufficiently defined procedures (details)
  106. Relax language comparison when matching up C++ forward decls with definitions (details)
  107. [mlir-lsp-server] Add an explicit blurb on where to send code contributions. (details)
  108. [mlir-vscode] Add a link to mlir.llvm.org at the top of the vscode extension doc (details)
  109. Remove obsolete call to AsyncSignalSafeLazyInitiFakeStack. (details)
  110. [mlir] Fixed dynamic operand storage on big-endian machines. (details)
Commit 95f9026c17880795f78563ec7a5673c240c33a5e by xur
Revert "[SampleFDO] Using common linkage for the discriminator flag variable"

This reverts commit 434fed5aff5e62460e2e984c7cc2674c12779b1e.

Post commit review suggested to use another implmenentation.
Detailed can be found in the review.
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test2.ll
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test1.ll
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
Commit bda1f2936e379e418156444d8d9f3fba2c60687c by psteinfeld
[flang] Add semantic check for the RANDOM_SEED intrinsic

I added the only check that wasn't already tested along with tests for
many valid and invalid arguments.

Differential Revision: https://reviews.llvm.org/D104318
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was addedflang/test/Semantics/random-seed.f90
Commit 82a0bb1afc2924a2457af574a83317a47659388a by xur
[SampleFDO] Place the discriminator flag variable into the used list.

We create flag variable "__llvm_fs_discriminator__" in the binary
to indicate that FSAFDO hierarchical discriminators are used.

This variable might be GC'ed by the linker since it is not explicitly
reference. I initially added the var to the use list in pass
MIRFSDiscriminator but it did not work. It turned out the used global
list is collected in lowering (before MIR pass) and then emitted in
the end of pass pipeline.

Here I add the variable to the use list in IR level's AddDiscriminators
pass. The machine level code is still keep in the case IR's
AddDiscriminators is not invoked. If this is the case, this just use
-Wl,--export-dynamic-symbol=__llvm_fs_discriminator__
to force the emit.

Differential Revision: https://reviews.llvm.org/D103988
The file was modifiedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
The file was modifiedllvm/lib/Transforms/Utils/AddDiscriminators.cpp
The file was modifiedllvm/lib/Transforms/Utils/SampleProfileLoaderBaseUtil.cpp
Commit ed88e57f6587ea51d1c106acbdd82a083f746606 by czhengsz
[LLDB] Fix buildbots breakage due to TestGuessLanguage.py

Fix LLDB buidbot breakage due to D104291

Differential Revision: https://reviews.llvm.org/D104291
The file was modifiedlldb/test/API/commands/frame/language/TestGuessLanguage.py
Commit e652d991699fcd337b4ebb355fb14553d644d4c4 by browneee
[DFSan][NFC] Fix shadowing variable name.
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
Commit 96cded5b796f405d91c4b403078fbb13f13a056b by ybrevnov
[SLP] Incorrect handling of external scalar values

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D103954
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was addedllvm/test/Transforms/SLPVectorizer/slp-hr-with-reuse.ll
Commit a3113df21994fafd87d623e13364321659f4585c by lebedev.ri
[SCEV] PtrToInt on non-integral pointers is allowed

As per (committed without review) @reames's rGac81cb7e6dde9b0890ee1780eae94ab96743569b change,
we are now allowed to produce `ptrtoint` for non-integral pointers.
This will unblock further unbreaking of SCEV regarding int-vs-pointer type confusion.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D104322
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 308f6a5245a249e08efbdaa73b6cc6e693e0185f by lebedev.ri
[NFC][X86] lowerVECTOR_SHUFFLE(): drop FIXME about widening to i128 (YMM half) element type

As per the discussion in D103818, so far, this does not appear to be worthwhile.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D103818
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit cff215565e9351511d805f72e62803718be6aaa4 by protze
[OpenMP] Remove unused variables from libomp code

Several variables were left unused as a result of different patches removing
their use.

Two variables have some use:
`poll_count` is used by the KMP_BLOCKING macro only under certain conditions.
Adding (void) to tell the compiler to ignore the unused variable.

`padding` is a dummy stack allocation with no intent to be used. Also adding
(void) to make the compiler ignore the unused variable.

Differential Revision: https://reviews.llvm.org/D104303
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/runtime/src/kmp_wait_release.h
The file was modifiedopenmp/runtime/src/kmp_lock.cpp
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
The file was modifiedopenmp/runtime/cmake/LibompHandleFlags.cmake
Commit a6be6e31f1810012922e50dab0d4c15cdf990d2e by andrzej.warzynski
[flang][driver] Add `-fdebug-dump-all`

The new option will run the semantic checks and then dump the parse tree
and all the symbols. This is equivalent to running the driver twice,
once with `-fdebug-dump-parse-tree` and then with
the `-fdebug-dump-symbols` action flag.

Currently we wouldn't be able to achieve the same by simply running:
```
flang-new -fc1 -fdebug-dump-parse-tree -fdebug-dump-symbols <input-file>
```
That's because the new driver will only run one frontend action per
invocation (both of the flags used here are action flags). Diverging
from this design would lead to costly compromises and it's best avoided.

We may want to consider re-designing our debugging actions (and action
options) in the future so that there's more code re-use. For now, I'm
focusing on making sure that we support all the major cases requested by
our users.

Differential Revision: https://reviews.llvm.org/D104305
The file was modifiedflang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
The file was modifiedflang/include/flang/Frontend/FrontendOptions.h
The file was addedflang/test/Driver/dump-all.f90
The file was modifiedflang/include/flang/Frontend/FrontendActions.h
The file was modifiedflang/test/Driver/driver-help.f90
The file was modifiedflang/lib/Frontend/FrontendActions.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedflang/lib/Frontend/CompilerInvocation.cpp
Commit 062644bb399bd05fd0aeb3cb9d52fa0014db0bdd by andrzej.warzynski
[flang][nfc] Move `external-hello-world` to flang/examples

As `external-hello-world` is not really a test, I am moving it from
`flang/unittest/Runtime` to `flang/examples` (it makes a lot of sense as
an example). I've not modified the source code (apart from adjusting the
include paths).

Differential Revision: https://reviews.llvm.org/D104320
The file was removedflang/unittests/Runtime/external-hello.cpp
The file was addedflang/examples/external-hello.cpp
The file was addedflang/examples/CMakeLists.txt
The file was modifiedflang/unittests/Runtime/CMakeLists.txt
The file was modifiedflang/CMakeLists.txt
Commit 834616146b7d94258456542fd64fed95dbd9e4b1 by Lang Hames
[ORC] Switch to WrapperFunction utility for calls to registration functions.

Addresses FIXMEs in TPC-based EH-frame and debug object registration code by
replacing manual argument serialization with WrapperFunction utility calls.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/TPCEHFrameRegistrar.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/TPCDebugObjectRegistrar.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TPCDebugObjectRegistrar.h
Commit 49ab3b1735b66d48940a08a5daaa6398e98754ea by sjoerd.meijer
[FuncSpec] Statistics

Adds some bookkeeping for collecting the number of specialised functions and a
test for that.

Differential Revision: https://reviews.llvm.org/D104102
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-stats.ll
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
Commit d2a7871b5e6a1b7c377c403ab7975f244113be63 by protze
[OpenMP][NFC] Add back suppression of warning

Commit cff215565e9 did not fix all unused variables in different builds,
so adding back the suppression for now.
The file was modifiedopenmp/runtime/cmake/LibompHandleFlags.cmake
Commit 37109974af4b33189a599735afa67ed57c27b8ab by jay.foad
[AMDGPU] Use defvar in SOPInstructions.td. NFC.

Factor out repeated !cast<SOP*_Pseudo>(NAME) into a new "defvar ps",
just to improve readability and maintainability.

Differential Revision: https://reviews.llvm.org/D104306
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
Commit 7ddbf2633911a5c378ad6af01e250f6f252b9032 by diana.picus
[flang] Check there's no dependency on C++ libs

Add a test to make sure the flang runtime doesn't pull in the C++
runtime libraries.

This is achieved by adding a C file that calls some functions from the
runtime (currently only CpuTime, but we should probably add anything
complicated enough, e.g. IO-related things). We force the C compiler to
use -std=c90 to make sure it's really in C mode (we don't really care
which version of the standard, this one is probably more widely
available). We only enable this test if CMAKE_C_COMPILER is set to
something (which is probably always true in practice).

Differential Revision: https://reviews.llvm.org/D104290
The file was modifiedflang/test/lit.cfg.py
The file was modifiedflang/test/lit.site.cfg.py.in
The file was addedflang/test/Runtime/no-cpp-dep.c
Commit 6f778fed8e50a00a08297705148774b67a9da9c8 by jay.foad
[AMDGPU] Set more flags on Real instructions

This does not affect codegen, which only tests these flags on Pseudo
instructions, but might help llvm-mca which has to work with Real
instructions. In particular setting LGKM_CNT on DS instructions helps
with the problem identified in D104149.

Differential Revision: https://reviews.llvm.org/D104293
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SMInstructions.td
Commit fef3bfb1b23af09668d20b09f09c65cc14b5479c by james.henderson
[yaml2obj] Fix bug when referencing items in SectionHeaderTable

There was an off-by-one error caused by an index (which included an
index for the null section header) being used to check against the size
of a list of sections (which didn't include the null section header).

This is a partial fix for https://bugs.llvm.org/show_bug.cgi?id=50506.

Reviewed by: MaskRay

Differential Revision: https://reviews.llvm.org/D104098
The file was modifiedllvm/test/tools/yaml2obj/ELF/section-headers.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit 5c1639fe064b548adff67d45e1f8cedae395ed6f by james.henderson
[yaml2obj][obj2yaml] Support custom ELF section header string table name

This patch adds support for a new field in the FileHeader, which states
the name to use for the section header string table. This also allows
combining the string table with another string table in the object, e.g.
the symbol name string table. The field is optional. By default,
.shstrtab will continue to be used.

This partially fixes https://bugs.llvm.org/show_bug.cgi?id=50506.

Reviewed by: Higuoxing

Differential Revision: https://reviews.llvm.org/D104035
The file was addedllvm/test/tools/yaml2obj/ELF/shstrtab.yaml
The file was addedllvm/test/tools/obj2yaml/ELF/shstrtab.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/test/tools/obj2yaml/ELF/invalid-section-name.yaml
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit 29843cbc88f6f91bc8eb350f847a4b07070d8765 by sjoerd.meijer
[FuncSpec] Add test for a call site that will never be executed. NFC.
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-noexec.ll
Commit 45cd405dc07bbc259ea251c8f5f5e2bca7a6112c by diana.picus
[flang] Add clang-tidy check for braces around if

Flang diverges from the llvm coding style in that it requires braces
around the bodies of if/while/etc statements, even when the body is
a single statement.

This commit adds the readability-braces-around-statements check to
flang's clang-tidy config file. Hopefully the premerge bots will pick it
up and report violations in Phabricator.

We also explicitly disable the check in the directories corresponding to
the Lower and Optimizer libraries, which rely heavily on mlir and llvm
and therefore follow their coding style. Likewise for the tools
directory.

We also fix any outstanding violations in the runtime and in
lib/Semantics.

Differential Revision: https://reviews.llvm.org/D104100
The file was addedflang/tools/.clang-tidy
The file was modifiedflang/runtime/ISO_Fortran_binding.cpp
The file was modifiedflang/lib/Semantics/resolve-directives.cpp
The file was modifiedflang/lib/Optimizer/.clang-tidy
The file was modifiedflang/include/flang/Lower/.clang-tidy
The file was modifiedflang/lib/Semantics/check-acc-structure.cpp
The file was modifiedflang/unittests/RuntimeGTest/CrashHandlerFixture.cpp
The file was modifiedflang/lib/Semantics/canonicalize-acc.cpp
The file was modifiedflang/.clang-tidy
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
The file was modifiedflang/docs/C++style.md
The file was modifiedflang/include/flang/Optimizer/.clang-tidy
The file was modifiedflang/lib/Lower/.clang-tidy
Commit c8a3fce7769633157cd8598f7bc1210c89a7aefb by sjoerd.meijer
[FuncSpec] Remove other passes in a test RUN line. NFC.
The file was modifiedllvm/test/Transforms/FunctionSpecialization/function-specialization-stats.ll
Commit 10ae933b0b1af00a04a251cf560bb935f1a9f18a by diana.picus
[flang] Fixup 7ddbf2633911a5c378ad6af01e250f6f252b9032

Replace C++ comments with C-style comments (not sure why my C compiler
doesn't complain about this).
The file was modifiedflang/test/Runtime/no-cpp-dep.c
Commit 3f18fc5ece720ae2b956ab77a9378bbcf33dc89f by david.green
[ARM] Extra tests for sign extended floating point compares. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-ext.ll
Commit 0a714eaa51d0ef6390cba89d75b7790405dd776b by david.green
[ARM] Correct type of setcc results for FP vectors

Under MVE v4f32 and v8f16 vectors should be using v4i1/v8i1 predicates
for the setcc result type, as they have predicated registers for those
types. Setting this correctly prevents some inefficient optimizations
from happening.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-ext.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit 61cf7c72587fd4a9f10ea6c68d67847adf780d11 by zinenko
[mlir] ODS: temporarily disbale external model in presence of extra class declarations

Default implementations of interfaces may rely on extra class
declarations, which aren't currently generated in the external model,
that in turn may rely on functions defined in the main Attribute/Type
class, which wouldn't be available on the external model.
The file was modifiedmlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Commit 5d621ed85ddb240f14e3fae8f94afd56d0ef9c58 by konstantin.schwarz
[ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment

During PHDR creation, the case where an output section does not require a
PT_LOAD header but still occupies memory in the current VMA region was not handled.

If such an output section interleaves two output sections that have the same
VMA and LMA regions set, we would previously re-use the existing PT_LOAD header
for the second output section.
However, since the memory region is not contiguous, we need to start a new PT_LOAD
segment.

This fixes https://bugs.llvm.org/show_bug.cgi?id=50558

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D103815
The file was modifiedlld/test/ELF/linkerscript/nobits-offset.s
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/linkerscript/noload.s
Commit 46ac1b213ac9fb694a5a834df4b6ec4fc0e7dba0 by thakis
[lld/mac] Put lld-only flags in "LLD-SPECIFIC:" --help section

Differential Revision: https://reviews.llvm.org/D104347
The file was modifiedlld/MachO/Options.td
Commit b579938d40b48f24e05e4022a647be933ffc1b89 by thakis
[lld/mac] Add support for -no_data_in_code_info flag

Differential Revision: https://reviews.llvm.org/D104345
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/data-in-code.s
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/Config.h
Commit dfa0f3ee0ea1b72b81b469736e9271098e4129b3 by diana.picus
Revert "[flang] Check there's no dependency on C++ libs"

This reverts commit 7ddbf2633911a5c378ad6af01e250f6f252b9032.

This doesn't work if we're not building libFortranRuntime.a. I'll
recommit with a fix.
The file was modifiedflang/test/lit.site.cfg.py.in
The file was modifiedflang/test/lit.cfg.py
The file was removedflang/test/Runtime/no-cpp-dep.c
Commit 323b3e645dd340e7ffb86b06d33d071fdf4fb432 by jay.foad
[AMDGPU] Set mayLoad and mayStore on Real instructions

This does not affect codegen but might benefit llvm-mca.
The file was modifiedllvm/lib/Target/AMDGPU/VOPInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOPCInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
Commit 3b7795aeceb153b04493c5ba93e707e39afbe41f by Raphael Isemann
[lldb] vwprintw -> vw_printw in IOHandlerCursesGUI

`vwprintw` is (in theory) using the `arargs.h` va_list while `vw_printw` is
using the `stdarg.h` va_list. It seems these days they can be used
interchangeably but `vwprintw` is marked as deprecated.
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit 4694321fbe54628513b75a4395124cd7508581a6 by gchatelet
[libc] Add a set of elementary operations

Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.

Original commit message:
Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop).
The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.

A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
The file was modifiedlibc/src/string/CMakeLists.txt
The file was addedlibc/src/string/memory_utils/elements_x86.h
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
The file was addedlibc/src/string/memory_utils/elements.h
The file was removedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was modifiedlibc/src/string/memcpy.cpp
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
The file was removedlibc/src/string/memory_utils/memcpy_utils.h
The file was addedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was addedlibc/test/src/string/memory_utils/elements_test.cpp
Commit c3242238b717b5a537fdfe924b713e9cf36c505f by gchatelet
Revert "[libc] Add a set of elementary operations"

This reverts commit 4694321fbe54628513b75a4395124cd7508581a6.
The file was removedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was modifiedlibc/src/string/memcpy.cpp
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
The file was removedlibc/src/string/memory_utils/elements_x86.h
The file was addedlibc/src/string/memory_utils/memcpy_utils.h
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
The file was removedlibc/src/string/memory_utils/elements.h
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
The file was removedlibc/test/src/string/memory_utils/elements_test.cpp
The file was addedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
Commit 24ffc343f9da5bcfa007e5f9b52a3a023982ac89 by jay.foad
[AMDGPU] Set IsAtomicRet and IsAtomicNoRet on Real instructions

This does not affect codegen but might benefit llvm-mca.
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SMInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
Commit 0ad051b5fc22b4e7334635b2bdc54eca8ee7c4c4 by diana.picus
[flang] Check there's no dependency on C++ libs. NFC

Add a test to make sure the flang runtime doesn't pull in the C++
runtime libraries.

This is achieved by adding a C file that calls some functions from the
runtime (currently only CpuTime, but we should probably add anything
complicated enough, e.g. IO-related things). We force the C compiler to
use -std=c90 to make sure it's really in C mode (we don't really care
which version of the standard, this one is probably more widely
available). We only enable this test if CMAKE_C_COMPILER is set to
something (which is probably always true in practice).

This is a recommit of 7ddbf26, with 2 fixes:
* Replace C++ comments with C comments
* Only enable the test if libFortranRuntime.a exists (this might not be
the case if e.g. BUILD_SHARED_LIBS=On)

Differential Revision: https://reviews.llvm.org/D104290
The file was modifiedflang/test/lit.site.cfg.py.in
The file was addedflang/test/Runtime/no-cpp-dep.c
The file was modifiedflang/test/lit.cfg.py
Commit 610fea65e296e5e9aad9c90903c2e40eaa4f03ac by Andrey.Churbanov
[OpenMP] libomp: fixed implementation of OMP 5.1 inoutset task dependence type

Refactored code of dependence processing and added new inoutset dependence type.
Compiler can set dependence flag to 0x8 when call __kmpc_omp_task_with_deps.
All dependence flags library gets so far and corresponding dependence types:
1 - IN, 2 - OUT, 3 - INOUT, 4 - MUTEXINOUTSET, 8 - INOUTSET.

Differential Revision: https://reviews.llvm.org/D97085
The file was modifiedopenmp/runtime/src/kmp.h
The file was addedopenmp/runtime/test/tasking/omp51_task_dep_inoutset.c
The file was modifiedopenmp/runtime/src/kmp_taskdeps.h
The file was modifiedopenmp/runtime/test/tasking/hidden_helper_task/gtid.cpp
The file was modifiedopenmp/runtime/test/tasking/hidden_helper_task/common.h
The file was modifiedopenmp/runtime/test/tasking/hidden_helper_task/depend.cpp
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
Commit 59d58863bc0ea72a396aa9b08a7a5cb3f29e75b6 by Raphael Isemann
[lldb] Require Clang 8 for gpubnames test

This test is using -gpubnames which is only available since Clang 8. The
original Clang 7 requirement was based on the availability of
-accel-tables=Dwarf (which the test initially used before being changed to
-gpubnames in commit 15a6df52efaa7 ).
The file was modifiedlldb/test/API/lang/c/forward/TestForwardDeclaration.py
Commit dab05335a64250703ac528418d56301ce6c48bd6 by Dylan.Fleming
[SVE] Fix PromoteIntRes_TRUNCATE not to call getVectorNumElements

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D104115
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-trunc.ll
Commit 7fff39d9b0469b75e589f9d47055a33422376da1 by gchatelet
[libc] Add a set of elementary operations

Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.

Original commit message:
Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop).
The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.

A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
The file was removedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was addedlibc/src/string/memory_utils/elements_x86.h
The file was modifiedlibc/src/string/memcpy.cpp
The file was addedlibc/test/src/string/memory_utils/elements_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was addedlibc/src/string/memory_utils/elements.h
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
The file was removedlibc/src/string/memory_utils/memcpy_utils.h
The file was addedlibc/test/src/string/memory_utils/memory_access_test.cpp
Commit 5636402bc0c92eec2faf46edb0fb733d78fa259e by amilendra.kodithuwakku
[libcxx] Fix exception raised during downstream bare-metal libunwind tests

Fix for the following exception.

AttributeError: 'TestingConfig' object has no attribute 'target_triple'

Related revision: https://reviews.llvm.org/D102012

'TestingConfig' object has no attribute 'target_triple'

Reviewed By: #libunwind, miyuki, danielkiss, mstorsjo

Differential Revision: https://reviews.llvm.org/D103140
The file was modifiedlibunwind/test/libunwind/test/config.py
Commit 7f3ac6714a561553500cbd24331a8dc7f2375964 by jay.foad
[AMDGPU] Set SALU, VALU and other instruction type flags on Real instructions

This does not affect codegen but might benefit llvm-mca.
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOPCInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOPInstructions.td
Commit dbc07ef5ca53531e8ee6c54ec3c3f04bddef267d by Ben.Dunbobbin
[llvm-symbolizer] improve test and fix doc example after recent --print-source-context-lines behaviour change

I believe that after https://reviews.llvm.org/D102355 the behaviour of --print-source-context-lines has changed.

Before: --print-source-context-lines=3 prints 4 lines.
After: --print-source-context-lines=3 prints 3 lines.

Adjust the example in the docs for this change and make the testing a little more robust.

Differential Revision: https://reviews.llvm.org/D104114
The file was modifiedllvm/test/tools/llvm-symbolizer/print_context.c
The file was modifiedllvm/docs/CommandGuide/llvm-symbolizer.rst
Commit 39efbf91361ea7e8ee988f6fca386cb1f97f0736 by llvm-dev
[X86][AVX] Regenerate pr15296.ll tests

Exposes some really bad shift lowering codegen in shiftInput___canonical
The file was modifiedllvm/test/CodeGen/X86/pr15296.ll
Commit a1678987d982ef3d29ad4eacd4d4c48641494857 by nicolas.vasilache
[mlir] NFC - Drop newline form BlockArgument printing.

Differential Revision: https://reviews.llvm.org/D104368
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
Commit 70b37f4c03cd189c94167dc22d9f5303c8773092 by andrea.dibiagio
[MCA][InstrBuilder] Always check for implicit uses of resource units (PR50725).

When instructions are issued to the underlying pipeline resources, the
mca::ResourceManager should also check for the presence of extra uses induced by
the explicit consumption of multiple partially overlapping group resources.

Fixes PR50725
The file was addedllvm/test/tools/llvm-mca/X86/SkylakeClient/PR50725.s
The file was modifiedllvm/include/llvm/MCA/Instruction.h
The file was modifiedllvm/lib/MCA/HardwareUnits/ResourceManager.cpp
The file was modifiedllvm/lib/MCA/InstrBuilder.cpp
Commit 87784cc6fb3453a17e0e7826b943a1d93cbfeccf by Louis Dionne
[libc++] Undeprecate the std::allocator<void> specialization

While the std::allocator<void> specialization was deprecated by
https://wg21.link/p0174#2.2, the *use* of std::allocator<void> by users
was not. The intent was that std::allocator<void> could still be used
in C++17 and C++20, but starting with C++20 (with the removal of the
specialization), std::allocator<void> would use the primary template.
That intent was called out in wg21.link/p0619r4#3.9.

As a result of this patch, _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS
will also not control whether the explicit specialization is provided or
not. It shouldn't matter, since in C++20, one can simply use the primary
template.

Fixes http://llvm.org/PR50299

Differential Revision: https://reviews.llvm.org/D104323
The file was modifiedlibcxx/include/__memory/allocator.h
The file was addedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.void.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.dtor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.deprecated_in_cxx17.verify.cpp
The file was removedlibcxx/test/std/utilities/memory/default.allocator/allocator_void.deprecated_in_cxx17.verify.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
The file was modifiedlibcxx/docs/UsingLibcxx.rst
The file was addedlibcxx/test/std/utilities/memory/default.allocator/PR50299.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp
The file was removedlibcxx/test/libcxx/depr/depr.default.allocator/allocator_void.cxx2a.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.removed_in_cxx20.verify.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.ctor.pass.cpp
Commit e4ecd83fe969c77c23f7a5bd4d5ed521550b5737 by david.spickett
[llvm][AArch64] Handle arrays of struct properly (from IR)

This only applies to FastIsel. GlobalIsel seems to sidestep
the issue.

This fixes https://bugs.llvm.org/show_bug.cgi?id=46996

One of the things we do in llvm is decide if a type needs
consecutive registers. Previously, we just checked if it
was an array or not.
(plus an SVE specific check that is not changing here)

This causes some confusion when you arbitrary IR like:
```
%T1 = type { double, i1 };
define [ 1 x %T1 ] @foo() {
entry:
  ret [ 1 x %T1 ] zeroinitializer
}
```

We see it is an array so we call CC_AArch64_Custom_Block
which bails out when it sees the i1, a type we don't want
to put into a block.

This leaves the location of the double in some kind of
intermediate state and leads to odd codegen. Which then crashes
the backend because it doesn't know how to implement
what it's been asked for.

You get this:
```
  renamable $d0 = FMOVD0
  $w0 = COPY killed renamable $d0
```

Rather than this:
```
  $d0 = FMOVD0
  $w0 = COPY $wzr
```

The backend knows how to copy 64 bit to 64 bit registers,
but not 64 to 32. It can certainly be taught how but the real
issue seems to be us even trying to assign a register block
in the first place.

This change makes the logic of
AArch64TargetLowering::functionArgumentNeedsConsecutiveRegisters
a bit more in depth. If we find an array, also check that all the
nested aggregates in that array have a single member type.

Then CC_AArch64_Custom_Block's assumption of a type that looks
like [ N x type ] will be valid and we get the expected codegen.

New tests have been added to exercise these situations. Note that
some of the output is not ABI compliant. The aim of this change is
to simply handle these situations and not to make our processing
of arbitrary IR ABI compliant.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D104123
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was addedllvm/test/CodeGen/AArch64/argument-blocks-array-of-struct.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit 66234ce49f254fc1d83de41daae8c8a16423bec2 by jay.foad
[AMDGPU] Set VOP3P flag on Real instructions

This does not affect codegen but might benefit llvm-mca.
The file was modifiedllvm/lib/Target/AMDGPU/VOP3PInstructions.td
Commit b9ce8ea4542fdc57e34e23fc285752d899a01030 by james.henderson
[obj2yaml] Address D104035 review comments

Accidentally missed from commit 5c1639fe064b.

Differential Revision: https://reviews.llvm.org/D104035
The file was modifiedllvm/test/tools/obj2yaml/ELF/shstrtab.yaml
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit 2a936be38864fea5f11adf68e611fabc37aca6c1 by Dylan.Fleming
[SVE] Selection failure with scalable insertelements

Reviewed By: efriedma, CarolineConcatto

Differential Revision: https://reviews.llvm.org/D104244
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-insert-element.ll
Commit d52d1b93c3f5666a2d324a3cd6f505ae1dfb469a by jezng
[lld-macho] Downgrade version mismatch to warning

It's a warning in ld64. While having LLD be stricter would be nice, it
makes it harder for it to be a drop-in replacement into existing builds.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D104333
The file was modifiedlld/test/MachO/invalid/incompatible-arch.s
The file was modifiedlld/MachO/InputFiles.cpp
Commit f387c8545d3a729eaf0e76c22f445a2209705814 by yitzhakm
[libTooling][NFC] Refactor implemenation of Transformer Stencils to use standard OOP

Currently, the implementation combines OOP and overloads, using a template to
tie the two together. In practice, this has proven confusing with no
benefits. This patch simplifies the code to use standard OOP design (a
collection of classes deriving from an interface).

Differential Revision: https://reviews.llvm.org/D104317
The file was modifiedclang/lib/Tooling/Transformer/Stencil.cpp
Commit 08c75fc5e3589dff452901b0df911608929df132 by sjoerd.meijer
[FuncSpec] Fixed prefix typo in test function-specialization-noexec.ll. NFC.
The file was modifiedllvm/test/Transforms/FunctionSpecialization/function-specialization-noexec.ll
Commit ce95200b7942bb0683fd491800bbd9e1dc908e04 by spatel
[InstSimplify] propagate poison through FP ops

We already have this fold:
  fadd float poison, 1.0 --> poison
...via ConstantFolding, so this makes the behavior consistent
if the other operand(s) are non-constant.

The fold for undef was added before poison existed as a
value/type in IR.

This came up in D102673 / D103169
because we're trying to sort out the more complicated handling
for constrained math ops.
We should have the handling for the regular instructions done
first, so we can build on that (or diverge as needed).

Differential Revision: https://reviews.llvm.org/D104383
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/fp-undef-poison.ll
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll
Commit b5c4fc0f232b6368bbd7cd8681a6931f2c30ad02 by vyacheslav.p.zakharin
[NFC][libomptarget] Reduce the dependency on libelf

This change-set removes libelf usage from elf_common part of the plugins.
libelf is still used in x86_64 generic plugin code and in some plugins
(e.g. amdgpu) - these will have to be cleaned up in separate checkins.

Differential Revision: https://reviews.llvm.org/D103545
The file was modifiedopenmp/libomptarget/plugins/remote/server/CMakeLists.txt
The file was modifiedopenmp/libomptarget/plugins/common/elf_common/elf_common.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/CMakeLists.txt
The file was modifiedopenmp/libomptarget/plugins/common/elf_common/CMakeLists.txt
The file was addedopenmp/libomptarget/plugins/common/elf_common/elf_common.cpp
Commit ef16c8eaa5cd567975956ec0b52b3648365a8ba1 by andrea.dibiagio
Reapply "[MCA] Adding the CustomBehaviour class to llvm-mca".

The original change was pushed in main as commit f7a23ecece52.
It was then reverted by commit a04f01bab2 because it caused linker failures
on buildbots that don't build the AMDGPU target.

--

Some instructions are not defined well enough within the target’s scheduling
model for llvm-mca to be able to properly simulate its behaviour. The ideal
solution to this situation is to modify the scheduling model, but that’s not
always a viable strategy. Maybe other parts of the backend depend on that
instruction being modelled the way that it is. Or maybe the instruction is quite
complex and it’s difficult to fully capture its behaviour with tablegen. The
CustomBehaviour class (which I will refer to as CB frequently) is designed to
provide intuitive scaffolding for developers to implement the correct modelling
for these instructions.

More details are available in the original commit log message (f7a23ecece52).

Differential Revision: https://reviews.llvm.org/D104149
The file was modifiedllvm/include/llvm/MCA/Context.h
The file was modifiedllvm/lib/MCA/Stages/InOrderIssueStage.cpp
The file was addedllvm/tools/llvm-mca/lib/CMakeLists.txt
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.h
The file was modifiedllvm/docs/CommandGuide/llvm-mca.rst
The file was addedllvm/lib/MCA/CustomBehaviour.cpp
The file was modifiedllvm/include/llvm/MCA/Instruction.h
The file was modifiedllvm/lib/MCA/Context.cpp
The file was modifiedllvm/include/llvm/MCA/Stages/InOrderIssueStage.h
The file was modifiedllvm/tools/llvm-mca/CMakeLists.txt
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was addedllvm/include/llvm/MCA/CustomBehaviour.h
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.cpp
The file was modifiedllvm/lib/MCA/CMakeLists.txt
The file was modifiedllvm/tools/llvm-mca/Views/DispatchStatistics.cpp
The file was modifiedllvm/lib/MCA/InstrBuilder.cpp
The file was modifiedllvm/include/llvm/MCA/HWEventListener.h
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt
Commit 35a085bfabef2e5696286b5ca55da962ffd6c4e4 by llvmgnsyncbot
[gn build] Port ef16c8eaa5cd
The file was modifiedllvm/utils/gn/secondary/llvm/lib/MCA/BUILD.gn
Commit 572e506b55f0ad181ddbb04d889651caa5a287e8 by spatel
[ValueTracking] add tests for propagatesPoison with FP ops; NFC

Verify that this matches the behavior in InstSimplify:
D104383 / ce95200b7942

We still need to add code/tests for FP intrinsics.
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
Commit c5076d83716e8ce93cc76c9f4c3c1006de0be47f by cjdb
Revert "Revert "[libcxx][module-map] creates submodules for private headers""

This reverts commit d9633f229c36f292dab0e5f510ac635cfaf3a798 as a
workaround was discovered.

Differential Revision: https://reviews.llvm.org/D104170
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/special_function.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/special_function.compile.pass.cpp
The file was modifiedlibcxx/include/module.modulemap
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_sentinel.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/special_function.compile.pass.cpp
Commit 2193347e72fad6a78ce4a96c8d89f9a43a028e79 by angandhi
[M68k][GloballSel] Adding initial GlobalISel infrastructure

Wiring up GlobalISel for the M68k backend

Differential Revision: https://reviews.llvm.org/D101819
The file was modifiedllvm/lib/Target/M68k/M68k.td
The file was addedllvm/lib/Target/M68k/GlSel/M68kRegisterBanks.td
The file was addedllvm/lib/Target/M68k/GlSel/M68kLegalizerInfo.cpp
The file was addedllvm/lib/Target/M68k/GlSel/M68kCallLowering.cpp
The file was addedllvm/lib/Target/M68k/GlSel/M68kInstructionSelector.cpp
The file was addedllvm/lib/Target/M68k/GlSel/M68kLegalizerInfo.h
The file was addedllvm/lib/Target/M68k/GlSel/M68kCallLowering.h
The file was modifiedllvm/lib/Target/M68k/M68kSubtarget.cpp
The file was addedllvm/lib/Target/M68k/GlSel/M68kRegisterBankInfo.h
The file was addedllvm/lib/Target/M68k/GlSel/M68kRegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/M68k/CMakeLists.txt
The file was modifiedllvm/lib/Target/M68k/M68kTargetMachine.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was addedllvm/test/CodeGen/M68k/GlobalISel/irtranslator-ret.ll
The file was modifiedllvm/lib/Target/M68k/M68kSubtarget.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
The file was modifiedllvm/lib/Target/M68k/M68k.h
Commit 1de18ad8d79eb328ad410fa60209e5dfa19752c8 by i
[llvm-objcopy] Make ihex writer similar to binary writer

There is no need to differentiate whether `UseSegments` is true or
false. Unifying the cases makes the behavior closer to BinaryWriter.

This improves compatibility with objcopy because SHF_ALLOC sections not in
a PT_LOAD will not be skipped. Such cases are usually erroneous input, though.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D104186
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/Inputs/ihex-elf-segments.yaml
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/ihex-writer.test
Commit 773ad55a393f368cc92b1611c52e493ed45a353f by blangmuir
[index] Fix performance regression with indexing macros

When using FileIndexRecord with macros, symbol references can be seen
out of source order, which was causing a regression to insert the
symbols into a vector. Instead, we now lazily sort the vector. The
impact is small on most code, but in very large files with many macro
references (M) near the beginning of the file followed by many decl
references (D) it was O(M*D). A particularly bad protobuf-generated
header was observed with a 100% regression in practice.

rdar://78628133
The file was modifiedclang/lib/Index/FileIndexRecord.h
The file was modifiedclang/lib/Index/FileIndexRecord.cpp
Commit 8ba9ee46e465a56a54f8361703d3af7f4bc98d63 by pklausler
[flang] Correct the subscripts used for arguments to character intrinsics

When chasing down another unrelated bug, I noticed that the
implementations of various character intrinsic functions assume
that the lower bounds of (some of) their arguments were 1.
This isn't necessarily the case, so I've cleaned them up, tweaked
the unit tests to exercise the fix, and regularized the allocation
pattern used for results to use SetBounds() before Allocate() rather
than the old original Descriptor::Allocate() wrapper around
CFI_allocate().

Since there were few other remaining uses of the old original
Descriptor::Allocate() wrapper, I also converted them to the
new one and deleted the old one.

Differential Revision: https://reviews.llvm.org/D104325
The file was modifiedflang/runtime/descriptor.cpp
The file was modifiedflang/runtime/descriptor.h
The file was modifiedflang/runtime/character.cpp
The file was modifiedflang/unittests/Evaluate/reshape.cpp
The file was modifiedflang/unittests/RuntimeGTest/CharacterTest.cpp
The file was modifiedflang/runtime/transformational.cpp
Commit 1a76bff6264abb3f19fa78d74ec78196e2da7d34 by i
RISCVFixupKinds.h: Don’t duplicate function or class name at the beginning of the comment && fix some comments
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
Commit a993bb08b8348c947a733377655af3de610cf28e by spatel
[ValueTracking] add FP intrinsics to test for propagatesPoison; NFC

I'm not sure what behavior we want if the FP environment is
not default (also not sure if there's a way to enumerate
the full list of intrinsics programmatically), but currently
these are all defaulting to 'false' (doesn't propagate).
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
Commit 619bfe8bd23f76b22f0a53fedafbfc8c97a15f12 by ajcbik
[mlir][sparse] support new kind of scalar in sparse linalg generic op

We have several ways of introducing a scalar invariant value into
linalg generic ops (should we limit this somewhat?). This revision
makes sure we handle all of them correctly in the sparse compiler.

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D104335
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was addedmlir/test/Dialect/SparseTensor/sparse_scalars.mlir
Commit cef9b96b01b75fedea5e91ece776228f4088ba78 by hoy
[CSSPGO] Report zero-count probe in profile instead of dangling probes.

Previously dangling samples were represented by INT64_MAX in sample profile while probes never executed were not reported. This was based on an observation that dangling probes were only at a smaller portion than zero-count probes. However, with compiler optimizations, dangling probes end up becoming at large portion of all probes in general and reporting them does not make sense from profile size point of view. This change flips sample reporting by reporting zero-count probes instead. This enabled dangling probe to be represented by none (missing entry in profile). This has a couple benefits:

1. Reducing sample profile size in optimize mode, even when the number of non-executed probes outperform the number of dangling probes, since INT64_MAX takes more space over 0 to encode.

2. Binary size savings. No need to encode dangling probe anymore, since missing probes are treated as dangling in the profile reader.

3. Reducing compiler work to track dangling probes. However, for probes that are real dead and removed, we still need the compiler to identify them so that they can be reported as zero-count, instead of mistreated as dangling probes.

4. Improving counts quality by respecting the counts already collected on the non-dangling copy of a probe. A probe, when duplicated, gets two copies at runtime. If one of them is dangling while the other is not, merging the two probes at profile generation time will cause the real samples collected on the non-dangling one to be discarded. Not reporting the dangling counterpart will keep the real samples.

5. Better readability.

6. Be consistent with non-CS dwarf line number based profile. Zero counts are trusted by the compiler counts inferencer while missing counts will be inferred by the compiler.

Note that the current patch does include any work for #3. There will be follow-up changes.

For #1, I've seen for a large Facebook service, the text profile is reduced by 7%. For extbinary profile, the size of  LBRProfileSection is reduced by 35%.

For #4, I have seen general counts quality for SPEC2017 is improved by 10%.

Reviewed By: wenlei, wlei, wmi

Differential Revision: https://reviews.llvm.org/D104129
The file was modifiedllvm/lib/ProfileData/ProfileSummaryBuilder.cpp
The file was modifiedllvm/test/tools/llvm-profgen/fname-canonicalization.test
The file was modifiedllvm/test/tools/llvm-profgen/inline-cs-dangling-pseudoprobe.test
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.cpp
The file was modifiedllvm/lib/ProfileData/SampleProf.cpp
The file was modifiedllvm/test/tools/llvm-profgen/noinline-cs-pseudoprobe.test
The file was modifiedllvm/test/tools/llvm-profgen/inline-cs-pseudoprobe.test
The file was modifiedllvm/test/tools/llvm-profgen/merge-cold-profile.test
The file was modifiedllvm/test/tools/llvm-profgen/truncated-pseudoprobe.test
The file was modifiedllvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-inline.prof
Commit d619cf5ac5bffa4020f6f391afb23a7a9a5ae568 by i
[llvm-objcopy][MachO] Copy LC_LINKER_OPTIMIZATION_HINT

This fixes `error: unsupported load command (cmd=0x2e)`
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/basic-executable-copy.test
Commit b8bbb9723af3ab5bfa11366480ecf42b45680101 by jezng
[lld-macho][nfc] Put back shouldOmitFromOutput() asserts

I removed them in rG5de7467e982 but @thakis pointed out that
they were useful to keep, so here they are again. I've also converted
the `!isCoalescedWeak()` asserts into `!shouldOmitFromOutput()` asserts,
since the latter check subsumes the former.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D104169
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/MachO/MapFile.cpp
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/UnwindInfoSection.cpp
Commit eeac6b2beceeb82382354d730b615159af3bc70e by jezng
[lld-macho] Handle multiple LC_LINKER_OPTIONs

We previously only parsed the first one.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D104352
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/test/MachO/lc-linker-option.ll
Commit 560636e5497a85d036a39ad5bf599d26828f66b3 by jezng
[lld-macho] Put DATA_IN_CODE immediately after FUNCTION_STARTS

codesign checks for this.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D104354
The file was modifiedlld/MachO/OutputSegment.cpp
The file was modifiedlld/test/MachO/linkedit-contiguity.s
Commit 3061334e0d887b260b023ca5613359a84b7da8e7 by pklausler
[flang] Don't crash on some bogus expressions

Recover more gracefully from user errors in expressions.

Differential Revision: https://reviews.llvm.org/D104326
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/test/Semantics/select-rank.f90
Commit 27963ccf07683df951235948622bd2bef33c0c6d by efriedma
[NFC][ScalarEvolution] Refactor createNodeForSelectOrPHI

In preparation for D103660.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit a6559b42cee2a1a34bd75cf78a70c64429fb5cf8 by joker.eph
Fix verifier crashing on some invalid IR

In a region with multiple blocks the verifier will try to look for
dominance and may get successor list for blocks, even though a block
may be empty or does not end with a terminator.

Differential Revision: https://reviews.llvm.org/D104411
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/lib/IR/Block.cpp
Commit 066b3207234d098b6bf25d7c55e47c5a7b8dcfc7 by joker.eph
Use early exist and simplify a condition in Block SuccessorRange (NFC)
The file was modifiedmlir/lib/IR/Block.cpp
Commit c29555342ce18cd4769228db650dbcd817a6e474 by minyihh
[MCA] Anchoring the vtable of CustomBehaviour

Put the dtor of mca::CustomBehaviour into the cpp file to avoid
undefined vtable when linking libLLVMMCACustomBehaviourAMDGPU as shared
library.

Differential Revision: https://reviews.llvm.org/D104401
The file was modifiedllvm/lib/MCA/CustomBehaviour.cpp
The file was modifiedllvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt
The file was modifiedllvm/include/llvm/MCA/CustomBehaviour.h
Commit e5813a683a81001d3853cb3d2b1397a11e98c1dd by pklausler
[flang] Fix crashes on calls to non-procedures

When a procedure reference is attempted to an entity that just
isn't a procedure, say so.

Differential Revision: https://reviews.llvm.org/D104329
The file was modifiedflang/test/Semantics/resolve09.f90
The file was modifiedflang/lib/Semantics/expression.cpp
The file was addedflang/test/Semantics/call19.f90
The file was modifiedflang/lib/Semantics/resolve-names.cpp
Commit 0e760a0870e61b0a150bdea24532ad054774ade4 by jpienaar
Add hook for dialect specializing processing blocks post inlining calls

This allows for dialects to do different post-processing depending on operations with the inliner (my use case requires different attribute propagation rules depending on call op). This hook runs before the regular processInlinedBlocks method.

Differential Revision: https://reviews.llvm.org/D104399
The file was modifiedmlir/test/Transforms/inlining.mlir
The file was modifiedmlir/include/mlir/Transforms/InliningUtils.h
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/Transforms/Utils/InliningUtils.cpp
Commit 51d43bbc4662202d7f694c43b968fb289a56a355 by uday
[MLIR] Fix affine parallelize pass.

To control the number of outer parallel loops, we need to process the
outer loops first and hence pre-order walk fixes the issue.

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D104361
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
The file was modifiedmlir/test/Dialect/Affine/parallelize.mlir
Commit 54384d172397402a3ad606ef990af488f344eb19 by uday
[MLIR] Make store to load fwd condition less conservative

Make store to load fwd condition for -memref-dataflow-opt less
conservative. Post dominance info is not really needed. Add additional
check for common cases.

Differential Revision: https://reviews.llvm.org/D104174
The file was modifiedmlir/test/Dialect/Affine/scalrep.mlir
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
Commit 439c9206945aba15d74d5bcaef3bf3f4d1e32b5e by yitzhakm
[ASTMatchers] Fix bug in `hasUnaryOperand`

Currently, `hasUnaryOperand` fails for the overloaded `operator*`. This patch fixes the bug and
adds tests for this case.

Differential Revision: https://reviews.llvm.org/D104389
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
Commit f9a6d47c3642cb07b5e98e8b08330ccc95b85dd8 by ajcbik
Add sparse matrix multiplication integration test

Adds an integration test for the SPMM (sparse matrix multiplication) kernel, which multiplies a sparse matrix by a dense matrix, resulting in a dense matrix. This is just a simple modification on the existing matrix-vector multiplication kernel.

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D104334
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
Commit c7ed4fe56e0a6c664c5fb5dedaedb426abe7224d by yitzhakm
[libTooling] Change `access` stencil to recognize use of `operator*`.

Currently, `access` doesn't recognize a dereferenced smart pointer. So,
`access(e, "field")` where `e = *x`, yields:
* `x->field`, for normal-pointer x,
* `(*x).field`, for smart-pointer x.

This patch normalizes handling of smart pointer to match normal pointer, when
the smart pointer type supports `->`.

Differential Revision: https://reviews.llvm.org/D104390
The file was modifiedclang/unittests/Tooling/StencilTest.cpp
The file was modifiedclang/lib/Tooling/Transformer/Stencil.cpp
Commit 25073a4ecfc9b2e3cb76776185e63bfdb094cd98 by terry.l.wilmarth
[OpenMP] Add Two-level Distributed Barrier

Two-level distributed barrier is a new experimental barrier designed
for Intel hardware that has better performance in some cases than the
default hyper barrier.

This barrier is designed to handle fine granularity parallelism where
barriers are used frequently with little compute and memory access
between barriers.  There is no need to use it for codes with few
barriers and large granularity compute, or memory intensive
applications, as little difference will be seen between this barrier
and the default hyper barrier. This barrier is designed to work
optimally with a fixed number of threads, and has a significant setup
time, so should NOT be used in situations where the number of threads
in a team is varied frequently.

The two-level distributed barrier is off by default -- hyper barrier
is used by default. To use this barrier, you must set all barrier
patterns to use this type, because it will not work with other barrier
patterns.  Thus, to turn it on, the following settings are required:

KMP_FORKJOIN_BARRIER_PATTERN=dist,dist
KMP_PLAIN_BARRIER_PATTERN=dist,dist
KMP_REDUCTION_BARRIER_PATTERN=dist,dist

Branching factors (set with KMP_FORKJOIN_BARRIER, KMP_PLAIN_BARRIER,
and KMP_REDUCTION_BARRIER) are ignored by the two-level distributed
barrier.

Differential Revision: https://reviews.llvm.org/D103121
The file was modifiedopenmp/runtime/src/kmp_atomic.cpp
The file was modifiedopenmp/runtime/src/i18n/en_US.txt
The file was modifiedopenmp/runtime/src/kmp_global.cpp
The file was addedopenmp/runtime/src/kmp_barrier.h
The file was modifiedopenmp/runtime/test/barrier/omp_barrier.c
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/src/kmp_barrier.cpp
The file was modifiedopenmp/runtime/src/kmp_stats.h
The file was modifiedopenmp/runtime/src/kmp_wait_release.h
The file was modifiedopenmp/runtime/src/z_Windows_NT_util.cpp
The file was modifiedopenmp/runtime/src/kmp_wait_release.cpp
The file was modifiedopenmp/runtime/src/kmp_os.h
The file was modifiedopenmp/runtime/src/kmp_str.cpp
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was modifiedopenmp/runtime/src/kmp_str.h
Commit ec3049c79beb5ea24921dd5e4f011cf8ade1e9bd by pklausler
[flang] Cope with errors with array constructors

When a program attempts to put something like a subprogram
into an array constructor, emit an error rather than crashing.

Differential Revision: https://reviews.llvm.org/D104336
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/test/Semantics/array-constr-values.f90
Commit 46446e398b5202303280d9e18676c07529f1d0b0 by andrzej.warzynski
[flang][driver] Add missing `! REQUIRES` LIT directive

The test added in https://reviews.llvm.org/D104305 will only work with
the new driver and should be marked as such.

Sending this without a review as it's fairly straightforward and fixes
test failures for developers that don't want to build the new driver.
The file was modifiedflang/test/Driver/dump-all.f90
Commit 47f18af55fd59e813144cc76711806d57a160e50 by pklausler
[flang] Fold MAXVAL & MINVAL

Implement constant folding for the reduction transformational
intrinsic functions MAXVAL and MINVAL.

In anticipation of more folding work to follow, with (I hope)
some common infrastructure, these two have been implemented in a
new header file.

Differential Revision: https://reviews.llvm.org/D104337
The file was modifiedflang/lib/Evaluate/fold-implementation.h
The file was addedflang/lib/Evaluate/fold-reduction.h
The file was modifiedflang/lib/Evaluate/fold-integer.cpp
The file was modifiedflang/lib/Evaluate/shape.cpp
The file was modifiedflang/lib/Evaluate/tools.cpp
The file was modifiedflang/lib/Evaluate/fold-character.cpp
The file was addedflang/test/Evaluate/folding20.f90
The file was modifiedflang/include/flang/Evaluate/shape.h
The file was modifiedflang/include/flang/Evaluate/call.h
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/lib/Evaluate/fold-real.cpp
The file was modifiedflang/include/flang/Evaluate/integer.h
The file was modifiedflang/runtime/reduction.cpp
Commit 8b062b61606270950645d73b68036c9ab2c7c4bc by kostyak
[scudo] Ensure proper allocator alignment in TSD test

The `MockAllocator` used in `ScudoTSDTest` wasn't allocated
properly aligned, which resulted in the `TSDs` of the shared
registry not being aligned either. This lead to some failures
like: https://reviews.llvm.org/D103119#2822008

This changes how the `MockAllocator` is allocated, same as
Vitaly did in the combined tests, properly aligning it, which
results in the `TSDs` being aligned as well.

Add a `DCHECK` in the shared registry to check that it is.

Differential Revision: https://reviews.llvm.org/D104402
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h
The file was modifiedcompiler-rt/lib/scudo/standalone/quarantine.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary32.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/tsd_test.cpp
Commit c375ec86132984bc3915323fbe3f8c71f4d5503f by pklausler
[flang] Use a "double-double" accumulator in SUM

Use a "double-double" accumulator, a/k/a Kahan summation,
in the SUM intrinsic in the runtime for real & complex.
This seems to be the best-recommended technique for reducing
error, as opposed to the initial implementation of SUM's
distinct accumulators for positive and negative items.

Differential Revision: https://reviews.llvm.org/D104338
The file was modifiedflang/runtime/sum.cpp
Commit f9aba9a5afe09788eceb9879aa5c3ad345e0f1e9 by Adrian Prantl
Move the definition of LLVM_SUPPORT_XCODE_SIGNPOSTS into llvm-config.h

since it is now used by a public header file (Signposts.h).
This fixes the standalone LLDB build.
The file was modifiedlldb/include/lldb/Utility/Timer.h
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedllvm/lib/Support/Signposts.cpp
The file was modifiedllvm/include/llvm/Config/llvm-config.h.cmake
The file was modifiedllvm/include/llvm/Support/Signposts.h
Commit 053dbb939d4a4be5cc7e156441ecedef599a4a6f by joachim
Use `-cfg-func-name` value as filter for `-view-cfg`, etc.

Currently the value is only used when calling `F->viewCFG()` which is missing out on its potential and usefulness.
So I added the check to the printer passes as well.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D102011
The file was addedllvm/test/Other/cfg-printer-filter.ll
The file was modifiedllvm/lib/Analysis/CFGPrinter.cpp
The file was modifiedllvm/docs/Passes.rst
Commit fdf33771feeb23ecab25b61d37f5ad575a641a10 by pklausler
[flang] Implement runtime for IALL & IANY

We had IPARITY (xor-reduction) but I missed IALL (and)
and IANY (or).

Differential Revision: https://reviews.llvm.org/D104339
The file was modifiedflang/runtime/reduction.cpp
The file was modifiedflang/unittests/RuntimeGTest/Reduction.cpp
The file was modifiedflang/runtime/reduction.h
Commit a127dffc49e5031b7780b3c747e8970a6f2ce0ee by thakis
[gn build] (manually) port f9aba9a5afe
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Commit 7cfb7a67c57dfb40518a0873137a21b0a8def503 by i
[mlir] Make Type::print and Type::dump const
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/include/mlir/IR/Types.h
Commit 07990571812df2a702daa2d7cbcd7c3f4e09cdda by powerman1st
[RISCV][test] Add new tests of SH*ADD in the zba extension

These tests will show the following optimization by future patches.

Rx + Ry * 6  => (SH1ADD (SH2ADD Rx, Ry), Ry)
Rx + Ry * 10 => (SH1ADD (SH3ADD Rx, Ry), Ry)
Rx + Ry * 12 => (SH2ADD (SH3ADD Rx, Ry), Ry)

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D104210
The file was modifiedllvm/test/CodeGen/RISCV/rv64zba.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32zba.ll
Commit fc4f457fcc531871e86ecaaffc46ef98249b8e6a by pklausler
[flang] Fix ARM/POWER test failure (folding20.f90)

Recent code for folding MINVAL() didn't allow for architectures
whose C/C++ char type is unsigned, so the value of the maximum
Fortran character was incorrect.  This was caught by the
folding20.f90 test.  The fix is to avoid numeric_limits<> and
use hard values for max signed integers of various character kinds.

Pushing into llvm-project/main to restore ARM/POWER buildbots.
The file was modifiedflang/lib/Evaluate/fold-character.cpp
Commit c8a3f561ebfd6a5fd6c3efb65944760c7a1a446f by joker.eph
Decouple registring passes from specifying argument/description

This patch changes the (not recommended) static registration API from:

static PassRegistration<MyPass> reg("my-pass", "My Pass Description.");

to:

static PassRegistration<MyPass> reg;

And the explicit registration from:

  void registerPass("my-pass", "My Pass Description.",
                    [] { return createMyPass(); });

To:

  void registerPass([] { return createMyPass(); });

It is expected that Pass implementations overrides the getArgument() method
instead. This will ensure that pipeline description can be printed and parsed
back.

Differential Revision: https://reviews.llvm.org/D104421
The file was modifiedmlir/docs/PassManagement.md
The file was modifiedmlir/test/Transforms/print-op-graph.mlir
The file was modifiedmlir/test/python/pass_manager.py
The file was modifiedmlir/include/mlir/Pass/Pass.h
The file was modifiedmlir/lib/Pass/PassRegistry.cpp
The file was modifiedmlir/tools/mlir-tblgen/PassGen.cpp
The file was modifiedmlir/include/mlir/Pass/PassRegistry.h
The file was modifiedmlir/include/mlir/Transforms/Passes.td
Commit b5e22e6d4207cf939618492d365293fe6035075d by joker.eph
Migrate MLIR test passes to the new registration API

Make sure they all define getArgument()/getDescription().

Depends On D104421

Differential Revision: https://reviews.llvm.org/D104426
The file was modifiedmlir/test/lib/Dialect/GPU/TestConvertGPUKernelToHsaco.cpp
The file was modifiedmlir/test/lib/Pass/TestDynamicPipeline.cpp
The file was modifiedmlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
The file was modifiedmlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp
The file was modifiedmlir/test/lib/Dialect/SPIRV/TestGLSLCanonicalization.cpp
The file was modifiedmlir/test/lib/Pass/TestPassManager.cpp
The file was modifiedmlir/test/lib/IR/TestSideEffects.cpp
The file was modifiedmlir/test/lib/Conversion/StandardToLLVM/TestConvertCallOp.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
The file was modifiedmlir/test/lib/IR/TestMatchers.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestAffineLoopUnswitching.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopFusion.cpp
The file was modifiedmlir/test/lib/IR/TestOpaqueLoc.cpp
The file was modifiedmlir/test/lib/Dialect/StandardOps/TestComposeSubView.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
The file was modifiedmlir/test/lib/Analysis/TestMemRefDependenceCheck.cpp
The file was modifiedmlir/test/lib/Analysis/TestAliasAnalysis.cpp
The file was modifiedmlir/test/lib/Dialect/GPU/TestConvertGPUKernelToCubin.cpp
The file was modifiedmlir/test/lib/Transforms/TestConstantFold.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/test/lib/IR/TestFunc.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/SerializeToCubin.cpp
The file was modifiedmlir/test/lib/Dialect/StandardOps/TestDecomposeCallGraphTypes.cpp
The file was modifiedmlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
The file was modifiedmlir/test/lib/IR/TestSymbolUses.cpp
The file was modifiedmlir/test/lib/IR/TestTypes.cpp
The file was modifiedmlir/test/lib/Rewrite/TestPDLByteCode.cpp
The file was modifiedmlir/test/lib/Transforms/TestInlining.cpp
The file was modifiedmlir/test/lib/Reducer/MLIRTestReducer.cpp
The file was modifiedmlir/test/lib/IR/TestPrintDefUse.cpp
The file was modifiedmlir/test/lib/Dialect/SPIRV/TestAvailability.cpp
The file was modifiedmlir/test/lib/Analysis/TestMemRefBoundCheck.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTraits.cpp
The file was modifiedmlir/test/lib/IR/TestVisitors.cpp
The file was modifiedmlir/test/lib/IR/TestInterfaces.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp
The file was modifiedmlir/test/lib/Dialect/Math/TestExpandTanh.cpp
The file was modifiedmlir/test/lib/IR/TestDominance.cpp
The file was modifiedmlir/test/lib/Analysis/TestLiveness.cpp
The file was modifiedmlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
The file was modifiedmlir/test/lib/Dialect/Shape/TestShapeFunctions.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/test/lib/Analysis/TestNumberOfExecutions.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopParametricTiling.cpp
The file was modifiedmlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
The file was modifiedmlir/test/lib/Dialect/GPU/TestGpuMemoryPromotion.cpp
The file was modifiedmlir/test/lib/Analysis/TestMemRefStrideCalculation.cpp
The file was modifiedmlir/test/lib/Dialect/SPIRV/TestModuleCombiner.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopMapping.cpp
The file was modifiedmlir/test/lib/Dialect/GPU/TestGpuParallelLoopMapping.cpp
The file was modifiedmlir/test/lib/IR/TestPrintNesting.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestConvVectorization.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgDistribution.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgHoisting.cpp
The file was modifiedmlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopUnrolling.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
The file was modifiedmlir/test/lib/Dialect/SPIRV/TestEntryPointAbi.cpp
The file was modifiedmlir/test/lib/IR/TestSlicing.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestLoopPermutation.cpp
The file was modifiedmlir/test/lib/Analysis/TestCallGraph.cpp
Commit 12c90e2e25dfd1d38250055efc21acb42d158912 by mizvekov
[clang] NRVO: Improvements and handling of more cases.

This expands NRVO propagation for more cases:

Parse analysis improvement:
* Lambdas and Blocks with dependent return type can have their variables
  marked as NRVO Candidates.

Variable instantiation improvements:
* Fixes crash when instantiating NRVO variables in Blocks.
* Functions, Lambdas, and Blocks which have auto return type have their
  variables' NRVO status propagated. For Blocks with non-auto return type,
  as a limitation, this propagation does not consider the actual return
  type.

This also implements exclusion of VarDecls which are references to
dependent types.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: Quuxplusone

Differential Revision: https://reviews.llvm.org/D99696
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was addedclang/test/SemaObjCXX/block-capture.mm
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/CodeGen/nrvo-tracking.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit 0a07343e34fc84052e6cc54e55654412b0ed01f4 by Stanislav.Mekhanoshin
[AMDGPU] Fixed constexpr expansion to handle multiple uses

Recently added convertConstantExprsToInstructions() does not handle
a case when a same ConstantExpr used multiple times in the same
instruction. A first use is replaced and the rest of the uses in the
instruction are replaced as well with the replaceUsesOfWith(). Then
function attempts to replace a constant already destroyed.

So far this interface is only used by the AMDGPU BE.

Differential Revision: https://reviews.llvm.org/D104425
The file was modifiedllvm/lib/IR/ReplaceConstant.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/lower-kernel-lds-constexpr.ll
Commit b88eb855b53184161ad1ea0eea1962100941cf0b by mizvekov
[clang] use correct builtin type for defaulted comparison analyzer

Fixes PR50591.

When analyzing classes with members which have user-defined conversion
operators to builtin types, the defaulted comparison analyzer was
picking the member type instead of the type for the builtin operator
which was selected as the best match.

This could either result in wrong comparison category being selected,
or a crash when runtime checks are enabled.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D103760
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/CXX/class/class.compare/class.spaceship/p2.cpp
Commit a6e8ed77762e2c973dbc60d6436d64a25f9f1bee by joker.eph
Improve error message on pass registration failures to include the faulty pass name
The file was modifiedmlir/lib/Pass/PassRegistry.cpp
Commit fcecfcb92c77b470d45885db5ef077f9c3166bc3 by riddleriver
[mlir-lsp-server][Docs] Tweak the documentation for the visual studio code extension

This revision updates the feature set, and cleans up the contributing section a little.
The file was modifiedmlir/docs/Tools/MLIRLSP.md
Commit 562bfe1274a17698c445ee3d7bb4a7911d74f657 by pklausler
[flang] Complain about more cases of calls to insufficiently defined procedures

When a function is called in a specification expression, it must be
sufficiently defined, and cannot be a recursive call (10.1.11(5)).
The best fix for this is to change the contract for the procedure
characterization infrastructure to catch and report such errors,
and to guarantee that it does emit errors on failed characterizations.
Some call sites were adjusted to avoid cascades.

Differential Revision: https://reviews.llvm.org/D104330
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was modifiedflang/include/flang/Evaluate/characteristics.h
The file was modifiedflang/lib/Semantics/check-declarations.cpp
The file was modifiedflang/test/Semantics/resolve102.f90
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/lib/Semantics/pointer-assignment.cpp
The file was modifiedflang/lib/Evaluate/characteristics.cpp
Commit 42e2a90684196d6ffadf785e98ea5de0876b4a3e by Adrian Prantl
Relax language comparison when matching up C++ forward decls with definitions

when dealing with -gmodules debug info.

This fixes the bot failures on Darwin.

A recent clang change (presumably https://reviews.llvm.org/D104291)
introduced a bug where .pcm files would identify themselves as
DW_LANG_C_plus_plus, but the .o that references them would identify as
DW_LANG_C_plus_plus_14. While that bug needs to be fixed, too, it
shows that the current strict comparison also isn't meaningful.

rdar://79423225
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Commit d3c895a870d324d1fdfc177104785d551e5993f7 by riddleriver
[mlir-lsp-server] Add an explicit blurb on where to send code contributions.

When the vscode extension is published, it may be unclear how to contribute improvements to the extension. This revision makes it clear that contributions should follow the traditional LLVM guidelines.
The file was modifiedmlir/docs/Tools/MLIRLSP.md
Commit 854ef875b929da544d285436b00df74ee77323b1 by riddleriver
[mlir-vscode] Add a link to mlir.llvm.org at the top of the vscode extension doc
The file was modifiedmlir/docs/Tools/MLIRLSP.md
Commit 07481b37961f5b9a670c924367d2ead2e3c32b86 by kda
Remove obsolete call to AsyncSignalSafeLazyInitiFakeStack.

Code was originally added for Myriad D46626 which was removed
with D104279.

related to: https://github.com/google/sanitizers/issues/1394

Reviewed By: vitalybuka, morehouse

Differential Revision: https://reviews.llvm.org/D104419
The file was modifiedcompiler-rt/lib/asan/asan_thread.cpp
Commit 5a55205bb31f2cbc7573656da61cb9eb923bc8cc by riddleriver
[mlir] Fixed dynamic operand storage on big-endian machines.

Many tests fails by D101969 (https://reviews.llvm.org/D101969)
on big-endian machines. This patch changes bit order of
TrailingOperandStorage in big-endian machines. This patch
works on System Z (Triple = "s390x-ibm-linux", CPU = "z14").

Signed-off-by: Haruki Imai <imaihal@jp.ibm.com>

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D104225
The file was modifiedmlir/include/mlir/IR/OperationSupport.h

Summary

  1. [zorg] Rename Linaro-maintained 2-stage bots (details)
Commit db2fbb6520d1ebd17dcd91dfed4886f33734ffbd by maxim.kuvyrkov
[zorg] Rename Linaro-maintained 2-stage bots

... to have consistent -2stage suffix.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D104312
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/workers.py