Support queue of arrays

This commit is contained in:
Wilson Snyder
2020-12-12 19:19:32 -05:00
parent 0ca72f8098
commit 517fdb7587
9 changed files with 205 additions and 15 deletions
+2 -1
View File
@@ -1451,9 +1451,10 @@ private:
// Cleanup array size
userIterateAndNext(nodep->rangep(), WidthVP(SELF, BOTH).p());
nodep->dtypep(nodep); // The array itself, not subDtype
if (VN_IS(nodep, UnpackArrayDType)) {
if (auto* adtypep = VN_CAST(nodep, UnpackArrayDType)) {
// Historically array elements have width of the ref type not the full array
nodep->widthFromSub(nodep->subDTypep());
if (nodep->subDTypep()->skipRefp()->isCompound()) adtypep->isCompound(true);
} else {
int width = nodep->subDTypep()->width() * nodep->rangep()->elementsConst();
nodep->widthForce(width, width);