-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Upgrade to LLVM 14 #11274
Copy link
Copy link
Closed
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.frontendTokenization, parsing, AstGen, Sema, and Liveness.Tokenization, parsing, AstGen, Sema, and Liveness.
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.frontendTokenization, parsing, AstGen, Sema, and Liveness.Tokenization, parsing, AstGen, Sema, and Liveness.
Relevant LLVM doc: https://llvm.org/docs/OpaquePointers.html
This lead to the deprecation of a number of C API function that now required to be given both the pointer LLVMValueRef and the pointee LLVMTypeRef:
codegen.cppmake extensive use of all the above functions so a number of changes need to happen there.Trying to compile Zig with LLVM14 currentlly yield 200 warnings and 20 errors which look all related to the above changes.
I've started working on some changes, but I'm not really familiar with
codegen.cppand I'm afraid of making errors and passing the wrong types. But hopefully doing the most of the refactoring myself will allow @andrewrk to focus on the semantic.