[PATCH] D68351: [profile] Add a mode to continuously sync counter updates to a file

David Li via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 29 16:06:39 PDT 2019


davidxl added inline comments.


================
Comment at: clang/lib/Driver/ToolChains/Darwin.cpp:1119
+  for (const char *A : {"-sectalign", Args.MakeArgString(Segment),
+                        Args.MakeArgString(Section), "0x4000"})
+    CmdArgs.push_back(A);
----------------
The host tool may not know the page size of the target. Also why making the alignment 16K instead of 4K?


================
Comment at: clang/lib/Driver/ToolChains/Darwin.cpp:1151
+  // must also be page-aligned so that its data is not clobbered by mmap().
+  if (!ForGCOV) {
+    for (auto IPSK : {llvm::IPSK_cnts, llvm::IPSK_data}) {
----------------
The cost of alignment is always paid even when %c is not specified?


================
Comment at: compiler-rt/lib/profile/InstrProfilingFile.c:104
                                                            int EnableMerge) {
+  if (__llvm_profile_is_continuous_mode_enabled())
+    return;
----------------
emit warning messages?


================
Comment at: compiler-rt/test/profile/ContinuousSyncMode/darwin-proof-of-concept.c:107
+
+  for (int i = num_cnts; i < num_cnts + 3; ++i) {
+    if (buf[i] != (i - num_cnts + 1)) {
----------------
What does this loop verify?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68351/new/

https://reviews.llvm.org/D68351





More information about the llvm-commits mailing list