Jajoo, Malhar via llvm-dev
2017-May-27 14:34 UTC
[llvm-dev] Support for non-concrete types in LLVM
Hi, I just wanted to know , I've searched everywhere in the documentation , does LLVM have any support for non-concrete types ? By non-concrete I mean , type like "iN" until runtime and then probably some sort of monomorphization pass can be run to concretize the "iN" types to something like "i56" depending on the runtime parameters. Thanks, Malhar -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170527/0548ba56/attachment.html>
David Chisnall via llvm-dev
2017-May-27 14:37 UTC
[llvm-dev] Support for non-concrete types in LLVM
On 27 May 2017, at 15:34, Jajoo, Malhar via llvm-dev <llvm-dev at lists.llvm.org> wrote:> > > Hi, > > I just wanted to know , I've searched everywhere in the documentation , > does LLVM have any support for non-concrete types ? > > By non-concrete I mean , type like "iN" until runtime and then probably some sort > of monomorphization pass can be run to concretize the "iN" types to something like "i56" > depending on the runtime parameters.No. LLVM is a low-level IR, i.e. one close to how real hardware works but abstracting away differences between targets (e.g. vector lengths, number of registers). There are no mainstream processors that support computations on arbitrary-length types (ARM’s SVE is the closest). David