Displaying 20 results from an estimated 2000 matches similar to: "LLVM Pass Managers"
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 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 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
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
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
2018 Apr 20
0
LLVM Pass Managers
> On Apr 20, 2018, at 1:46 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> 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 <mailto:vsk at apple.com>> wrote:
> Hi,
>
> + Chandler, who has a lot more experience with our pass managers.
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 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,
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 Jun 07
2
RFC: Pass Execution Instrumentation interface
On 06/07/2018 06:11 PM, Chandler Carruth wrote:
> We had already talked about this, so unsurprisingly I'm generally in
> favor of the direction. Some comments below.
>
> On Thu, Jun 7, 2018 at 2:00 AM Fedor Sergeev <fedor.sergeev at azul.com
> <mailto:fedor.sergeev at azul.com>> wrote:
>
> - access through LLVM Context (allows to control life-time and
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
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;
2019 Dec 12
3
Adding custom callback function before/after passes
Hello Fedor.
Thank you for the information.
I made a simple patch that exposes PassInstrumentationCallback so
llvmGetPassPluginInfo can use it: https://reviews.llvm.org/D71086 . Would
this change make sense?
Thanks,
Juneyoung Lee
On Thu, Dec 12, 2019 at 12:44 AM Fedor Sergeev <fedor.sergeev at azul.com>
wrote:
>
>
> On 12/3/19 8:01 PM, Juneyoung Lee via llvm-dev wrote:
>
>
2019 Dec 03
3
Adding custom callback function before/after passes
Hello all,
Is there a way to register callback that runs before/after passes?
PassTimingInfo seems to do a similar thing by calling
PassInstrumentationCallbacks::registerBeforePassCallback /
registerAfterPassCallback, but it is hard-wired with
StandardInstrumentations class.
Do we have something similar to RegisterStandardPasses, so custom callbacks
can be added from somewhere outside LLVM?
2020 Jul 24
2
Regarding the project "Create LoopNestPass"
Hi,
I would like to give a quick update on what my current design and
implementation go like.
Basically, the `FunctionToLoopPassAdaptor` is now modified to a generic
version `FunctionToLoopUnitPassAdaptor`, which allows re-using the existing
codes to implement `FunctionToLoopNestPassAdaptor`, with the help of
additional metadata associated with `Loop` and `LoopNest`. Both
2020 Jul 18
3
Regarding the project "Create LoopNestPass"
Hi,
Thanks for your help! I've checked the sources that you mentioned.
Currently, I think that I would need to implement a
FunctionToLoopNestPassAdaptor which is essentially the same as the
FunctionToLoopPassAdaptor but operates only on LI.getTopLevelLoops().
We might also need a LNPMUpdater (LoopNestPassManagerUpdater) which
disallows adding inner-loops back into the pipeline, and
2018 Sep 25
2
Porting Pass to New PassManager
Frontends _are_ using PassBuilder, but they need to hook into the default
pipeline creation to insert the sanitizer passes.
On Tue, Sep 25, 2018 at 12:15 PM Fedor Sergeev <fedor.sergeev at azul.com>
wrote:
> Hmm... frontends should be using PassBuilder anyway.
> And if they are using PassBuilder then they are using PassRegistry.def as
> well - all the
>
2019 Aug 07
2
Status of the New Pass Manager
On 8/7/19 6:20 PM, Hiroshi Yamauchi wrote:
> I basically run "clang
> -fexperimental-new-pass-manager -print-after-all ..."
>
> It's conceivable that something is different in our setup or in clang
> (from opt)... I'll see if I can reproduce it outside our setup.
Does it depend on machine architecture?
I generally use x86...
regards,
Fedor.
>
> Thanks.
2018 Aug 14
2
Error: ‘class llvm::PassManager<llvm::Module>’ has no member named ‘add’
Hi Philip,
I also tried that including file:
#include "llvm/IR/LegacyPassManager.h"
but error remain same. Please help.
On Tue, Aug 14, 2018, 2:58 AM Philip Pfaffe <philip.pfaffe at gmail.com> wrote:
> Hi Ratnesh,
>
> the PassManager used in that example has moved into the legacy namespace:
> http://llvm.org/doxygen/classllvm_1_1legacy_1_1PassManager.html
>
>