TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Scheduling Model in LLVM

86 pointsby mshockwave10 months ago

3 comments

rerdavies10 months ago
I rather suspected that compiler toolchains had this level of insight into processor architecture when doing instruction scheduling. Back in the 686 era, one could just about carry a model of the execution architecture in your head, and just maybe occasionally wring an extra 3 to 5% performance using hand-crafted assembler without having to bring in heavy-duty Intel profilers to search for instruction stalls. And, pleasantly, 686 architecture lasted for a long time, so it was actually a worthwhile investment to understand instruction scheduling on the 686.<p>Nowadays, compilers seem to produce code that beats my hand-crafted assembler pretty much every time. Sure, it&#x27;s still possible to optimize C&#x2F;C++ code so it makes better use of caches, or tweak code to allow the compiler to make better use of available registers. But now I know why compilers do better instruction scheduling than I can, especially with the proliferation of execution architectures. I can&#x27;t imagine a human competing with that level of insight into instruction throughput anymore.<p>Thanks for the insight.
sroussey10 months ago
Re: instruction scheduling<p>“In this post, I went through the basics of LLVM’s scheduling model and show how to specify the scheduling information for individual instructions. On top of that, I explained different kinds of processor resource buffers and their use cases.”
high_na_euv10 months ago
Interesting blog, looking forward to see more llvm posts
评论 #41173551 未加载