[LLVMdev] optimization passes through c++

Frits van Bommel fvbommel at wxs.nl
Tue May 12 07:24:10 PDT 2009


Ralf Karrenberg wrote:
> - however, there seems to be one optimization that is particularly nasty 
> and I do not know how to disable it: at certain points where a struct 
> with three floats is supplied, the struct is split into a double and a 
> float (for loading/storing, but this also affects function signatures!)

I don't think this is an optimization. It does this (at least, for functions 
signatures) to be compatible with regular (non-llvm) gcc/g++.
For example, this would generate the appropriate code if your llvm-g++ is 
targeted at x86-64. (So would using { <2 x float>, float } instead, probably, 
but that's another matter...)



More information about the llvm-dev mailing list