[PATCH] D139283: [llvm-exegesis] parallel snippet generator: avoid Read-After-Write pitfail for instrs w/ tied variables

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 5 05:34:40 PST 2022


lebedev.ri added a comment.

In D139283#3970319 <https://reviews.llvm.org/D139283#3970319>, @RKSimon wrote:

> Thanks @lebedev.ri  - I've noticed a few minors, but ideally @courbet or @gchatelet need to review this

Yeah. There are a few changes i had in mind here though.

In D139283#3970439 <https://reviews.llvm.org/D139283#3970439>, @andreadb wrote:

> Much better thanks!
>
> The first code snippet from your example is a bit too short for testing FMA throughput.

This is essentially due to random.
We now avoid picking overlapping defs/uses, so if we happened to pick
some reg for a use, instead of reusing some reg already-used for use
then we can not pick it for a def, and will run out of registers sooner, 
thus shortening the sequence. I've certainly noticed this,
but not quite sure if there is anything to do about it yet.

> However, if the tool is able to try different code snippets to get a sense of what the median throughput is, then it should be fine.

That is why that strategy now generates those two extra variants with at most one use reg / at most one use reg per operand.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139283/new/

https://reviews.llvm.org/D139283



More information about the llvm-commits mailing list