| 13601 | } |
| 13602 | |
| 13603 | BfTypedValue BfModule::LoadOrAggregateValue(BfTypedValue typedValue) |
| 13604 | { |
| 13605 | if (typedValue.IsSplat()) |
| 13606 | return AggregateSplat(typedValue); |
| 13607 | if (typedValue.IsAddr()) |
| 13608 | return LoadValue(typedValue); |
| 13609 | |
| 13610 | if ((typedValue.mType != NULL) && (typedValue.mType->IsParamsType()) && (!typedValue.IsParams())) |
| 13611 | { |
| 13612 | return GetDefaultTypedValue(ResolveTypeDef(mCompiler->mTupleTypeDef)); |
| 13613 | } |
| 13614 | else if ((typedValue.IsParams()) && (typedValue.mType->IsGenericParam())) |
| 13615 | { |
| 13616 | return BfTypedValue(mBfIRBuilder->GetFakeVal(), typedValue.mType); |
| 13617 | } |
| 13618 | |
| 13619 | return typedValue; |
| 13620 | } |
| 13621 | |
| 13622 | BfTypedValue BfModule::AggregateSplat(BfTypedValue typedValue, BfIRValue* valueArrPtr) |
| 13623 | { |
no test coverage detected