// Finds blocks that are part of this loop. void Populate();
// Updates blocks population of the loop and all of its outer' ones recursively after the // population of the inner loop is updated. void PopulateInnerLoopUpwards(HLoopInformation* inner_loop);
// Returns whether this loop information contains `block`. // Note that this loop information *must* be populated before entering this function. bool Contains(const HBasicBlock& block) const;
// Returns whether this loop information is an inner loop of `other`. // Note that `other` *must* be populated before entering this function. bool IsIn(const HLoopInformation& other) const;
// Returns true if instruction is not defined within this loop. bool IsDefinedOutOfTheLoop(HInstruction* instruction) const;
// Set the loop information in the `block`. Overrides the `block`'s current // loop information if it is an outer loop of the loop information `*this`. void MarkInLoop(HBasicBlock* block);
// Iterates over the LoopInformation of all loops which contain 'block' // from the innermost to the outermost. class HLoopInformationOutwardIterator final : public ValueObject { public: explicit HLoopInformationOutwardIterator(const HBasicBlock& block);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.