Ubuntu下llvm之pass初探
2014-01-13 20:10
417 查看
(说明:llvm版本2.9)
1.根据http://llvm.org/releases/2.9/docs/GettingStarted.html#tutorial
写一个hello world并编译(后面要用到.bc文件)
>
>
>
>
>
>
>
>
2.在llvm-2.9/lib/Transforms/Hello(llvm自带的pass例子)目录下执行make指令:
> $ make
(安装llvm时已经执行make指令在llvm-2.9/Release+Asserts/lib/中产生了LLVMHello.so文件)
3.Running a pass with opt
$ cd test/llvm/hello
gfj@gfj-virtual-machine:~/test/llvm/hello$ opt -load /home/gfj/work/llvm-2.9/Release+Asserts/lib/LLVMHello.so -hello < hello.bc > /dev/null
Hello: main
1.根据http://llvm.org/releases/2.9/docs/GettingStarted.html#tutorial
写一个hello world并编译(后面要用到.bc文件)
#include <stdio.h> int main() { printf("hello world\n"); return 0; }
>
% llvm-gcc hello.c -o hello
>
% llvm-gcc -O3 -emit-llvm hello.c -c -o hello.bc
>
% ./hello
>
% lli hello.bc
>
llvm-dis < hello.bc | less
>
% llc hello.bc -o hello.s
>
Solaris: % /opt/SUNWspro/bin/cc -xarch=v9 hello.s -o hello.native Others: % gcc hello.s -o hello.native
>
% ./hello.native
2.在llvm-2.9/lib/Transforms/Hello(llvm自带的pass例子)目录下执行make指令:
> $ make
(安装llvm时已经执行make指令在llvm-2.9/Release+Asserts/lib/中产生了LLVMHello.so文件)
3.Running a pass with opt
$ cd test/llvm/hello
gfj@gfj-virtual-machine:~/test/llvm/hello$ opt -load /home/gfj/work/llvm-2.9/Release+Asserts/lib/LLVMHello.so -hello < hello.bc > /dev/null
Hello: main
相关文章推荐
- 在 Ubuntu 14.04 上编译 llvm 和 clang 3.8
- ubuntu之apache正向代理及反向代理(ProxyPass\ProxyPassReverse)
- ubuntu安装LLVM和clang
- Android初探:LINUX(Ubuntu)下安装开发环境
- ubuntu初探5---ubuntu目录结构
- Ubuntu 13.04 系统管理初探
- Ubuntu 16.04 python3.5安装llvm 3.9.1、llvmlite 0.16.0、numba 0.30.0
- 在Ubuntu上编译安装LLVM
- Ubuntu编译安装LLVM
- Ubuntu下编译LLVM
- ubuntu初探
- Ubuntu编译安装llvm+clang
- LLVM pass manager debugging
- Android初探:LINUX(Ubuntu)下安装开发环境
- apt的本地化更新初探(需借助虚拟机)(ubuntu)
- Ubuntu 虚拟机环境下配置 Clang/LLVM
- Building LLVM on Ubuntu 12.04 32bit and Ubuntu 13.04 64bit ——LLVM安装编译手记
- llvm 初探
- 在LLVM中编写pass的详细教程(2)
- LLVM 源码分析(五)BasicBlockPass