Lines Matching refs:BitVector
81 BitVector nonLiveArgs;
82 BitVector nonLiveRets;
87 BitVector nonLive;
92 BitVector nonLiveArgs;
98 BitVector nonLiveOperands;
128 /// Return a BitVector of size `values.size()` where its i-th bit is 1 iff the
130 static BitVector markLives(ValueRange values, const DenseSet<Value> &nonLiveSet,
132 BitVector lives(values.size(), true);
158 const BitVector &nonLive) {
168 static void dropUsesAndEraseResults(Operation *op, BitVector toErase) {
237 BitVector(op->getNumResults(), true));
258 BitVector nonLiveArgs = markLives(arguments, nonLiveSet, la);
275 BitVector nonLiveCallOperands(callOp->getNumOperands(), false);
308 BitVector nonLiveRets(numReturns, true);
312 BitVector liveCallRets = markLives(callOp->getResults(), nonLiveSet, la);
371 auto markLiveResults = [&](BitVector &liveResults) {
376 auto markLiveArgs = [&](DenseMap<Region *, BitVector> &liveArgs) {
379 BitVector regionLiveArgs = markLives(arguments, nonLiveSet, la);
410 auto markNonForwardedOperands = [&](BitVector &nonForwardedOperands) {
421 [&](DenseMap<Operation *, BitVector> &nonForwardedRets) {
425 BitVector(terminator->getNumOperands(), true);
439 [&](BitVector &valuesToKeep, BitVector &resultsToKeep,
440 DenseMap<Region *, BitVector> &argsToKeep, Region *region = nullptr) {
464 [&](BitVector &resultsToKeep, DenseMap<Region *, BitVector> &argsToKeep,
465 BitVector &operandsToKeep,
466 DenseMap<Operation *, BitVector> &terminatorOperandsToKeep,
537 [&](BitVector &resultsToKeep, DenseMap<Region *, BitVector> &argsToKeep,
538 BitVector &operandsToKeep,
539 DenseMap<Operation *, BitVector> &terminatorOperandsToKeep) {
579 BitVector resultsToKeep;
582 DenseMap<Region *, BitVector> argsToKeep;
584 BitVector operandsToKeep;
587 DenseMap<Operation *, BitVector> terminatorOperandsToKeep;
616 BitVector argsToRemove = argsToKeep[®ion].flip();
630 BitVector resultsToRemove = resultsToKeep.flip();
662 BitVector successorNonLive =