Lines Matching refs:aggrNode
991 TIntermTyped* TIntermediate::fold(TIntermAggregate* aggrNode) in fold() argument
993 if (aggrNode == nullptr) in fold()
994 return aggrNode; in fold()
996 if (! areAllChildConst(aggrNode)) in fold()
997 return aggrNode; in fold()
999 if (aggrNode->isConstructor()) in fold()
1000 return foldConstructor(aggrNode); in fold()
1002 TIntermSequence& children = aggrNode->getSequence(); in fold()
1009 switch (aggrNode->getOp()) { in fold()
1051 return aggrNode; in fold()
1071 switch (aggrNode->getOp()) { in fold()
1223 return aggrNode; in fold()
1249 return aggrNode; in fold()
1258 switch (aggrNode->getOp()) { in fold()
1324 return aggrNode; in fold()
1328 TIntermConstantUnion *newNode = new TIntermConstantUnion(newConstArray, aggrNode->getType()); in fold()
1330 newNode->setLoc(aggrNode->getLoc()); in fold()
1335 bool TIntermediate::areAllChildConst(TIntermAggregate* aggrNode) in areAllChildConst() argument
1341 if (aggrNode) { in areAllChildConst()
1342 TIntermSequence& childSequenceVector = aggrNode->getSequence(); in areAllChildConst()
1353 TIntermTyped* TIntermediate::foldConstructor(TIntermAggregate* aggrNode) in foldConstructor() argument
1357 TConstUnionArray unionArray(aggrNode->getType().computeNumComponents()); in foldConstructor()
1358 if (aggrNode->getSequence().size() == 1) in foldConstructor()
1359 error = parseConstTree(aggrNode, unionArray, aggrNode->getOp(), aggrNode->getType(), true); in foldConstructor()
1361 error = parseConstTree(aggrNode, unionArray, aggrNode->getOp(), aggrNode->getType()); in foldConstructor()
1364 return aggrNode; in foldConstructor()
1366 return addConstantUnion(unionArray, aggrNode->getType(), aggrNode->getLoc()); in foldConstructor()