Home | History | Annotate | Download | only in Scalar

Lines Matching refs:Dead

1 //===- DeadStoreElimination.cpp - Fast Dead Store Elimination -------------===//
10 // This file implements a trivial dead store elimination that only considers
61 // Only check non-dead blocks. Dead blocks may have strange pointer
89 INITIALIZE_PASS_BEGIN(DSE, "dse", "Dead Store Elimination", false, false)
93 INITIALIZE_PASS_END(DSE, "dse", "Dead Store Elimination", false, false)
103 /// dead, delete them and the computation tree that feeds them.
120 // This instruction is dead, zap it, in stages. Start by removing it from
129 // If this operand just became dead, add it to the NowDeadInsts list.
229 // Never remove dead lifetime_end's, e.g. because it is followed by a
428 /// input dead in the traditional sense. Consider this case:
433 /// In this case, the second store to A does not make the first store to A dead.
464 // then it can't be considered dead.
553 DEBUG(dbgs() << "DSE: Remove Dead Store:\n DEAD: "
556 // Delete the store and now-dead instructions that feed it.
579 DEBUG(dbgs() << "DSE: Remove Dead Store:\n OW END: "
614 // dead at its end, which means stores to them are also dead.
672 // which may also be dead, as in
686 /// handleEndBlock - Remove dead stores to stack-allocated locations in the
695 // Keep track of all of the stack objects that are dead at the end of the
705 // Okay, so these are dead heap objects, but if the pointer never escapes
712 // Treat byval arguments the same, stores to them are dead at the end of the
723 // If we find a store, check to see if it points into a dead stack value.
730 Instruction *Dead = BBI++;
732 DEBUG(dbgs() << "DSE: Dead Store at End of Block:\n DEAD: "
733 << *Dead << "\n Object: " << *Pointer << '\n');
736 DeleteDeadInstruction(Dead, *MD, &DeadStackObjects);
743 // Remove any dead non-memory-mutating instructions.
795 // If we encounter a use of the pointer, it is no longer considered dead
833 // A constant can't be in the dead pointer set.