[llvm-dev] [Resend] Re: Module::createRNG() and new PassManager

Dominic Chen via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 24 16:29:10 PST 2020

I only came across this today; I was looking for some built-in
functionality in order to generate random numbers in an IR pass. I
believe the desired goal is to seed with the pass name so that the
behavior is deterministic under the same pass and module ID. I have
uploaded a patch to phabricator, D73390.

> On Jan 24, 2020, at 5:15 PM, Fedor Sergeev <fedor.sergeev at azul.com> wrote:
> Dominic,
> what is the intended use of this interface? It seems to be unused in
> llvm repo.
> It is not clear to me why is it needed to seed RNG with pass name, but
> you surely can do that :)
> regards,
> Fedor.
> On 1/25/20 12:55 AM, Dominic Chen via llvm-dev wrote:
>> Correct me if I'm wrong, but is Module::CreateRNG(Pass *) unusable with
>> the new PassManager? Since each pass is defined as a
>> llvm::PassInfoMixIn<DerivedT> instead of inheriting from llvm::Pass, it
>> doesn't seem possible to obtain the underlying llvm::Pass * from e.g.
>> llvm::ModuleAnalysisManager. Would it make sense to change the
>> definition/implementation to Module::CreateRNG(StringRef PassName)?
>> Please CC me on responses.
>> Thanks,
>> Dominic
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

More information about the llvm-dev mailing list