exo-lang / exo

Exocompilation for productive programming of hardware accelerators
https://exo-lang.dev
MIT License
296 stars 28 forks source link

Let-binding control values. Storing them in memories. #91

Open alexreinking opened 2 years ago

alexreinking commented 2 years ago

We should probably add local control values to the language (write-once, i.e. let-bound).

Additionally, we should consider allowing memory annotations on these variables. It would solve several codegen issues derived from masking in avx512 (where we want a local variable of type __mmask16)

gilbo commented 2 years ago

I suspect that once we have global control value propagation “let-bindings” will be easier to wedge into the program analysis. It may even be possible to support mutating them with the same caveats as apply to global value mutation and imprecision.

On Nov 14, 2021, at 5:58 PM, Alex Reinking @.***> wrote:

 We should probably add local control values to the language (write-once, i.e. let-bound).

Additionally, we should consider allowing memory annotations on these variables. It would solve several codegen issues derived from masking in avx512 (where we want a local variable of type __mmask16)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.