[LLVMdev] how to pass message from LLVM IR to bachend code

shding at mtu.edu shding at mtu.edu
Wed Jul 13 12:34:22 PDT 2005


Hi,
   In the directory of lib/CodeGen/SelectionDAG, I cann't find
SelectionDAGISel.cpp. I only have DAGBuilder.cpp and SelectionDAG.cpp.
I don't know why. My edtion is 1.4. Is it because of the edtion
difference? Thanks!


> On Mon, 11 Jul 2005 shding at mtu.edu wrote:
>>   I have extended the IR for adding flag. But I just want this flag to
>> pass through the backend machine code. I know there're several passes
>> like register relocation, schedualing, etc. But I think I just miss the
>> part which is used to "parser" the LLVM IR to machine code
>> instructions.
>
> The part of the code generator that converts LLVM IR to machine code IR is
> called the 'instruction selection' phase.  You can find some documentation
> for it here:
> http://llvm.cs.uiuc.edu/docs/CodeGenerator.html#instselect
>
> Unfortunately the code generator is not as well documented as it should be
> (though this is slowly improving).  The best way to see how this process
> works is to look at example instructions.  Most of the code for lowering
> standard instructions is held in
> lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
>
> -Chris
>
>>> On Sun, 10 Jul 2005 shding at mtu.edu wrote:
>>>> Hi:
>>>>   I want to pass some message of instructions from LLVM Internal
>>>> representation to backend  code. For example, I make a flag for some
>>>> certain operands of certain instructions. How can  it be passed to the
>>>> backend instructions? Which programs I should look into? Would someone
>>>> give me some idea? Thank you !
>>>
>>> The easiest way to do this is to extend the LLVM IR itself.  As a
>>> simple
>>> example of this, you can take a look at how the PHINode class has an
>>> extra
>>> 'reservedspace' member (ignore what it is used for though), or the
>>> load/store instructions track the 'isVolatile' flag.
>>>
>>> -Chris
>>>
>>> --
>>> http://nondot.org/sabre/
>>> http://llvm.cs.uiuc.edu/
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>>
>>
>>
>
> -Chris
>
> --
> http://nondot.org/sabre/
> http://llvm.org/
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>


-- 
Shuhan




More information about the llvm-dev mailing list