[LLVMdev] larger-than-legal types in LLVM IR

Sanjay Patel spatel at rotateright.com
Mon Jan 19 16:38:11 PST 2015


Are there any LLVM guidelines / documentation for handling
larger-than-legal data types (either scalars or vectors)?

Currently, the backend may crash [1], miscompile [2], or make a big mess
[3] when presented with data types that are bigger than native.

In the case of [3], is it a bug in the vectorizer to produce a non-legal
vector type (<16 x i64>) or should the backend be able to handle that more
reasonably? In that particular case, things are further complicated because
-loop-unroll is able to completely remove the loop and the large vector
type disappears.

[1] http://llvm.org/bugs/show_bug.cgi?id=19797
[2] http://llvm.org/bugs/show_bug.cgi?id=21184
[3] http://llvm.org/bugs/show_bug.cgi?id=20225
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150119/6433cb7c/attachment.html>


More information about the llvm-dev mailing list