Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiler wishlist #30

Open
3 of 6 tasks
neiladit opened this issue Jun 18, 2020 · 2 comments
Open
3 of 6 tasks

Compiler wishlist #30

neiladit opened this issue Jun 18, 2020 · 2 comments
Assignees

Comments

@neiladit
Copy link
Contributor

neiladit commented Jun 18, 2020

Necessary:

  • multi kernel

  • copy local constant, LC which is outside the function body (from the vector code)

  • if statements in vector code is allowed (if they're convergent). Compiler currently assumes straight line code (basic block like).

Optimization:

  • remove if when using PRED_EQ/PRED_NEQ predication

  • stack copy to scratchpad

.
..
...
....

  • synchronization calculations in compiler
@neiladit neiladit assigned neiladit and epeguero and unassigned neiladit Jun 18, 2020
@sampsyo
Copy link
Contributor

sampsyo commented Jun 19, 2020

All this makes sense except for the “local constant” thing... can you explain more about what that is?

Also:

Little things

  • Can we get rid of the logic that follows jumps for "return" blocks? I hope this is not necessary and it rules out more complex CFGs…

Convenience

  • Pragma-based splitter

Optimization (in the long term category)

  • Prefetch code generation (“time travel”)

@sampsyo
Copy link
Contributor

sampsyo commented Jun 19, 2020

Never mind; found the Slack thread where you explained this. Sounds good! Hopefully this isn't too hard to include if it's always at the end of the file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants