[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 03:14:11 PST 2022


RKSimon added a comment.

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



================
Comment at: llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp:117
 
-static std::vector<InstructionTemplate> generateSnippetUsingStaticRenaming(
+enum class UseRegRandomizationStrategy : uint8_t {
+  PickRandomRegs,
----------------
(trivial) Not sure if we need the 'Use' prefix? RegRandomizationStrategy?


================
Comment at: llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp:143
+    return "reusing the same register for all uses";
+  }
+}
----------------
Keep MSVC happy:
```
llvm_unreachable("Unknown UseRegRandomizationStrategy enum");
```


================
Comment at: llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp:169
+      getAliasedBits(State.getRegInfo(), ImplicitUses);
+  const auto ImplicitDefAliases =
+      getAliasedBits(State.getRegInfo(), ImplicitDefs);
----------------
(style) Avoid auto


================
Comment at: llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp:198
+            auto PossibleRegisters = Op.getRegisterAliasing().sourceBits();
+            const auto UseAliases = getAliasedBits(State.getRegInfo(), Uses);
+            if (auto CommonBit =
----------------
(style) Avoid auto


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