SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [SCEV] Use isKnownPredicateAt in isLoopBackedgeGuardedByCond (details)
  2. [llvm-readobj] - Fix a warning. (details)
  3. [Support] Use llvm::is_contained (NFC) (details)
  4. [libc++] [libc++abi] Mark a few tests as unsupported/xfail on gcc-7/8/9. (details)
  5. [OpenMP][OMPT] Fix building with OMPT disabled after 6d3b81664a4b79 (details)
  6. [libc++] [www] Fix HTML. NFC. (details)
  7. Fix use-of-uninitialized-value in rG75f50e15bf8f (details)
  8. [clangd] Do not treat line as inactive if skipped range ends at character position 0 (details)
  9. [lldb] Fix TestThreadStepOut.py after "Flush local value map on every instruction" (details)
  10. [libc++] [docs] Migrate C++ status pages to RestructuredText (RST). (details)
  11. [AMDGPU] Introduce and use isGFX10Plus. NFC. (details)
  12. [libc++] [P0966] [C++20] Fix bug PR45368 by correctly implementing P0966: string::reserve should not shrink. (details)
  13. [libc++] Fix gcc warning -Wsign-compare. (details)
  14. [NFC][libc++] Mark LWG3296 as complete. (details)
  15. Revert "[SCEV] Use isKnownPredicateAt in isLoopBackedgeGuardedByCond" (details)
  16. [llvm-profgen] [docs] Fix invalid header. Add to ToC. NFC. (details)
  17. [RISCV] Add test cases for missed opportunities to use sbsetw/sbclrw/sbinvw when the result isn't known to be sign extended. (details)
  18. [RISCV] Add isel patterns for sbsetw/sbclrw/sbinvw with sext_inreg as the root. (details)
  19. [SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond (details)
  20. [llvm-readelf/obj] - Report a warning when the value of the DT_PLTREL dynamic tag is invalid. (details)
  21. Revert "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond" (details)
  22. Return "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond", 2nd try (details)
  23. [X86] Fix -DAG checks on gnux32 pic tests (details)
  24. Revert "Return "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond", 2nd try" (details)
  25. [SVE][CodeGen] Extend isConstantSplatValue to support ISD::SPLAT_VECTOR (details)
  26. [libc++] Mark a few more tests as unsupported on gcc-8/9. (details)
  27. [clang][Driver] Handle risvc in Baremetal.cpp. (details)
  28. [CostModel] Add basic implementation of getGatherScatterOpCost. (details)
  29. [X86] Extend neg-abs test coverage (details)
  30. [clangd][query-driver] Extract target (details)
  31. [mlir][bufferize] Add argument materialization for bufferization (details)
  32. [VE] Add comprehensive stackframe tests (details)
  33. [AArch64][CostModel] Precommit some vector mul tests. NFC. (details)
  34. [IndVarSimplify] Fix Modified status when handling dead PHI nodes (details)
  35. [mlir][linalg] Mark linalg.yield as ReturnLike (details)
  36. [VPlan] Turn VPReplicateRecipe into a VPValue. (details)
  37. [ASTImporter] Import the default argument of TemplateTemplateParmDecl (details)
  38. [LiveDebugVariables] Strip all debug instructions from nodebug functions (details)
  39. [clang][cli] Port Target option flags to new option parsing system (details)
  40. Remove stray debug-only from test (details)
  41. [DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y,x)) iff usubsat is legal (details)
  42. Revert rG12d59b696b330 "[DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y,x)) iff usubsat is legal" (details)
  43. [ARM] Cleanup for the MVETailPrediction pass (details)
  44. [AArch64] Regenerate min/max tests and add vXi64 umin/umax test coverage (details)
  45. [libc++] Fix two fr_FR locale tests on FreeBSD (details)
  46. [mlir][DialectConversion] Do not prematurely drop unused cast operations (details)
  47. [libc++] Attempt to fix spurious modules-related failures in the CI (details)
  48. [libc++] Remove sysctl-based implementation of thread::hardware_concurrency() (details)
  49. [ASTImporter] Import the default argument of TemplateTypeParmDecl (details)
  50. [AIX] Add support for non var_arg extended vector ABI calling convention on AIX (details)
  51. [MC] Set the unique id of .stack_sizes to the associated .text section's (details)
  52. [AA] Split up LocationSize::unknown() (details)
Commit 14f2ad0e3cc54d5eb254b545a469e8ffdb62b119 by mkazantsev
[SCEV] Use isKnownPredicateAt in isLoopBackedgeGuardedByCond

A piece of code in `isLoopBackedgeGuardedByCond` basically duplicates
the dominators traversal from `isBlockEntryGuardedByCond` called from
`isKnownPredicateAt`, but it's less powerful because it does not give context
to `isImpliedCond`. This patch reuses the `isKnownPredicateAt `function there,
reducing the amount of code duplication and making it more powerful.

Differential Revision: https://reviews.llvm.org/D92152
Reviewed By: skatkov
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit c3673ea65df576535c85397dfe36624bd09fe47b by grimar
[llvm-readobj] - Fix a warning.

This addresses post review comment for D92018.

The warning was:

```
error: loop variable 'Note' is always a copy because the range of type 'iterator_range<llvm::object::ELFFile<llvm::object::ELFType<llvm::support::big, true> >::Elf_Note_Iterator>' (aka 'iterator_range<Elf_Note_Iterator_Impl<ELFType<(llvm::support::endianness)0U, true> > >') does not return a reference [-Werror,-Wrange-loop-analysis]
      for (const typename ELFT::Note &Note : Obj.notes(S, Err))
```
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 728634d0cfaacc9a5aff3e974066cd125a21a088 by kazu
[Support] Use llvm::is_contained (NFC)
The file was modifiedllvm/include/llvm/Support/GenericDomTreeConstruction.h
Commit dde0fcd7a7da4066c18ab5e73e0477e856da158f by marek.kurdej
[libc++] [libc++abi] Mark a few tests as unsupported/xfail on gcc-7/8/9.

This should make the builder http://lab.llvm.org:8011/#/builders/101/ happy.
It uses gcc-9 and not Tip-Of-Trunk as its name indicates BTW.
GCC-10 passes all these tests.

Fix gcc warnings: -Wsign-compare, -Wparentheses, -Wpragmas.

Reviewed By: ldionne, #libc, #libc_abi

Differential Revision: https://reviews.llvm.org/D92099
The file was modifiedlibcxx/test/std/experimental/simd/simd.access/default.pass.cpp
The file was modifiedlibcxxabi/test/unwind_06.pass.cpp
The file was modifiedlibcxxabi/test/dynamic_cast.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/string.cons/string_view_size_size_deduction.fail.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp
The file was modifiedlibcxx/test/support/filesystem_test_helper.h
The file was modifiedlibcxxabi/test/dynamic_cast3.pass.cpp
The file was modifiedlibcxxabi/test/dynamic_cast5.pass.cpp
Commit 6b429668ded1aa7de4d586fc6dc8a469799b4d9c by martin
[OpenMP][OMPT] Fix building with OMPT disabled after 6d3b81664a4b79
The file was modifiedopenmp/runtime/src/ompt-specific.h
Commit 69d25676246d05a10ab0bbee72835e82a962e404 by marek.kurdej
[libc++] [www] Fix HTML. NFC.

Needed for a future automatic update to RST.
The file was modifiedlibcxx/www/cxx2a_status.html
The file was modifiedlibcxx/www/cxx1z_status.html
Commit 345fcccb33795600b9c159908c606c5027a4ce19 by liuz
Fix use-of-uninitialized-value in rG75f50e15bf8f

Differential Revision: https://reviews.llvm.org/D71126
The file was modifiedllvm/lib/IR/LLVMContextImpl.cpp
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/lib/Transforms/Utils/FunctionComparator.cpp
Commit d1fd91ddaf9de95428a25d001606c23703e14b31 by zeratul976
[clangd] Do not treat line as inactive if skipped range ends at character position 0

Fixes https://github.com/clangd/clangd/issues/602

Differential Revision: https://reviews.llvm.org/D92148
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
Commit 53a14a47ee89dadb8798ca8ed19848f33f4551d5 by Raphael Isemann
[lldb] Fix TestThreadStepOut.py after "Flush local value map on every instruction"

After cf1c774d6ace59c5adc9ab71b31e762c1be695b1, Clang seems to generate code
that is more similar to icc/Clang, so we can use the same line numbers for
all compilers in this test.
The file was modifiedlldb/test/API/functionalities/thread/step_out/TestThreadStepOut.py
The file was modifiedlldb/test/API/functionalities/thread/step_out/main.cpp
Commit a5f98b541948ad22f16ef499b6e10f65bc2466e5 by marek.kurdej
[libc++] [docs] Migrate C++ status pages to RestructuredText (RST).

Currently, papers and issues are in separate .csv files (that is easier to update), but I can put them inline.Transforming current html tables into rst are done by the script (attached to the patch FYI but I'll remove it before committing).
I'll of course update RST files before committing to match any modifications that may happen in master branch.

This patch moves the status pages in www/ to RST format in docs/.

It also does some other minor changes: fix copyright year and broken comment end, adds substitutions for coherence (and add colors, but that can be removed easily).
It adds as well redirects from old to new status pages.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D92076
The file was addedlibcxx/docs/Cxx1zStatusIssuesStatus.csv
The file was modifiedlibcxx/docs/index.rst
The file was addedlibcxx/docs/Styles.rst
The file was modifiedlibcxx/www/cxx1z_status.html
The file was addedlibcxx/docs/Cxx2aStatus.rst
The file was modifiedlibcxx/www/cxx1y_status.html
The file was modifiedlibcxx/docs/conf.py
The file was addedlibcxx/docs/Cxx1yStatus.rst
The file was addedlibcxx/docs/Cxx2aStatusPaperStatus.csv
The file was addedlibcxx/docs/Cxx1zStatusPaperStatus.csv
The file was addedlibcxx/docs/Cxx1yStatusIssuesStatus.csv
The file was addedlibcxx/docs/Cxx1yStatusPaperStatus.csv
The file was modifiedlibcxx/www/cxx2a_status.html
The file was addedlibcxx/docs/Cxx1zStatus.rst
The file was addedlibcxx/docs/Cxx2aStatusIssuesStatus.csv
Commit 4f87d30a06dd08cec45cb595e9dbed6345c9a7c5 by jay.foad
[AMDGPU] Introduce and use isGFX10Plus. NFC.

It's more future-proof to use isGFX10Plus from the start, on the
assumption that future architectures will be based on current
architectures.

Also make use of the existing isGFX9Plus in a few places.

Differential Revision: https://reviews.llvm.org/D92092
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Commit 841132efda2157c5f9e07cf31469470a6481ffd9 by marek.kurdej
[libc++] [P0966] [C++20] Fix bug PR45368 by correctly implementing P0966: string::reserve should not shrink.

This patch fixes the implementation as well as the tests that didn't actually test the wanted behaviour.
You'll find all the details in the bug report.
It adds as well deprecation warning for reserve() (without argument) and adds a test.

http://wg21.link/P0966R1
https://bugs.llvm.org/show_bug.cgi?id=45368
https://reviews.llvm.org/D54992

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D91778
The file was addedlibcxx/test/libcxx/strings/basic.string/string.capacity/reserve.pass.cpp
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/string
The file was modifiedlibcxx/docs/Cxx2aStatus.rst
The file was modifiedlibcxx/docs/Cxx2aStatusPaperStatus.csv
The file was addedlibcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
The file was addedlibcxx/test/std/strings/basic.string/string.capacity/reserve.deprecated_in_cxx20.verify.cpp
Commit 8db009d273676ef4c20254b75f8f8b54dca44d38 by marek.kurdej
[libc++] Fix gcc warning -Wsign-compare.
The file was modifiedlibcxx/test/support/filesystem_test_helper.h
Commit 83d26603e0402befe32186d2a2706bdf79d0a1cf by koraq
[NFC][libc++] Mark LWG3296 as complete.

I recalled Marshall had already made this change. The change is
committed in e3f89a989a23b9bfcb9f9d01172cebb63db627e1.
The file was modifiedlibcxx/docs/Cxx2aStatusIssuesStatus.csv
Commit 3b6481eae2597f656b9f5bb6a5eb5438eb8cb294 by mkazantsev
Revert "[SCEV] Use isKnownPredicateAt in isLoopBackedgeGuardedByCond"

This reverts commit 14f2ad0e3cc54d5eb254b545a469e8ffdb62b119.

Reverting to investigate compile time drop.

Differential Revision: https://reviews.llvm.org/D92152
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll
Commit d8ffb1f6a7572b64d5fa6b821c5c143e0e90bb6d by marek.kurdej
[llvm-profgen] [docs] Fix invalid header. Add to ToC. NFC.
The file was modifiedllvm/docs/CommandGuide/llvm-profgen.rst
The file was modifiedllvm/docs/CommandGuide/index.rst
Commit 8fb8fb2c607794fe4cde69713f2fa556f613dab1 by craig.topper
[RISCV] Add test cases for missed opportunities to use sbsetw/sbclrw/sbinvw when the result isn't known to be sign extended.

If the input isn't sign extended, but the output of the or/xor/and
is used by a sign_inreg we can still use sbsetw/sbclrw/sbinvw.
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbs.ll
Commit d9500c2e230e9cc68d3d647864fa824cc3c06b3f by craig.topper
[RISCV] Add isel patterns for sbsetw/sbclrw/sbinvw with sext_inreg as the root.

This handles cases were the input isn't known to be sign extended.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbs.ll
Commit 3d4c0460ec6040fc071e56dc113afd181294591e by mkazantsev
[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond

Previously we tried to using isKnownPredicateAt, but it makes an
extra query to isKnownPredicate, which has negative impact on compile
time. Let's try to use more lightweight isBasicBlockEntryGuardedByCond.

Differential Revision: https://reviews.llvm.org/D92152
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll
Commit 54ec9bb5510de301d05e8b34bb8c2484e8c95eaa by grimar
[llvm-readelf/obj] - Report a warning when the value of the DT_PLTREL dynamic tag is invalid.

We report an error for unknown `DT_PLTREL` values.
This switches the error to warning.

Differential revision: https://reviews.llvm.org/D92087
The file was modifiedllvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dynamic-reloc.test
Commit 91d6b6b5fb94656dc12e1d760a3213a3cd72c8c5 by mkazantsev
Revert "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond"

This reverts commit 3d4c0460ec6040fc071e56dc113afd181294591e.

Compile time impact is still high. Need to understand why.

Differential Revision: https://reviews.llvm.org/D92153
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll
Commit f690986f314fbf3f4b3ca9ec0b87b95166008dc1 by mkazantsev
Return "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond", 2nd try

Reverted because the compile time impact is still too high.

isKnownViaNonRecursiveReasoning is used twice, we can do it just once.

Differential Revision: https://reviews.llvm.org/D92152
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll
Commit 40783839e63a602157665d7ae3d4c9eea8fe8c9f by llvm-dev
[X86] Fix -DAG checks on gnux32 pic tests

Differential Revision: https://reviews.llvm.org/D91339
The file was modifiedllvm/test/CodeGen/X86/pic.ll
Commit 035955f9254179b2034fac8b16777973453e00d6 by mkazantsev
Revert "Return "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond", 2nd try"

This reverts commit f690986f314fbf3f4b3ca9ec0b87b95166008dc1.

Compile time then and again...
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll
Commit 4bee3197f665a8c2336a6cdd4bf5c4575b9e5fe7 by kerry.mclaughlin
[SVE][CodeGen] Extend isConstantSplatValue to support ISD::SPLAT_VECTOR

Updated the affected scalable_of_scalable tests in sve-gep.ll, as isConstantSplatValue now returns true in DAGCombiner::visitMUL and folds `(mul x, 1) -> x`

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D91363
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-gep.ll
Commit 5641b1dfddff847f7f3edc484537f9314c283225 by marek.kurdej
[libc++] Mark a few more tests as unsupported on gcc-8/9.

This will fix remaining failures on gcc-9 buildbot: http://lab.llvm.org:8011/#/builders/101.
gcc-8 and gcc-9 do not support constexpr destructors nor constexpr allocation.

Fix gcc warnings: -Wconversion, -Wpragmas.
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/deallocate.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_at.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_n.pass.cpp
The file was modifiedlibcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp
The file was modifiedlibcxxabi/src/demangle/Utility.h
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy.pass.cpp
Commit 45ba2392d7e00aedd4d9fb04070dbae8a7fbbeeb by abidh
[clang][Driver] Handle risvc in Baremetal.cpp.

I am working on a baremetal riscv toolchain using LLVM runtime and
LLD linker. Baremetal.cpp provides most of the things needed for such
toolchain. So I have modified it to also handle riscv64/32-unknown-elf
targets alongside arm-none-eabi.

Currently, targets like riscv64-unknown-elf are handled by RISCVToolChain
which mostly expects a gcc toolchain to be present. If you dont
want the dependency on gcc-toolchain/libgloss or want to use LLD, then
RISCVToolChain is not a good fit.

So in the toolchain selection code, I have made this dependency of
RISCVToolChain on gcc toolchain explicit. It is created if gcc-toolchain
option is present. Otherwise Baremetal toolchain is created. I will be
happy to hear if there is a better way to choose between these two
toolchains.

Reviewed By: jroelofs

Differential Revision: https://reviews.llvm.org/D91442
The file was modifiedclang/test/Driver/riscv32-toolchain-extra.c
The file was modifiedclang/test/Driver/riscv32-toolchain.c
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.h
The file was modifiedclang/lib/Driver/ToolChains/BareMetal.cpp
The file was modifiedclang/test/Driver/baremetal.cpp
The file was modifiedclang/test/Driver/riscv-gnutools.c
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was modifiedclang/test/Driver/riscv64-toolchain-extra.c
The file was modifiedclang/test/Driver/riscv64-toolchain.c
Commit 926681b6be701176f4f806e28932e8013fe4dec1 by flo
[CostModel] Add basic implementation of getGatherScatterOpCost.

Add a basic implementation of getGatherScatterOpCost to BasicTTIImpl.

The implementation estimates the cost of scalarizing the loads/stores,
the cost of packing/extracting the individual lanes and the cost of
only selecting enabled lanes.

This more accurately reflects the current cost on targets like AArch64.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D91984
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit 2da8fa4ebf1077b35c1bc618616ec902e737c11b by llvm-dev
[X86] Extend neg-abs test coverage

Add 32-bit tests and test i8/i16/i32/i64/i128 like we do for abs.ll
The file was modifiedllvm/test/CodeGen/X86/neg-abs.ll
Commit 1ca174b6420a49bcd3331d6f86e237b627163597 by platonov.aleksandr
[clangd][query-driver] Extract target

In some cases system includes extractions is not enough, we also need target specific defines.
The problems appears when clang default target is not the same as toolchain's one (GCC cross-compiler, MinGW on Windows).
After this patch `query-driver` also extracts target and adds `--target=<extracted target>` compile option.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D92012
The file was modifiedclang-tools-extra/clangd/QueryDriverDatabase.cpp
The file was modifiedclang-tools-extra/clangd/test/system-include-extractor.test
Commit 4dd5f79f07022dbbff547f4aff13b27134331215 by herhut
[mlir][bufferize] Add argument materialization for bufferization

This enables partial bufferization that includes function signatures. To test this, this
change also makes the func-bufferize partial and adds a dedicated finalizing-bufferize pass.

Differential Revision: https://reviews.llvm.org/D92032
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/FuncBufferize.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.h
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/FuncConversions.h
The file was modifiedmlir/test/Dialect/Standard/func-bufferize.mlir
The file was modifiedmlir/lib/Transforms/Bufferize.cpp
The file was addedmlir/test/Dialect/Standard/func-bufferize-partial.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/FuncConversions.cpp
Commit c2b49b2fb4bfe62d64902839b39a56851cfabac7 by marukawa
[VE] Add comprehensive stackframe tests

Add comprehensive stackframe regression tests as a preparation of
VEFrameLowering.cpp optimizations.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D92170
The file was addedllvm/test/CodeGen/VE/Scalar/stackframe_align.ll
The file was modifiedllvm/test/CodeGen/VE/Scalar/stackframe_nocall.ll
The file was addedllvm/test/CodeGen/VE/Scalar/stackframe_size.ll
The file was modifiedllvm/test/CodeGen/VE/Scalar/stackframe_call.ll
Commit a3b1fcbc0cf5b70015d0f8aa983263d1ca84a8c8 by sjoerd.meijer
[AArch64][CostModel] Precommit some vector mul tests. NFC.

The cost-model is not getting the cost right for a mul with <2 x i64>
operands, i.e. we don't have a MUL.2d, and this is precommitting some
tests before adjusting this.
The file was addedllvm/test/Analysis/CostModel/AArch64/mul.ll
Commit 384996f9e18ff3b7fa35b2083bf352c64b05c7bc by david.stenberg
[IndVarSimplify] Fix Modified status when handling dead PHI nodes

When bailing out in rewriteLoopExitValues() you could be left with PHI
nodes in the DeadInsts vector. Those would be not handled by the use of
RecursivelyDeleteTriviallyDeadInstructions() in IndVarSimplify. This
resulted in the IndVarSimplify pass returning an incorrect modified
status. This was caught by the expensive check introduced in D86589.

This patches changes IndVarSimplify so that it deletes those PHI nodes,
using RecursivelyDeleteDeadPHINode().

This fixes PR47486.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D91153
The file was addedllvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit 87568c07f052b6872a4444f3af4f2b7d5dcbbf72 by herhut
[mlir][linalg] Mark linalg.yield as ReturnLike

This change is required so that bufferization can properly identify
the linalg.yield as a terminator with an associated parent op.

Differential Revision: https://reviews.llvm.org/D92173
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/test-tensor-matmul.mlir
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/test-tensor-e2e.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
Commit bd0b1311dbd59b4b7c4188ef0ed930848dc657d1 by flo
[VPlan] Turn VPReplicateRecipe into a VPValue.

Update VPReplicateRecipe to inherit from VPValue. This still does not
update scalarizeInstruction to set the result for the VPValue of
VPReplicateRecipe, because this first requires tracking scalar values in
VPTransformState.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D91500
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
Commit 39a5dd164ca8648e24525869c934c9137c4887ef by Raphael Isemann
[ASTImporter] Import the default argument of TemplateTemplateParmDecl

Same idea as in D92103 and D92106, but I realised after creating those reviews that there are
also TemplateTemplateParmDecls that can have default arguments, so here's hopefully the
last patch for default template arguments.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D92119
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
Commit 6464c4a170173a2b476ff4be6e160836032b68fe by robert.lougher
[LiveDebugVariables] Strip all debug instructions from nodebug functions

A crash/assertion failure in the greedy register allocator was tracked
down to a debug instr being passed to LiveIntervals::getInstructionIndex.
Normally this should not occur as debug instructions are collected and
removed by LiveDebugVariables before RA, and reinserted afterwards.
However, when a function has no debug info, LiveDebugVariables simply
strips any debug values that are present as they're not needed (this
situation will occur when a function with debug info is inlined into a
nodebug function). The problem is, it only removes DBG_VALUE instructions,
leaving DBG_LABELs (the cause of the crash).

This patch updates the LiveDebugVariables nodebug path to remove all debug
instructions. The test case verifies that DBG_VALUE/DBG_LABEL instructions
are present, and that they are stripped.

When -experimental-debug-variable-locations is enabled, certain variable
locations are represented by DBG_INSTR_REF instead of DBG_VALUE. The test
case verifies that a DBG_INSTR_REF is emitted by the option, and that it
is also stripped.

Differential Revision: https://reviews.llvm.org/D92127
The file was addedllvm/test/DebugInfo/X86/live-debug-vars-nodebug.ll
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp
Commit a3258566868b3a16b131e8963932ac21888cb90b by jan_svoboda
[clang][cli] Port Target option flags to new option parsing system

Depends on D83697

Original patch by Daniel Grumberg.

Differential Revision: https://reviews.llvm.org/D83698
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit 9549abcbb8245aad271eb496a751cb65b2f7dc0f by benny.kra
Remove stray debug-only from test
The file was modifiedmlir/test/Dialect/Standard/func-bufferize-partial.mlir
Commit 12d59b696b33065e070d6ee7a55d2e8c019d138b by llvm-dev
[DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y,x)) iff usubsat is legal

If usubsat() is legal, this is likely to result in smaller codegen expansion than the default cmp+select codegen expansion.

Allows us to move the x86-specific lowering to the generic expansion code.
The file was modifiedllvm/test/CodeGen/X86/midpoint-int-vec-128.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 8057ebf4a03f51ed8a7f5c87bbb234ef07ba8f66 by llvm-dev
Revert rG12d59b696b330 "[DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y,x)) iff usubsat is legal"

This reverts commit 12d59b696b33065e070d6ee7a55d2e8c019d138b.

Prematurely pushed this to trunk
The file was modifiedllvm/test/CodeGen/X86/midpoint-int-vec-128.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 0e49a40d756b4487aebea436f8f84411c1a629e7 by david.green
[ARM] Cleanup for the MVETailPrediction pass

This strips out a lot of the code that should no longer be needed from
the MVETailPredictionPass, leaving the important part - find active lane
mask instructions and convert them to VCTP operations.

Differential Revision: https://reviews.llvm.org/D91866
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/active_lane_mask.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-round.ll
Commit 8562d2c040fce9fc9be24e85a2053146bae601ea by llvm-dev
[AArch64] Regenerate min/max tests and add vXi64 umin/umax test coverage
The file was modifiedllvm/test/CodeGen/AArch64/minmax.ll
Commit 0b20d0af3f0ac71a037479984813e0da95ea0ff9 by Alexander.Richardson
[libc++] Fix two fr_FR locale tests on FreeBSD

FreeBSD's locale data uses the same U+2027 separator as Glibc 2.27 and newer.

Reviewed By: #libc, emaste, ldionne

Differential Revision: https://reviews.llvm.org/D91165
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
Commit 20c926e0797e074bfb946d2c8ce002888ebc2bcd by herhut
[mlir][DialectConversion] Do not prematurely drop unused cast operations

The rewrite logic has an optimization to drop a cast operation after
rewriting block arguments if the cast operation has no users. This is
unsafe as there might be a pending rewrite that replaced the cast operation
itself and hence would trigger a second free.

Instead, do not remove the casts and leave it up to a later canonicalization
to do so.

Differential Revision: https://reviews.llvm.org/D92184
The file was modifiedmlir/test/Transforms/test-legalizer.mlir
The file was modifiedmlir/lib/Transforms/Utils/DialectConversion.cpp
Commit d7ca140c0122a55a4042fb263ea3baaa501c361d by Louis Dionne
[libc++] Attempt to fix spurious modules-related failures in the CI

I'm not 100% sure what the issue actually is since I can't reproduce it
locally, however what I explain in the comment is my best attempt to
explain what's going on.

Differential Revision: https://reviews.llvm.org/D92131
The file was modifiedlibcxx/utils/libcxx/test/features.py
Commit 3d7f19ff182b249521061cff7a908efbc68d9f54 by Louis Dionne
[libc++] Remove sysctl-based implementation of thread::hardware_concurrency()

Using sysctl requires including headers that are considered internal on
Linux, like <sys/sysctl.h> & friends. Instead, sysconf is defined by POSIX
(and we have a fallback for Windows), so all the systems we support should
be happy with just sysconf.

Differential Revision: https://reviews.llvm.org/D92135
The file was modifiedlibcxx/src/thread.cpp
Commit 3f6c856bb5ae4426a586426bca9f1ef2848a2b12 by Raphael Isemann
[ASTImporter] Import the default argument of TemplateTypeParmDecl

The test case isn't using the AST matchers for all checks as there doesn't seem to be support for
matching TemplateTypeParmDecl default arguments. Otherwise this is simply importing the
default arguments.

Also updates several LLDB tests that now as intended omit the default template
arguments of several std templates.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D92103
The file was modifiedlldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedlldb/test/API/commands/expression/import-std-module/vector/TestVectorFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent.py
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedlldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/stack/TestStackFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/unique_ptr/TestUniquePtrFromStdModule.py
The file was modifiedlldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
Commit 6d648e69c0949e8942cab88e7ec13f5037364338 by zarko
[AIX] Add support for non var_arg extended vector ABI calling convention on AIX

This patch enables passing non variadic vector type parameters on the caller and callee side and vector return on AIX that are passed in vector registers only.

So far, support is enabled for only the AIX extended Altivec ABI Calling convention.

Reviewed By: sfertile, DiggerLin

Differential Revision: https://reviews.llvm.org/D86476
The file was modifiedllvm/test/CodeGen/PowerPC/aix-vec-abi.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-vector-stack-caller.ll
The file was removedllvm/test/CodeGen/PowerPC/aix-vector-return.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-altivec.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-cc-ext-vec-abi.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-vector-stack.ll
Commit 668da8c361fef5ada092534d4d20ea450831f6f6 by i
[MC] Set the unique id of .stack_sizes to the associated .text section's

Similar to D92113. Currently `clang -fstack-size-section -fno-unique-section-names`
sets the linked-to symbol to the first `.text`, which is:

* incorrect for COMDAT sections
* inferior for non-COMDAT sections in -ffunction-sections mode (poor --gc-sections: .stack_sizes cannot be separately discarded)

Note, if the section symbol can be referenced in more places (if the
function begin symbol does not apply), we probably should consider
defining a different BeginSymbol for sections with ",unique" linkage.

Reviewed By: grimar, jhenderson

Differential Revision: https://reviews.llvm.org/D92151
The file was modifiedllvm/test/CodeGen/X86/stack-size-section-function-sections.ll
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
Commit 4df8efce80e373dd1e05bd4910c796a0c91383e7 by nikita.ppv
[AA] Split up LocationSize::unknown()

Currently, we have some confusion in the codebase regarding the
meaning of LocationSize::unknown(): Some parts (including most of
BasicAA) assume that LocationSize::unknown() only allows accesses
after the base pointer. Some parts (various callers of AA) assume
that LocationSize::unknown() allows accesses both before and after
the base pointer (but within the underlying object).

This patch splits up LocationSize::unknown() into
LocationSize::afterPointer() and LocationSize::beforeOrAfterPointer()
to make this completely unambiguous. I tried my best to determine
which one is appropriate for all the existing uses.

The test changes in cs-cs.ll in particular illustrate a previously
clearly incorrect AA result: We were effectively assuming that
argmemonly functions were only allowed to access their arguments
after the passed pointer, but not before it. I'm pretty sure that
this was not intentional, and it's certainly not specified by
LangRef that way.

Differential Revision: https://reviews.llvm.org/D91649
The file was modifiedllvm/include/llvm/Analysis/MemoryLocation.h
The file was modifiedllvm/lib/Analysis/MemorySSA.cpp
The file was modifiedllvm/test/Analysis/AliasSet/argmemonly.ll
The file was modifiedllvm/test/Analysis/AliasSet/memtransfer.ll
The file was modifiedllvm/lib/Transforms/IPO/FunctionAttrs.cpp
The file was modifiedllvm/unittests/Analysis/AliasAnalysisTest.cpp
The file was modifiedllvm/lib/Analysis/GlobalsModRef.cpp
The file was modifiedllvm/lib/Analysis/MemoryLocation.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/global_smrd_cfg.ll
The file was modifiedpolly/lib/Analysis/ScopDetection.cpp
The file was modifiedllvm/lib/Target/ARM/ARMParallelDSP.cpp
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/unittests/Analysis/MemorySSATest.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
The file was modifiedllvm/include/llvm/LinkAllPasses.h
The file was modifiedllvm/include/llvm/Analysis/AliasAnalysis.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/test/Analysis/BasicAA/cs-cs.ll
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/ImplicitNullChecks.cpp
The file was modifiedllvm/lib/Analysis/ObjCARCAliasAnalysis.cpp
The file was modifiedllvm/lib/Analysis/Lint.cpp
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/test/Analysis/AliasSet/memset.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
The file was modifiedllvm/lib/Analysis/AliasSetTracker.cpp
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
The file was modifiedllvm/lib/Analysis/AliasAnalysisEvaluator.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/lib/Analysis/DependenceAnalysis.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp