[LLVMdev] [llvmdev] Whole function SelectionDAG

Zhongxing Xu xuzhongxing at gmail.com
Tue Jun 8 18:33:49 PDT 2010

At first I'll try the simplest strategy: put the instruction in the machine
BB corresponding to the LLVM BB where it comes from.

To implement this, I plan to add an operand to non-passive node which points
to the BasicBlockSDNode which the node belongs to.

Another idea is to use a side map to map each node to its block. But I guess
it's difficult to keep the map consistent when transforming the DAG.

On Wed, Jun 9, 2010 at 1:39 AM, Dan Gohman <gohman at apple.com> wrote:

> The first question is code placement.  How is the compiler going to decide
> which block (or blocks) to emit an instruction in?  The answer to that will
> help determine how control relationships should be represented.
> Dan
> On Jun 7, 2010, at 11:56 PM, Zhongxing Xu <xuzhongxing at gmail.com> wrote:
>  I am trying to build a DAG for a whole function. The first problem I met
>> is to assign a user for the last instruction of each basic block, be it
>> BRCOND or other node. There is no natural user for such nodes. Without user,
>> it will be removed in later phases. My idea is to use it as chain for nodes
>> in the next basic block. Is this reasonable?
>> -Zhongxing Xu
>> _______________________________________________
>> 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/20100609/490d7bf7/attachment.html>

More information about the llvm-dev mailing list