[llvm-dev] Determining the order of instructions in BB (original) (raw)
Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Thu Feb 7 09:50:48 PST 2019
- Previous message: [llvm-dev] Determining the order of instructions in BB
- Next message: [llvm-dev] RFC: Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
There are a few ways to do this, but in general there is not an O(1) way to do this if your transform is doing arbitrary instruction insertion and removal.
The basic approach is to iterate the list, so this is O(bb length).
DominatorTree::dominates(Instruction*,Instruction*)
will do this for you.
The next is to use OrderedBasicBlock (or OrderedInstructions for a whole
function) to cache the instruction ordering.
Finally, I have this patch that I haven't found time to work on which caches the numbering in Instruction itself: https://reviews.llvm.org/D51664 Just needs a few days of work to make it happen.
On Thu, Feb 7, 2019 at 9:46 AM Paweł Bylica via llvm-dev < llvm-dev at lists.llvm.org> wrote:
Hi,
Having two instructions in the same basic block is there a way to determine in what order they are in the basic block? // Paweł
LLVM Developers mailing list llvm-dev at lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190207/69a49990/attachment.html>
- Previous message: [llvm-dev] Determining the order of instructions in BB
- Next message: [llvm-dev] RFC: Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]