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 )
...
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 )
...
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