similar to: Help with a pass

Displaying 20 results from an estimated 900 matches similar to: "Help with a pass"

2018 Jun 12
2
ModulePass cannot be registered as EarlyAsPossible
Hello all, I've followed the example in https://github.com/CompilerTeaching/SimplePass/blob/master/SimplePass.cc in order to create a custom pass. The pass needs to be added before any transformation, so I used EP_EarlyAsPossible extension point to register it. Furthermore, I need to access to every GlobalVariable in the IR, so my pass has to be a ModulePass, like this: struct MyPass :
2009 Oct 28
1
[LLVMdev] vmjc and CallGraphSCCPass
How can I vmjc to run CallGraphSCCPasses? I wrote a test pass that does nothing, and all vmjc says is: vmjc: PassManager.cpp:1604: virtual void llvm::ModulePass::assignPassManager(llvm::PMStack&, llvm::PassManagerType): Assertion `!PMS.empty() && "Unable to find appropriate Pass Manager"' failed. 0 vmjc 0x08a6bfd8 Aborted Running even a built in pass like prune-eh
2010 Jul 16
2
[LLVMdev] Function::getName in CallGraphSCCPass causes bus error
Hi, I'm trying to use CallGraphSCCPass, but I keep getting a bus error. I can reproduce the problem quite easily using the lib/Transforms/Hello example. I simply mix in these changes: #include "llvm/CallGraphSCCPass.h" ... struct Hello : public CallGraphSCCPass { static char ID; // Pass identification, replacement for typeid Hello() : CallGraphSCCPass(&ID) {}
2011 Nov 21
5
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
I would have thought this would have been possible. On Thu, Nov 17, 2011 at 3:49 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > So is this simply not possible? > > > On Thu, Nov 17, 2011 at 10:31 AM, Ryan Taylor <ryta1203 at gmail.com> wrote: > >> Nick, >> >> Thanks for this info, though this didn't help my problem at all. >> >>
2011 Nov 30
0
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
The following code is causing an "UNREACHABLE executed!" and a stack dump, any ideas? namespace { struct myPass : public CallGraphSCCPass { static char ID; myPass() : CallGraphSCCPass(ID) {} virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<LoopInfo>(); } virtual bool runOnSCC(CallGraphSCC &SCC)
2010 Jul 19
0
[LLVMdev] Function::getName in CallGraphSCCPass causes bus error
Hi Trevor, > struct Hello : public CallGraphSCCPass { > static char ID; // Pass identification, replacement for typeid > Hello() : CallGraphSCCPass(&ID) {} > virtual bool runOnSCC(std::vector<CallGraphNode *> &SCC) { > CallGraphNode *node = SCC.front(); > Function *function = node->getFunction(); >
2011 Nov 30
2
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
On Tue, Nov 29, 2011 at 6:59 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > The following code is causing an "UNREACHABLE executed!" and a stack dump, > any ideas? The stack might be handy. > namespace { >   struct myPass : public CallGraphSCCPass { >   static char ID; >   myPass() : CallGraphSCCPass(ID) {} >   virtual void getAnalysisUsage(AnalysisUsage
2011 Dec 01
1
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
In addition to the link below, please check for functions like "llvm.debug.declare", "llvm.debug.value", as you will not get LoopInfo for these.   Pankaj   ________________________________ From: Devang Patel <dpatel at apple.com> To: Ryan Taylor <ryta1203 at gmail.com> Cc: llvmdev at cs.uiuc.edu Sent: Wednesday, November 30, 2011 11:08 PM Subject: Re: [LLVMdev]
2006 Sep 29
2
[LLVMdev] FunctionPass requiring SCCs
I have a FunctionPass F that needs a list of all the SCCs for use in its doFinalization() method. Let's say I write a CallGraphSCCPass C that creates an array of all SCCs. Let C be required by F, and let F call getAnalysis<C>() from its doFinalization() method. Am I guaranteed that C's runOnSCC() method will have executed on all SCCs before F's doFinalization() method?
2011 Nov 30
0
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
UNREACHABLE executed! 0 opt 0x00000000008edc2f 1 opt 0x00000000008edfda 2 libpthread.so.0 0x00007f9c8e69bc60 3 libc.so.6 0x00007f9c8d986d05 gsignal + 53 4 libc.so.6 0x00007f9c8d98aab6 abort + 390 5 opt 0x00000000008da974 llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) + 356 6 opt 0x000000000087e046 7 opt
2011 Dec 01
0
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
Thanks for the info. Curious, do you know if there is an opt that will put all loops, including nested ones, in functions (ie each loop in it's own function)? What I'm trying to do is create a way for each loop to have only one exit. I want all loops to be single exit loops? I can write my own pass but I'd rather not. I think that if I can put each loop into it's own function
2019 May 25
3
llvm pass
Hi list, I have several questions about LLVM pass. 1) Is building a custom LLVM pass out-of-source not recommended? The official document only contains instructions about in-source build (http://llvm.org/docs/WritingAnLLVMPass.html <http://llvm.org/docs/WritingAnLLVMPass.html>). 2) opt (ver >= 4) with custom pass libraries does not work as before. When I have a simple custom LLVM pass
2010 Jun 09
1
[LLVMdev] Segmentation fault 'cause of accessing function arguments
Hi all, I am experimenting to run a pass inherited from CallGraphSCCPass. In the pass, I iterate all functions in a SCC. In each iteration, I access all arguments of a function in the following way: Function::arg_iterator PI = fun->arg_begin(), PE = fun->arg_end(); ... I have no trouble with building. However, I am troubled with "segmentation fault" when I run the pass
2013 Sep 19
2
[LLVMdev] [Polly] Move Polly's execution later
Hi Tobias, I am trying to move Polly later. LLVM provides some predefined ExtensionPointTy: EP_EarlyAsPossible, EP_ModuleOptimizerEarly, EP_LoopOptimizerEnd, EP_ScalarOptimizerLate, ... Currently Polly uses "EP_EarlyAsPossible" to run as early as possible. As what you suggested: >Instead of removing canonicalization passes, I believe we may want to >move
2011 Nov 22
2
[LLVMdev] Instrumentation passes and -O0 optimization level
> Unfortunately, it looks like your email got garbled... Please attach patches > as actual files rather than as text at the end of the message, otherwise > lots of email software does the wrong thing with them... See attached. Sorry for that. -------------- next part -------------- A non-text attachment was scrubbed... Name: clang.patch Type: text/x-patch Size: 1819 bytes Desc: not
2006 Sep 29
0
[LLVMdev] FunctionPass requiring SCCs
Hi Ryan, On 9/29/06, Ryan M. Lefever <lefever at crhc.uiuc.edu> wrote: > I have a FunctionPass F that needs a list of all the SCCs for use in its > doFinalization() method. Let's say I write a CallGraphSCCPass C that > creates an array of all SCCs. Let C be required by F, and let F call > getAnalysis<C>() from its doFinalization() method. Am I guaranteed that >
2006 Sep 18
2
[LLVMdev] llvm-g++: Internal error
Hi, i used CVS to checkout the source of llvm and llvm-gcc, compiled and built them on my machine successfully. i tried a c-language hello program, it was OK. But when i tried a c++-language hello program, i got: ~/project/llvm/examples$ llvm-g++ t3.cc -o t3 gccld: /developer/zsth/project/llvm/src/llvm/lib/Analysis/IPA/CallGraph.cpp:277: void
2006 Sep 14
1
[LLVMdev] use LLVM to convert C++ code to C code
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> <title></title> </head> <body bgcolor="#ffffff" text="#000000"> Hi,<br> I am newbie to llvm.<br> <br> I am unable to generate
2016 Jun 16
2
Intended behavior of CGSCC pass manager.
> To clarify, we're trying to provide this invariant on the "ref" graph or > on the graph with direct calls only? I think the invariant need only apply > to the former > More clarification needed :) What do you mean by 'invariant need only apply to the former'? > if we're relying on this for correctness (i.e. an analysis must visit all > callees
2007 Jul 15
2
[LLVMdev] JIT Leaks?
First, I'm not sure if deleting the ExecutionEngine is all I need to clean-up... so I started with a minimal test just to check int main( int argc, char **argv ){ while( true ){ Module *M = new Module("M"); Function *F = cast<Function>(M->getOrInsertFunction("F", Type::Int32Ty, (Type*)0)); BasicBlock *BB = new