[LLVMdev] [llvmdev] Whole function SelectionDAG
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.
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev