[clang] 0c36127 - [clang][dataflow] Display line numbers in the HTML logger timeline. (#80130)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 31 20:33:07 PST 2024


Author: martinboehme
Date: 2024-02-01T05:33:03+01:00
New Revision: 0c361270afff83cd6433cf865ed5a410dadfb33f

URL: https://github.com/llvm/llvm-project/commit/0c361270afff83cd6433cf865ed5a410dadfb33f
DIFF: https://github.com/llvm/llvm-project/commit/0c361270afff83cd6433cf865ed5a410dadfb33f.diff

LOG: [clang][dataflow] Display line numbers in the HTML logger timeline. (#80130)

This makes it easier to count how many iterations an analysis takes to
complete.
It also makes it easier to compare how a change to the analysis code
affects
the timeline.

Here's a sample screenshot:


![image](https://github.com/llvm/llvm-project/assets/29098113/b3f44b4d-7037-4f28-9532-5418663250e1)

Added: 
    

Modified: 
    clang/lib/Analysis/FlowSensitive/HTMLLogger.css
    clang/lib/Analysis/FlowSensitive/HTMLLogger.html

Removed: 
    


################################################################################
diff  --git a/clang/lib/Analysis/FlowSensitive/HTMLLogger.css b/clang/lib/Analysis/FlowSensitive/HTMLLogger.css
index 5da8db8fa87bf..e25270430efc2 100644
--- a/clang/lib/Analysis/FlowSensitive/HTMLLogger.css
+++ b/clang/lib/Analysis/FlowSensitive/HTMLLogger.css
@@ -29,6 +29,16 @@ section h2 {
 }
 #timeline {
   min-width: max-content;
+  counter-reset: entry_counter;
+}
+#timeline .entry .counter::before {
+  counter-increment: entry_counter;
+  content: counter(entry_counter) ":";
+}
+#timeline .entry .counter {
+  display: inline-block;
+  min-width: 2em; /* Enough space for two digits and a colon */
+  text-align: right;
 }
 #timeline .entry.hover {
   background-color: #aaa;

diff  --git a/clang/lib/Analysis/FlowSensitive/HTMLLogger.html b/clang/lib/Analysis/FlowSensitive/HTMLLogger.html
index b9f76c5074c75..be173e8b2854d 100644
--- a/clang/lib/Analysis/FlowSensitive/HTMLLogger.html
+++ b/clang/lib/Analysis/FlowSensitive/HTMLLogger.html
@@ -42,6 +42,7 @@
 <header>Timeline</header>
 <template data-for="entry in timeline">
   <div id="{{entry.block}}:{{entry.iter}}" data-bb="{{entry.block}}" class="entry">
+    <span class="counter"></span>
     {{entry.block}}
     <template data-if="entry.post_visit">(post-visit)</template>
     <template data-if="!entry.post_visit">({{entry.iter}})</template>


        


More information about the cfe-commits mailing list