| 基础节点 | DELETED_NODE | 非法值,用于捕获错误 |
| EntryToken | 标记区域的开始 |
| TokenFactor | 合并多个token为单个token结果 |
| 断言节点 | AssertSext, AssertZext | 记录寄存器值是否已进行符号/零扩展 |
| AssertAlign | 记录寄存器值是否具有已知对齐 |
| 叶节点 | BasicBlock, VALUETYPE, CONDCODE, Register, RegisterMask | 各种基础类型节点 |
| Constant, ConstantFP | 常量节点 |
| GlobalAddress, GlobalTLSAddress | 全局地址节点 |
| FrameIndex, JumpTable, ConstantPool | 帧索引和常量池节点 |
| ExternalSymbol, BlockAddress | 外部符号和块地址节点 |
| 地址计算 | GLOBAL_OFFSET_TABLE | GOT地址 |
| FRAMEADDR, RETURNADDR | 帧地址和返回地址 |
| ADDROFRETURNADDR | 返回地址存储位置指针 |
| SPONENTRY | 函数入口栈指针值 |
| 异常处理 | EH_RETURN, EH_SJLJ_SETJMP, EH_SJLJ_LONGJMP | 异常返回和setjmp/longjmp操作 |
| 目标特定 | TargetConstant, TargetConstantFP | 目标特定常量 |
| TargetGlobalAddress, TargetGlobalTLSAddress | 目标特定全局地址 |
| 内建函数 | INTRINSIC_WO_CHAIN, INTRINSIC_W_CHAIN, INTRINSIC_VOID | 无副作用和有副作用的内建函数 |
| 寄存器操作 | CopyToReg, CopyFromReg | 寄存器拷贝操作 |
| 算术运算 | ADD, SUB, MUL, SDIV, UDIV, SREM, UREM | 基础整数算术运算 |
| SMUL_LOHI, UMUL_LOHI | 带高低位的乘法 |
| ADDC, SUBC, ADDE, SUBE | 带进位的加减法 |
| 浮点运算 | FADD, FSUB, FMUL, FDIV, FREM | 基础浮点运算 |
| STRICT_FADD, STRICT_FSUB, STRICT_FMUL | 严格模式浮点运算 |
| 向量操作 | BUILD_VECTOR, INSERT_VECTOR_ELT, EXTRACT_VECTOR_ELT | 向量构建和元素操作 |
| CONCAT_VECTORS, INSERT_SUBVECTOR, EXTRACT_SUBVECTOR | 向量连接和子向量操作 |
| VECTOR_SHUFFLE, VECTOR_REVERSE | 向量重排和反转 |
| 比较操作 | SETCC, SELECT, VSELECT | 条件设置和选择操作 |
| 类型转换 | SIGN_EXTEND, ZERO_EXTEND, TRUNCATE | 整数类型扩展和截断 |
| SINT_TO_FP, UINT_TO_FP, FP_TO_SINT, FP_TO_UINT | 整数浮点类型转换 |
| 位操作 | AND, OR, XOR, BSWAP | 位运算和字节交换 |
| CTTZ, CTLZ, CTPOP, BITREVERSE | 位计数和反转操作 |
| 移位操作 | SHL, SRA, SRL, ROTL, ROTR | 移位和旋转操作 |
| 内存操作 | LOAD, STORE | 内存加载存储 |
| MLOAD, MSTORE, MGATHER, MSCATTER | 掩码内存操作 |
| 控制流 | BR, BRIND, BRCOND, BR_CC | 分支指令 |
| 函数调用 | CALLSEQ_START, CALLSEQ_END | 调用序列标记 |
| 原子操作 | ATOMIC_LOAD, ATOMIC_STORE, ATOMIC_CMP_SWAP | 原子内存操作 |
| ATOMIC_LOAD_ADD, ATOMIC_LOAD_SUB 等 | 原子读修改写操作 |
| 其他 | STACKSAVE, STACKRESTORE | 栈操作 |
| PREFETCH, MEMBARRIER | 预取和内存屏障 |
| READCYCLECOUNTER | 读取周期计数器 |