Lines Matching defs:pieceB
289 return llvm::all_of(other.pieces, [&pieceA](const Piece &pieceB) {
290 PresburgerSet commonDomain = pieceA.domain.intersect(pieceB.domain);
291 return pieceA.output.isEqual(pieceB.output, commonDomain);
325 // - Add the output of pieceB for the part of the domain where both pieceA and
326 // pieceB are defined, and `tiebreak` chooses the output of pieceB.
327 // - Add the output of pieceA, where pieceB is not defined or `tiebreak`
329 // pieceA over pieceB.
330 // - Add the output of pieceB, where pieceA is not defined.
332 // Add parts of the common domain where pieceB's output is used. Also
338 for (const Piece &pieceB : func.pieces) {
339 PresburgerSet better = tiebreak(pieceB, pieceA);
340 // Add the output of pieceB, where it is better than output of pieceA.
343 result.addPiece({better, pieceB.output});
346 // Add output of pieceA, where it is better than pieceB, or pieceB is not
353 // - They are one of the pieces added for `pieceB`, and we have been
359 // Add parts of pieceB which are not shared with pieceA.
361 for (const Piece &pieceB : func.pieces)
362 result.addPiece({pieceB.domain.subtract(dom), pieceB.output});
372 const PWMAFunction::Piece &pieceB) {
373 PresburgerSet result = pieceA.output.getLexSet(comp, pieceB.output);
374 result = result.intersect(pieceA.domain).intersect(pieceB.domain);