[llvm] [ORC] Merge MaterializationResponsibility notifyEmitted and addDepend… (PR #79952)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 30 17:05:26 PST 2024


lhames wrote:

> Just to double-check: It remains the object layer that is responsible for calculating the registering the dependencies right? Does the patch make an observable difference for existing use-cases, like LLJIT? My impression is that it doesn't, but it adds the option to tweak dependencies on symbol-level.

Yes: the object linking layers will continue to calculate and register these dependencies for you.

In general it's now the responsibility of whoever calls `MaterializationResponsibility::notifyEmitted` to provide the dependencies. This is more restrictive than the old scheme where anyone holding the `MaterializationResponsibility` prior to calling `notifyEmitted` could add dependencies. In practice that flexibility was not used, and the new restriction supports the dependence tracking simplifications and performance improvements. 

https://github.com/llvm/llvm-project/pull/79952


More information about the llvm-commits mailing list