Changes

Summary

  1. [lldb] Fix target-symbols-add-unwind.test for clang 7647a841 (details)
  2. [clang-format] ensure clang-format command-line argument sets up the default left/right qualifier ordering (details)
  3. [clang-format][docs] Fix documentation of clang-format BasedOnStyle type (details)
  4. [GlobalISel][IRTranslator] Fix crash during bit-test switch optimization with odd types. (details)
  5. [Driver] Correctly handle static C++ standard library (details)
  6. [mlir][linalg] Fix result type in FoldSourceTensorCast (details)
  7. [AArch64] Rewrite ldst-unsignedimm.ll codegen test. (details)
  8. [SystemZ] Implement ISD::BITCAST for fp128 -> i128. (details)
  9. [libcxx][pretty printers] Check GDB Python scripting support (details)
  10. [clang-format] Fixed an unused variable warning (details)
  11. [llvm-objcopy][docs] Add missing options to the help output and the command guide (details)
  12. [Analysis] Fix issues when querying vscale attributes on functions (details)
  13. [libcxx][pretty printers] Import gdb module in gdb feature check (details)
  14. [clang-doc] Pass Record argument by const-ref. NFCI. (details)
  15. [X86][SLM] Fix ADDQ/SUBQ/CMPEQQ throughput to account for running on either port. (details)
  16. [RISCV] (1/2) Add the tail policy argument to builtins/intrinsics. (details)
  17. [RISCV] (2/2) Add the tail policy argument to builtins/intrinsics. (details)
  18. Revert "[libcxx][pretty printers] Import gdb module in gdb feature check" (details)
  19. [analyzer] Retrieve a value from list initialization of constant array declaration in a global scope. (details)
  20. Reapply "[Dexter] Improve performance by evaluating expressions only when needed" (details)
  21. [CodeMoverUtils] Enhance isSafeToMoveBefore() when moving BBs (details)
  22. [mlir] add pad_tensor(tensor.cast) -> pad_tensor canonicalizer (details)
  23. [MLIR] PresburgerSet: support divisions in operations (details)
  24. [NFC] Mark LI.getLoopsInPreorder and LI.getLoopsInReverseSiblingPreorder const. (details)
  25. [LiveIntervals] Fix repairOldRegInRange for simple def cases (details)
  26. [LiveIntervals] Repair live intervals that gain subranges (details)
  27. [lldb] [Host] Refactor Socket::DecodeHostAndPort() to use LLVM API (details)
  28. Revert "[lldb] [Host] Refactor Socket::DecodeHostAndPort() to use LLVM API" (details)
  29. [flang][fir] Add support to mangle/deconstruct namelist group name (details)
  30. [Analysis] Fix another issue when querying vscale attributes on functions (details)
  31. [lldb] [Host] Refactor Socket::DecodeHostAndPort() to use LLVM API (details)
  32. [SystemZ] NFC: Remove unused intrinsic template arg 'name' (details)
  33. [compiler-rt] Use portable "#!/usr/bin/env bash" shebang for tests. (details)
  34. Revert "[DSE] Track earliest escape, use for loads in isReadClobber." (details)
  35. tsan: add a test for flushing memory (details)
  36. Revert "[JumpThreading] Ignore free instructions" (details)
  37. tsan: add a stress test (details)
  38. Revert "[InstCombine] fold cast of right-shift if high bits are not demanded (2nd try)" (details)
  39. [TargetLibraryInfo][AMDGPU] Minor cleanup, NFC (details)
Commit cd6893a5a346d1b9c34ba621adad5f881e250695 by pavel
[lldb] Fix target-symbols-add-unwind.test for clang 7647a841

We need a different flag combination to produce .debug_frame.
The file was modifiedlldb/test/Shell/SymbolFile/target-symbols-add-unwind.test (diff)
Commit 87ab958641fa30ed1e5880aaf43b909c552af0dc by mydeveloperday
[clang-format] ensure clang-format command-line argument sets up the default left/right qualifier ordering

When specifying the alignment direction on the command line ensure
we set up the default ordering.

Fix spelling mistakes in the command-line argument

Reviewed By: HazardyKnusperkeks

Differential Revision: https://reviews.llvm.org/D110359
The file was modifiedclang/tools/clang-format/ClangFormat.cpp (diff)
Commit 9e8fff26f374766b76aad9531ee5e6860f67e46c by mydeveloperday
[clang-format][docs] Fix documentation of clang-format BasedOnStyle type

Fix little inconsistency and use `std::string` (which is used everywhere
else) instead of `string`

Reviewed By: MyDeveloperDay, HazardyKnusperkeks

Differential Revision: https://reviews.llvm.org/D108765
The file was modifiedclang/docs/tools/dump_format_style.py (diff)
The file was addedclang/docs/tools/plurals.txt
The file was modifiedclang/docs/ClangFormatStyleOptions.rst (diff)
Commit 9f773b17c2bc6916f12048a52ae271d1bf0edacf by Amara Emerson
[GlobalISel][IRTranslator] Fix crash during bit-test switch optimization with odd types.

Odd switch case types cause a crash in the conversion to MVT. Instead use a pointer sized
scalar type which is what SDAG does in these cases.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-bittest.ll (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp (diff)
Commit 03142c5f67788bcc1573f76732d0fccd75c6b965 by phosek
[Driver] Correctly handle static C++ standard library

When statically linking C++ standard library, we shouldn't add -Bdynamic
after including the library on the link line because that might override
user settings like -static and -static-pie. Rather, we should surround
the library with --push-state/--pop-state to make sure that -Bstatic
only applies to C++ standard library and nothing else. This has been
supported since GNU ld 2.25 (2014) so backwards compatibility should
no longer be a concern.

Differential Revision: https://reviews.llvm.org/D110128
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp (diff)
The file was modifiedclang/test/Driver/fuchsia.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp (diff)
The file was modifiedclang/test/Driver/linux-ld.c (diff)
Commit f3f25ffc04c0cbcc9a9bfc1b32b61750e8934ea8 by springerm
[mlir][linalg] Fix result type in FoldSourceTensorCast

* Do not discard static result type information that cannot be inferred from lower/upper padding.
* Add optional argument to `PadTensorOp::inferResultType` for specifying known result dimensions.

Differential Revision: https://reviews.llvm.org/D110380
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir (diff)
Commit 2b23db78a33c2a6852ca098ebfe9b5636ef7d980 by david.green
[AArch64] Rewrite ldst-unsignedimm.ll codegen test.

Instead of relying on many volatile loads/stores in a single function,
rewrite the test to use separate functions as any other test would.
The file was modifiedllvm/test/CodeGen/AArch64/ldst-unsignedimm.ll (diff)
Commit ea92283449f9b132531ef152625e3e799395e449 by paulsson
[SystemZ] Implement ISD::BITCAST for fp128 -> i128.

The type legalizer has by default no method of doing this bitcast other than
storing and reloading the value from stack.

This patch implements a custom lowering of this operation using extractions
of subregs (z13 and earlier using FP128 register pairs), or of vector
elements (with 'vector enhancements 1' using VR128 FP registers).

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D110346
The file was addedllvm/test/CodeGen/SystemZ/fp-conv-19.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp (diff)
Commit 0a36c72dee61a0a97805a3cd297572ad0c38d979 by david.spickett
[libcxx][pretty printers] Check GDB Python scripting support

I found this after upgrading from Ubuntu bionic (gdb 8.1.1) to
Focal (gdb 9.2). (where this test fails, but that's for a
different patch)

9.2 allows you to set breakpoint commands from
Python, which was added in 8.3.
(bintutils a913fffbdee21fdd50e8de0596358be425775678
"Allow breakpoint commands to be set from Python")

The reason this test never failed before was because it did so
silently. "source <python file>" doesn't fail even if that script
raises an Exception.

To fix this extend the gdb lit feature to check that:
* gdb exists
* has Python support
* allows you to set breakpoint commands

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D110334
The file was modifiedlibcxx/utils/libcxx/test/features.py (diff)
The file was modifiedlibcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp (diff)
Commit efb284c07e97776e01933f470afb5215a561db3e by gribozavr
[clang-format] Fixed an unused variable warning
The file was modifiedclang/lib/Format/QualifierAlignmentFixer.cpp (diff)
Commit 3bad9616aa52aa467e4f1fb5c00abac6acba8471 by gbreynoo
[llvm-objcopy][docs] Add missing options to the help output and the command guide

This change is to keep the help text and command guide of objcopy in
tandem.

- In the help output the options --rename-section and
  --set-section-flags were missing the flag exclude, which is found in
  the command guide.
- In the command guide the alias -G for --keep-global-symbol was
    missing, which is found in the help output.

Differential Revision: https://reviews.llvm.org/D110340
The file was modifiedllvm/tools/llvm-objcopy/ObjcopyOpts.td (diff)
The file was modifiedllvm/docs/CommandGuide/llvm-objcopy.rst (diff)
Commit c2634fc6abe73acf0d9c4421071948e43d96d7eb by david.sherwood
[Analysis] Fix issues when querying vscale attributes on functions

There are several places in the code that are currently broken as
they assume an Instruction always has a parent Function when
attempting to get the vscale_range attribute. This patch adds checks
that an Instruction has a parent.

I've added a test for a parentless @llvm.vscale intrinsic call here:

  unittests/Analysis/ValueTrackingTest.cpp

Differential Revision: https://reviews.llvm.org/D110158
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp (diff)
Commit 0c2a4548455c6c943ac5e2b5c51ed5c2c91e34e7 by david.spickett
[libcxx][pretty printers] Import gdb module in gdb feature check

Earlier versions of GDB do not do this automatically.
(from my checks 8.3 does not and 9.2 does)
The file was modifiedlibcxx/utils/libcxx/test/features.py (diff)
Commit 45617e1dd8a1b9791f3bd15aee2614383e25b298 by llvm-dev
[clang-doc] Pass Record argument by const-ref. NFCI.

Record is a SmallVector<uint64_t, 1024> - we really need to avoid passing this by value.

Avoid unnecessary big copies, reported by coverity.
The file was modifiedclang-tools-extra/clang-doc/BitcodeReader.cpp (diff)
Commit dade83c02a11401897bcdb8c255db69b5c366e95 by llvm-dev
[X86][SLM] Fix ADDQ/SUBQ/CMPEQQ throughput to account for running on either port.

Testing on a SLM box suggests these can run on either port, but the throughput is 4cy on either (inc MMX versions). Confirmed with Intel AoM / Agner / InstLatX64.
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s (diff)
The file was modifiedllvm/lib/Target/X86/X86ScheduleSLM.td (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s (diff)
Commit 7d39a8a92122e56b014e41606bf15623971d15ff by kai.wang
[RISCV] (1/2) Add the tail policy argument to builtins/intrinsics.

Add the tail policy argument to LLVM IR intrinsics. There are two policies for tail elements. Tail agnostic means users do not care about the values in the tail elements and tail undisturbed means the values in the tail elements need to be kept after the operation. In order to let users control the tail policy, we add an additional argument at the end of the argument list.

For unmasked operations, we have no maskedoff and the tail policy is always tail agnostic. If users want to keep tail elements under unmasked operations, they could use all one mask in the masked operations to do it. So, we only add the additional argument for masked operations for most cases. There are exceptions listed below.

In this patch, we do not handle the following cases to reduce the complexity of the patch. There could be two separate patches for them.

* Use dest argument to control tail policy
vmerge.vvm/vmerge.vxm/vmerge.vim (add _t builtins with additional dest argument)
vfmerge.vfm (add _t builtins with additional dest argument)
vmv.v.v (add _t builtins with additional dest argument)
vmv.v.x (add _t builtins with additional dest argument)
vmv.v.i (add _t builtins with additional dest argument)
vfmv.v.f (add _t builtins with additional dest argument)
vadc.vvm/vadc.vxm/vadc.vim (add _t builtins with additional dest argument)
vsbc.vvm/vsbc.vxm (add _t builtins with additional dest argument)

* Always has tail argument for masked/unmasked intrinsics
Vector Single-Width Integer Multiply-Add Instructions (add _t and _mt builtins)
Vector Widening Integer Multiply-Add Instructions (add _t and _mt builtins)
Vector Single-Width Floating-Point Fused Multiply-Add Instructions (add _t and _mt builtins)
Vector Widening Floating-Point Fused Multiply-Add Instructions (add _t and _mt builtins)
Vector Reduction Operations (add _t and _mt builtins)
Vector Slideup Instructions (add _t and _mt builtins)
Vector Slidedown Instructions (add _t and _mt builtins)

Discussion: https://github.com/riscv/rvv-intrinsic-doc/pull/101

Differential Revision: https://reviews.llvm.org/D105092
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsgnjx-rv64.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/RISCV/rvv/vadd-policy.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwmul-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vnsra-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vloxei-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vaadd-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmin-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vminu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub.w-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsaddu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-f-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrgather-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vle-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vssubu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vdiv-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-x-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfrec7-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-f-x-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-f-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu.w-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vdivu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vand-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-xu-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vand-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsgnj-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-x-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vle-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsaddu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vdiv-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfslide1down-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-f-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsmul-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/tail-agnostic-impdef-copy.mir (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlse-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlseg-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vloxseg-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsub-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-x-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsra-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfrec7-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-f-x-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsub-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlsegff-rv32-dead.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-xu-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlsegff-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vnclip-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vssra-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vasub-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vnsrl-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsmul-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vadd-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vremu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfslide1up-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd.w-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrsub-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrgatherei16-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-rtz-x-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-xu-f-rv32.ll (diff)
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vssubu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmax-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmulhsu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu.w-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vector-strided-load-store.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfslide1down-rv32.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vleff-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrgatherei16-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsrl-rv32.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrgather-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsrl-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-f-x-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfrsqrt7-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmax-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vnclipu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu.w-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmul-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrem-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfrdiv-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrem-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd.w-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f-rv32.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-f-xu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vslide1down-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfdiv-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlsegff-rv64-dead.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vadd-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmul-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vremu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vasubu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd.w-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-f-x-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-rtz-xu-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vaaddu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsub-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsra-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vasub-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwmulsu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-rod-f-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-x-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/common-shuffle-patterns.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vaadd-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmulhsu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vzext-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-rtz-xu-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vleff-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-f-xu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsll-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/interleave-crash.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vslide1down-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vnclipu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfdiv-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfadd-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vzext-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmulh-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vslide1up-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlsseg-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vssub-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmax-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmaxu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/zvlsseg-zero-vl.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vdivu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-f-xu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-xu-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmaxu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vloxei-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vluxseg-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub.w-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-f-x-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsext-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vasubu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfrdiv-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmul-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-rod-f-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vssrl-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-f-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsadd-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsgnjn-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmin-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfrsub-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfslide1up-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsub-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmul-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-x-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfrsqrt7-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vminu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmax-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd-rv32.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vslide1up-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfadd-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsadd-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwmulu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlsegff-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vor-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmulhu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-f-x-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsgnjx-rv32.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsqrt-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vluxei-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vor-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwmulsu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmin-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlse-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vloxseg-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vssra-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwmul-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlseg-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmin-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vssrl-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub.w-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vnsra-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwmul-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vxor-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vaaddu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsext-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vxor-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrsub-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-f-xu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vssub-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmulh-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu.w-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vluxei-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-f-xu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfrsub-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfncvt-x-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsgnj-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsgnjn-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vluxseg-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-x-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmulhu-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwmul-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-x-f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vnclip-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsqrt-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub.w-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwmulu-rv64.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd.w-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-rtz-x-f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vlsseg-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vnsrl-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfcvt-f-xu-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsll-rv32.ll (diff)
Commit 7afa61e71877a5b7892ffe4992f804cd84807240 by kai.wang
[RISCV] (2/2) Add the tail policy argument to builtins/intrinsics.

Add the tail policy argument to Clang builtins. There
are two policies for tail elements. Tail agnostic means users do not
care about the values in the tail elements and tail undisturbed means
the values in the tail elements need to be kept after the operation. In
order to let users control the tail policy, we add an additional
argument at the end of the argument list.

For unmasked operations, we have no maskedoff and the tail policy is
always tail agnostic. If users want to keep tail elements under unmasked
operations, they could use all one mask in the masked operations to do
it. So, we only add the additional argument for masked operations for
most cases. There are exceptions listed below.

In this patch, we do not handle the following cases to reduce the
complexity of the patch. There could be two separate patches for them.

Use dest argument to control tail policy
vmerge.vvm/vmerge.vxm/vmerge.vim (add _t builtins with additional dest
argument)
vfmerge.vfm (add _t builtins with additional dest argument)
vmv.v.v (add _t builtins with additional dest argument)
vmv.v.x (add _t builtins with additional dest argument)
vmv.v.i (add _t builtins with additional dest argument)
vfmv.v.f (add _t builtins with additional dest argument)
vadc.vvm/vadc.vxm/vadc.vim (add _t builtins with additional dest
argument)
vsbc.vvm/vsbc.vxm (add _t builtins with additional dest argument)

Always has tail argument for masked/unmasked intrinsics
Vector Single-Width Integer Multiply-Add Instructions (add _t and _mt
builtins)
Vector Widening Integer Multiply-Add Instructions (add _t and _mt
builtins)
Vector Single-Width Floating-Point Fused Multiply-Add Instructions (add
_t and _mt builtins)
Vector Widening Floating-Point Fused Multiply-Add Instructions (add _t
and _mt builtins)
Vector Reduction Operations (add _t and _mt builtins)
Vector Slideup Instructions (add _t and _mt builtins)
Vector Slidedown Instructions (add _t and _mt builtins)

Discussion: https://github.com/riscv/rvv-intrinsic-doc/pull/101

Differential Revision: https://reviews.llvm.org/D109322
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfncvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsoxei.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vreinterpret.c (diff)
The file was modifiedclang/include/clang/Basic/riscv_vector.td (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vor.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1down.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsrl.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnot.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsrl.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vloxei.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfcvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrgather.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1down.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmax.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsra.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsll.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssrl.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrem.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vasub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmin.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1down.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmax.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vneg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vncvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfneg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsuxseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlsegff.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssra.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrec7.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlsseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfne.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsext.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vdiv.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vor.c (diff)
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsra.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmax.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfncvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwcvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsqrt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vdiv.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsgnj.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vand.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssrl.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrdiv.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1up.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsse.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmax.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfabs.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsuxei.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmv.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsrl.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vxor.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsoxseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vle.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vcompress.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsqrt7.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vasub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1down.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfneg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vle.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfle.c (diff)
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vadd-policy.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsra.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxei.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vse.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1up.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxei.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsqrt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vzext.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsoxei.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1up.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vneg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssra.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnclip.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfabs.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnclip.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwcvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsgnj.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsra.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsuxei.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwcvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmin.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrem.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vaadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vse.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfdiv.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlsegff.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsqrt7.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vncvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vand.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfdiv.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vaadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsetvl.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1up.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmflt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsext.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsse.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vzext.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnot.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfeq.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vadd.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrgather.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmin.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vxor.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlse.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrec7.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlse.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsll.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrdiv.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vloxseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsetvlmax.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfcvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwcvt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxei.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfge.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vleff.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrsub.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsrl.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlsseg.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsmul.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmv.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfgt.c (diff)
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmin.c (diff)
Commit 5efafc3e65c52effeefa84385bc9d8b7eb0d3291 by david.spickett
Revert "[libcxx][pretty printers] Import gdb module in gdb feature check"

This reverts commit 0c2a4548455c6c943ac5e2b5c51ed5c2c91e34e7.

This was my mistake. When gdb can find its data directory it'll
import it automatically. If it can't (like when you're using a
version from a build folder) you need to give it the data
directory path.

We're safe to assume gdb is installed for testing purposes
so it'll import it for us.
The file was modifiedlibcxx/utils/libcxx/test/features.py (diff)
Commit 98a95d4844caf8edfabd9352393a5546049b54e8 by dpetrov
[analyzer] Retrieve a value from list initialization of constant array declaration in a global scope.

Summary: Fix the point that we didn't take into account array's dimension. Retrieve a value of global constant array by iterating through its initializer list.

Differential Revision: https://reviews.llvm.org/D104285

Fixes: https://bugs.llvm.org/show_bug.cgi?id=50604
The file was modifiedclang/test/Analysis/initialization.cpp (diff)
The file was modifiedclang/test/Analysis/initialization.c (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/RegionStore.cpp (diff)
Commit 7e46a721fc7ea46f72a4fcf81062a76d6539f61d by stephen.tozer
Reapply "[Dexter] Improve performance by evaluating expressions only when needed"

Fixes issue found on greendragon buildbot, in which an incorrectly
indented statement following an if block led to entire frames being
dropped instead of simply filtering unneeded watches.

This reverts commit 1f44fa3ac17ceacc753019092bc50436c77ddcfa.
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectWatchBase.py (diff)
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py (diff)
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectProgramState.py (diff)
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py (diff)
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/CommandBase.py (diff)
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py (diff)
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py (diff)
Commit 751be2a064f119af74c7b9b1e52bc904d8aa114d by congzhecao
[CodeMoverUtils] Enhance isSafeToMoveBefore() when moving BBs

When moving an entire basic block BB before InsertPoint, currently
we check for all instructions whether the operands dominates
InsertPoint, however, this can be improved such that even an
operand does not dominate InsertPoint, as long as it appears as
a previous instruction in the same BB, it is safe to move.

Reviewed By: Whitney

Differential Revision: https://reviews.llvm.org/D110378
The file was modifiedllvm/include/llvm/Transforms/Utils/CodeMoverUtils.h (diff)
The file was modifiedllvm/lib/Transforms/Utils/CodeMoverUtils.cpp (diff)
The file was modifiedllvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp (diff)
Commit 3f89e339bb185726a2a3eb127ac59c813b52c6fe by zinenko
[mlir] add pad_tensor(tensor.cast) -> pad_tensor canonicalizer

This canonicalization pattern complements the tensor.cast(pad_tensor) one in
propagating constant type information when possible. It contributes to the
feasibility of pad hoisting.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110343
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/tile-and-fuse-tensors.mlir (diff)
The file was modifiedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/tile-pad-tensor-op.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Tensor/IR/Tensor.h (diff)
The file was modifiedmlir/test/Dialect/Linalg/subtensor-of-padtensor.mlir (diff)
Commit 4a57f5d1e1c5eff98fd03932f9a0f8efa13c3a77 by arjunpitchanathan
[MLIR] PresburgerSet: support divisions in operations

Add support for intersecting, subtracting, complementing and checking equality of sets having divisions.

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D110138
The file was modifiedmlir/include/mlir/Analysis/PresburgerSet.h (diff)
The file was modifiedmlir/lib/Analysis/PresburgerSet.cpp (diff)
The file was modifiedmlir/unittests/Analysis/PresburgerSetTest.cpp (diff)
Commit 9c30beaeb228b63447793235570fc207831dd885 by joachim
[NFC] Mark LI.getLoopsInPreorder and LI.getLoopsInReverseSiblingPreorder const.

They create a new vector with the list, so they can be const.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D110394
The file was modifiedllvm/include/llvm/Analysis/LoopInfoImpl.h (diff)
The file was modifiedllvm/include/llvm/Analysis/LoopInfo.h (diff)
Commit 7863cc6c1c9e714de666f7df84fe9ef6ea7bb06c by jay.foad
[LiveIntervals] Fix repairOldRegInRange for simple def cases

The fix applied in D23303 "LiveIntervalAnalysis: fix a crash in repairOldRegInRange"
was over-zealous. It would bail out when the end of the range to be
repaired was in the middle of the first segment of the live range of
Reg, which was always the case when the range contained a single def of
Reg.

This patch fixes it as suggested by Matthias Braun in post-commit review
on the original patch, and tests it by adding -early-live-intervals to
a selection of existing lit tests that now pass.

(Note that D23303 was originally applied to fix a crash in
SILoadStoreOptimizer, but that is now moot since D23814 updated
SILoadStoreOptimizer to run before scheduling so it no longer has to
update live intervals.)

Differential Revision: https://reviews.llvm.org/D110238

Unrevert with some changes to the tests:
- Add -verify-machineinstrs to check for remaining problems in live
  interval support in TwoAddressInstructionPass.
- Drop test/CodeGen/AMDGPU/extract-load-i1.ll since it suffers from
  some of those remaining problems.
The file was addedllvm/test/CodeGen/AMDGPU/twoaddr-regsequence.mir
The file was modifiedllvm/test/CodeGen/X86/mul-shift-reassoc.ll (diff)
The file was modifiedllvm/test/CodeGen/ARM/signext-inreg.ll (diff)
The file was modifiedllvm/lib/CodeGen/LiveIntervals.cpp (diff)
Commit e4e95f14f15aceb2641c2b917eca58aaf988c4a7 by jay.foad
[LiveIntervals] Repair live intervals that gain subranges

In repairIntervalsInRange, if the new instructions refer to subregs but
the old instructions did not, make sure any existing live interval for
the superreg is updated to have subranges. Also skip repairing any range
that we have recalculated from scratch, partly for efficiency but also
to avoids some cases that repairOldRegInRange can't handle.

The existing test/CodeGen/AMDGPU/twoaddr-regsequence.mir provides some
test coverage for this change: when TwoAddressInstructionPass converts
REG_SEQUENCE into subreg copies, the live intervals will now get
subranges and MachineVerifier will verify that the subranges are
correct. Unfortunately MachineVerifier does not complain if the
subranges are not present, so the test also passed before this patch.

This patch also fixes ~800 of the ~1500 failures in the whole CodeGen
lit test suite when -early-live-intervals is forced on.

Differential Revision: https://reviews.llvm.org/D110328
The file was modifiedllvm/test/CodeGen/Hexagon/isel-extload-i1.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-mul24-knownbits.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-ctlz.ll (diff)
The file was modifiedllvm/lib/CodeGen/LiveIntervals.cpp (diff)
Commit a6daf99228bc16fb7f2596d67a0d00fef327ace5 by mgorny
[lldb] [Host] Refactor Socket::DecodeHostAndPort() to use LLVM API

Refactor Socket::DecodeHostAndPort() to use LLVM API over redundant
LLDB API.  In particular, this means llvm::Regex, llvm::Error return
type and llvm::to_integer().

While at it, change the port type from int32_t to uint16_t.  The method
never returns any value outside this range, and using the correct type
allows us to rely on getAsInteger()'s implicit overflow check.

Differential Revision: https://reviews.llvm.org/D110391
The file was modifiedlldb/source/Host/common/TCPSocket.cpp (diff)
The file was modifiedlldb/include/lldb/Host/Socket.h (diff)
The file was modifiedlldb/source/Host/common/UDPSocket.cpp (diff)
The file was modifiedlldb/tools/lldb-server/Acceptor.cpp (diff)
The file was modifiedlldb/unittests/Host/SocketTest.cpp (diff)
The file was modifiedlldb/source/Host/common/Socket.cpp (diff)
Commit c1af84ceaf4fafbfa47f871436986c5c69f65a73 by mgorny
Revert "[lldb] [Host] Refactor Socket::DecodeHostAndPort() to use LLVM API"

This reverts commit a6daf99228bc16fb7f2596d67a0d00fef327ace5.  It causes
buildbot regressions, I'll investigate.
The file was modifiedlldb/source/Host/common/UDPSocket.cpp (diff)
The file was modifiedlldb/source/Host/common/Socket.cpp (diff)
The file was modifiedlldb/source/Host/common/TCPSocket.cpp (diff)
The file was modifiedlldb/tools/lldb-server/Acceptor.cpp (diff)
The file was modifiedlldb/include/lldb/Host/Socket.h (diff)
The file was modifiedlldb/unittests/Host/SocketTest.cpp (diff)
Commit 3593ae4312f6156c9ca50d46cdb55a8dfad782d0 by clementval
[flang][fir] Add support to mangle/deconstruct namelist group name

Add support to create unique name for namelist group and be able to
deconstruct them.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D110331

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
The file was modifiedflang/lib/Optimizer/Support/InternalNames.cpp (diff)
The file was modifiedflang/unittests/Optimizer/InternalNamesTest.cpp (diff)
The file was modifiedflang/include/flang/Optimizer/Support/InternalNames.h (diff)
The file was modifiedflang/lib/Lower/Mangler.cpp (diff)
Commit 8e4f7b749c2c03809f022c95698686c8584097fc by david.sherwood
[Analysis] Fix another issue when querying vscale attributes on functions

There are several places in the code that are currently broken where
we assume an Instruction is always a member of a BasicBlock that
lives in a Function. This is a problem specifically when
attempting to get the vscale_range attribute. This patch adds checks
that an Instruction's parent also has a parent!

I've added a test for a function-less @llvm.vscale intrinsic call here:

  unittests/Analysis/ValueTrackingTest.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp (diff)
Commit 5f1c8d8a432deacfeada5e5a3794d0c938171c37 by mgorny
[lldb] [Host] Refactor Socket::DecodeHostAndPort() to use LLVM API

Refactor Socket::DecodeHostAndPort() to use LLVM API over redundant
LLDB API.  In particular, this means llvm::Regex, llvm::Error return
type and llvm::to_integer().

While at it, change the port type from int32_t to uint16_t.  The method
never returns any value outside this range, and using the correct type
allows us to rely on getAsInteger()'s implicit overflow check.

Differential Revision: https://reviews.llvm.org/D110391
The file was modifiedlldb/source/Host/common/Socket.cpp (diff)
The file was modifiedlldb/unittests/Host/SocketTest.cpp (diff)
The file was modifiedlldb/include/lldb/Host/Socket.h (diff)
The file was modifiedlldb/source/Host/common/TCPSocket.cpp (diff)
The file was modifiedlldb/source/Host/common/UDPSocket.cpp (diff)
The file was modifiedlldb/tools/lldb-server/Acceptor.cpp (diff)
Commit ce21ab23b7555b44b6a6126a0b6bdce12af8736f by cullen.rhodes
[SystemZ] NFC: Remove unused intrinsic template arg 'name'

Identified in D109359.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D109598
The file was modifiedllvm/include/llvm/IR/IntrinsicsSystemZ.td (diff)
Commit 626e2a6c6236d2fd7582928a0363d381c55eb43d by shivam98.tkg
[compiler-rt] Use portable "#!/usr/bin/env bash" shebang for tests.

In build_symbolizer.sh we can safely remove the -eu argument from the shebang (which is an unportable construct), as the scripts sets **-e** and **-u** already.

Differential Revision: https://reviews.llvm.org/D110039
The file was modifiedcompiler-rt/lib/sanitizer_common/symbolizer/scripts/ar_to_bc.sh (diff)
The file was modifiedcompiler-rt/lib/tsan/check_cmake.sh (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh (diff)
The file was modifiedcompiler-rt/lib/tsan/analyze_libtsan.sh (diff)
The file was modifiedcompiler-rt/lib/tsan/check_analyze.sh (diff)
The file was modifiedcompiler-rt/lib/asan/scripts/asan_device_setup (diff)
The file was modifiedcompiler-rt/lib/gwp_asan/scripts/symbolize.sh (diff)
Commit df56fc6ebbee6c458b0473185277b7860f7e3408 by thakis
Revert "[DSE] Track earliest escape, use for loads in isReadClobber."

This reverts commit 5ce89279c0986d0bcbe526dce52f91dd0c16427c.
Makes clang crash, see comments on https://reviews.llvm.org/D109844
The file was modifiedllvm/include/llvm/Analysis/CaptureTracking.h (diff)
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/captures-before-load.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp (diff)
Commit ad890aa2327feb6b6aee676fe85b2352fba2403e by dvyukov
tsan: add a test for flushing memory

Add a test for __tsan_flush_memory() and for background
flushing of the runtime memory.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D110409
The file was modifiedcompiler-rt/include/sanitizer/tsan_interface.h (diff)
The file was addedcompiler-rt/test/tsan/flush_memory.cpp
Commit 4604695d7c20e72b551a1a5224f3de877cb41bd3 by hans
Revert "[JumpThreading] Ignore free instructions"

It caused compiler crashes, see comment on the code review for repro.

> This is basically D108837 but for jump threading. Free instructions
> should be ignored for the threading decision. JumpThreading already
> skips some free instructions (like pointer bitcasts), but does not
> skip various free intrinsics -- in fact, it currently gives them a
> fairly large cost of 2.
>
> Differential Revision: https://reviews.llvm.org/D110290

This reverts commit 1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff.
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp (diff)
The file was modifiedllvm/test/Transforms/PhaseOrdering/inlining-alignment-assumptions.ll (diff)
The file was modifiedllvm/test/Transforms/JumpThreading/free_instructions.ll (diff)
The file was modifiedllvm/include/llvm/Transforms/Scalar/JumpThreading.h (diff)
Commit 124fcd7e9d2b8831dab0c50d4fce9900b033c6c2 by dvyukov
tsan: add a stress test

The stress test does various assorted things
(memory accesses, function calls, atomic operations,
thread creation/join, intercepted libc calls)
in multiple threads just to stress various parts
of the runtime.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D110416
The file was addedcompiler-rt/test/tsan/stress.cpp
The file was modifiedcompiler-rt/test/tsan/test.h (diff)
Commit 3c5500907b1089f4b274b09a195ee0685d51f9e2 by spatel
Revert "[InstCombine] fold cast of right-shift if high bits are not demanded (2nd try)"

This reverts commit bb9333c3504a4a02b982526ad8264d14c6ec1ad4.

This exposes another existing bug that causes an infinite loop as shown in
D110170
...so reverting while I look at another fix.
The file was modifiedllvm/test/Transforms/InstCombine/trunc-demand.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (diff)
Commit 1376ae909431b78bee35899f301d1ab2f53cc1ba by paul.robinson
[TargetLibraryInfo][AMDGPU] Minor cleanup, NFC
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp (diff)