[PATCH] D53502: [llvm-exegesis] ExecutionMode is computed upfront for Uops as well

Clement Courbet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 26 00:22:19 PDT 2018


courbet added inline comments.


================
Comment at: tools/llvm-exegesis/lib/Uops.cpp:102
+      return llvm::make_error<BenchmarkFailure>(
+          "infeasible : memory instruction uses scratch memory register");
+  }
----------------
...for non-memory purposes


================
Comment at: tools/llvm-exegesis/lib/Uops.cpp:180
+  if (has(EM, ExecutionMode::PARALLEL_VIA_DISTINCT_MEMORY_ACCESS)) {
+    assert(ScratchSpaceReg && "must not be 0");
+    const unsigned MemStep = ET.getMaxMemoryAccessSize();
----------------
"missing ScratchSpaceReg"  would be clearer


================
Comment at: tools/llvm-exegesis/lib/Uops.cpp:233
+      if (PossibleRegisters.none())
+        continue;
       const auto RandomReg = randomBit(PossibleRegisters);
----------------
please add a comment here


================
Comment at: tools/llvm-exegesis/lib/Uops.cpp:247
+      if (PossibleRegisters.none())
+        continue;
       const auto RandomReg = randomBit(PossibleRegisters);
----------------
ditto


================
Comment at: tools/llvm-exegesis/lib/Uops.cpp:256
+std::vector<InstructionTemplate>
+UopsSnippetGenerator::generateSingleInstruction(
+    const Instruction &Instr) const {
----------------
this doe snot need to be a member


Repository:
  rL LLVM

https://reviews.llvm.org/D53502





More information about the llvm-commits mailing list