[LLVMdev] pseudo lowering
Reed Kotler
rkotler at mips.com
Sun Feb 17 13:11:25 PST 2013
On 02/17/2013 01:08 PM, Andrew Trick wrote:
>
> On Feb 17, 2013, at 1:01 PM, Reed Kotler <rkotler at mips.com
> <mailto:rkotler at mips.com>> wrote:
>
>> On 02/17/2013 12:48 PM, Andrew Trick wrote:
>>> On Feb 16, 2013, at 1:31 PM, Cameron Zwarich<zwarich at apple.com> wrote:
>>>
>>>> That's exactly the right place.
>>> Really? You don't want the expansion to be optimized? You want to specify a machine model for the pseudo's as if they're real instructions? You don't want to schedule or register allocate the real instructions?
>>>
>>> -Andy
>>
>> So then maybe my code should be called during instruction selection?
>>
>> The very original MIPs port was for Mips I and Mips I has a need for
>> lots of psuedos because it's primitive.
>> That code has mostly been removed now because we don't support Mips I
>> which is just an historical processor at this time.
>>
>> I approach level one implementations of things from the point of view
>> of correctness and then make things better as I understand the
>> problem better.
>>
>> So my base scheme for all of this was to create multi line assembler
>> expansion in pseudos.
>>
>> Now that I'm passing mostly all of test-suite, I'm starting improve
>> things.
>>
>> At this time, I'm starting to place expansion in
>> expandPostRAPseudo
>>
>> Would it be possible to call this same code during instruction selection?
>>
>> When I emitting the code for certain formats, I would need to call some emitter which basically the same kind of I'm calling from expandPostRAPseudo now.
>
> expandISelPseudos is the place to cleanup after ISEL hacks, and can
> create BBs. But, as Cameron explained well in the other thread, if you
> want a macro assembler for some sequences, do it late in
> expandPostRAPseudos.
> -Andy
>
I feel like I should expand things as soon as I have all the information
because then other passes can help make things better.
So maybe I do this earlier in expandIselPseudos.
Are there any cons ?
>
>>>> On Feb 16, 2013, at 1:08 PM, Reed Kotler<rkotler at mips.com> wrote:
>>>>
>>>>> I have a bunch of pseudos that I want to lower right after instruction selection.
>>>>>
>>>>> Where is the best place to do that?
>>>>>
>>>>> I was planning to use expandPostRAPseudo.
>>>>>
>>>>> Is there a better place?
>>>>>
>>>>> TIA.
>>>>>
>>>>> Reed
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> LLVM Developers mailing list
>>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>> _______________________________________________
>>>> 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/20130217/92e24162/attachment.html>
More information about the llvm-dev
mailing list