baloghadamsoftware added inline comments.
================ Comment at: clang/lib/Analysis/LiveVariables.cpp:522 - // FIXME: we should enqueue using post order. - for (const CFGBlock *B : cfg->nodes()) { + for (const CFGBlock *B : *AC.getAnalysis<PostOrderCFGView>()) { worklist.enqueueBlock(B); ---------------- martong wrote: > xazax.hun wrote: > > With `BackwardDataflowWorklist`, each `enqueueBlock` will insert the block > > into a `llvm::PriorityQueue`. So regardless of the insertion order, > > `dequeue` will return the nodes in the reverse post order. > > > > Inserting elements in the right order into the heap might be beneficial is > > we need to to less work to "heapify". But on the other hand, we did more > > work to insert them in the right order, in the first place. All in all, I > > am not sure whether the comment is still valid and whether this patch would > > provide any benefit over the original code. > > > Yes, what Gabor says makes sense. On the other hand I don't see any overhead > - I might be wrong though - in the post order visitation. And it makes the > code more consistent IMHO. > > Well, it would be important to know why the original author put the > ``` > // FIXME: we should enqueue using post order. > ``` > there. The blamed commit 77ff930fff15c3fc76101b38199dad355be0866b is not > saying much. Please compare the execution time with and without this patch. I think it is difficult do decide in theory which one costs more: the heapification during insertion or the reverse ordering before the insertion. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87519/new/ https://reviews.llvm.org/D87519 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits