[LLVMdev] Register based vector insert/extract

Nate Begeman natebegeman at mac.com
Wed Jun 6 15:16:40 PDT 2007


Hi Christopher,

I can send you what I have for that so far, that works pretty well.

Nate

On Jun 6, 2007, at 3:06 PM, Christopher Lamb wrote:

>
> On Apr 24, 2007, at 12:01 PM, Chris Lattner wrote:
>
>> Yes, we need those.  I think these are the major pieces needed.   
>> These are
>> all relatively small and independent pieces, so we can tackle  
>> these one at
>> a time.
>
> <snip>
>
>> 4. The DAG scheduler pass (which creates machine instrs from dag  
>> nodes)
>>     currently thinks of register operands as simple unsigned's for  
>> vreg
>>     #'s.  This needs to be extended to be vreg+subreg pairs (see
>>     'CreateVirtualRegisters').
>> 5. We need to decide how to represent subregs in the DAG.  Your
>>     SDSubOperand idea is fine, but I don't think it needs to be an  
>> actual
>>     new subclass of SDOperand.  Instead, it could just be a binary  
>> SDNode,
>>     where the LHS is the register input and the RHS is a  
>> TargetConstant
>>     specifying the subreg#.
>> 6. [optional] We would like syntax to create these things for  
>> writting
>>     patterns in the .td file instead of requiring custom matching  
>> code.
>> 7. The register allocator needs to rewrite subreg references using
>>     #1.  This should be very simple.
>
>
> For 5 I am currently creating new binary SDNodes for 'from_subreg'  
> and 'to_subreg' in ISD, is this in line with your thinking for the  
> design Chris? The issue I ran into is that you essentially need  
> subreg insert and extract.
>
> --
> Christopher Lamb
>
>
>
> _______________________________________________
> 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/20070606/ee27ff3e/attachment.html>


More information about the llvm-dev mailing list