SuccessChanges

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

Summary

  1. [ARM][LowOverheadLoops] Allow all MVE instrs. (details)
  2. [lldb/Expression] Improve interpreter error message with a non-running (details)
  3. [ARM,MVE] Use the new Tablegen `defvar` and `if` statements. (details)
  4. [unittests] Fix "comparison of integers of different signs" warnings (details)
  5. Make helper functions static or move them into anonymous namespaces. (details)
  6. [FPEnv] Fix chain handling regression after 04a8696 (details)
  7. [RISCV][NFC] Deduplicate Atomic Intrinsic Definitions (details)
  8. [FPEnv] Add some comments to IRBuilder.h (details)
  9. [lldb][NFC] Make name parameter in AddMethodToCXXRecordType a StringRef (details)
Commit e27632c3026328e41b0d7dbf25631041e979a2f9 by sam.parker
[ARM][LowOverheadLoops] Allow all MVE instrs.
We have a whitelist of instructions that we allow when tail predicating,
since these are trivial ones that we've deemed need no special handling.
Now change ARMLowOverheadLoops to allow the non-trivial instructions if
they're contained within a valid VPT block. Since a valid block is one
that is predicated upon the VCTP so we know that these non-trivial
instructions will still behave as expected once the implicit predication
is used instead.
This also fixes a previous test failure.
Differential Revision: https://reviews.llvm.org/D72509
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vmldava_in_vpt.mir
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/add_reduce.mir
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 877723b7ce813d25fc4a358b7d2cb90468733a72 by medismail.bennani
[lldb/Expression] Improve interpreter error message with a non-running
target
When trying to interpret an expression with a function call, if the
process hasn't been launched, the expression fails to be interpreted and
the user gets the following  error message:
```error: Can't run the expression locally```
This message doesn't explain why the expression failed to be
interpreted, that's why this patch improves the error message that is
displayed when trying to run an expression while no process is running.
rdar://11991708
Differential Revision: https://reviews.llvm.org/D72510
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/dont_allow_jit/TestAllowJIT.py
Commit 71d5454b377239213874a0d762860e6a3e60bf54 by simon.tatham
[ARM,MVE] Use the new Tablegen `defvar` and `if` statements.
Summary: This cleans up a lot of ugly `foreach` bodges that I've been
using to work around the lack of those two language features. Now they
both exist, I can make then all into something more legible!
In particular, in the common pattern in `ARMInstrMVE.td` where a
multiclass defines an `Instruction` instance plus one or more `Pat` that
select it, I've used a `defvar` to wrap `!cast<Instruction>(NAME)` so
that the patterns themselves become a little more legible.
Replacing a `foreach` with a `defvar` removes a level of block
structure, so several pieces of code have their indentation changed by
this patch. Best viewed with whitespace ignored.
NFC: the output of `llvm-tblgen -print-records` on the two affected
Tablegen sources is exactly identical before and after this change, so
there should be no effect at all on any of the other generated files.
Reviewers: MarkMurrayARM, miyuki
Reviewed By: MarkMurrayARM
Subscribers: kristof.beyls, hiraditya, dmgreen, cfe-commits,
llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D72690
The file was modifiedclang/include/clang/Basic/arm_mve.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit bff33bd5c83b947cccb4d6cf6ebca9dc021f716b by Milos.Stojanovic
[unittests] Fix "comparison of integers of different signs" warnings
A warning is sent because `std::distance()` returns a signed type so
`CmpHelperEQ()` gets instantiated into a function that compares
differently signed arguments.
Differential Revision: https://reviews.llvm.org/D72632
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
The file was modifiedllvm/unittests/Object/MinidumpTest.cpp
Commit df186507e1d07c3ddba091a076ba7a33dbdc5867 by benny.kra
Make helper functions static or move them into anonymous namespaces. 
NFC.
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modifiedmlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedmlir/lib/ExecutionEngine/ExecutionEngine.cpp
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/lib/Dialect/LoopOps/LoopOps.cpp
The file was modifiedllvm/lib/Target/Mips/MipsLegalizerInfo.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.cpp
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/lib/Dialect/AffineOps/AffineOps.cpp
The file was modifiedmlir/lib/Dialect/VectorOps/VectorOps.cpp
The file was modifiedmlir/lib/Analysis/Liveness.cpp
The file was modifiedmlir/lib/IR/SymbolTable.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
The file was modifiedmlir/lib/Dialect/QuantOps/Transforms/ConvertSimQuant.cpp
The file was modifiedmlir/lib/Pass/PassStatistics.cpp
The file was modifiedmlir/lib/Dialect/VectorOps/VectorTransforms.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
The file was modifiedmlir/test/lib/TestDialect/TestPatterns.cpp
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVDialect.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/lib/Dialect/SDBM/SDBMExpr.cpp
The file was modifiedmlir/lib/Analysis/AffineAnalysis.cpp
Commit 81ee484484a0be59da8f749a9b4cf56bb8d37402 by ulrich.weigand
[FPEnv] Fix chain handling regression after 04a8696
Code in getRoot made the assumption that every node in PendingLoads must
always itself have a dependency on the current DAG root node.
After the changes in 04a8696, it turns out that this assumption no
longer holds true, causing wrong codegen in some cases (e.g. stores
after constrained FP intrinsics might get deleted).
To fix this, we now need to make sure that the TokenFactor created by
getRoot always includes the previous root, if there is no implicit
dependency already present.
The original getControlRoot code already has exactly this check, so this
patch simply reuses that code now for getRoot as well. This fixes the
regression.
NFC if no constrained FP intrinsic is present.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-alias.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Commit dee6e39c7561a8b733cc260738ff7ea3ae78ee0c by selliott
[RISCV][NFC] Deduplicate Atomic Intrinsic Definitions
Summary: This is a slight cleanup, to use multiclasses to avoid the
duplication between the different atomic intrinsic definitions. The
produced intrinsics are unchanged, they're just generated in a more
succinct way.
Reviewers: asb, luismarques, jrtc27
Reviewed By: luismarques, jrtc27
Subscribers: Jim, rbar, johnrusso, simoncook, sabuasal, niosHD,
kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01,
MartinMosbeck, brucehoult, the_o, rkruppe, jfb, PkmX, jocewei, psnobl,
benna, s.egerton, pzheng, sameer.abuasal, apazos, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71777
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td
Commit 6aca3e8dfa228fb75e410e34db74982a0ab3939f by ulrich.weigand
[FPEnv] Add some comments to IRBuilder.h
As requested via post-commit comment for D71467, this adds comments
documenting CreateFCmp vs. CreateFCmpS to the header file.
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
Commit 3f944a8b8ca895667f04748f62d350f07ee1416b by Raphael Isemann
[lldb][NFC] Make name parameter in AddMethodToCXXRecordType a StringRef
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/include/lldb/Symbol/ClangASTContext.h