1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/include/llvm/Target
Min-Yih Hsu fe0580f6c0 [M68k][TableGen](1/8) TableGen related changes
- Add a new TableGen backend: CodeBeads
 - Add support to generate logical operand information

For the first item, it is currently a workaround of M68k's (complex)
instruction encoding. A typical architecture, especially CISC one like
X86, normally uses `MCInstrDesc::TSFlags` to carry instruction encoding
info. However, at the early days of M68k backend development, we found
it difficult to fit every possible encoding into the 64-bit
`MCInstrDesc::TSFlags`. Therefore CodeBeads was invented to provide
an alternative, arbitrary length container for instruciton encoding
info. However, in the long term we incline not to use a new TG
backend for less common pattern like what we encountered in M68k. A bug
has been created to host to discussion on migrating from CodeBeads to
more concise solution: https://bugs.llvm.org/show_bug.cgi?id=48792

The second item was also served for similar purpose. It created utility
functions that tell you the index of a `MachineOperand` in a
`MachineInst` given a logical operand index. In normal cases a logical
operand is the same as `MachineOperand`, but for operands using complex
addressing mode a logical operand might be consisting of multiple
`MachineOperand`. The TableGen-ed `getLogicalOperandIdx`, for instance,
can give you the mapping between these two concepts. Nevertheless, we
hope to remove this feature in the future if possible. Since it's not
really useful for the targets supported by LLVM now either.

Authors: myhsu, m4yers, glaubitz

Differential Revision: https://reviews.llvm.org/D88385
2021-03-08 12:30:56 -08:00
..
GlobalISel Reland [GlobalISel] Combine zext(trunc x) to x 2021-03-05 11:05:37 +01:00
CGPassBuilderOption.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
CodeGenCWrappers.h
GenericOpcodes.td [GlobalISel] Add G_ASSERT_SEXT 2021-02-17 13:10:34 -08:00
Target.td [M68k][TableGen](1/8) TableGen related changes 2021-03-08 12:30:56 -08:00
TargetCallingConv.td [TableGen] Clean up Target .td include files 2020-11-17 09:45:14 -05:00
TargetInstrPredicate.td [TableGen] Clean up Target .td include files 2020-11-17 09:45:14 -05:00
TargetIntrinsicInfo.h TargetIntrinsicInfo.h - remove unnecessary Compiler.h include. NFC. 2020-05-19 09:28:13 +01:00
TargetItinerary.td [TableGen] Clean up Target .td include files 2020-11-17 09:45:14 -05:00
TargetLoweringObjectFile.h Basic block sections should enable function sections implicitly. 2021-02-16 16:27:16 -08:00
TargetMachine.h Add -fbinutils-version= to gate ELF features on the specified binutils version 2021-01-26 12:28:23 -08:00
TargetOptions.h Add -fbinutils-version= to gate ELF features on the specified binutils version 2021-01-26 12:28:23 -08:00
TargetPfmCounters.td [TableGen] Clean up Target .td include files 2020-11-17 09:45:14 -05:00
TargetSchedule.td [MCA] Add support for in-order CPUs 2021-03-04 14:08:19 +03:00
TargetSelectionDAG.td [CodeGen][SelectionDAG]Add new intrinsic experimental.vector.reverse 2021-02-15 13:39:43 +00:00