Lines Matching refs:instruction
31 * The `Lookup` method returns an equivalent instruction to the given instruction
77 // Adds an instruction in the set.
78 void Add(HInstruction* instruction) {
79 DCHECK(Lookup(instruction) == nullptr);
80 size_t hash_code = HashCode(instruction);
86 buckets_[index] = new (allocator_) Node(instruction, hash_code, buckets_[index]);
90 // If in the set, returns an equivalent instruction to the given instruction.
92 HInstruction* Lookup(HInstruction* instruction) const {
93 size_t hash_code = HashCode(instruction);
99 if (existing->Equals(instruction)) {
107 // Returns whether instruction is in the set.
108 bool Contains(HInstruction* instruction) const {
109 size_t hash_code = HashCode(instruction);
113 if (node->GetInstruction() == instruction) {
148 Node(HInstruction* instruction, size_t hash_code, Node* next)
149 : instruction_(instruction), hash_code_(hash_code), next_(next) {}
263 // Generates a hash code for an instruction. Pure instructions are put into
265 size_t HashCode(HInstruction* instruction) const {
266 size_t hash_code = instruction->ComputeHashCode();
267 if (instruction->GetSideEffects().HasDependencies()) {
299 * Optimization phase that removes redundant instruction.
380 // Save the next instruction in case `current` is removed from the graph.
391 // current is either used by an instruction that it dominates,