Hi, Arvind Sudarsanam:
I know some of Open64. Above all, Open64 is designed for a high
performance compiler. It is now supported by AMD, HP, ICT Chinese
Academy of Science, etc. and has been ported to X86, Itanium, Loongson
CPU etc.
And to your questions
1, Open64 already have some main optimization phases, Inline for
aggressive inline opt. LNO for loop opt, WOPT for machine independent
opt( transform WHIRL to SSA , do opt, and transform back to WHIRL),
CG for basic block control flow and target specific opt. You can add
your passes depend on what your opt is.
2, Open64 has dump_* function and traces to get plenty of debugging
information. It is very helpful for developers, According to my
experience, WOPT phases is a little difficult to debug, because of
SSA , alias computation,etc, however, nothing is difficult if you
understand it 
3,What do you mean by quality? According to SPEC CPU official websit,
Open64(or pathscale) get better performance on some X86 and Itanium
processors, you can find more at http://www.pathscale.com/node/18 .
4,Open64 has a maillist, you can get more help there.
http://www.open64.net/mailing-list.html
5. Compare to LLVM and GCC, Open64's document is less. But code is
the best way, and the comment gives many information. : )
6, while for retarget, Open64 use a targ_info directory for machine
description, such as instruction, register, and scheduling
information. While for multi core processors, Open64 already have
openmp support.
While for LLVM, I think other guys in this maillist can give you much
more information : )
yours,
Ling kun