def visit_FieldRef(self, node: gt_ir.FieldRef, **kwargs): field_name = node.name if kwargs["in_write"]: self.field_info[field_name]["access"] = gt_definitions.AccessKind.READ_WRITE elif self.field_info[field_name]["access"] is None: self.field_info[field_name]["access"] = gt_definitions.AccessKind.READ_ONLY offset = tuple(node.offset.values()) extent = gt_definitions.Extent( [(offset[0], offset[0]), (offset[1], offset[1]), (0, 0)] ) # exclude sequential axis kwargs["compute_extent"] |= extent accumulated_extent = kwargs["compute_extent"] + extent self.field_info[field_name]["extent"] |= accumulated_extent
def visit_FieldRef(self, node: gt_ir.FieldRef, **kwargs: Any) -> None: field_name = node.name if len(kwargs["write_field"]) < 1: self.field_info[field_name][ "access"] = gt_definitions.AccessKind.READ_WRITE elif self.field_info[field_name]["access"] is None: self.field_info[field_name][ "access"] = gt_definitions.AccessKind.READ_ONLY if kwargs["write_field"] in self.field_info: self.field_info[kwargs["write_field"]]["inputs"].add( field_name) offset = tuple(node.offset.values()) self.field_info[field_name]["extent"] |= gt_definitions.Extent([ (offset[0], offset[0]), (offset[1], offset[1]), (0, 0) ]) # exclude sequential axis