similar to: [LLVMdev] RegisterPass isAnalysis parameter

Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] RegisterPass isAnalysis parameter"

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
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 May 28
2
[LLVMdev] Basic doubt related to Module::iterator
Hi, Yeah I found that it is running LLVM's functions. The functions that are running are: main llvm.dbg.func.start llvm.dbg.stoppoint scanf llvm.dbg.region.end But I dont want all the functions to be called as I am using Dominator Trees and whenever I the statement DominatorTree &DT = getAnalysis<DominatorTree>(F); is encountered by functions other than main, it gives error.
2010 Jul 22
3
[LLVMdev] Controlling the order of a FunctionPass
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: void MyPass::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<UnifyFunctionExitNodes>();
2010 Jul 24
2
[LLVMdev] Controlling the order of a FunctionPass
John Criswell wrote: > 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:
2010 Feb 09
3
[LLVMdev] Mapping bitcode to source code
On Feb 8, 2010, at 8:51 PM, Duncan Sands wrote: > this can be done using debug info. Check out > http://llvm.org/docs/SourceLevelDebugging.html Wow, that threw me for a loop. I'm using the 2.6 release, thinking I was up to date, but its debug output doesn't look anything like what's described in the above link. It appears to document the upcoming 2.7 version, which
2011 Jun 15
3
[LLVMdev] Cannot use function pass in a module pass
Hi. I'm trying to implement a module pass which can be dynamically loaded by `opt` (against up-to-date llvm from svn). Despite what the tutorial (http://llvm.org/docs/WritingAnLLVMPass.html) states in my module pass I cannot perform getAnalysis and fetch the function pass result. When trying to do so `opt` fails with the following mesage: [***@*** ***]$ opt -load
2010 Feb 09
0
[LLVMdev] Mapping bitcode to source code
On Feb 9, 2010, at 11:13 AM, Trevor Harmon wrote: > Is there any information about these changes and why they were > necessary? I think I found it: http://nondot.org/~sabre/LLVMNotes/EmbeddedMetadata.txt Still looking for an API to access the metadata... Trevor
2010 May 28
0
[LLVMdev] Basic doubt related to Module::iterator
ambika wrote: > Hi, > > Yeah I found that it is running LLVM's functions. The functions that are > running are: > > main > llvm.dbg.func.start > llvm.dbg.stoppoint > scanf > llvm.dbg.region.end > > But I dont want all the functions to be called as I am using Dominator > Trees and whenever I the statement > > DominatorTree &DT =
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
2010 Nov 13
3
[LLVMdev] dyn_cast vs. dynamic_cast
LLVM has a relatively large number of proprietary replacements for standard C++ functions and classes. One of these is dyn_cast to replace dynamic_cast. The two calls appear to be semantically equivalent; the only difference that I can see is that dyn_cast reportedly works on classes that have no v-table [1]. Could someone please explain why I should use dyn_cast instead of dynamic_cast?
2009 Feb 27
4
[LLVMdev] -fPIC warning on every compile on Cygwin
On Fri, Feb 27, 2009 at 4:32 PM, Jay Foad <jay.foad at gmail.com> wrote: > >> Could you please rig Makefile.rules or something to print out the value > >> of $(LLVM_ON_WIN32) ? The only way I can think of this happening is if > >> that's erroneously false. > > This works for me: > > Index: Makefile.rules >
2010 Mar 31
2
[LLVMdev] CFG entry and exit blocks
On Mar 30, 2010, at 7:51 PM, John Criswell wrote: > I'm too lazy to convert your .dot file into a graph file What format should I have posted? (I'm not sure what you mean by "graph file".) I had thought that .dot was the preferred format here, since that's what LLVM generates (e.g., "opt -dot-cfg ..."). > First, LLVM does not guarantee that a function
2010 Mar 01
2
[LLVMdev] Aborting a pass
Hi, What's the proper way to abort a pass if something goes wrong (e.g., in the pass's constructor)? Do I simply call abort()? I looked through the existing passes but didn't see an example of this. Thanks, Trevor
2010 Jul 21
0
[LLVMdev] API CHANGE: RegisterPass going away
Hey folks, As part of our ongoing quest to eliminate static constructors from the LLVM libraries (in order to improve startup times for applications that link against them), I'm going to be eliminating the RegisterPass class. They will be replaced with an initialization-function based system that I will detail in a future email. But, for now, what you need to know is that these classes are
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
2010 May 24
2
[LLVMdev] Basic doubt related to Module::iterator
Hi, I believe that Module::iterator iterates through all the functions in a program. Am i wrong somewhere? I run this for different files, each having one function each ie main(), but for one it loops twice, and for another it loops thrice. for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) Can someone explain this behavior. regards, Ambika