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

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 5 13:52:36 PST 2022


RKSimon added inline comments.


================
Comment at: llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp:158
+
+  if (Op.isUse()) {
+    switch (S) {
----------------
lebedev.ri wrote:
> RKSimon wrote:
> > lebedev.ri wrote:
> > > One thing i was thinking of, are there cases where we have
> > > both defs with tied uses AND defs without tied uses?
> > > If we have (which instruction is that?),
> > > should we just always reuse the reg for defs without tied uses?
> > The weirdest x86 instructions for that kind of thing are some of the CMPXCHG reg-reg instructions - maybe some of the MUL/IMUL and DIV/IDIV variants as well?
> What i would like, is `--dry-run` option for exegesis,
> to do everything, EXCEPT actually running the measurements.
> It will help with test coverage, too.
> If that option was present, i would have an easy way to check if there is such an opcode...
+1 - the need to have to install libPFM for most of the test coverage is limiting.


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