Commit Graph

862 Commits

Author SHA1 Message Date
khyperia
148f7ba163 Do some atomics 2020-09-07 15:26:34 +02:00
khyperia
81f868d4ec Fix up Option<&u8> constant 2020-09-07 14:24:23 +02:00
khyperia
f557e5b54f Add some intrinsics 2020-09-07 11:45:05 +02:00
khyperia
3bfc0289d6 rustup update 2020-09-07 10:55:14 +02:00
Johan Andersson
8342b34c07
Official emoji in the README 2020-09-07 10:35:17 +02:00
khyperia
c5cf6d089b Handle recursive pointer types 2020-09-07 10:31:16 +02:00
khyperia
cd9e372ddb Refactor scalar type translation 2020-09-07 09:49:53 +02:00
Jasper Bekkers
0c64a5eb33
Proper type checking 2020-09-04 15:35:04 +01:00
Jasper Bekkers
470c2ff2e2
Test case for OpGroupDecorate 2020-09-04 15:35:03 +01:00
Jasper Bekkers
92feaf36f0
Enable test func_ctrl 2020-09-04 15:35:03 +01:00
khyperia
85601dec70 Start work on the surprisingly difficult task of recursive types 2020-09-04 14:14:23 +02:00
khyperia
e177eeed11 Always try to figure out the full type. 2020-09-03 18:01:38 +02:00
Jasper Bekkers
9cdf751643
Add another failing testcase 2020-09-03 18:00:38 +01:00
Jasper Bekkers
cc77d911d3
Add a bunch of test cases from spirv-linker and bug fixes to make these test cases work 2020-09-03 17:58:52 +01:00
Jasper Bekkers
733008a993
Add some tests 2020-09-03 17:58:51 +01:00
Jasper Bekkers
1f4a2d0eb0
Add spirv header 2020-09-03 17:58:51 +01:00
khyperia
9ec911930c Fix up a few little things 2020-09-03 16:49:18 +02:00
khyperia
a8fc001e4c SpirvValue::alignof 2020-09-03 16:15:02 +02:00
khyperia
194e337da3 Split SpirvType into its own file 2020-09-03 15:39:25 +02:00
khyperia
04b4f8aa88 Start implementing proper constants
Also rework ADTs to store their size
2020-09-03 15:35:54 +02:00
khyperia
582258a873 Even more intrinsics 2020-09-02 17:53:01 +02:00
khyperia
b6d2c0972b 64 bit switches 2020-09-02 17:53:01 +02:00
Ari V
e1f1d88d33
Fix small typos 2020-09-02 16:28:36 +02:00
Jasper Bekkers
8a71903c2e
Formatting 2020-09-02 15:16:13 +01:00
Jasper Bekkers
dfb0db67a0
Compact ids 2020-09-02 14:11:42 +01:00
Jasper Bekkers
e08ad8ca4e
Drop linkage related OpDecorates, import functions/variables and OpCapability Linkage 2020-09-02 14:11:42 +01:00
Jasper Bekkers
65dd2f1149
Cleanup import/export pair matching, strip annotations for imports and replace all uses of imported symbol with the exported symbol 2020-09-02 14:11:41 +01:00
Jasper Bekkers
f11a49619a
Check for import/export type matches 2020-09-02 14:11:41 +01:00
khyperia
82292799b6 Implement a bunch of stuff 2020-09-02 14:00:55 +02:00
Jasper Bekkers
52084da4b0
Basic steps on linker 2020-09-01 22:58:26 +01:00
khyperia
e31ea83852 Delete old scripts no longer used 2020-09-01 16:44:51 +02:00
khyperia
902bf36105 Implement a bunch of type stuff
Also fix a particularly nasty thing, pointed out with the WARN comment,
that I missed when reading the codegen_llvm code.
2020-09-01 16:42:29 +02:00
khyperia
25915bbb3f Tuples in trans_struct and TyKind::FnPtr 2020-09-01 15:39:58 +02:00
khyperia
7d534dfabe Implement some more intrinsics 2020-09-01 15:21:26 +02:00
khyperia
2f9a09ae94 Implement bool<->int conversion 2020-09-01 14:25:01 +02:00
khyperia
f9e96fcad8 Don't pass through is_immediate for Abi::ScalarPair wrapped in struct 2020-09-01 14:11:03 +02:00
khyperia
e408920497 FnAbi arg PassMode::Pair type is immediate, not memory 2020-09-01 13:37:15 +02:00
khyperia
f79ca6cfef enums? 2020-09-01 10:32:47 +02:00
khyperia
17814d69d1 PassMode::Cast 2020-09-01 10:08:01 +02:00
khyperia
aec0b72e5e Move to trait methods for type translation 2020-09-01 09:48:53 +02:00
khyperia
33120c9bfb Fix up some misc missing items 2020-08-31 17:06:31 +02:00
khyperia
26134b23b7 Intcast does width changes 2020-08-31 16:34:11 +02:00
khyperia
4aadec8c55 Broken attempts to get GlobalAlloc::Memory working 2020-08-31 16:27:20 +02:00
khyperia
e4a569b44e Implement some math intrinsics 2020-08-31 15:19:10 +02:00
khyperia
710e33258e Return value pointer comes *before* arguments, not after. 2020-08-31 14:13:35 +02:00
khyperia
3f820b328d Refactor trans_scalar_pair 2020-08-31 13:47:50 +02:00
khyperia
52e29caef9 Add names to structs 2020-08-31 11:54:46 +02:00
khyperia
c64f433135 Various printing helpers and ergonomic refactorings 2020-08-31 11:05:08 +02:00
khyperia
65e80668d7 Add blocklist and try to do some stuff with Scalar::Ptr 2020-08-31 09:37:49 +02:00
khyperia
e41b1a775d Implement some memset 2020-08-28 09:22:33 +02:00