[LLVMdev] Thoughts about the llvm architecture
Chris Lattner
clattner at apple.com
Mon Aug 2 10:13:25 PDT 2010
On Jul 29, 2010, at 5:24 AM, Jochen Wilhelmy wrote:
> Hi!
>
> The following thoughts about the llvm architecture I'd like to share
> with you
> (from the perspective of a user):
>
> - If a backend has no vector support, then I wonder why there is no
> de-vectorization
> pass that operates on indermediate llvm-ir. I would think that if you
> use such a target
> then you have to insert a target independent pass before it that it does
> not have to
> care about vector code. The advantage is that constant vector components
> can already
> be handled by instcombine. what do you think?
>
> - If the integer width of a backend is smaller than the integers in the
> llvm-ir (e.g.
> an 8 bit microcontroller) then i also would expect a target independent
> integer
> splitting. the difficulty here is how to handle carry in the ir. but the
> advantage would
> be that if i have e.g. int32_t a = 5 then three of the four bytes are
> zero and can
> be optimized by instcombine. I have seen very bad code in the output of
> avr-gcc in this case.
Legalize and DAG combine already handle these cases. Why would we want to duplicate the code?
-Chris
More information about the llvm-dev
mailing list