aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/llvm
AgeCommit message (Collapse)Author
2024-02-21Add LLVM bindings for parsing LLVM bitcodeantlilja
2024-02-21LLVM Builder: Add debug locations to instructionsantlilja
2024-02-21LLVM Builder: Add debug/metadata systemantlilja
2024-02-21LLVM: Add toBitcode to Builderantlilja
2024-02-21LLVM IR specific bitcodeantlilja
2024-02-21Add LLVM bitcode writerantlilja
2024-02-21LLVM Builder: Add dbg.declare and dbg.value intrinsicsantlilja
2024-02-21LLVM Builder: Add integer values to more enums fieldsantlilja
2024-02-21Fix FastMath packed structantlilja
* Added missing legacy field (unused_algebra) * Made struct correct size (u32 -> u8)
2024-02-21Added value_indices and valueIndex to Functionantlilja
value_indices keeps track of the value index of each instruction in the function (i.e skips instruction which do not have a result)
2024-02-21Made .block = false in WipFunction.hasResultWipantlilja
2024-02-21Builder: Add function_attributes_setantlilja
2024-02-21Added opcode functions to Instruction/Constant.Tagantlilja
2024-02-21Added values to AtomicRmw.Operation enum fieldsantlilja
2024-02-21Fixed values in AtomicOrdering enumantlilja
2024-02-21LLVM Builder: Add toLlvm helper to Alignmentantlilja
2024-02-21LLVM Builder: Add strtab helper to Stringantlilja
2024-02-21LLVM Builder: Make Type.Simple reflect LLVM codesantlilja
2024-02-21LLVM: Assign correct values to enum/union tagsantlilja
2024-02-06Builder: fix memory leaksJacob Young
2024-02-04x86_64: fix errors compiling the compilerJacob Young
This fixes issues targetting both `x86_64-linux` and `x86_64-macos` with the self-hosted backend.
2023-11-19compiler: correct unnecessary uses of 'var'mlugg
2023-11-10BitcodeReader: followup cleanupJacob Young
2023-11-09Compilation: forward clang diagnostics to error bundlesJacob Young
2023-10-23Merge pull request #17651 from Vexu/error-limitAndrew Kelley
Make distinct error limit configurable (attempt #2)
2023-10-22remove uses of non-configurable `err_int`Veikka Tuominen
2023-10-21InternPool: store alignment of anon declsAndrew Kelley
Commit 5393e56500d499753dbc39704c0161b47d1e4d5c has a flaw pointed out by @mlugg: the `ty` field of pointer values changes when comptime values are pointer-casted. This commit introduces a new encoding which additionally stores the "original pointer type" which is used to store the alignment of the anonymous decl, and potentially other information in the future such as section and pointer address space. However, this new encoding is only used when the original pointer type differs from the casted pointer type in a meaningful way. I was able to make the LLVM backend and the C backend lower anonymous decls with the appropriate alignment, however I will need some help figuring out how to do this for the backends that lower anonymous decls via src/codegen.zig and the wasm backend.
2023-10-19link: initialize llvm before calling the llvm APIJacob Young
2023-10-19Builder: fix incorrect type for 32-bit systemsJacob Young
2023-10-04comp: add support for -fdata-sectionsJakub Konka
2023-09-19llvm: update address space definitions to LLVM 17Jacob Young
2023-09-19Builder: further constant select cleanupJacob Young
2023-09-19LLVM: update backend to LLVM 17Andrew Kelley
* LLVMConstSelect is removed (see https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179) * a couple functions use uint64_t instead of int now which means we no longer need `@intCast`. release/17.x branch, commit 8f4dd44097c9ae25dd203d5ac87f3b48f854bba8
2023-09-19update for LLVM 17 new target dataAndrew Kelley
New OSs: * UEFI * LiteOS New ABI: * OpenHOS Also update the LLD driver API wrappers.
2023-08-20Revert "llvm: fix bootstrap"Jacob Young
This reverts commit ea72fea1a4e2bc8309c211308f49f7f2c38507be.
2023-08-13cmake: fix auto-detection of various host targetsJacob Young
Closes #16800
2023-08-09llvm: enable even without libllvm linkedJacob Young
2023-08-08llvm: fix alias issuesJacob Young
2023-08-08llvm: finish converting globalsJacob Young
2023-08-08Builder: fix enough bugs to pass the behavior testsJacob Young
without using any information from the LLVM API
2023-08-08llvm: cleanup even more unused LLVM API bindingsJacob Young
2023-08-08llvm: finish converting instructionsJacob Young
2023-08-08llvm: finish converting intrinsicsJacob Young
2023-08-08llvm: convert vector reduction intrinsicsJacob Young
Scratch that thing I said about one pass. :)
2023-08-08Builder: simplify intrinsic tableJacob Young
This format removes back-references allowing it to be parsed in a single pass. It also reduces the number of kinds, simplifying the code.
2023-08-08llvm: finish converting attributes to use Builder and the C LLVM APIJacob Young
2023-08-08llvm: convert intrinsics to using `Builder`Jacob Young
2023-08-08Builder: fix builtin pseudo-instruction dumpingJacob Young
2023-08-08Builder: fix attribute spacingJacob Young
2023-08-05Merge pull request #16705 from antlilja/builder-intrinsicsJacob Young
Implement more intrinsics in new LLVM IR builder API and remove uses of LLVM owns API