[PATCH] D53320: [llvm-exegeis] Computing Latency configuration upfront so we can generate many CodeTemplates at once.

Clement Courbet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 16 05:21:21 PDT 2018


courbet added inline comments.


================
Comment at: tools/llvm-exegesis/lib/CodeTemplate.cpp:68
 
+llvm::StringRef getName(Execution Execution) {
+  switch (Execution) {
----------------
ditto


================
Comment at: tools/llvm-exegesis/lib/CodeTemplate.cpp:91
+llvm::ArrayRef<Execution> getAllExecutionBits() {
+  return {
+      Execution::SERIAL_VIA_IMPLICIT_REGS,
----------------
I can't convince myself that this is fine. Let's go through a `static Execution[]`.


================
Comment at: tools/llvm-exegesis/lib/CodeTemplate.h:51
+  UNKNOWN = 0U,
+  SERIAL_VIA_IMPLICIT_REGS = 1u << 0,
+  SERIAL_VIA_TIED_REGS = 1u << 1,
----------------
please give an example for each one of these.


================
Comment at: tools/llvm-exegesis/lib/CodeTemplate.h:62
+llvm::StringRef getName(Execution Execution);
+// Returns a sequence of increasing power of two corresponding to all the
+// Execution flags.
----------------
*powers


================
Comment at: tools/llvm-exegesis/lib/CodeTemplate.h:82
 
+  enum Execution Execution = Execution::UNKNOWN;
   // Some information about how this template has been created.
----------------
This is calling for buildbot failures (I remember that some compilers handle this differently). Let's rename one of these to `ExecutionMode`.


Repository:
  rL LLVM

https://reviews.llvm.org/D53320





More information about the llvm-commits mailing list