@@ -10,15 +10,15 @@ using namespace taco::ir;
1010namespace taco {
1111
1212SingletonModeFormat::SingletonModeFormat () :
13- SingletonModeFormat (false , true , true , false ) {
13+ SingletonModeFormat (false , true , true , false , false ) {
1414}
1515
1616SingletonModeFormat::SingletonModeFormat (bool isFull, bool isOrdered,
1717 bool isUnique, bool isZeroless,
18- long long allocSize) :
18+ bool isPadded, long long allocSize) :
1919 ModeFormatImpl (" singleton" , isFull, isOrdered, isUnique, true , true ,
20- isZeroless, false , true , false , false , true , false , true ,
21- true ),
20+ isZeroless, isPadded, false , true , false , false , true ,
21+ false , true , true ),
2222 allocSize (allocSize) {
2323}
2424
@@ -28,6 +28,7 @@ ModeFormat SingletonModeFormat::copy(
2828 bool isOrdered = this ->isOrdered ;
2929 bool isUnique = this ->isUnique ;
3030 bool isZeroless = this ->isZeroless ;
31+ bool isPadded = this ->isPadded ;
3132 for (const auto property : properties) {
3233 switch (property) {
3334 case ModeFormat::FULL:
@@ -54,13 +55,19 @@ ModeFormat SingletonModeFormat::copy(
5455 case ModeFormat::NOT_ZEROLESS:
5556 isZeroless = false ;
5657 break ;
58+ case ModeFormat::PADDED:
59+ isPadded = true ;
60+ break ;
61+ case ModeFormat::NOT_PADDED:
62+ isPadded = false ;
63+ break ;
5764 default :
5865 break ;
5966 }
6067 }
6168 const auto singletonVariant =
6269 std::make_shared<SingletonModeFormat>(isFull, isOrdered, isUnique,
63- isZeroless);
70+ isZeroless, isPadded );
6471 return ModeFormat (singletonVariant);
6572}
6673
@@ -128,7 +135,7 @@ Expr SingletonModeFormat::getAssembledSize(Expr prevSize, Mode mode) const {
128135Stmt SingletonModeFormat::getInitCoords (Expr prevSize,
129136 std::vector<AttrQueryResult> queries, Mode mode) const {
130137 Expr crdArray = getCoordArray (mode.getModePack ());
131- return Allocate::make (crdArray, prevSize, false , Expr (), true );
138+ return Allocate::make (crdArray, prevSize, false , Expr (), isPadded );
132139}
133140
134141ModeFunction SingletonModeFormat::getYieldPos (Expr parentPos,
0 commit comments