Dale Johannesen
2010-Sep-02 21:56 UTC
[LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator
On Sep 2, 2010, at 2:44 PMPDT, Jeff Kunkel wrote:> I need to track which MachineBasicBlocks branch into other > MachineBasicBlocks. How do I do it?Look at the Predecessor/Successor lists, which are target-independent> I see a MachineOperand can hold a MachineBasicBlock*. Does this mean > the instruction may branch to the MachineBasicBlock, or can it be > something like an object reference?It can also be the dreaded gcc "address of label" extension. Number and ordering of instruction operands is target-dependent.
Jeff Kunkel
2010-Sep-02 23:19 UTC
[LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator
Is there any way to tell where in the Instruction list, the branch to the other MachineBasicBlock happens? I know in the BasicBlock had a nice api for it. Thanks, Jeff Kunkel On Thu, Sep 2, 2010 at 5:56 PM, Dale Johannesen <dalej at apple.com> wrote:> > On Sep 2, 2010, at 2:44 PMPDT, Jeff Kunkel wrote: > >> I need to track which MachineBasicBlocks branch into other >> MachineBasicBlocks. How do I do it? >> > > Look at the Predecessor/Successor lists, which are target-independent > > > I see a MachineOperand can hold a MachineBasicBlock*. Does this mean the >> instruction may branch to the MachineBasicBlock, or can it be something like >> an object reference? >> > > It can also be the dreaded gcc "address of label" extension. Number and > ordering of instruction operands is target-dependent. > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100902/3f71927f/attachment.html>
Dale Johannesen
2010-Sep-03 00:05 UTC
[LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator
It is at the end allowing for oddities like debug info and multiple branches. You might want to look at AnalyzeBranch. On Sep 2, 2010, at 4:19 PMPDT, Jeff Kunkel wrote:> Is there any way to tell where in the Instruction list, the branch > to the other MachineBasicBlock happens? I know in the BasicBlock had > a nice api for it. > > Thanks, > Jeff Kunkel > > On Thu, Sep 2, 2010 at 5:56 PM, Dale Johannesen <dalej at apple.com> > wrote: > > On Sep 2, 2010, at 2:44 PMPDT, Jeff Kunkel wrote: > I need to track which MachineBasicBlocks branch into other > MachineBasicBlocks. How do I do it? > > Look at the Predecessor/Successor lists, which are target-independent > > > I see a MachineOperand can hold a MachineBasicBlock*. Does this mean > the instruction may branch to the MachineBasicBlock, or can it be > something like an object reference? > > It can also be the dreaded gcc "address of label" extension. Number > and ordering of instruction operands is target-dependent. > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100902/5b22972a/attachment.html>
Maybe Matching Threads
- [LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator
- [LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator
- [LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator
- [LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator
- [LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator