Mikael Lepistö
2009-Sep-03 10:40 UTC
[LLVMdev] Problem with generating Machine function analysis pass
Hi, I've been encountering a problem with function pass manager with llvm-2.6. Somehow system does not know how to create analysis pass if it's required by some other pass. I got following after adding various debug prints to PassManager.cpp I got following results for my reduced test program which just loads module and then tries to make a function pass manager. elhigu at mr-lenovo:~/temp$ g++ `llvm-config --cxxflags` -g -o test test.cc `llvm-config --ldflags --libs` elhigu at mr-lenovo:~/temp$ ./test ------------------- finding usage Target Data Layout ------------------- found usage ------------------- check analysis --------Required set ---------- -------- end ---------- ------------------- analysis checked if it was there ------------------- finding usage If Converter ------------------- found usage ------------------- check analysis --------Required set ---------- Machine Function Analysis -------- end ---------- ---------- finding... Machine Function Analysis -------------------------------- Oh no no analysis pass test: /home/elhigu/stow_sources/llvm-2.6-svn/include/llvm/PassSupport.h:111: llvm::Pass* llvm::PassInfo::createPass() const: Assertion `NormalCtor && "Cannot call createPass on PassInfo without default ctor!"' failed. Aborted When I tried to compile the same file with llc Machine Function Analysis pass was created with out problems. Am I missing some pass registration initialisation or something like that? Any ideas what I'm doing wrong? For many other passes (*I)->createPass() does worked correctly. I attached modified PassManager.cpp which shows, where the debug strings are coming from and source code of test.cc program. Thanks, Mikael Lepistö ( for instant helping I'm hanging around on #llvm with elhigu nick ) -------------- next part -------------- A non-text attachment was scrubbed... Name: test.cc Type: text/x-c++src Size: 1287 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090903/e749bd92/attachment.cc> -------------- next part -------------- A non-text attachment was scrubbed... Name: PassManager.cpp Type: text/x-c++src Size: 58381 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090903/e749bd92/attachment.cpp>
Reasonably Related Threads
- [LLVMdev] Fwd: [llvm-commits] [PATCH] Building llvm-gcc with llvm-2.5 debian packages
- [LLVMdev] Fwd: [llvm-commits] [PATCH] Building llvm-gcc with llvm-2.5 debian packages
- [LLVMdev] Problemo: createTailDuplicationPass
- [LLVMdev] Accessing an empty machine function before instruction selection?
- [LLVMdev] "Cannot call createPass on PassInfo without default ctor!"