similar to: [LLVMdev] API CHANGE: RegisterPass going away

Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] API CHANGE: RegisterPass going away"

2009 May 23
0
[LLVMdev] why RegisterPass<TargetData> initialize itself twice in my system
HI, Developers: I linked libLTO.so in $LLVMROOT/Debug/lib however, my program crashes in assertion at 149line [Pass.cpp] void RegisterPass(const PassInfo &PI) { bool Inserted = PassInfoMap.insert(std::make_pair(PI.getTypeInfo(),&PI)).second; assert(Inserted && "Pass registered multiple times!"); } i confirm that there is only one static variable
2010 Feb 26
0
[LLVMdev] RegisterPass isAnalysis parameter
On Thursday 25 February 2010 19:24:30 Trevor Harmon wrote: > Hi, > > I'm confused about the is_analysis parameter of the RegisterPass > constructor (defined in PassSupport.h). The only explanation I can > find is that is_analysis should be set to true if the pass is "an > analysis pass, for example dominator tree pass". Can someone please > clarify what is meant
2010 Feb 27
2
[LLVMdev] RegisterPass isAnalysis parameter
On Feb 25, 2010, at 5:45 PM, David A. Greene wrote: > The RegisterPass template takes care of notifying the PassManager > that the pass exists. One of the advantages of PassManager is > that it decouples pass execution from the rest of the infrastructure > so the class need not be visible to anything outside the > implementation > of the pass itself. Even though the
2010 Mar 01
1
[LLVMdev] RegisterPass isAnalysis parameter
On Feb 26, 2010, at 7:42 PM, Tom Prince wrote: > You cannot refer to anything in anonymous namespace by name from > another file, however, if you have a pointer, say, then you can > still use the > pointer. Yes, that would make sense, except I don't see any pointers being passed. The relevant line in lib/Transforms/Hello.cpp is: static RegisterPass<Hello>
2010 Feb 27
0
[LLVMdev] RegisterPass isAnalysis parameter
On Fri, Feb 26, 2010 at 05:22:49PM -0800, Trevor Harmon wrote: > On Feb 25, 2010, at 5:45 PM, David A. Greene wrote: > > > The RegisterPass template takes care of notifying the PassManager > > that the pass exists. One of the advantages of PassManager is > > that it decouples pass execution from the rest of the infrastructure > > so the class need not be visible to
2010 Feb 26
3
[LLVMdev] RegisterPass isAnalysis parameter
Hi, I'm confused about the is_analysis parameter of the RegisterPass constructor (defined in PassSupport.h). The only explanation I can find is that is_analysis should be set to true if the pass is "an analysis pass, for example dominator tree pass". Can someone please clarify what is meant by "analysis pass"? Also -- and this is more of a C++ question than an
2015 Aug 21
2
Guidelines for pass initialization?
Let me rephrase to make sure I understand. Once we have this settled, I'll update the comments in the file to summarize and possibly update the docs. On 08/21/2015 10:27 AM, Owen Anderson wrote: > The macro versions should be preferred, as they reduce static initializaters. Makes sense. But the tradeoff is that they need to be baked into the list of known passes so that someone knows
2013 Jun 24
0
[LLVMdev] About writing a modulePass in addPreEmitPass() for NVPTX
I try to use INITIALIZE_PASS instead of RegisterPass<> to register my pass, though I don't understand what's their difference and how it works because its documents doesn't exist. But it still doesn't work. Parts of my codes is as follows: in NVPTXTest.h namespace llvm { void initializeNVPTXTestPass(PassRegistry &r); class NVPTXTest : public ModulePass { public:
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
2013 Mar 15
0
[LLVMdev] write a simple MachineFunctionPass
I found that : "Code generator passes are registered and initialized specially by TargetMachine::addPassesToEmitFile and similar routines, so they cannot generally be run from the *opt* or *bugpoint* commands."...So how I can run a MachineFunctionPass? In the end, I just want to apply a DFS on a CFG of a function. And I need oriented edges and wanted to use
2015 Aug 21
2
Guidelines for pass initialization?
Does anyone know what the guidelines are supposed to be for properly initializing a pass? Looking around, we seem to have three styles of pass registration in use. INITIALIZE_PASS(...) INITIALIZE_PASS_BEGIN(...) INITIALIZE_PASS_DEPENDENCY(...) ... INITIALIZE_PASS_END(...) static RegisterPass<FooPass> X(...); (This is the one encouraged in the docs, but seemingly the least widely used
2013 Jun 24
2
[LLVMdev] About writing a modulePass in addPreEmitPass() for NVPTX
Sorry for the delay. Yeah, that error message is a bit confusing. What's happening is that your pass sequence is invalid. Once the IR has been lowered to machine code, its too late to run LLVM IR passes (ModulePass, FunctionPass, CallGraphSCCPass, etc.). At that point, you need to run a Machine*Pass, e.g. MachineFunctionPass. If you need to run an IR level pass, you need to use
2013 Mar 15
2
[LLVMdev] write a simple MachineFunctionPass
Hello everyone, I have written several complex passes till now, but I cannot write a MachineFunctionPass pass. It just gives me segfault. Hence I reduced the pass to the following form : using namespace llvm; namespace { class CFGexplorator : public MachineFunctionPass { public: static char ID; // Pass identification, replacement for typeid CFGexplorator() : MachineFunctionPass(ID)
2011 May 16
0
[LLVMdev] Upgrading to llvm-2.9
namespace llvm { class PassRegistry; void initializeFooPass(PassRegistry&); } using namespace llvm; namespace { class Foo : public ModulePass { public: static char ID; Foo() : ModulePass(ID) { initializeFooPass(*PassRegistry::getPassRegistry()); } bool runOnModule(Module& M) { M.dump(); return false; } }; } char Foo::ID = 0;
2011 May 16
2
[LLVMdev] Upgrading to llvm-2.9
Hi, Is the RegisterPass interface still supported, or do we have to use the INITIALIZE_PASS construct to register passes? Thanks, Arushi -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110516/98bc0ab0/attachment.html>
2007 Sep 15
1
[LLVMdev] RegisterAnalysisGroup
On Sep 14, 2007, at 2:46 PM, David Greene wrote: > On Friday 14 September 2007 16:04, David Greene wrote: >> On Friday 14 September 2007 15:51, Chris Lattner wrote: >>> When basicaa registers itself as part of the analysis group, it >>> uses: >>> >>> RegisterPass<BasicAliasAnalysis> >>> X("basicaa", "Basic Alias
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.
2013 Oct 05
0
[LLVMdev] How to supply a non-default constructor to RegisterPass ?
On Sep 30, 2013, at 10:11 PM, Dirk Schroetter <dschroetter at googlemail.com> wrote: > Folks, > > I did read the documentation but I am at a loss still. > > I do have the following: > > Pass *createFooPass (char *foo1) { > return new FooPass (foo1); > } > > static RegisterPass<FooPass> X("foo-pass", "foo", false, true); >
2013 Oct 01
2
[LLVMdev] How to supply a non-default constructor to RegisterPass ?
Folks, I did read the documentation but I am at a loss still. I do have the following: Pass *createFooPass (char *foo1) { return new FooPass (foo1); } static RegisterPass<FooPass> X("foo-pass", "foo", false, true); Where exactly do I supply the non-default crore in this example ? Thanks /Dirk
2010 Oct 08
0
[LLVMdev] Fwd: Re: MAJOR API CHANGE: Pass initialization without static constructors
Forgot to reply to the list. -- John T. -------- Original Message -------- Subject: Re: [LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors Date: Fri, 8 Oct 2010 15:05:21 -0500 From: John Criswell <criswell at illinois.edu> To: Owen Anderson <resistor at mac.com> On 10/8/10 1:29 PM, Owen Anderson wrote: > Hello fellow LLVM-ers, > > As