P4C
The P4 Compiler
|
Classes | |
struct | ActionDataBus |
struct | InstructionMemory |
struct | IXBar |
class | MauAsmOutput |
struct | Memories |
class | SetupAttachedTables |
Functions | |
void | dump (const Memories *mem) |
void | emit_ixbar_hash (const PhvInfo &phv, std::ostream &out, indent_t indent, safe_vector< Slice > &match_data, safe_vector< Slice > &ghost, const ::IXBar::Use *use_, int hash_group, int &ident_bits_prev_alloc) |
void | emit_ixbar_hash_dist_ident (const PhvInfo &phv, std::ostream &out, indent_t indent, safe_vector< Slice > &match_data, const Tofino::IXBar::Use::HashDistHash &hdh, const safe_vector< const IR::Expression * > &) |
void | emit_ixbar_meter_alu_hash (const PhvInfo &phv, std::ostream &out, indent_t indent, const safe_vector< Slice > &match_data, const Tofino::IXBar::Use::MeterAluHash &mah, const safe_vector< const IR::Expression * > &field_list_order, const LTBitMatrix &sym_keys) |
void | emit_ixbar_proxy_hash (const PhvInfo &phv, std::ostream &out, indent_t indent, safe_vector< Slice > &match_data, const Tofino::IXBar::Use::ProxyHashKey &ph, const safe_vector< const IR::Expression * > &field_list_order, const LTBitMatrix &sym_keys) |
std::ostream & | operator<< (std::ostream &out, const Memories::result_bus_info &rbi) |
std::ostream & | operator<< (std::ostream &out, const Memories::search_bus_info &sbi) |
std::ostream & | operator<< (std::ostream &out, const Memories::table_alloc &ta) |
std::ostream & | operator<< (std::ostream &out, const safe_vector< Memories::table_alloc * > &v) |
Copyright (C) 2024 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
void Tofino::emit_ixbar_hash_dist_ident | ( | const PhvInfo & | phv, |
std::ostream & | out, | ||
indent_t | indent, | ||
safe_vector< Slice > & | match_data, | ||
const Tofino::IXBar::Use::HashDistHash & | hdh, | ||
const safe_vector< const IR::Expression * > & | ) |
Given a bitrange to allocate into the ixbar hash matrix, as well as a list of fields to be the identity, this coordinates the field slice to a portion of the bit range. This really only applies for identity matches.