1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/tools/llvm-mca
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
..
include [llvm-mca] Add support for move elimination in class RegisterFile. 2018-10-03 15:02:44 +00:00
lib [llvm-mca] Add support for move elimination in class RegisterFile. 2018-10-03 15:02:44 +00:00
Views [llvm-mca] Delay calculation of Cycles per Resources, separate the cycles and resource quantities. 2018-09-11 18:47:48 +00:00
CMakeLists.txt [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC. 2018-08-27 17:16:32 +00:00
CodeRegion.cpp [llvm-mca] Add the ability to mark regions of code for analysis (PR36875) 2018-04-09 16:39:52 +00:00
CodeRegion.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
llvm-mca.cpp Test commit. NFC. 2018-09-28 04:51:45 +00:00
LLVMBuild.txt
PipelinePrinter.cpp [llvm-mca] Move views and stats into a Views subdir. NFC. 2018-08-24 20:24:53 +00:00
PipelinePrinter.h [llvm-mca] Move views and stats into a Views subdir. NFC. 2018-08-24 20:24:53 +00:00