Displaying 20 results from an estimated 43 matches for "analysismanagers".
Did you mean:
analysismanager
2018 Sep 02
2
possible inconsistency in PassManagerInternal.h
Hello,
(fairly new around here, apologies if the question has an obvious answer)
I've been studying the structure of the new PassManager in the hopes of using it soon. After watching a couple of talks (Chandler / Sergeev), I decided to start with the Concept/Model classes in PassManagerInternal.h
While I could make sense of almost everything there, two details caught my attention:
1- The
2016 Jul 13
5
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
With D21921 and a couple other pending patches, we now have the full LTO
pipeline converted to the new PM. I was trying it out on test-suite and
SPEC2006. Yay!
This email is about one issue that I ran into testing the pipeline on
test-suite. The issue arose in the wild as an interaction between lcssa and
gvn. But the issue is extremely general.
What happened is that BasicAA uses
2018 Aug 21
2
Function optimization pass
Hi Philip,
Thanks for the response. Under llvm-5.0.2 and llvm-6.0.1 in Debug mode, the
crash hit at the same assertion:
/usr/local/include/llvm/IR/PassManager.h:689: typename PassT::Result&
llvm::AnalysisManager<IRUnitT, ExtraArgTs>::getResult(IRUnitT&, ExtraArgTs
...) [with PassT =
llvm::InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Loop,
2014 Jun 18
2
[LLVMdev] PM: High-level review of the new Pass Manager (so far)
...Note that neither of these matches the old interface, which was
runOnIRUnit: IRUnit* -> bool.
- PassManagers interoperate via adaptors. E.g.,
ModuleToFunctionPassAdaptor is a module transformation pass that
contains a FunctionPassManager (with some set of function passes).
- AnalysisManagers interoperate via proxies. E.g.,
FunctionAnalysisManagerModuleProxy is a module analysis pass that
forwards to a FunctionAnalysisManager.
- LazyCallGraph and ModuleToPostOrderCGSCCPassAdaptor collude to visit
SCCs in post-order, including API for updating the SCC-graph
on-the-fly...
2016 Jul 13
3
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
On Tue, Jul 12, 2016 at 10:57 PM, Chandler Carruth <chandlerc at gmail.com>
wrote:
> Yea, this is a nasty problem.
>
> One important thing to understand is that this is specific to analyses
> which hold references to other analyses. While this isn't unheard of, it
> isn't as common as it could be. Still, definitely something we need to
> address.
>
We can call
2017 Jan 28
2
AliasAnalysis supported by the new Pass Manager in v3.9 ?
Looking at the InstructionCombining.cpp code:
PreservedAnalyses InstCombinePass::run(Function &F,
AnalysisManager<Function> &AM) {
auto &AC = AM.getResult<AssumptionAnalysis>(F);
auto &DT = AM.getResult<DominatorTreeAnalysis>(F);
auto &TLI = AM.getResult<TargetLibraryAnalysis>(F);
auto *LI =
2019 Jun 13
3
Using the new pass manager for CodeGen
Hi,
I am looking into potentially porting CodeGen and some of the passes to using the new pass manager. Two questions:
1. Has anybody made an attempt in this direction already? Maybe I am missing a branch out there that has started on this already. From what I can tell, there is no work in-tree in CodeGen that is aware of the new pass manager besides some assembly utilities in BackendUtils.cpp.
2018 Apr 18
2
LLVM Pass Managers
Hi Philip,
Thank you for your reply. So what would be the right way/API to write
out-of-tree pass? I've been using *PassManagerBuilder*, which requires a
callback refering to *legacy::PassManagerBase*, so I guess this will be no
longer the good way to go?
Son Tuan Vu
On Tue, Apr 17, 2018 at 6:06 PM, Philip Pfaffe <philip.pfaffe at gmail.com>
wrote:
> Hi Son,
>
> I have an
2018 Aug 20
2
Function optimization pass
This question has been submitted to stackoverflow
(https://stackoverflow.com/questions/51934964/function-optimization-pass)
but someone suggested me that it should be submitted to llvm-dev mailing
list instead. I'm sorry for the duplication.
I am trying to use PassBulider and FunctionPassManager || to optimize a
function in a module, what I have done is:
mod = ...load module from LLVM
2019 Jul 22
2
Run llvm pass from standalone project
Hi all,
I am trying to use LLVM's AliasAnalysis pass, but from a standalone tool
that uses llvm libraries.
The following is the code snippet I am currently using.
PassBuilder PB;
auto mod_manager = ModuleAnalysisManager { };
PB.registerModuleAnalyses(mod_manager);
AAResults& AAR = mod_manager.getResult<AAManager>(*M);
But the code fails at .getResult with the following error:
2018 Apr 17
0
LLVM Pass Managers
Hi Son,
I have an answer to your first question:
1, What are the differences between *LegacyPassManager* and *PassManager*?
> I see that *opt* uses the former most of the times while the latter is
> used via *PassBuilder* API when an user wants to build her own pipeline,
> but I have no idea why so. What to use and when to use it is not clear to
> me.
>
PassManager is the result
2018 Apr 19
0
LLVM Pass Managers
Hi Son,
PassManagerBuilder is used to populate legacy PassManagers. That role is
taken over by PassBuilder for new-PM passes.
Cheers,
Philip
2018-04-18 13:40 GMT+02:00 Son Tuan VU <sontuan.vu119 at gmail.com>:
> Hi Philip,
>
> Thank you for your reply. So what would be the right way/API to write
> out-of-tree pass? I've been using *PassManagerBuilder*, which requires a
2018 Jul 21
2
Registering passes on a module
Hi all,
I'm trying to build passes with the PassBuilder to optimize the result of
MCJIT (I assume, this is a requirement for performance).
So I do this:
llvm::PassBuilder passBuilder;
llvm::ModulePassManager modulePassManager =
passBuilder.buildPerModuleDefaultPipeline(llvm::PassBuilder::OptimizationLevel::O3);
llvm::ModuleAnalysisManager moduleAnalysisManager;
2016 Jul 13
3
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
On Tue, Jul 12, 2016 at 11:34 PM Sean Silva <chisophugis at gmail.com> wrote:
> On Tue, Jul 12, 2016 at 11:32 PM, Xinliang David Li <davidxl at google.com>
> wrote:
>
>>
>>
>> On Tue, Jul 12, 2016 at 10:57 PM, Chandler Carruth <chandlerc at gmail.com>
>> wrote:
>>
>>> Yea, this is a nasty problem.
>>>
>>> One
2018 Apr 17
2
LLVM Pass Managers
Hello all,
I have 2 separate questions:
1, What are the differences between *LegacyPassManager* and *PassManager*?
I see that *opt* uses the former most of the times while the latter is used
via *PassBuilder* API when an user wants to build her own pipeline, but I
have no idea why so. What to use and when to use it is not clear to me.
2, I've asked this question once but have had no answer,
2018 Apr 20
2
LLVM Pass Managers
+ Vedant: what do you think about the last point, since Debugify is also
related?
Son Tuan Vu
On Thu, Apr 19, 2018 at 6:14 PM, Philip Pfaffe <philip.pfaffe at gmail.com>
wrote:
> Hi Son,
>
> PassManagerBuilder is used to populate legacy PassManagers. That role is
> taken over by PassBuilder for new-PM passes.
>
> Cheers,
> Philip
>
> 2018-04-18 13:40 GMT+02:00
2012 Oct 07
2
[LLVMdev] getting pointer to CFG object for any given C program
Hi,
Let say we have a C program, and we want to get pointer to CFG object
for this code
in order to traverse basic blocks and do some analysis using CFG
object.
From my main program main.cpp, how can I get pointer to CFG object if
argv[1] = hello.c ?
I have seen following places among many in clang/lib or clang/include:
2016 Jul 25
3
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
Sent from my Verizon Wireless 4G LTE DROID
On Jul 25, 2016 6:16 PM, Sean Silva <chisophugis at gmail.com<mailto:chisophugis at gmail.com>> wrote:
>
>
>
> On Mon, Jul 25, 2016 at 9:27 AM, Hal Finkel <hfinkel at anl.gov<mailto:hfinkel at anl.gov>> wrote:
>>
>>
>> ________________________________
>>>
>>> From: "Sean
2018 Apr 20
2
LLVM Pass Managers
Hi Vedant,
Thanks for your reply. More comments inline.
Son Tuan Vu
On Fri, Apr 20, 2018 at 10:19 PM, Vedant Kumar <vsk at apple.com> wrote:
> Hi,
>
> + Chandler, who has a lot more experience with our pass managers.
>
> On Apr 20, 2018, at 12:56 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> + Vedant: what do you think about the last point, since
2018 Apr 20
0
LLVM Pass Managers
Hi,
+ Chandler, who has a lot more experience with our pass managers.
> On Apr 20, 2018, at 12:56 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> + Vedant: what do you think about the last point, since Debugify is also related?
Could you clarify the question? I'm not sure what it is you'd like me to chime in about.
> 2, I've asked this question once but