Lines Matching defs:node
60 // Returns the node to keep using, which may or may not be the node passed in.
70 // Returns a new node representing the result.
363 // Do single unary node folding
365 // Returns a new node representing the result.
950 // Do constant folding for an aggregate node that has all its children
1296 // the parent node
1330 TIntermTyped* TIntermediate::foldDereference(TIntermTyped* node, int index, const TSourceLoc& loc)
1332 TType dereferencedType(node->getType(), index);
1340 if (node->getType().isCoopMat())
1342 else if (node->isArray() || ! node->isStruct())
1346 assert(node->isStruct());
1349 start += (*node->getType().getStruct())[i].type->computeNumComponents();
1352 result = addConstantUnion(TConstUnionArray(node->getAsConstantUnion()->getConstArray(), start, size), node->getType(), loc);
1355 result = node;
1363 // Make a constant vector node or constant scalar node, representing a given
1366 TIntermTyped* TIntermediate::foldSwizzle(TIntermTyped* node, TSwizzleSelectors<TVectorSelector>& selectors, const TSourceLoc& loc)
1368 const TConstUnionArray& unionArray = node->getAsConstantUnion()->getConstArray();
1374 TIntermTyped* result = addConstantUnion(constArray, node->getType(), loc);
1377 result = node;
1379 result->setType(TType(node->getBasicType(), EvqConst, selectors.size()));