Changes in directory llvm/lib/Target:
TargetLowering.cpp updated: 1.49 -> 1.50 --- Log message: Modify the TargetLowering::getPackedTypeBreakdown method to also return the unpromoted element type. --- Diffs of the changes: (+7 -4) TargetLowering.cpp | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) Index: llvm/lib/Target/TargetLowering.cpp diff -u llvm/lib/Target/TargetLowering.cpp:1.49 llvm/lib/Target/TargetLowering.cpp:1.50 --- llvm/lib/Target/TargetLowering.cpp:1.49 Thu Mar 30 18:28:56 2006 +++ llvm/lib/Target/TargetLowering.cpp Thu Mar 30 18:46:36 2006 @@ -148,11 +148,13 @@ /// /// This method returns the number and type of the resultant breakdown. /// -MVT::ValueType TargetLowering::getPackedTypeBreakdown(const PackedType *PTy, - unsigned &NumVals) const { +unsigned TargetLowering::getPackedTypeBreakdown(const PackedType *PTy, + MVT::ValueType &PTyElementVT, + MVT::ValueType &PTyLegalElementVT) const { // Figure out the right, legal destination reg to copy into. unsigned NumElts = PTy->getNumElements(); MVT::ValueType EltTy = getValueType(PTy->getElementType()); + PTyElementVT = EltTy; unsigned NumVectorRegs = 1; @@ -170,13 +172,14 @@ VT = getVectorType(EltTy, NumElts); MVT::ValueType DestVT = getTypeToTransformTo(VT); + PTyLegalElementVT = DestVT; if (DestVT < VT) { // Value is expanded, e.g. i64 -> i16. - NumVals = NumVectorRegs*(MVT::getSizeInBits(VT)/MVT::getSizeInBits(DestVT)); + return NumVectorRegs*(MVT::getSizeInBits(VT)/MVT::getSizeInBits(DestVT)); } else { // Otherwise, promotion or legal types use the same number of registers as // the vector decimated to the appropriate level. - NumVals = NumVectorRegs; + return NumVectorRegs; } return DestVT; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits