Swift 这门语言编译器的后端是基于 LLVM 的,编译器的前端是 SwiftC,也就是指 Swift 的编译器。
Swift 编译器
Swift 编译器将 Swift 语言编译成 LLVM IR,也就是 LLVM 的中间语言,LLVM
的编译器后端编译成相应的 CPU 可执行文件。
关于 Swift 编译器的相关文档,详情可参考 Swift Compiler 官方文档。
通常,SwiftC 存放在 Xcode 内部:
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc
一些常见的操作如下:
- 生成语法树:
swiftc -dump-ast main.swift
- 生成最简洁的 SIL 代码:
swiftc -emit-sil main.swift
- 生成 LLVM IR 代码:
swiftc -emit-ir main.swift -o maiin.ll
- 生成汇编代码:
swiftc -emit-assembly main.swift -o main.s