LLVM (Low Level Virtual Machine) 主要用於:

  1. 編譯器後端
    • 負責將 BPF C 程式碼編譯成 BPF bytecode
    • 將高階程式碼轉換為 eBPF 指令集
    • 進行程式碼最佳化
  2. BTF (BPF Type Format) 生成
    • 產生偵錯資訊
    • 生成型別資訊
    • 支援 CO-RE (Compile Once Run Everywhere)
  3. 開發流程中的角色
Rust/C 源碼 -> LLVM IR -> BPF bytecode -> 載入核心
參考資料