加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

LLVM 中间代码 和字节码的生成

(2012-10-17 16:46:48)
标签:

llvm

中间表示

字节码

杂谈

分类: 统计分析与R语言

1. LLVM可以先生成中间代码 .ll 文件

  >> clang -O0 -emit-llvm filename.c -S -o filename.ll

          -O0 表示 无优化

          -emit-llvm 与 -S 搭配 可以生成 LLVM中间表示 .ll

  >> lli filename.ll  # 直接执行中间表示码

    *.ll格式 如下实例:

   

源代码:
unsigned add(unsigned a, unsigned b) {


  return a+b;
}

 

中间表示:
define i32 @add(i32 %a, i32 %b) {
entry:
  %tmp1 = add i32 %a, %b
  ret i32 %tmp1
}

2.  生成的中间表示可以通过 llvm-as命令 转化为字节码 .bc

    >> llvm-as filename.ll -o filename.bc

    >> lli filename.bc   执行字节码

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有