[LLVMdev] Matching up inlined basic blocks with original basic blocks.

Hal Finkel hfinkel at anl.gov
Sun Aug 3 21:25:49 PDT 2014


----- Original Message -----
> From: "Chandler Carruth" <chandlerc at google.com>
> To: "Jeremy Salwen" <jeremysalwen at gmail.com>
> Cc: "llvmdev" <llvmdev at cs.uiuc.edu>
> Sent: Sunday, August 3, 2014 9:18:38 PM
> Subject: Re: [LLVMdev] Matching up inlined basic blocks with original basic	blocks.
> 
> On Sun, Aug 3, 2014 at 6:36 PM, Jeremy Salwen <
> jeremysalwen at gmail.com > wrote:
> 
> 
> 
> Hello All,
> 
> I have some data tied to the basic blocks in a function, and after
> inlining that function, I'd like to recover that data in the inlined
> version. Is there some way to match up the inlined version of the
> function with the original basic blocks?
> See the code in CloneFunctionInto and CloneAndPruneFunctionInto. This
> is what does the actual inlining. You can see how that code tracks
> the basic blocks after inlining.
> 
> 
> Honestly, the right way to do this architecturally is for us to
> support metadata attached to basic blocks (if we don't already?) and
> then for the inliner to preserve it when inlining. Then you could
> use metadata as a container for your data.

We don't currently support metadata on basic blocks. There was a patch for this some time ago, http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120507/142379.html.

 -Hal

> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list