Skip to content

Commit

Permalink
Move some developer-specific tools from xls/tools to xls/dev_tools.
Browse files Browse the repository at this point in the history
Also move "dump_llvm_artifacts_main" to dev_tools. Some tools still need to be moved over, but this is good for the first batch.

PiperOrigin-RevId: 667783815
  • Loading branch information
meheffernan authored and copybara-github committed Aug 27, 2024
1 parent 5a5af30 commit d05feba
Show file tree
Hide file tree
Showing 43 changed files with 393 additions and 388 deletions.
2 changes: 1 addition & 1 deletion docs_src/tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ reference file comparisons), run:
dev_utils/rebuild_golden_files.sh
```
## [`extract_interface_main`](https://github.com/google/xls/tree/main/xls/tools/extract_interface_main.cc)
## [`extract_interface_main`](https://github.com/google/xls/tree/main/xls/dev_tools/extract_interface_main.cc)
Reads an `ir` file and prints a protobuf describing the interfaces of the
contained code. The interfaces consist of the names of the `procs`, `blocks`,
Expand Down
4 changes: 2 additions & 2 deletions xls/build_rules/iverilog_test.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ def iverilog_test(name, top, main, srcs, execute = True, tick_defines = None):
native.genrule(
name = name + "-vvp-runner",
srcs = [":" + name + "-iverilog-build"],
cmd = "$(location //xls/tools:generate_vvp_runner) $< > $@",
cmd = "$(location //xls/dev_tools:generate_vvp_runner) $< > $@",
outs = [name + "-vvp-runner.sh"],
tools = ["//xls/tools:generate_vvp_runner"],
tools = ["//xls/dev_tools:generate_vvp_runner"],
)
native.sh_test(
name = name + "-run_test",
Expand Down
4 changes: 2 additions & 2 deletions xls/contrib/xlscc/integration_tests/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ package(
srcs = ["//xls/contrib/xlscc/examples:%s" % target],
outs = ["%s.interface.binpb" % target],
cmd = """
$(location //xls/tools:extract_interface_main) --binary_proto $< > $@
$(location //xls/dev_tools:extract_interface_main) --binary_proto $< > $@
""",
tools = ["//xls/tools:extract_interface_main"],
tools = ["//xls/dev_tools:extract_interface_main"],
)
for target in [
"simple_unsigned_pipelined_loop_fsm.ir",
Expand Down
347 changes: 347 additions & 0 deletions xls/dev_tools/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.

# pytype binary and test

package(
default_applicable_licenses = ["//:license"],
default_visibility = ["//xls:xls_internal"],
features = [
"layering_check",
"parse_headers",
Expand All @@ -35,3 +38,347 @@ cc_binary(
"@com_googlesource_code_re2//:re2",
],
)

cc_library(
name = "tool_timeout",
srcs = ["tool_timeout.cc"],
hdrs = ["tool_timeout.h"],
deps = [
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/time",
"//xls/common:timeout_support",
],
)

cc_binary(
name = "tool_timeout_test_main",
testonly = True,
srcs = ["tool_timeout_test_main.cc"],
deps = [
":tool_timeout",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/log",
"@com_google_absl//absl/status",
"@com_google_absl//absl/time",
"//xls/common:exit_status",
"//xls/common:init_xls",
],
)

py_test(
name = "tool_timeout_test",
srcs = ["tool_timeout_test.py"],
data = [":tool_timeout_test_main"],
python_version = "PY3",
srcs_version = "PY3",
deps = [
"@com_google_absl_py//absl/testing:absltest",
"//xls/common:runfiles",
],
)

py_binary(
name = "package_bazel_build",
srcs = ["package_bazel_build.py"],
python_version = "PY3",
srcs_version = "PY3",
deps = [
"@com_google_absl_py//absl:app",
"@com_google_absl_py//absl/flags",
"@com_google_absl_py//absl/logging",
],
)

sh_test(
name = "package_bazel_build_test",
srcs = ["package_bazel_build_test.sh"],
data = glob(["package_bazel_build_testdata/**"]) + [
":package_bazel_build",
],
)

py_binary(
name = "generate_vvp_runner",
srcs = ["generate_vvp_runner.py"],
python_version = "PY3",
srcs_version = "PY3",
deps = [
"@com_google_absl_py//absl:app",
],
)

cc_library(
name = "extract_interface",
srcs = ["extract_interface.cc"],
hdrs = ["extract_interface.h"],
deps = [
"//xls/ir",
"//xls/ir:channel",
"//xls/ir:register",
"//xls/ir:xls_ir_interface_cc_proto",
],
)

cc_binary(
name = "extract_interface_main",
srcs = ["extract_interface_main.cc"],
deps = [
":extract_interface",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/log",
"@com_google_absl//absl/status",
"//xls/common:exit_status",
"//xls/common:init_xls",
"//xls/common/file:filesystem",
"//xls/common/status:ret_check",
"//xls/common/status:status_macros",
"//xls/ir:xls_ir_interface_cc_proto",
"//xls/public:ir_parser",
"@com_google_protobuf//:protobuf",
],
)

cc_test(
name = "extract_interface_test",
srcs = ["extract_interface_test.cc"],
deps = [
":extract_interface",
"//xls/common:proto_test_utils",
"//xls/common:xls_gunit_main",
"//xls/common/status:matchers",
"//xls/ir:bits",
"//xls/ir:function_builder",
"//xls/ir:ir_test_base",
"//xls/ir:source_location",
"@com_google_googletest//:gtest",
],
)

cc_binary(
name = "extract_sample_points_from_ir_main",
srcs = ["extract_sample_points_from_ir_main.cc"],
deps = [
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/functional:any_invocable",
"@com_google_absl//absl/log",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
"//xls/common:exit_status",
"//xls/common:init_xls",
"//xls/common/file:filesystem",
"//xls/common/status:status_macros",
"//xls/delay_model:delay_estimator",
"//xls/delay_model:delay_estimators",
"//xls/delay_model:delay_model_cc_proto",
"//xls/delay_model:sample_point_extraction_utils",
"//xls/ir:ir_parser",
"@com_google_protobuf//:protobuf",
],
)

py_test(
name = "extract_sample_points_from_ir_main_test",
srcs = ["extract_sample_points_from_ir_main_test.py"],
data = [":extract_sample_points_from_ir_main"],
python_version = "PY3",
srcs_version = "PY3",
deps = [
"@com_google_absl_py//absl/testing:absltest",
"//xls/common:gfile",
"//xls/common:runfiles",
"//xls/common:test_base",
"//xls/delay_model:delay_model_py_pb2",
"@com_google_protobuf//:protobuf_python",
],
)

cc_library(
name = "extract_segment",
srcs = ["extract_segment.cc"],
hdrs = ["extract_segment.h"],
deps = [
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/types:span",
"//xls/common/status:ret_check",
"//xls/common/status:status_macros",
"//xls/ir",
"//xls/ir:bits",
"//xls/ir:function_builder",
"//xls/ir:type",
"//xls/passes:node_dependency_analysis",
],
)

cc_binary(
name = "extract_segment_main",
srcs = ["extract_segment_main.cc"],
deps = [
":extract_segment",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/log",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings",
"//xls/common:exit_status",
"//xls/common:init_xls",
"//xls/common/file:filesystem",
"//xls/common/status:ret_check",
"//xls/common/status:status_macros",
"//xls/ir",
"//xls/public:ir_parser",
],
)

py_test(
name = "extract_segment_main_test",
srcs = ["extract_segment_main_test.py"],
data = [":extract_segment_main"],
python_version = "PY3",
srcs_version = "PY3",
deps = [
"@com_google_absl_py//absl/testing:absltest",
"//xls/common:runfiles",
],
)

cc_test(
name = "extract_segment_test",
srcs = ["extract_segment_test.cc"],
deps = [
":extract_segment",
"//xls/common:xls_gunit_main",
"//xls/common/status:matchers",
"//xls/ir:bits",
"//xls/ir:function_builder",
"//xls/ir:ir_matcher",
"//xls/ir:ir_test_base",
"@com_google_googletest//:gtest",
],
)

cc_library(
name = "remove_identifiers",
srcs = ["remove_identifiers.cc"],
hdrs = ["remove_identifiers.h"],
deps = [
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings:str_format",
"//xls/common/status:status_macros",
"//xls/ir",
"//xls/ir:channel",
"//xls/ir:op",
"//xls/ir:register",
"//xls/ir:source_location",
],
)

cc_test(
name = "remove_identifiers_test",
srcs = ["remove_identifiers_test.cc"],
deps = [
":remove_identifiers",
"@com_google_absl//absl/algorithm:container",
"//xls/common:xls_gunit_main",
"//xls/common/status:matchers",
"//xls/ir",
"//xls/ir:bits",
"//xls/ir:function_builder",
"//xls/ir:ir_test_base",
"//xls/ir:register",
"//xls/ir:source_location",
"//xls/ir:value",
"@com_google_googletest//:gtest",
],
)

cc_binary(
name = "remove_identifiers_main",
srcs = ["remove_identifiers_main.cc"],
deps = [
":remove_identifiers",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/log",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings:str_format",
"//xls/common:exit_status",
"//xls/common:init_xls",
"//xls/common/file:filesystem",
"//xls/common/status:status_macros",
"//xls/ir",
"//xls/ir:ir_parser",
],
)

cc_binary(
name = "ir_stats_main",
srcs = ["ir_stats_main.cc"],
deps = [
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/log:check",
"@com_google_absl//absl/status",
"//xls/common:exit_status",
"//xls/common:init_xls",
"//xls/common/file:filesystem",
"//xls/common/status:status_macros",
"//xls/ir:ir_parser",
],
)

cc_binary(
name = "extract_stage_main",
srcs = ["extract_stage_main.cc"],
deps = [
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/log:check",
"@com_google_absl//absl/status",
"//xls/common:exit_status",
"//xls/common:init_xls",
"//xls/common/file:filesystem",
"//xls/common/status:status_macros",
"//xls/ir",
"//xls/ir:ir_parser",
"//xls/scheduling:extract_stage",
"//xls/scheduling:pipeline_schedule",
"//xls/scheduling:pipeline_schedule_cc_proto",
],
)

py_binary(
name = "dump_llvm_artifacts",
srcs = ["dump_llvm_artifacts_main.py"],
data = [
"//xls/jit:aot_compiler_main",
"//xls/jit:aot_main_wrapper_main",
"@llvm-project//clang",
"@llvm-project//llvm:llvm-link",
],
main = "dump_llvm_artifacts_main.py",
visibility = ["//xls:xls_internal"],
deps = [
"@com_google_absl_py//absl:app",
"@com_google_absl_py//absl/flags",
"//xls/common:runfiles",
"//xls/jit:aot_entrypoint_py_pb2",
],
)

py_test(
name = "dump_llvm_artifacts_main_test",
srcs = ["dump_llvm_artifacts_main_test.py"],
data = [
":dump_llvm_artifacts",
"@llvm-project//llvm:lli",
],
deps = [
"@com_google_absl_py//absl/testing:absltest",
"//xls/common:runfiles",
],
)
File renamed without changes.
Loading

0 comments on commit d05feba

Please sign in to comment.