[cfe-dev] struct copy
Chris Lattner
clattner at apple.com
Sun Sep 28 13:01:39 PDT 2008
On Sep 28, 2008, at 11:59 AM, Argiris Kirtzidis wrote:
>> Note that the llvm type for struct.c doesn't have members that
>> fully overlap "int I".
>
> Ah ok, "unions as the biggest field" is bad. How about if we
> consider unions as arrays (as clang does):
>
> %struct.a = type { i8, double }
> %struct.c = type [12 x i8]
That would solve this problem, but also isn't a universally good thing
to do. Doing things like this can break the (critical for some codes)
Scalar Replacement of Aggregates optimization. In general, it is good
for the front-end to preserve as much accurate type info in the LLVM
IR as possible.
-Chris
More information about the cfe-dev
mailing list