Hi,
I found the -postdomfrontier pass in *llvm*.org/docs/Passes.html, but 'opt' does not accept it. I could not find the relevant codes in PostDominance.cpp in SVN trunk, but I found some relevant codes here http://opensource.apple.com/source/clang/clang-137/src/lib/Analysis/PostDominators.cpp.
I am wondering why this pass is removed and what should I do if I want the post dominance frontier information?
Thanks!
Hi,
I found the -postdomfrontier pass in *llvm*.org/docs/Passes.html, but
'opt' does not accept it. I could not find the relevant codes in
PostDominance.cpp in SVN trunk, but I found some relevant codes here
http://opensource.apple.com/source/clang/clang-137/src/lib/Analysis/PostDominators.cpp.
I am wondering why this pass is removed and what should I do if I want
the post dominance frontier information?
there was some discussion of this on the mailing list already, so I suggest you
search the archives.
Ciao, Duncan.
I found the -postdomfrontier pass in *llvm*.org/docs/Passes.html, but
'opt' does not accept it. I could not find the relevant codes in
PostDominance.cpp in SVN trunk, but I found some relevant codes here
http://opensource.apple.com/source/clang/clang-137/src/lib/Analysis/PostDominators.cpp.
LLVM 3.0 release note said postdomfrontier had been removed [1].
The unused PostOrder Dominator Frontiers and LowerSetJmp passes
were removed.
I'll send patch to update the document.
Regards,
chenwj
[1] http://llvm.org/releases/3.0/docs/ReleaseNotes.html
So it means the postdomfrontier algorithm in <3.0 version is correct, but it is removed because no one uses it. And I can add the codes to my personal code base for my personal use. Am I correct? Thanks!
Also, PostDominators is broken in various ways in a number of edge
cases (nick llewycky had emailed me some), so in all likelihood there
are edge cases where post dominance frontiers are broken as well.
In any case, as Duncan's quoted emails point out, computing
post-dominance frontiers for the entire function is expensive but not
really useful.