Displaying 4 results from an estimated 4 matches for "unionlayout".
2009 May 08
3
[LLVMdev] Suggestion: Support union types in IR
...than defining a brand-new LLVM type, I think the best approach is to
generalize the existing StructType. We can change the "isPacked" flag
(which is stored in the SubclassData of the type) to a 3-valued enum
called StructLayout, which has 3 members: UnpackedLayout, PackedLayout,
and UnionLayout.
After that, it's mostly a case of hunting down everywhere that calls
"isPacked", and adding the appropriate case. :)
> -Chris
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> h...
2009 May 08
0
[LLVMdev] Suggestion: Support union types in IR
...and-new LLVM type, I think the best approach is to
> generalize the existing StructType. We can change the "isPacked" flag
> (which is stored in the SubclassData of the type) to a 3-valued enum
> called StructLayout, which has 3 members: UnpackedLayout, PackedLayout,
> and UnionLayout.
>
> After that, it's mostly a case of hunting down everywhere that calls
> "isPacked", and adding the appropriate case. :)
Hi Talin, thanks for looking in to this.
I think there's already a lot of code that makes the assumption that the
different members of a Struct...
2008 Dec 31
0
[LLVMdev] Suggestion: Support union types in IR
On Dec 30, 2008, at 12:41 PM, Talin wrote:
> I've been thinking about how to represent unions or "disjoint types"
> in LLVM IR. At the moment, the only way I know to achieve this right
> now is to create a struct that is as large as the largest type in
> the union and then bitcast it to access the fields contained within.
> However, that requires that the
2008 Dec 30
7
[LLVMdev] Suggestion: Support union types in IR
I've been thinking about how to represent unions or "disjoint types" in LLVM
IR. At the moment, the only way I know to achieve this right now is to
create a struct that is as large as the largest type in the union and then
bitcast it to access the fields contained within. However, that requires
that the frontend know the sizes of all of the various low-level types (the