Lines Matching refs:search

183          # - If it's in the search expression, we don't need to check anything
185 # case we'd reject it), or it equals the bit-size of the search value
400 In this case, in the search expression a must be 32-bit but b can
405 that a given search-and-replace operation is 100% well-defined before we
414 the equivalence class of any of the search values. We could make the example
415 transforms above work by doing some extra run-time checking of the search
420 replacement expression must produce the same bit size as the search
422 replacement expression, or specializing the search bitsize
432 from being allowed, since the search expression has the bit size of a and b,
443 of the search expresssion, since those are the things that are known when
460 - In the search expression, variables can always be specialized to each
462 this to avoid adding extra constraints to the search expression that
514 uses of the same variable. We always do this as if we're in the search
516 if the search expression specified some constraint but the replace
629 def validate_replace(self, val, search):
632 bit_size == search.get_bit_size(), \
635 'somewhere, or the search expression.'.format(val)
639 self.validate_replace(src, search)
641 def validate(self, search, replace):
643 self.merge_variables(search)
645 self.validate_value(search)
650 # Check that search is always more specialized than replace. Note that
652 search_bit_size = search.get_bit_size()
657 'The search expression bit size {} and replace expression ' \
661 replace.set_bit_size(search)
663 self.validate_replace(replace, search)
673 search = transform[0]
685 if isinstance(search, Expression):
686 self.search = search
688 self.search = Expression(search, "search{0}".format(self.id), varset)
697 BitSizeValidator(varset).validate(self.search, self.replace)
700 """This class calculates a bottom-up tree automaton to quickly search for
707 checking to the search function which actually checks the leaves. The
708 automaton acts as a quick filter for the search function, requiring only n
716 self.patterns = [t.search for t in transforms]
833 # construct it to match the search opcode, in which case we
969 const nir_search_expression *search;
991 ${xform.search.render(cache)}
999 { ${xforms[i].search.c_ptr(cache)}, ${xforms[i].replace.c_value_ptr(cache)}, ${xforms[i].condition_index} },
1089 nir_replace_instr(build, alu, xform->search, xform->replace)) {
1187 if xform.search.opcode in conv_opcode_types:
1188 dst_type = conv_opcode_types[xform.search.opcode]
1190 sized_opcode = xform.search.opcode + str(size)
1193 self.opcode_xforms[xform.search.opcode].append(xform)