[llvm-commits] Patch for handling multiple values in ExpandIntegerOperand

sanjiv gupta sanjiv.gupta at microchip.com
Fri Oct 31 02:40:15 PDT 2008


On Sat, 2008-10-18 at 20:48 +0200, Duncan Sands wrote:
> > Please refer to one of your posts to see why number of values can't be
> > same.
> > 
> > http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-September/016767.html
> 
> As I mentioned there, in such cases you need to use MergeValues.
> Take a look at X86TargetLowering::ExpandFP_TO_SINT for an example
> of this.
> 
> Ciao,
> 
> Duncan.

Looks like some target independent code also requires that the number of
values can't be same. For example: TRUNC:i8 (add:i16) gets replaced by
the first value of adde:(i8, flag) ignoring the flag.

So the patch I submitted  is quite generic and only extends the
functionally to handle the case where the original node had multiple
values. Our target needs this since we are replacing loads, and a load
has multiple values. Do you think the patch is unsafe?

Thanks,
- Sanjiv



More information about the llvm-commits mailing list