Commit Graph

145 Commits

Author SHA1 Message Date
khyperia
b94de84cb8 Add mem2reg 2020-10-08 10:26:19 +02:00
khyperia
20cd6507c1 Write our own inliner 2020-10-07 12:39:58 +02:00
khyperia
87329d5add Properly implement memset dynamic size 2020-10-05 17:04:12 +02:00
khyperia
5057dfc144 rustup update 2020-10-05 11:51:30 +02:00
khyperia
3a44679729 Properly implement all the hacks I did to get hello-world-triangle working 2020-10-04 16:23:09 +02:00
khyperia
8854fa575b Zombie primitives if their capabilities aren't there 2020-10-01 11:59:47 +02:00
khyperia
2c1b73ab9a Zombie branches before structurizer is done 2020-09-30 16:02:40 +02:00
khyperia
127cc1bb99 really_unsafe_ignore_bitcasts 2020-09-30 15:50:38 +02:00
Jake Shadle
13c7530a1a Add basic CI (#40) 2020-09-29 18:00:57 +02:00
khyperia
c464caf088 Add -C target-feature=+shader support
Eventually shaders will be the default and -C target-feature=+kernel
will be a thing, but, not right now due to shaders being borked
2020-09-29 15:35:08 +02:00
khyperia
eaf350d2a8 Optimize a little bit of kill_linkage_instructions that I forgot, which reduces time by another 2-3x
Also add various other timers, and use the helpful timer() function
2020-09-29 13:04:55 +02:00
khyperia
9bd7db20df Significantly refactor import_export_link to improve its speed by 12x 2020-09-28 16:29:26 +02:00
khyperia
8f1d69848f Add timers to compiler and linker 2020-09-28 14:51:04 +02:00
khyperia
df3da15f0b -C codegen-units isn't needed anymore 2020-09-28 13:48:33 +02:00
khyperia
3f3672eaa9 Add build_libcore_test to cargo test
Also delete extremely outdated test/lib.rs file.
2020-09-28 13:09:38 +02:00
khyperia
7e7055ab1a Move finalizing_passes.rs to linker 2020-09-28 10:40:56 +02:00
khyperia
c8712a9047 Add in some capability stuff
Also make env var checks runtime, not compiletime.
2020-09-26 15:32:18 +02:00
khyperia
46c2b2bda2 Clean up run_libcore_test and try to get it to work 2020-09-25 13:42:44 +02:00
khyperia
4e79b4e824 intel-compute-runtime doesn't support i8 or i16 atomics 2020-09-25 11:35:13 +02:00
khyperia
01a831e508 intel-compute-runtime doesn't like OpLogicalNot 2020-09-25 11:22:55 +02:00
khyperia
7b45f88052 OpAccessChain on structs should take u32 2020-09-24 18:31:19 +02:00
khyperia
3821aa2060 Add support for spirv v1.3 2020-09-24 18:20:46 +02:00
khyperia
3e569e3a32 Add run_libcore_test 2020-09-24 13:12:34 +02:00
khyperia
90e539fc26 declared_values isn't needed now that the DeclareMethods trait is gone 2020-09-23 10:48:41 +02:00
khyperia
01845cf930 use bimaps, they're neat! 2020-09-23 10:39:51 +02:00
khyperia
1921ecc4a1 Fix up constants accidentally being emitted inside functions 2020-09-23 10:16:18 +02:00
khyperia
0546f521d8 Fix up zombie export with temp hack
This is to get ID rewrite passes to understand zombie exports (e.g. the
ID offsetter)
2020-09-22 20:24:54 +02:00
khyperia
31e8d95898 RPO alg already deletes dead blocks 2020-09-22 16:02:36 +02:00
khyperia
cc916c784e Documentation, code shuffling, and RPO block sorting 2020-09-22 15:51:30 +02:00
khyperia
1b3e5230da Disable opaque type naming for now 2020-09-22 13:53:58 +02:00
khyperia
0b5a02def0 Print full types to figure out errors better 2020-09-22 13:35:43 +02:00
khyperia
ec49140058 Move zombie pass to linker 2020-09-22 12:59:23 +02:00
khyperia
82b596cb97 rustup update 2020-09-22 09:15:08 +02:00
khyperia
4140589ca7 Link globals 2020-09-21 15:38:20 +02:00
khyperia
11fcf56935 Re-add things that shouldn't have been removed 2020-09-21 15:38:06 +02:00
khyperia
ebff8a8f39 Write some docs 2020-09-21 14:49:05 +02:00
khyperia
78f7d8f91c Interfaces and kernel entry points 2020-09-21 11:23:23 +02:00
khyperia
d212f489a1 Remove intrinsics now handled by rustc_codegen_ssa 2020-09-21 09:59:55 +02:00
khyperia
6da1ac5474 rustup update 2020-09-21 09:37:31 +02:00
khyperia
bc003cf6a2 Apparently I pseudo-ADHD'd away from this comment in the middle of writing it and never came back to finish it 2020-09-18 09:56:23 +02:00
Jasper Bekkers
9697c22740 Linker perf (#33)
* Improve linker performance - this should loop over data significantly less

* Remove Rc and RefCell because they weren't needed in the end

* Moved some code into a DefUseAnalyer

* Point to same rspirv

* Link to rspirv git instead of locally
2020-09-17 10:55:44 +02:00
khyperia
85e7a6a951 Caching constant system 2020-09-16 17:32:21 +02:00
khyperia
0a2629ef13 Documentation! 2020-09-16 16:08:08 +02:00
khyperia
213db43d68 Remove all references to wasm 2020-09-16 14:18:10 +02:00
khyperia
c2996046ed Split codegen_cx.rs into modules 2020-09-16 10:50:57 +02:00
khyperia
4e3f1db15a Add entry attribute 2020-09-15 17:17:48 +02:00
khyperia
24e03a5c0b Extract spirv attribute parsing to its own function 2020-09-15 16:11:53 +02:00
khyperia
fd1471066d right! non-cdylibs dylibs exist. neat! 2020-09-15 16:03:26 +02:00
khyperia
d6a1e0372f Pass through inline attribute 2020-09-15 15:32:40 +02:00
khyperia
2a66153840 Add spirv-std crate 2020-09-15 15:17:27 +02:00