Displaying 5 results from an estimated 5 matches for "abi_or_pref".
2017 May 22
2
How exactly is datatype alignment determined?
On Mon, 22 May 2017, Dr. ERDI Gergo wrote:
> Actually, tracking down the sequence of function calls, it turns out that '8'
> is ultimately coming from the following call in DataLayout::getAlignment:
>
> getAlignmentInfo(AGGREGATE_ALIGN, 0, abi_or_pref, Ty);
>
> this seems to return 8 with the following datalayout string:
>
> e-S8:p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8
>
> I think my problem is that 'a:8' probably doesn't mean what I think it should
> mean. What is the difference between 'a:8' a...
2017 May 22
2
How exactly is datatype alignment determined?
On Mon, 22 May 2017, Krzysztof Parzyszek via llvm-dev wrote:
> Probably from LargeArrayMinWidth/LargeArrayAlign settings in Targets.cpp (in
> clang).
Wait what? In clang? But my input is already LLVM IR.
MF->getDataLayout().getPrefTypeAlignment(Ty) must be basing its answer on
either something in the IR file, or in the target implementation, but
clang is not really in the picture.
2010 Mar 15
0
[LLVMdev] [patch] Writing ConstantUnions
...ment_end(); i != e; ++i) {
+ Size = std::max(Size, getTypeSizeInBits(*i));
+ }
+ return Size;
+ }
case Type::IntegerTyID:
return cast<IntegerType>(Ty)->getBitWidth();
case Type::VoidTyID:
@@ -516,6 +525,17 @@
unsigned Align = getAlignmentInfo(AGGREGATE_ALIGN, 0, abi_or_pref, Ty);
return std::max(Align, (unsigned)Layout->getAlignment());
}
+ case Type::UnionTyID: {
+ const UnionType *UnTy = cast<UnionType>(Ty);
+ unsigned Align = 1;
+
+ // Unions need the maximum alignment of all their entries
+ for (UnionType::element_iterator i = UnTy-&g...
2010 Mar 15
3
[LLVMdev] [patch] Writing ConstantUnions
Hello,
I noticed a bit of a gap in the current code for unions: a
ConstantUnion cannot be written out to .ll.
Hopefully I'm not stepping on Talin's toes by posting this, it's a
fairly straightforward adaptation of the code for structs just above.
Tim.
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
--------------
2017 May 22
2
How exactly is datatype alignment determined?
...May 2017, Dr. ERDI Gergo wrote:
>>
>> Actually, tracking down the sequence of function calls, it turns out that
>>> '8' is ultimately coming from the following call in
>>> DataLayout::getAlignment:
>>>
>>> getAlignmentInfo(AGGREGATE_ALIGN, 0, abi_or_pref, Ty);
>>>
>>> this seems to return 8 with the following datalayout string:
>>>
>>> e-S8:p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8
>>>
>>> I think my problem is that 'a:8' probably doesn't mean what I think it
>>> shou...