Commit graph

21 commits

Author SHA1 Message Date
Andrzej Janik
c92abba2bb
Refactor compilation passes (#270)
The overarching goal is to refactor all passes so they are module-scoped and not function-scoped. Additionally, make improvements to the most egregiously buggy/unfit passes (so the code is ready for the next major features: linking, ftz handling) and continue adding more code to the LLVM backend
2024-09-23 16:33:46 +02:00
Andrzej Janik
46def3e7e0
Connect new parser to LLVM bitcode backend (#269)
Some checks failed
Rust / Build and publish (Linux) (push) Has been cancelled
Rust / Build and publish (Windows) (push) Has been cancelled
This is very incomplete. Just enough code to emit LLVM bitcode and continue further development
2024-09-13 01:07:31 +02:00
Andrzej Janik
193eb29be8
PTX parser rewrite (#267)
Some checks failed
Rust / Build and publish (Linux) (push) Has been cancelled
Rust / Build and publish (Windows) (push) Has been cancelled
Replaces traditional LALRPOP-based parser with winnow-based parser to handle out-of-order instruction modifer. Generate instruction type and instruction visitor from a macro instead of writing by hand. Add separate compilation path using the new parser that only works in tests for now
2024-09-04 15:47:42 +02:00
Andrzej Janik
b763415006 Add CUDA tests showing problems with .shared unification 2021-09-27 00:42:10 +02:00
Andrzej Janik
82510ce8fd Convert unit tests to HIP 2021-09-06 22:58:12 +02:00
Andrzej Janik
648035a01a Update rspirv/spirv_headers to the newest version 2021-03-02 01:42:23 +01:00
Andrzej Janik
d3cd2dc8b4 Do slightly better when it comes to PTX error recovery 2021-03-01 02:24:27 +01:00
Andrzej Janik
2b3ecc99e3 Implement pass to handle .extern .shared and add parsing code for it 2020-10-18 14:46:05 +02:00
Andrzej Janik
3e92921275 Fix remaining bugs in vector destructuring and in the process improve implicit conversions 2020-10-01 18:11:57 +02:00
Andrzej Janik
87cc72494e Parse Linux vectorAdd debug PTX kernel 2020-09-02 02:03:13 +02:00
Andrzej Janik
2e4cadc2ab Refactor main library, implement some more functionality 2020-09-01 01:43:09 +02:00
Andrzej Janik
872d69c714 Implement constants in translation middle-end 2020-07-20 00:01:03 +02:00
Andrzej Janik
f2f3eeb303 Validate PTX build tests against SPIR-V sources 2020-07-12 14:58:54 +02:00
Andrzej Janik
531cefce36 Remove all OCL use and clean up a little spirv_run tests 2020-05-14 02:18:25 +02:00
Andrzej Janik
4b894abd96 Clean up L0 use 2020-05-14 02:03:39 +02:00
Andrzej Janik
5e25a222f4 Use L0 USM to run a kernel with input bitcast to global pointer 2020-05-12 01:20:31 +02:00
Andrzej Janik
d0aa5ba564 Add a simple (and failing) PTX end-to-end test 2020-05-10 22:30:34 +02:00
Andrzej Janik
0c71826bc7 Fix buggy comparison in immediate dominators calculation 2020-04-19 21:54:53 +02:00
Andrzej Janik
bbe993392b Add better error handling during ast construction 2020-04-12 20:50:34 +02:00
Andrzej Janik
b8129aab20 Start emitting ptx module from compilation 2020-04-03 01:23:11 +02:00
Andrzej Janik
66e0323c66 Start parsing PTX text 2020-03-09 23:54:44 +01:00