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>
Matt Arsenault via llvm-dev
2017-Aug-01 05:00 UTC
[llvm-dev] Making an analysis availble during call lowering
> On Jul 31, 2017, at 21:47, Hal Finkel <hfinkel at anl.gov> wrote: > > > > Did you add INITIALIZE_PASS_DEPENDENCY somewhere? > > -HalYes, the selector is ultimately a target defined, normal MachineFunction pass you can add dependencies on. -Matt -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170731/8f60d080/attachment.html>
Hal Finkel via llvm-dev
2017-Aug-01 16:51 UTC
[llvm-dev] Making an analysis availble during call lowering
On 08/01/2017 12:00 AM, Matt Arsenault wrote:> >> On Jul 31, 2017, at 21:47, Hal Finkel <hfinkel at anl.gov >> <mailto:hfinkel at anl.gov>> wrote: >> >> >> Did you add INITIALIZE_PASS_DEPENDENCY somewhere? >> >> -Hal > > Yes, the selector is ultimately a target defined, normal > MachineFunction pass you can add dependencies on.Sounds good. -Hal> > -Matt >-- 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/20170801/b3f0e193/attachment.html>