Commit Graph

97 Commits

Author SHA1 Message Date
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
khyperia
a526109042 Implement bool=i8 and some of the DeclareMethods API 2020-08-27 10:40:31 +02:00
Jasper Bekkers
ab6564e8b1
Simple RFC template, first go (#18) 2020-08-26 14:21:20 +02:00
khyperia
82039169ab Fix up new intrinsic introduced by rustup update 2020-08-26 13:19:28 +02:00
khyperia
5f9ca11eb9 rustup update
Hack in simd128 thingy to supported_target_features to make it compile.
2020-08-26 13:17:00 +02:00
khyperia
3f9e9415ea Consts, and dumping modules on panic 2020-08-26 13:02:49 +02:00
khyperia
eca5254a33 Implement field offsets 2020-08-25 15:21:20 +02:00
khyperia
3a9eea264f Implement type caching
This is prep for implementing field offsets
2020-08-25 14:31:30 +02:00
khyperia
5ae80d3d57 Implement a bunch of simple builder methods 2020-08-25 13:19:29 +02:00
khyperia
1d3ddfbc42 Cache constants and fix up struct GEP 2020-08-25 10:49:49 +02:00
khyperia
645fff1c0e Fix untested mistake 2020-08-24 16:57:45 +02:00
khyperia
cb5fb9d05c Significantly simplify type handling 2020-08-24 16:52:15 +02:00
khyperia
a18421900a Implement GEP correctly (input array uses LLVM-style GEP) 2020-08-24 16:23:11 +02:00
khyperia
0f660928ba Implement some GEPs, some PassModes, and some builtins 2020-08-24 09:45:36 +02:00
Johan Andersson
1e45c25e34 Link meeting issues 2020-08-22 15:24:00 +02:00
khyperia
5f93702a92 Implement many things 2020-08-20 15:13:36 +02:00