OSDN Git Service

In the simpler version of the link-eval data structure that we use in dominator
authorCameron Zwarich <zwarich@apple.com>
Sun, 23 Jan 2011 06:16:06 +0000 (06:16 +0000)
committerCameron Zwarich <zwarich@apple.com>
Sun, 23 Jan 2011 06:16:06 +0000 (06:16 +0000)
commit54cdad97eb77caf841ade5827a1d5da6b2d89df3
treec2f2b7e15d5b45b454d60c49230c1be19b8317c8
parent0cf5e3d51dd455a174a8f00cfa6b63c11e535434
In the simpler version of the link-eval data structure that we use in dominator
computation, the Ancestor field is always set to the Parent, so we can remove
the explicit link entirely and merge the Parent and Ancestor fields. Instead of
checking for whether an ancestor exists for a node or not, we simply check
whether the node has already been processed. This is simpler if Compress is
inlined into Eval, so I did that as well.

This is about a 3% speedup running -domtree on test-suite + SPEC2000 & SPEC2006,
but it also opens up some opportunities for further improvement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124061 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/DominatorInternals.h
include/llvm/Analysis/Dominators.h