We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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的寄存器会进行写操作,一个线程的写操作可能导致其它线程的缓存失效,这在gameoflife测例使用IRC寄存器分配时造成了严重的性能损失。 一个改进方式是按照spill的寄存器的store操作所在的IR::BB::thread_id,保证不同thread_id在栈上的store操作相距至少64字节。 合理的实现是将StackObject在按thread_id(如果不对应spill的寄存器,则视为0)排序后,在不同thread_id的相邻StackObject之间插入64字节的间隔。
The text was updated successfully, but these errors were encountered:
Wang-Ziyuan
No branches or pull requests
多线程代码spill的寄存器会进行写操作,一个线程的写操作可能导致其它线程的缓存失效,这在gameoflife测例使用IRC寄存器分配时造成了严重的性能损失。
一个改进方式是按照spill的寄存器的store操作所在的IR::BB::thread_id,保证不同thread_id在栈上的store操作相距至少64字节。
合理的实现是将StackObject在按thread_id(如果不对应spill的寄存器,则视为0)排序后,在不同thread_id的相邻StackObject之间插入64字节的间隔。
The text was updated successfully, but these errors were encountered: