similar to: [LLVMdev] Adding option to LLVM opt to disable a specific pass from command line

Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line"

2011 Dec 07
0
[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
Hello, On Dec 7, 2011, at 2:07 AM, Seb wrote: > Hi all, > > I would like to add an option for LLVM 'opt' to disable a specific optimization pass from command line. > > The idea is to have something like: > > opt -O2 -disable-pass=[passname,...] > > Do you think it could be useful ? I have few questions : - Why (and when) would you us this ? - Some of the
2011 Dec 08
3
[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
Hello Devang, answers are interleaved 2011/12/7 Devang Patel <dpatel at apple.com> > Hello, > > On Dec 7, 2011, at 2:07 AM, Seb wrote: > > > Hi all, > > > > I would like to add an option for LLVM 'opt' to disable a specific > optimization pass from command line. > > > > The idea is to have something like: > > > > opt -O2
2014 Sep 29
2
[LLVMdev] questions about getAnalysisUsage
Hi, I notice that there are several different methods called inside getAnalysisUsage(). The parameters of addRequiredID and addPreservedID are passID. What is the difference between Required and Preserved? There are also function named addRequired<PassName>() called. What is the difference between addRequired<PassName>() and addRequiredID(PassID)? Thanks a lot! Best,
2011 Jan 12
1
[LLVMdev] About adding a pass into llvm
I have seen INITIALIZE_PASS(LiveVariables, "livevars", "Live Variable Analysis", false, false); in the llvm/lib/codegen/LiveVariables.cpp, where LiveVariables is a subclass of MachineFunctionPass, and #define INITIALIZE_PASS(passName, arg, name, cfg, analysis) \ static RegisterPass<passName> passName ## _info(arg, name, cfg, analysis) in PassSupport.h Is this code used
2016 Mar 22
1
Passing llvm option -mem2reg to clang
Unless mem2reg does something other than my understanding of it, I can't see why any pass would "require" that... It is not guaranteed to do anything to any particular piece of code, so relying on it seems very unreliable, I would think. -- Mats On 22 March 2016 at 04:32, Kevin Hu via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Hi, > > > Is there any way that
2020 Jan 24
3
Module::createRNG() and new PassManager
Correct me if I'm wrong, but is Module::CreateRNG(Pass *) unusable with the new PassManager? Since each pass is defined as a llvm::PassInfoMixIn<DerivedT> instead of inheriting from llvm::Pass, it doesn't seem possible to obtain the underlying llvm::Pass * from e.g. llvm::ModuleAnalysisManager. Would it make sense to change the definition/implementation to Module::CreateRNG(StringRef
2011 Dec 09
3
[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
2011/12/9 Joerg Sonnenberger <joerg at britannica.bec.de> > On Fri, Dec 09, 2011 at 10:03:37AM +0100, Seb wrote: > > I think my explanation is not clear, my front-end did NOTt generate > > 'llvm.memcpy' it generate LL code that after use of LLVM 'opt' get > > transformed by 'loop-idom' pass into an 'llvm.memcpy' for an overlapping >
2011 Dec 09
2
[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
David, I think my explanation is not clear, my front-end did NOTt generate 'llvm.memcpy' it generate LL code that after use of LLVM 'opt' get transformed by 'loop-idom' pass into an 'llvm.memcpy' for an overlapping loop: static void t0(int n) { int i; for (i=0; i<n; i++) result[i+1] = result[i]; } Then 'llc' expanded llvm.memcpy into a
2011 Dec 09
0
[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
On Fri, Dec 09, 2011 at 10:03:37AM +0100, Seb wrote: > I think my explanation is not clear, my front-end did NOTt generate > 'llvm.memcpy' it generate LL code that after use of LLVM 'opt' get > transformed by 'loop-idom' pass into an 'llvm.memcpy' for an overlapping > loop: > > static void > t0(int n) > { > int i; > for (i=0;
2015 Oct 09
2
Get instance of CallGraph of a module in the pass
Hello, I want an instance of CallGraph in my pass. By looking at -dot-callgraph source, I've tried something like this: CallGraphWrapperPass *CGWP = new CallGraphWrapperPass(); PM.add(CGWP); CallGraph *CG = &CGWP->getCallGraph(); PM.add(new MyPass(CG)); I get the following error: /home/riyad/installs/llvm-3.7.0/include/llvm/PassSupport.h:95:38: error: no matching constructor for
2010 Oct 06
2
[LLVMdev] Segmentation Fault of BasicCallGraph?
Hi, I did a little experiment, basically to extract implemented CallGraph to be a "new" pass with different registered name, and run the "new" pass, but the result always gives out Segmentation Fault... I am probably missing sth? Implemented another new class, class BasicCallGraph2 : public ModulePass, public CallGraph { ..... ... } The inside code is exact same as
2010 Jul 23
0
[LLVMdev] Controlling the order of a FunctionPass
Trevor Harmon wrote: > On Jul 22, 2010, at 2:05 PM, John Criswell wrote: > > >> If you write your pass as a ModulePass, then you can iterate over the >> functions in any order that you want. >> > > I had considered that, but my FunctionPass depends on other passes > processing the functions first: > Two things to consider: 1) The PassManager
2012 Feb 29
2
[LLVMdev] Is it an opt bug ?
Hi Seb, > If I remove datalayout definition, code is not optimized and work as expected. > So my question is: > > What attribute/value/interpretation of data-layout would cause this type of bug? all kinds of optimizers use datalayout (and are disabled if there is none). For example, alias analysis, anything that needs to understand getelementptr offsets, the list is endless. I
2012 Feb 29
2
[LLVMdev] Is it an opt bug ?
Hi Seb, > Already done here : http://llvm.org/bugs/show_bug.cgi?id=12130 that doesn't describe the original issue (second store removed), it is talking about a different issue that appeared at -O1 (and it first seemed to explain your original problem; but now I think the -O1 transform was correct and does not explain your original problem). Ciao, Duncan. > > Thanks for your
2012 Feb 29
0
[LLVMdev] Is it an opt bug ?
Already done here : http://llvm.org/bugs/show_bug.cgi?id=12130 Thanks for your answers Best Regards Seb 2012/2/29 Duncan Sands <baldrick at free.fr> > Hi Seb, > > > If I remove datalayout definition, code is not optimized and work as >> expected. >> So my question is: >> >> What attribute/value/interpretation of data-layout would cause this type
2007 Feb 15
6
Connect PBX CO Port to TDM FXS Port
I would like to connect a Legacy PBX (Avaya IP Office 406) to an Asterisk Server. The Avaya has 3 CO Ports available. I thought buying a TDM30B card with 3 FXS ports to connect the * to the Avaya CO Ports. Is this the right approach? Does any one have experience with such a configuration? Thanks in advance for all recommandations and suggestions.... Daniel Kocher
2009 Jun 05
1
[LLVMdev] Analysis Pass
Hi, I am trying to set a prerequisite pass. void PassName::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<LiveVariables>(); } But when i am running the pass with the opt i get this error: undefined symbol: _ZN4llvm13LiveVariables2IDE If you need more information ... Thank you. -------------- next part -------------- An HTML
2010 Jul 29
1
[LLVMdev] Controlling the order of a FunctionPass
On Jul 23, 2010, at 7:36 AM, John Criswell wrote: > 2) For prerequisite *analysis* passes (like LoopInfo), your ModulePass > can declare them as prerequisites and get access to them using the > getAnalysis<PassName>(Function *) method. Yes, I remember trying this before but was unsuccessful. I made a second attempt just now and am again running into the same issue: bool
2011 Dec 09
0
[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
On 12/9/2011 8:23 AM, Seb wrote: > This thread is not to discuss how relevant this example is. I just would > like to know: > a) If people think that adding an option to disable a specific pass is > useful. Yes, a peer of mine recently wanted such an option to disable individual passes in order to 1) narrow in on a bug in one of them that affected stack back tracing, and 2) provide
2012 Oct 30
1
[LLVMdev] Error when trying to chain two llvm transform passes
On Oct 30, 2012, at 3:15 PM, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote: > On 10/30/2012 4:10 PM, Ashwin kumar wrote: >> >> Assertion failed: (PI && "Expected required passes to be initialized"), >> function schedulePass, file PassManager.cpp, line 597. >> >> >> I register the passes using RegisterPass function call.