Displaying 20 results from an estimated 10000 matches similar to: "using the new PassManager"
2017 Jun 07
3
using the new PassManager
Hi Christian,
Chandler also gave two talks at earlier LLVM conferences, which have
been recorded and should be available online.
Tobias
On Wed, Jun 7, 2017, at 09:50 PM, Philip Pfaffe via llvm-dev wrote:
> Hi Christian,
>
> sadly, there aren't any tutorials currently. The PassManager itself is
> rather well documented, so I recommend taking a look at that.
>
> It also
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
>
>
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
>
2018 Aug 13
2
Error: ‘class llvm::PassManager<llvm::Module>’ has no member named ‘add’
Hi, I am begineer to llvm, implementing a main.cpp from
https://github.com/davidar/lljvm/blob/master/backend/main.cpp
A) : When I am declaring a command:
* PassManager PM*
* PM.add(new DataLayout td)*
It shows error:
>
*error: missing template arguments before ‘PM’*
* PassManager PM;*
^
>*main_test.cpp:48:2: error: ‘PM’ was not declared in this scope*
*
2018 Sep 25
2
Porting Pass to New PassManager
Hi Leonard, Fedor,
while it's true that RegisterPass is not applicable for new-pm passes,
PassRegistry.def is not the whole story. Passes in PassRegistry are
available for the opt tool. The sanitizers are passes that usually get
added to the pipeline by the frontend. There, you need to use PassBuilder's
callbacks mechanism to hook the sanitizer into the optimizer.
Assuming you're
2009 Mar 14
3
[LLVMdev] Strange LLVM Crash
Nyx wrote:
> The linkage type is set to external, I have little code snippet I use to
> register those native functions in the first post of this topic. The global
> DCE pass deletes the unused native functions when run. I commented it out
> for now...
Can you make this happen by writing a custom .ll to demonstrate the
problem? For example:
$ cat gdce.ll
define i32 @foo() {
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
2009 Mar 15
0
[LLVMdev] Strange LLVM Crash
I don't know how to do that. Rather new to LLVM. The functions that get
stripped out are native C++ functions that I'm registering in my execution
engine by doing:
// Create a function type object for the function
llvm::FunctionType* pFuncType = llvm::FunctionType::get(returnType,
argTypes, false);
// Create a function object with external linkage and the specified
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 Sep 28
3
Porting Pass to New PassManager
Is there a reason for why `-asan` and `-asan-module` can be mixed but
Function passes and Module passes with the new PM can't be mixed?
- Leo
On Thu, Sep 27, 2018 at 3:21 AM Fedor Sergeev <fedor.sergeev at azul.com> wrote:
>
> On 09/27/2018 12:25 PM, Philip Pfaffe wrote:
>>
>> `opt < %s -passed='asan' -asan-module -S`
>
> asan-module is another
2018 Sep 27
2
Porting Pass to New PassManager
>
> `opt < %s -passed='asan' -asan-module -S`
>
asan-module is another ModulePass, not a commandline option. You can't mix
that like this.
Cheers,
Philip
> doesn't produce the same IR as
>
> `opt < %s -asan -asan-module -S`
>
> More specifically, the only thing missing seems to be the
> `asan.module_ctor` that should get added to the global
2009 Mar 14
2
[LLVMdev] Strange LLVM Crash
Nyx wrote:
> Ok, well, I seem to have pinpointed the cause of the problem more accurately.
> I'm running some optimization passes on my module after I compile each
> function in my scripting language (functions can be compiled at various
> times, when scripts are loaded). Now it seems these optimization passes will
> prune some of the native C++ functions I'm registering in
2013 Jun 01
0
[LLVMdev] Dead Code Elimination and undef values
Hi Cristianno,
On 01/06/13 01:49, Cristianno Martins wrote:
> Hello there,
>
> I'm writing a transformation pass for LLVM, and I hoped to use dce to clean up
> the resulting code after my pass. I just have some questions about LLVM's dce
> implementation.
>
> Well, my transformation is a function pass, and, after the changes are made,
> some instructions are not
2013 May 31
2
[LLVMdev] Dead Code Elimination and undef values
Hello there,
I'm writing a transformation pass for LLVM, and I hoped to use dce to clean
up the resulting code after my pass. I just have some questions about
LLVM's dce implementation.
Well, my transformation is a function pass, and, after the changes are
made, some instructions are not needed anymore. In order to easily get rid
of those instructions, I'm setting all their uses to
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 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.
2009 Mar 14
0
[LLVMdev] Strange LLVM Crash
The linkage type is set to external, I have little code snippet I use to
register those native functions in the first post of this topic. The global
DCE pass deletes the unused native functions when run. I commented it out
for now...
Nick Lewycky wrote:
>
> Nyx wrote:
>> Ok, well, I seem to have pinpointed the cause of the problem more
>> accurately.
>> I'm running
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,