llvm-project/llvm/test/tools/llvm-mca/ARM
Andrea Di Biagio 36296c0484 [llvm-mca] Add support for instructions with a variadic number of operands.
By default, llvm-mca conservatively assumes that a register operand from the
variadic sequence is both a register read and a register write.  That is because
MCInstrDesc doesn't describe extra variadic operands; we don't have enough
dataflow information to tell which register operands from the variadic sequence
is a definition, and which is a use instead.

However, if a variadic instruction is flagged 'mayStore' (but not 'mayLoad'),
and it has no 'unmodeledSideEffects', then llvm-mca (very) optimistically
assumes that any register operand in the variadic sequence is a register read
only. Conversely, if a variadic instruction is marked as 'mayLoad' (but not
'mayStore'), and it has no 'unmodeledSideEffects', then llvm-mca optimistically
assumes that any extra register operand is a register definition only.
These assumptions work quite well for variadic load/store multiple instructions
defined by the ARM backend.

llvm-svn: 347522
2018-11-25 12:46:24 +00:00
..
lit.local.cfg
memcpy-ldm-stm.s [llvm-mca] Add support for instructions with a variadic number of operands. 2018-11-25 12:46:24 +00:00
simple-test-cortex-a9.s [llvm-mca] Add fields "Total uOps" and "uOps Per Cycle" to the report generated by the SummaryView. 2018-08-29 17:56:39 +00:00
unsupported-write-variant.s [TableGen] Emit more variant transitions 2018-11-23 21:17:33 +00:00
vld1-index-update.s [llvm-mca] Refactor some of the logic in InstrBuilder, and add a verifyOperands method. 2018-11-23 20:26:57 +00:00