[llvm-commits] [llvm] r46140 - in /llvm/trunk: include/llvm/Target/ lib/CodeGen/SelectionDAG/ lib/Target/ lib/Target/ARM/ lib/Target/Alpha/ lib/Target/CellSPU/ lib/Target/Mips/ lib/Target/PowerPC/ lib/Target/Sparc/ lib/Target/X86/ test/CodeGen/X86/

Duncan Sands baldrick at free.fr
Fri Jan 18 10:15:04 PST 2008


Hi Chris,

> 32 is sizeof(uint64_t)*8 / 2, because each entry takes two bits in a  
> uint64_t.
> 
> I converted this to symbolic math to make it more obvious, and  
> switched to using array_lengthof instead of comparing against  
> MVT::LAST_VALUETYPE directly.

thanks!

> > This may be wrong for apints, since the expanded value type may be  
> > smaller than
> > ST->getStoredVT(), eg if you are expanding i64, and ST- 
> > >getStoredVT() is i40.  I
> > can take care of this.
> 
> Ok.  As it turns out, I think this code is unreachable currently.  If  
> we made the above dag combine xform happen even for illegal xforms  
> before legalize, then this code would be live.

I'd forgotten that the new legalize stuff already takes care of this
case, and once that is turned on this particular bit of code
will be removed anyway (though not the part following which handles
illegal trunc store of a legal type).

Ciao,

Duncan.



More information about the llvm-commits mailing list