Lines Matching full:sink
1 //===- MergedLoadStoreMotion.cpp - merge and hoist/sink load/stores -------===//
64 // %s.sink = phi [%st, if.then], [%se, if.else]
66 // store %s.sink, %addr_s
161 /// True when instruction is a sink barrier for a store
166 /// happening it is considered a sink barrier.
181 /// \return The store in \p when it is safe to sink. Otherwise return Null.
185 LLVM_DEBUG(dbgs() << "can Sink? : "; Store0->dump(); dbgs() << "\n");
219 auto *NewPN = PHINode::Create(Opd1->getType(), 2, Opd2->getName() + ".sink");
242 /// Merge two stores to same address and sink into \p BB
251 LLVM_DEBUG(dbgs() << "Sink Instruction into BB \n"; BB->dump();
293 /// True when two stores are equivalent and can sink into the footer
328 // Don't sink non-simple (atomic, volatile) stores.
338 // Don't attempt to sink below stores that had to stick around
346 // postdominating 2 predecessors we're going to sink from.
347 SinkBB = SplitBlockPredecessors(TailBB, {Pred0, Pred1}, ".sink.split");
373 // Hoist equivalent loads and sink stores