aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/spirv
AgeCommit message (Collapse)Author
2022-07-04stage2: disable unit tests when building with stage1Andrew Kelley
They trip LLVM assertions and spirv is not needed to bootstrap. Not important for these tests to pass with stage1.
2022-04-27std: replace usage of std.meta.bitCount() with @bitSizeOf()Isaac Freund
2022-02-24spirv spec: do not align packed struct fieldsVeikka Tuominen
2022-01-31stage2: update to new ArrayHashMap APIAndrew Kelley
2022-01-28spirv: spir-v dedicated type systemRobin Voetter
2022-01-28spirv: new moduleRobin Voetter
This introduces a dedicated struct that handles module-wide information.
2022-01-28spirv: model spir-v section as separate typeRobin Voetter
The idea is that this type gains the relevant low-level instruction emitting functions, and that higher-level checks and deduplications are performed somewhere else.
2022-01-28spirv: regenerate specRobin Voetter
Regenerate the specification with the improvements previously made to the spirv spec generator.
2021-09-01stage2: update for new usingnamespace semanticsAndrew Kelley
2021-06-14add ast-check flag to zig fmt, fix found bugsVeikka Tuominen
2021-05-15Merge remote-tracking branch 'origin/master' into stage2-whole-file-astgenAndrew Kelley
Conflicts: * build.zig * src/Compilation.zig * src/codegen/spirv/spec.zig * src/link/SpirV.zig * test/stage2/darwin.zig - this one might be problematic; start.zig looks for `main` in the root source file, not `_main`. Not sure why there is an underscore there in master branch.
2021-05-14SPIR-V: Re-generate spec.zigRobin Voetter
2021-04-15stage2: improvements aimed at std lib integrationAndrew Kelley
* AstGen: emit decl lookup ZIR instructions rather than directly looking up decls in AstGen. This is necessary because we want to reuse the same immutable ZIR code for multiple generic instantiations (and comptime function calls). * AstGen: fix using members_len instead of fields_len for struct decls. * structs: the struct_decl ZIR instruction is now also a block. This is so that the type expressions, default field value expressions, and alignment expressions can be evaluated in a scope that contains the decls from the struct namespace itself. * Add "std" and "builtin" packages to the builtin package. * Don't try to build glibc, musl, or mingw-w64 when using `-ofmt=c`. * builtin.zig is generated without `usingnamespace`. * builtin.zig takes advantage of `std.zig.fmtId` for CPU features. * A first pass at implementing `usingnamespace`. It's problematic and should either be deleted, or polished, before merging this branch. * Sema: allow explicitly specifying the namespace in which to look up Decls. This is used by `struct_decl` in order to put the decls from the struct namespace itself in scope when evaluating the type expressions, default value expressions, and alignment expressions. * Module: fix `analyzeNamespace` assuming that it is the top-level root declaration node. * Sema: implement comptime and runtime cmp operator. * Sema: implement peer type resolution for enums and enum literals. * Pull in the changes from master branch: 262e09c482d98a78531c049a18b7f24146fe157f. * ZIR: complete out simple_ptr_type debug printing
2021-01-19SPIR-V: Add generated specificationRobin Voetter