SuccessChanges

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

Summary

  1. Fix "MIParser::getIRValue(unsigned int)’ defined but not used" warning. (details)
  2. [ARM][LowOverheadLoops] Allow all MVE instrs. (details)
  3. [lldb/Expression] Improve interpreter error message with a non-running (details)
  4. [ARM,MVE] Use the new Tablegen `defvar` and `if` statements. (details)
Commit 31aed2e0dad25d43039a9b933b1b95fbdeb27704 by llvm-dev
Fix "MIParser::getIRValue(unsigned int)’ defined but not used" warning.
NFCI.
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp
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/add_reduce.mir
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vmldava_in_vpt.mir
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/packages/Python/lldbsuite/test/commands/expression/dont_allow_jit/TestAllowJIT.py
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
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 modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedclang/include/clang/Basic/arm_mve.td