[llvm-commits] Patch for handling multiple values in ExpandIntegerOperand
sanjiv gupta
sanjiv.gupta at microchip.com
Fri Nov 7 23:52:26 PST 2008
On Fri, 2008-10-31 at 12:55 +0100, Duncan Sands wrote:
> Hi,
>
> > The code routine in question here is DAG::getNode(), which returns an
> > SDValue. When it sees that the Operand of the TRUNCATE:i8
> > (adde:i8,flag) has same value, it simply returns the first value of
> > Operand. I don't think that we can/want to change the return type of
> > getNode().
>
> excellent point.
>
> > Probably you are referring to change the return types of functions like:
> >
> > SDValue DAGTypeLegalizer::ExpandIntOp_TRUNCATE(SDNode *N)
> >
> > to SDNode *.
> >
> ...
> > // Return Merge_Values if the number of values of N and Res do not
> > match. ???
> >
> > is my understanding correct?
>
> Yes, but as you point out that is not reliable. This also means that
> the ReplaceNodeResults (target lowering) routines are potentially broken.
> I think that means that target lowering needs access to ReplaceValueWith,
> and that ReplaceNodeWith should probably be removed.
>
> Ciao,
>
> Dncan.
Duncan,
Our target needs this. I can take this up if we make a decision on
precisely what needs to be done.
TIA
- Sanjiv
More information about the llvm-commits
mailing list