Commit graph

336 commits

Author SHA1 Message Date
Andrzej Janik
78a9f22cf7 Refactor implicit conversions, explicit ld/st and global hoisting 2024-09-23 06:02:28 +02:00
Andrzej Janik
7bd4179d1d Add more passes 2024-09-22 19:47:08 +02:00
Andrzej Janik
c84d257bb7 Refactor type-of-function resolution 2024-09-16 17:20:46 +02:00
Andrzej Janik
e87388bc35 Port normalize_predicates 2024-09-16 17:08:12 +02:00
Andrzej Janik
3b5efbf88b Refactor normalize_identifiers 2024-09-16 16:42:34 +02:00
Andrzej Janik
2cd7910d46 Remove Github build workflow 2024-09-13 19:54:43 +02:00
Andrzej Janik
415639da72 Remove sreg address space 2024-09-13 19:46:49 +02:00
Andrzej Janik
02cf83ebb9 Add mov and call support 2024-09-13 19:40:58 +02:00
Andrzej Janik
0417df3015 Pass correct is_dst to call visitor 2024-09-13 18:25:43 +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
872054ae40 Fix linguist instructions 2024-08-07 13:29:03 +02:00
Andrzej Janik
90a1f77891 Update README 2024-08-06 16:32:23 +02:00
Andrzej Janik
164c172236 Clean up ZLUDA redirection helper 2022-02-04 14:14:51 +01:00
Andrzej Janik
2753d956df Overhaul DLL injection 2022-02-04 00:50:25 +01:00
Andrzej Janik
c869a0d611 Add tests for injecting into CLR process 2022-02-03 12:28:42 +01:00
Andrzej Janik
9923a36b76 Redo DLL injection 2022-02-01 23:57:36 +01:00
Andrzej Janik
89bc40618b Implement static typing for dynamically-loaded CUDA DLLs 2022-01-28 16:44:46 +01:00
Andrzej Janik
07aa1103aa Add OGL interop to cuda proc macros 2022-01-26 11:32:20 +01:00
Andrzej Janik
6f76c8b34c Fix crash when printing arrays 2022-01-08 18:44:59 +01:00
Andrzej Janik
2e56871643 Fix luid printing 2022-01-08 00:33:26 +01:00
Andrzej Janik
869efbe0e2 Move zluda_dump to the new CUDA infrastructure 2022-01-07 04:20:33 +01:00
Andrzej Janik
9390db962b Start converting everything to the new log formatting 2021-12-20 09:35:13 +01:00
Andrzej Janik
bdcef897cc Start converting zluda_dump logging to provide more detailed 2021-12-19 01:18:03 +01:00
Andrzej Janik
971951bc9e Improve reporting of recovered unrecognized statement/directive 2021-12-14 00:02:23 +01:00
Andrzej Janik
0ca14d740f Better reporting of unrecognized tokens 2021-12-13 22:25:26 +01:00
Andrzej Janik
7ba1586d6c Make all user errors recoverable 2021-12-13 17:20:06 +01:00
Andrzej Janik
04dbafaf4a Fix typo 2021-12-08 00:39:08 +01:00
Andrzej Janik
50e793e869 Improve logging of dumps 2021-12-08 00:29:00 +01:00
Andrzej Janik
dd915688bd Dump function names and allow overriding result of cuDeviceComputeCapability 2021-12-06 23:54:47 +01:00
Andrzej Janik
2c6d7ffb7a Fix remaining issues with detouring nvcuda 2021-12-05 23:01:46 +01:00
Andrzej Janik
26bf0eeaf2 Add more tests for CUDA redirection 2021-12-02 23:47:37 +01:00
Andrzej Janik
400feaf015 Add test for injecting app that directly uses nvcuda 2021-12-01 23:08:07 +01:00
Andrzej Janik
fd1c13560f Add failing test for overriding directly linked CUDA dll 2021-11-30 01:25:51 +01:00
Andrzej Janik
3558a0a65c Add integration tests for injector 2021-11-28 23:51:41 +01:00
Andrzej Janik
0104814ac3 Refactor ZLUDA redirection 2021-11-27 14:33:04 +01:00
Andrzej Janik
a125b0746f Do full dumping from dark api module creation 2021-11-21 02:23:01 +01:00
Andrzej Janik
2cb5960a18 Add missing file 2021-11-16 02:08:14 +01:00
Andrzej Janik
24e100cb9c Start converting cuModuleLoad to the new tracing infrastructure 2021-11-16 02:07:50 +01:00
Andrzej Janik
e459086c5b Now dump function calls 2021-11-14 02:25:51 +01:00
Andrzej Janik
dd7ced8b37 Create proper logging infrastructure 2021-11-12 00:31:40 +01:00
Andrzej Janik
816365e7df Fix shared munging pass and add fix cuModuleLoadData 2021-09-29 21:49:47 +00:00
Andrzej Janik
0172dc58e5 Redo shared memory transformation 2021-09-29 02:24:32 +02:00
Andrzej Janik
b763415006 Add CUDA tests showing problems with .shared unification 2021-09-27 00:42:10 +02:00
Andrzej Janik
c23be576e8 Finish fixing shared memory pass 2021-09-26 01:24:14 +02:00
Andrzej Janik
370c0bd09e Start implementing .shared unification 2021-09-24 01:31:50 +02:00
Andrzej Janik
9609f86033 Fix minor bugs 2021-09-19 00:39:43 +00:00
Andrzej Janik
afe9120868 Fix linkage 2021-09-18 22:49:00 +00:00
Andrzej Janik
04a411fe22 Have an implementation for vprintf 2021-09-18 20:22:47 +00:00
Andrzej Janik
ccf3c02ac1 Minor fixes 2021-09-18 01:36:12 +00:00