-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
completely eliminate dependency on LLVM library API calls #25492
Copy link
Copy link
Open
Labels
backend-llvmThe LLVM backend outputs an LLVM IR Module.The LLVM backend outputs an LLVM IR Module.enhancementSolving this issue will likely involve adding new logic or components to the codebase.Solving this issue will likely involve adding new logic or components to the codebase.upstreamAn issue with a third party project that Zig uses.An issue with a third party project that Zig uses.
Milestone
Metadata
Metadata
Assignees
Labels
backend-llvmThe LLVM backend outputs an LLVM IR Module.The LLVM backend outputs an LLVM IR Module.enhancementSolving this issue will likely involve adding new logic or components to the codebase.Solving this issue will likely involve adding new logic or components to the codebase.upstreamAn issue with a third party project that Zig uses.An issue with a third party project that Zig uses.
Issue close criteria:
src/zig_llvm.cpp,src/zig_llvm.h, andsrc/codegen/llvm/bindings.zigPrerequisite of:
Depends on:
ZigLLVMTargetMachineEmitToFilevia passing an LLVM bitcode file (.bc) to the Clang command line. This may require getting patches landed upstream.ZigLLVMSetOptBisectLimitwith clang CLIThis issue mainly concerns transitioning from calling into LLVM as a library into calling into Clang as a standalone executable. For the purposes of this issue it doesn't matter whether Clang is exposed via a sub-command of the zig binary (
zig clang), or whetherclangis found at runtime. The point is that object files are produced by creating bitcode files and then invoking clang as a separate process to compile those bitcode files into object files.