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

多线程代码的spill问题 #168

Open
OldDriverTree opened this issue Aug 18, 2022 · 0 comments
Open

多线程代码的spill问题 #168

OldDriverTree opened this issue Aug 18, 2022 · 0 comments
Assignees

Comments

@OldDriverTree
Copy link
Contributor

多线程代码spill的寄存器会进行写操作,一个线程的写操作可能导致其它线程的缓存失效,这在gameoflife测例使用IRC寄存器分配时造成了严重的性能损失。
一个改进方式是按照spill的寄存器的store操作所在的IR::BB::thread_id,保证不同thread_id在栈上的store操作相距至少64字节。
合理的实现是将StackObject在按thread_id(如果不对应spill的寄存器,则视为0)排序后,在不同thread_id的相邻StackObject之间插入64字节的间隔。

@Wang-Ziyuan Wang-Ziyuan self-assigned this Aug 18, 2022
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

2 participants