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