upgrade llvm@22
This commit is contained in:
@@ -14,10 +14,10 @@
|
||||
## 0. TL;DR + feasibility
|
||||
|
||||
* **Feasible today, no new infrastructure.** sx already links LLVM (`build.zig:10`
|
||||
→ `/opt/homebrew/opt/llvm@19`) and `@cImport`s `llvm-c/Core.h`
|
||||
→ `/opt/homebrew/opt/llvm@22`) and `@cImport`s `llvm-c/Core.h`
|
||||
(`src/llvm_api.zig:1-17`). That header exposes everything inline asm needs,
|
||||
reachable right now through `llvm_api.c.*`:
|
||||
* `LLVMGetInlineAsm(Ty, AsmString, AsmStringSize, Constraints, ConstraintsSize, HasSideEffects, IsAlignStack, Dialect, CanThrow)` — builds the asm callee (LLVM 19/21 share this 9-arg signature).
|
||||
* `LLVMGetInlineAsm(Ty, AsmString, AsmStringSize, Constraints, ConstraintsSize, HasSideEffects, IsAlignStack, Dialect, CanThrow)` — builds the asm callee (LLVM 19–22 share this 9-arg signature).
|
||||
* `LLVMInlineAsmDialectATT` / `LLVMInlineAsmDialectIntel`.
|
||||
* `LLVMBuildCall2(...)` — already used pervasively in `src/ir/emit_llvm.zig` (e.g. the Obj-C msgSend path) — calls the asm value like a function.
|
||||
* `LLVMAppendModuleInlineAsm(M, Asm, Len)` — module-level (global) asm.
|
||||
|
||||
Reference in New Issue
Block a user