[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?


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"



More information about the llvm-commits mailing list