search for: initializepass

Displaying 20 results from an estimated 37 matches for "initializepass".

Did you mean: initialize_pass
2010 Oct 08
0
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
...t;>> for every pass. >> >> What is this method of our passes supposed to do? Is there a default >> implementation in the Pass class? > > This method is provided for you by INITIALIZE_PASS macros (and > friends). All you have to do is add the declaration to > InitializePasses.h, and add a call of it to the library's batch > initialization method. Is InitializePasses.h an LLVM header file? If so, I assume modifying InitializePasses.h is only required if the pass is part of LLVM. Out-of-tree projects need to be able to create new passes without modifying t...
2010 Oct 08
2
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
...ion consists of an llvm::initializeMyPass method for every pass. > > What is this method of our passes supposed to do? Is there a default implementation in the Pass class? This method is provided for you by INITIALIZE_PASS macros (and friends). All you have to do is add the declaration to InitializePasses.h, and add a call of it to the library's batch initialization method. >> These initialization routines must be invoked before the PassManager will be able to resolve pipelines involving your pass. For convenience, LLVM now exposes per-library batch initialization routines, i.e. init...
2010 Oct 08
2
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
...eMyPass method for every pass. >>> >>> What is this method of our passes supposed to do? Is there a default implementation in the Pass class? >> >> This method is provided for you by INITIALIZE_PASS macros (and friends). All you have to do is add the declaration to InitializePasses.h, and add a call of it to the library's batch initialization method. > > Is InitializePasses.h an LLVM header file? If so, I assume modifying InitializePasses.h is only required if the pass is part of LLVM. Out-of-tree projects need to be able to create new passes without modifying...
2015 Sep 27
2
Registering a MachineFunctionPass
...a machine function pass to run with llc. But I get this error while building: "/home/erdem/llvm/lib/CodeGen/CodeGen.cpp:80: error: undefined reference to 'llvm::initializeNoopInserterPass(llvm::PassRegistry&)'" NoopInserter is the name of my pass. I already added this line to InitializePasses.h: "void initializeNoopInserterPass(PassRegistry&);". Can anyone tell me what the problem is? Thanks in advance,Erdem Derebasoglu -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/201...
2015 Sep 28
2
Registering a MachineFunctionPass
I had INITIALIZE_PASS_BEGIN and INITIALIZE_PASS_END macros. I replaced them with INITIALIZE_PASS but I get the same error. If I understand correctly, I need to modify Passes.h, InitializePasses.h, and Codegen.cpp files to register my pass, right? Another question is: Is it necessary to have the createNoopInserterPass function? Erdem -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/2015092...
2014 Apr 24
4
[LLVMdev] writing an alias analysis pass?
...iasAnalysis.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Support/Debug.h" using namespace llvm; namespace { struct EverythingMustAlias : public ImmutablePass, public AliasAnalysis { static char ID; EverythingMustAlias() : ImmutablePass(ID) {} virtual void initializePass() { DEBUG(dbgs() << "Initializing everything-must-alias\n"); InitializeAliasAnalysis(this); } virtual void getAnalysisUsage(AnalysisUsage &AU) const { AliasAnalysis::getAnalysisUsage(AU); AU.setPreservesAll(); } virtual AliasResult alias(const Location...
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.
2015 Jun 04
5
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 3:58 PM, Duncan P. N. Exon Smith < dexonsmith at apple.com> wrote: > > > Personally, I think the right approach is to add a bool to > createGlobalDCEPass defaulting to true named something like > IsAfterInlining. In most standard pass pipelines, GlobalDCE runs after > inlining for obvious reasons, so the default makes sense. The special case > is
2010 Oct 15
2
[LLVMdev] [LLVMDev] Trouble Linking
...ator()" in my cpp file. 6) I added "initializeRAJDKunk(Registry);" to llvm/lib/CodeGen/CodeGen.cpp in the "void llvm::initializeCodeGen(PassRegistry &Registry)" 7) I added "void initializeRAJDKunk(PassRegistry&);" to the header file "llvm\include\llvm\InitializePasses.h." 8) Cmake ran, and Visaul Studio build all but opt and bugpoint because of the errors at the bottom of this message. 9) I don't know why this does not link anymore. I remember it worked before the API change e-mail was sent, so I assumed I missed something with the api change. This is...
2015 Oct 04
2
How to add NOP?
...rdemderebasoglu at hotmail.com> wrote: > I wrote the pass but when I try to build LLVM, I get this error: > "/home/erdem/llvm/lib/CodeGen/CodeGen.cpp:80: error: undefined reference > to 'llvm::initializeNoopInserterPass(llvm::PassRegistry&). > I need to modify Passes.h, InitializePasses.h, and Codegen.cpp files to > register my pass, right? > > Erdem > ------------------------------ > From: erdemderebasoglu at hotmail.com > To: vlknkls at gmail.com; llvm-dev at lists.llvm.org > Subject: RE: [llvm-dev] How to add NOP? > Date: Thu, 17 Sep 2015 16:38:36 +030...
2014 Apr 29
4
[LLVMdev] writing an alias analysis pass?
...rt/raw_ostream.h" > #include "llvm/Support/Debug.h" > using namespace llvm; > > namespace { > struct EverythingMustAlias : public ImmutablePass, public AliasAnalysis { > static char ID; > EverythingMustAlias() : ImmutablePass(ID) {} > > virtual void initializePass() { > DEBUG(dbgs() << "Initializing everything-must-alias\n"); > InitializeAliasAnalysis(this); > } > > virtual void getAnalysisUsage(AnalysisUsage &AU) const { > AliasAnalysis::getAnalysisUsage(AU); > AU.setPreservesAll(); > } >...
2015 Sep 17
2
How to add NOP?
This seems to be what I am looking for. That was very helpful. Thank you. Erdem From: vlknkls at gmail.com Date: Wed, 16 Sep 2015 16:25:29 +0000 Subject: Re: [llvm-dev] How to add NOP? To: erdemderebasoglu at hotmail.com; llvm-dev at lists.llvm.org Use MachineInstr::memoperands() function to get memory operands then you can get the address space by using MachineMemOperand::getAddrSpace(). Volkan
2010 Oct 15
3
[LLVMdev] [LLVMDev] Trouble Linking
I ran cmake to build the visual studio projects. Then I included my code under the Visual Studio interface, but I placed my code separate from the CodeGen code. Visual studio was smart enough to compile and link in my code into the CodeGen library. Thus, I did not need to add my code into the same directory as the CodeGen files, and I did not need to change the CMakeList.txt. The offical name is
2015 Jun 05
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 5:33 PM, Reid Kleckner <rnk at google.com> wrote: > On Thu, Jun 4, 2015 at 5:17 PM, Teresa Johnson <tejohnson at google.com> wrote: >> >> Agreed. Although I assume you mean invoke the new pass under a >> ThinLTO-only option so that avail extern are not dropped in the >> compile pass before the LTO link? > > > No, this pass
2010 Oct 11
0
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
...on about this offline, and he pointed out to me that we could make this API work if we had statically declared pass dependency information (that must be guaranteed to be a superset of the true dynamic dependencies). If we have that information, then the createPass() methods can be made to call the initializePass(), which can in turn recursively initialize its potential dependencies. I'm putting my current patch (implementing the old version of this proposal) on hold to evaluate the possibility of going this route instead. --Owen -------------- next part -------------- An HTML attachment was scrubbed....
2010 Oct 08
1
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
...tree, but developers need to be aware for future work: You MUST use the new-style INITIALIZE_PASS, INITIALIZE_AG_PASS, and INITIALIZE_ANALYSIS_GROUP macros in place of the old-style RegisterPass<> templates. These macros will create an initializeMyPass() method, which you *MUST* declare in InitializePasses.h, and which you must add to your library's batch initialization method. --Owen Anderson
2012 Sep 19
1
[LLVMdev] Alias analysis result
Hi Welson, > In case "my_pass" is compiled into a standalone executable, how can I run the > specific alias analysis in the code? I suggest you work out what passing -basic-aa to opt does, how it works, and do the same in your code. Ciao, Duncan. > > Thanks > > On Thu, Mar 8, 2012 at 8:55 AM, Duncan Sands <baldrick at free.fr > <mailto:baldrick at
2010 Oct 08
0
[LLVMdev] Fwd: Re: MAJOR API CHANGE: Pass initialization without static constructors
...evelopers need to be aware for future work: > > You MUST use the new-style INITIALIZE_PASS, INITIALIZE_AG_PASS, and INITIALIZE_ANALYSIS_GROUP macros in place of the old-style RegisterPass<> templates. These macros will create an initializeMyPass() method, which you *MUST* declare in InitializePasses.h, and which you must add to your library's batch initialization method. > > --Owen Anderson > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/list...
2011 May 04
1
[LLVMdev] 2.9 segfault when requesting for both LoopInfo and DominatorTree analyses.
...e, lib/Transforms/Scalar/IndVarSimplify.cpp for examples of how to initialize, e.g. having "INITIALIZE_PASS_DEPENDENCY(LoopInfo)" sandwiched between BEGIN and END. Note that you'll want a forward declaration of initializeTestMPPass(), as it won't have a declaration in include/llvm/InitializePasses.h. These are all the changes I think I had to make to port my passes to 2.9 from 2.8. On Wed, May 4, 2011 at 12:48 PM, Ralf Karrenberg <Chareos at gmx.de> wrote: > Hi Michael, hi Duncan, > > yesterday I stumbled over something that might be related. > At least I could also just...
2017 Jun 15
7
[RFC] Profile guided section layout
...onName(IS->Name)); + sortByCFGProfile<ELFT>(OutputSections); sortBySymbolsOrder<ELFT>(OutputSections); sortInitFini(findSection(".init_array")); sortInitFini(findSection(".fini_array")); -------------- next part -------------- diff --git a/include/llvm/InitializePasses.h b/include/llvm/InitializePasses.h index abb0aa3..93084d8 100644 --- a/include/llvm/InitializePasses.h +++ b/include/llvm/InitializePasses.h @@ -85,6 +85,7 @@ void initializeBreakCriticalEdgesPass(PassRegistry&); void initializeCFGOnlyPrinterLegacyPassPass(PassRegistry&); void initiali...