From c5209192a8fcc76a3c3d594e55200e2c00dafb16 Mon Sep 17 00:00:00 2001 From: Chris Cummins Date: Tue, 26 Jan 2021 15:44:54 +0000 Subject: [PATCH] Add semantics validation for cBench benchmarks. Add semantics validation for cBench benchmarks. This is achieved by adding a new validation callback mechanism that, when invoked, compiles the given cBench benchmark to a binary and executes it using prepared datasets. The output of the program, along with any generated output files, is differential tested against a copy of the program compiled without optimizations. A change in program behavior that is detected by this mechanism is reported. Calling `compiler_gym.validate_state()` on a benchmark that supports semantics validation will automatically run it. The core of the implementation is in compiler_gym/envs/llvm/dataset.py. It defines a set of library functions so that these validation callbacks can be defined ad-hoc for cBench in quite a succinct form, e.g.: validator( benchmark="benchmark://cBench-v0/ghostscript", cmd="$BIN -sDEVICE=ppm -dNOPAUSE -dQUIET -sOutputFile=output.ppm -- 1.ps", data=["office_data/1.ps"], outs=["output.ppm"], linkopts=["-lm", "-lz"], pre_execution_callback=setup_ghostscript_library_files, ) As part of #45 we may want to make a public API similar to this and move it into the dataset definitions. Multiple validation callbacks can be defined for a single benchmark. Where a benchmark matches multiple validators, they are executed in parallel. Compiling binaries from cBench benchmarks requires that the bitcodes be compiled against the system-specific standard library, so this patch also splits the cBench dataset into macOS and Linux versions. --- WORKSPACE | 86 ++- compiler_gym/envs/llvm/BUILD | 4 + compiler_gym/envs/llvm/datasets.py | 581 +++++++++++++++++- compiler_gym/third_party/cBench/BUILD | 340 +++++++++- .../third_party/cBench/BUILD.inactive | 316 ---------- .../third_party/cBench/benchmarks.txt | 1 + .../third_party/cBench/make_llvm_module.py | 2 + .../runtime_data/ghostscript/acctest.ps | Bin 0 -> 4269 bytes .../cBench/runtime_data/ghostscript/align.ps | Bin 0 -> 2373 bytes .../runtime_data/ghostscript/bdftops.ps | Bin 0 -> 23438 bytes .../runtime_data/ghostscript/caption.ps | Bin 0 -> 1868 bytes .../runtime_data/ghostscript/decrypt.ps | Bin 0 -> 295 bytes .../cBench/runtime_data/ghostscript/docie.ps | Bin 0 -> 7155 bytes .../cBench/runtime_data/ghostscript/font2c.ps | Bin 0 -> 19811 bytes .../runtime_data/ghostscript/gs_btokn.ps | Bin 0 -> 9533 bytes .../runtime_data/ghostscript/gs_ccfnt.ps | Bin 0 -> 2704 bytes .../cBench/runtime_data/ghostscript/gs_cff.ps | Bin 0 -> 18106 bytes .../runtime_data/ghostscript/gs_cidfn.ps | Bin 0 -> 12577 bytes .../runtime_data/ghostscript/gs_cmap.ps | Bin 0 -> 7674 bytes .../runtime_data/ghostscript/gs_dbt_e.ps | Bin 0 -> 2430 bytes .../runtime_data/ghostscript/gs_diskf.ps | Bin 0 -> 7723 bytes .../runtime_data/ghostscript/gs_dpnxt.ps | Bin 0 -> 1304 bytes .../runtime_data/ghostscript/gs_dps1.ps | Bin 0 -> 4405 bytes .../runtime_data/ghostscript/gs_dps2.ps | Bin 0 -> 5986 bytes .../runtime_data/ghostscript/gs_epsf.ps | Bin 0 -> 2222 bytes .../runtime_data/ghostscript/gs_fonts.ps | Bin 0 -> 27880 bytes .../runtime_data/ghostscript/gs_init.ps | Bin 0 -> 45094 bytes .../runtime_data/ghostscript/gs_iso_e.ps | Bin 0 -> 2936 bytes .../runtime_data/ghostscript/gs_kanji.ps | Bin 0 -> 4087 bytes .../runtime_data/ghostscript/gs_ksb_e.ps | Bin 0 -> 3437 bytes .../runtime_data/ghostscript/gs_l2img.ps | Bin 0 -> 5793 bytes .../runtime_data/ghostscript/gs_lev2.ps | Bin 0 -> 12992 bytes .../runtime_data/ghostscript/gs_mex_e.ps | Bin 0 -> 4105 bytes .../runtime_data/ghostscript/gs_mro_e.ps | Bin 0 -> 2544 bytes .../cBench/runtime_data/ghostscript/gs_pdf.ps | Bin 0 -> 17769 bytes .../runtime_data/ghostscript/gs_pdf_e.ps | Bin 0 -> 1848 bytes .../runtime_data/ghostscript/gs_pdfwr.ps | Bin 0 -> 10830 bytes .../runtime_data/ghostscript/gs_pfile.ps | Bin 0 -> 4488 bytes .../cBench/runtime_data/ghostscript/gs_res.ps | Bin 0 -> 17902 bytes .../runtime_data/ghostscript/gs_setpd.ps | Bin 0 -> 20979 bytes .../runtime_data/ghostscript/gs_statd.ps | Bin 0 -> 10544 bytes .../runtime_data/ghostscript/gs_std_e.ps | Bin 0 -> 3385 bytes .../runtime_data/ghostscript/gs_sym_e.ps | Bin 0 -> 3235 bytes .../cBench/runtime_data/ghostscript/gs_ttf.ps | Bin 0 -> 14255 bytes .../runtime_data/ghostscript/gs_typ42.ps | Bin 0 -> 1775 bytes .../runtime_data/ghostscript/gs_type1.ps | Bin 0 -> 5006 bytes .../runtime_data/ghostscript/gs_wan_e.ps | Bin 0 -> 1707 bytes .../cBench/runtime_data/ghostscript/gslp.ps | Bin 0 -> 15514 bytes .../cBench/runtime_data/ghostscript/impath.ps | Bin 0 -> 5685 bytes .../runtime_data/ghostscript/landscap.ps | Bin 0 -> 1452 bytes .../cBench/runtime_data/ghostscript/level1.ps | Bin 0 -> 59 bytes .../cBench/runtime_data/ghostscript/lines.ps | Bin 0 -> 3236 bytes .../runtime_data/ghostscript/markhint.ps | Bin 0 -> 3619 bytes .../runtime_data/ghostscript/markpath.ps | Bin 0 -> 2035 bytes .../runtime_data/ghostscript/packfile.ps | Bin 0 -> 10503 bytes .../runtime_data/ghostscript/pcharstr.ps | Bin 0 -> 2129 bytes .../runtime_data/ghostscript/pdf2dsc.ps | Bin 0 -> 3436 bytes .../runtime_data/ghostscript/pdf_2ps.ps | Bin 0 -> 7978 bytes .../runtime_data/ghostscript/pdf_base.ps | Bin 0 -> 14830 bytes .../runtime_data/ghostscript/pdf_draw.ps | Bin 0 -> 9385 bytes .../runtime_data/ghostscript/pdf_font.ps | Bin 0 -> 13850 bytes .../runtime_data/ghostscript/pdf_main.ps | Bin 0 -> 14216 bytes .../runtime_data/ghostscript/pdf_sec.ps | Bin 0 -> 2325 bytes .../runtime_data/ghostscript/pfbtogs.ps | Bin 0 -> 3387 bytes .../cBench/runtime_data/ghostscript/ppath.ps | Bin 0 -> 2090 bytes .../cBench/runtime_data/ghostscript/prfont.ps | Bin 0 -> 4239 bytes .../runtime_data/ghostscript/printafm.ps | Bin 0 -> 3181 bytes .../cBench/runtime_data/ghostscript/ps2ai.ps | Bin 0 -> 22287 bytes .../runtime_data/ghostscript/ps2ascii.ps | Bin 0 -> 39630 bytes .../runtime_data/ghostscript/ps2epsi.ps | Bin 0 -> 7197 bytes .../runtime_data/ghostscript/ps2image.ps | Bin 0 -> 119 bytes .../cBench/runtime_data/ghostscript/quit.ps | Bin 0 -> 5 bytes .../runtime_data/ghostscript/showchar.ps | Bin 0 -> 3078 bytes .../runtime_data/ghostscript/showpage.ps | Bin 0 -> 9 bytes .../runtime_data/ghostscript/stcinfo.ps | Bin 0 -> 25776 bytes .../runtime_data/ghostscript/stcolor.ps | Bin 0 -> 5324 bytes .../runtime_data/ghostscript/traceimg.ps | Bin 0 -> 1673 bytes .../runtime_data/ghostscript/traceop.ps | Bin 0 -> 2779 bytes .../runtime_data/ghostscript/type1enc.ps | Bin 0 -> 2682 bytes .../runtime_data/ghostscript/type1ops.ps | Bin 0 -> 7681 bytes .../cBench/runtime_data/ghostscript/uninfo.ps | Bin 0 -> 6274 bytes .../cBench/runtime_data/ghostscript/unprot.ps | Bin 0 -> 1897 bytes .../runtime_data/ghostscript/viewcmyk.ps | Bin 0 -> 2159 bytes .../runtime_data/ghostscript/viewgif.ps | Bin 0 -> 4687 bytes .../runtime_data/ghostscript/viewjpeg.ps | Bin 0 -> 4223 bytes .../runtime_data/ghostscript/viewpbm.ps | Bin 0 -> 3991 bytes .../runtime_data/ghostscript/viewpcx.ps | Bin 0 -> 4121 bytes .../runtime_data/ghostscript/viewps2a.ps | Bin 0 -> 1428 bytes .../runtime_data/ghostscript/wftopfa.ps | Bin 0 -> 9068 bytes .../runtime_data/ghostscript/winmaps.ps | Bin 0 -> 3890 bytes .../cBench/runtime_data/ghostscript/wrfont.ps | Bin 0 -> 18223 bytes .../runtime_data/ghostscript/zeroline.ps | Bin 0 -> 2609 bytes compiler_gym/util/runfiles_path.py | 4 +- compiler_gym/validate.py | 6 +- setup.py | 3 +- tests/BUILD | 1 - tests/envs/llvm/BUILD | 13 + .../benchmark_semantics_validation_test.py | 82 +++ tests/envs/llvm/custom_benchmarks_test.py | 2 +- tests/envs/llvm/observation_spaces_test.py | 18 +- tests/validate_test.py | 3 + 101 files changed, 1113 insertions(+), 349 deletions(-) delete mode 100644 compiler_gym/third_party/cBench/BUILD.inactive create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/acctest.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/align.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/bdftops.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/caption.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/decrypt.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/docie.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/font2c.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_btokn.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_ccfnt.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_cff.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_cidfn.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_cmap.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_dbt_e.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_diskf.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_dpnxt.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_dps1.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_dps2.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_epsf.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_fonts.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_init.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_iso_e.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_kanji.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_ksb_e.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_l2img.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_lev2.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_mex_e.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_mro_e.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_pdf.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_pdf_e.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_pdfwr.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_pfile.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_res.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_setpd.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_statd.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_std_e.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_sym_e.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_ttf.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_typ42.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_type1.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_wan_e.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/gslp.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/impath.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/landscap.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/level1.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/lines.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/markhint.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/markpath.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/packfile.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/pcharstr.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf2dsc.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_2ps.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_base.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_draw.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_font.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_main.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_sec.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/pfbtogs.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/ppath.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/prfont.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/printafm.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/ps2ai.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/ps2ascii.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/ps2epsi.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/ps2image.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/quit.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/showchar.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/showpage.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/stcinfo.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/stcolor.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/traceimg.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/traceop.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/type1enc.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/type1ops.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/uninfo.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/unprot.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/viewcmyk.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/viewgif.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/viewjpeg.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/viewpbm.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/viewpcx.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/viewps2a.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/wftopfa.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/winmaps.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/wrfont.ps create mode 100644 compiler_gym/third_party/cBench/runtime_data/ghostscript/zeroline.ps create mode 100644 tests/envs/llvm/benchmark_semantics_validation_test.py diff --git a/WORKSPACE b/WORKSPACE index 46bdeae55..ad07a245d 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,6 +1,6 @@ workspace(name = "CompilerGym") -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file") # === Google test === @@ -201,11 +201,93 @@ filegroup( ) http_archive( + name = "ctuning-ai", + build_file_content = """ +filegroup( + name = "all", + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) + +filegroup( + name = "readme", + srcs = ["README.md"], + visibility = ["//visibility:public"], +) +""", + sha256 = "2e12233a3d898a96a2ce279123ee256bee357f649e3c579f974628b6c35ea53d", + strip_prefix = "ai-afaba3e2900523a0813693fd614a114b4a6f6729", + urls = ["https://github.com/ctuning/ai/archive/afaba3e2900523a0813693fd614a114b4a6f6729.tar.gz"], +) + +# Datasets. + +http_file( + name = "cBench_consumer_tiff_data", + sha256 = "779abb7b7fee8733313e462e6066c16375e9209a9f7ff692fd06c7598946939a", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_consumer_tiff_data.tar.gz"], +) + +http_file( + name = "cBench_office_data", + sha256 = "cfa09cd37cb93aba57415033905dc6308653c7b833feba5a25067bfb62999f32", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_office_data.tar.gz"], +) + +http_file( + name = "cBench_telecom_data", + sha256 = "e5cb6663beefe32fd12f90c8f533f8e1bce2f05ee4e3836efb5556d5e1089df0", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_telecom_data.tar.gz"], +) + +http_file( + name = "cBench_consumer_jpeg_data", + sha256 = "bec5ffc15cd2f952d9a786f3cd31d90955c318a5e4f69c5ba472f79d5a3e8f0b", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_consumer_jpeg_data.tar.gz"], +) + +http_file( + name = "cBench_telecom_gsm_data", + sha256 = "52545d3a0ce15021131c62d96d3a3d7e6670e2d6c34226ac9a3d5191a1ee214a", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_telecom_gsm_data.tar.gz"], +) + +http_file( + name = "cBench_consumer_data", + sha256 = "a4d40344af3022bfd7b4c6fcf6d59d598825b07d9e37769dbf1b3effa39aa445", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_consumer_data.tar.gz"], +) + +http_file( + name = "cBench_bzip2_data", + sha256 = "46e5760eeef77e6b0c273af92de971bc45f33a59e0efc183073d9aa6b716c302", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_bzip2_data.tar.gz"], +) + +http_file( + name = "cBench_network_patricia_data", + sha256 = "72dae0e670d93ef929e50aca7a138463e0915502281ccafe793e378cb2a85dfb", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_network_patricia_data.tar.gz"], +) + +http_file( name = "cBench_network_dijkstra_data", - build_file_content = all_content, + sha256 = "41c13f59cdfbc772081cd941f499b030370bc570fc2ba60a5c4b7194bc36ca5f", urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_network_dijkstra_data.tar.gz"], ) +http_file( + name = "cBench_automotive_susan_data", + sha256 = "df56e1e44ccc560072381cdb001d770003ac74f92593dd5dbdfdd4ff9332a8e6", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_automotive_susan_data.tar.gz"], +) + +http_file( + name = "cBench_automotive_qsort_data", + sha256 = "510b4225021408ac190f6f793e7d7171d3553c9916cfa8b2fb4ace005105e768", + urls = ["https://downloads.sourceforge.net/project/cbenchmark/cDatasets/V1.1/cDatasets_V1.1_automotive_qsort_data.tar.gz"], +) + # === C++ cpuinfo === http_archive( diff --git a/compiler_gym/envs/llvm/BUILD b/compiler_gym/envs/llvm/BUILD index c65478ad7..10daf3901 100644 --- a/compiler_gym/envs/llvm/BUILD +++ b/compiler_gym/envs/llvm/BUILD @@ -33,8 +33,12 @@ py_library( py_library( name = "datasets", srcs = ["datasets.py"], + data = [ + "//compiler_gym/third_party/llvm:clang", + ], deps = [ "//compiler_gym/datasets:dataset", + "//compiler_gym/util", ], ) diff --git a/compiler_gym/envs/llvm/datasets.py b/compiler_gym/envs/llvm/datasets.py index a4cf78725..2b2bd8621 100644 --- a/compiler_gym/envs/llvm/datasets.py +++ b/compiler_gym/envs/llvm/datasets.py @@ -3,9 +3,45 @@ # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. """This module defines the available LLVM datasets.""" -from typing import Callable, Dict, Optional +import io +import os +import re +import shutil +import subprocess +import sys +import tarfile +from collections import defaultdict +from concurrent.futures import ThreadPoolExecutor, as_completed +from contextlib import contextmanager +from functools import lru_cache +from pathlib import Path +from typing import Callable, Dict, List, NamedTuple, Optional, Tuple + +import fasteners +import gym from compiler_gym.datasets.dataset import Dataset +from compiler_gym.util.download import download +from compiler_gym.util.runfiles_path import cache_path, runfiles_path, site_data_path +from compiler_gym.util.temporary_working_directory import temporary_working_directory +from compiler_gym.util.timer import Timer + +_CLANG = runfiles_path("CompilerGym/compiler_gym/third_party/llvm/clang") + +_CBENCH_DATA = site_data_path("llvm/cBench-v0-runtime-data/runtime_data") +_CBENCH_DATA_URL = ( + "https://dl.fbaipublicfiles.com/compiler_gym/cBench-v0-runtime-data.tar.bz2" +) +_CBENCH_DATA_SHA256 = "a1b5b5d6b115e5809ccaefc2134434494271d184da67e2ee43d7f84d07329055" + + +if sys.platform == "darwin": + _COMPILE_ARGS = [ + "-L", + "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + ] +else: + _COMPILE_ARGS = [] LLVM_DATASETS = [ Dataset( @@ -20,13 +56,25 @@ ), Dataset( name="cBench-v0", - url="https://dl.fbaipublicfiles.com/compiler_gym/llvm_bitcodes-10.0.0-cBench-v0.tar.bz2", + url="https://dl.fbaipublicfiles.com/compiler_gym/llvm_bitcodes-10.0.0-cBench-v0-macos.tar.bz2", + license="BSD 3-Clause", + description="https://github.com/ctuning/ctuning-programs", + compiler="llvm-10.0.0", + file_count=23, + size_bytes=7154448, + sha256="072a730c86144a07bba948c49afe543e4f06351f1cb17f7de77f91d5c1a1b120", + platforms=["macos"], + ), + Dataset( + name="cBench-v0", + url="https://dl.fbaipublicfiles.com/compiler_gym/llvm_bitcodes-10.0.0-cBench-v0-linux.tar.bz2", license="BSD 3-Clause", description="https://github.com/ctuning/ctuning-programs", compiler="llvm-10.0.0", file_count=23, - size_bytes=7150112, - sha256="498425efe8e335eb72623df50427eca87333d011f017ec3be5608883b4b7687a", + size_bytes=6940416, + sha256="9b5838a90895579aab3b9375e8eeb3ed2ae58e0ad354fec7eb4f8b31ecb4a360", + platforms=["linux"], ), Dataset( name="github-v0", @@ -110,12 +158,519 @@ ), ] -# A map from benchmark name to a callback which takes as input an LlvmEnv -# instance and returns None if the environment is valid, else a string error -# message. -# -# TODO(cummins): Populate this map for cBench using the CK meta properties. -# See: https://github.com/ctuning/ai/blob/main/program/cbench-bzip2/.cm/meta.json -LLVM_BENCHMARK_VALIDATION_CALLBACKS: Dict[ - str, Callable[["LlvmEnv"], Optional[str]] -] = {} + +class BenchmarkExecutionResult(NamedTuple): + """The result of running a benchmark.""" + + walltime_seconds: float + """The execution time in seconds.""" + + error: Optional[str] = None + """An error message.""" + + output: Optional[str] = None + """The output generated by the benchmark.""" + + +def _run_cbench_benchmark( + env: "LlvmEnv", + cmd: str, + linkopts: Tuple[str], + num_runs: int, + ignore_returncode: bool, + timeout_seconds: float = 60, +) -> BenchmarkExecutionResult: + """Run the given cBench benchmark.""" + # cBench benchmarks expect that a file _finfo_dataset exists in the + # current working directory and contains the number of benchmark + # iterations in it. + with open("_finfo_dataset", "w") as f: + print(num_runs, file=f) + + # Serialize the benchmark to a bitcode file that will then be + # compiled to a binary. + bitcode_file = Path(env.observation["BitcodeFile"]) + try: + # Generate the a.out binary file. + subprocess.check_call( + [_CLANG, str(bitcode_file)] + _COMPILE_ARGS + list(linkopts) + ) + assert Path("a.out").is_file() + + cmd = expand_command_vars(cmd) + process = subprocess.Popen( + cmd, + shell=True, + stderr=subprocess.STDOUT, + stdout=subprocess.PIPE, + env=os.environ, + ) + + try: + with Timer() as timer: + stdout, _ = process.communicate(timeout=timeout_seconds) + except subprocess.TimeoutExpired: + process.kill() + return BenchmarkExecutionResult( + walltime_seconds=timeout_seconds, + error=f"Benchmark failed to complete with {timeout_seconds} timeout.", + ) + + if not ignore_returncode and process.returncode: + output = None + try: + output = stdout.decode("utf-8") + except UnicodeDecodeError: + pass + return BenchmarkExecutionResult( + walltime_seconds=timer.time, + error=f"Benchmark exited with returncode {process.returncode}. Output: {output}", + ) + return BenchmarkExecutionResult(walltime_seconds=timer.time, output=stdout) + finally: + bitcode_file.unlink() + + +@lru_cache(maxsize=1024) +def get_cBench_reference_output( + benchmark: str, cmd: str, linkopts: Tuple[str], **hashopts +) -> str: + """Produce a gold-standard benchmark output.""" + env = gym.make("llvm-v0") + try: + env.reset(benchmark=benchmark) + outcome = _run_cbench_benchmark( + env, cmd, num_runs=1, ignore_returncode=False, linkopts=linkopts + ) + if outcome.error: + raise OSError( + f"Failed to produce reference output for benchmark '{env.benchmark}' using '{cmd}': {outcome.error}" + ) + finally: + env.close() + return outcome.output + + +@fasteners.interprocess_locked(cache_path(f"cBench-v0-runtime-data.LOCK")) +def download_cBench_runtime_data() -> bool: + """Download and unpack the cBench runtime dataset.""" + if _CBENCH_DATA.is_dir(): + return False + else: + tar_contents = io.BytesIO( + download(_CBENCH_DATA_URL, sha256=_CBENCH_DATA_SHA256) + ) + with tarfile.open(fileobj=tar_contents, mode="r:bz2") as tar: + _CBENCH_DATA.parent.mkdir(parents=True) + tar.extractall(_CBENCH_DATA.parent) + assert _CBENCH_DATA.is_dir() + return True + + +def make_cBench_validator( + cmd: str, + linkopts: Tuple[str], + os_env: Dict[str, str], + num_runs: int = 1, + ignore_returncode: bool = False, + compare_output: bool = True, + input_files: Optional[List[Path]] = None, + output_files: Optional[List[Path]] = None, + validate_result: Optional[ + Callable[[BenchmarkExecutionResult], Optional[str]] + ] = None, + pre_execution_callback: Optional[Callable[[], None]] = None, +): + """Generate a validation callback for a cBench benchmark.""" + input_files = input_files or [] + output_files = output_files or [] + + def validator(env): + """The validation callback.""" + download_cBench_runtime_data() + for path in input_files: + if not path.is_file(): + raise FileNotFoundError(f"Required benchmark input not found: {path}") + + with temporary_working_directory(): + with benchmark_execution_environment(os_env): + if pre_execution_callback: + pre_execution_callback() + + # Produce a gold-standard output using a reference version of + # the benchmark. + if compare_output or output_files: + gold_standard = get_cBench_reference_output( + env.benchmark, + cmd, + linkopts=linkopts, + os_env_hash=",".join(f"{k}:{v}" for k, v in os_env.items()), + ) + + for path in output_files: + print(list(Path(".").iterdir())) + if not path.is_file(): + raise FileNotFoundError( + f"Expected file not generated by benchmark {env.benchmark}: {path}.\nCommand: {cmd}" + ) + path.rename(f"{path}.gold_standard") + + outcome = _run_cbench_benchmark( + env, + cmd, + num_runs=num_runs, + ignore_returncode=ignore_returncode, + linkopts=linkopts, + ) + + if outcome.error: + return outcome.error + + # Run a user-specified validation hook. + if validate_result: + validate_result(outcome) + + # Difftest the console output. + if compare_output and gold_standard != outcome.output: + return ( + f"Benchmark output differs from expected.\n" + f"Expected: {gold_standard}\n" + f"Actual: {outcome.output}" + ) + + # Difftest the output files. + for path in output_files: + if not path.is_file(): + return f"Expected file not generated by benchmark {env.benchmark}: {path}.\nCommand: {cmd}" + diff = subprocess.Popen(["diff", str(path), f"{path}.gold_standard"]) + diff.communicate() + if diff.returncode: + return ( + "Benchmark produced output file with invalid contents: {path}" + ) + + return validator + + +@contextmanager +def temporary_environment(): + """Yield a temporary os.environ state.""" + _environ = os.environ.copy() + try: + yield + finally: + os.environ.clear() + os.environ.update(_environ) + + +@contextmanager +def benchmark_execution_environment(env: Dict[str, str]): + """Setup the os.environ state for executing benchmarks.""" + with temporary_environment(): + for var in os.environ: + if not var.startswith("COMPILER_GYM_SITE_DATA") and var not in { + "PATH", + "RUNFILES_DIR", + "RUNFILES_MANIFEST_FILE", + "USER", + "PWD", + "SHELL", + "TERM", + "TMPDIR", + "HOME", + }: + del os.environ[var] + for key, val in env.items(): + os.environ[key] = expand_command_vars(val) + yield + + +def expand_command_vars(cmd: str) -> str: + """Expand shell variables in a command.""" + with temporary_environment(): + os.environ.clear() + os.environ["BIN"] = "./a.out" + os.environ["D"] = str(_CBENCH_DATA) + return os.path.expandvars(cmd) + + +_VALIDATORS: Dict[str, List[Callable[["LlvmEnv"], Optional[str]]]] = defaultdict(list) + + +def validator( + benchmark: str, + cmd: str, + data: Optional[List[str]] = None, + outs: Optional[List[str]] = None, + platforms: Optional[List[str]] = None, + compare_output: bool = True, + validate_result: Optional[ + Callable[[BenchmarkExecutionResult], Optional[str]] + ] = None, + linkopts: List[str] = None, + env: Dict[str, str] = None, + pre_execution_callback: Optional[Callable[[], None]] = None, +) -> bool: + """Declare a new benchmark validator. + + :param benchmark: The name of the benchmark that this validator supports. + :cmd: The shell command to run the validation. Variable substitution is applied to this value as follows: :code:`$BIN` is replaced by the path of the compiled binary and :code:`$D` is replaced with the path to the benchmark's runtime data directory. + :data: A list of paths to input files. + :outs: A list of paths to output files. + :return: :code:`True` if the new validator was registered, else :code:`False`. + """ + platforms = platforms or ["linux", "macos"] + if {"darwin": "macos"}.get(sys.platform, sys.platform) not in platforms: + return False + infiles = [_CBENCH_DATA / p for p in data or []] + outfiles = [Path(p) for p in outs or []] + linkopts = tuple(linkopts or []) + env = env or {} + + _VALIDATORS[benchmark].append( + make_cBench_validator( + cmd=cmd, + input_files=infiles, + output_files=outfiles, + compare_output=compare_output, + validate_result=validate_result, + linkopts=linkopts, + os_env=env, + pre_execution_callback=pre_execution_callback, + ) + ) + return True + + +def _compose_validators(*validators): + def composed(env): + # Shortcut when there is only a single validator to run. + if len(validators): + return validators[0](env) + + # Run validators simultaneously in parallel threads. + with ThreadPoolExecutor() as executor: + futures = [executor.submit(validator, env) for validator in validators] + result = None + for future in as_completed(futures): + result = future.result() or result + return result + + return composed + + +def get_llvm_benchmark_validation_callback( + env: "LlvmEnv", +) -> Optional[Callable[["LlvmEnv"], Optional[str]]]: + """""" + val = _VALIDATORS.get(env.benchmark) + return _compose_validators(*val) if val else None + + +# =============================== +# Definition of cBench validators +# =============================== + + +def validate_sha_output(result: BenchmarkExecutionResult): + # SHA benchmark prints 5 random hex strings. Normally these hex strings are + # 16 characters but occasionally they are less (presumably becuase of a + # leading zero being omitted). + assert re.match( + r"[0-9a-f]{0,16} [0-9a-f]{0,16} [0-9a-f]{0,16} [0-9a-f]{0,16} [0-9a-f]{0,16}", + result.output.decode("utf-8").rstrip(), + ) + + +def setup_ghostscript_library_files(): + # Copy input data into current directory since ghostscript doesn't like long + # input paths. + for path in (_CBENCH_DATA / "office_data").iterdir(): + if path.name.endswith(".ps"): + shutil.copyfile(path, path.name) + # Ghostscript doesn't like the library files being symlinks so copy them + # into the working directory as regular files. + for path in (_CBENCH_DATA / "ghostscript").iterdir(): + if path.name.endswith(".ps"): + shutil.copyfile(path, path.name) + + +validator( + benchmark="benchmark://cBench-v0/bitcount", + cmd="$BIN 1125000", +) + +validator( + benchmark="benchmark://cBench-v0/bitcount", + cmd="$BIN 512", +) + +for i in range(1, 21): + validator( + benchmark="benchmark://cBench-v0/adpcm", + cmd=f"$BIN $D/telecom_data/{i}.adpcm", + data=[f"telecom_data/{i}.adpcm"], + ) + + validator( + benchmark="benchmark://cBench-v0/adpcm", + cmd=f"$BIN $D/telecom_data/{i}.pcm", + data=[f"telecom_data/{i}.pcm"], + ) + + validator( + benchmark="benchmark://cBench-v0/blowfish", + cmd=f"$BIN d $D/office_data/{i}.benc output.txt 1234567890abcdeffedcba0987654321", + data=[f"office_data/{i}.benc"], + outs=["output.txt"], + ) + + validator( + benchmark="benchmark://cBench-v0/bzip2", + cmd=f"$BIN -d -k -f -c $D/bzip2_data/{i}.bz2", + data=[f"bzip2_data/{i}.bz2"], + ) + + validator( + benchmark="benchmark://cBench-v0/crc32", + cmd=f"$BIN $D/telecom_data/{i}.pcm", + data=[f"telecom_data/{i}.pcm"], + ) + + validator( + benchmark="benchmark://cBench-v0/dijkstra", + cmd=f"$BIN $D/network_dijkstra_data/{i}.dat", + data=[f"network_dijkstra_data/{i}.dat"], + ) + + validator( + benchmark="benchmark://cBench-v0/gsm", + cmd=f"$BIN -fps -c $D/telecom_gsm_data/{i}.au", + data=[f"telecom_gsm_data/{i}.au"], + ) + + # TODO(cummins): ispell executable appears broken. Investigation needed. + # validator( + # benchmark="benchmark://cBench-v0/ispell", + # cmd=f"$BIN -a -d americanmed+ $D/office_data/{i}.txt", + # data = [f"office_data/{i}.txt"], + # ) + + validator( + benchmark="benchmark://cBench-v0/jpeg-c", + cmd=f"$BIN -dct int -progressive -outfile output.jpeg $D/consumer_jpeg_data/{i}.ppm", + data=[f"consumer_jpeg_data/{i}.ppm"], + outs=["output.jpeg"], + ) + + validator( + benchmark="benchmark://cBench-v0/jpeg-d", + cmd=f"$BIN -dct int -outfile output.ppm $D/consumer_jpeg_data/{i}.jpg", + data=[f"consumer_jpeg_data/{i}.jpg"], + outs=["output.ppm"], + ) + + validator( + benchmark="benchmark://cBench-v0/patricia", + cmd=f"$BIN $D/network_patricia_data/{i}.udp", + data=[f"network_patricia_data/{i}.udp"], + ) + + validator( + benchmark="benchmark://cBench-v0/qsort", + cmd=f"$BIN $D/automotive_qsort_data/{i}.dat", + data=[f"automotive_qsort_data/{i}.dat"], + outs=["sorted_output.dat"], + linkopts=["-lm"], + ) + + validator( + benchmark="benchmark://cBench-v0/rijndael", + cmd=f"$BIN $D/office_data/{i}.enc output.dec d 1234567890abcdeffedcba09876543211234567890abcdeffedcba0987654321", + data=[f"office_data/{i}.enc"], + outs=["output.dec"], + ) + + validator( + benchmark="benchmark://cBench-v0/sha", + cmd=f"$BIN $D/office_data/{i}.txt", + data=[f"office_data/{i}.txt"], + compare_output=False, + validate_result=validate_sha_output, + ) + + validator( + benchmark="benchmark://cBench-v0/stringsearch", + cmd=f"$BIN $D/office_data/{i}.txt $D/office_data/{i}.s.txt output.txt", + data=[f"office_data/{i}.txt"], + outs=["output.txt"], + linkopts=["-lm"], + ) + + validator( + benchmark="benchmark://cBench-v0/stringsearch2", + cmd=f"$BIN $D/office_data/{i}.txt $D/office_data/{i}.s.txt output.txt", + data=[f"office_data/{i}.txt"], + outs=["output.txt"], + ) + + validator( + benchmark="benchmark://cBench-v0/susan", + cmd=f"$BIN $D/automotive_susan_data/{i}.pgm output_large.corners.pgm -c", + data=[f"automotive_susan_data/{i}.pgm"], + outs=["output_large.corners.pgm"], + linkopts=["-lm"], + ) + + validator( + benchmark="benchmark://cBench-v0/tiff2bw", + cmd=f"$BIN $D/consumer_tiff_data/{i}.tif output.tif", + data=[f"consumer_tiff_data/{i}.tif"], + outs=["output.tif"], + linkopts=["-lm"], + ) + + validator( + benchmark="benchmark://cBench-v0/tiff2rgba", + cmd=f"$BIN $D/consumer_tiff_data/{i}.tif output.tif", + data=[f"consumer_tiff_data/{i}.tif"], + outs=["output.tif"], + linkopts=["-lm"], + ) + + validator( + benchmark="benchmark://cBench-v0/tiffdither", + cmd=f"$BIN $D/consumer_tiff_data/{i}.bw.tif out.tif", + data=[f"consumer_tiff_data/{i}.bw.tif"], + outs=["out.tif"], + linkopts=["-lm"], + ) + + validator( + benchmark="benchmark://cBench-v0/tiffmedian", + cmd=f"$BIN $D/consumer_tiff_data/{i}.nocomp.tif output.tif", + data=[f"consumer_tiff_data/{i}.nocomp.tif"], + outs=["output.tif"], + linkopts=["-lm"], + ) + + # TODO(cummins): On macOS the following benchmarks abort with an illegal + # hardware instruction error. + if sys.platform != "darwin": + validator( + benchmark="benchmark://cBench-v0/lame", + cmd=f"$BIN $D/consumer_data/{i}.wav output.mp3", + data=[f"consumer_data/{i}.wav"], + outs=["output.mp3"], + compare_output=False, + linkopts=["-lm"], + ) + + validator( + benchmark="benchmark://cBench-v0/ghostscript", + cmd=f"$BIN -sDEVICE=ppm -dNOPAUSE -dQUIET -sOutputFile=output.ppm -- {i}.ps", + data=[f"office_data/{i}.ps"], + outs=["output.ppm"], + linkopts=["-lm", "-lz"], + pre_execution_callback=setup_ghostscript_library_files, + ) diff --git a/compiler_gym/third_party/cBench/BUILD b/compiler_gym/third_party/cBench/BUILD index 59a3e40d7..bb7813698 100644 --- a/compiler_gym/third_party/cBench/BUILD +++ b/compiler_gym/third_party/cBench/BUILD @@ -3,6 +3,76 @@ # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. +genrule( + name = "cBench_tar", + srcs = [":cBench"], + outs = ["llvm_bitcodes-10.0.0-cBench.tar.bz2"], + cmd = "tar cjfh $@ -C $(@D) cBench-v0", + visibility = ["//visibility:public"], +) + +filegroup( + name = "cBench", + srcs = [ + ":adpcm", + ":bitcount", + ":blowfish", + ":bzip2", + ":crc32", + ":dijkstra", + ":ghostscript", + ":gsm", + ":ispell", + ":jpeg-c", + ":jpeg-d", + ":lame", + ":patricia", + ":qsort", + ":rijndael", + ":sha", + ":stringsearch", + ":stringsearch2", + ":susan", + ":tiff2bw", + ":tiff2rgba", + ":tiffdither", + ":tiffmedian", + ], + visibility = ["//visibility:public"], +) + +genrule( + name = "make_runtime_data", + srcs = [ + "@cBench_consumer_tiff_data//file", + "@cBench_office_data//file", + "@cBench_telecom_data//file", + "@cBench_consumer_jpeg_data//file", + "@cBench_telecom_gsm_data//file", + "@cBench_consumer_data//file", + "@cBench_bzip2_data//file", + "@cBench_network_patricia_data//file", + "@cBench_network_dijkstra_data//file", + "@cBench_automotive_susan_data//file", + "@cBench_automotive_qsort_data//file", + ] + glob(["runtime_data/**/*"]), + outs = ["runtime_data"], + cmd = ( + "cp -R $$(dirname $(location runtime_data/ghostscript/gs_init.ps))/../.. $(@D) &&" + + "tar xzf $(location @cBench_consumer_tiff_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_office_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_telecom_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_consumer_jpeg_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_telecom_gsm_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_consumer_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_bzip2_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_network_patricia_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_network_dijkstra_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_automotive_susan_data//file) -C $(@D)/runtime_data &&" + + "tar xzf $(location @cBench_automotive_qsort_data//file) -C $(@D)/runtime_data" + ), +) + filegroup( name = "benchmarks_list", srcs = ["benchmarks.txt"], @@ -27,8 +97,276 @@ genrule( "@cBench//:all", "@cBench//:readme", ], - outs = ["cBench/crc32.bc"], + outs = ["cBench-v0/crc32.bc"], cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/telecom_CRC32 $@", tools = [":make_llvm_module"], visibility = ["//visibility:public"], ) + +genrule( + name = "jpeg-c", + srcs = [ + "@ctuning-ai//:all", + "@ctuning-ai//:readme", + ], + outs = ["cBench-v0/jpeg-c.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @ctuning-ai//:readme))/program/cbench-consumer-jpeg-c $@", + tools = [ + ":make_llvm_module", + ], +) + +genrule( + name = "jpeg-d", + srcs = [ + "@ctuning-ai//:all", + "@ctuning-ai//:readme", + ], + outs = ["cBench-v0/jpeg-d.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @ctuning-ai//:readme))/program/cbench-consumer-jpeg-d $@", + tools = [ + ":make_llvm_module", + ], +) + +genrule( + name = "stringsearch2", + srcs = [ + "@ctuning-ai//:all", + "@ctuning-ai//:readme", + ], + outs = ["cBench-v0/stringsearch2.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @ctuning-ai//:readme))/program/cbench-office-stringsearch2 $@", + tools = [ + ":make_llvm_module", + ], +) + +genrule( + name = "adpcm", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/adpcm.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/telecom_adpcm_c $@", + tools = [":make_llvm_module"], + visibility = ["//visibility:public"], +) + +genrule( + name = "bitcount", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/bitcount.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/automotive_bitcount $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "blowfish", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/blowfish.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/security_blowfish_d $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "bzip2", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/bzip2.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/bzip2d $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "dijkstra", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/dijkstra.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/network_dijkstra $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "ghostscript", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + "cBench-ghostscript-std.h.patch", + "cBench-ghostscript-idebug.c.patch", + ], + outs = ["cBench-v0/ghostscript.bc"], + cmd = ( + "mkdir -p $(@D) && rsync -rL $$(dirname $(location @cBench//:readme))/office_ghostscript/ $(@D)/office_ghostscript_src/ &&" + + "patch --quiet --forward $(@D)/office_ghostscript_src/src/idebug.c < $(location cBench-ghostscript-idebug.c.patch);" + + "patch --quiet --forward $(@D)/office_ghostscript_src/src/std.h < $(location cBench-ghostscript-std.h.patch);" + + "$(location :make_llvm_module) $(@D)/office_ghostscript_src $@" + ), + tools = [":make_llvm_module"], +) + +genrule( + name = "gsm", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + "cBench-gsm-add.c.patch", + ], + outs = ["cBench-v0/gsm.bc"], + cmd = ( + "mkdir -p $(@D) &&rsync -rL $$(dirname $(location @cBench//:readme))/telecom_gsm/ $(@D)/telecom_gsm_src/ &&" + + "patch --quiet --forward $(@D)/telecom_gsm_src/src/add.c < $(location cBench-gsm-add.c.patch);" + + "$(location :make_llvm_module) $(@D)/telecom_gsm_src $@ -DSASR -DSTUPID_COMPILER -DNeedFunctionPrototypes=1" + ), + tools = [":make_llvm_module"], +) + +genrule( + name = "ispell", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + "cBench-ispell-correct.c.patch", + ], + outs = ["cBench-v0/ispell.bc"], + cmd = ( + "mkdir -p $(@D) &&rsync -rL $$(dirname $(location @cBench//:readme))/office_ispell/ $(@D)/office_ispell_src/ &&" + + "patch --quiet --forward $(@D)/office_ispell_src/src/correct.c < $(location cBench-ispell-correct.c.patch);" + + "$(location :make_llvm_module) $(@D)/office_ispell_src $@" + ), + tools = [":make_llvm_module"], +) + +genrule( + name = "lame", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/lame.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_lame $@ -DLAMESNDFILE -DHAVEMPGLIB -DLAMEPARSE", + tools = [":make_llvm_module"], +) + +genrule( + name = "patricia", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/patricia.bc"], + cmd = ( + "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/network_patricia/ $@" + ), + tools = [":make_llvm_module"], +) + +genrule( + name = "qsort", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/qsort.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/automotive_qsort1 $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "rijndael", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/rijndael.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/security_rijndael_d $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "sha", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/sha.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/security_sha $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "stringsearch", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/stringsearch.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/office_stringsearch1 $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "susan", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/susan.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/automotive_susan_c $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "tiff2bw", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/tiff2bw.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_tiff2bw $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "tiff2rgba", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/tiff2rgba.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_tiff2rgba $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "tiffdither", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/tiffdither.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_tiffdither $@", + tools = [":make_llvm_module"], +) + +genrule( + name = "tiffmedian", + srcs = [ + "@cBench//:all", + "@cBench//:readme", + ], + outs = ["cBench-v0/tiffmedian.bc"], + cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_tiffmedian $@", + tools = [":make_llvm_module"], +) diff --git a/compiler_gym/third_party/cBench/BUILD.inactive b/compiler_gym/third_party/cBench/BUILD.inactive deleted file mode 100644 index 3288c1413..000000000 --- a/compiler_gym/third_party/cBench/BUILD.inactive +++ /dev/null @@ -1,316 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. - -genrule( - name = "cBench_tar", - srcs = [":cBench"], - outs = ["cBench-llvm-10.0.0.tar.bz2"], - cmd = "tar cjfh $@ -C $(@D) cBench", - visibility = ["//visibility:public"], -) - -filegroup( - name = "cBench", - srcs = [ - ":adpcm", - ":bitcount", - ":blowfish", - ":bzip2", - ":crc32", - ":dijkstra", - ":ghostscript", - ":gsm", - ":ispell", - ":jpeg-c", - ":jpeg-d", - ":lame", - ":patricia", - ":qsort", - ":rijndael", - ":sha", - ":stringsearch", - ":stringsearch2", - ":susan", - ":tiff2bw", - ":tiff2rgba", - ":tiffdither", - ":tiffmedian", - ], - visibility = ["//visibility:public"], -) - -genrule( - name = "jpeg-c", - srcs = [ - "@ctuning-programs//:all", - "@ctuning-programs//:readme", - ], - outs = ["cBench/jpeg-c.bc"], - cmd = "mkdir -p cBench && $(location //compiler_gym/third_party/ctuning-programs:make_bitcode) $(location @llvm//10.0.0:clang) $(location @llvm//10.0.0:llvm-link) $@ $$(dirname $(location @ctuning-programs//:readme))/program/cbench-consumer-jpeg-c", - tools = [ - "//compiler_gym/third_party/ctuning-programs:make_bitcode", - "@llvm//10.0.0:clang", - "@llvm//10.0.0:llvm-link", - ], -) - -genrule( - name = "jpeg-d", - srcs = [ - "@ctuning-programs//:all", - "@ctuning-programs//:readme", - ], - outs = ["cBench/jpeg-d.bc"], - cmd = "mkdir -p cBench && $(location //compiler_gym/third_party/ctuning-programs:make_bitcode) $(location @llvm//10.0.0:clang) $(location @llvm//10.0.0:llvm-link) $@ $$(dirname $(location @ctuning-programs//:readme))/program/cbench-consumer-jpeg-d", - tools = [ - "//compiler_gym/third_party/ctuning-programs:make_bitcode", - "@llvm//10.0.0:clang", - "@llvm//10.0.0:llvm-link", - ], -) - -genrule( - name = "stringsearch2", - srcs = [ - "@ctuning-programs//:all", - "@ctuning-programs//:readme", - ], - outs = ["cBench/stringsearch2.bc"], - cmd = "mkdir -p cBench && $(location //compiler_gym/third_party/ctuning-programs:make_bitcode) $(location @llvm//10.0.0:clang) $(location @llvm//10.0.0:llvm-link) $@ $$(dirname $(location @ctuning-programs//:readme))/program/cbench-office-stringsearch2", - tools = [ - "//compiler_gym/third_party/ctuning-programs:make_bitcode", - "@llvm//10.0.0:clang", - "@llvm//10.0.0:llvm-link", - ], -) - -genrule( - name = "adpcm", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/adpcm.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/telecom_adpcm_c $@", - tools = [":make_llvm_module"], - visibility = ["//visibility:public"], -) - -genrule( - name = "bitcount", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/bitcount.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/automotive_bitcount $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "blowfish", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/blowfish.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/security_blowfish_d $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "bzip2", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/bzip2.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/bzip2d $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "dijkstra", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/dijkstra.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/network_dijkstra $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "ghostscript", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - "cBench-ghostscript-std.h.patch", - "cBench-ghostscript-idebug.c.patch", - ], - outs = ["cBench/ghostscript.bc"], - cmd = ( - "mkdir -p $(@D) && rsync -rL $$(dirname $(location @cBench//:readme))/office_ghostscript/ $(@D)/office_ghostscript_src/ && " + - "patch --quiet --forward $(@D)/office_ghostscript_src/src/idebug.c < $(location cBench-ghostscript-idebug.c.patch);" + - "patch --quiet --forward $(@D)/office_ghostscript_src/src/std.h < $(location cBench-ghostscript-std.h.patch);" + - "$(location :make_llvm_module) $(@D)/office_ghostscript_src $@" - ), - tools = [":make_llvm_module"], -) - -genrule( - name = "gsm", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - "cBench-gsm-add.c.patch", - ], - outs = ["cBench/gsm.bc"], - cmd = ( - "mkdir -p $(@D) &&rsync -rL $$(dirname $(location @cBench//:readme))/telecom_gsm/ $(@D)/telecom_gsm_src/ && " + - "patch --quiet --forward $(@D)/telecom_gsm_src/src/add.c < $(location cBench-gsm-add.c.patch);" + - "$(location :make_llvm_module) $(@D)/telecom_gsm_src $@ -DSASR -DSTUPID_COMPILER -DNeedFunctionPrototypes=1" - ), - tools = [":make_llvm_module"], -) - -genrule( - name = "ispell", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - "cBench-ispell-correct.c.patch", - ], - outs = ["cBench/ispell.bc"], - cmd = ( - "mkdir -p $(@D) &&rsync -rL $$(dirname $(location @cBench//:readme))/office_ispell/ $(@D)/office_ispell_src/ && " + - "patch --quiet --forward $(@D)/office_ispell_src/src/correct.c < $(location cBench-ispell-correct.c.patch);" + - "$(location :make_llvm_module) $(@D)/office_ispell_src $@" - ), - tools = [":make_llvm_module"], -) - -genrule( - name = "lame", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/lame.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_lame $@ -DLAMESNDFILE -DHAVEMPGLIB -DLAMEPARSE", - tools = [":make_llvm_module"], -) - -genrule( - name = "patricia", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/patricia.bc"], - cmd = ( - "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/network_patricia/ $@" - ), - tools = [":make_llvm_module"], -) - -genrule( - name = "qsort", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/qsort.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/automotive_qsort1 $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "rijndael", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/rijndael.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/security_rijndael_d $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "sha", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/sha.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/security_sha $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "stringsearch", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/stringsearch.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/office_stringsearch1 $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "susan", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/susan.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/automotive_susan_c $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "tiff2bw", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/tiff2bw.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_tiff2bw $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "tiff2rgba", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/tiff2rgba.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_tiff2rgba $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "tiffdither", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/tiffdither.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_tiffdither $@", - tools = [":make_llvm_module"], -) - -genrule( - name = "tiffmedian", - srcs = [ - "@cBench//:all", - "@cBench//:readme", - ], - outs = ["cBench/tiffmedian.bc"], - cmd = "mkdir -p $(@D) && $(location :make_llvm_module) $$(dirname $(location @cBench//:readme))/consumer_tiffmedian $@", - tools = [":make_llvm_module"], -) diff --git a/compiler_gym/third_party/cBench/benchmarks.txt b/compiler_gym/third_party/cBench/benchmarks.txt index 52a9b33d5..daeb171a9 100644 --- a/compiler_gym/third_party/cBench/benchmarks.txt +++ b/compiler_gym/third_party/cBench/benchmarks.txt @@ -9,6 +9,7 @@ benchmark://cBench-v0/gsm benchmark://cBench-v0/ispell benchmark://cBench-v0/jpeg-c benchmark://cBench-v0/jpeg-d +benchmark://cBench-v0/lame benchmark://cBench-v0/patricia benchmark://cBench-v0/qsort benchmark://cBench-v0/rijndael diff --git a/compiler_gym/third_party/cBench/make_llvm_module.py b/compiler_gym/third_party/cBench/make_llvm_module.py index 940ba59b7..0ffad8b0f 100644 --- a/compiler_gym/third_party/cBench/make_llvm_module.py +++ b/compiler_gym/third_party/cBench/make_llvm_module.py @@ -30,6 +30,8 @@ def make_cbench_llvm_module( cflags = cflags or [] src_dir = benchmark_dir / "src" + if not src_dir.is_dir(): + src_dir = benchmark_dir assert src_dir.is_dir(), f"Source directory not found: {src_dir}" clang_command = [ diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/acctest.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/acctest.ps new file mode 100644 index 0000000000000000000000000000000000000000..2af46bef1e072782672a6076be845dfb92619082 GIT binary patch literal 4269 zcmbtX-Hz%u5WX%?F}*+qse)vCdQ)jzRh9Yzy{xLr7(*gLoH_;;A>O^?v12=q;Ve3< zU2T5moB#PTo_{}^!ylF42hbJMAUmO$ma2!X#3!Owz&ICu4_frP2QHNoTsPO%41t}J z90koQc>fhvv$egM0o?EpV0-H5|B{g^ z{KUl`C4=X}dqFf-c7slKaEF~#tZ60@j=S9oKLrfQiiqr~3DJGrNCOV~U52+eFQ zARq|E0ZjnISjR#I>ebWokE2~5#5FIM3G#tP%PeElrBRB!FVvY$GoIBwg=F#(TM4<@ zyErp|AQVF<05@~K!6+|>R$eCDaJvsh8MDJ-pz(;vo$-f-Z(c3@1duCyBig;TU&qLo zG{Q$xncCz;=kps7B{{u@lng^Tvf403x8||A_K7uvMai{aezy+ca`4q$y;|cY1*91` zvX5M3w?OD|%Xk88)1vt|{vyUD;+VEpTsnpYiZ-hSTf&Z(I$kkl-r~9l*lPaQJahcT z8`%rekY~x*dI8<(b0mD4rLU4e3JEi97qeB@BP}Y-SB=vU$7;T*#CM;E z;Md!QXuy^DaCi5xw=8mI$2i&pUsDkKZFa@Ti>9WQc^*W9@g6wvSKJ?4kBxs@{2o2n zpMyHJIOC$HlMAPl6Sgtl(FW}fCclOGACs!v<)eLn(Ci7rd?V>-5C`=fFp@M!nfq)$ zhh8299ox*FfH}dfe)Y&N8z^n>$vTm3m)M||2Vp-dp~7Xdx(1nuz`u!YFO@Kdlt8zp zfy}|j98etfE(1%C&LvUG*ZSD4|D_T1jJ~+IStMSfsWiM4qKiOA)&oiOlc3448~-n= r)|QMP8q45@b|-XxHe| zi0)_*kX_Hbc{6Wjyi53;+op56C=v9IB)iEjJ(b#1t_>6ZH_8RF`3B?n()!?2r<>4Qufew-h+n3CaC+Vb&S!sck}1U$)HvMm?ICElY-_!zIN$dpyZZr>#+rn$|VevqWE7_XW=b zDPu;|)`q>Ol6x?ZcwTj$yd~6g>2yFaq%h+g_`ya-Z&l>VG1EgkH#!B>txg%NX-^W^ z8BRO=^HKgcl3oL=|dkskowGmY|(|HG}GD!6* z|683iA~Xis+H`kPF^*&*dx9XepUuGs_glG0?^YHfTU<&LKm$J#3!tq_ z>(CP#ErV-_Dc-`er(9bIk3xYdoIMH?&vT|`JqaKOFjPz2H0CA2@xkdDje(gcxX0BX zo2n4Qh_`J($a9dkh~4<7a)m}N66^YTH~~u9QcI4ip41si%#zVm^r z7=4Bz?K81?E?)(+>hWQ4e4G%CA3*KCfBg4^CNFZg=CHXq*f1fvlb@I5C7e8r?JsTR{HI=Yqvc`JRls zDe)>TQH2~_SKFt?HiTa({e@FYGKeq;>Py?2j361W5D!f~-H|rQovnx!@Hi`2x?ZX@ zSfk4sCy1P42f}9`?tg9%8!*e-q^uMXyIuw2k-Nh9IhnO1)wUUKaWr(%ka;^c%wT^I^CyLK){z0u-u= z8$A{rjHM$6%%RvnP{qOO z>$rkG{t$nbfP8LM}IXMxOt@+1W)A8mpAU@J9{e91rg zJ9y~CS8&i9w$k-8_L?=Vtb8hvhBW!!n$!wtdsBKx*ZaWS?;BDOC(-ufFc|3quVnOU XvNxhmTt2~N`kl-4ZI?tGg<0|+B@Yr| literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/bdftops.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/bdftops.ps new file mode 100644 index 0000000000000000000000000000000000000000..bce697376fe1fe5fea1db97b9873546107719ecc GIT binary patch literal 23438 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/decrypt.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/decrypt.ps new file mode 100644 index 0000000000000000000000000000000000000000..9cc8b2f179a9248784bcc56847e1085cc1ae2470 GIT binary patch literal 295 zcmYL^!EVAp3`EcDSIh+o4g|GQ@&)_|>`uT^x|?nsC8+AZ<0VaVv1C8bjJ?N&K0kZK zHG-V!PmDeV2DH+#a_*pK&*_@3Y_wmAC-0^0)9s79xiTD#%Ty1}4X;vMJP*lwV% zo2K6F_DduzvfLmkVjzRV4=kl9GOyvmc{TY;nVSoMF!reQ+4Cd({qcXmltsA+oo&9Q fF{ycT7R4{5bymBSdS_|AO9RW#t~hMn_bBRKBqd?g literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/docie.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/docie.ps new file mode 100644 index 0000000000000000000000000000000000000000..ce2bd9a4db048c83c2025573ffa8cce4368411fb GIT binary patch literal 7155 zcmbtZYg5}s7ycaoiZh*IfR@-8L)vtJ8QYMQc@s(roi@$n!&+Kn4YH(HE7>?q{(GOZ z7u}FCNg0f#-Luc0`#HO85q`#TvPy&7Sw=hKUFyGneMG}h_|}r{&Iqc%gOa!4a8a`jhbOkw+)fz+4JXaYQ^1|GgBnnbS zx8SUeC{E{)YQ?MzN=7J;;wW4JDvx~V&XXxbj@X<&vl(@XoloQgcm=+i#+KSLi=3=XP;gbDtb$xcrsNw^xkc(Fyt`6(SQ z@L8VHr{jd*5`ImVr=Q7?fo7YD_|J0tv_lVs-$Q!Yr!{V4~lp3-|T@&Jr#)Gp?!3(_@U1BX^H4_dI_?RGUb^Y73H zEh3087Ct3$(m^u(xe%t<->t=*;fU#uo}fFb&=rdv++!g;5lSaQT_HSE=%Wu`@#Q_K zd{XL$U$oZ!U;(pgRrS{>i_xB`D^2=+s?t1f)|4h|C`ym5(bF8^lePG1&VHK1^4i)< z?E-9YL*HS?rWQd;pY`*E`17hTs2lmEIl^}D?-!#F)fcc=Iz8|DArs!+uax&`(Whmf z@&j5N(DH!t0WAi!957nR2I_5v1-xn2Yaj-}F5foJYC~jDFvU1E)GE$$oB06_gJ=Y2 z0pfN1S*QLWLQR1IwvZdv>f91pturBKik$O>HIL35NFAR!!uzjKy1k4h@|J^}kQZ$v zV)BB1qqp>i&gqQCG@>EY`(S-tPD@>5SSS> zg})606$0M12064);~LAA6=O)nP(usd0_oKuM;2;W(_#g3Xt^6%=msS0N+ct{k>$`r zMp>V2uAg+kot(50AuJrxfJB-K^am=7Q)$BAgv673Xr>5jq9S^C&XTQ*J zv5ldq?!#$E_cX9YLjjI>Gptcn1y-kp2RMP-nIl!#a@Ra@PeNZUovTXvJ($W+$tE*y ziv}~L7ioX4$4$>@f8ucmQaC!Say-GubJm%7mD#7lU^p5-wouW5)+{t=@~^{y0oDr8 z2!r}&&j^F(fm=P+BzdqM#S>xhBzTMJTT<3FQl~_&yrpRx&)27|Fplr?L^pFd1WiH- zTZvEm-ERLgTdsKW+>>44`k`XcWR*!}vzhDSos##7Gg)63BKRizVcBOmqW*J;4jM$2 z{>X4bfuLYQIO-PhWmIv)!f~F(@k>?m;#{P6=)rCKQ)WpgLmK0dNZuj<%cgA}XdZNY zL9A+5Hi6a> z{UoUzIrnMb9X35&Cp4<9m)f#hCKb|TIA->B+lYps6oF6AT+C0ND3K<7ul~5MB%)`8 zFBViB%(>K|HBs-c8DzhTp=~x6TjIz~jY72gW~$i%l$vmW#j3}Euf7ZLka?+}!;3x| z?pYp1Om>HMb<=%MEBZo7=6>%9w?)Yp1ICfAuaEl9-Fh3fisMVQUo$|uTBS0PfNAwzIhN&}y-wv0$j^)pUAd|P0iP006dZ~>)o5iw_H zuvVjo8Xra(En8Dg3tH+c7b6P&VpO722v=tJV5fDD;KnLvFnh6J3c0%#VTK3hdV`@V zpSpnBNqVJ&sWKEy>sS@B#eH4&TW3CdV%uEYpuz3U_}|q!o=2OSUPI9Yw|7!Hu!^!_ zv{EkE3|=(f&Dj0s?tSxK|Dm(k3~ngCp(iRAYz8lSv!}Jhu~1%(^{Pd@Sg7L#QCQxQ z=tx7X-r{1@RAU=cMTN&Tn!b}N-T&H*_ymEQj#6~V_>frsMI=za=JP=I?^`*6~fQRjtHdx8DKL>sV95F)QzR?rfv#t5$ZB-zD`ccLv?W+D$X750&{)0zSemR zhCQnQxx5H&X?<^y21B`!e19HgNagJZb~F&Wd~pK^TlCNnjD(W@P#>g>if{>S&y-%C zrZURBIE?wh_ST24Z#0dDVXOv*)}PO13|A8CV=4|p-vZiYX0uqgt9&=q1OGVfvL77d pkY(P=R>zII!&h@2Tvc~hiNJp)*oLN8?=ieqkLz=_!_-cE{{n$@f${(V literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/font2c.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/font2c.ps new file mode 100644 index 0000000000000000000000000000000000000000..e0e398ca154c558bba6ebfa7a5007138f9b16e27 GIT binary patch literal 19811 zcmb_kYjfL1vi)rRim9Z$0UcSCL2Df-FYb;&``?LB(5zs-Li$iIJ=e;>MM zlXNsHO82~M^LkbnP2TJ{v`(B1ZCsr)dAG;LiB=WRZ6i=sVuFJHO0&)&Rw_VVNx_v(dv_VO3^{n5)q z5c0Be>AXF!YOGz=-AH^+vn-#rjZ4cb5;?2NrWh8JqP=osJZ{f(m!U2HZJw7|-jL9F zQleBiTc|EI|oU1RY`U1~emrf?zZeC9Erg7)F zPS#+(CcSE0Q#tT+Q5P*1!xrA;W6a-HLeVCUyr}csy`B#zMTV(yM!C~%zyi= zCwm&tA(v6!rp2UD4nM!l>nrSYc6Ey&+;rZwASj#6N4ZNwSI+JyCpXHfo?=&5Bt3Pr zNs8akjt`EGT$_JrRpMnjg}`3_^z9Ev2iVt1H-kH?(-NY%s^*xBQ>)%#(jnmw%G%-8Eb3kL;;mSGla>}q*6&PD+nHp0;L$-fHCrYn7f%-0*J$8;1-7!u$L`- z9am+$pY6;Ve0~erLt(Iu)V+pD9E(Y~ldDmn`bmC5`$eAV@d>CpUWoikKVpHI(dHl%kjzc z9}kZXPB2Xa`^(OaiCHzBa_3k(_Yx*$v{~qA*;2~Fnn{(V6vTZ@Q9wqs9RK)d=h#tM zIjBuumnr-R^? zWFyn`LouCC9lZ!dJ;}>6I1yol;HMXOx^<3Zm-Q9N&L0eyCKPs};?d|TuN#Vn2K7$m`iW1K;%V3c; z?jfG#V`_`vObY9o&MMijI92gT>N!MzKw_4U=Fq&It^R_YX@o8r?6lKa&t|(XKkl{4 zA7XLymW~j*>HM?1Ts7)&nNH?-n$|GYTr?Z%HF87PC^p?(e6!V02W3Ux!N)1xXvsh1 z8QeCl)9uOfXsq*eBrOlDg;My3e!&jf0f}z5+&h=-_FNLC>A8{)4GlJhZ;@tuhRJ$c z?tL^}HG^ z+gZv_?pj2;$juPR?S>G;C^pHL(B67FvM~p`JwuR zcGwbZ^rEa5<<=civhoB(VtIWc^w`#=wHW7sBneps-q6uOA`#;{Vdfuz2lymn6XasdgPDQ_Lh~~7 zzR&ZSgPVl#p-Zvsx!S7m8F(4&U_D>7a4c*3m}c!93thQ3y~tfY9*bV?Wb+yhwLP0u z!*sGWP9a{m)8xJZ>IVqYsR+Go@WGCrdqVANw)&yZ9gG=Oi1IbC0tWZ{>N*)(u*>GE zf$I^sruq+d?maY52g{-_pwqiCe$maXk3uZnLg(adT9Sd`hGi+=n`rekTpD z%Pa1d(b9C6!y?7QoTgeInb5ic)!sTAHnG*#^H`-~S>C>lu+w;lv^z0`h-N?vaA%e1 zZg`;bwy`9U%--s>p7G7cx>xg-+uIxiza?6Rc9nGa0t^{w+267ng}E8O#=xVg5O}*e z<48?ii6&9^w`e_ZASCb~b>FVP7`kg&Kt;`5AzzXwx-{!ube7eQ6L*cy3DtYitUhe< z&pjwUu5lEiV53_i@?)eE^+8{Ty zd`>|+ayNAdm<#0z4^gDi?>IpoNyYL|#wIW`!(bhTMc8rEh7nDO zWf3q=;6a&UFuo|OZ5gi$274z8K2}w;lvxDN-hUbt&{Mjsw0;B84C|W9L<*Eh>}T-J zm{1@asy#?y0`L}gO6aN~gX!Hc&r%YP0aQs%ZkCX~D!ODl0O1e-_?a?bK2{}s>K+3> zkBblZ(9Fm30X^J(zmr|&3Hz?DU^7eD2U8rkKnmYD9p;DxIgyZVkOorl;D%bc_Xzq( zfkQkKN4&BNp+N|HRO7fO^bkD_FzxMs1q0>o&5V6TvC5x#|}fzNQ{ z4cK48kF(n5CdfPxLyD=FLUvg-VuBFZQ~2zv3DzhqzvjcY`4_BYTtEdXaZpd5i0CES z07s5W7}imP~rEvorsP1%XD#PaV%eU)X>8zJUe6*lq9EcN%1bN}I2 zt{4@UkU8Be%~$7(o};9S$7pAVWLw~$ca@ZbCqBwwBhhrxQxj&d0_&U?LvBj()07@! zT%x=A7r*|CZ0y~83IfY6;(?7+w*tC|QZ34Th{R5OqNp7A^zOZT;;thmgN02Q@P{WJ z6YZXsH~$R%qAfrv47--|=@51X#fsyS<2|=p}NEJ~BS+RUep~mUk!+ z%T6f7KWjCRd!3i_2E_pnc%op{!Uz({lJikdcD?uj3?exw^*1DNU73Vb6^;52Xm3M& zeX15JhA+tWed5SwhHb^_nOY3Vde3 zK%S?yKTueHa9{oPoy3yfw3$ELY0!vGBO?pn^mw%_^|5Wzk%M`UCA^tn9uKQ(^3?P$ zKo30r0AYy$!5%svtM?iD6XEPg{g7aQRku8oG4y&`KkCLUtDqT~D3sJ^NSxH9T~fiF zNg{k+@DRakP@T8)8fP@r6e^(TRq9Y3W{qgG3ew_PM$-CTLf62gSo!MRLG+yNqA@o;XY;=*6j7 zeg-!~9TL3!4Gg$KK@G(dZ%^Bfvu?9Gg=0|_8B3cX6-z=#|KUsRs>2vVzSL1Y83uc| z6ThHqirO{wd+eSxI5st%ONZ4ZmF=z^U28u>^E~A6RfKckvRX%t*pa~rPp5gS< zSKkpM&`jHtRf1sDCz=V0vWg>oVCc*1C(nichq4C3wYm>NE`cl7_s=Y4A;iYYI&y~k#3lE5#B!K3_yTO zaw02bG*LRKJ_PRx4jPk88wJY_bp4eL2?&p}axXX!)&;}6M6vMj3MGkqy=D-}ibW1M z*jt5RLBkNQRHB!&Aa!+e;xA#|r##Y0cCYb7zN4>Kbv;p35yBW(o)Rix^JHLW8G!B5 zz)f|g7o3^*b#xORR(Rfbpd=2wC?Zy~`xDfFQOq(}VYD+k(oh(!94dsbzK?bykVgFC zAH+rFQ4lIO8mW1gL0Hu=!O<9_15Uvg6@m%+_ZR6*!ZayCH1JUYt)ak2ee!6G-rg{b zKPh7qiv!kNYsm;ro-+~4EF`F7tOq#K8?d0&tmvB=5a2=@tUkzKGpl7UNL=Dn&O)3| z!UqQfvK700EWZbr03;j|wrW9RoEMoTvS8K-?pSSu#<=Pb#Oi(@ zyc5->yu4}dxgFl{*vI4(pG-?)x_k3a=8Uc$L|$Oci>ogf2p1!7UJth2@A#jKftYAH z^#r?->3@=&h7m670#^uIiFJT`-(a!bHg=(hCd9ylWHAT5Wdhy#emq!?=nMvI@hU3wz`G;^$R0Xg4|ZgM9p>vQEFY3}$>hC-M9Hg7 zHU>bb0cKRODXnS)W*_(jU8kp*5Io_*ySjw9JhVsR+r{okh-^^!Z$`~MoF)(~S|{w{ z3*{KhZ}{oP82fdMOw*MKWH7pi?8VRJ;g68ZU5cE2VMIO)iqa4z@>=m2#uh;p>E(0) zyp{v^YN?ug6g656TuZ}z1fyNt>!l%p$@aKo{SbK{EGD5%owd(IM!!6o=99!tQvrwPL7R&ifSp0d6gnXtN|@H>DT ze>Ad*j4|*vblq2fZYAPaD&h@jVA6974SXcwEfk|V(DMf*T#G7k7fF*2dOl>ME~m=! zsoqOw>8uVQ6thL{W(m|t=XD443D8qDV;S_QSVdYd5pCDm)0LvYnoVMecu;-{4+Mv= z`fu4(uxzcc0*Ktggg@)di5xz%`PYVolp#ySxlZ*dX`Xz0A366m-a@@R6sQ- zzT@yUaT?Df6a&({b)9y#1Dcmmr}cx=U|%>4@;lmgf0NBhF;4fr4gE0V3j6-3pY}bw zD1KW=5BAXAy67xISm>``G`vlO16^cAkXnNpLoSz&hr>F*#066-hsbgvC1u<^&2e~y z!veW1QQ~Un=y?gIupdfyN5`*z;GjKglx3vQ3!TKxb>th~;3NwxO5BQ0C&llm2$q?# z#S66-HegHB%Q_&Aj~Gro&^It|}Wu=7kR zFfK6AV^sH{k=cbLpiteFqckm%2l6|}O7V9Vj-n6kP;^4Q8yKOCv*5Op|A*&dzmooU z0rmdZxFy_z;xSIg)q{)f;}lc4MqhK|75xsp6>n9Mn1_7#gS2R3AeYo61Mtdf&XxW_ z*4+RkrODSxJ;r~};mP&x_U=tMAq+B6uT9|@3pZGQ=uM8Rj)2jS02VSG;2O*P-|QT^ zqfD4=kj%FF)@pp3gf?Uu_uU>(1jU=6yKs@5io6K=oC0pcF>e@*14Z*ZCh^#xEa*$Z z{C0R6!Ecz-b6{j%UqA*PZb?P<8nSi0l^`{knlIw;{vC#sV`8MiJUeR=WiW#p&>V3+ zibop=fxf&VuYBbxPK;zBS`AB+Fu81`Qig22&H2IhKy1(Fsa~^#);{n#>WWr(u9y*C zPrgj|)GpZ0|8LVgxz37U_yI>)QBjmFoCvRf@T#4CeQ3A6K9N3KJ*EJ*@CRf^DVC7@ z=ji)tbq~Umr4w!l&EN15ABP)}v@-P zz^t1BF_awc`>(}fdHd!+5s+iMCYOKAK~;C(lm7ctnMGic_(b+Lo{`~QDMK$Z=v~Ac z_X%uV_N5e#Iz69`#MDO1aM5thLh3KH6=}X z^E=l+UWH8kHCPAJ>>poEht=e{p}+nitZ#@k#9G+r`?UPEIGztf+xx93w2}zB{&I~C zAmb6pp<2CzDl}eV^cYDWAg{VXE?ohJqMD6U?^-h@x=VHYTmEGnnVTmyeVam(5x;=m zdpy!>j|`t{dnWQ++qSzDVS!B#_xAPt*KY4fB^TIB4|di^1`H=3c%e)XnQRD@gIUWn ztP!+40aQr0yuRNMfQ@B%<52GaIqx)R2$=9Z6tx4ggNHe5#+Ius z<(BHB<&8_i3YjddOBK(?o7#9;(mzSULKVB)|b76mJ5&I68zi9vynK>mST(d;>3$dFyLjsyTq_^0u>Qv!6kt=5j~q ziP-a9T;7n^CWOuxon;HW+GNVIj~BG;e$+i&De)9*eE{Ui+Aj(ImJRHXh*p|F9P31SFU>7uSx-M(~@BhMv};=#7?p5ipK!p7o$s%~HgBaZCYa;LyH zJTwIqsS1v>6Any=AK`;Dhk*t=(ZyB|_3#U?PtK>)D_MgmiI;1Dm$5T4Otr4c8(vA4 zi@~^grTZgM0;>#lsaC%Y9OL+51p}y|Ev=4{orEnX{d@oBk44!8dwY%dagavI-&+v* z$xUV6!9i__FV<3Ux+$C)E|>wMPK0;vlcx8LO%%O5*zexWryeSt3A^sU)c5m)IJ_1o z8j=3`zof*l6A!F7Z}M-l>0aOV*ClBEds;*C-ifC|F6xKJCo}?KB5!7C)kn^#$wW+u z+gf!sV!V~X)Rq0rzo~|5WHeb={d4|Zg|Rz){_RiSb&d8%B0kG9PO@{(mw+@)l@HKX zRVyw`@2j@}@o7?>%~i9K&xW;d3EyYqJD;E7&0%feI>C>V zd=Hs~fB~O0&fl8h{W6?9%{WBQ*(j0EdDqcq<1x@jrq>%dcqLS(Vcn7!l=)?OH9h~; z)j|aotKml9I4p;QMXty~Q`bkUu`e)VXbV2bE2sDi`U&I}+!Q9%yTUR;-GxUNf#-C7 z-Q3%M@b`yb{p0IL z&%Ql4eE#CQ|2q2b?|=C5<*V2K^XB;Er=Q>c?=SzC4l{`U?7aB(VlpkO*>8B&eSW$4 zaP_;M7lhjnL<37p5Q_2WM()>Qj&-_OuHrt(ou|kvmUpEEFi}UT7=$a_9)sv^?XV@n zmV0s6Ph3_7@#L zg%|pvfb8}H8$FcQ#VY@!V|y)Sy_u=`0D?^t76>r7NaA?& z-}iY>caxx;IJ2v=0d%7;=klIQAMl>z@2pvG+H$e%-Tku%?)XoCdi+q=Z|wT5ds^kQ zSy{Umb?@7CTXw!Xa`aZtCUvg$oo}!G>}Yata?f2Z%g)Wq$~*4syzN~x->&g$*>rtZ zwB@=FqtoJ}7n(OKyS^=_L+@wqrtFvQ&0F{3>HGIj-(3FW-oA8C-~8nMa{lHyguH27 zKJ?3`W$&il&Ez>R3cv0M{nERFKL7LJ>%w;;bm+=@;mZDD zSWUxjmY$Ixr|n7^=K=>!DpYo!9O+O?$=r-sM&G&<%CvyUs0rSgd2eF5h&n zYaH^tY0I9?VBx)=vwq(gMZYGIm#z2i-7u}nf~8)Ug@2sD_z$`F5yQkBdthbw zfZ>|D+OX76&yZc=TUf58&KXigsR%(hn?eu$BVL5vRfCcnIt2oB&^^=$R!gF7!9)pU z=th~EEh+=ab%Wv&6qGW#Lon8!dbduN0C6mav^1^6UM4ipYbeXB@}Ic~3<49rre&R@ zp}x67tLV&qSb9;+()??O`l0JKUGG=3vOrJ3r!QGq@X4o@mu@5vFFhMKus$zq7>7Ua z77c8aHG-}fQk`fOqvyGe+QJ)3;6x~d?&c=J6N4&5Z{8Xo*@yS%moJ{5pIu(Kz8$>w znoO#^UJUud+Yav79d*9n>znNMc2mD7>t7QH6iCv6Stl$x;}B|Bd3yz)k0u9MKJ8qF zN8(a7xo&lV^>;pRi=|pK4QdM>+oHB>AFhpVZNAa_ZV8Lr`UVkY`As?Nm!Z$da~WFE zLesMEmgSrk3XkUiHd(RE+jWjl%8H6jR0t{c%-}*Z!+S$VYMB4sHX2(q48sn!Pi%C3 z-uvAe%Wk^A1swY#7b{_c+8-MXYTRMM+xA3`?zzV%h%j%>9Pt%e?c&Zh9U=v2{BQ$nMBXBZ1 z%$B2Fuj=LoH4*mtUoT`H0!!Z@-Q!21Jy=_;#CCj0D{JwU;Br8=0x@L_3!SV01-ZDP$d+omneLGkL-ecMKVZQ2cR_3lBwJEd9)16U5kIzvG0} z8G$)QqgHF@cxcJ#*dQ$&<_DL;yMR@DyYnRUi!bvc@mU@uOx2s+P6^Zu+qnoD$vuR- z%v*e$%?6*X>)L>h@t|y7*K#OkOWMjbr?xbhb~L?MC;AD9>V~O?@8WG{aoJ@fsM{kZ zk46ZA^5PO?zgg2UZgsSw1t^_C2lWP8`S?fAi0n0i^{F55oZ0+6)d@%fa)ZP&$S zHEl4M%W~zrxc~0?yeIoASTJ;jW*YpS_>C;&?WK(*wivPYqoTFCb#4X}M=YvlDhI9w zLb$;J;MGH%z{U|0Sz{K)MGT*q|B)j^w+w~=;2t+iPqvZ0NPF-`Xdl~foR1FHI4nZw z$=BaZ4lJFBc?2EKA{r2PpWGw&3yHQoko2a(*`HnZXa1jGynRiIS|7it3zBlBJQqD_ zRo>20kEY1{?*ILPQ*^%nk8sa&29i55IuOV6ruR53&Lc`z*~RQaL2XbdugHrK6oN6X zW4PL;@#Y z1R~25V+I8yA^60JcL)uBBcFZLVJ+DJcUV7-s0w^MT%{uZA-&n;mQ7?j4P z;H@^NYdh3g_H@NwbMzMBze|}cty%)T%G=h;Tgn)a^+cFjFUvx?qnat$ly!2sq&ev^ zq>gt2&&T71xc*4IK9~9SAwfT4IvS0B3RKF(J#oIa?}p zl9}QkIkk8#t(-zqv8SrXgXzgcfe195xZ+#c7JKNVsT9Kok(8y=McXtnRzvis#H-pm|U;Y8aKK8z>R5(!5lyg8=KNA zlm^orho`jXxbH`Herp-79g}oM-PtMX{8qmHsmq=bhF$jDWiMRz(q*rRyf}ZC{fEo` z;>1?Cg*Ai;GL-wa_S1I*oAc+ z1}P%Oc)17)gblNuMYUPS>cU=CM8}b4Hc-{c)*v8wfsiN!_lF4576~COiF*JL)KE^U zht*V(2~pjZ0bN`EgD^+T^D<<)i6c7346nTny8fIMnSzXXh`T5zJxRb0WPRa zL7`Ix?RhBSjSjU|mK-JiswZA92^NkD3q{thR|R*quKbEB0u)lqc}MSs)#Rx(stAqG zzM-<$)PL;VQdI~$#Z%kn2#`-3j>~pbZU+_DIXrL@t){TishGGeY%2>@J&*A^VJldT z>yALb@UsC_S>c-CIdIHZ;<*TAK;_q@s8)!zl$Lar(U1*Kq?s{Ahk;l@RmOBQ$%>F4 zI)&+jgM04#uUbFvo^aQ>Ru9a4;toZ?;b(7Ao|s$Uz3o7!;(;m`^b?^g>pX^k^h=la zxYMO_#GS5b)8K{cJH67Pb$y~TYZVh!HGdH|+KtGDDDKR$1j72X&E#NIjr|nTvF%G% zq7rl@*B?&+0BMqh6Dpw^JmD}P;OT#)<7;<#?5y-4iXOWYYfSX5D2%mDvaO`;SfN^$ zk~{W|&MWf5_mO_GBUJlssW9q{i0#@VI!^dBQMoTrW0M|Ja5iE!^GlRX4&3RMv)>&o zZu#4BV+|?C7z*N@WH(k&H?X0!kxozSlYu)jW29v1grqNN_pYiYS(qDe-Wil-L;$$Y z7hDYtPvQ=7lsiPelLJdprIyJA3*ZP&ytCT+zEPnlENreXS~ET?2ylFXI2ftm(N1Jq z=|WNJ-`)3PIu5nj=Z2K%g95FWw1g6VA43e<%3a%junLD5Sdu0C78<`yi;3nK*&H23 zI{rscdm}Hf?+x}3$)`?;KMa5$(Y)O)G5duLf^zO`6GaweF+P?bJDtbPpG5PU96XNg zQ+z@E{E)gJkL>3*{ylI<(}vHAl8Jq=p?EAMn$~whOW0U5s>2B%oF=6%{9gTF#-sL$+tqwzecA#(4#G?B_R8N1z^L*zd=y=mcS6`izTCdql})zyolu{ zKumk-ze&zu_J6S<1Ic9K_F!Sygbd<`99oQOQ3+9WQakxh7@<^RopU7T!zzh}zSol4 z$cd=+PJ1{bl5liTjOw*@>60_Dy9#+`kax+M9Bc*&~(sqz_-L=Px=-j z#PIhii1=iTRAD4W!Wf@S4M+BohCnUI*hCB0pJHf=-;7LIVeN!Sr&J<##oO;~@mtFW zx<|O*2i2JpB{!_c9zMC22#N$P;PH#&s6kQ_N@P+TXV94b9oe~M|6LSDd^H(=4RW8P zqL3Pf_&Uz2iK_1Yy{?~;%sz1UZ}_nVsvt26+DUiw5W#zxOeM-lV<^wZcVRE%XK%~# zd~JCeatKr2F(A`9BYv~q%MH?Ix~B~%{Nf-I9ZvH#@m#1z_!wZa&c_!5rB^aY|P)OHmEGPUEj8m&v4oz z?OHS|s_`@Hv$~+6<{#9lA7N(X=gC7GK(jsa52Cv=s(2sn`(vzcH!fsl;inAu_?^>C Tu3-0zg~`MYY8;UFBry43V91VV literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_ccfnt.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_ccfnt.ps new file mode 100644 index 0000000000000000000000000000000000000000..d69e9c8f07a96a7462d335a4d859a1f1ba98aeba GIT binary patch literal 2704 zcmaJ@+in{-5Pg=uVj4iG4JcCV76nqY27HMFp@w3(c8eg$1GPIV5nhoD$+f&N{O>(O zt}eb+5B736_c?QR2ZZ0Lb*L0VH% z59B$pzvFV$AM^)wz0iRwT{GdoQ$CWdHa1)o+QqEBcD{2VcBKx{>sb@Iq?L{f zntq{wkFTzdr`KQU%Q+oSztUfm=@}B4T2f71SdZA&Z!Phxih^AXq)aPGI%|TS=~~B@ zDqP0}Qvn(OXxJ1SB+({lGbbH~*_)`X77R@fA*DLAKdDR?O|3k+#ycBWqOYvK#eF1I z*F$Pd%^}c&v$KGBLA8N`CG>OUbwn_faK#n;N1HNwtt022nJ$}ItqZui&;=uF+LHp_ zb*FdxsivyITuP2g*CBWK(;fR3b-MPALC~@Z5eXG_Q!=TIs(A05OE--5OH|cL>WW;g z@c;Pl)5(M)-^V<0qm~%h<;}^(

#XZ#~f5D}zzAwt+8kow0_ZCAA?fZKrp# zZmkCphAGyPWlq^x3?7X_rZ5g@Oghh)+wAD zANA>h&OV*oe8&I1tL|RVzK;Ynq8=bx$@lapJ(8~a;DoYqG=rv*1AzewObHgTbxdOk znx6PazK7$D%BT`&YlHDd&iBOvvq|pZ@-bWHa5>=k(sKoUx;1vyMTY0K^kwYc&h4|X zYokrn9wPSE(O!*ye#Y(}F3|mF35<7czR~v3m-wS|OyLZW5yN)V%2BFe&JjxZJy1%- zStn^^Nm0lE!&@fFYImC14&u&3Qjq9Nv{{cY- znD;pZd%wD<3$sz0YpqI+uX4HSc zyo?a`2nfm7kc4I?fZB>=3&%37DHe_(&nS8n!WTy)S@~$i?|K4VtQ6)2I1jr$Par`k z!9#*1o_CSf3G>JS6okqn#}oSM*+hxFt!yM@T=ly_$YcMB-V^7YvM}SMq80z_@x>so zmJ7b)nhrbOOI!~y7~vh<=i38$U$DHE);<%i@+kP;)w<9TfK=)0#5NwUcf1bs#|b!F z0W0alMA1SOxA~1yT8S~^DBKLCXf582peuQ+3-{KN*~9|fL;QKfNXSut>biX-0( za)sZ6@blAhhMTh#khDmAq^C@V|6`TQ?yM3dXncx=nG5IaWcM_oj2JFz5!?rQfAAe{yj{5_uAO&W-+_oa NR>;8WJmCOx{tuo%Y_tFX literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_cff.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_cff.ps new file mode 100644 index 0000000000000000000000000000000000000000..bcf0c781092a516498a5dce707b00e6e63872b4d GIT binary patch literal 18106 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 Yi2l9d(#F|?{9hwG`mzPvZ?;^02j2{!*#H0l literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_diskf.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_diskf.ps new file mode 100644 index 0000000000000000000000000000000000000000..00619ac2a5608638a783e81a0f51b5d981485404 GIT binary patch literal 7723 zcma)BX>Z&{68$Xwib?<@Qg#kq_HG=l07te1A%^3%lr@4NFnY+I8Ll|wn1|$9+5dgt ztLi2>l9P=9Nt|YNbsev+o=1Y8^K!kZvc%dH3w?+h?z@ewCkJ%CpzM%1;-spF@z>rMR|PmKDw}t9~b*U6S~9 zQ;RD$6mne_bvDcLtl7vMubZWp1Z)07>x;zK6tu0gVj)>GGHxWhU3ySfSQORM_))Vg zX>(V}x~}-ulH4_c?-X!zHwPzn}uK8_-X?^*PB0Zgsj@S zfj~*#re0h}O74LdR-zMh$+Ykx6u7^wOM;P#4620td~&E`;R^mpt9Pm zsSdya4oZ3wNL8}Dbkr}+ZnCs>IBw}Gmmp3BT=J|Ss0)~41!+}?i@7|%xcuqm&#$j8 z8E8$_`jOmvxzFhwoGuZAFpfCd!NWO~m%{s0LtXYX(!nD`Vt^M?=%1}zl>sBvape-& z77}OxD++5ONLGGTRJohOeSAQxv?vEs!_{pf(=NOipc7}X%Ai<=t21DrG(j#x8 zvP94rY2%6GyKD6 zDS=agXv=}{J;XwKYTC+7pk=N@WLDG-SQAzn8g)CXo2)?*LqQBK;<-L;D2F%2jjgEGrx;3^ZKPd(ozHCn|H=u8r}+17qqH zX_)h-^ou?ftev}TKkg*h4ktKd%vr^g7*!*d*LxzA7Gh8~am6L7YvX|ik(1Gkevp%OCJ>gUg$3~zl>Ru-+DeVFirX%q*FmtLaClKKuEw`F6s@T$!P zEmaWVDA?p!khf$?7f1Ksd=&oyHh~l5Gh7gM9HU%RB~VU_iSWQKWK2NG5bohM_7BDB zD5EdzT&*{NlMqtI7e~UN-bHJ6JHr{M*!{U`$OH2@^k7M-Zd?>`D1cHP%h+@PB&ha- z95g&@FK%2dxJpl)tBQ5fBwpFHTnJki}Pp)MGcHuR-lN$v%klcJ^NHL7TIRQr75)JSb z;r{MA2NP@&0^`R|Kf=AHQH@zmrgSAyaRIJR}*03<6 zepzOz(bugoWdLiew3cPi5nV?xxCF%pUQ5chXqu9*g7B9O5az1%MS)_O7fZb~f&pSx=A_w_I~Si{yxJ{M^aO@o~r>9m#~c9Hw5oV6#Y{p6D(9 z2A3bH%Z~_@n0(~)AUSw)24g@o${I|zB~V-w=|BgL=&r8ezyhTAmYJ<+(G&a)w%jq% z4nra*^afG@MQ>b%agDYOQS={9TzzMV`HAo{3djjYtfr0`irvIJRCD%mywoYJLe zEJ0twj!)_<^XTyr6OXNh7sS~Cf@(+i&^<>de^;uw_3-#R^;D!%eoFZG&!7$E4gn=~=K z!;J+i+L-Y`F?8o;*Lb6e#I*u$SIDT(qGRqMgH9{%-Lt71mk*rj*g7EF&wS!AFsT&T zYMo~Z?t#9kH)!=&Y$8Cg$ck@dnPCP36H1EopGGqNY9yb=nCuYFpY}D3hZPC)03nE>LsJAYF?HoL=VLVwdE){C zLp#b;7^5E;#8L?+|HvEz#4Meom8vJ}dW)BN)b5Y0;o?BZ0f%qSWZE0Pmeaw9vraZG zx6=tx#XV}+C)%X(d`(HaGF4M+V6NL5Gd2CAq;AeDkKQT3x1}iEp=h5@``1<;r}xfN zTFvU%VC4^I;$}lnL^j3%7Ws8OwH^<_#2x0?og8JsYnes zz*7mtbAo&c+pxJD$q#Lor!-}F{4w9G*%00#Z!@=$!WyT|CMx>M1Ma2}#OtiDF5LxN00i{(G)E9v$evMH14)+qX+W6{%T z3yHYreG39Op3xK7#7fbI!#YTHi>~$a5|*LWLnbFC4XgduAph$xG{|H~9B-b9J z0ZhV`pq2I)!L%{7?!OweG}fi`&QVfbj70b_bdp&ydg)Pjr)ifmp^sHAJyVkj*AzRk z35mUz3Tlg8U(zQ#Z8n(piA2OW?$I#D^eJwt$&E(jrCb3VFb`f~Hqb<)o`@@I)H)X!E#D7u~I|P}84VvxZF3n@o+Rs+q`Lj9K@lU$$hJ!YQP-Z_k8Zd|{O6 zDA85oOFg5XVVJ`WNiY!I6iWLkEBzL6-Ob^jx=3AjY0`zX*b};{51` z4#o_@KI!i1-Fv6>2+!F0Ht0na>1cdRXXoedXk=7bYD-r(a_~V5%Yd+IXq_k&SU5a$ zImmihkEWFtnrp*^w^t#Oo9{3_R8FE4LHpQcZ^2(|q`Fc|40_f?E@`P_Mfoj#9^K!M z^64YpUehRlq>q#Q5=3%Gs)>~gINODNCB9Wru#ZB@wuz*7R`g689b1}XJ622u*7!%m zwqQv_8_{+_I`%uXl(wuGnE{Km?z6*7o#~=6Dv)o2cf#rPr3>G&A4wV0r^Xr}rs~A9 zqih|FhfrXOVu3L0c*f+nHv!}T2DMU|#(l{UF6627b`=L+5as-3N|#z7WJ`Cr6%XrM zLC_NBrVg^~RP;~QwOTO!IymUj#cD_wEq+T~#tQF>(^bVst#DniyDP{JQUTG0*DE%H z0!CUFR476)(@{=E)!wA74Z^OjZcNlZxB`2&aK;50W<)P270)X=P4dsRh03BARv8Y# zg>>|r^+WmNWb>K*CWl;f6Ftod4h92|Pf>nyHvG0Dnf@f~0t}V$m3o>v RXNDM`E&NF$ybu4A@E_9AvuOYT literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_dps1.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_dps1.ps new file mode 100644 index 0000000000000000000000000000000000000000..70ada3acd4ac24a1fe36413ec85d41a19b0700d5 GIT binary patch literal 4405 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_fonts.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_fonts.ps new file mode 100644 index 0000000000000000000000000000000000000000..51032f4b6230dda3e5523ba9e4ab8b69430c8ea1 GIT binary patch literal 27880 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 Uj8S0R5LB;hSY|;cGrV~J2k7JmlmGw# literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_iso_e.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_iso_e.ps new file mode 100644 index 0000000000000000000000000000000000000000..941d60994b546c451b1f000abe71d1d71cad5d73 GIT binary patch literal 2936 zcmb_eO>f&q5ItAFVi3SU3aF;+*g=w;;wXjC)CwFMMSxybvhTbO98L+V zh6eLMo&);_u1;qsvlF^)bf8)rCj9S|kL2n-#;=VFF_d0+akQSmk3NWBr936?Ip<0*`T-D z=-5+@&#_@DvBqB#+meF>nu4}F(s4ebiP>Yru=H4@A1?(48A1F8ipO0QgY=#tWxCVZ7Lqy+W-K;^JFhIH=v@MqK##SCq$RXDwXV{252-3h zb&&sil`|(4203ebKqXs&yOKRpwjyT*Rv{`#kUHBU9;_ebBDLE(i0rT^MF0)LTr7Y# zQR`6?8YP2eh$-F@;ug-tqcY8@+Yz9vIGhs5aKv81C&gT`pdM-4pureDO50bc!0OxTfMi zJ^cSzm5XvhX)4g34@`wBapY1_Y7f$D!%tL1ZBQ^pCbZak7DIT->1yK`)Sli$hF(-H zCYBHDO|m=XQ)_T)Q{i^b@;&SnJap8PbGs;(bve+fm0=Gg(9RY0IPM69+HY#%K6rOjO zN+_dhVk4vTPLAiIGbxOHSHwpbQpaASXo}e2^YjYr%yFCGqPzn0U4uult|UX*VMN}O z2aYBHQ0A*v1&p45Mm`))fQRjugyDp-v91^0?fOE`{!(Mi@OGjZO530 zw%VF7FgTU1=s9#!wpIr?wAaL-I>4%tL4^uJLk(xr7$C}OK;n$V$4D?74>ZK6v!Tw0 z`q)tK4Tr38m7&6BZd`VBgCmgKu_wmb(D|57`Rptz{h%uz!*iLxltEJ7JsmKBm=4Z; zHjuj-`0J-Hpzn8eF9Q`rz$;u+Ea6(U!^G>+Z!Ly1?i;GSN8{}cg4{)5DYNzb^5yKI z4VVy^c{nc`8BhC%+1WyV7)JD0_E!Oe7B>*gM!7}MS9}>a81cW7uGs{h;mn?$(Klm~ XPWNZQG&sMVrQdS{9-4NV__MzOmL}tb literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_kanji.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_kanji.ps new file mode 100644 index 0000000000000000000000000000000000000000..9196eea192f9895055dcf73addbb35da1cdd923c GIT binary patch literal 4087 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 ?U7QH_BXFap`kNbY`xXR5y0nwrZC>2x#G!cv z+pFJ(1Gq$BrnK>xCPO@6FX^O5fdph!{+&d^Pn}GnHR=G<*glxPumFPQ(b$J%W){T) zns^i$hLpIn%_WhG z+{PC{t#X9$5DF9q(gVg$XEwQ2#ok*4Gw=XcL93<5#}s^nb8o@1FUH83x}(72`p~W! zHw*p)*{*H!x!E6@vfv)QHe{fTt(OaHhE7}ZklWr5q(V(?>`L|Tl2hRyj6kGbF?5{) z%oH9RH{6Ba>^J{I_U0e_TL(WbEw2<76!*1L#i?pwMf}Wo&S{=>y$x8hW5f*TladzY zk^&XEh^q=&z}Ps!>0l;DSdju*2OB3|fXGuwQ2mpE&v2;>)e_6IB8fAE0Sdk%4e{#J ztQg_-zdriqWcwRXIdDJ_oOlTdlCSGHx&5oTwM&!RdvS$M(@v32b29h_`xT#(6mw)i zX^qFxziomzFODpUb2E$YR48`b6Q4^V2~t!*bbM|XeT9T~@NO@4*;o;pKI<5dn{g_sX&9XSR zMH7b5-J_#DlicMZqkVI9WcC@)_Q6FYaj$hjyT`}DNEu{~ps?YwQ9q3z{eIsZfiE7{*8<3x^yEnCZs87Q$V}C95wJiU64PIjcF6Y*5~}5mB=w^Fos%idVz>ds+Tnk=JjL zt0pzYdoA-<-_b%keVl)KYwu7DgoYe3Z5-P>mzxQWBrlUd>ltjnKT_B!EQ@rGefHbU zZ%tV9(e6WF(NL=MGlG|>5AW3tT;l-R=)P(8(k_Jr6{p2O^BVM$;K$SiWBkDkj@E1I&h*&VbRPf=7N;sSzclEPu< z$VE^uMSZMRF|y@aZ%=45b+PcN13#%d>Bg#)MLKR}v`inPKQUwCPwsaIgkwt@ZkE)a zF>HeRPz%<3^k4QsG#<~>oUObb1P`npbDq!AXAhk9X~WJ83)vvWERaC4)9Y)7VtnMC>Yq}Lq6Uw zCi^6S(j7*Rx=UQsn7tS%0O7?x*rXv~(DgV#A_6TV^P8n8axef+iH$P}L)L#^AlG3+ zX8MStoc}lS1$KxE-A&+JJ(QsIQIpJ{H(}2qjIiibsypcxk_EbqZ`&Aeyibg3t+6Y@hGtr$HK=JM zm{!Kl)~!+5Qor~lgW@YZt?ipo28Zp62CYoLQS`EE)ObLyMte`mCn;j(p_O8+Gj?c~ z0cx9ik2}yE6}PHCwI(7t<@va%t% zQCe6ec*Ijw#r%*OpiC9W0^S;o4Apal9vB!o_9%yjJ+$QPhr zbmW3zQdF}igOwABEg+-yH4AAM5a={V+B24t2Hj2Rr~@rXOW|fEFW|aEN|;SBsoS0d z-P)DmH|XQ$-RRjZl=JPl2MO8x__mnisE{9FV{ILM$}cOaw)-%Hrw>DHRK-Elkp_6N%B^ zixIhE^jS~Q2Vxi;C0ma^$7%ijv2L*i8_$wbo9JVlqh@-Cmd*F32ODABiQX31^n;fm zCXJq)+lj^nuv6Atf{)=K2shA0sAX=JnfKFkC7&Ns^8tx!g@$DJ!kO^ZEIz{CRykW% z!Wa?4#e-`BFL2S(Xdl7E)p9Zg=?UXv^e$riir>um$#U!N%9nu|dTlrW}qmglzH{QvKFLS+(QF1jrHR5F*2M zcwq<}+`)>b5sv$_*6jRiYk4>;2?f_JcMo?Rm|-~RDLWL*vbbK^`(`JOx>JFQwA%>N z=@fgzm`{@lCx6{pl$i=@I%qL(7Q$p$^bqy`@lvr0r*y))L13*{o!1GRJDuxwz1+h zzQu$f@zw!4qa?u5{LPuo(liAnm!b$aolRkR3YieE7CW33IoK;S}ibBvFdKGL1 zi=S}`e%%fwZn#_$?C-t?1TbxMJ=oY?U zg%b{zc!AIsw1!WM47Oe^P{D-V;T`i32DJzmU=;H#O*dile9d9hCTE^gF!a(U=2}eik z{@2$%nm^Jru>l79;-EUvBC`3LO^9UejXyo7psT|v6k0B9Z_%&2sD=bCx4hVU+`0()p z@xDaVw|RlX80HAl;gicNIH5uRQSK3scwLkdQ{nMmBJLtm6(3_%+kz0_u?e_Xn?D555ZfH(my0?+YBxw-$Xmpk?=us3!etA-TX~%n}S^%CWwW*fJWe0jzD7 zxr4wq+KblML-0S^I3=B-6`6fGqSMrCWM54yABI=I560HbEI`8}x(})WBAFY68*ATf cPWrkUwlRT9ZC|#0A~5I)m>eF;)%D(g0g)fjd;kCd literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_mex_e.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_mex_e.ps new file mode 100644 index 0000000000000000000000000000000000000000..11fd670647bda689caeabaf97785e4108b0299ab GIT binary patch literal 4105 zcmd^COK;mo5WeeI3<3m50K-huG(e8BEGKFl$#v|e4tiOUOK}mB%j_;~v4;P9zkQHP zNp^vt$NJ#e*~d5U8R|LVZzh{giA`bX#q1@$e*gY0O-q(#qNaImxN4NpTpts5OL7-A zDXzJ?<=OG%`Q$lW6+%-kN=~2+Q-)+dV0(=m$?u035 zxuUPr%ggEV>V{TlG+o}%r^WIViYz6u))Z1fwp8&Y)+|kVV>Ge4vr0Cy)?zJ6VLHlj zYzj^(_V|yM*D2Rl(N>FkL&6++G<)r?;JB%XDt(HTQWsWs~V}fm3}AHcbpqy zWqCwxU2?6d;2umvo@SjUEeZa-Q^G(POt|DZ@QrjDJ?4=!#W`KH>r$kEIu|L2*7U*} z@GNl8UOJod7IDeAVWQOD!}D9NI@sBCPXvOhRvRdkmTks~4OcCC0Jq+#rK(_6XH{p^ zlniwGWwuz5;alS)Ub6}TySP3%U(8_FRYahTVl_h1$re}^+GiPzwyGUbB{PwC2vvqq z#qd9tIY)%VAX%3kpxQcv?^3Q{a&5zz!K(-=oM7{84Sldbvc=|ZB@twaO`8OWfj+V~ zfY!TKAtwY<2HOaxeQmY$D%TQ$hohh=9&0$p@oP>^UkOkSVDOfGCQvUEu%|p1HFsd2 zSvub~(3y~UFdW+4^3+ImJW0}4DPEgRDc7vD$*1^)?x~Rt?H=7D9s6q!WK@gniW~OL zJw4FFMC82Ge3A@8=RqcP`s>xJ?Zno7att#vp8v0*@5X!6>11{)-s`mcW`_2;Gt!5G913pgc6_4lHu%M-QGdZXxG$0qirxDBrDPhep9DG!^fb_Upl5-8aMWx3G3+e@{VmW>fu0BY zInZUGD@Q%XMcDg2(91x-1bP+db)bI)`qfd7@n_h(3G`c_E+H{nFn%#|ZN25f*iV>5 zwT)ni`;{m$mwcND?zNtJbC8NGmbUF3ksE^YFN-PLYZy~Z-xz^(KXlVfV9IErgJx4R zQgf>8fb=TQQjBKwuE5Tt97^UoL&v0nqghkPBs>^h11HEyn=b&e&H;Xatc(YmAJ07+KdCBKsx9 z2&r8pyv>6^n=tVn`bK1iJEyx5ANFShDDt;g+T+_U^$3!iB5~hOk;vbSy*Y^S6ENNi z2YZHG;j7+TIO^ke9K?rqJVowX^a(mm-%3^*8SC4(jnFTBvGo%nlXtxolx##hkMBnE z2OFMT>{&6}shKBVJtku1P3Zl=B1-i5&8}XIu#SB5^t0pZHN9IUC!^4F-*1NAeC^?9pjT9_0<0gneZ)7C;tG&p_Zip literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_mro_e.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_mro_e.ps new file mode 100644 index 0000000000000000000000000000000000000000..8cd75b5663b394a6d9a4aec075e27352fe8d4b64 GIT binary patch literal 2544 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 R>}j`FKeQbT0N;I5{cq)G9bW(d literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_pdf_e.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_pdf_e.ps new file mode 100644 index 0000000000000000000000000000000000000000..3e02c48a350374f48f137f567800eef44dd73286 GIT binary patch literal 1848 zcmaJ?ZBOGk5dM7m6{D4qcBQJJ-2%HGd%T>gLx6zOiPL^@<4I!S*jc|6a)|$akCPNw zU7->+9($gddFB~+kMKFRZRb=~2l{;cg=XKsFDB{xh?ZJNsSKT(z^--5v!4>In)>UW z9D8;fmeXu6+oRiBc`B7=!rBTK$d)e{f7I3oUpUo<;r15%%|Y^$$_J;`F|ecu6>7S; zq`#Nf*UO9BJGwlh<;5NSxw<$(A{UlK47GKLZQZLU{uf2TZSW*amy&F)@oKHK3LTX= z4mDE&8~==K3ic_{=#{BRg~@=Hu07O@n+`_m>m2Y>WvYl;IBKJ7t>+Z|!Mb~#2NGIO zC>qV)Q_TaIM?5b&Pu>#vd~hlt7)rS268ORP8SP@^%rVndTx(ST>Rc6!tm$(q;M2JK z^rf$1c|9qMemcN#%W^Z^MKI!Y$-ay6lk;E4@mU4yE+l)9i+3#`kV z>Ml@*H)nC7#uZ~gI?JELRP8hVJvk_Pcde9n*PN_|(u~L;CS|!n{*Y@vH z&V(QgvPO4+ibjIFf*ndWshtw6qNyMu>1>UBV1H9f(r#nXWD8>w0eavk=?2iY)H-NF zK{7C-naMk4IizeX8V{n7DV#ls>Gx}Mb#iuM3xeuU zHB#Ad5v-eLc@dps6Dn=jLMP=p&gh9++tRN`PtfA_+A{?gA+1+K@_C|Xdd^hI+H;l< z5l_c}+3M!!<26jTxcs~ikzj_AzwS*Fy)1C)?iVth)t>ak#cE6 z8Z;9qucN7ii;c!aQf@12_?~i?O3Z`Ol6M6DI;W$L0{@IQaGFZJ%X_g;2OoLYU0bu+ z5q5D%2m2p+La>`%5%D5^oxS6@M?dEKk0W82L12r3Z{HsEp$DAcgycpzbhT9YLow%G_a$7OQhw9RV}QAn3hM2v{AW}Rl#(7q zIO@^KA~!#t{yVNy43y*&6Z2!f=*i5trvJ-!b~vNi{GE0r-G1PDw4iVAxy}y`@#9t8 VvlPyWj;6>6)4QG6j32qk{sa6AcZL7} literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_pdfwr.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_pdfwr.ps new file mode 100644 index 0000000000000000000000000000000000000000..85ea6af39f08cdb6419eb8fedd4eb50bdf7c9335 GIT binary patch literal 10830 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 W8|~>XiBsSf9n0iDjWJ1-XYl|3210EB literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_setpd.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_setpd.ps new file mode 100644 index 0000000000000000000000000000000000000000..f1ccfd7f055ebaf0202364d4e6dfd4d325e3b809 GIT binary patch literal 20979 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 x5JxRr(tyU_+7jYG7t@50VG2c>GK literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_statd.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_statd.ps new file mode 100644 index 0000000000000000000000000000000000000000..8bbb9ac5f261fe9c59d208647420de604326fa1a GIT binary patch literal 10544 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 IfsjV$Ki@gn-T(jq literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_std_e.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_std_e.ps new file mode 100644 index 0000000000000000000000000000000000000000..4947a68afaf70bdd10f152c91d91f5f21363a664 GIT binary patch literal 3385 zcmeHKTW{4y5Pt6Y6(b}hkfLnDr4o;a5NJwBXb7cLysYi9z0KNdcGu^`RQ&gTg^O6(&S)vOaP_ zTN7(KJEu46i;MNy@6`8n~(B#;*W}Ng`q|wfVCzhGKx7t(J`_2WH+qceN zVLy_#c8~hjatKs&0t>h==pj&W1U|RkL|g_FF1Q4KbfZRJV&ti3rk8zYO%AA2lQXoY zJ7U1CX?E-GXj9q4F9ktY_!fduxb$1 zHFZ|wyMA?aazc@>WAb>b8#wIc>&K@jN3iR1hd`CrEnG3U9#{gMVhu)%YJ1eU!juDC zRlrp{_kSsJ_6UJNuC)W8`nCXfIeVDgiaQIi3a5euiL(s)VEq$YBz7AICp#=k5Wojv zPfh@Brq&}S3_=FWaHdF$mPzH-!SNspnnE~$m~oylb#o>_Ie>vJ5i`h_6{b(PG%b%{ zAwpXFf)IDG8_H}rkIwI})T?Rhc-n#ByMu%4m87WJ$6W=N|8nr3z!KUXOtghg!(ocA zbE_Lt?|X;3l37x1-(>8AsoK?ds&H1aS#|7@Uy+n``k%#POBzK8Z<1j^r z(g7vXge$DtJ^(X!O`}QGLsxSe$aP4Tu7@tA* zYy9wr+a$wdnO3cY6Rxlh(19B>4k0^M9fc6qu(9&2p_SOcK~h5^>Tr%IM7LU#dQ9qw z)Du$2q@I#`mhSn1)Cs8{Nj)cZO6movGg9Yi?fqhZAfj?9>^U?eMoBYtSruo`tYZ`iEu5HjK-ow z&S@wL-kXX1KQ+I$GL5v&eqCrw$yvB9e3sHra>=4LN;1F^61s4dq)};|M^Q)2kE_Xx zdGC>vIXpSWioE0KL6&4sZmoJ_EjMlqNdU`yJh|H*r<2o5#8YV#{!UYr?toY;bX7@S zr7!9U@K7+2;G#d{6GgNc+nSa|2&(tS(G2=xQ(qfUBDA0 z_o4;rQ?Xh!oikoo71rh1xDxSw7~nAgQaC;#1!g{&b{!Sd6Xa6>Y_AN?WBHT zVCJa6awi;9i3bZ1jZ9tE>%OhD?;DF|4Ov;C;vr3Q4fI3>H;L9o;#&rvx$0XW7M(}N zZp7*OcsT$wd{LtArb7JBmnH2^ry_Vhe}M>~1{J19yo2ShMOx13zZZhn?4%2l0w2kg kYy+>*FRc#f^R|liJy-ZA1MxdIS~ps+F9-n)9$G~H03D52@c;k- literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_sym_e.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_sym_e.ps new file mode 100644 index 0000000000000000000000000000000000000000..1e924cac3e4335c9e16a0f290a42f8a5cad0a4fa GIT binary patch literal 3235 zcmbtXT~FOO5PjzUicuw`Rzeu)?n-^6lvb!+KtQ$I)xJ2%+{D6(y|x2fs{Z#qV<)*6 zsr$5*$h9-$Gc#vCobD6;ojJb=rtK2FK6^vQ@7^6B$nzIEwYq7{K<7i^;Dd=A4+(EA zW%WpbBZmiW4p;lDeY)#Rq_we3`1Lv@a_a@-Q|Drebuc~^?HPPWAmar zI=Z}~KTdCMPA~7i(bY#fz5GU>FD^g8kxNHClcCLI(sQG4tdngK5<$64?sGE!d}#yNYN4ad<-VR7(%$=HSm+m9{r4wkAa!4$I6--P+v^V@S0vr z0I#Oqt2a5O^@zMQoV2mAFns>NVS_mR=06fa{TLG*s_ob?=|xr0Cvah7aG^(38*yEe zw;I2vw`Ug@l=vx?j1Rg;!mhu*|8jALxbC(H)CN5u6&p7KOQ1`wA!u>!fO^-M^#-YG zkg9F^e^xmMgu);<*bSh@p#gU_2ZTIGIvcQxq=E#gvkLy;{Z1@WyS+n_9bQTiAP4b4 zG=Mf!8&DGlC4<*UrkoZpi_3#U;z1NV#o-8I^1fp7b0@$#fPpPJX3#GyY(MbY44lDk zH+|(Sq3RGdTzTL+xp25r^%w#VskN@sRw^&>ioTO~o?eQ+qZVhiAC$s~(%Qa|GvDb4 z{aBeb+sG?bES^sW;mzMiM@K8^``d&_bZBN79nsqpY8kbOet&=)+B)5c4|{w2qz(~p z!|M$3OMy_)YcQhtskXW&H4X+v7jaY#V_#uu+F`W^IocZG8IgDnDC0y*_gF@uQ^m3F zgz@Z{LW?mvXbqjbEc7c43{0W>USlpOZ^sDe+V#CA)th0A8QVC)vpRMK?3sfj<&XfC z9a2V?52@ihYp`7774%HxOg9Ymb5%(r9aW;3iLa9hRZD0+@NMV{p zDM4ZAcp@36hZaeacu%eG;OcucDXFv00O$i-*_``mvXSe~kou$%QgP&5q!&(}sKum@ zNqyGdYaIQe`>MhF-$zoH_`8C80mdb@>KZV2a)8uLhoEmw3&=fnr=j_EwubEV0(sSQ zI~n{F2d^U@f91nf(Dgkh$pucsg}|7MAY~FvnL!>sqXElUL>ZtpV-3Yj#at{wLql5z z*Sb(qWg~T_qA67H?3@=W+AS4X)nqClg4g#G5vaUOM32x0{JC8sJU}vYq=FEULzYm4 zh;g>%gaAP1-@@P%4nj=oc_D%)8Y+zbOaQ7;u1$dUM(%^%7CHI8YHeM>7*v??RSB#y8dDHG(y`pp(!!YjN{8ScE0;O| z<#p-5yd3=`pBqth8}~RBTf=ApKuAYUeHd8=^3of#hy7@i@wiHq56(MWq;AL~LGDy- zaS^P+EN(KMCP8B!jChC9Gj$t&3}%zu+i=PQ=V?Y~YYkF{F_68+B*FzXZSa|3o@G}< zW^{`}PGiWe`gU$rpn43J3-EXkAzEiyJ+eVXr=Vk=IVRMWx53nTFX3Yp_C9SektGS3 z3Lqkngxr-FkCGjU9gtUKx!3rFDGIRKjI|gnEla9#Nycu$x2}~&hFKI~S?4J} zt?@ZjGSF0Zx1zA!DJtxiy2AQJX;n5?7v|{Oxd*I!=Ao6GOK=5e2}|SJ--!y_7eQrl z95Gc(do1@$LSZi(ek#!|FDit$GXO<-XDh|Dv#lgsvd_NFx_Q$ZbiyKc_YT>wE%9f$t9!=G~3w9XY-iqS!4Ee-tUB!<=ePksF%^Vjcn50 rj=+;&f5U$QaCzVpBj^ns;?n`w>HOuhI-!?eCUiJwb5Y?Zu2=s8;tf$g literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_ttf.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_ttf.ps new file mode 100644 index 0000000000000000000000000000000000000000..59ad30b96325b5b7426f53a45cbd1ee4eb5432fa GIT binary patch literal 14255 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_type1.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gs_type1.ps new file mode 100644 index 0000000000000000000000000000000000000000..4afd7740bfa8520e59d4a39be0ad4278a7d97901 GIT binary patch literal 5006 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 MUzOKqe&RCw2_^tYw*UYD literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/gslp.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/gslp.ps new file mode 100644 index 0000000000000000000000000000000000000000..cd278d229fd74a70c850381176b00801dd1ed903 GIT binary patch literal 15514 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/landscap.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/landscap.ps new file mode 100644 index 0000000000000000000000000000000000000000..770ecaad5359084bffbf5935615832aad7e07bc4 GIT binary patch literal 1452 zcma)*-HO{V5QXpk6w^T11X8E4z3AR`7uvF=w546xYuTPS0$CE0oS(Pv8O6>fq--`2 zgFKpV&Y2lc-xX6LqihpvI#*&YM-G2L1$HE z_7c;XtALQIq*jT;v0h1ZZ};R@l-7K}Inz+>g5?ltX3TD3z~Qnj=RgeRI=2~&sZ_6X zE>Z%cY@=;UmbU`~;^|>ey{%o>b!?M_rIzwOI3Ki1Oh#Kq&y3sBOqX0PD6o`}i^zxB zOud=j%on7fH}Qy#F!Sl(}K(%IMZ|Q_@!`;GOEcVJME&qP7Jin_Of9 z++q-hSBchGr4fWRI#TF)4L2LjTW%yt%cdP>LtAYO5@G2$4AIqx!@v%=4y!}oRfl!^ zQqn^oY+TUo^3(F}c0rXKKU=p^C4?E|aEXp!-`XhT+Gy`pLaXtpDz~E+Gfucxd?Yj@ z!B4AgvFrm@WQU$Lyds=-C#SqV#~2ps7%QfC9}WXyd`<{pN_74c@WtB{l#NCvL0ArK zC~g&3QBpvZ#lAw4>`+B?fkNa=mIxSckJ$vyHCZwTk#%bE|E%k}gq3x@e=#XqE*g`S zUc5c?_;!|55N*;YQGVGkVP%gex+FvTrJCj?EBF0%7NT!t3H^1C!jgXBV=n#yi;UF3 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/level1.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/level1.ps new file mode 100644 index 0000000000000000000000000000000000000000..b4c53c1a453d32f77b7621bd566919c3f958e1ae GIT binary patch literal 59 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 Ghx-r78kKke literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/markpath.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/markpath.ps new file mode 100644 index 0000000000000000000000000000000000000000..823bad3dbba0cb0131701ee6f89c445b1cf155f6 GIT binary patch literal 2035 zcmaJ??{C{S5dB>J6^8-=TEL6l1uYO@7~rNq5Ug{HEW^-`v~;qFNF+y6wuNB-``(F^ z?Re?(Ari^E$9M1D$rpsb8|wzIH%+8hH?Qf<_4O4kTUAxs&_@&5JFf$WOTunTV_+c9 zf&G@N%i^NAp!-G#s&&hRr&B(Xtq&NV8yjLMy>>B0Pv9p9l2_>vy7D^6_YxI3VH??HH`Hgsv3m4BG)QBmw(*c z-csa!OpY7X!LV2~4z!K=xWhh#x&8V}Lt_N6E!K$PE&vnj> z&=_P*I{>OT6|^haqhup?R!|kDLImlvHTYovq!#Jj&cbAiO=$vn5M~kqv`Jczp3rC+ zY{N{+7M6*!u`nJ&fhm#$gc;XsCO1t2$N>y$Nt(vI6j*l3KR6YeOBb;E9jgrN4g0bA zAS=#iRC%>aZAhWDJJGzBdcX)nR?I(es|M*y&-6&nI{F9CyuCnVjSXFM8@QMUj{9Lz zAfW8MXA_;(CenOZ5bw)ojGph0ivqboDCTSJB#T|x%Ri8)B1{aJiH_zxoTM`%GFE|) z$dik3_A{n(OUOtszSV}s_)|V0Fp%L5sIB*atrFucTY0 zf+W`?>hkPZMTt#&3*aN5Zu`(Uwc$~=13+iDoJE-L1ITOi+CB+}DSmTY3*siIEdy^S z9#ZGJJssr|C{&!hAb?^XI7I7@bfu1b+fyib1Ftf|8E)3#1b3|Zzv$5VP|W|pzs)sG z&*!fjX%Yk(zba=jndntUnx1D-nRrGzEm5?*f+=SS?{J;Bn5a`1$Eu#{`lI?=e4(?v z@DlbN^iJ(w%%}N$@#2Dh=@fo{_P-v6mVS~>nvbMTTRmy1jgI)hxki_PuBqxBoy^M7 zYLte_ky)BB^2XEoNuUd97h$=>;58zPsFHdTDm+dVjPH}bX_1S?LYff+i%}SR^sMRr E1%~mp4*&oF literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/packfile.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/packfile.ps new file mode 100644 index 0000000000000000000000000000000000000000..6dfcf97491a55fa1e9786b9c547dde1f238cf376 GIT binary patch literal 10503 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 dT1|QKToY){Q;fKK_Schw#hEeNmKNyYJk{P&$p zNw(s}NHITHB6+{hxtD4Zegl)Ot(q@9wFZZDd~))p&Hr!1|2yiZB94`&kJ?L{S>>eb z5Oz}vN{*~_(%#Cr(`YuDbhA*75|v8AGZWU6Nj5gl7sh!PS(W)hx-wonV7*v5Z`CaK zGNzUC3%b0bKl|6${mYv#bah7k%P;h4bU8#Imxe^{7skT3v0F{Nizt$rcO>+hgUpO} zYNk@<*OcJcFC<0SlYi$@N78Yixl?*h%C`$^EVf!mNLp-C$g{A=nW-pGg{3UFnQ@Z6 zuZ;bMb59~o+m!26I!6mx7<2IF#M+TFgnF*5@^FR}u4MxI-h_yrs>qp@lE(QgRS`^G zs7NAeYHO)D;!}cq{E1d1mW9K+rOG9sxyZ9!nA%QMO(h=W1wU zm&j_(p$p1VfoFd*7>&rwJ6|BK#S(yxKYzFw4UpH()&k9~(12oXa@b=x3ht{U0 ziB+-&R5761!v7R=+5}>d(dindavh^~k+euzGn_H13Q$o5=GhGKV850Nb9ZR~vcV>k z02sJ7OTb!HS_@7nPzKuoleIa@B4ljd0@t}Nxcwdrnmam*FRzB9$@rrGg^t{~uyl%u*aoX%w={6-H(cglO*&>!YxShYgl&5!L$riF9cwb4=g`^}5GDm+@cArMX3!a;+uipc5DvoQ1U3*dq{AGyhTK zIL}f9z*9M~W*Hz@qVEb$*Q@v+cZ|>Z1ab9xDEJjxN$D_75dL-UoJ6x+04)kv&(W(l zN3Y*C8eLE@kh-KIwN{vOe7VFj38#EdK)4uTB0a!{L*55% zVinakO72t37N$!flY!cWRuhBY=UL!bYD`8Tl*V-c+^u9-DOF454_UK&rmXX0CLb;i zpnOjmG`71B*g2*LQi)8RWR>HfcOjlo+ibEHB4<)ZCWpt3fo8Z!ByJhOldv2mshKyb z+O?WLj3-C^*v#Znuk&iE4-1u|UX2@z%L1C+kxmSK(`Kd3T>1vxb6kL&x&^UoM>q(l zcy7HkgV=j|Y#t&tDR~F#@y#bsPuV;@@V^R(bsu%jv)<~`|JUh51FmZsFm7(wSap63 zz%iDoS3X@n1CsbS;u@6Xi*DVc;#Rt?sctqu>UdDjfn5+ba?R!kW-4e42=_{L1Hp80 z*(XyS)-UN5w*{|;XA^NNsU`pitTPDYDdipmwF#j+G%yf6+z0si^(6)99HtB|x;Ozt zGHmm!TbNaNe<pwd<(Ly7iQksfLUC-yVtr o&#SXt%S{S_)-T=ScDz%56Ic-8i>ZMRM~@p04*51ln$<_&zZ_F~YXATM literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_2ps.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_2ps.ps new file mode 100644 index 0000000000000000000000000000000000000000..f64e631214b61aead192183945cc5a03aae3aeff GIT binary patch literal 7978 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_draw.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_draw.ps new file mode 100644 index 0000000000000000000000000000000000000000..5cabd0ac12d47dec2d68e98b9c2c51168876a792 GIT binary patch literal 9385 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 Tk={N$_y53Sz`rhWe=_n9kPRo& literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_main.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_main.ps new file mode 100644 index 0000000000000000000000000000000000000000..dc6851a64298ebaa3322caaaae015bd7f75f72c6 GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_sec.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/pdf_sec.ps new file mode 100644 index 0000000000000000000000000000000000000000..b0290a65e29fb2b850fb67afd27f95f476591317 GIT binary patch literal 2325 zcmbVOTWcFf6n?gT#UWsDija~%G{i5(b?jnlWMMm$K){S<&uXWho!QPs>upJXd%rU) zOLiN#P(9e%*_m_sE@yN|_?-G~2xi?RIy!w#Z{NTFVJd&$(TP=6WgMNk#Gwl&a-0!X zEtTz&0!I!Tu4a?N$sye~CQ@xI6aIH9B=Yqx#?Ot9De7RlH12*3{^W(6t4vJ6ta9Rt zdXpMjT+y#5*ViYD+fQ_LPA7{`^vlKK0}5GqQaLp~Ah!?ullZQ*<}O82Zjd57@1j{5 zYtle9UZ;jhV~u~$>@-IyG)LpsWYTnuCfoXku`^(iN}ppq>CEVCRiG}1&PSH)y$|UHU<&fuluq>POt!e<)}1N!WS7l@!X$Ap5k%@vc{ZI$TT;DUzpp+#4Nl&+|= z3ja@TPA@Jf@k1IJcd7+p%a1=@UYw$@+kFID2jxJ;;4@-L=uvBET1uNz>nl?apsE5@ zd-}hnoGC#Ve01o0*b|Bg# zv;mqhkPMbVrks{4$C8}~@c;^y;&22o<$1-_Jvsr!AsEn-V+MYi;IXUfyU2RhMLgWF z&ftHb#(OA6bhi9(j@A|0DckoxLQ~S56eBsj<|^-MYt)8|bksc)WE_T0`bX2rOAT84 z?2?GsmFOaGRdR_(N0LJEs)Lbq%1ZRJ3!^PGGP=k5+(mVJjr)ZEy+AE<=UA~vxJ#s&avqHHS zE+&996(x~Yg7cb3iU6J^s69&m@bW%y9eg`EJZMttj_32f?`QrGZc)oj`*x=C{Og*1 zUEj~a(H2Abx~I#BDQ&CzO1e=2NI^Wgi#&=tz|?i>RRQW>5*@xf`;SzMtJ||<>0f}p zzQi;E06`{%45^)(IRt2?#e7j~1~b<8kj;FCf~<1uj8)4Uw!%CD{7Ief=zIF-`!8s0 zGJ_fsKdr4_0mKwCm#yRTM8K$wE;8B$`+}gm7jNIZ!RW<~iffXPY$Hz|kF9uZoOoa< z>cvPDs-KA!258k*xaI9_06k)bLPSx0jCW_Fz$Zw3^x1uOui*zMeS-VzNG`GO@F`#?tPAKyPsNBE?1hL+%L;Ue(Bve%n8e)0k1FYgcETo++6z&n z!2c=1=MkTDPPNUkk^TiI-@)a2^FVXsHp-exnwMJ;kVmt23W!2B6EL(gXar;lE7y6P zki~HDC5DT)7%K`kTK&dgb*H~AA0fND?JnU0Xcw5bOTH^on4uzU{Cl<~f|&;lp(kSo zr^Qb)69_jyt5)phn5*)$f^L%1_s3;`RVt|;N3G!wZpYsmbNRV|Q8UJoYbcJw+2*(# YgQC{w)v&7$4i3s}mXar8kFDna0&z_s1ONa4 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/pfbtogs.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/pfbtogs.ps new file mode 100644 index 0000000000000000000000000000000000000000..e14d57f34d5224996a67a11b5003c58fb0f13721 GIT binary patch literal 3387 zcmaJ^ZBH9H5dKVl#e6{*BnSlBs_p4c;t=g2ohYg}Rh9b1+4W{EcI~b0O~|4A_j_jS z%?qUsDD3)W=9y=n8Jk1G=gM^}Z{~HR@zoJc-@Th2^Y^)YzoN@Vm8G$CZKL*`H$jI9 zVYDIH6v*qK{X&fukE(+kz*wV$5j*V4Sxps|vG)S=`g^Z!p#uld2V>`q1oOORS!*ow zJR-pdHULW;uqpaRdFp!KxuAK+()kChh@={T?`@+)Ab1IC6(~3kdFf4r3&8)ZEA0~~ zMzYJ)M{TuN4c+y##uW6ADKuaTAkflKsiQJYNEBZ$w3nE`@7yb7ucS`<)`VajICcoK zTOCvDN>iiaV?aSv&{ z22n{wcnp2V^py;>Rtt^vYYS6zv(SQm<$Cbxkd~#1^)6VZlxGWN>A|`szxY9|h!a+z z*{uYODEbDetXss)yRSF59~p7WE*)ndc7WQ>!*Ql#s3Yqj0xgtE zSoyu}LuBLKP%$8sB>_7~1)~_@v8!g$&BLS%c)4;GX@qd-?!#XR5Q}v$+R9l}6&7F8 z1e-U-ry$KFVdl3}#ei+AdfS=VxeeMMU{kqdYXz zb7NTzC-R{?F*o!V@*o*3g<<+|G{O;Z%A(Vc@!$adqNkHTd6ejhf5+ea5u~7eQKwOv z!i1AHk3`jCUULseNS*6O2eKwD7=N=zy9;D;E#E)2p&w1$t}~Txf*u{Lsc|qaw$~E$ z06wMi8GJ!s_T516#Tm`xP6$uLlV`-^8mvGu3v}1#VIlP?vJ}-Xf)aZpy&r>TXevVX$qTQO^NGKHLQ?Ci&Oj#g3XN0`LM9(xmf6K3H3^1#eLJbM!Tue~l#=y>O9^6wLPA`}k-{OxV6o@Hl zGMq*eu5C17?oCY}(9$DZNnSUmI9wEi7FKbl%aviEC$TwR4(#j{-;gH8`2?k~ouAS` zlwfXkbwJ~^`aKO0^KJyQ8Tv!+G;2O*a1x`}?Z*QF=S{C!=5+r04YhqU48D><+>f#D z+0?}_^?c%dnAqB$%FvV>1_lu<|Lo{wn{~-#Zq}d~Ph8!pourMw+?G$g7d9r|*!wzZ zlcSXq&N9ipH|H&-sc3LRP%UzFgRad%$5_dDqHh;o6q(zI=B$ dCf{4W)8o=O8HHLmxX91@7H9$-51vHc{{uV}J+S}) literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/ppath.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/ppath.ps new file mode 100644 index 0000000000000000000000000000000000000000..f9ed3716e831c62d42478bc4356da38e3dfa37bc GIT binary patch literal 2090 zcmbVMO>Y}F5WV|X3{nV{QEil_aZw+7P}QVx8z_O}q6m=7YIjyklp;6$khL)M-}{Et zT5H&Dff|sx9L~IX^Jd5i;cscX-l} zR!zy>lVi_r$Mwsz$=QT%TIH!xnh9%Hx+8kp<}-bGM~l^G`r~T#D~PNtl`*u|A-8p>NPL%7#a-}JnqEkD)_Ap6 zT7{k(9EX;vf{njMHWhmz8oe?bQel?S#O=0acsdv<)tT|6GF3%gI_je9tY^u7Yu(>C z4^(PBqi8gHPc3IKk9@xDJ$Xye^VX?=WGLa98{h|<7(J!PJI72P<65f z@nX57d3FY(V-t=so$cfx1$iE<2U;r>Cn@Fynm!7D#%Wa1eDtktIly$U!2$H45%?4D ztCoJ27LJU0{~&vv;$A29slY~HQt+Esmp@{1G3>FUYNyhAN|3R9TqpZ0;;#slau34e zyMf1$QZ=k`qYlu#V-);=L`Wo#0tU>nN87fE&I7+%Re>(>0%6JhIcaf*v_(2u^G2C7 zJh=0s((-Jia^RmV5fAADiqLvR?qDx}M@xf`?+<)*k*I}Y|snB=(;4@j6E zgF?!heleqyMn~TsX<}R?(S`%%8Q?uvInUvVL_+ibCQ2nfpXdS?xaK{S&1)g0{czk2 zYcdX%<=QdokBc8bhBc`$fDCIg4q*Q!Q%dtMI!#lTWfBIhDeFx4O6NIvR)OL)M!6Tz zA3aDTHlg3;_0G2{y;J#ur$+`aL^_ao8NfTa0Qlh!Jo-wP<7hql9L6tIescZ+3`Von literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/prfont.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/prfont.ps new file mode 100644 index 0000000000000000000000000000000000000000..cbbc716e472b1199e00117cebe1d3a71b058863b GIT binary patch literal 4239 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 TVL@`CU(x*WSz72i??wLrG>8TF literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/ps2ai.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/ps2ai.ps new file mode 100644 index 0000000000000000000000000000000000000000..46f1aa38169acfa05a9b6129e440edf85954f047 GIT binary patch literal 22287 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/ps2epsi.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/ps2epsi.ps new file mode 100644 index 0000000000000000000000000000000000000000..d82ba168a063d63372c467ea099419500f11733e GIT binary patch literal 7197 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/showpage.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/showpage.ps new file mode 100644 index 0000000000000000000000000000000000000000..97a4789f75dd2926e0757e06cc4a255edccdee62 GIT binary patch literal 9 QcmXTU$S*HQOi$$k021T_X#fBK literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/stcinfo.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/stcinfo.ps new file mode 100644 index 0000000000000000000000000000000000000000..7394406326d33d134eed1f48968d1e0c06b05fbe GIT binary patch literal 25776 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/traceimg.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/traceimg.ps new file mode 100644 index 0000000000000000000000000000000000000000..9b9039449f5de9ee5db3ab801ae382f245082fb2 GIT binary patch literal 1673 zcmZ`(U27aS6n*yoic4V07&f+>_MrjCuyvBw#B74&5(0sunYptgs+AOdcs&IF_nxbn zvG>86U#nvZy3UDP+UwNQ<`aEg z-`uP>x8LZ~2U>5w(Z{RJI}q78QaSZ5;A|J3cH&z#4f_;H*+EEpXQQsQ(P^L#)2U}_ zP~#t&ZNpKB=BVwKbXtvQvTWZoRt6NQ=p6AxnQpRCfqV|$MV8a|F8qu6M9P>IWotM_ z>Uji_n>afB{*J={oqqVAAZV9k0-?s_mPtJ>74!*Q+^{a}plT56io8+yUw^s0x}wDQ zX-wRz9RmCO_aE0+m(X?lgh1P%ETR}(29`jNT?WxYZAClR>TW<(Euwmg|GCat5gLP> zH3OisZQ)(R0g|o6*}_$X3KOKyYVbk*K#TP5&LL!nqBH?Ah$~qEwAtE#p3rC+lo6)v z7M3Gr>kvGQ0#j^`Fs6)aCO_W-SeRy4~x0mM&VHPSnBZ=;&xk=Yo7O3qqA%E$HV=s&U4J z=tbV!w^T(=PnGZX7%pj>7I{e9?`f(L-#0xFBxkBb4>-sP)iS2mWjI&u@eIh@Tg;OehI_uB0IFx4g33u_*_U!JtnN~;D5#27er&f1N`0bSoWZNyqFH7r#ubu8go;`x^4amAi`{49E z25xAr!;-E)(5H)=n~Uq)&-CFPU0i>rU$3s;AdqWIDu$(X*xS0@O1!JO=012*W{@Cz zYrLN8PKSY742LCCjXwSo+0^VM(CD>UkPefKCezkS#!QD!N<1^3Fw=GHl%qbn-g=hZ z*Vf%(JdoMydgob6%jbzGdi86<5ED{f)5GfXW2$R}#rhcph1P3svCCfDGr9$)8DJ;_n z@Lo4jb!2;XDp&{O!9>p1+(aNCZFFXV)t*Z!;8kQjmr2|Avqsn9924;z%RA_{Dt1s9 zilz?O*1?m#VARn$HUY`QG;O$ z?^nFSJhfn&GfE{PjiH~JxKeK6zk-R7J0Dk}Gp-O#qU|D5CBy#-K`^0^@cfFB3kf$z zuR2s!iK|Qz#di3r#qlNDUbU2Xv|aQ|Q75>_6Ut3VwT+>N!O{X^RWCCxx~J7_Z>g*k zL943h+pGFcj*m3pIh1xaE#r&M&XM;tJjHl!i#Oh+v?QaIMABiF^bn_*7`p77J81*$ zeNZ8KdYRcI>eNee%I7i1_B?nZ_Ydq$ctd4jrkZdoY}mw}!q79#kb7RB;H1G{D)Hck zPRYkPy*Q=s&^V@(teM!IAL#XKsa62XdHPsZ@B`Pmp zJUzm|&n&RL%pa`_Pc5{O?Y6LR(;SR%2l;Pk~|t~UdSCLM@Twy;8Nv=>7S+~KVebwyYa|R-()YAW5|(Gx_qe{3LooRdnuatq%l@kGACmQExfsyQArxIZs~XyK zHOc&~(WI59mk?=6|xcO!Pe^exW>DkaMRe@}M zu+0jFMv0Oj$t2GPe=J(>*ghrm*U0J#r&7z~9aO?jp>0N46Nl+a-Qmp7S5+DxgZn0Z zMXj_%OqWXcNkOOjo~7?Z2rfT3k_)<4xOco=u{BKV^j85FnE)Z(bEsJ5RpoR#z$*Mn O5bIUd-ch=D=>82>eyAD% literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/type1enc.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/type1enc.ps new file mode 100644 index 0000000000000000000000000000000000000000..8f722ab605da793a1094319408087f0ff734d03e GIT binary patch literal 2682 zcmcIm+fL(15Pc?JQ9?oky9wk%2<$Q=WiqfrI|39~jpngqSL_zH+tb|!EX2R>skU=r zc4i+|S{{J)o~znLj(tCQ5z{_KDTXJ^B%e2!?EsW{dJT@;>eX|-c_NI17ZE#2v~s#gNc(Q%O|CtqjGGpR6zXjJNo6{!GG(c(Y-t=z^e1B< z@ZOWkvMyCc#?Dd7jWdUMPSuW_A>jFBwMQ_NFy|%wdlNGH5h9nCnQp5^rX#retRqI& zv@ZqhwokhUp{8X8USjr2XRbl`;*o8QI?MVeL{MHikA$MEikZ~S@IAeoU0spqXWuYhs2qgd{`K+m)eLprZ#+<9RRJn$Q^A+GZh8$xOKM%pO{|wS zsER?=hW;OQPM6RaWQweYtEz~BUBnh87eZ$YR6#00kUm==ADnO1BE6d%kZf=$O#lvD zS8l-D3R;Vv&}bPPgG{lOESr=I1L6S`GKH}NFyVQ@RIVlg$-x=W5;Ki?>EO}VB@fVO zho!^QEe7E(3<71UNGg>ufhiYqMS5MoCxC9CgEXm)hlnjN>-d#AL}-lcl!=^12G<;f`tkj^5M${+xa#EQMcaJUl%f<6$_Q49*T@Xz64;9-WAd z=(NFL@^gfa6B$)B8uXAVVtP){7P(3a?IAN=O7tVkTq-ZNeL8=S%JCuY#$mX^*-Xxc z<1y$LfC*gn8nOsmsXdFUl7{{MWCAJ6P*Rg+k4D4E$!U8BS*4&^rgkvi;0Gr#5G|od zS+x5?N*J6_W}bS+ina*Wt&>o;1l~$>wADQHDi>vGgm9%PLCz{)Jay<5?vO&vOOb?g z=auKSjqkAWiX`;w>Sxo-?flbu!B1$eVBpPNwU8YN3jlc0NCXxy+O4sc?S}${hjz29 zM>%8|MiZux=|*Oj7*7acyOx3gLC>lz(1+b*8o$^ouvtAd%L6kGnao&Wkthf3g#0(j z01_1pu?7;3QjQ*ot;Mm4qRPsD6afoa{vv%EeWF#?9*USqP`ucP;YOM;*`O?RS^>c* zIDsZTLeF8-w%)<-(7^`1RR}z<-3Qled^TFsMiY^E*>L*0Ei(U&(^km;jnhw!*1v)A x|KgPB2H@gfC?NJ$*C|W|k^ogfep^U37`3G|7)i^o1T@S5v<*$aCCYE``Wtb^Y;^zt literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/type1ops.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/type1ops.ps new file mode 100644 index 0000000000000000000000000000000000000000..d300f842be5bb0426392003932f6bdd05c2380d3 GIT binary patch literal 7681 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 Qxfd)=2&N}V^I>-XAFc^x9ZOKOB7IlR~w0{{D- z(>FFHCOd-#)(;lh?5;Xhb*j3$5C3*>D6flhTj|xhkSC2v$! zR=QU8bHQjPW@0Uss#SHb76*qA@NuncS?Wv)e#@k4q*w+K|6CV!Q>T?Ko9AY>mmPiJ zx`nQrO3&LyE#yHrYq|bae!Kke;qv<9@AB&#xxD^e{&jWzGjLoNlC;gbsGz&3x|MiN z(o~gAElIv5#Sak&ar?PQsmhdqS|}`-=(U8$vMNh zfL9SzIDtHy0}sX{TS(nafgl$cBnc3M`j|5y&AYY&Cp0L7VFZ(_iPA#O3j`jH0#Yol z;TZEiS5o>!05}MPx429rT@DOVoiB^$Wql!^8nO@{Ow67kr*cx^ncN^fW+pvAH?;vS z&{n0|IDVm1nwC^p2zj6CWTh_fFoNEtejGDp^3@SiAZ_3mBbAE(ojmGIyOA5J8ULmi z&H7;Sc2+*{Nq#(mtCpO{G?BNn^d1Z~qBx6hU-9v}-ON=ro^A6cc{~tVw52rLQpq7E zC+U|9vwQ*>9CZ^WP^eaj4JWEUWQtfU)T2x)m1KSpY4cUeqQn}J=}V_upco@h)cw9# z=`_j4AFX7od@?VJOo3ERb|*vRMPG;$bG1-#^HQsdlKDp?CM4~U5c@e(`3hc|3TmKt zi(PELpU7x(gc5-Gp*r3tnG-Fd9#gKf7Ei-d5LmZ!S*fs&1_w7d#4{5HkJjO}vFRf| zl(GFo{oVi!GS}b^U_?#>g0Ef7AWHzqkS&^PHJzPG)`V5l)0eVB+A&(F1`3IF-diF> zFXwbrZyX`?4zs`X`uR!Bhw~}lAlkd@)u|iUU2Bz`?kO=2>#MO-P2hF_Jc(YatR_pl zzk$IgrYBMl6!h-B%(5a);NQQ?8;$(75sC!a=on^!8h4`}H)I;kJd^QMsscjj(4uV^ z3~VHSF&L3V8bjy)fS4j_JKOBjspF#m9o^lXob>SRE%{N-+@kK6i7?$^ZpbLFb1&!? z*~_zGXr!l26#q+b-^V7hkIoPSvif}76RGu@c$*Zyz~7p zg7AF@xEe=F@NtJfG-YSVOEwF8FQ{5ObN5qsz&9aBJ@c@KI4T((qr0PF6P~`>3hj3u zyPoM2D)d0fw=_m(kB6oHuVtSoh#|spF5D@;t?(om?0}z{1yKqFzwY?2_Zq!~$0wO1 zD}8@}9S-e5$vnl=*mxNYMO`Lno=r#LKC$%BfD>*QwhnRsiwhp_|Sx_K_7X_?9+(NY=YH;5!@})k{W@ltLnjZU}7t-LY zDBh;6vDj}vq0{Sda_+>VH;yg2;%LFb%}ir$>U#LC&Smz zuxAF7&AEnpcTJ)v3HF zKVPivwmC)r$RhIC6=4>?A$3lSybI3qnc+oR2%X*;w8}e~-M;h6yDdMgLBS&KhXjFH zE9(Y}G(htn@lbbmEI%T1QLJo<00C8=3ByC*yEvL z{>8&u<5c1ghZFZ;ige)nArG=XUf@dVjubowZ`@hZvH@_r-G_dQ7IG?P#nBEFGPe;p zTevNl@O|EQE%%Mt8qgP;gEW=9Be6Sg?&|`as0z5PIEK}S#5)Zl#@Si63Q3JkWSO<~ z+TKl=Sa?o3=uvw2Qq#xSY#n55zdDB^>&4j`W=@W@(x?hSq#L;_(qyKm`N~RRh7k~p z`GR*YnPA-9kj=9s|6-4dUP}O-cY8`ytNt5k@{vAzi1083h(oQiWhjC^5Pk2Gt6qc8 zuJk@Pg&~x^aCtBwLw_~_XMF^WpHa8F+Xw6X339s$Te-=MKOxY#6HE!+2hl`Zi~H`= zH#iX|RB~yKi!AH}ie4dg-1N>^SEiX5FI+L3x}xd*U}%ElHA+J0edsT1me=fm9Rkwo zMYqN8-8cl2NvKqArLC<#7;bQ&xuqjcaC)>A7~sId{+$MAyzE!#Z(V;3Otm<^YeT?#B9pYOD)jp$ rE*lr>o;RPk5Xb(&Tu9d{{bKGg_hu3Mz*_Ff>QSYFi;-S*3HabY7>6r- literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/unprot.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/unprot.ps new file mode 100644 index 0000000000000000000000000000000000000000..e2b2ad71676f0a867786a84dcd3b0d8574b5f954 GIT binary patch literal 1897 zcmb7EO>f&e5WM?WED8ij0M|j@tw%p6EsVBq;P{~k&cS%h zjvO9YFJ@=6Gul-qQfVv`o{b8Le0jupSNWJ?5loZ%=mC6mAbHxv6wE#+)^sqbqRl7z zyxeY=o83KqdP~dAJ-uIVu0dquN##`efV+J-W#U~G1ve>@a;=bTyo+XUtVu1EI8GH) zfj$0~*%cgxXpY7`kV*3%O~MWpBQjuUR`uG zl^MQhPRiKWD}3|Fp+%id`wJte&M|>dVY6mZ$526k0v9!$4>hW4g}S1~Dm<5WtM!@^ ze^0&RPSr5%_P>8WtXHUOcS4|tpd74deFm05_q~Rqh1#5IuT9y)Dh;bn_P^9Qb3$W~ zceVvob{g6h98j_oJ2g~=sSrW>Y!5!zAJrngTYH%7u_;Xe58_-RfHp`Q&=UqNgKd~8 z*}}4?>^zKzP+*GW2w}SQo~aoo0ptJ%wIt18US?Qco2d2}3)z;=L}wHg7hh$Xx}gD9 zjtmDoCoySG`h$E<$Y%b|#cT9wXd9V|UE45SArh+2J2KJKX4H;yX>4QSTAL!#p}T8F zKj^XvK6QJeW6kA^e#-Irt!0JoLM=(AcRZQhD2f`d_2=z+cXM}tx4ZdxyDd%^-M!n-&G0pPf;9A^LMKX{0PL$FXq`gQf50Q0>RN5RXfjp6iRH3Wl ziMlD-MxM=%)$RGgxGpEK($X#qx*T4~dZp1Ls2ZT6Ext8RF{9Nq%=x|+;0&+RfFt@3 z`bmC3A9fdiaz7jxrH-gb_Gmf1_(*4xJ?u*A@P5i;r^jt6woa@<|6FD#a!OnLM%I(6 zxae29PRKuxJCZxnd=?>Gq08Q2=tNcw#FjA)-9Wv_Jn-K!|3l)_uorkw0-n?UA9FB* A#Q*>R literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/viewcmyk.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/viewcmyk.ps new file mode 100644 index 0000000000000000000000000000000000000000..a6b6e85faa77e1fd73e14ecae29329a45bd48276 GIT binary patch literal 2159 zcma)7+fE!g5PfF8qF#_dVup*7NV!UgAQo*xB0?0QY#uz_)!i0u+xRlgXqA88Q|@M% zM0r@Q-FCTr>YP(GyM(VZ=hs2EU823SeL8;m@&%n5RoB|mxlJ5=(2?VUuxh9TMhYA` zthipxc4xbE)9FZ!Hca^MRY>F-y69X?u?pI!F=}f;;%XgJ(94{-CR~*|rp|fBgG!_m z4I0-inR4VNn*%~5uKIR)^Vg@ZH*|V+OW#hfuTQUTZUODek;{9{k zosD{_jZSMMN;qNH&N4L!liMro^L=Jpag+jb)V38Q*q4~0V}u1+DaA)gfJ{=buCh^q zd=B14mJ@>ucZf)&48Uh=I7Y%PQLQ6ICnXO-CtLye*W7RzK?#y=rY_iWP=-F|rO_3A z&=mt_0R&nM)tr96J>0*9X+QS~qLpuc73IE(U_F zs|)4itXTtojlw6AYM=&HxLMR)KFPOrRx#M!6Mx0hEJg1DC}ov4pIKyBN2FwybYJJ!JjTqrGNP49hJ#sZ@6ETbj9MpLDSmMsk&Mv)?VIeHPqc?-DQ}=E|0nKOhFP$8riz{KS z)pmv&&2C>vJ5NejD$gKE6)u;V=qD{TCa35>wpa0aaG1C~ z4NCfIo*WMh~KTzL$$- zd8Id9QkEtye)lYb_r6Bpe?@Ji`FwK-)1@?qw9Z1t4W=l1?;kt4wj{-2;zhgo)8T$S c9y@vd{AhD(vbbQ}VjnC?DPm_ljf%|v1E4I%R{#J2 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/viewgif.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/viewgif.ps new file mode 100644 index 0000000000000000000000000000000000000000..796ac35790ef42346827cb54a40bb0c68a6b5a8e GIT binary patch literal 4687 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 literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/viewpcx.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/viewpcx.ps new file mode 100644 index 0000000000000000000000000000000000000000..09e0e2875845628b2054a229a57c3153f2484de7 GIT binary patch literal 4121 zcmb7HYfs!p6#bn27557&RItmEmePkJQAksyghYfYjcBFL+GBgf?2I!rUb8~^?>+a9 zy(~$pwkQyL9`|wXxexCUe$ITm4yJAr?Vjz?{QK{Z>C~#SG>)FTq(d7_)Nx8!wIl~4 z1s!!*>2f;Rne5PYVg+z@Bvie-xc>F^Z`X8s`JUdLUR|ADUcZNFm!4FY8XpM%Hj?qI zibA(Z3~s%PW?`&JYY0lX;nv=1s&I_87ueSyI_(M_*?}$^SFb95IE;oG{)lD=p-(@2b9gcI`yUWrF| zj9ts{m27CERvO{g4x(za(qjGEcfivlEWJt1wy_K;?-t6@t@Ayt02MQQr z^aVoM_|BG0G(<#Y7CW_s5ofR8yuY}7!4@xBrRV5F4y<-{+#lc=bH{m*KntYe*6_aU zVq)R#m@xp9DFHbM1zRz}m>dH7>f)c8Y zfS~PCz5qp@e3!Ns1anExSSYK1gebEmib*mEll^R}Sje&}e*Z8@7ef|80 z2iLA(Q{k7474!8+Dm@$ql3;`QwCrp$2SCR$S6PCHkC_fFj7kZ@C$n0oqbK;;p`WHH6sNzDi7+Sl^mI%*2X#Q?h%Skz6FJkuJKhU0jfJ(#R?UW zzfy{8TC9_fYyz}r*Glic0=Zxj!Z+}YYYInwG8;IRLEz%dtbR69jSkrI`Qah-6wJ`t zI5u!r@i9OkXo;t?O8Ty7XgBQT3}FP=$19jGobOz#idzYAgEbwdA}v2tMf0N*8sPcF zWfsLMP`ac@4Oiw8fN^utwkVz~7h&RHjT`;Ae8S5|E-fm_W%x^FaSf1+@iqX}JpYbvmB^w^kQDqmnQAr?CZl#)I zVLqtXoO}vW*&%3rL5LBPN*$U!csl+HGw>oZGHpP%8ugjsuQGF@PRzkAeZ$6MHb91m z`^Q^Ee+o!XXjbaNmzr)4DZ_wVMriUj{N|sJpJBC)4Ts{9oH-o=2K;_eh^e%V8T~AG zD**o&{gLFypTj;srX^ZYMjsBLQeo6mcJgG~s(uo-r}_j$JwGEiYn+bZyq|11{% zZbMcrKmczV+_JLtZ*`7y9Oag9SuA#p!F*b0!L@-dTx!X$H zr`YPkRHk@{(X8jv)k|&QH2+Q_bV7y$B#8k-&ZVD=oKhu)8LJDhjQgH0yMRs$U}xxQ zB8&fU#t&tFEOh9O70ocpoacN+833WjN{2R@h2D&HP*6o`<^D?6qr-5IRw1bM7UXjh z7sj58uY)1VtGnE#xw7!|D(ga=pj(ZJe5fFB@Cfgz4rOs`9ie-hK_03c26I17szlJ!u_9=9Zzw+=IF`e8%ySDhat5Nt|!UT2?I(9B4zf|EC(av^Z`A_@~ zQx{A?G2%HNCJsR1p4IqPlzXyHwEJ6xUq4VC>EK|zjL!gR&fIXP_$;95boz(eL*Ahm oj2B5y>**IRF4uBJp$wp|^Yi8^Rkn-GgGFN@LL77DhoQsT->MZNC;$Ke literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/viewps2a.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/viewps2a.ps new file mode 100644 index 0000000000000000000000000000000000000000..0a8289cf38e60cb73923ee5dc1f4aa6e1901d467 GIT binary patch literal 1428 zcmZ`(T~FIE6n*cnxSE6nQrE&HH1XIKn5wZ-0n^5#W8X9$sqOhXEfLy(-*G~r)c~oq zv9HfPAJ;h`{7rpmqg_^s4yQ+Sa&~q~lUf;L9bLG@F+?jYBf@G;U7=89;kafq8XOD` z=&rItrLCFp9aK!@%NLBVm6s$s+K~F{E%?qxK4+|?Xp1JXp^Z%y&9CX_Dz364kB|;s!5fP=uSPXc?756s>Q7m7)77gXm0cNGoq_*&-@~s9xiLYjTE!!65JI7Ep~d@J@4t zWS8SKa227#ggj>j_+WiUOP<}8N5~$Fc?gh!408q0w$?_>gvH2U8DZwrnPpGec?1um zz!ZlC#&pjGQ`p`FkOLUp%Ev73%K(q(R^S>W_FjePO`}1tXer1iCED74)}1H8(Cez3 zs6722&Gh>F;_BiTBJD32`u@(bA&Ka)FN_7GQo&B+h&Zt8GN6DYqM+;U?Ltl4j9>^fI2MXi}m zsMnTTVg6VWTp8^3n(npg8o=^Fy{GP1JM@gZ=3D` M-Mj6K}5eqxk{5X$W+!Q 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 UZm_1+Z5@?{3z=?uv<+|lU%(Ln*8l(j literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/winmaps.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/winmaps.ps new file mode 100644 index 0000000000000000000000000000000000000000..f586e54e7cb8d1f8f2ec8740a0fd61a69b4f71c0 GIT binary patch literal 3890 zcmb7H{ZAA-6#d!#D{eI8L4pnoYUDjN*@tMz^8o>j&!{2Yna*xQrybi4%ZBj3zjNF9 zSP_hpFw^PB?YZZkd)r+j{O#F#>C|ic=m~o-qPgo6a8~=_y#}@Er}+~t;62d4J*+Wc`obVNth*rtgZ2Cs>n<=J zNNBxDjnUG3n#*L&V?QsJp1dXSxo|3AGq`XfOV|%KBD#x_w@ykrZl+r0F!f&L5~yjN z9eCJ&J=};sl?~!j$RL#ViQ)ZA>6Y-bUfvT3su~{vDA!FPN%T|MdTX57FxFM@YRS+A z)mq>^Io&%rpdhb8intLK0(Si2@An6L@at@_Kr<%{Lb0?BY_aL2GC0l9HmS0ODwhaV zflv+Mze_or1YwXhdI?jFDZpJW9b7gX&H}6=s33uLHU%E^ulT~+tt^6U(a9n}4E!d~ zfVGZV2TdqQ2HglIuV$19vatv}hyqe9_8=yHPbJk|CIB3afh}I9kS`;AE|jT6?Vr@1 z9#bVQBpzr_WmrgQ=op!C8Z(2SMz8@`ag&eA6n5cZA)gB;a%3Td7?RO9vQ$P!gkfQ+ zojX{-&e`Pf^kBa=IU+hZJ$f&oym8k@+s~epa84wdU`o-{G=BbQcZ;$oaIcUhL>@4} zojWv+?~<-*JM!|~EUIlyH!Q{x)?xdj{eSzNKEp2+7B@m*5GH7y2nXd(u znN6W>$tZ|kVDEnU4HQ#L!6SX&&l*Tw0Xf!lSe7}f<;Qh#mkgxX1-M8JL;*8nUs6J9 zYgqzv$5ZN?LR>3-?I4Vv2Ixk(qGx1hn|7bmOd=o%?4{6_U@9$9T&3ReJ1;q*;TVpZ)euFHk#G(CUzz~%VF-((EKnoQS8942Rk~tvqZ8CbeGx!5+f2V zBGtZa`)=B|2}-k!4%@eNMJX#~IDayHRKla4<1699q2O5?De8TAwVkP4Xk-Nz895ia zjE!#%l#9&FAgA@x}GEGC=PhO6IF%Rv7+o$&A92) zt7<3{=NLc3VTJLdO3v^qq~@?8Z%ptoFQ23}R<1?*ovH^rr2c$^Xp2qyWR7~}tdsr_p6~|as*iZ>hk6Joq3l1-A zBiS7!3~Kvj@NHpz6Q_aLJ_McBuc+}TFl+Py5oPykXCd_lS%R{o3=X~kUt%eJ@L-Kz z#v1n;=fUa-y~M8J^@yt(>L7m*VmOaQ5M0avbxa<0=<%4gBGuP0=7Y#D{!G(T?L?WD zS8<%Wx`?zMaJRxj_3G;;kH@`s01B&#Ypb(3H&AZrrZtB7v8J}4s+8I%k)|>Wi?LeV zBtEjbN`Qv4&OBwfx*0HEM=JOz@vq^#1V8dMs7r(Nn2CUaivbHGOn!HMT^KHf*8rPf zM<3Xkn-=R9S_x1{qsh`x*DEW zd>5dtMCJNddPUb?4AI80_jMYJUQ(Rik~t<^ZfX21p0s@I!OAx{vA&rsutV#cFxB~U zmn$(m>tD>xUtdfI@4JX3mQO?RWBtD+#u%wI9q06qXY~luJ3&Q3dFNXR@&*?m+^mMX zfd@i%q?K-x0^eTH|M|tE?d@&i=QDopY{lmeKc8-Wg|9z7&=I-O{diB872$tsb$__s zF?obKz>?!j39j+O&E$4kt}uZc1g+j8?lQZEpDqSJ8XBZ8GXtSh>1+pyZ`Uw^>k#4u z8C;^EL3CI_(_HZ$}2S$JE`duW- z+gmVtQ$5eWg`~TJFp%EVuM-mrh67YRE4QySgM5FNmkt_!xx^n2-F3D=z;Lz}R(kVC qAR}>H@ZCH865w$EHy+ct^M=aQM5-n$Fd;K;wU| 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 aPX2Er(!DhhPM%nrEL|oM2F*+NqW=#L8LEc> literal 0 HcmV?d00001 diff --git a/compiler_gym/third_party/cBench/runtime_data/ghostscript/zeroline.ps b/compiler_gym/third_party/cBench/runtime_data/ghostscript/zeroline.ps new file mode 100644 index 0000000000000000000000000000000000000000..d4c77ae352c606271605a9bd612b973dfbb00e6a GIT binary patch literal 2609 zcmbtV(QX?z5PZL{*cvd90J0++Zjn5yPFxrb6vK890W*`R0I=-AO5 z+p%UUvBrP3Y)cM8v<=!WNXJn|ldyHoi1b*blxN11%yiir<*8|X;{wa=Yv-S^A4wTA zqShJ?fojfR0rv&f1qzO!=i2Lt%aFo7&w(FZVsuE68_!I4?ab&BP@i?lU`=l%fs_92 zOc57q~{h|CUuG!3I%3f3xPN@J5n z&l`g(Ws~+(uq1UwXP1PcnJsg8sp98da(LqBvK~^kycq1429rU+3(9Ox=>|m`Qh|ta zt<+L3T?Dmavb>g4nQ&$=0ca!m#(CbsJw)%Gq;I#m^?;b5*!U@A4mkjNZFD0N4N-}{ zTBC85w1a1b`48G9B4s?JRwxZ)9;SB5ei-U1k;3LcYO=Li-(*%?jS1g~xe<(tEOq>- z0|pPKH`c_jJ8zcGIFB_uSevQxY2h6v1R5~OT8uHmBSuk&CzwTyBu+#gy;>Jyp-s7Q zO=_{?0z`&XUWFN-zu(^Ue<71GE?$A#`U3oqskSvp$p5Kv?TD)dTDnBrmbyX%Z-nZL zv?o|DNy5oZBCPN`0>E+nyLg>{n6t(@?loDNbxPU$ye3dlZ4oG?#yB%)> m!10TiJX~J-vOkrSIOt=fz4dyI>Pt6}e$Pz-e^8BDaPcq3j$^t2 literal 0 HcmV?d00001 diff --git a/compiler_gym/util/runfiles_path.py b/compiler_gym/util/runfiles_path.py index 603c5acfa..4444e7e0a 100644 --- a/compiler_gym/util/runfiles_path.py +++ b/compiler_gym/util/runfiles_path.py @@ -55,7 +55,7 @@ def site_data_path(relpath: str) -> Path: elif os.environ.get("HOME"): return Path("~/.local/share/compiler_gym").expanduser() / relpath else: - return Path("/tmp/CompilerGym") / relpath + return Path("/tmp/compiler_gym/site_data") / relpath def cache_path(relpath: str) -> Path: @@ -74,4 +74,4 @@ def cache_path(relpath: str) -> Path: elif os.environ.get("HOME"): return Path("~/.cache/compiler_gym").expanduser() / relpath else: - return Path("/tmp/compiler_gym") / relpath + return Path("/tmp/compiler_gym/cache") / relpath diff --git a/compiler_gym/validate.py b/compiler_gym/validate.py index 4b51b8792..15134d340 100644 --- a/compiler_gym/validate.py +++ b/compiler_gym/validate.py @@ -12,7 +12,7 @@ from compiler_gym.envs.compiler_env import CompilerEnv, CompilerEnvState from compiler_gym.envs.llvm import LlvmEnv -from compiler_gym.envs.llvm.datasets import LLVM_BENCHMARK_VALIDATION_CALLBACKS +from compiler_gym.envs.llvm.datasets import get_llvm_benchmark_validation_callback from compiler_gym.spaces import Commandline from compiler_gym.util.timer import Timer @@ -129,9 +129,7 @@ def validate_state(env: CompilerEnv, state: CompilerEnvState) -> ValidationResul f"Expected reward {state.reward:.4f} but received reward {reward:.4f}" ) - validate_semantics = LLVM_BENCHMARK_VALIDATION_CALLBACKS.get( - state.benchmark - ) + validate_semantics = get_llvm_benchmark_validation_callback(env) if validate_semantics: validation["benchmark_semantics_validated"] = True semantics_error = validate_semantics(env) diff --git a/setup.py b/setup.py index 5f2ff147d..06a58aa44 100644 --- a/setup.py +++ b/setup.py @@ -73,7 +73,8 @@ def get_tag(self): "envs/llvm/service/libLLVMPolly.so", "third_party/inst2vec/*.pickle", "third_party/cBench/benchmarks.txt", - "third_party/cBench/cBench/crc32.bc", # Needed for install-tests. + "third_party/cBench/cBench-v0/*", + "third_party/cBench/runtime_data/**/*", "third_party/llvm/*", ] }, diff --git a/tests/BUILD b/tests/BUILD index 5e94bd9ad..1545c2dba 100644 --- a/tests/BUILD +++ b/tests/BUILD @@ -53,7 +53,6 @@ cc_library( py_test( name = "validate_test", - timeout = "short", srcs = ["validate_test.py"], deps = [ ":test_main", diff --git a/tests/envs/llvm/BUILD b/tests/envs/llvm/BUILD index 1cbaf04a2..5fe219336 100644 --- a/tests/envs/llvm/BUILD +++ b/tests/envs/llvm/BUILD @@ -38,6 +38,19 @@ py_test( ], ) +py_test( + name = "benchmark_semantics_validation_test", + srcs = ["benchmark_semantics_validation_test.py"], + shard_count = 4, + deps = [ + ":fixtures", + "//compiler_gym", + "//compiler_gym/datasets", + "//compiler_gym/envs", + "//tests:test_main", + ], +) + py_test( name = "benchmarks_random_actions_test", srcs = ["benchmarks_random_actions_test.py"], diff --git a/tests/envs/llvm/benchmark_semantics_validation_test.py b/tests/envs/llvm/benchmark_semantics_validation_test.py new file mode 100644 index 000000000..e3fdd784b --- /dev/null +++ b/tests/envs/llvm/benchmark_semantics_validation_test.py @@ -0,0 +1,82 @@ +# Copyright (c) Facebook, Inc. and its affiliates. +# +# This source code is licensed under the MIT license found in the +# LICENSE file in the root directory of this source tree. +"""Integrations tests for the LLVM CompilerGym environments.""" +import re +import sys +import tempfile +from pathlib import Path +from typing import Set + +from compiler_gym.envs import LlvmEnv +from compiler_gym.envs.llvm import datasets +from compiler_gym.envs.llvm.datasets import get_llvm_benchmark_validation_callback +from tests.test_main import main + +pytest_plugins = ["tests.envs.llvm.fixtures"] + +# The set of cBench benchmarks which do not have support for semantics +# validation. +CBENCH_VALIDATION_EXCLUDE_LIST: Set[str] = { + "benchmark://cBench-v0/ispell", +} +if sys.platform == "darwin": + CBENCH_VALIDATION_EXCLUDE_LIST.add("benchmark://cBench-v0/lame") + CBENCH_VALIDATION_EXCLUDE_LIST.add("benchmark://cBench-v0/ghostscript") + + +def test_no_validation_callback_for_custom_benchmark(env: LlvmEnv): + """Test that a custom benchmark has no validation callback.""" + with tempfile.TemporaryDirectory() as d: + p = Path(d) / "example.c" + with open(p, "w") as f: + print("int main() {return 0;}", file=f) + benchmark = env.make_benchmark(p) + + env.benchmark = benchmark + env.reset() + + validation_cb = get_llvm_benchmark_validation_callback(env) + + assert validation_cb is None + + +def test_expand_command_vars(): + assert datasets.expand_command_vars("abc") == "abc" + assert datasets.expand_command_vars("$BIN") == "./a.out" + assert re.match( + r"./a.out .+/runtime_data/foo", + datasets.expand_command_vars("$BIN $D/foo"), + ) + assert datasets.expand_command_vars("$UNKNOWN $BIN") == "$UNKNOWN ./a.out" + + +def test_get_cBench_reference_output_sha(env: LlvmEnv): + """SHA benchmark prints 5 random hex strings. Normally these hex strings are + 16 characters but occasionally they are less (presumably becuase of a + leading zero being omitted). + """ + output = datasets.get_cBench_reference_output( + "cBench-v0/sha", "$BIN $D/office_data/1.txt", tuple() + ) + assert re.match( + r"[0-9a-f]{0,16} [0-9a-f]{0,16} [0-9a-f]{0,16} [0-9a-f]{0,16} [0-9a-f]{0,16}", + output.decode("utf-8").rstrip(), + ) + + +def test_validate_cBench_unoptimized(env: LlvmEnv, benchmark_name: str): + """Run the validation routine on unoptimized version of all cBench benchmarks.""" + env.reset(benchmark=benchmark_name) + cb = datasets.get_llvm_benchmark_validation_callback(env) + + if benchmark_name in CBENCH_VALIDATION_EXCLUDE_LIST: + assert cb is None + else: + assert cb + assert cb(env) is None + + +if __name__ == "__main__": + main() diff --git a/tests/envs/llvm/custom_benchmarks_test.py b/tests/envs/llvm/custom_benchmarks_test.py index c162dedc6..29d5492c6 100644 --- a/tests/envs/llvm/custom_benchmarks_test.py +++ b/tests/envs/llvm/custom_benchmarks_test.py @@ -18,7 +18,7 @@ pytest_plugins = ["tests.envs.llvm.fixtures"] EXAMPLE_BITCODE_FILE = runfiles_path( - "CompilerGym/compiler_gym/third_party/cBench/cBench/crc32.bc" + "CompilerGym/compiler_gym/third_party/cBench/cBench-v0/crc32.bc" ) EXAMPLE_BITCODE_IR_INSTRUCTION_COUNT = 196 diff --git a/tests/envs/llvm/observation_spaces_test.py b/tests/envs/llvm/observation_spaces_test.py index 3e66cf148..0d9cb1dbc 100644 --- a/tests/envs/llvm/observation_spaces_test.py +++ b/tests/envs/llvm/observation_spaces_test.py @@ -242,6 +242,8 @@ def cbench_crc32_inst2vec_embedding_indices() -> List[int]: # The linux/macOS builds of clang produce slightly different bitcodes. if sys.platform.lower().startswith("linux"): return [ + 8564, + 8564, 8564, 8564, 5, @@ -284,7 +286,7 @@ def cbench_crc32_inst2vec_embedding_indices() -> List[int]: 213, 8564, 8564, - 5666, + 8564, 204, 8564, 213, @@ -294,7 +296,7 @@ def cbench_crc32_inst2vec_embedding_indices() -> List[int]: 8564, 216, 8564, - 5665, + 8564, 8564, 311, 634, @@ -318,7 +320,7 @@ def cbench_crc32_inst2vec_embedding_indices() -> List[int]: 214, 216, 8564, - 5665, + 8564, 8564, 634, 204, @@ -329,7 +331,7 @@ def cbench_crc32_inst2vec_embedding_indices() -> List[int]: 205, 216, 8564, - 5665, + 8564, 8564, 182, 961, @@ -436,17 +438,17 @@ def cbench_crc32_inst2vec_embedding_indices() -> List[int]: 8564, 8564, 8564, - 5666, + 8564, 204, 8564, - 5391, + 8564, 8564, 364, 216, 8564, - 5665, 8564, - 5665, + 8564, + 8564, 8564, 205, 216, diff --git a/tests/validate_test.py b/tests/validate_test.py index 33b1cbe6a..159901059 100644 --- a/tests/validate_test.py +++ b/tests/validate_test.py @@ -18,6 +18,7 @@ def test_validate_state_no_reward(): ) env = gym.make("llvm-v0") try: + env.require_dataset("cBench-v0") result = validate_state(env, state) finally: env.close() @@ -37,6 +38,7 @@ def test_validate_state_with_reward(): ) env = gym.make("llvm-v0", reward_space="IrInstructionCount") try: + env.require_dataset("cBench-v0") result = validate_state(env, state) finally: env.close() @@ -57,6 +59,7 @@ def test_validate_state_invalid_reward(): ) env = gym.make("llvm-v0", reward_space="IrInstructionCount") try: + env.require_dataset("cBench-v0") result = validate_state(env, state) finally: env.close()