[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