[PATCH] D16038: [LCG] Build an edge abstraction for the LazyCallGraph and use it to differentiate between indirect references to functions an direct calls.

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 1 11:45:24 PST 2016


chandlerc marked 3 inline comments as done.

================
Comment at: include/llvm/Analysis/LazyCallGraph.h:263
@@ +262,3 @@
+        : iterator_adaptor_base(BaseI), E(E) {
+      while (I != E && !*I && !I->isCall())
+        ++I;
----------------
chandlerc wrote:
> reames wrote:
> > Could this be separated into a helper "advance_to_next_call" or something?  Might make the code more obvious.
> > 
> > Also, this looks like this stops on a null edge?  Why?
> Meh, sure on the refactoring.
> 
> It should *continue* on null edges and non-call edges to find the first valid edge? Added to comment.
Heh. there was a bug here that I had fixed in my next patch. backported the fix. It should have been (!*I || !I->isCall())


http://reviews.llvm.org/D16038





More information about the llvm-commits mailing list