[llvm-dev] Doubts

Nemanja Ivanovic via llvm-dev llvm-dev at lists.llvm.org
Sun Jun 5 22:22:23 PDT 2016


Hi Patosga,
you can control what type the operands are promoted to as follows:
AddPromotedToType (ISD::ADD, MVT::i1, MVT::i64);

For the "Expand" case, I believe you'll find what you're looking for in the
file:
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
and function SelectionDAGLegalize::ExpandNode(), but if I'm wrong here
perhaps others can correct me.

Finally, MVT::f32 just states that the operand is a 32-bit single precision
floating point type.

Nemanja

On Sun, Jun 5, 2016 at 11:05 PM, Pedro Lopes via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Sorry, glad I'm in the right place.
> Before I start, I want to state that I'm a beginer and I'm trying to
> develop a backend by adapting an existent target to my platform.
>
> My first doubt is about the SelectionDAG and the TargetLowering class.
> When I use, for example:
> setOperationAction(ISD::ADD, MVT::i1, Promote);
>
> Is it correct to say that I'm promoting any operand used by the ISD::ADD
> node to a larger type? If so, what would that value type be?
>
> If I use the same function with the expand as the third argument like
> below:
> setOperationAction(ISD::FSIN, MVT::f32, Expand);
> What will the expansion look like, since I don´t provide any custom
> implementation of the node? Also, what is the meaning of the MVT::f32 in
> this case?
>
> Thanks,
> Patosga
>
> 2016-06-05 19:16 GMT+01:00 Pierre Gagelin <Pierre.Gagelin at myport.ac.uk>:
>
>> Hi Patosga,
>>
>> You are on the right place to ask your questions and get help!
>>
>> Try to be more specific with your problem. We need some details to help
>> you =)
>>
>> Pierre
>>
>> On 5 June 2016 at 18:12, via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>>> Hello sir,
>>>
>>> I'm having some problems understading how llvm works. I'm following a
>>> concrete example and visualizing the DAG and the .s output and some stuff
>>> doesn´t seem to match.
>>>
>>> I sorry to bother you but I don´t know where I can expose my doubts and
>>> I wonder if you could redirect me to some discussion place where someone
>>> might help me.
>>>
>>> Thanks,
>>> Patosga
>>>
>>> _____________________________________
>>> Sent from http://llvm.1065342.n5.nabble.com
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>
>>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://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/20160606/ffb57ee6/attachment.html>


More information about the llvm-dev mailing list