@@ -267,8 +267,7 @@ struct VPTransformState {
267267 // vector value in the map.
268268 DenseMap<VPValue *, Value *> VPV2Vector;
269269
270- using ScalarsPerPartValuesTy = SmallVector<SmallVector<Value *, 4 >, 2 >;
271- DenseMap<VPValue *, ScalarsPerPartValuesTy> PerPartScalars;
270+ DenseMap<VPValue *, SmallVector<Value *, 4 >> VPV2Scalars;
272271 } Data;
273272
274273 // / Get the generated vector Value for a given VPValue \p Def if \p IsScalar
@@ -281,13 +280,11 @@ struct VPTransformState {
281280 bool hasVectorValue (VPValue *Def) { return Data.VPV2Vector .contains (Def); }
282281
283282 bool hasScalarValue (VPValue *Def, VPIteration Instance) {
284- auto I = Data.PerPartScalars .find (Def);
285- if (I == Data.PerPartScalars .end ())
283+ auto I = Data.VPV2Scalars .find (Def);
284+ if (I == Data.VPV2Scalars .end ())
286285 return false ;
287286 unsigned CacheIdx = Instance.Lane .mapToCacheIndex (VF);
288- return Instance.Part < I->second .size () &&
289- CacheIdx < I->second [Instance.Part ].size () &&
290- I->second [Instance.Part ][CacheIdx];
287+ return CacheIdx < I->second .size () && I->second [CacheIdx];
291288 }
292289
293290 // / Set the generated vector Value for a given VPValue, if \p
@@ -310,11 +307,8 @@ struct VPTransformState {
310307
311308 // / Set the generated scalar \p V for \p Def and the given \p Instance.
312309 void set (VPValue *Def, Value *V, const VPIteration &Instance) {
313- auto Iter = Data.PerPartScalars .insert ({Def, {}});
314- auto &PerPartVec = Iter.first ->second ;
315- if (PerPartVec.size () <= Instance.Part )
316- PerPartVec.resize (Instance.Part + 1 );
317- auto &Scalars = PerPartVec[Instance.Part ];
310+ auto Iter = Data.VPV2Scalars .insert ({Def, {}});
311+ auto &Scalars = Iter.first ->second ;
318312 unsigned CacheIdx = Instance.Lane .mapToCacheIndex (VF);
319313 if (Scalars.size () <= CacheIdx)
320314 Scalars.resize (CacheIdx + 1 );
@@ -324,15 +318,13 @@ struct VPTransformState {
324318
325319 // / Reset an existing scalar value for \p Def and a given \p Instance.
326320 void reset (VPValue *Def, Value *V, const VPIteration &Instance) {
327- auto Iter = Data.PerPartScalars .find (Def);
328- assert (Iter != Data.PerPartScalars .end () &&
329- " need to overwrite existing value" );
330- assert (Instance.Part < Iter->second .size () &&
321+ auto Iter = Data.VPV2Scalars .find (Def);
322+ assert (Iter != Data.VPV2Scalars .end () &&
331323 " need to overwrite existing value" );
332324 unsigned CacheIdx = Instance.Lane .mapToCacheIndex (VF);
333- assert (CacheIdx < Iter->second [Instance. Part ] .size () &&
325+ assert (CacheIdx < Iter->second .size () &&
334326 " need to overwrite existing value" );
335- Iter->second [Instance. Part ][ CacheIdx] = V;
327+ Iter->second [CacheIdx] = V;
336328 }
337329
338330 // / Add additional metadata to \p To that was not present on \p Orig.
0 commit comments