Add more documentation mentioning the limitations due to PR2660.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62919 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2009-01-24 15:58:40 +00:00
parent 629e92b63b
commit d8791e5ed7

View File

@ -1344,6 +1344,13 @@ value.</p>
</tr>
</tbody>
</table>
<p>Note that the code generator does not yet support large integer types
to be used as function return types. The specific limit on how large a
return type the code generator can currently handle is target-dependent;
currently it's often 64 bits for 32-bit targets and 128 bits for 64-bit
targets.</p>
</div>
<!-- _______________________________________________________________________ -->
@ -1404,6 +1411,11 @@ As a special case, however, zero length arrays are recognized to be variable
length. This allows implementation of 'pascal style arrays' with the LLVM
type "{ i32, [0 x float]}", for example.</p>
<p>Note that the code generator does not yet support large aggregate types
to be used as function return types. The specific limit on how large an
aggregate return type the code generator can currently handle is
target-dependent, and also dependent on the aggregate element types.</p>
</div>
<!-- _______________________________________________________________________ -->
@ -1489,6 +1501,12 @@ instruction.</p>
an <tt>i32</tt>.</td>
</tr>
</table>
<p>Note that the code generator does not yet support large aggregate types
to be used as function return types. The specific limit on how large an
aggregate return type the code generator can currently handle is
target-dependent, and also dependent on the aggregate element types.</p>
</div>
<!-- _______________________________________________________________________ -->
@ -1593,6 +1611,12 @@ be any integer or floating point type.</p>
<td class="left">Vector of 2 64-bit integer values.</td>
</tr>
</table>
<p>Note that the code generator does not yet support large vector types
to be used as function return types. The specific limit on how large a
vector return type codegen can currently handle is target-dependent;
currently it's often a few times longer than a hardware vector register.</p>
</div>
<!-- _______________________________________________________________________ -->
@ -2042,8 +2066,13 @@ return value.</p>
ret { i32, i8 } { i32 4, i8 2 } <i>; Return an aggregate of values 4 and 2</i>
</pre>
<p>Note that the code generator does not yet fully support larger
aggregate return values.</p>
<p>Note that the code generator does not yet fully support large
return values. The specific sizes that are currently supported are
dependent on the target. For integers, on 32-bit targets the limit
is often 64 bits, and on 64-bit targets the limit is often 128 bits.
For aggregate types, the current limits are dependent on the element
types; for example targets are often limited to 2 total integer
elements and 2 total floating-point elements.</p>
</div>
<!-- _______________________________________________________________________ -->