llvm-project/llvm/lib
Sander de Smalen 149916d29a [AArch64][AsmParser] Extend RegOp with integrated 'shift/extend'.
Summary:
In some cases the shift/extend needs to be explicitly parsed together
with the register, rather than as a separate operand. This is needed
for addressing modes where the instruction as a whole dictates the
scaling/extend, rather than specific bits in the instruction.
By parsing them as a single operand, we avoid the need to pass an
extra operand in all CodeGen patterns (because all operands need to
have an associated value), and we avoid the need to update TableGen to
accept operands that have no associated bits in the instruction.

An added benefit of parsing them together is that the assembler
can give a sensible diagnostic if the scaling is not correct.

This is patch [2/4] in a series to add assembler/disassembler support for
SVE's contiguous LD1 (scalar+scalar) instructions:
- Patch [1/4]: https://reviews.llvm.org/D45687
- Patch [2/4]: https://reviews.llvm.org/D45688
- Patch [3/4]: https://reviews.llvm.org/D45689
- Patch [4/4]: https://reviews.llvm.org/D45690

Reviewers: fhahn, rengolin, javed.absar, huntergr, SjoerdMeijer, t.p.northover, echristo, evandro

Reviewed By: fhahn, SjoerdMeijer

Subscribers: kristof.beyls, llvm-commits

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

llvm-svn: 330394
2018-04-20 07:24:20 +00:00
..
Analysis [BasicAA] Return MayAlias for the pointer plus variable offset to 2018-04-16 01:58:39 +00:00
AsmParser Add the ShadowCallStack attribute 2018-04-03 20:10:40 +00:00
BinaryFormat Fix build broken by r328090 2018-03-21 12:18:03 +00:00
Bitcode [IR] Upgrade comment token in objc retain release marker for asm call 2018-04-17 04:02:24 +00:00
CodeGen Move a dump() implementation out of line. 2018-04-20 00:42:46 +00:00
DebugInfo [llvm-pdbutil] Dump first section contribution for each module. 2018-04-17 20:06:43 +00:00
Demangle [demangler] Add a partial demangling API for LLDB. 2018-04-12 20:41:38 +00:00
ExecutionEngine [ORC] Fix an assertion condition from r329934. 2018-04-19 19:30:35 +00:00
FuzzMutate [llvm-opt-fuzzer] Add irce to the fuzzing options 2018-03-20 11:32:13 +00:00
Fuzzer [libFuzzer] Delete llvm/lib/Fuzzer 2017-10-16 20:48:19 +00:00
IR Lowering x86 adds/addus/subs/subus intrinsics (llvm part) 2018-04-19 12:13:30 +00:00
IRReader LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
LTO Rename ObjectMemoryBuffer to SmallVectorMemoryBuffer; NFCI 2018-04-16 03:44:03 +00:00
LineEditor
Linker [ThinLTO] Recommit of import global variables 2018-03-12 10:30:50 +00:00
MC [WebAssembly] Enabled -triple=wasm32-unknown-unknown-wasm path using ELF directive parser. 2018-04-19 22:00:53 +00:00
Object LowerTypeTests: Propagate symver directives 2018-04-20 01:36:48 +00:00
ObjectYAML Fix line endings (CR/LF -> LF) introduced by rL329613 2018-04-10 00:09:15 +00:00
Option [NFC] Replace iterators in PrintHelp with range-based for 2018-03-12 18:31:07 +00:00
Passes Re-land r329273: [Plugins] Add a slim plugin API to work together with the new PM 2018-04-05 15:04:13 +00:00
ProfileData [ProfileData] Change std::sort to llvm::sort in response to r327219 2018-04-13 19:46:36 +00:00
Support [support] Revert the changes made to Path.inc for the default Windows code page 2018-04-18 15:26:26 +00:00
TableGen [TableGen] Change std::sort to llvm::sort in response to r327219 2018-04-06 20:18:05 +00:00
Target [AArch64][AsmParser] Extend RegOp with integrated 'shift/extend'. 2018-04-20 07:24:20 +00:00
Testing [LLVMTestingSupport] Add explicit linkage to LLVMSupport 2018-04-08 06:49:17 +00:00
ToolDrivers [COFF] Keep the underscore on exported decorated stdcall functions in MSVC mode 2018-01-20 11:44:32 +00:00
Transforms LowerTypeTests: Propagate symver directives 2018-04-20 01:36:48 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay [XRay] clarify error messages when parsing broken traces 2018-01-30 13:41:34 +00:00
CMakeLists.txt
LLVMBuild.txt