On Oct 17, 2007, at 6:49 AM, Duncan Sands wrote: > Author: baldrick > Date: Wed Oct 17 08:49:58 2007 > New Revision: 43071 > > URL: http://llvm.org/viewvc/llvm-project?rev=43071&view=rev > Log: > Return Expand from getOperationAction for all extended > types. This is needed for SIGN_EXTEND_INREG at least. > It is not clear if this is correct for other operations. > On the other hand, for the various load/store actions > it seems to correct to return the type action, as is > currently done.
I'm not sure about this change. It seems to make more sense for an i17 add to return promote, not expand, no? OTOH, <128 x float> add should return expand. More generally, I don't think we want to *ever* call getOperationAction on invalid types, but I know of at least one case where we do, and am not sure how to change it (x86 supports fp to i64 even though i64 isn't legal). > Also, it seems that SelectionDAG::getValueType can be > called for extended value types; introduce a map for > holding these, since we don't really want to extend > the vector to be 2^32 pointers long! yay :) > Generalize DAGTypeLegalizer::PromoteResult_TRUNCATE > and DAGTypeLegalizer::PromoteResult_INT_EXTEND to handle > the various funky possibilities that apints introduce, > for example that you can promote to a type that needs > to be expanded. Ok. Thanks Duncan, -Chris _______________________________________________ llvm-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
