Skip to content

Commit 5e9bdea

Browse files
dplassgitcopybara-github
authored andcommitted
Update HandleProcNextFunction to accept a ConversionRecord instead of the individual members of the record.
This will allow us to pass in additional information via the ConversionRecord without expanding the number of parameters to that method. PiperOrigin-RevId: 808233559
1 parent f8f0e39 commit 5e9bdea

File tree

4 files changed

+15
-10
lines changed

4 files changed

+15
-10
lines changed

xls/dslx/ir_convert/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,7 @@ cc_library(
328328
deps = [
329329
":channel_scope",
330330
":conversion_info",
331+
":conversion_record",
331332
":convert_format_macro",
332333
":convert_options",
333334
":ir_conversion_utils",

xls/dslx/ir_convert/function_converter.cc

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
#include "xls/dslx/interp_value.h"
5555
#include "xls/dslx/interp_value_utils.h"
5656
#include "xls/dslx/ir_convert/channel_scope.h"
57+
#include "xls/dslx/ir_convert/conversion_record.h"
5758
#include "xls/dslx/ir_convert/convert_format_macro.h"
5859
#include "xls/dslx/ir_convert/convert_options.h"
5960
#include "xls/dslx/ir_convert/ir_conversion_utils.h"
@@ -3275,16 +3276,21 @@ absl::Status FunctionConverter::HandleChannelDecl(const ChannelDecl* node) {
32753276

32763277
// TODO: davidplass - break this method up. It's too big.
32773278
absl::Status FunctionConverter::HandleProcNextFunction(
3278-
Function* f, const Invocation* invocation, TypeInfo* type_info,
3279-
ImportData* import_data, const ParametricEnv* parametric_env,
3280-
const ProcId& proc_id, ProcConversionData* proc_data) {
3279+
const ConversionRecord& record, ImportData* import_data,
3280+
ProcConversionData* proc_data) {
3281+
TypeInfo* type_info = record.type_info();
32813282
XLS_RET_CHECK_NE(type_info, nullptr);
3283+
3284+
Function* f = record.f();
3285+
ProcId proc_id = record.proc_id().value();
32823286
VLOG(5) << "HandleProcNextFunction: " << f->ToString() << " proc id "
32833287
<< proc_id.ToString();
3288+
const Invocation* invocation = record.invocation();
32843289
if (invocation != nullptr) {
32853290
VLOG(5) << "HandleProcNextFunction: invocation " << invocation->ToString();
32863291
}
32873292

3293+
const ParametricEnv* parametric_env = &record.parametric_env();
32883294
if (parametric_env != nullptr) {
32893295
SetParametricEnv(parametric_env);
32903296
}

xls/dslx/ir_convert/function_converter.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#include "xls/dslx/interp_value.h"
3939
#include "xls/dslx/ir_convert/channel_scope.h"
4040
#include "xls/dslx/ir_convert/conversion_info.h"
41+
#include "xls/dslx/ir_convert/conversion_record.h"
4142
#include "xls/dslx/ir_convert/convert_options.h"
4243
#include "xls/dslx/ir_convert/proc_config_ir_converter.h"
4344
#include "xls/dslx/ir_convert/proc_scoped_channel_scope.h"
@@ -149,10 +150,9 @@ class FunctionConverter {
149150
absl::Status HandleFunction(Function* node, TypeInfo* type_info,
150151
const ParametricEnv* parametric_env);
151152

152-
absl::Status HandleProcNextFunction(
153-
Function* pf, const Invocation* invocation, TypeInfo* type_info,
154-
ImportData* import_data, const ParametricEnv* parametric_env,
155-
const ProcId& proc_id, ProcConversionData* proc_data);
153+
absl::Status HandleProcNextFunction(const ConversionRecord& record,
154+
ImportData* import_data,
155+
ProcConversionData* proc_data);
156156

157157
// Notes a constant-definition dependency for the function (so it can
158158
// participate in the IR conversion).

xls/dslx/ir_convert/ir_converter.cc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,9 +226,7 @@ absl::Status ConvertOneFunctionInternal(PackageData& package_data,
226226
proc_data->id_to_initial_value[record.proc_id().value()] = ir_value;
227227
}
228228

229-
return converter.HandleProcNextFunction(
230-
f, record.invocation(), record.type_info(), import_data,
231-
&record.parametric_env(), record.proc_id().value(), proc_data);
229+
return converter.HandleProcNextFunction(record, import_data, proc_data);
232230
}
233231

234232
return converter.HandleFunction(f, record.type_info(),

0 commit comments

Comments
 (0)