Lines Matching full:glue
163 static bool AddGlue(SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG) {
164 SDNode *GlueDestNode = Glue.getNode();
166 // Don't add glue from a node to itself.
169 // Don't add a glue operand to something that already uses glue.
171 N->getOperand(N->getNumOperands()-1).getValueType() == MVT::Glue) {
174 // Don't add glue to something that already has a glue value.
175 if (N->getValueType(N->getNumValues() - 1) == MVT::Glue) return false;
179 VTs.push_back(MVT::Glue);
181 CloneNodeWithValues(N, DAG, VTs, Glue);
189 assert((N->getValueType(N->getNumValues() - 1) == MVT::Glue &&
191 "expected an unused glue value");
199 /// offsets are not far apart (target specific), it add MVT::Glue inputs and
266 // Cluster loads by adding MVT::Glue outputs and inputs. This also
276 // If AddGlue fails, we could leave an unsused glue value. This should not
346 // nodes. Nodes can have at most one glue input and one glue output. Glue
352 N->getOperand(N->getNumOperands()-1).getValueType() == MVT::Glue) {
362 while (N->getValueType(N->getNumValues()-1) == MVT::Glue) {
365 // There are either zero or one users of the Glue result.
390 // If there are glue operands involved, N is now the bottom-most node
463 assert(OpVT != MVT::Glue && "Glued nodes should be in same sunit!");