LLVM - 编译器前端-llvm 基本块、指令、函数 的关系

一:基础概念:

        在 LLVM 中,基本块、指令和函数是构建中间表示(IR)的核心概念,它们之间有着紧密的关系,首先了解下基本概念。

1. 基本块(Basic Block)

  • 定义:基本块是一个不包含任何跳转指令的线性代码段,执行顺序是从头到尾。每个基本块至少有一个入口和一个出口。
  • 特性
    • 基本块内部的指令会按顺序执行。
    • 基本块的入口和出口可以通过控制流指令(如条件跳转和无条件跳转)连接。
    • 每个基本块都有一个唯一的标识符。

2. 指令(Instruction)

  • 定义:指令是构成基本块的基本单位,表示一条操作,如算术运算、逻辑运算、内存加载/存储、控制流等。
  • 特性
    • 指令可以操作基本块内的变量、常量或其他指令的结果。
    • 指令通常包括操作数和返回值,返回值可以用于后续的指令。
    • 每条指令都可以指定其执行的结果的类型。

3. 函数(Function)

猜你喜欢

转载自blog.csdn.net/zg260/article/details/143277333