Skip to content

Commit e670644

Browse files
XLS Teamcopybara-github
authored andcommitted
Pass pointer to MLIR-to-XLS translation for returning the xls::Package after translation.
PiperOrigin-RevId: 893697815
1 parent 6853d1b commit e670644

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

xls/contrib/mlir/tools/xls_translate/xls_translate_from_mlir.cc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1741,7 +1741,8 @@ FailureOr<std::unique_ptr<Package>> mlirXlsToXls(Operation* op,
17411741
LogicalResult MlirXlsToXlsTranslate(
17421742
Operation* op, llvm::raw_ostream& output,
17431743
MlirXlsToXlsTranslateOptions options, MetricsReporter metrics_reporter,
1744-
SchedulingMetricsReporter scheduling_metrics_reporter) {
1744+
SchedulingMetricsReporter scheduling_metrics_reporter,
1745+
std::unique_ptr<Package>* xls_package) {
17451746
// It is important to ensure the XlsDialect is loaded, because it registers
17461747
// the XlsRegionOpInterface external model for FuncOp.
17471748
op->getContext()->getOrLoadDialect<XlsDialect>();
@@ -1784,6 +1785,9 @@ LogicalResult MlirXlsToXlsTranslate(
17841785
if (!options.generate_verilog) {
17851786
std::string out = (*package)->DumpIr();
17861787
output << out;
1788+
if (xls_package != nullptr) {
1789+
*xls_package = std::move(*package);
1790+
}
17871791
return success();
17881792
}
17891793

@@ -1813,6 +1817,9 @@ LogicalResult MlirXlsToXlsTranslate(
18131817
}
18141818

18151819
output << xls_codegen_results->codegen_result.verilog_text;
1820+
if (xls_package != nullptr) {
1821+
*xls_package = std::move(*package);
1822+
}
18161823
return success();
18171824
}
18181825

xls/contrib/mlir/tools/xls_translate/xls_translate_from_mlir.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ LogicalResult MlirXlsToXlsTranslate(
115115
Operation* op, llvm::raw_ostream& output,
116116
MlirXlsToXlsTranslateOptions options = {},
117117
MetricsReporter metrics_reporter = nullptr,
118-
SchedulingMetricsReporter scheduling_metrics_reporter = nullptr);
118+
SchedulingMetricsReporter scheduling_metrics_reporter = nullptr,
119+
std::unique_ptr<::xls::Package>* xls_package = nullptr);
119120

120121
// Translates an operation with XLS dialect to XLS IR.
121122
FailureOr<std::unique_ptr<::xls::Package>> mlirXlsToXls(

xls/estimators/area_model/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ cc_library(
3333
name = "area_estimator",
3434
srcs = ["area_estimator.cc"],
3535
hdrs = ["area_estimator.h"],
36+
visibility = ["//xls:xls_users"],
3637
deps = [
3738
"//xls/common/status:status_macros",
3839
"//xls/ir",
@@ -68,6 +69,7 @@ cc_library(
6869
name = "area_estimators",
6970
srcs = ["area_estimators.cc"],
7071
hdrs = ["area_estimators.h"],
72+
visibility = ["//xls:xls_users"],
7173
deps = [
7274
":area_estimator",
7375
"//xls/ir",

0 commit comments

Comments
 (0)