[llvm-dev] Making an analysis availble during call lowering

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 31 21:47:55 PDT 2017

On 07/31/2017 02:31 PM, Matt Arsenault wrote:
>> On Jul 24, 2017, at 14:00, Matt Arsenault <arsenm2 at gmail.com 
>> <mailto:arsenm2 at gmail.com>> wrote:
>>> On Jul 24, 2017, at 13:52, Hal Finkel via llvm-dev 
>>> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>> On 06/13/2017 12:46 PM, Arsenault, Matthew via llvm-dev wrote:
>>>> Hi,
>>>> I want to be able to access a custom analysis pass during call 
>>>> lowering, but there isn't a way to access this now and I'm not sure 
>>>> the least bad way to thread this information into the DAG.
>>>> I want to be able to use knowledge of the callee function to change 
>>>> the lowering of a call. Since AMDGPUDAGToDAGISel is ultimately a 
>>>> normal MachineFunction pass, I'm able to get the interprocedural 
>>>> analysis pass there but don't have a way to pass this into the call 
>>>> lowering where it's actually needed.
>>>> The laziest option would be to stash the pointer to the analysis in 
>>>> the TargetMachine and get it from there, but is probably not the 
>>>> best idea. Another option might be to store a pointer to the 
>>>> SelectionDAGISel pass in SelectionDAG, so then there's a way to 
>>>> access the pass to get analysis directly. Is there another option?
>>> With the legacy pass manager, are you planning to schedule the 
>>> analysis pass manually and then use getAnalysisIfAvailable?
>>> Thanks again,
>>> Hal
>> I didn’t need to do anything special. addRequired/getAnalysis work.



>> -Matt
> ping

Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170731/ead12969/attachment.html>

More information about the llvm-dev mailing list