On Fri, Nov 18, 2005 at 05:50:52PM -0800, Chris Lattner wrote:
> * This will not support <some target>!
> 
> As describe above, we won't support every target that GCC currently  
> does.  Three options are possible:
> 
> 1. We (the GCC community) could build an LLVM to GIMPLE translator.   
> This would probably take about as much work as the GIMPLE -> LLVM  
> translator (about  4000 LOC), which is not a huge project.
> 2. We could build an LLVM to RTL translator.

Let's run with the hypotheticals for a bit here... I have questions for
both Chris and for GCC maintainers.

Chris tells me that an LLVM->GIMPLE translator wouldn't have target
dependencies.  I'm not 100% sure I buy that, but I'll take it as given
for now (if not they should be pleasantly small).  So suppose we
implement that.  It seems like a much better choice than RTL anyway.

(A) What bits of LLVM would we be bypassing, and how badly would we
miss them?

I know it has its own register allocation and instruction selection,
and they have advantages and disadvantages relative to the existing
ones.  We could either take advantage of those as a framework to
modernize GCC's, or move on with Andrew's new design to modernize
GCC's.

(B) What bits of GCC would we be bypassing, and how badly would we miss
them?

Presumably, many of the shiny new tree optimizers.  Ow.  But GCC was
not in any state to do this sort of surgery a year ago, I think.

-- 
Daniel Jacobowitz
CodeSourcery, LLC

Reply via email to