[LLVMdev] Adding fields in a already built type? (2)
clattner at apple.com
Tue Jun 15 12:14:35 PDT 2010
On Jun 15, 2010, at 11:51 AM, Stéphane Letz wrote:
>> Nope, types are immutable once created. The only thing you can do is "refine" opaque types to other types. There is a section in the programmer's manual on this:
> So I succeeded in using a "PATypeHolder" for the "opaque" type, define a Type* with PointerType::getUnqual, prepare a field, then use " refineAbstractTypeTo " to built the real type with this added field.
> The thing is that I would need to do that repeatedly, that is progressively adding fields, generates code that access those ready fields, and "refine" the type step by step.
> Is that even possible?
It would work, but sounds really inefficient. What are you really trying to do here?
More information about the llvm-dev