美文网首页
LLVM 编译器

LLVM 编译器

作者: 张_何 | 来源:发表于2021-05-04 19:13 被阅读0次
  • Objective-C在变为机器代码之前,会被LLVM编译器转换为中间代码(Intermediate Representation)
  • 可以使用clang -emit-llvm -S main.m命令行指令生成中间代码
  • LLVM 在编译 oc 代码的时候先将 oc 代码转成中间代码,再有中间代码根据不同的平台(CPU)转换成相应的汇编或机器码
  • LLVM 生成的中间代码是跨平台的
  • LLVM 有自己的一套语法
  • 官方文档
  • 语法简介
  • @ - 全局变量
    
  • % - 局部变量
    
  • alloca - 在当前执行的函数的堆栈帧中分配内存,当该函数返回到其调用者时,将自动释放内存
    
  • i32 - 32位4字节的整数
    
  • align - 对齐
    
  • load - 读出,store 写入
    
  • icmp - 两个整数值比较,返回布尔值
    
  • br - 选择分支,根据条件来转向label,不根据条件跳转的话类似 goto
    
  • label - 代码标签
    
  • call - 调用函数
    

相关文章

  • 二十五、LLVM

    什么是编译器 LLVM概述 LLVM案例体验 LLVM源码 & 编译流程 1 什么是编译器? 1.1 Python...

  • oc- APP编译过程以及启动过程

    简单介绍 - LLVM编译器 苹果使用的是LLVM编译器,LLVM架构设计的非常好,主要分为前端,中间,后端 Fr...

  • iOS LLVM编译流程

    1. LLVM概念 1.1 编译器 LLVM与编译器息息相关,究竟什么是编译器呢?带着疑问往下看吧。编译器就是将一...

  • 初识LLVM&Clang-开发Xcode插件

    初识LLVM&Clang-开发Xcode插件 LLVM Xcode现在使用的编译器就是LLVM。LLVM比以前使用...

  • iOS LLVM-Clang 浅谈

    LLVM概念 LLVM官网: https://llvm.org/ 编译器架构图:image Frontend:前端...

  • iOS llvm-1

    LLVM 传统编译器 LLVM区别于传统的编译器,它前端和后端分开了 LLVM流程1.所有的代码会经过[词法分析,...

  • LLVM 之 初探

    一、编译器概述 编译器就是说将高级语言 翻译 为低级语言的程序。 二、LLVM概述   LLVM 是 构架编译器 ...

  • Bitcode功能

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

  • 30.iOS底层学习之LLVM初了解

    本篇提纲1、LLVM简介2、编译器的一些基础知识 1.LLVM简介 基本介绍 LLVM是架构编译器的框架系统,以c...

  • LLVM架构-编译原理

    什么是LLVM LLVM项目是模块化、可重用的编译器以及工具链技术的集合 The LLVM Project is ...

网友评论

      本文标题:LLVM 编译器

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