search for: runonmodule

Displaying 20 results from an estimated 604 matches for "runonmodule".

2019 Apr 02
2
How can I use llvm::LoopInfo in the runOnModule method?
...d to have a LoopInfo object in a function pass, and add addRequired in getAnalysisUsage, and then use getAnalysis in runOnFunction(). It worked OK. Now I want to have a module pass to traverse the functions, and similarly, I want to have to loop information of the functions. When I did the above in runOnModule, and build the module pass, the following error popped out, and the compile did not succeed: [ 50%] Building CXX object src/CMakeFiles/SkeletonPass.dir/Skeleton.cpp.o /home/**/Desktop/skeleton/src/Skeleton.cpp: In member function ‘virtual bool llvm::SkeletonPass::runOnModule(llvm::Module&)’: /...
2019 Apr 03
3
How can I use llvm::LoopInfo in the runOnModule method?
...fo object in a function pass, and add addRequired in getAnalysisUsage, and then use getAnalysis in runOnFunction(). It worked OK. >> Now I want to have a module pass to traverse the functions, and similarly, I want to have to loop information of the functions. >> When I did the above in runOnModule, and build the module pass, the following error popped out, and the compile did not succeed: >> >> [ 50%] Building CXX object src/CMakeFiles/SkeletonPass.dir/Skeleton.cpp.o >> /home/**/Desktop/skeleton/src/Skeleton.cpp: In member function ‘virtual bool llvm::SkeletonPass::runOnMod...
2013 May 30
0
[LLVMdev] unexpectedly loop hanging
Hi Alexandru, > /*==5134== Invalid write of size 4 > ==5134== at 0x4039280: (anonymous > namespace)::Hello::runOnModule(llvm::Module&) (in > /home/alex/llvm/Release+Asserts/lib/Hello.so) > ==5134== by 0x8E33DE3: llvm::MPPassManager::runOnModule(llvm::Module&) (in > /home/alex/llvm/Release+Asserts/bin/opt) > ==5134== by 0x8E3726F: llvm::PassManagerImpl::run(llvm::Module&) (in > /home/...
2013 May 30
2
[LLVMdev] unexpectedly loop hanging
...unsigned long)(nb)' failed.* 2. gdb - *Program received signal SIGABRT, Aborted. 0xb7fdd424 in __kernel_vsyscall ()* 3. valgrind - it executes all the code and at the problematic loop iteration I have : *==5134== Invalid write of size 4 ==5134== at 0x4039280: (anonymous namespace)::Hello::runOnModule(llvm::Module&) (in /home/alex/llvm/Release+Asserts/lib/Hello.so) ==5134== by 0x8E33DE3: llvm::MPPassManager::runOnModule(llvm::Module&) (in /home/alex/llvm/Release+Asserts/bin/opt) ==5134== by 0x8E3726F: llvm::PassManagerImpl::run(llvm::Module&) (in /home/alex/llvm/Release+Asserts...
2011 Jun 15
3
[LLVMdev] Cannot use function pass in a module pass
...s/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 ~/llvm/Debug+Asserts/lib/MyPassLibrary.so -mymodulepass < input.bc >/dev/null MyModulePass::runOnModule MyFunctionPass::runOnFunction(process) opt: /***/llvm/include/llvm/MyFunctionPass.h:241: AnalysisType& llvm::Pass::getAnalysisID(llvm::AnalysisID, llvm::Function&) [with AnalysisType = {anonymous}::MyFunctionPass, llvm::AnalysisID = const void*]: Assertion `ResultPass && "Unabl...
2012 Nov 16
1
[LLVMdev] AddressSanitizer depends on order of doFinalization
Hello All, There is an issue in AddressSanitizer today because it depends on it's doFinalization method be called before the Printer method to output the final code (that is the printer runOnModule call). This assumption seems invalid as the doFinalization method should AFAIK only be used for clean up tasks independent of activities of other passes. When I try to call doFinalization inside the MPPassManager::runOnModule method (to avoid changing the API to add doInitialization and doFinaliza...
2011 Jun 16
0
[LLVMdev] Cannot use function pass in a module pass
...is a function with no body. You need to do something like: if (!(F->isDeclaration())) { getAnalysis<FunctionPassName>(F); ... } -- John T. > [***@*** ***]$ opt -load ~/llvm/Debug+Asserts/lib/MyPassLibrary.so > -mymodulepass< input.bc>/dev/null > MyModulePass::runOnModule > MyFunctionPass::runOnFunction(process) > opt: /***/llvm/include/llvm/MyFunctionPass.h:241: AnalysisType& > llvm::Pass::getAnalysisID(llvm::AnalysisID, llvm::Function&) [with > AnalysisType = {anonymous}::MyFunctionPass, llvm::AnalysisID = const > void*]: Assertion `ResultPa...
2011 Jun 16
1
[LLVMdev] Cannot use function pass in a module pass
...mething like: > > if (!(F->isDeclaration())) { >     getAnalysis<FunctionPassName>(F); >     ... > } > > -- John T. > >> [***@*** ***]$ opt -load ~/llvm/Debug+Asserts/lib/MyPassLibrary.so >> -mymodulepass<  input.bc>/dev/null >> MyModulePass::runOnModule >> MyFunctionPass::runOnFunction(process) >> opt: /***/llvm/include/llvm/MyFunctionPass.h:241: AnalysisType& >> llvm::Pass::getAnalysisID(llvm::AnalysisID, llvm::Function&) [with >> AnalysisType = {anonymous}::MyFunctionPass, llvm::AnalysisID = const >> void*]:...
2012 Feb 08
2
[LLVMdev] Crash/Assert on -loop-reduce
...63 9 opt 0x000000000050102e 10 opt 0x0000000000689184 llvm::LPPassManager::runOnFunction(llvm::Function&) + 836 11 opt 0x0000000000801f9f llvm::FPPassManager::runOnFunction(llvm::Function&) + 351 12 opt 0x000000000080221b llvm::FPPassManager::runOnModule(llvm::Module&) + 59 13 opt 0x000000000080236a llvm::MPPassManager::runOnModule(llvm::Module&) + 282 14 opt 0x0000000000802941 llvm::PassManagerImpl::run(llvm::Module&) + 337 15 opt 0x0000000000802e4a llvm::PassManager::run(llvm::Module&) + 10 16 o...
2012 Nov 16
5
[LLVMdev] Assert with getZExtValue()?
...runk/include/llvm/ADT/APInt.h:1217 #4 getZExtValue (this=<value optimized out>) at /home/ryan/llvm/llvm_core/trunk/include/llvm/Constants.h:117 #5 cdfgPassClass::storeInstr (this=<value optimized out>) at a2c_pass.cpp:2125 #6 0x00007ffff6c73dc1 in (anonymous namespace)::CDFGPass::runOnModule (this=0x16c2fa0, M=<value optimized out>) at a2c_pass.cpp:2949 #7 0x0000000000f4cd4e in llvm::MPPassManager::runOnModule(llvm::Module&) () #8 0x0000000000f4d813 in llvm::PassManagerImpl::run(llvm::Module&) () #9 0x0000000000f4d94a in llvm::PassManager::run(llvm::Module&) ()...
2012 Nov 05
2
[LLVMdev] Adding function attributes
Hi Duncan, thanks for the quick answer. Yes I'm sure the runOnModule is being called, and when I dump the functions before exiting the method I can see the AlwaysInline attribute. I'll check InlineAlways.cpp and will reimplement as last resource but I still wonder why this is not working. On Mon, Nov 5, 2012 at 5:03 PM, Duncan Sands <baldrick at free.fr&gt...
2013 May 30
2
[LLVMdev] unexpectedly loop hanging
...nges for to use clang++ or I can debug using the Makefile.common? On Thu, May 30, 2013 at 1:57 PM, Duncan Sands <baldrick at free.fr> wrote: > Hi Alexandru, > > > /*==5134== Invalid write of size 4 > >> ==5134== at 0x4039280: (anonymous >> namespace)::Hello::**runOnModule(llvm::Module&) (in >> /home/alex/llvm/Release+**Asserts/lib/Hello.so) >> ==5134== by 0x8E33DE3: llvm::MPPassManager::**runOnModule(llvm::Module&) >> (in >> /home/alex/llvm/Release+**Asserts/bin/opt) >> ==5134== by 0x8E3726F: llvm::PassManagerImpl::run(**l...
2012 Nov 05
2
[LLVMdev] Adding function attributes
...s. However, the changes to the function seem to be lost after exiting my pass because the AlwaysInline attribute is not in the output LLVM IR. Maybe the function iterator passed by the module object actually points to copies of the functions? Any help is much appreciated Code ==== virtual bool runOnModule(Module& m) { Module* module = &m; for (Module::iterator functionIter = module->begin(); functionIter != module->end(); functionIter++) functionIter->addFnAttr(llvm::Attributes::AlwaysInline); return true; } Command line =========== clang -O0 -S -emit-llvm -o...
2012 Jan 12
2
[LLVMdev] Extract Loop Failing
...9 4 LLVMEXITCDFG.so 0x00007ffe202b80d7 5 opt 0x00000000006fc6e7 llvm::LPPassManager::runOnFunction(llvm::Function&) + 1143 6 opt 0x0000000000882557 llvm::FPPassManager::runOnFunction(llvm::Function&) + 551 7 opt 0x00000000008825db llvm::FPPassManager::runOnModule(llvm::Module&) + 75 8 opt 0x0000000000882197 llvm::MPPassManager::runOnModule(llvm::Module&) + 503 9 opt 0x0000000000882299 llvm::PassManagerImpl::run(llvm::Module&) + 137 10 opt 0x00000000004ac451 main + 4881 11 libc.so.6 0x00007ffe204d9eff _...
2017 Nov 30
1
How to count instructions in a function?
Thanks so much John! That works :) Previously I wrote a pass that inherited from CallGraphWrapperPass and used its getCallGraph() function within runOnModule() which resulted in segmentation faults for me. Not sure why that happened, perhaps callgraph wasn't setup by the time runOnModule() was called internally. If you know why, kindly enlighten me and perhaps document the behavior for the benefit of others. Your email was the best thing to happen...
2012 Jan 12
4
[LLVMdev] Extract Loop Failing
...t 0x00000000006fc6e7 >> llvm::LPPassManager::runOnFunction(llvm::Function&) + 1143 >> 6 opt 0x0000000000882557 >> llvm::FPPassManager::runOnFunction(llvm::Function&) + 551 >> 7 opt 0x00000000008825db >> llvm::FPPassManager::runOnModule(llvm::Module&) + 75 >> 8 opt 0x0000000000882197 >> llvm::MPPassManager::runOnModule(llvm::Module&) + 503 >> 9 opt 0x0000000000882299 >> llvm::PassManagerImpl::run(llvm::Module&) + 137 >> 10 opt 0x00000000004ac451 main +...
2011 May 23
2
[LLVMdev] Debug llc crash using bugpoint
...000f2b9c6 llvm::DwarfDebug::endModule() + 1954 9 llc 0x0000000000f1502a llvm::AsmPrinter::doFinalization(llvm::Module&) + 790 10 llc 0x00000000012e595b llvm::FPPassManager::doFinalization(llvm::Module&) + 67 11 llc 0x00000000012e9f82 llvm::FPPassManager::runOnModule(llvm::Module&) + 120 12 llc 0x00000000012e9a47 llvm::MPPassManager::runOnModule(llvm::Module&) + 381 13 llc 0x00000000012eae89 llvm::PassManagerImpl::run(llvm::Module&) + 111 14 llc 0x00000000012eaeeb llvm::PassManager::run(llvm::Module&) + 33 15...
2009 Jul 13
2
[LLVMdev] Aliasing on bitcode.
...we do static lockset analysis. I need to get Aliasing information statically given the .bc file of the application. Is there any library in LLVM which already implements the aliasing? (does it support multi-threaded apps?) What is the best way of doing it (I want to extract aliasing information in runOnModule() function in the pass I am working on)? Thanks a lot, ::Saman Zonouz UIUC PhD CS student -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090713/93137a01/attachment.html>
2012 Nov 05
0
[LLVMdev] Adding function attributes
...s > because the AlwaysInline attribute is not in the output LLVM IR. > > Maybe the function iterator passed by the module object actually points to > copies of the functions? As far as I can see your code should work. Most likely it isn't being run at all - did you check that your runOnModule method is actually being called? Ciao, Duncan. > > Any help is much appreciated > > > Code > ==== > virtual bool runOnModule(Module& m) > { > Module* module = &m; > > for (Module::iterator functionIter = module->begin(); functionIter != > m...
2012 Feb 08
2
[LLVMdev] Crash/Assert on -loop-reduce
...0x0000000000689184 > > llvm::LPPassManager::runOnFunction(llvm::Function&) + 836 > > 11 opt 0x0000000000801f9f > > llvm::FPPassManager::runOnFunction(llvm::Function&) + 351 > > 12 opt 0x000000000080221b > > llvm::FPPassManager::runOnModule(llvm::Module&) + 59 > > 13 opt 0x000000000080236a > > llvm::MPPassManager::runOnModule(llvm::Module&) + 282 > > 14 opt 0x0000000000802941 > > llvm::PassManagerImpl::run(llvm::Module&) + 337 > > 15 opt 0x0000000000802e4a &...