美文网首页iOS
LLVM中间代码

LLVM中间代码

作者: 东方诗空 | 来源:发表于2022-04-02 10:27 被阅读0次

LLVM

OC -> 中间代码(.ll) -> 汇编、机器代码

Objective-C在变为机器代码之前,会被LLVM编译器转换为中间代码(Intermediate Representation)

可以使用以下命令行指令生成中间代码
clang -emit-llvm -S main.m

语法简介
@ - 全局变量
% - 局部变量
alloca - 在当前执行的函数的堆栈帧中分配内存,当该函数返回到其调用者时,将自动释放内存
i32 - 32位4字节的整数
align - 对齐
load - 读出,store 写入
icmp - 两个整数值比较,返回布尔值
br - 选择分支,根据条件来转向label,不根据条件跳转的话类似 goto
label - 代码标签
call - 调用函数

具体可以参考官方文档:https://llvm.org/docs/LangRef.html

相关文章

  • LLVM的中间代码(IR)

    Objective-C在变为机器代码之前,会被LLVM编译器转换为中间代码 OC -> 中间代码(.ll) -> ...

  • LLVM中间代码

    LLVM OC -> 中间代码(.ll) -> 汇编、机器代码 Objective-C在变为机器代码之前,会被LL...

  • Bitcode功能

    LLVM是目前苹果采用的编译器工具链,Bitcode是LLVM编译器的中间代码的一种编码,LLVM的前端可以理解为...

  • iOS学习-Runtime-2

    五、LLVM OC在变为机器代码之前,会被LLVM编译器转化为中间代码。 六、具体应用 1、线上bug查找 七、面...

  • 浅谈编译过程

    级别:★☆☆☆☆标签:「编译过程」「GCC」「LLVM」「Clang」「词法分析」「语法分析」「中间代码」「目标文...

  • Clang命令

    xcrun -sdk iphoneos指定平台 -arch arm64指定架构 查看LLVM的中间代码IR (In...

  • LLVM 编译器

    Objective-C在变为机器代码之前,会被LLVM编译器转换为中间代码(Intermediate Repres...

  • iOS LLVM

    Objective-C在变成机器码之前,会被LLVM编译器转换为中间代码 转换指令 语法简介[https://ll...

  • 教你使用swift写编译器玩具(3)

    前言 本章对应官方教程第3章,本章介绍如何将抽象语法树(AST)转换为中间代码(LLVM IR)。 教程如下: 教...

  • 教你使用swift写编译器玩具(4)

    前言 本章对应官方教程第4章,本章介绍如何为中间代码(LLVM IR)添加优化以及添加JIT编译器支持。 教程如下...

网友评论

    本文标题:LLVM中间代码

    本文链接:https://www.haomeiwen.com/subject/tcdcjrtx.html