[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:15:31 PDT 2018
courbet added inline comments.
================
Comment at: tools/llvm-exegesis/lib/CodeTemplate.h:87
+ // The execution can be made parallel by repeating the same instruction but
+ // making sure each memory access hits a different cache line.
+ PARALLEL_VIA_DISTINCT_MEMORY_ACCESS = 1u << 7,
----------------
s/each memory access hits a different cache line/memory accesses do not alias/
================
Comment at: tools/llvm-exegesis/lib/Latency.cpp:134
LatencySnippetGenerator::generateCodeTemplates(const Instruction &Instr) const {
+ if (Instr.hasMemoryOperands())
+ return llvm::make_error<BenchmarkFailure>(
----------------
Let's commit this separately.
================
Comment at: tools/llvm-exegesis/lib/MCInstrDescView.h:98
+ // Return the Variable that ties together two operands or nullptr if this
+ // instruction has no tied operands.
----------------
I think it would be better to return a `vector<const Variable*>` and deal with unicity at the call site.
================
Comment at: tools/llvm-exegesis/lib/MCInstrDescView.h:141
+
+ // Whether this instruction implicitly reads or write this register.
+ bool isImplicitlyAliasingWith(unsigned reg) const;
----------------
*writes
================
Comment at: tools/llvm-exegesis/lib/Uops.h:38
private:
+ llvm::Expected<CodeTemplate>
----------------
doc ?
Repository:
rL LLVM
https://reviews.llvm.org/D53502
More information about the llvm-commits
mailing list