[llvm-commits] [llvm] r47656 - /llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

Evan Cheng evan.cheng at apple.com
Tue Feb 26 18:18:53 PST 2008


On Feb 26, 2008, at 5:52 PM, Dan Gohman wrote:

> Author: djg
> Date: Tue Feb 26 19:52:30 2008
> New Revision: 47656
>
> URL: http://llvm.org/viewvc/llvm-project?rev=47656&view=rev
> Log:
> Teach Legalize how to expand an EXTRACT_ELEMENT.
>
> Modified:
>    llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp?rev=47656&r1=47655&r2=47656&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Tue Feb 26  
> 19:52:30 2008
> @@ -5739,6 +5739,12 @@
> #endif
>     assert(0 && "Do not know how to expand this operator!");
>     abort();
> +  case ISD::EXTRACT_ELEMENT:
> +    ExpandOp(Node->getOperand(0), Lo, Hi);
> +    if (cast<ConstantSDNode>(Node->getOperand(1))->getValue())
> +      return ExpandOp(Hi, Lo, Hi);
> +    else
> +      return ExpandOp(Lo, Lo, Hi);

Before Chris pick on you for this. I might as well. :-) 'else' is not  
needed.

Evan

>
>   case ISD::EXTRACT_VECTOR_ELT:
>     assert(VT==MVT::i64 && "Do not know how to expand this  
> operator!");
>     // ExpandEXTRACT_VECTOR_ELT tolerates invalid result types.
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list