[llvm-dev] Multi-Threading Compilers

Doerfert, Johannes via llvm-dev llvm-dev at lists.llvm.org
Thu Mar 26 08:26:43 PDT 2020

On 3/26/20 5:53 AM, Florian Hahn wrote:
>> It also doesn't solve the problem of Functions themselves -- those are
>> also GlobalValues…
> I am not sure why not. Function passes should only rely on the information at the callsite & from the declaration IIRC. For functions, we coulkd add extra declarations and update the call sites. But I might be missing something.

FWIW, I think deleting and creating functions (or globals in general) 
should be hidden behind an API that would allow us to synchronize things 
in parallel runs.

I don't believe there are many passes that would be affected and we 
could "easily" make this happen. Hide the constructors and destructors 
so that only the friend API can access it.

> Cheers,
> Florian

More information about the llvm-dev mailing list