[llvm-dev] Multi-Threading Compilers
Chris Lattner via llvm-dev
llvm-dev at lists.llvm.org
Fri Mar 20 11:11:36 PDT 2020
> On Mar 19, 2020, at 2:31 PM, Johannes Doerfert <johannesdoerfert at gmail.com> wrote:
> I think addressing this issue first makes sense. I would however start
> by determining the actual impact of different design choices here. I
> mean, do we know locks will be heavily contented? If I had to guess I'd
> say most passes will not create or modify functions nor add or remove
The problem isn’t constants or functions themselves, it is that they are instances of llvm::Value. Everything that walks a use/def list would have to run code that checks for this, and every call to inst->setOperand() would have to do locking or conditional locking. This would be a significant across-the-board slowdown for the compiler even when globals and constants are not involved.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev