[LLVMdev] Dematerializing functions during opt

Job Noorman jobnoorman at gmail.com
Sun Mar 18 02:15:38 PDT 2012


I'm writing an opt pass that adds a lot of new functions to a module. In some 
extreme cases, this causes opt to fail with out-of-memory errors.

Since all the created functions quickly become unneeded for my pass, I am 
trying to find a way to discard them from memory (i.e., write them to disk).

I noticed there is a method to do just this: GlobalValue::Dematerialize. 
However, there does not seem to be an appropriate GVMaterializer to do the 
job.

So, I was wondering if there is an existing way to dematerialize functions 
during opt. And if there's not, could someone give some pointers on how to add 
one?

Thanks in advance,
Job



More information about the llvm-dev mailing list