1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/tools/llvm-mca/include
Andrea Di Biagio 8e6255d288 [llvm-mca] Add support for move elimination in class RegisterFile.
This patch teaches class RegisterFile how to analyze register writes from
instructions that are move elimination candidates.
In particular, it teaches it how to check if a move can be effectively eliminated
by the underlying PRF, and (if necessary) how to perform move elimination.

The long term goal is to allow processor models to describe instructions that
are valid move elimination candidates.
The idea is to let register file definitions in tablegen declare if/when moves
can be eliminated.

This patch is a non functional change.
The logic that performs move elimination is currently disabled.  A future patch
will add support for move elimination in the processor models, and enable this
new code path.

llvm-svn: 343691
2018-10-03 15:02:44 +00:00
..
HardwareUnits [llvm-mca] Add support for move elimination in class RegisterFile. 2018-10-03 15:02:44 +00:00
Stages [llvm-mca] Add support for move elimination in class RegisterFile. 2018-10-03 15:02:44 +00:00
Context.h [llvm-mca] Remove unecessary forward decls. NFC. 2018-10-02 19:42:46 +00:00
HWEventListener.h [llvm-mca] Delay calculation of Cycles per Resources, separate the cycles and resource quantities. 2018-09-11 18:47:48 +00:00
InstrBuilder.h
Instruction.h [llvm-mca] Add support for move elimination in class RegisterFile. 2018-10-03 15:02:44 +00:00
Pipeline.h [llvm-mca] Remove unecessary forward decls. NFC. 2018-10-02 19:42:46 +00:00
SourceMgr.h
Support.h [llvm-mca] Delay calculation of Cycles per Resources, separate the cycles and resource quantities. 2018-09-11 18:47:48 +00:00