[llvm-commits] Patch for review: Speeding-up isReachable computation, fix for Bugzilla #1835

Dan Gohman gohman at apple.com
Tue Mar 18 11:50:40 PDT 2008


+  /// Functions for preserving the topological ordering
+  /// even when new edges are inserted online.
+  /// This allows for very fast isReachable implementation.
+  /// The idea of the algorithm is taken from
+  /// "Online algorithms for managing the topological order of
+  ///  a directed acyclic graph" by David J.Pearce and Paul H.J. Kelly

In your email you mentioned that the algorithm used is the MNR
algorithm. Can you mention that in this comment? Also, the
paper cites a different paper as the original source for the
MNR algorithm. Can you clarify that, possibly mentioning both
papers here?

I don't see any cosmetic issues, beyond what Tanya brought up.
With those addressed, I think you can go ahead and check this
in. I haven't studied the algorithm in detail, but the previous
code clearly leaves room for improvement, and it sounds like
you've done reasonable testing. We'll continue to review the
code after it's checked in.

BTW, I still haven't been able to reduce the problem in 176.gcc
with your queue ordering patch. Is this something you are
able to look into? We'd like to understand what's going on
there before the patch is comitted. I'm continuing to try to
narrow it down, but I wasn't able to get bugpoint to help, so
it might take me a while.

Also, what's the status of your isel patch? Last I saw there
were some changes discussed on the list. I'm just checking to
make sure you're not waiting for something.

Thanks,

Dan

On Mar 18, 2008, at 9:20 AM, Roman Levenstein wrote:

> <ScheduleDAGRRList.isReachable.patch>




More information about the llvm-commits mailing list