[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.
Did you add INITIALIZE_PASS_DEPENDENCY somewhere?
-Hal
>>
>> -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