Matt Arsenault via llvm-dev
2017-Jul-24 21:00 UTC
[llvm-dev] Making an analysis availble during call lowering
> On Jul 24, 2017, at 13:52, Hal Finkel via llvm-dev <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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170724/887a6ce7/attachment.html>
Matt Arsenault via llvm-dev
2017-Jul-31 19:31 UTC
[llvm-dev] Making an analysis availble during call lowering
> On Jul 24, 2017, at 14:00, Matt Arsenault <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. > > -Mattping -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170731/42a71431/attachment.html>
Hal Finkel via llvm-dev
2017-Aug-01 04:47 UTC
[llvm-dev] Making an analysis availble during call lowering
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>