[LLVMdev] Why IR portable?

Jean-Daniel Dupas devlists at shadowlab.org
Wed Dec 22 04:46:13 PST 2010


While it is possible to generate portable IR,  LLVM IR obtained from non target neutral languages (C for example) is not target neutral.

So, clang and llvm-gcc generated IR are not "portable".

Le 22 déc. 2010 à 13:21, 汶翰 (Wen-Han) a écrit :

> Dear all,
> 
> I cannot find the answer of this question.
> We all know LLVM IR is portable, but it uses ILP32 and record the target layout within the IR.
> 
> 
> target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
> target triple = "x86_64-linux-gnu"
> 
> It seems it already assigned their sizes mapping with types.
> How can it be portable? Isn't it been written there?
> If any response, I'm appreciated for that.
> Thank you.
> 
> -- 
> Best regards,
> Wen-Han (Nowar)
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-- Jean-Daniel




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101222/13540c66/attachment.html>


More information about the llvm-dev mailing list