<div>Also note: there may be multiple MachineBasicBlock's for a single BasicBlock.</div><div><br></div><div>- David M</div><div><br><br><div class="gmail_quote">On Fri, Oct 15, 2010 at 4:59 AM, Jeff Kunkel <span dir="ltr"><<a href="mailto:jdkunk3@gmail.com" target="_blank">jdkunk3@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don't think you can.<br>
<br>
The BasicBlock is a member of MachineBasicBlock. It is not inherited,<br>
so it cannot be cast. The number of the MachineBasicBlock is not the<br>
same as any BasicBlock values. So<br>
MachineFunction::getMachineBasicBlock( BasicBlock::{get the number} )<br>
cannot work. I do not see much in the basic block which can identify<br>
it.<br>
<br>
So you can search for it.<br>
<br>
typedef struct findBlock {<br>
  BasicBlock * block;<br>
  findBlock( BasicBlock * block ) : block(block) {}<br>
  bool operator( MachineBasicBlock * mbb ) { return<br>
mbb->getBasicBlock() == block; }<br>
} findBlock;<br>
MachineBasicBlock = *std::find( machineFunction.begin(), machineFunction.end(),<br>
  findBlock( basicBlock ) );<br>
<br>
-Thanks<br>
-Jeff Kunkel<br>
<br>
2010/10/15 徐敏 <<a href="mailto:xm1988@mail.ustc.edu.cn" target="_blank">xm1988@mail.ustc.edu.cn</a>>:<br>
<div>> Hello, we can get BasicBlock from MachineBasicBlock through MachineBasicBlock::getBasicBlock() function, but how can I get MachineBasicBlock of a BasicBlock?<br>
> Thank you!<br>
><br>
><br>
><br>
><br>
</div>> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
><br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div>