[LLVMdev] Does LLVM 3.5 works with IR from LLVM 3.0?

John Criswell jtcriswel at gmail.com
Tue Jul 15 07:46:05 PDT 2014


On 7/15/14, 9:32 AM, Gaoyao Xiao wrote:
> Hi,
>
>
> I have some IR files which can  be compiled using llc-3.0 and 
> gcc-4.6.3. I want to instrument these IR files. My instrumentation 
> pass is implemented under LLVM-3.5 and some data structures in 
> LLVM-3.5 are not available on LLVM-3.0, such as /AttributeSet/ in 
> /Attribute.h/. I tried to compile my instrumentation pass under 
> LLVM-3.0 and it failed due to missing data types. So I am asking 
> whether it is possible to use LLVM-3.5 to instrument the IR files?  If 
> not, is there any walk around?

I believe LLVM 3.5 is supposed to be able to read bitcode files from 
LLVM 3.0.  It is possible, though, that bugs may prevent this from 
working.  If it doesn't work, you should probably file a bug report with 
(if possible) a reduced test case.

If reading the old bitcode files directly into opt/clang/whatever 
doesn't work, try disassembling the bitcode into an assembly file with 
llvm-dis from LLVM 3.0 and re-assembling the output using llvm-as from 
LLVM 3.5:

llvm-dis-3.0 -f -o - file.bc | llvm-as-3.5 -f -o newfile.bc

Regards,

John Criswell

>
> Thanks!
> Gaoyao
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140715/6559ceaf/attachment.html>


More information about the llvm-dev mailing list