[PATCH] D48935: [llvm-exegesis] Provide a way to handle memory instructions.

Filipe Cabecinhas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 4 09:40:32 PDT 2018


filcab added inline comments.


================
Comment at: tools/llvm-exegesis/lib/Assembler.h:42
 
-// Creates a temporary `void foo()` function containing the provided
+// Creates a temporary `void foo(void*)` function containing the provided
 // Instructions. Runs a set of llvm Passes to provide correct prologue and
----------------
`s/void*/char*/`


================
Comment at: tools/llvm-exegesis/lib/BenchmarkRunner.h:84
+  private:
+    char *const UnalignedPtr;
+    char *AlignedPtr;
----------------
`unique_ptr` here. `AlignedPtr` is ok, though.


================
Comment at: tools/llvm-exegesis/lib/BenchmarkRunner.h:93
+  llvm::Expected<SnippetPrototype>
+  generateSelfAliasingPrototype(const Instruction &Instr) const;
 
----------------
Can you split the formatting changes to another diff?


================
Comment at: tools/llvm-exegesis/lib/Target.cpp:33
   }
-  assert(Target->Next == nullptr && "target has already been registered");
   if (Target->Next != nullptr)
+    return; // Already registered.
----------------
Why is the assert being removed? It seemed to be asserting that we don't call this function twice. Are we now possibly calling it twice, or would it still be a programmer problem (as in: we should try to guarantee that the function is only called once).


Repository:
  rL LLVM

https://reviews.llvm.org/D48935





More information about the llvm-commits mailing list