[LLVMdev] CodeExtractor status?

Brandon Holt bholt at cs.washington.edu
Mon Nov 18 12:43:58 PST 2013


I am working on a pass to extract small regions of code to run somewhere else (different node in a cluster). Basically what I need is the ability to isolate a region of code, get its inputs and outputs, create a new function with the extracted code and code aggregating the in and out parameters as structs that can be cast for a “void*”-based interface.

It looks like the CodeExtractor (include/Transforms/Util/CodeExtractor.h) does nearly all of this, with the exceptions that I need to generate a different “call”, and I need to be able to separate the outputs and inputs. 

I think I should be able to do what I want by making modifications after calling the CodeExtractor. But since there was a discussion (http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-May/049405.html) about some uses that sound very similar to mine, such as offloading a kernel to an accelerator and branching between the original and extracted code, I wanted to see if any of this functionality had made its way into public branches (or other projects) that I can leverage.

Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131118/ed500502/attachment.html>


More information about the llvm-dev mailing list