LLVM后端Skill LLVMBackend

LLVM后端技能是编译器开发中的核心模块,专注于将高级中间表示(IR)转换为高效机器码。它涵盖LLVM IR生成、优化通道配置、目标代码发射和JIT编译集成。关键词:LLVM后端,编译器优化,代码生成,IR转换,JIT编译,交叉编译,性能优化。

架构设计 0 次安装 0 次浏览 更新于 2/25/2026

名称: LLVM后端 描述: LLVM集成专家技能,包括IR生成、优化通道和原生代码发射 类别: 代码生成 允许工具:

  • 读取
  • 写入
  • 编辑
  • 全局搜索
  • 文本搜索
  • Bash

LLVM后端技能

概述

LLVM集成专家技能,包括IR生成、优化通道和原生代码发射。

能力

  • 从高级AST/IR生成LLVM IR
  • 配置和运行LLVM优化通道
  • 实现自定义LLVM通道
  • 处理LLVM类型系统映射
  • 生成调试信息(DWARF)
  • 配置目标机器和代码生成选项
  • 实现LLVM JIT(ORC、MCJIT)集成
  • 处理交叉编译目标三元组

目标流程

  • code-generation-llvm.js
  • jit-compiler-development.js
  • debugger-adapter-development.js
  • ir-design.js

依赖项

  • LLVM C++ API
  • llvm-sys绑定
  • Inkwell(Rust LLVM绑定)

使用指南

  1. 类型映射:建立源类型与LLVM类型之间的清晰映射
  2. SSA形式:利用LLVM的SSA形式;生成干净的IR并让LLVM进行优化
  3. 调试信息:从一开始就使用DIBuilder生成调试信息
  4. 优化级别:首先使用-O0进行测试,然后逐步启用优化
  5. 目标配置:将目标特定代码抽象在目标三元组配置之后

输出模式

{
  "type": "object",
  "properties": {
    "llvmVersion": { "type": "string" },
    "targetTriple": { "type": "string" },
    "optimizationLevel": {
      "type": "string",
      "enum": ["O0", "O1", "O2", "O3", "Os", "Oz"]
    },
    "passes": {
      "type": "array",
      "items": { "type": "string" }
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}