different IR from Clang

Dear all;

How difficult will it be to modify the CLANG to produce IR for the Open64 compiler?

Thanks,

10+ man years of work

It is going to be a LOT easier to convert from LLVM IR to Open64's IR.

--Sean Silva

Total BS

Ah, sorry, I'm not that familiar with Open64. After briefly perusing a
paper on WHIRL, I guess I was expecting the desired IR to more like
the "mid WHIRL". From that point of view, my reasoning was that
anything which sidesteps having to interpret the entire C/C++ lowering
semantics (lowering from Clang AST) is going to be a lot easier than
practically any alternative. I agree that it makes sense to lower
Clang AST's if the target is "Very High" or "High" WHIRL.

Are there any interesting optimizations before mid WHIRL?

--Sean Silva

Ah, sorry, I’m not that familiar with Open64. After briefly perusing a
paper on WHIRL, I guess I was expecting the desired IR to more like
the “mid WHIRL”. From that point of view, my reasoning was that
anything which sidesteps having to interpret the entire C/C++ lowering
semantics (lowering from Clang AST) is going to be a lot easier than
practically any alternative. I agree that it makes sense to lower
Clang AST’s if the target is “Very High” or “High” WHIRL.

Are there any interesting optimizations before mid WHIRL?

There are lots of optimizations before “mid WHIRL”, mainly are machine independent optimizations like (LNO, IPA, PREOPT) and some parts in WOPT. “HWHILR” preserves high level control flow structures. In many cases, it is more effective and compact for various optimizations than low levels. If you are interested, please refer to these documents:

www.mcs.anl.gov/OpenAD/open64A.pdf
http://sourceforge.net/projects/open64/files/open64/Documentation/