Commit Graph

  • c0a9e53979 Tiny README formatting tweak Johan Andersson 2020-10-13 23:17:13 +02:00
  • d9b64497fc Make mem2reg support OpAccessChain khyperia 2020-10-13 18:00:04 +02:00
  • b7aa6f310d Renamed structs from NV to KHR (#50) Jasper Bekkers 2020-10-12 17:16:59 +02:00
  • c04ac95860 Make spirv_std be a system crate (i.e. zombieable) khyperia 2020-10-12 16:56:14 +02:00
  • ac2f1c3f6b Disallow pointer to struct containing pointer parameter khyperia 2020-10-12 10:17:48 +02:00
  • aba452e430 Catch pointercasts that are actually struct_geps khyperia 2020-10-10 14:33:14 +02:00
  • bc1358e787 Fix issue with is_system_crate khyperia 2020-10-10 14:21:33 +02:00
  • 01ccf5cf39 Zombies are errors in user code khyperia 2020-10-10 13:53:33 +02:00
  • e56c35aaf3 Docs, and fix clippy issues khyperia 2020-10-10 13:04:18 +02:00
  • 69ecc92ba4 Enable spirv-val by default khyperia 2020-10-10 12:36:53 +02:00
  • 8d3101e81e Change the default shader mode to shader khyperia 2020-10-10 12:34:48 +02:00
  • 80398d8149 Rebuild shader crates if changed khyperia 2020-10-10 12:25:05 +02:00
  • 8c9583f2c6 Maybe fix lint CI by excluding example-runner khyperia 2020-10-09 20:12:39 +02:00
  • 60a4164ca1 Reference rustc_codegen_spirv in spirv-builder khyperia 2020-10-09 20:01:35 +02:00
  • 6b1a292daa Make cargo-run of example work on windows Jasper Bekkers 2020-10-09 19:11:08 +02:00
  • 5fc3c34521 Do an initial sketch of getting-started guide khyperia 2020-10-09 18:15:49 +02:00
  • 1516d864f3 First try at spirv-builder khyperia 2020-10-09 17:22:07 +02:00
  • 6323fc609f Fix mem2reg bugs khyperia 2020-10-08 15:30:35 +02:00
  • ab100e1904 Move SPIRV_VAL to post-link khyperia 2020-10-08 13:44:26 +02:00
  • c627407966 fuse_trivial_branches and remove_nops khyperia 2020-10-08 11:11:43 +02:00
  • 3c1b45a45b rustup update khyperia 2020-10-08 10:51:04 +02:00
  • 45736613a3 Fix tests khyperia 2020-10-08 10:40:18 +02:00
  • b94de84cb8 Add mem2reg khyperia 2020-10-08 10:26:19 +02:00
  • 20cd6507c1 Write our own inliner khyperia 2020-10-07 12:38:35 +02:00
  • 87329d5add Properly implement memset dynamic size khyperia 2020-10-05 17:04:12 +02:00
  • 5057dfc144 rustup update khyperia 2020-10-05 11:38:00 +02:00
  • 3a44679729 Properly implement all the hacks I did to get hello-world-triangle working khyperia 2020-10-04 16:23:09 +02:00
  • 16338fb079 remove duplicate extensions khyperia 2020-10-01 12:46:02 +02:00
  • b0c9965cfb Implement dead code elimination in the linker khyperia 2020-10-01 12:43:52 +02:00
  • 4f10b5ffe8 Import rspirv types in linker khyperia 2020-10-01 12:18:19 +02:00
  • 8854fa575b Zombie primitives if their capabilities aren't there khyperia 2020-10-01 11:59:47 +02:00
  • 28c0885b40 Take annotations into account when merging types khyperia 2020-10-01 11:08:12 +02:00
  • 2c1b73ab9a Zombie branches before structurizer is done khyperia 2020-09-30 16:02:40 +02:00
  • 127cc1bb99 really_unsafe_ignore_bitcasts khyperia 2020-09-30 15:49:01 +02:00
  • 98dfc0cf5e The max_bound pass isn't needed. khyperia 2020-09-30 15:48:22 +02:00
  • 13c7530a1a Add basic CI (#40) Jake Shadle 2020-09-29 18:00:57 +02:00
  • c464caf088 Add -C target-feature=+shader support khyperia 2020-09-29 15:35:08 +02:00
  • eaf350d2a8 Optimize a little bit of kill_linkage_instructions that I forgot, which reduces time by another 2-3x khyperia 2020-09-29 13:04:55 +02:00
  • 9bd7db20df Significantly refactor import_export_link to improve its speed by 12x khyperia 2020-09-28 16:27:32 +02:00
  • 8f1d69848f Add timers to compiler and linker khyperia 2020-09-28 14:51:04 +02:00
  • df3da15f0b -C codegen-units isn't needed anymore khyperia 2020-09-28 13:48:33 +02:00
  • c77224cecb Add CI khyperia 2020-09-28 13:17:31 +02:00
  • 3f3672eaa9 Add build_libcore_test to cargo test khyperia 2020-09-28 13:09:38 +02:00
  • 8e35a22248 Add some docs, and remove sort_globals which isn't needed anymore. khyperia 2020-09-28 11:10:11 +02:00
  • 7e7055ab1a Move finalizing_passes.rs to linker khyperia 2020-09-28 10:40:56 +02:00
  • a91fd92778 Replace complex kill_with with a simple Vec::retain khyperia 2020-09-28 10:31:16 +02:00
  • 8f800c5755 Split linker into lots of files khyperia 2020-09-28 10:02:21 +02:00
  • c8712a9047 Add in some capability stuff khyperia 2020-09-26 15:32:18 +02:00
  • 46c2b2bda2 Clean up run_libcore_test and try to get it to work khyperia 2020-09-25 13:42:44 +02:00
  • 4e79b4e824 intel-compute-runtime doesn't support i8 or i16 atomics khyperia 2020-09-25 11:35:13 +02:00
  • 01a831e508 intel-compute-runtime doesn't like OpLogicalNot khyperia 2020-09-25 11:16:52 +02:00
  • 7b45f88052 OpAccessChain on structs should take u32 khyperia 2020-09-24 18:31:19 +02:00
  • 3821aa2060 Add support for spirv v1.3 khyperia 2020-09-24 18:20:46 +02:00
  • 3e569e3a32 Add run_libcore_test khyperia 2020-09-24 13:12:34 +02:00
  • 90e539fc26 declared_values isn't needed now that the DeclareMethods trait is gone khyperia 2020-09-23 10:48:41 +02:00
  • 01845cf930 use bimaps, they're neat! khyperia 2020-09-23 10:39:51 +02:00
  • 1921ecc4a1 Fix up constants accidentally being emitted inside functions khyperia 2020-09-23 10:16:18 +02:00
  • 336f040299 Remove forgotten println statements khyperia 2020-09-23 10:11:17 +02:00
  • 9f6ee7a217 Properly rewrite memory semantics and scopes in the deduplicator khyperia 2020-09-23 10:08:19 +02:00
  • 66e0730648 Fix remove_duplicate_ext_inst_imports to rewrite OpExtInsts too khyperia 2020-09-22 21:12:13 +02:00
  • 0546f521d8 Fix up zombie export with temp hack khyperia 2020-09-22 19:22:40 +02:00
  • f9d57a01b6 Fix various linker typos and bugs khyperia 2020-09-22 19:06:43 +02:00
  • d4c4834fd6 (badly) implement OpTypeForwardPointer deduplication khyperia 2020-09-22 18:25:48 +02:00
  • 206af9d2a1 Refactor remove_duplicate_types to be a lil cleaner khyperia 2020-09-22 18:19:33 +02:00
  • abdfa35cce Document the remove_duplicate_types functioin khyperia 2020-09-22 17:41:57 +02:00
  • a3f859afa5 Simplify remove_duplicate_types khyperia 2020-09-22 17:26:17 +02:00
  • 31e8d95898 RPO alg already deletes dead blocks khyperia 2020-09-22 16:02:36 +02:00
  • cc916c784e Documentation, code shuffling, and RPO block sorting khyperia 2020-09-22 15:51:30 +02:00
  • 1b3e5230da Disable opaque type naming for now khyperia 2020-09-22 13:53:58 +02:00
  • 0b5a02def0 Print full types to figure out errors better khyperia 2020-09-22 13:35:43 +02:00
  • ec49140058 Move zombie pass to linker khyperia 2020-09-22 12:59:23 +02:00
  • 82b596cb97 rustup update khyperia 2020-09-22 09:14:38 +02:00
  • 7e1e753c59 Fix clippy warnings Jasper Bekkers 2020-09-22 09:11:02 +02:00
  • 3eaa45cc52 Fmt Jasper Bekkers 2020-09-22 09:00:14 +02:00
  • 4140589ca7 Link globals khyperia 2020-09-21 15:38:20 +02:00
  • 11fcf56935 Re-add things that shouldn't have been removed khyperia 2020-09-21 15:38:06 +02:00
  • ebff8a8f39 Write some docs khyperia 2020-09-21 14:49:05 +02:00
  • 78f7d8f91c Interfaces and kernel entry points khyperia 2020-09-21 11:23:23 +02:00
  • d212f489a1 Remove intrinsics now handled by rustc_codegen_ssa khyperia 2020-09-21 09:59:55 +02:00
  • 6da1ac5474 rustup update khyperia 2020-09-21 09:37:31 +02:00
  • bc003cf6a2 Apparently I pseudo-ADHD'd away from this comment in the middle of writing it and never came back to finish it khyperia 2020-09-18 09:56:23 +02:00
  • 9697c22740 Linker perf (#33) Jasper Bekkers 2020-09-17 10:55:44 +02:00
  • 85e7a6a951 Caching constant system khyperia 2020-09-16 17:32:21 +02:00
  • 0a2629ef13 Documentation! khyperia 2020-09-16 16:08:08 +02:00
  • 213db43d68 Remove all references to wasm khyperia 2020-09-16 14:18:10 +02:00
  • c2996046ed Split codegen_cx.rs into modules khyperia 2020-09-16 10:50:57 +02:00
  • 4e3f1db15a Add entry attribute khyperia 2020-09-15 17:17:48 +02:00
  • 24e03a5c0b Extract spirv attribute parsing to its own function khyperia 2020-09-15 16:11:53 +02:00
  • fd1471066d right! non-cdylibs dylibs exist. neat! khyperia 2020-09-15 16:03:26 +02:00
  • d6a1e0372f Pass through inline attribute khyperia 2020-09-15 15:32:40 +02:00
  • 2a66153840 Add spirv-std crate khyperia 2020-09-15 15:17:27 +02:00
  • b345d519bf Add storage class attribute khyperia 2020-09-15 14:42:39 +02:00
  • ec6608f1b5 Export zombie link information khyperia 2020-09-15 10:55:15 +02:00
  • 2b1e8a26df rustup update khyperia 2020-09-14 15:09:43 +02:00
  • 3a895f80b2 Rename poison to zombie khyperia 2020-09-14 14:58:48 +02:00
  • ede5a1ab7f Poison reason tracking khyperia 2020-09-14 10:06:37 +02:00
  • 31ac70ea07 Don't use xargo khyperia 2020-09-14 09:42:00 +02:00
  • 3bba335477 Add binary back Jasper Bekkers 2020-09-14 12:18:04 +01:00
  • e26d1a7616 Fix the horrible no-good very bad u32 sub linkage khyperia 2020-09-11 16:08:01 +02:00
  • c5dfee6e1e Start work on integrating linker khyperia 2020-09-11 13:09:06 +02:00