aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/llvm/Builder.zig
AgeCommit message (Collapse)Author
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-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
2023-08-05llvm: add const addrspace castRobin Voetter
2023-08-06Implement bitop intrinsics in new LLVM IR builderantlilja
* llvm.bitreverse * llvm.bswap * llvm.ctpop * llvm.ctlz * llvm.cttz
2023-08-06Implement fp intrinsics in new LLVM IR builderantlilja
Intrinsics implemented * llvm.ceil * llvm.cos * llvm.exp * llvm.exp2 * llvm.fabs * llvm.floor * llvm.log * llvm.log10 * llvm.log2 * llvm.round * llvm.sin * llvm.trunc * llvm.fma
2023-08-01llvm: fix data layout calculation for experimental llvm targetsJacob Young
Closes #16616
2023-07-28llvm: fix SysV C abi for structs smaller than two eightbytesJacob Young
Closes #16038 Closes #16288
2023-07-25frontend: forbid packed and extern tuplesAndrew Kelley
2023-07-25make `@typeInfo` not return private declsJacob G-W
fixes #10731 Thanks @nektro for previous work in #14878 This change creates a small breaking change: It removes the `is_pub` field of a decl in `@typeInfo`
2023-07-23llvm: convert global assemblyJacob Young
2023-07-23llvm: convert inline assemblyJacob Young
Also, implement TODOs from a previous commit.
2023-07-23llvm: convert attributes and non-intrinsic callsJacob Young
2023-07-21llvm: fix building for 32-bit targetsAndrew Kelley
2023-07-20llvm: cleanup LLVM IR dumpingJacob Young
2023-07-20llvm: add Builder trailing extra interfaceJacob Young
2023-07-19llvm: fix bootstrapJacob Young
2023-07-19llvm: fix various crashesJacob Young
2023-07-19llvm: minor fixesJacob Young
2023-07-19llvm: convert most instructionsJacob Young
2023-07-19llvm: convert cursor positioningJacob Young
2023-07-19llvm: convert basic block creationJacob Young
2023-07-19llvm: finish converting constantsJacob Young
2023-07-19llvm: cleanup management and implement more const functionsJacob Young
2023-07-19llvm: cleanup initJacob Young
2023-07-19llvm: finish converting `lowerValue`Jacob Young
2023-07-19llvm: convert all calls to `constInt`Jacob Young
2023-07-19llvm: remove more usages of `llvm.Type`Jacob Young
2023-07-19llvm: finish converting `lowerType`Jacob Young
2023-07-19llvm: compute data layout without help like a grownup compilerJacob Young
2023-07-19llvm: start tracking more things without relying on the llvm apiJacob Young