[LLVMdev] Accessing an empty machine function before instruction selection?
Villmow, Micah
Micah.Villmow at amd.com
Fri Mar 11 12:13:25 PST 2011
To answer my own question.
I added this to getAnalysisUsage and it seems to bypass the assert.
AU.setPreservesAll();
Anyone have an idea on why this fixes the problem?
Thanks,
Micah
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Villmow, Micah
Sent: Friday, March 11, 2011 11:11 AM
To: llvmdev at cs.uiuc.edu
Subject: [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 assert:
assert(NormalCtor &&
"Cannot call createPass on PassInfo without default ctor!");
First question, is this possible? If so, how do I get NormalCtor to not be NULL?
Second question, if I want to pass information from before Instruction selection to after instruction selection, is this the preferred way? If not how?
Thanks,
Micah
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110311/9c6f8200/attachment.html>
More information about the llvm-dev
mailing list