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

PPU LLVM: Improve precompilation time #14197

Merged
merged 2 commits into from Jul 15, 2023
Merged

PPU LLVM: Improve precompilation time #14197

merged 2 commits into from Jul 15, 2023

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Jul 14, 2023

  • Drop PPU linking stage from precompilation, this does not affect EBOOT.BIN compilation when booting games of course but affects the precompilation of SELF, MSELF and SPRX.
  • Fixes a tiny race when stopping emulation which could resulted in PPU attempting to execute LLVM compiled code but no function pointers have been written yet.

@elad335 elad335 force-pushed the llvm-link branch 2 times, most recently from e55966a to 542fd27 Compare July 14, 2023 15:17
// Analyse executable (TODO)
ovlm->analyse(0, ovlm->entry, end, applied);
if (!ovlm->analyse(0, ovlm->entry, end, applied, cpu ? std::function<bool()>() : [cpu, is_emulating = (vm::base(ovlm->segs[0].addr) == ovlm->segs[0].ptr)]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this the wrong way around?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes :)

@elad335 elad335 force-pushed the llvm-link branch 2 times, most recently from 5e369eb to 9f478ac Compare July 14, 2023 15:41
@Megamouse Megamouse added the Optimization Optimizes existing code label Jul 14, 2023
@elad335 elad335 merged commit 1371bf8 into RPCS3:master Jul 15, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Optimization Optimizes existing code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants