SuccessChanges

Summary

  1. Add Flang and MLIR PowerPC buildbot on Red Hat (details)
  2. Specify a number of jobs as a property for flang-aarch64-ubuntu-clang and flang-aarch64-ubuntu-gcc10 builders. (details)
Commit 714b345535c0c85b5b9d5ce7c3c09ee72c10ede1 by gkistanova
Add Flang and MLIR PowerPC buildbot on Red Hat

Differential Revision: https://reviews.llvm.org/D84956
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
The file was modifiedbuildbot/osuosl/master/config/slaves.py (diff)
Commit 9ad0d8f0382950cb4aed5104fb96a6f14af681ff by gkistanova
Specify a number of jobs as a property for flang-aarch64-ubuntu-clang and flang-aarch64-ubuntu-gcc10 builders.
The file was modifiedbuildbot/osuosl/master/config/slaves.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [UpdateTestChecks] Match unnamed values like "@[0-9]+" and "![0-9]+" (details)
  2. [Attributor][NFC] Reformat tests after D85099 (details)
  3. [NFC] Factor out hasForceAttributes (details)
  4. [libc][obvious] Switch nearest integer function tests to the new matchers. (details)
  5. [MLIR][SPIRVToLLVM] Conversion for global and addressof (details)
  6. [X86][GlobalISel] Replace a misuse of SUBREG_TO_REG with INSERT_SUBREG. (details)
  7. [MLIR,OpenMP] Lowering of parallel operation: proc_bind clause 2/n (details)
  8. [AST] Fix the CXXFoldExpr source range when parentheses range is invalid. (details)
  9. [libc][obvious] Switch copysign[f|l] and fabs[f|l] to the new test matchers. (details)
  10. [VE] Change to promote i32 AND/OR/XOR operations (details)
  11. [SVE][CodeGen] Fix issues with EXTRACT_SUBVECTOR when using scalable FP vectors (details)
  12. [SyntaxTree] Unbox operators into tokens for nodes generated from `CXXOperatorCallExpr` (details)
  13. [ARM][MVE] tail-predication: overflow checks for backedge taken count. (details)
  14. [llvm-dwarfdump] Avoid crashing if an abbreviation offset is invalid. (details)
  15. [SCEV] Look through single value PHIs. (details)
  16. [mlir] use intptr_t in C API (details)
  17. Add missing dependency on Doc generation for the OpenMP dialect (details)
  18. [Transforms][SROA] Skip uses of allocas where the type is scalable (details)
  19. [lldb] Add support for checking children in expect_expr (details)
  20. [X86][AVX] Fold CONCAT(HOP(X,Y),HOP(Z,W)) -> HOP(CONCAT(X,Z),CONCAT(Y,W)) for float types (details)
  21. [llvm-readobj] - Refine logic of the symbol table locating in printRelocationsHelper(). (details)
  22. [mlir] Expose printing functions in C API (details)
  23. [lldb] Display autosuggestion part in gray if there is one possible suggestion (details)
  24. [X86][SSE] Fold HOP(SHUFFLE(X),SHUFFLE(Y)) --> SHUFFLE(HOP(X,Y)) (details)
  25. [clang-tidy] prevent generated checks from triggering assertions on anonymous functions (details)
  26. [ARM] Commutative vmin/maxnma tests. NFC (details)
  27. Revert "[lldb] Display autosuggestion part in gray if there is one possible suggestion" (details)
  28. [LoopUnroll] Adjust CostKind query (details)
  29. [SystemZ/ZOS] Implement computeHostNumPhysicalCores (details)
  30. [VectorCombine] add test for Hexagon that would crash; NFC (details)
  31. [InstCombine] eliminate a pointer cast around insertelement (details)
  32. [ARM] Add additional predicated VFMA tests. NFC (details)
  33. [VectorCombine] add test for x86 target with SSE disabled; NFC (details)
  34. [VectorCombine] early exit if target has no vector registers (details)
  35. Limit Max Vector alignment on COFF targets to 8192. (details)
  36. [OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks. (details)
  37. [MachOYAML] Simplify the section data emitting function. NFC. (details)
  38. [DWARFYAML] Make the address size of compilation units optional. (details)
  39. Revert "[OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks." (details)
  40. AMDGPU: Handle intrinsics in performMemSDNodeCombine (details)
  41. AMDGPU/GlobalISel: Select llvm.amdgcn.global.atomic.fadd (details)
  42. [OPENMP]Do not add TGT_OMP_TARGET_PARAM flag to non-captured mapped arguments. (details)
Commit 97ce7fd89fcc92d84c1938108388f735d55d372c by johannes
[UpdateTestChecks] Match unnamed values like "@[0-9]+" and "![0-9]+"

With this patch we will match most *uses* of "temporary" named things in
the IR via regular expressions, not their name at creation time. The new
"values" we match are:
  - "unnamed" globals: `@[0-9]+`
  - debug metadata: `!dbg ![0-9]+`
  - loop metadata: `!loop ![0-9]+`
  - tbaa metadata: `!tbaa ![0-9]+`
  - range metadata: `!range ![0-9]+`
  - generic metadata: `metadata ![0-9]+`
  - attributes groups: `#[0-9]`

We still don't match the declarations but that can be done later. This
patch can introduce churn when existing check lines contain the old
hardcoded versions of the above "values". We can add a flag to opt-out,
or opt-in, if necessary.

Reviewed By: arichardson, MaskRay

Differential Revision: https://reviews.llvm.org/D85099
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/check_attrs.ll.plain.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/check_attrs.ll.funcattrs.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/scrub_attrs.ll.plain.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.expected
The file was modifiedllvm/utils/UpdateTestChecks/asm.py
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/various_ir_values.test
The file was modifiedllvm/utils/update_cc_test_checks.py
The file was modifiedllvm/utils/update_test_checks.py
Commit 3a033921ed321585436f353a498c86fa89ecb0ff by johannes
[Attributor][NFC] Reformat tests after D85099

Reviewed By: sstefan1

Differential Revision: https://reviews.llvm.org/D85700
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-constant.ll
The file was modifiedllvm/test/Transforms/Attributor/potential.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-1.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-1.ll
The file was modifiedllvm/test/Transforms/Attributor/nofree.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
The file was modifiedllvm/test/Transforms/Attributor/range.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
The file was modifiedllvm/test/Transforms/Attributor/willreturn.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
Commit d73be5af0ae7717d6e4b77fce2fbae5efea42166 by kyulee.llvm
[NFC] Factor out hasForceAttributes

This is a preparation for https://reviews.llvm.org/D85586.

Differential Revision: https://reviews.llvm.org/D85793
The file was modifiedllvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
Commit 01b99c6e1d96467ab1b78a5beebc20eb7f04ab96 by sivachandra
[libc][obvious] Switch nearest integer function tests to the new matchers.
The file was modifiedlibc/test/src/math/roundl_test.cpp
The file was modifiedlibc/test/src/math/ceill_test.cpp
The file was modifiedlibc/test/src/math/truncl_test.cpp
The file was modifiedlibc/test/src/math/floorl_test.cpp
The file was modifiedlibc/test/src/math/truncf_test.cpp
The file was modifiedlibc/test/src/math/roundf_test.cpp
The file was modifiedlibc/test/src/math/ceilf_test.cpp
The file was modifiedlibc/test/src/math/floorf_test.cpp
The file was modifiedlibc/test/src/math/round_test.cpp
The file was modifiedlibc/test/src/math/ceil_test.cpp
The file was modifiedlibc/test/src/math/trunc_test.cpp
The file was modifiedlibc/test/src/math/floor_test.cpp
Commit 2ad7e1a301f8af7412208da3ed8049ae08b0fae8 by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion for global and addressof

Inital conversion of `spv._address_of` and `spv.globalVariable`.
In SPIR-V, the global returns a pointer, whereas in LLVM dialect
the global holds an actual value. This difference is handled by
`spv._address_of` and `llvm.mlir.addressof`ops that both return
a pointer. Moreover, only current invocation is in conversion's
scope.

Reviewed By: antiagainst, mravishankar

Differential Revision: https://reviews.llvm.org/D84626
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir
Commit 6b3dc96e599a80005c4465ebedd1208e7f882c81 by craig.topper
[X86][GlobalISel] Replace a misuse of SUBREG_TO_REG with INSERT_SUBREG.

SUBREG_TO_REG is supposed to be used when we know the producing
instruction already zeroed the bits we're extending. But that's
not the case here. So INSERT_SUBREG with an IMPLICIT_DEF is the
correct thing to use.
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/select-cmp.mir
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/select-ext-x86-64.mir
The file was modifiedllvm/lib/Target/X86/X86InstructionSelector.cpp
Commit e6c5e6efd080ab80f133a6591a7e4f0b617c291f by kiran.chandramohan
[MLIR,OpenMP] Lowering of parallel operation: proc_bind clause 2/n

This patch adds the translation of the proc_bind clause in a
parallel operation.

The values that can be specified for the proc_bind clause are
specified in the OMP.td tablegen file in the llvm/Frontend/OpenMP
directory. From this single source of truth enumeration for
proc_bind is generated in llvm and mlir (used in specification of
the parallel Operation in the OpenMP dialect). A function to return
the enum value from the string representation is also generated.
A new header file (DirectiveEmitter.h) containing definitions of
classes directive, clause, clauseval etc is created so that it can
be used in mlir as well.

Reviewers: clementval, jdoerfert, DavidTruby

Differential Revision: https://reviews.llvm.org/D84347
The file was modifiedmlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPConstants.h
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
The file was modifiedllvm/test/TableGen/directive1.td
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
The file was addedllvm/include/llvm/TableGen/DirectiveEmitter.h
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedllvm/include/llvm/Frontend/Directive/DirectiveBase.td
The file was modifiedmlir/test/Target/openmp-llvm.mlir
The file was addedmlir/tools/mlir-tblgen/OpenMPCommonGen.cpp
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
Commit dc7b1e9db58152273d3232cca3fa95cef721796b by hokein.wu
[AST] Fix the CXXFoldExpr source range when parentheses range is invalid.

The CXXFoldExpr's range is invalid if the cxxfoldexpr is formed via the
Concept's TypeContraints (because the parentheses are not written in the
source code). We fallback to use the range from the pattern.

Differential Revision: https://reviews.llvm.org/D85645
The file was modifiedclang/test/AST/ast-dump-concepts.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
Commit a87576592c6326275e4a7aff6a86d5113b5a9766 by sivachandra
[libc][obvious] Switch copysign[f|l] and fabs[f|l] to the new test matchers.
The file was modifiedlibc/test/src/math/copysignf_test.cpp
The file was modifiedlibc/test/src/math/fabs_test.cpp
The file was modifiedlibc/test/src/math/copysignl_test.cpp
The file was modifiedlibc/test/src/math/fabsl_test.cpp
The file was modifiedlibc/test/src/math/copysign_test.cpp
The file was modifiedlibc/test/src/math/fabsf_test.cpp
Commit 5d549219df1c5c9a619e33d7dca662cd2c44fcda by marukawa
[VE] Change to promote i32 AND/OR/XOR operations

VE has only 64 bits AND/OR/XOR instructions.  We pretended that VE has 32 bits
instructions also, but doing it increase the number of generated instructions.
Therefore, we decide to promote 32 bits operations and use only 64 bits
instructions in back end.  We also avoid pretending that VE has 32 bits LEA
instruction.  Update regression tests also.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D85726
The file was modifiedllvm/test/CodeGen/VE/selectcci32c.ll
The file was modifiedllvm/test/CodeGen/VE/xor.ll
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was modifiedllvm/test/CodeGen/VE/nnd.ll
The file was modifiedllvm/test/CodeGen/VE/selectccf64c.ll
The file was modifiedllvm/test/CodeGen/VE/selectcci64c.ll
The file was modifiedllvm/test/CodeGen/VE/selectccf32c.ll
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was modifiedllvm/test/CodeGen/VE/cttz.ll
The file was modifiedllvm/test/CodeGen/VE/or.ll
Commit 88bbd30736561190a6733d0ad60aec21446b914c by david.sherwood
[SVE][CodeGen] Fix issues with EXTRACT_SUBVECTOR when using scalable FP vectors

In this patch I have fixed two issues:

1. Our SVE tuple get/set intrinsics were using the wrong constant type
for the index passed to EXTRACT_SUBVECTOR. I have fixed this by using the
function SelectionDAG::getVectorIdxConstant to create the value. Also, I
have updated the documentation for EXTRACT_SUBVECTOR describing what type
the constant index should be and we now enforce this when creating the
node.
2. The AArch64 backend was missing the appropriate patterns for
extracting certain subvectors (nxv4f16 and nxv2f32) from legal SVE types.
I have added them as part of this patch.

The only way that I could find to test the new patterns was to use the
SVE tuple get intrinsics, although I realise it looks a bit unusual.
Tests added here:

  test/CodeGen/AArch64/sve-extract-subvector.ll

Differential Revision: https://reviews.llvm.org/D85516
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was modifiedllvm/test/CodeGen/AArch64/sve-extract-subvector.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Commit ac37afa650271d8366b706d79ff8e217fc624cbb by ecaldas
[SyntaxTree] Unbox operators into tokens for nodes generated from `CXXOperatorCallExpr`

For an user define `<`, `x < y` would yield the syntax tree:
```
BinaryOperatorExpression
|-IdExpression
| `-UnqualifiedId
|   `-x
|-IdExpression
| `-UnqualifiedId
|   `-<
`-IdExpression
  `-UnqualifiedId
    `-y
```
But there is no syntatic difference at call site between call site or
built-in `<`. As such they should generate the same syntax tree, namely:
```
BinaryOperatorExpression
|-IdExpression
| `-UnqualifiedId
|   `-x
|-<
`-IdExpression
  `-UnqualifiedId
    `-y
```

Differential Revision: https://reviews.llvm.org/D85750
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 6716e7868ec31668f8200e05d8550d3099b2c697 by sjoerd.meijer
[ARM][MVE] tail-predication: overflow checks for backedge taken count.

This pick ups the work on the overflow checks for get.active.lane.mask,
which ensure that it is safe to insert the VCTP intrinisc that enables
tail-predication. For a 2d auto-correlation kernel and its inner loop j:

  M = Size - i;
  for (j = 0; j < M; j++)
    Sum += Input[j] * Input[j+i];

For this inner loop, the SCEV backedge taken count (BTC) expression is:

  (-1 + (sext i16 %Size to i32)),+,-1}<nw><%for.body>

and LoopUtil cannotBeMaxInLoop couldn't calculate a bound on this, thus "BTC
cannot be max" could not be determined. So overflow behaviour had to be assumed
in the loop tripcount expression that uses the BTC. As a result
tail-predication had to be forced (with an option) for this case.

This change solves that by using ScalarEvolution's helper
getConstantMaxBackedgeTakenCount which is able to determine the range of BTC,
thus can determine it is safe, so that we no longer need to force tail-predication
as reflected in the changed test cases.

Differential Revision: https://reviews.llvm.org/D85737
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-reduce.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
Commit 9ceb192e14164ecf8a6f714a770c89765327c722 by ikudrin
[llvm-dwarfdump] Avoid crashing if an abbreviation offset is invalid.

Note that DWARFUnit::getAbbreviations() returns nullptr if the
abbreviations could not be read, but callers used the returned
pointer without checking.

Differential Revision: https://reviews.llvm.org/D85738
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was addedllvm/test/tools/llvm-dwarfdump/X86/invalid_abbrev_offset.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp
Commit e441b7a7a0a72c28daf5a8e594559c667e5b4534 by flo
[SCEV] Look through single value PHIs.

Now that SCEVExpander can preserve LCSSA form,
we do not have to worry about LCSSA form when
trying to look through PHIs. SCEVExpander will take
care of inserting LCSSA PHI nodes as required.

This increases precision of the analysis in some cases.

Reviewed By: mkazantsev, bmahjour

Differential Revision: https://reviews.llvm.org/D71539
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/funclet.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
Commit af838584ec5bfd3487ea86a54966a27f73b7e113 by zinenko
[mlir] use intptr_t in C API

Using intptr_t is a consensus for MLIR C API, but the change was missing
from 75f239e9756b (that was using unsigned initially) due to a
misrebase.

Reviewed By: stellaraccident, mehdi_amini

Differential Revision: https://reviews.llvm.org/D85751
The file was modifiedmlir/docs/CAPI.md
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/include/mlir-c/IR.h
Commit 7b18716361a533023d7f5366add759038c8a7825 by joker.eph
Add missing dependency on Doc generation for the OpenMP dialect

This is fixing the bot building the MLIR website.
The file was modifiedmlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
Commit 511d5aaca37a31d806470aac9e2ee7ff6ce6247c by cullen.rhodes
[Transforms][SROA] Skip uses of allocas where the type is scalable

When visiting load and store instructions in SROA skip scalable vectors.
This is relevant in the implementation of the 'arm_sve_vector_bits'
attribute that is used to define VLS types, where an alloca of a
fixed-length vector could be bitcasted to scalable. See D85128 for more
information.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D85725
The file was modifiedllvm/test/Transforms/SROA/scalable-vectors.ll
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
Commit dd0fdf80301e0b875d1898e01542c43b991e1b1c by Raphael Isemann
[lldb] Add support for checking children in expect_expr

expect_expr currently can't verify the children of the result SBValue.

This patch adds the ability to check them. The idea is to have a CheckValue
class where one can specify what attributes of a SBValue should be checked.
Beside the properties we already check for (summary, type, etc.) this also
has a list of children which is again just a list of CheckValue object (which
can also have children of their own).

The main motivation is to make checking the children no longer based
on error-prone substring checks that allow tests to pass just because
for example the error message contains the expected substrings by accident.

I also expect that we can just have a variant of `expect_expr` for LLDB's
expression paths (aka 'frame var') feature.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D83792
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
Commit a0c2c6aa420e572520337b782410c0c04ba87b69 by llvm-dev
[X86][AVX] Fold CONCAT(HOP(X,Y),HOP(Z,W)) -> HOP(CONCAT(X,Z),CONCAT(Y,W)) for float types

Only do this for AVX2+ targets as we still get some regressions on AVX1 without PERMPD/PERMQ
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/haddsub-2.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
Commit 3b0a4e9584535b7799825c0cefc89d2571da5901 by grimar
[llvm-readobj] - Refine logic of the symbol table locating in printRelocationsHelper().

This removes the last `unwrapOrError` call from the `printRelocationsHelper`.

There is a little additional complexity because of `SHT_RELR/SHT_ANDROID_RELR` sections.
Such sections contains only relative relocations and they do not have a
symbol table associated with them, hence we should not try to treat
their `sh_link` field as a reference to a symbol table.

Differential revision: https://reviews.llvm.org/D85430
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/relr-relocs.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/relocations.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/packed-relocs.test
Commit 321aa19ec8ede62325b7e07d3fef4d12859275ab by zinenko
[mlir] Expose printing functions in C API

Provide printing functions for most IR objects in C API (except Region that
does not have a `print` function, and Module that is expected to be printed as
Operation instead). The printing is based on a callback that is called with
chunks of the string representation and forwarded user-defined data.

Reviewed By: stellaraccident, Jing, mehdi_amini

Differential Revision: https://reviews.llvm.org/D85748
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/docs/CAPI.md
Commit 246afe0cd17fce935a01171f3cca548e02523e5c by Raphael Isemann
[lldb] Display autosuggestion part in gray if there is one possible suggestion

I implemented autosuggestion if there is one possible suggestion.
I set the keybinds for every character. When a character is typed, Editline::TypedCharacter is called.
Then, autosuggestion part is displayed in gray, and you can actually input by typing C-k.
Editline::Autosuggest is a function for finding completion, and it is like Editline::TabCommand now, but I will add more features to it.

Testing does not work well in my environment, so I can't confirm that it goes well, sorry. I am dealing with it now.

Reviewed By: teemperor, JDevlieghere, #lldb

Differential Revision: https://reviews.llvm.org/D81001
The file was modifiedlldb/include/lldb/Host/Editline.h
The file was modifiedlldb/include/lldb/Core/Debugger.h
The file was modifiedlldb/include/lldb/Interpreter/CommandInterpreter.h
The file was modifiedlldb/source/Core/Debugger.cpp
The file was modifiedlldb/source/Host/common/Editline.cpp
The file was modifiedlldb/include/lldb/Core/IOHandler.h
The file was modifiedlldb/source/Core/CoreProperties.td
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was addedlldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
The file was modifiedlldb/source/Core/IOHandler.cpp
Commit 9bd97d0363987b582e4a92b354b02e86ac068407 by llvm-dev
[X86][SSE] Fold HOP(SHUFFLE(X),SHUFFLE(Y)) --> SHUFFLE(HOP(X,Y))

This is beginning to look like a canonicalization stage that could be performed as part of shuffle combining

Another step towards PR41813
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/haddsub-shuf.ll
Commit 35bee3503f4c33d92434a314e49e3e6f4f7419bc by david.truby
[clang-tidy] prevent generated checks from triggering assertions on anonymous functions

Skeleton checks generated by clang-tidy add_check.py cause assertions to fail when run over anonymous functions(lambda functions). This patch introduces an additional check to verify that the target function is not anonymous before calling getName().
The code snippet from the [[ https://clang.llvm.org/extra/clang-tidy/Contributing.html | clang-tidy tutorial  ]]is also updated.

Reviewed By: alexfh, DavidTruby

Differential Revision: https://reviews.llvm.org/D85218
The file was modifiedclang-tools-extra/docs/clang-tidy/Contributing.rst
The file was modifiedclang-tools-extra/clang-tidy/add_new_check.py
Commit fccf4c6115a8e4f73a945f99d6a444c52fd7f60a by david.green
[ARM] Commutative vmin/maxnma tests. NFC
The file was addedllvm/test/CodeGen/Thumb2/mve-vmaxnma-commute.ll
Commit cff880b0c9a07ff8275e91982c0d6e2293b537e7 by Raphael Isemann
Revert "[lldb] Display autosuggestion part in gray if there is one possible suggestion"

This reverts commit 246afe0cd17fce935a01171f3cca548e02523e5c. This broke
the following tests on Linux it seems:
  lldb-api :: commands/expression/multiline-completion/TestMultilineCompletion.py
  lldb-api :: iohandler/completion/TestIOHandlerCompletion.py
The file was modifiedlldb/include/lldb/Core/Debugger.h
The file was modifiedlldb/source/Core/CoreProperties.td
The file was modifiedlldb/source/Core/Debugger.cpp
The file was removedlldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
The file was modifiedlldb/include/lldb/Core/IOHandler.h
The file was modifiedlldb/include/lldb/Host/Editline.h
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was modifiedlldb/include/lldb/Interpreter/CommandInterpreter.h
The file was modifiedlldb/source/Core/IOHandler.cpp
The file was modifiedlldb/source/Host/common/Editline.cpp
Commit ea8448e3618a1581b5eca39d39bedaa55fede75d by sam.parker
[LoopUnroll] Adjust CostKind query

When TTI was updated to use an explicit cost, TCK_CodeSize was used
although the default implicit cost would have been the hand-wavey
cost of size and latency. So, revert back to this behaviour. This is
not expected to have (much) impact on targets since most (all?) of
them return the same value for SizeAndLatency and CodeSize.

When optimising for size, the logic has been changed to query
CodeSize costs instead of SizeAndLatency.

This patch also adds a testing option in the unroller so that
OptSize thresholds can be specified.

Differential Revision: https://reviews.llvm.org/D85723
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was addedllvm/test/Transforms/LoopUnroll/ARM/instr-size-costs.ll
The file was addedllvm/test/Transforms/LoopUnroll/ARM/unroll-optsize.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Commit bca1b8ed994336690db4775e67953aad533b0e31 by kai
[SystemZ/ZOS] Implement computeHostNumPhysicalCores

On z/OS, the information is stored in the Common System Data Area
(CSD). It is the number of CPs allocated to the current LPAR.

Reviewers: aganea, hubert.reinterpertcast, MaskRay

Reviewed By: hubert.reinterpertcast

Differential Revision: https://reviews.llvm.org/D85531
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/unittests/Support/Host.cpp
Commit b97e402ca5ba3d1a4795ed61f8cb36783b00ed44 by spatel
[VectorCombine] add test for Hexagon that would crash; NFC

This test verifies the code change from:
rGb0b95dab1ce2
(although that would not be true if PR47128 is fixed)
The file was addedllvm/test/Transforms/VectorCombine/Hexagon/lit.local.cfg
The file was addedllvm/test/Transforms/VectorCombine/Hexagon/load.ll
Commit 912c09e845cb1907bc44664495fc69925a1bd2a9 by spatel
[InstCombine] eliminate a pointer cast around insertelement

I'm not sure if this solves PR46839 completely, but reducing the casting should help:
https://bugs.llvm.org/show_bug.cgi?id=46839

Differential Revision: https://reviews.llvm.org/D85647
The file was modifiedllvm/test/Transforms/InstCombine/cast_ptr.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit e859868eb3808eae7ca0f27682931c38aa875090 by david.green
[ARM] Add additional predicated VFMA tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fmas.ll
Commit 89a7f64afc7968ef3337472d02f7e08681f1766e by spatel
[VectorCombine] add test for x86 target with SSE disabled; NFC
The file was addedllvm/test/Transforms/VectorCombine/X86/no-sse.ll
Commit cc892fd9f4cb7ad8c6b37bc260fd12c2edf3745d by spatel
[VectorCombine] early exit if target has no vector registers

Based on post-commit discussion in:
D81766

Other vectorization passes (SLP and Loop) use this TTI API similarly.
The file was modifiedllvm/test/Transforms/VectorCombine/X86/no-sse.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit aa4bc1cb7978b87bdbdb75910da0abbd27889800 by erich.keane
Limit Max Vector alignment on COFF targets to 8192.

COFF targets have a max object alignment of 8192, so trying to create
one with a larger size results in an unreachable in WinCOFFObjectWriter.

For the reproducer I have uses thread local storage, however other
alignments are likely affected as well.

This patch sets the MaxVectorAlign for COFF to 8192.  Additionally,
though there is no longer a way to reproduce that I could find, it
correctly sets the MaxTLSAlign for COFF to that value as well, so that
if anyone comes up with a situation where this is true, it will cause an
error.

Differential Revision: https://reviews.llvm.org/D85543
The file was modifiedclang/test/CodeGen/alignment.c
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/Basic/Targets/X86.h
Commit ec9563c54ed25e9f9cbe60985399212d50bd801d by a.bataev
[OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks.

Summary:
In untied tasks, need to allocate the space for local variales, declared
in task region, when the memory for task data is allocated. THe function
can be interrupted and we can exit from the function in untied task
switch. Need to keep the state of the local variables in this case.
Also, the compiler should not call cleanup when exiting in untied task
switch until the real exit out of the declaration scope is met during
execution.

Reviewers: jdoerfert

Subscribers: yaxunl, guansong, cfe-commits, sstefan1, caomhin

Tags: #clang

Differential Revision: https://reviews.llvm.org/D84457
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
Commit 386d5af04b65aca7c81eed1468e53462a6b54550 by Xing
[MachOYAML] Simplify the section data emitting function. NFC.

This patch helps simplify some codes in writeSectionData() function.

Reviewed By: jhenderson, grimar

Differential Revision: https://reviews.llvm.org/D85821
The file was modifiedllvm/lib/ObjectYAML/MachOEmitter.cpp
Commit e891b6a75d919b5bcb95577d1e5eb0ebad0ea427 by Xing
[DWARFYAML] Make the address size of compilation units optional.

This patch makes the 'AddrSize' field optional. If the address size is
missing, yaml2obj will infer it from the object file.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D85805
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
Commit 3651658bdd11a085b727783f27495a198c4f3bc5 by a.bataev
Revert "[OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks."

This reverts commit ec9563c54ed25e9f9cbe60985399212d50bd801d to
investigate compiler crash revelaed by the buildbots.
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
Commit 701228c4117636e6dd46564afcb8e5fbd98c13fb by Matthew.Arsenault
AMDGPU: Handle intrinsics in performMemSDNodeCombine

This avoids a possible regression in a future patch
The file was addedllvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/shl_add_ptr_global.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit e14474a39a14b3c86c6c5d5ed9bf11467a0bbe9b by Matthew.Arsenault
AMDGPU/GlobalISel: Select llvm.amdgcn.global.atomic.fadd

Remove the intermediate transform in the DAG path. I believe this is
the last non-deprecated intrinsic that needs handling.
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit ddbd21d288f6ff7d175f18ddee0ee6407626445a by a.bataev
[OPENMP]Do not add TGT_OMP_TARGET_PARAM flag to non-captured mapped arguments.

If the arguments are mapped, but are actually not used in the target
region, the compiler still adds attribute TGT_OMP_TARGET_PARAM for such
arguments. It makes the libomptarget to add such parameters to the list
of arguments, passed to the kernel at the runtime, and may lead to
incorrect results/crashes during execution.

Differential Revision: https://reviews.llvm.org/D85755
The file was modifiedclang/test/OpenMP/target_map_codegen_18.inc
The file was modifiedclang/test/OpenMP/target_map_codegen_32.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen_31.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_codegen.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen_20.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp

Summary

  1. Add Flang and MLIR PowerPC buildbot on Red Hat (details)
  2. Specify a number of jobs as a property for flang-aarch64-ubuntu-clang and flang-aarch64-ubuntu-gcc10 builders. (details)
Commit 714b345535c0c85b5b9d5ce7c3c09ee72c10ede1 by gkistanova
Add Flang and MLIR PowerPC buildbot on Red Hat

Differential Revision: https://reviews.llvm.org/D84956
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/slaves.py
Commit 9ad0d8f0382950cb4aed5104fb96a6f14af681ff by gkistanova
Specify a number of jobs as a property for flang-aarch64-ubuntu-clang and flang-aarch64-ubuntu-gcc10 builders.
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/slaves.py