[PATCH] [CaptureTracking] Avoid long compilation time on large basic blocks

hfinkel at anl.gov hfinkel at anl.gov
Tue Jan 27 13:47:35 PST 2015


I wonder if there might be a better way to solve this problem. For example, what if, for large blocks, we scan them only once, number the instructions, and then use that ordering to answer the intra-block dominance queries instead of scanning over and over again?


REPOSITORY
  rL LLVM

================
Comment at: lib/Analysis/CaptureTracking.cpp:69
@@ +68,3 @@
+    // Limit for the number of instructions to scan in a block.
+    static const unsigned int BlockScanLimit = 1000;
+
----------------
I'd much rather this be a command-line opt (1000 as a default is likely fine), than a static constant.

================
Comment at: lib/Analysis/CaptureTracking.cpp:83
@@ +82,3 @@
+
+      // Early compute the case where both instructions are inside the same
+      // basic block and limit the number of instructions to search. We avoid
----------------
"Early compute" sounds odd. Just say "Compute"

http://reviews.llvm.org/D7010

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list