Changes

Summary

  1. [RISCV] Hoist VSETVLI out of idiomatic fixed length vector loops (details)
  2. [riscv] Use getFirstInstrTerminator [nfc] (details)
  3. [RISCV] Add an operand kind to the opcode/imm returned from RISCVMatInt. (details)
  4. [mlir][sparse] add new complex ops to reduction recognition (details)
  5. [RISCV] Ensure the forwarded AVL register is alive (details)
  6. [OpenMP] Add codegen for 'omp_all_memory' reserved locator. (details)
  7. [libc] Add the pthread_mutex_t type. (details)
  8. [InstCombine] Fold memrchr calls with sequences of identical bytes. (details)
  9. [mlir][sparse] complex lowering (details)
  10. [LLVM][IR] Fix assert in ConstantExpr::getPtrToInt so all vector types are supported. (details)
  11. [DFSan] Add option to specify individual library files, and an option to exit with an error code if any library file was not found. (details)
  12. [clang-tidy] Fix #55134 (regression introduced by 5da7c04) (details)
  13. [lldb] Disable modules in Apple-lldb-base (details)
  14. [lldb] Improve TestAppleSimulatorOSType.py error message (details)
  15. [BOLT][NFC] Remove unused BF::computeLocalUDChain method definition (details)
  16. [BOLT][NFC] Use for_each to simplify printLoopInfo (details)
  17. [BOLT][NFC] Customize endline character for printInstruction(s) (details)
  18. [BOLT][NFC] Use ListSeparator in BinaryFunction print methods (details)
  19. [clang-format][NFC] Insert/remove braces in clang/lib/Format/ (details)
  20. [InstCombine] add test for trunc-shl-trunc ; NFC (details)
  21. [InstCombine] [NFC] Move transforms for truncated shifts into narrowBinOp (details)
  22. [C++20] [Coroutines] Conform the updates for CWG issue 2585 (details)
  23. Revert "[MachineSink] replace MachineLoop with MachineCycle" (details)
  24. [libc++][NFC] Add more tests to `move_{iterator,sentinel}`. (details)
  25. Move GCC-compatible pod-packing change to v15/old behavior available at v14 and below (details)
  26. [RISCV] Replace untested code with assert (details)
  27. [flang][MSVC] Fix building with `/permissive-` flag (details)
  28. [RISCV] Fix vnsrl/vnsra isel patterns that are dropping VL. (details)
  29. [OpenMP] atomic compare fail : Parser & AST support (details)
  30. [Clang][OpenMP] Support for omp nothing (details)
Commit a95ecb20bca894cc1373a85360ad5939dd2c3ff9 by listmail
[RISCV] Hoist VSETVLI out of idiomatic fixed length vector loops

This patch teaches the VSETVLI insertion pass to perform a very limited form of partial redundancy elimination. The motivating example comes from the fixed length vectorization of a simple loop such as:

for (unsigned i = 0; i < a_len; i++)
    a[i] += b;

Without this change, the core vector loop and preheader is as follows:

.LBB0_3:                                # %vector.ph
andi a1, a6, -8
addi a4, a0, 16
mv a5, a1
.LBB0_4:                                # %vector.body
                                        # =>This Inner Loop Header: Depth=1
addi a3, a4, -16
vsetivli zero, 4, e32, m1, ta, mu
vle32.v v8, (a3)
vle32.v v9, (a4)
vadd.vx v8, v8, a2
vadd.vx v9, v9, a2
vse32.v v8, (a3)
vse32.v v9, (a4)
addi a5, a5, -8
addi a4, a4, 32
bnez a5, .LBB0_4

The key thing to note here is that, the execution of the vsetivli only needs to happen once. Since there's no tail folding happening here, the value of the vector configuration registers are invariant through the loop.

After this patch, we hoist the configuration into the preheader and perform it once.

.LBB0_3:                                # %vector.ph
andi a1, a6, -8
vsetivli zero, 4, e32, m1, ta, mu
addi a4, a0, 16
mv a5, a1
.LBB0_4:                                # %vector.body
                                        # =>This Inner Loop Header: Depth=1
addi a3, a4, -16
vle32.v v8, (a3)
vle32.v v9, (a4)
vadd.vx v8, v8, a2
vadd.vx v9, v9, a2
vse32.v v8, (a3)
vse32.v v9, (a4)
addi a5, a5, -8
addi a4, a4, 32
bnez a5, .LBB0_4

Differential Revision: https://reviews.llvm.org/D124869
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vector-strided-load-store.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Commit fb948572e03321b1470a2e47fbf685226f8f5f18 by listmail
[riscv] Use getFirstInstrTerminator [nfc]
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Commit d2ee2c9c8d34bc915a3d7c00951831eb24708f6a by craig.topper
[RISCV] Add an operand kind to the opcode/imm returned from RISCVMatInt.

Instead of matching opcodes to know the format to emit, use an
enum value that we can get from the RISCVMatInt::Inst class.

Change the consumers to use fully covered switches so that we get
a compiler warning if a new kind is added. With the opcode checks
it was easier to forget to update one of the 3 consumers.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D126317
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Commit 5799f843a22029bd51d45edcd773e3c8662a0a08 by ajcbik
[mlir][sparse] add new complex ops to reduction recognition

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D126318
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Commit 948d931323a13dfc68430814a44b9075a59e2310 by listmail
[RISCV] Ensure the forwarded AVL register is alive

When the AVL value does not fit in 5 bits, the register in which this value is stored may be dead when we want to forward it. This patch ensure the kill flags on the register are cleared before forwarding.

Patch by: loralb
Differential Revision: https://reviews.llvm.org/D125971
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Commit 239094cdee8e3f5de4a6757f43b94cc21f9a808f by michael.p.rice
[OpenMP] Add codegen for 'omp_all_memory' reserved locator.

This creates an entry with address=nullptr and flag=0x80.
When an 'omp_all_memory' entry is specified any other 'out' or
'inout' entries are not needed and are not passed to the runtime.

Differential Revision: https://reviews.llvm.org/D126321
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_update_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.c
The file was modifiedclang/test/OpenMP/target_enter_data_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/task_if_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/depobj_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_exit_data_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/interop_irbuilder.cpp
Commit 2a5d5078d5dadb1aaa4487c89a92c91a98e2ed12 by sivachandra
[libc] Add the pthread_mutex_t type.

Simple implementations of the functions pthread_mutex_init,
pthread_mutex_destroy, pthread_mutex_lock and pthread_mutex_unlock have
have also been added. Future patches will extend these functions to add
features required by the POSIX specification.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D126235
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/include/llvm-libc-types/__mutex_type.h
The file was addedlibc/src/pthread/pthread_mutex_init.h
The file was modifiedlibc/include/CMakeLists.txt
The file was modifiedlibc/spec/posix.td
The file was modifiedlibc/include/llvm-libc-types/CMakeLists.txt
The file was addedlibc/src/pthread/pthread_mutex_lock.cpp
The file was modifiedlibc/config/linux/api.td
The file was addedlibc/src/pthread/pthread_mutex_lock.h
The file was addedlibc/src/pthread/pthread_mutex_unlock.h
The file was addedlibc/src/pthread/pthread_mutex_destroy.cpp
The file was modifiedlibc/src/pthread/CMakeLists.txt
The file was modifiedlibc/src/pthread/pthread_mutexattr.h
The file was addedlibc/src/pthread/pthread_mutex_destroy.h
The file was addedlibc/src/pthread/pthread_mutex_unlock.cpp
The file was modifiedlibc/test/src/pthread/CMakeLists.txt
The file was addedlibc/include/llvm-libc-types/pthread_mutex_t.h
The file was addedlibc/src/pthread/pthread_mutex_init.cpp
The file was addedlibc/test/src/pthread/pthread_mutex_test.cpp
Commit 46c0ec9df46f5bb1d53ae5b98a337e23687bd3ff by msebor
[InstCombine] Fold memrchr calls with sequences of identical bytes.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D123631
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/memrchr-4.ll
Commit a9e354c83b9e158c690d83c69ad6f8b5c8d1daa6 by ajcbik
[mlir][sparse] complex lowering

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D126335
The file was modifiedmlir/lib/Dialect/SparseTensor/Pipelines/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
Commit 9426df95b1b21ebbad6587ea95c80847fa550c47 by paul.walker
[LLVM][IR] Fix assert in ConstantExpr::getPtrToInt so all vector types are supported.

Fixes: #55410
The file was modifiedllvm/unittests/IR/ConstantsTest.cpp
The file was modifiedllvm/lib/IR/Constants.cpp
Commit b2b0322a8114af783d103435202b576167426c7f by browneee
[DFSan] Add option to specify individual library files, and an option to exit with an error code if any library file was not found.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D126336
The file was modifiedcompiler-rt/lib/dfsan/scripts/build-libc-list.py
Commit 9ff4f2dfea632d63e3a57a88a2faa634aae5c772 by mail
[clang-tidy] Fix #55134 (regression introduced by 5da7c04)

5da7c04 introduced a regression in the NOLINT macro checking loop, replacing the
call to `getImmediateExpansionRange().getBegin()` with
`getImmediateMacroCallerLoc()`, which has similar but subtly different
behaviour.

The consequence is that NOLINTs cannot suppress diagnostics when they are
attached to a token that came from a macro **argument**, rather than elsewhere
in the macro expansion.

Revert to pre-patch behaviour and add test cases to cover this issue.

Differential Revision: https://reviews.llvm.org/D126138
The file was modifiedclang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp
The file was modifiedclang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit f179f403c8579c939e09d27c383b6263cf2523aa by Jonas Devlieghere
[lldb] Disable modules in Apple-lldb-base

The LLDB website recommends using the CMake caches to build on macOS.
Although modules result in a faster build, this configuration tends to
break occasionally because it's specific to our platform. I don't expect
newcomers to be able to deal with those kind of breakages so don't
enable them by default.
The file was modifiedlldb/cmake/caches/Apple-lldb-base.cmake
Commit 436eaf8d32fa8d5db6782f4da30d0b5b7c2690e8 by Jonas Devlieghere
[lldb] Improve TestAppleSimulatorOSType.py error message

This was inspired by D109336 which got reverted because we didn't want
the test to fail silently. This patch prints a more informative error
message when we fail to parse the simctl output while still failing the
test.

Differential revision: https://reviews.llvm.org/D126217
The file was modifiedlldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
Commit b976fac6eec4d7bc636830dafec3cd1db541ee89 by aaupov
[BOLT][NFC] Remove unused BF::computeLocalUDChain method definition

The function is only used inside AArch64MCPlusBuilder class, there are no uses
of it as a BinaryFunction method.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D126220
The file was modifiedbolt/include/bolt/Core/BinaryFunction.h
Commit 5d8247d4c7c40d3f83fdffd1e337ee8cae7841d1 by aaupov
[BOLT][NFC] Use for_each to simplify printLoopInfo

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D126242
The file was modifiedbolt/lib/Core/BinaryFunction.cpp
Commit 69f87b6c292ba24ba96f9b90bfb395fd0810995b by aaupov
[BOLT][NFC] Customize endline character for printInstruction(s)

This would be used in `BF::dumpGraph` to dump left-justified text.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D126232
The file was modifiedbolt/lib/Core/BinaryContext.cpp
The file was modifiedbolt/include/bolt/Core/BinaryContext.h
Commit f7581a3969c49653060abe29eb69076330d76290 by aaupov
[BOLT][NFC] Use ListSeparator in BinaryFunction print methods

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D126243
The file was modifiedbolt/lib/Core/BinaryFunction.cpp
Commit bebf7bdf9aad4e5d3ae09140d5af4d03bfda9094 by owenca
[clang-format][NFC] Insert/remove braces in clang/lib/Format/

Differential Revision: https://reviews.llvm.org/D126157
The file was modifiedclang/lib/Format/FormatToken.cpp
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/lib/Format/AffectedRangeManager.cpp
The file was modifiedclang/lib/Format/ContinuationIndenter.cpp
The file was modifiedclang/lib/Format/DefinitionBlockSeparator.cpp
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/lib/Format/BreakableToken.cpp
The file was modifiedclang/lib/Format/SortJavaScriptImports.cpp
The file was modifiedclang/lib/Format/WhitespaceManager.cpp
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
The file was modifiedclang/lib/Format/QualifierAlignmentFixer.cpp
The file was modifiedclang/lib/Format/UnwrappedLineFormatter.cpp
Commit 793bb7049db012df4fe3ff6e8abc320677845400 by Chenbing.Zheng
[InstCombine] add test for trunc-shl-trunc ; NFC
The file was modifiedllvm/test/Transforms/InstCombine/trunc-shift-trunc.ll
Commit 269e3f7369d2286a1e711a7fa0442ca64817ff9f by Chenbing.Zheng
[InstCombine] [NFC] Move transforms for truncated shifts into narrowBinOp

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D126056
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit a1ffba8d528681d55c901a997beedbc69946eb90 by yedeng.yd
[C++20] [Coroutines] Conform the updates for CWG issue 2585

According to the updates in CWG issue 2585
https://cplusplus.github.io/CWG/issues/2585.html, we shouldn't find an
allocation function with (size, p0, …, pn) in global scope.

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D126187
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
The file was addedclang/test/CodeGenCoroutines/coro-alloc-2.cpp
Commit 80c4910f3d4c8b36120bcdb6670d15c693f0f0df by czhengsz
Revert "[MachineSink] replace MachineLoop with MachineCycle"

This reverts commit 62a9b36fcf728b104ea87e6eb84c0be69b779df7.
Cause build failure on lldb incremental buildbot:
https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/43994/changes
The file was modifiedllvm/test/CodeGen/X86/switch-phi-const.ll
The file was modifiedllvm/test/CodeGen/AArch64/loop-sink-limit.mir
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/x86-shrink-wrapping.ll
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/pr38795.ll
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/llc-pipeline.ll
The file was modifiedllvm/include/llvm/ADT/GenericCycleImpl.h
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/RISCV/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/PowerPC/O3-pipeline.ll
The file was modifiedllvm/include/llvm/ADT/GenericCycleInfo.h
The file was modifiedllvm/include/llvm/CodeGen/MachineCycleAnalysis.h
The file was modifiedllvm/lib/CodeGen/MachineCycleAnalysis.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineSSAContext.h
Commit b06049bc3b79be4a037a60dec4ad19a68e196a8f by varconst
[libc++][NFC] Add more tests to `move_{iterator,sentinel}`.

More test coverage for the parts added by the One Ranges Proposal.

Differential Revision: https://reviews.llvm.org/D124906
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.star/op_star.pass.cpp
The file was modifiedlibcxx/include/iterator
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/iter_move.pass.cpp
The file was modifiedlibcxx/test/support/test_iterators.h
The file was modifiedlibcxx/include/__iterator/move_sentinel.h
The file was addedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_swap.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctor.converting.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/iter_swap.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/assign.converting.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctor.sentinel.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_move.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/reverse.iterators/types.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_move.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctor.default.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/op_eq.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-/sentinel.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/tested_elsewhere.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/base.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
The file was modifiedlibcxx/include/__iterator/move_iterator.h
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.index/difference_type.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/post.pass.cpp
Commit e59f648d698efe58b96e9b6224449b2b8cfa872a by dblaikie
Move GCC-compatible pod-packing change to v15/old behavior available at v14 and below

Since this didn't make it into the v14 release - anyone requesting the
v14 ABI shouldn't get this GCC-compatible change that isn't backwards
compatible with v14 Clang.

Differential Revision: https://reviews.llvm.org/D126334
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/SemaCXX/class-layout.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
Commit fd937366579e68e4413cda13b1b78a74b234be81 by fraser
[RISCV] Replace untested code with assert

We found untested code where negative frame indices were ostensibly
handled despite it being in a block guarded by !MFI.isFixedObjectIndex.

While the implementation of MachineFrameInfo::isFixedObjectIndex
suggests this is possible (i.e., if a frame index was more negative - less than the
number of fixed objects), I couldn't find any test in tree -- for any
target -- where a negative frame index wasn't also a fixed object
offset. I couldn't find a way of creating such a object with the
public MachineFrameInfo creation APIs. Even
MachineFrameInfo::getObjectIndexBegin starts counting at the negative
number of fixed objects, so such frame indices wouldn't be covered by
loops using the provided begin/end methods.

Given all this, an assert that any object encountered in the block is
non-negative seems reasonable.

Reviewed By: StephenFan, kito-cheng

Differential Revision: https://reviews.llvm.org/D126278
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Commit 360411957b6f40f50b35097b7abedd91250f2434 by llvm-project
[flang][MSVC] Fix building with `/permissive-` flag

CLOCK_REALTIME is POSIX defined and never available with MSVC, even without /permissive-.
The difference is that the template is never instantiated and the compiler ignores the undefined identifier.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D125262
The file was modifiedflang/runtime/time-intrinsic.cpp
Commit 66db5312bd6676cae721b3ad9f76b68af7909e7c by craig.topper
[RISCV] Fix vnsrl/vnsra isel patterns that are dropping VL.

We were incorrectly using VLMax instead of the passed VL.

Reviewed By: khchen, reames

Differential Revision: https://reviews.llvm.org/D126319
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vnsra-vnsrl.ll
Commit 232bf8189ef7d574a468bd5bfd1e84e962f7f16e by chichunchen844
[OpenMP] atomic compare fail : Parser & AST support

This is a support for " #pragma omp atomic compare fail ". It has Parser & AST support for now.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D123235
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/test/OpenMP/atomic_messages.cpp
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/test/OpenMP/atomic_ast_print.cpp
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/include/clang/Parse/Parser.h
Commit ca27f3e3b26ed5389d4a361f274e3be516eb282d by chichunchen844
[Clang][OpenMP] Support for omp nothing

Patch to support "#pragma omp nothing"

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D123286
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was addedclang/test/OpenMP/nothing_messages.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp