HomePhabricator

[llvm-mca] Add support for move elimination in class RegisterFile.

Description

[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.

Details

Committed
adibiagioOct 3 2018, 8:02 AM
Parents
rL343690: [llvm-exegesis] Avoid yaml parser from calling sscanf for obvious non-matches…
Branches
Unknown
Tags
Unknown