similar to: [LLVMdev] "Cannot call createPass on PassInfo without default ctor!"

Displaying 20 results from an estimated 800 matches similar to: "[LLVMdev] "Cannot call createPass on PassInfo without default ctor!""

2011 Mar 11
1
[LLVMdev] Accessing an empty machine function before instruction selection?
I'm trying to access the MachineFunctionInfo structure from a pre-ISel pass. In order to do this I have to get access to the MachineFunction and then call getInfo(). Currently in my pass I request it via: void AMDILBarrierDetect::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<MachineFunctionAnalysis>(); FunctionPass::getAnalysisUsage(AU); } However, I am getting an
2009 Sep 03
0
[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
2009 Nov 26
1
[LLVMdev] Problemo: createTailDuplicationPass
Good morning! After updating and recompiling my copy of the LLVM trunk I noticed that the line "_passManager.add(llvm::createTailDuplicationPass());" in my code fails with the following assertion: Assertion failed: NormalCtor && "Cannot call createPass on PassInfo without default ctor!", file D:\Workspace\llvmtrunk\include\llvm/PassSupport.h, line 111 This behavior
2009 Nov 17
2
[LLVMdev] PassManager again...
Hi, I have trouble making my ProfileInfo-Analysis available in the backend, I have changed llc so it loads the ProfileInfo if requested, the PassManger gives this output: > Target Data Layout > Create Garbage Collector Module Metadata > Basic Alias Analysis (default AA impl) > DWARF Information Writer > No Profile Information > Module Information > ModulePass
2013 Dec 02
2
[LLVMdev] Segmentation fault when traverse call graph
Dear everyone, I want to traverse call graph, but I have some trouble . In my pass MyPass which need to traverse call graph, I firstly added the CallGraph analysis to the pass requirements by *AU.addRequired<CallGraph>();* My pass MyPass then will be added to a pass manager by *manager.add(new MyPass());* and then I want to traverse the call graph such as: CallGraph CG =
2013 Dec 25
3
[LLVMdev] Crash in opt.cpp:739 when loading custom pass (only on system-wide debug install of llvm)
Hi, I'm trying to write custom pass. However opt started crashed in opt.cpp. After debugging it looks like PassInf->NormalCtor points to unmapped memory (rest of struct contains correct data about my pass) - it pointed high in user memory (0x756e672e006e6f69). It happens only when I tried to install debug version of llvm system-wide (I've check that it wasn't caused by stale .a
2011 May 30
1
[LLVMdev] about writing a functionpass requiring a modulepass
---------- Forwarded message ---------- From: Qingan Li <ww345ww at gmail.com> Date: 2011/5/30 Subject: To: llvmdev at cs.uiuc.edu Hi, I wrote an analysis pass, myPass, inherited from both ModulePass and ProfileInfo, and this pass requires the CallGraph, i.e., * class myPass : public ModulePass, public ProfileInfo { ...};* * void myPass::getAnalysisUsage(AnalysisUsage &AU) const
2013 Dec 03
0
[LLVMdev] Segmentation fault when traverse call graph
I recall having a similar problem while coding my own special-purpose "opt". My guess: try adding the following lines before your pass is inserted into the PassManager: PassRegistry &Registry = *PassRegistry::getPassRegistry(); initializeIPA(Registry); You might require other library initializations. Have a look at the "opt" source code. On 02/12/13 10:36,
2006 Nov 03
0
[LLVMdev] is createCFGSimplificationPass unused?
On Thu, 2 Nov 2006, [UTF-8] Rafael Esp?ndola wrote: > It looks like createCFGSimplificationPass was disabled on 2006/09/04. > This causes some problems for architectures that use conditional moves > to implement select (alpha and ARM). For example, on 2006/09/03 a "if > (a) return 0; else return 1;" compiled to > I have added createCFGSimplificationPass in >
2016 Mar 24
0
Adding PassInfo to PassRegistry
How do i create PassInfo for a Pass and then register it on the PassRegistry? I need to add TargetLibraryInfoWrapperPass to the registry, because addImmutablePass() function asserts because it doesn't find Info for the pass.
2006 Nov 03
4
[LLVMdev] is createCFGSimplificationPass unused?
It looks like createCFGSimplificationPass was disabled on 2006/09/04. This causes some problems for architectures that use conditional moves to implement select (alpha and ARM). For example, on 2006/09/03 a "if (a) return 0; else return 1;" compiled to ---------------------------------------- zapnot $17,15,$1 zapnot $16,15,$2 bis $31,$31,$0 cmpeq $2,$1,$1
2011 May 30
0
[LLVMdev] (no subject)
Hi, I wrote an analysis pass, myPass, inherited from both ModulePass and ProfileInfo, and this pass requires the CallGraph, i.e., * class myPass : public ModulePass, public ProfileInfo { ...};* * void myPass::getAnalysisUsage(AnalysisUsage &AU) const {* * AU.addRequired<CallGraph>();* * AU.setPreservesAll();* *}* Then, I assumes the UnreachableBlockElim (inherited from
2011 May 04
0
[LLVMdev] 2.9 segfault when requesting for both LoopInfo and DominatorTree analyses.
Hi Michael, hi Duncan, yesterday I stumbled over something that might be related. At least I could also just be doing some initialization wrong or something in this direction... In my case, I hit a segfault in PassInfo::isAnalysisGroup() after PassManager.add(myModulePass) is called. My setup seems fairly simple, the attached code should reproduce the error. Compile with g++ test.cpp
2011 May 04
1
[LLVMdev] 2.9 segfault when requesting for both LoopInfo and DominatorTree analyses.
Your constructor is not calling initializeTestMPPass(), and you're using RegisterPass which I think was deprecated in favor of INITIALIZE_PASS. You can look at, for example, lib/Transforms/Scalar/IndVarSimplify.cpp for examples of how to initialize, e.g. having "INITIALIZE_PASS_DEPENDENCY(LoopInfo)" sandwiched between BEGIN and END. Note that you'll want a forward declaration of
2009 Aug 10
2
[LLVMdev] How to use a FunctionPass in a ModulePass?
Hi, all: I wanted to use a FunctionPass (e.g. *MemoryDependenceAnalysis*) in a ModulePass, and then I used the method "getAnalysis<* MemoryDependenceAnalysis*>(llvm::Function *)" described at http://llvm.org/docs/WritingAnLLVMPass.html#ModulePass to get the FunctionPass. But , it still crashed when I invoked this pass in tool 'opt'. However, if I change my pass to
2006 Nov 29
0
[LLVMdev] FP emulation (continued)
On Wed, 29 Nov 2006, Roman Levenstein wrote: > Thanks, this is a good idea. > > But I cannot figure out how to make a machine function pass run > _BEFORE_ the RA. I guess I'm missing something very obvious. In your target's TargetMachine::addInstSelector method, add it to the pass mgr right after your isel. > And BTW, it seems to me that currently new RA passes are not
2018 Jan 24
0
Memory leaks in LegacyPassManager depending on order of addRequired passes
<div class="socmaildefaultfont" dir="ltr" style="font-family:Arial, Helvetica, sans-serif;font-size:10.5pt" ><div dir="ltr" ><div>Hello,<br><br>I notice some strange behavior with the LegacyPassManager. I’ve added a new pass requirement of BlockFrequencyInfoWrapperPass to lib/Transforms/IPO/GlobalOpt.cpp.<br>However,
2010 Oct 11
0
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
John, On Oct 8, 2010, at 1:05 PM, John Criswell wrote: >> These initialization routines must be invoked before the PassManager will be able to resolve pipelines involving your pass. For convenience, LLVM now exposes per-library batch initialization routines, i.e. initializeScalarOpts(), which initialize all the passes within a given library in a single go. > > From an ease of
2010 Jan 25
5
[LLVMdev] ambiguity of .align
I just got this error message from the GNU assembler: Error: alignment too large: 15 assumed Which made me laugh at first. The corresponding input line was: .align 16 Apparently what's going on here is that ".align 16" is ambiguous: on some architectures it means ".balign 16", and on some it means ".p2align 16", which would mean ".balign 65536" if
2016 Jul 13
2
IPRA, interprocedural register allocation, question
Mehdi, I’m seeing lots of “upgrading” logic, If (UseIPRA) createPass(new DummyCGSCCPass); if (UseIPRA) addPass(createRegUsageInfoPropPass()); if (UseIPRA) addPass(createRegUsageInfoCollector()); ??? --Peter. From: mehdi.amini at