From 93d7a9d336cc90c76dc7fc28e4c55b3faede6e37 Mon Sep 17 00:00:00 2001 From: Jiadong Guo Date: Thu, 15 Apr 2021 16:30:54 +0200 Subject: [PATCH] Leaderboard implementation of tabular Q (#141) * leaderboard implementation * fails due to env selection * fails at 60th evaluation * Update to WIP Tabular Q leaderboard submission (#1) * [llvm] Temporarily disable polybench Mitigates #55. * [validation] Add a flakiness retry loop around validation. Add a retry loop around the granular individual validation callbacks for cBench-v1. Mitigates #144. * [validation] Catch timeouts in retry loop. * [docs/faq] "I updated with 'git pull' and not it doesn't work * [tests] Extend timeout on datasets test. * [tests] Update regression tests. * [tests] Reduce validation regression test retry counts. * Call env.reset() just after creation - fixes #150 * [docs] Update LLVM actions table. * Add a target to rename the manylinux file. * Force UTF-8 on README decoding. * [util] Improve runfiles docstrings. * [llvm] Remove LLVM binaries from wheel. This patch removes the LLVM binaries from the shipped wheel. This is to reduce the package size to be under the 100MB default maximum imposed by PyPi. Instead of shipping the files in the wheel, the LLVM binaries are downloaded from an archive hosted by Facebook when needed. The circumstances for needing them are: (1) starting an LLVM service, (2) attempting to resolve the path to an LLVM binary. * Defer evaluation of cBench runtime data directory. * [tests] Remove tests that overwrite site data path. These no longer work now that site data requires LLVM binaries to be present. * Release v0.1.5. * Add a fast path check for downloaded LLVM files. * [tests] Use full URI for benchmark. * Correct retry count in error message. * [env] Include last error on init failure. * [env] Add a special error message for UNKNOWN errors. * [rpc] Allow loglines() when logs directory does not exist. * [rpc] Include service logs in error message on init failure. * [rpc] Include final error message on retry loop failure. * [rpc] Add decoded signal name on init error. * [llvm] Replace DCHECK() with Status error. * [tests] Remove tests that interfere with site data path. Site data directory is now a pre-requisite of the LLVM environment and cannot be moved. * [tests] Fix caught exception type. * [llvm] Add a check for runfile requirement. * [llvm] Add a file existing check. * [rpc] Disable logs buffering on debugging runs. * [tests] Fix error message comparison tests * [bin/manual_env] Update prompt after reset(). Running `reset()` with no benchmark set will select a random program, so the prompt must be updated. * [tests] Add workaround for prompt issue. * Release v0.1.6. This release focuses on hardening the LLVM environments, providing improved semantics validation, and improving the datasets. Many thanks to @JD-at-work, @bwasti, and @mostafaelhoushi for code contributions. - [llvm] Added a new `cBench-v1` dataset which changes the function attributes of the IR to permit inlining. `cBench-v0` is deprecated and will be removed no earlier than v0.1.6. - [llvm] Removed 15 passes from the LLVM action space: `-bounds-checking`, `-chr`, `-extract-blocks`, `-gvn-sink`, `-loop-extract-single`, `-loop-extract`, `-objc-arc-apelim`, `-objc-arc-contract`, `-objc-arc-expand`, `-objc-arc`, `-place-safepoints`, `-rewrite-symbols`, `-strip-dead-debug-info`, `-strip-nonlinetable-debuginfo`, `-structurizecfg`. Passes are removed if they are: irrelevant (e.g. used only debugging), if they change the program semantics (e.g. inserting runtimes bound checking), or if they have been found to have nondeterministic behavior between runs. - Extended `env.step()` so that it can take a list of actions that are all performed in a single batch. This improve efficiency. - Added default reward spaces for `CompilerEnv` that are derived from scalar observations (thanks @bwasti!) - Added a new Q learning example (thanks @JD-at-work!). - *Deprecation:* The next release v0.1.5 will introduce a new datasets API that is easier to use and more flexible. In preparation for this, the `Dataset` class has been renamed to `LegacyDataset`, the following dataset operations have been marked deprecated: `activate()`, `deactivate()`, and `delete()`. The `GetBenchmarks()` RPC interface method has also been marked deprecated.. - [llvm] Improved semantics validation using LLVM's memory, thread, address, and undefined behavior sanitizers. - Numerous bug fixes and improvements. * [tests] Add temporary workaround for flaky init benchmark. * Add missing copyright header to make_specs.py. * [util] Force string type in truncate(). * [bin/service]: Fix reporting of observation space shape. * [bin/service]: Fix reporting of observation space shape. * [util] Force string type in truncate(). * [llvm] Add an InstCount observation space. This adds new observation spaces that expose the -instcount pass values. The -instcount pass counts the number of instructions of each type in a program, along with the total number of instructions, total number of blocks, and total number of functions. There are four new observation spaces: `InstCount`, which returns the feature vector as a numpy array, `InstCountDict`, which returns the values as a dictionary of named features, and `InstCountNorm` and `InstCountNormDict`, which are the same as above but the counts are instead normalized to the total number of instructions in the program. Example usage: >>> import gym >>> import compiler_gym >>> env = gym.make("llvm-v0") >>> env.observation_space = "InstCountDict" >>> env.reset("cBench-v0/crc32") {'TotalInstsCount': 196, 'TotalBlocksCount': 29, 'TotalFuncsCount': 13, 'RetCount': 5, 'BrCount': 24, 'SwitchCount': 0, 'IndirectBrCount': 0, 'InvokeCount': 0, 'ResumeCount': 0, 'UnreachableCount': 0, 'CleanupRetCount': 0, 'CatchRetCount': 0, 'CatchSwitchCount': 0, 'CallBrCount': 0, 'FNegCount': 0, 'AddCount': 5, 'FAddCount': 0, 'SubCount': 0, 'FSubCount': 0, 'MulCount': 0, 'FMulCount': 0, 'UDivCount': 0, 'SDivCount': 0, 'FDivCount': 0, 'URemCount': 0, 'SRemCount': 0, 'FRemCount': 0, 'ShlCount': 0, 'LShrCount': 3, 'AShrCount': 0, 'AndCount': 3, 'OrCount': 1, 'XorCount': 8, 'AllocaCount': 24, 'LoadCount': 51, 'StoreCount': 38, 'GetElementPtrCount': 5, 'FenceCount': 0, 'AtomicCmpXchgCount': 0, 'AtomicRMWCount': 0, 'TruncCount': 1, 'ZExtCount': 5, 'SExtCount': 0, 'FPToUICount': 0, 'FPToSICount': 0, 'UIToFPCount': 0, 'SIToFPCount': 0, 'FPTruncCount': 0, 'FPExtCount': 0, 'PtrToIntCount': 0, 'IntToPtrCount': 0, 'BitCastCount': 0, 'AddrSpaceCastCount': 0, 'CleanupPadCount': 0, 'CatchPadCount': 0, 'ICmpCount': 10, 'FCmpCount': 0, 'PHICount': 0, 'CallCount': 13, 'SelectCount': 0, 'UserOp1Count': 0, 'UserOp2Count': 0, 'VAArgCount': 0, 'ExtractElementCount': 0, 'InsertElementCount': 0, 'ShuffleVectorCount': 0, 'ExtractValueCount': 0, 'InsertValueCount': 0, 'LandingPadCount': 0, 'FreezeCount': 0} The InstCount observation spaces are quick to compute and lightweight. They have similar computational complexity as Autophase. Fixes #149. * [ci] Enable test workflows on Python 3.9. Issue #162. * Bump grpcio from 1.34 to 1.36. Issue #162. * Bump bazel requirement to 4.0.0. This is required to build grpcio 1.36.0. Issue #162. * [ci] Reverse order of sudo in setup. Issue #162. * Add libjpeg-dev to list of required linux packages. This to enable compiling Pillow from source on Python 3.9. Issue #162. * Bump the gym dependency to 0.18.0. Issue #162. * [examples] Fix initialization of temporary directory variable. * Add zlib to macOS dependencies. This is to fix compilation of Pillow using Python 3.9. Issue #162. * [readme] Recommend python 3.9 for conda environments. Issue #162. * [ci] Use python 3.9 for continuous integration jobs. Issue #162. * [setup.py] Add a list of supported python versions * [setup.py] Bump development status to Alpha. * [README] Use non-sudo instructions for linux setup. * [README] Simplify table of contents. This adds annotations to some of the minor subheadings to keep the table of contents as simple as possible. This uses the "Markdown All in One" plugin for VSCode to automatically keep the table of contents up to date: https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one#table-of-contents * [README] Use syntax highlighting for installation instructions. * [README] Small tweak to wording. * [README] Use -U in pip install example. * [README] Don't use '$' prefix on shell commands. It makes it harder to copy and paste the commands. * [README] Add explicit "proceed to all platforms" below. * Add missing load() of bazel rules. * [leaderboard] Move leaderboard utility into compiler_gym namespace. This adds a compiler_gym.leaderboard module that contains the LLVM codesize leaderboard helper code. New API docs provide improved explanation of how to use it. Issue #158. * [leaderboard] Rename --logfile to --results_logfile. This is to break the duplicate flag error from //tests/benchmarks:parallelization_load_test. * [leaderboard] Make it clear that users can set observation spaces. Issue #142. * [CONTRIBUTING] Improve leaderboard submission instructions. Re-order the file so that leaderboard submissions appear directly below pull requests. Then provide more details about the submission review process. * [leaderboard] Rename LLVM codesize to instruction count. Be clear that this leaderboard evaluates performance at reducing the instruction count of LLVM-IR, not the binary codesize. * Add leaderboard package as a dependency of //compiler_gym. * [CONTRIBUTING] Use random-agent PR as example for leaderboard. * leaderboard implementation * fails due to env selection * fails at 60th evaluation * Rebase Tabular Q leaderboard on latest development. * Add load() for bazel symbol. Co-authored-by: Bram Wasti Co-authored-by: Jiadong Guo * Add JD's tabular-q leaderboard submission * updated smoke test and readme Co-authored-by: Jiadong Guo Co-authored-by: Chris Cummins Co-authored-by: Bram Wasti Co-authored-by: Chris Cummins --- README.md | 2 + examples/BUILD | 1 + examples/tabular_q.py | 24 +- leaderboard/llvm_instcount/tabular_q/BUILD | 26 ++ .../llvm_instcount/tabular_q/README.md | 68 ++++++ .../tabular_q/results-H10-N5000.csv | 231 ++++++++++++++++++ .../tabular_q/results-H5-N2000.csv | 231 ++++++++++++++++++ .../tabular_q/tabular_q_eval.py | 38 +++ .../tabular_q/tabular_q_test.py | 34 +++ 9 files changed, 645 insertions(+), 10 deletions(-) create mode 100644 leaderboard/llvm_instcount/tabular_q/BUILD create mode 100644 leaderboard/llvm_instcount/tabular_q/README.md create mode 100644 leaderboard/llvm_instcount/tabular_q/results-H10-N5000.csv create mode 100644 leaderboard/llvm_instcount/tabular_q/results-H5-N2000.csv create mode 100644 leaderboard/llvm_instcount/tabular_q/tabular_q_eval.py create mode 100644 leaderboard/llvm_instcount/tabular_q/tabular_q_test.py diff --git a/README.md b/README.md index eda1242207..f11b7d6ce9 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,9 @@ environment on the 23 benchmarks in the `cBench-v1` dataset. | Facebook | Greedy search | [write-up](leaderboard/llvm_instcount/e_greedy/README.md), [results](leaderboard/llvm_instcount/e_greedy/results_e0.csv) | 2021-03 | 169.237s | 1.055× | | Facebook | Random search (t=60) | [write-up](leaderboard/llvm_instcount/random_search/README.md), [results](leaderboard/llvm_instcount/random_search/results_p125_t60.csv) | 2021-03 | 91.215s | 1.045× | | Facebook | e-Greedy search (e=0.1) | [write-up](leaderboard/llvm_instcount/e_greedy/README.md), [results](leaderboard/llvm_instcount/e_greedy/results_e10.csv) | 2021-03 | 152.579s | 1.041× | +| Jiadong Guo | Tabular Q (N=5000, H=10) | [write-up](leaderboard/llvm_instcount/tabular_q/README.md), [results](leaderboard/llvm_instcount/tabular_q/results-H10-N5000.csv) | 2021-04 | 2534.305 | 1.036× | | Facebook | Random search (t=10) | [write-up](leaderboard/llvm_instcount/random_search/README.md), [results](leaderboard/llvm_instcount/random_search/results_p125_t10.csv) | 2021-03 | **42.939s** | 1.031× | +| Jiadong Guo | Tabular Q (N=2000, H=5) | [write-up](leaderboard/llvm_instcount/tabular_q/README.md), [results](leaderboard/llvm_instcount/tabular_q/results-H5-N2000.csv) | 2021-04 | 694.105 | 0.988× | # Contributing diff --git a/examples/BUILD b/examples/BUILD index f54103055d..38b174cc2d 100644 --- a/examples/BUILD +++ b/examples/BUILD @@ -74,6 +74,7 @@ py_test( py_binary( name = "tabular_q", srcs = ["tabular_q.py"], + visibility = ["//visibility:public"], deps = [ "//compiler_gym", "//compiler_gym/util", diff --git a/examples/tabular_q.py b/examples/tabular_q.py index d1f027b012..7f11a03ec6 100644 --- a/examples/tabular_q.py +++ b/examples/tabular_q.py @@ -47,7 +47,7 @@ "Indices of Alphaphase features that are used to construct a state", ) flags.DEFINE_float("learning_rate", 0.1, "learning rate of the q-learning.") -flags.DEFINE_integer("episodes", 5000, "number of episodes used to learn.") +flags.DEFINE_integer("episodes", 2000, "number of episodes used to learn.") flags.DEFINE_integer( "log_every", 50, "number of episode interval where progress is reported." ) @@ -86,7 +86,6 @@ def make_q_table_key(autophase_feature, action, step): Finally, we add the action index to the key. """ - return StateActionTuple( *autophase_feature[FLAGS.features_indices], step, FLAGS.actions.index(action) ) @@ -118,6 +117,8 @@ def rollout(qtable, env, printout=False): action_seq.append(a) observation, reward, done, info = env.step(env.action_space.flags.index(a)) rewards.append(reward) + if done: + break if printout: print( "Resulting sequence: ", ",".join(action_seq), f"total reward {sum(rewards)}" @@ -133,17 +134,19 @@ def train(q_table, env): # policy improvement happens directly after one another. for i in range(1, FLAGS.episodes + 1): current_length = 0 - obs = env.reset() + observation = env.reset() while current_length < FLAGS.episode_length: # Run epsilon greedy policy to allow exploration. - a = select_action(q_table, obs, current_length, FLAGS.epsilon) - hashed = make_q_table_key(obs, a, current_length) + a = select_action(q_table, observation, current_length, FLAGS.epsilon) + hashed = make_q_table_key(observation, a, current_length) if hashed not in q_table: q_table[hashed] = 0 # Take a stap in the environment, record the reward and state transition. # Effectively we are evaluating the policy by taking a step in the # environment. - obs, reward, done, info = env.step(env.action_space.flags.index(a)) + observation, reward, done, info = env.step(env.action_space.flags.index(a)) + if done: + break current_length += 1 # Compute the target value of the current state, by using the current @@ -154,7 +157,7 @@ def train(q_table, env): # can be used to emphasize on immediate early rewards, and encourage # the agent to achieve higher rewards sooner than later. target = reward + FLAGS.discount * get_max_q_value( - q_table, obs, current_length + q_table, observation, current_length ) # Update Q value. Instead of replacing the Q value at the current @@ -166,7 +169,7 @@ def train(q_table, env): + (1 - FLAGS.learning_rate) * q_table[hashed] ) - if i % FLAGS.log_every == 0: + if FLAGS.log_every and i % FLAGS.log_every == 0: def compare_qs(q_old, q_new): diff = [q_new[k] - v for k, v in q_old.items()] @@ -186,7 +189,8 @@ def main(argv): q_table: Dict[StateActionTuple, float] = {} benchmark = benchmark_from_flags() assert benchmark, "You must specify a benchmark using the --benchmark flag" - env = gym.make("llvm-autophase-ic-v0", benchmark=benchmark) + env = gym.make("llvm-ic-v0", benchmark=benchmark) + env.observation_space = "Autophase" try: # Train a Q-table. @@ -194,7 +198,7 @@ def main(argv): train(q_table, env) # Rollout resulting policy. - rollout(q_table, env, True) + rollout(q_table, env, printout=True) finally: env.close() diff --git a/leaderboard/llvm_instcount/tabular_q/BUILD b/leaderboard/llvm_instcount/tabular_q/BUILD new file mode 100644 index 0000000000..b72a25a420 --- /dev/null +++ b/leaderboard/llvm_instcount/tabular_q/BUILD @@ -0,0 +1,26 @@ +# 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. +load("@rules_python//python:defs.bzl", "py_binary") + +py_binary( + name = "tabular_q_eval", + srcs = ["tabular_q_eval.py"], + deps = [ + "//compiler_gym/leaderboard:llvm_instcount", + "//examples:tabular_q", + ], +) + +py_test( + name = "tabular_q_test", + timeout = "moderate", + srcs = ["tabular_q_test.py"], + deps = [ + ":tabular_q_eval", + "//compiler_gym/leaderboard:llvm_instcount", + "//tests:test_main", + "//tests/pytest_plugins:llvm", + ], +) diff --git a/leaderboard/llvm_instcount/tabular_q/README.md b/leaderboard/llvm_instcount/tabular_q/README.md new file mode 100644 index 0000000000..dc947cce68 --- /dev/null +++ b/leaderboard/llvm_instcount/tabular_q/README.md @@ -0,0 +1,68 @@ +# Tabular Q + +**tldr;** + +A tabular, online Q-learning algorithm that is trained on each program in the test set. + +**Authors:** +JD + +**Results:** +1. [Episode length 5, 2000 training episodes](results-H5-N2000.csv). +2. [Episode length 10, 5000 training episodes](results-H10-N5000.csv) + + +**Publication:** + + +**CompilerGym version:** +0.1.7 + +**Open source?** +Yes, MIT licensed. [Source Code](tabular_q_eval.py). + +**Did you modify the CompilerGym source code?** +No. + +**What parameters does the approach have?** +* Episode length during the Q-table creation *H*. +* Learning rate. *λ* +* Discount fatcor. *γ* +* Actions that are considered by the algorithm. *a* +* Features that are used from the Autophase feature set. *f* +* Number of episodes used during Q-table learning. *N* + +**What range of values were considered for the above parameters?** +* H=5, λ=0.1, γ=1.0, 15 selected actions, 3 selected features, N=2000 (short). +* H=10, λ=0.1, γ=1.0, 15 selected actions, 3 selected features, N=5000 (long). + +**Is the policy deterministic?** +The policy itself is deterministic after its trained. However the training +process is non-deterministic, so the behavior is different when trained again. + +## Description + +Tabular Q learning is a standard reinforcement learning technique that computes the +expected accumulated reward from any state action pair, and store them in a table. +Through interaction with the environment, the algorithm improves the estimation by +using step-wise reward and existing entries of the q table. + +The implementation is online, thus for every step taken in the environment, the reward +is immediately used to improve the current Q-table. + +### Experimental Setup + +| | Hardware Specification | +| ------ | --------------------------------------------- | +| OS | Ubuntu 20.04 | +| CPU | Intel Xeon Gold 6230 CPU @ 2.10GHz (80× core) | +| Memory | 754.5 GiB | + +### Experimental Methodology + +```sh +# short +$ python tabular_q_eval.py --episodes=2000 --episode_length=5 --learning_rate=0.1 --discount=1 --log_every=0 +# long +$ python tabular_q_eval.py --episodes=5000 --episode_length=10 --learning_rate=0.1 --discount=1 --log_every=0 +``` diff --git a/leaderboard/llvm_instcount/tabular_q/results-H10-N5000.csv b/leaderboard/llvm_instcount/tabular_q/results-H10-N5000.csv new file mode 100644 index 0000000000..762fe996f6 --- /dev/null +++ b/leaderboard/llvm_instcount/tabular_q/results-H10-N5000.csv @@ -0,0 +1,231 @@ +benchmark,reward,walltime,commandline +benchmark://cBench-v1/adpcm,0.9860335195530725,91.97182703018188,opt -gvn -instcombine -newgvn -mem2reg -simplifycfg -loop-versioning -sroa -jump-threading -gvn-hoist -newgvn input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9916201117318436,84.45344400405884,opt -mem2reg -early-cse-memssa -newgvn -simplifycfg -instcombine -gvn -gvn -mem2reg -simplifycfg -loop-versioning input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9916201117318437,86.55073308944702,opt -loop-reduce -sroa -early-cse-memssa -gvn -simplifycfg -gvn -mem2reg -instcombine -mem2reg -gvn input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9972067039106144,84.29144549369812,opt -sroa -instsimplify -jump-threading -instcombine -early-cse-memssa -instcombine -gvn-hoist -instcombine -simplifycfg -sroa input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9972067039106146,82.8824474811554,opt -instsimplify -mem2reg -mem2reg -simplifycfg -gvn -loop-versioning -jump-threading -instcombine -newgvn -mem2reg input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9972067039106146,90.50861811637878,opt -newgvn -newgvn -instcombine -jump-threading -sroa -simplifycfg -instcombine -simplifycfg -gvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/adpcm,1.0,86.30793905258179,opt -mem2reg -instcombine -gvn-hoist -gvn-hoist -mem2reg -simplifycfg -loop-versioning -newgvn -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/adpcm,1.0000000000000002,87.10538744926453,opt -early-cse-memssa -sroa -loop-versioning -gvn -simplifycfg -early-cse-memssa -instcombine -mem2reg -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/adpcm,1.005586592178771,84.52623152732849,opt -mem2reg -jump-threading -simplifycfg -instcombine -loop-versioning -gvn -sroa -early-cse-memssa -loop-versioning -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/adpcm,1.0083798882681565,85.43948245048523,opt -sroa -simplifycfg -instcombine -jump-threading -early-cse-memssa -sroa -instsimplify -gvn-hoist -gvn -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.9955752212389379,112.84533286094666,opt -gvn -mem2reg -instcombine -jump-threading -mem2reg -instcombine -gvn-hoist -gvn -mem2reg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.995575221238938,109.70729875564575,opt -gvn -mem2reg -newgvn -gvn-hoist -simplifycfg -loop-versioning -mem2reg -instcombine -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.9977876106194689,109.60479307174683,opt -simplifycfg -gvn -loop-versioning -mem2reg -instcombine -simplifycfg -gvn -jump-threading -early-cse-memssa -sroa input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.997787610619469,109.33702445030212,opt -mem2reg -gvn -instcombine -newgvn -gvn-hoist -mem2reg -jump-threading -newgvn -simplifycfg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.997787610619469,111.2763295173645,opt -newgvn -loop-versioning -mem2reg -early-cse-memssa -instcombine -gvn -instcombine -instcombine -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.9977876106194691,106.48508906364441,opt -simplifycfg -loop-reduce -loop-versioning -sroa -simplifycfg -instcombine -gvn -simplifycfg -newgvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/bitcount,1.0022123893805308,112.64315414428711,opt -instcombine -sroa -gvn-hoist -early-cse-memssa -mem2reg -instcombine -jump-threading -jump-threading -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bitcount,1.002212389380531,101.81922960281372,opt -simplifycfg -sroa -instcombine -early-cse-memssa -simplifycfg -loop-versioning -jump-threading -loop-versioning -early-cse-memssa -loop-versioning input.bc -o output.bc +benchmark://cBench-v1/bitcount,1.002212389380531,102.55236792564392,opt -mem2reg -newgvn -jump-threading -loop-versioning -instcombine -simplifycfg -instsimplify -sroa -early-cse-memssa -instcombine input.bc -o output.bc +benchmark://cBench-v1/bitcount,1.002212389380531,111.14657974243164,opt -instcombine -jump-threading -sroa -simplifycfg -early-cse-memssa -loop-versioning -instcombine -newgvn -simplifycfg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9394402035623409,274.2872977256775,opt -instcombine -mem2reg -instcombine -newgvn -loop-versioning -instsimplify -jump-threading -sroa -loop-versioning -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9735368956743001,257.81663489341736,opt -newgvn -jump-threading -mem2reg -early-cse-memssa -instsimplify -simplifycfg -newgvn -newgvn -mem2reg -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9811704834605597,279.0676498413086,opt -newgvn -newgvn -mem2reg -simplifycfg -gvn-hoist -break-crit-edges -instcombine -simplifycfg -gvn -instsimplify input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.983206106870229,262.2409739494324,opt -newgvn -sroa -sroa -jump-threading -early-cse-memssa -instsimplify -simplifycfg -mem2reg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9913486005089057,279.6364629268646,opt -early-cse-memssa -instsimplify -newgvn -gvn -sroa -simplifycfg -mem2reg -instcombine -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9928753180661578,334.88650822639465,opt -sroa -mem2reg -jump-threading -newgvn -instcombine -jump-threading -newgvn -newgvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9933842239185751,275.44550132751465,opt -newgvn -jump-threading -instsimplify -sroa -instcombine -gvn-hoist -loop-versioning -early-cse-memssa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9959287531806614,277.0932228565216,opt -sroa -gvn-hoist -instcombine -newgvn -jump-threading -newgvn -instcombine -newgvn -simplifycfg -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9979643765903308,286.9892988204956,opt -mem2reg -instcombine -newgvn -early-cse-memssa -mem2reg -newgvn -simplifycfg -jump-threading -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9994910941475827,274.74771213531494,opt -newgvn -sroa -instsimplify -instcombine -early-cse-memssa -gvn-hoist -newgvn -simplifycfg -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1489610998281519,3352.769928216934,opt -gvn -instcombine -mem2reg -early-cse-memssa -instcombine -simplifycfg -instsimplify -newgvn -mem2reg -instcombine input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1511482580846744,2484.9806559085846,opt -instcombine -sroa -gvn -newgvn -early-cse-memssa -newgvn -simplifycfg -newgvn -instsimplify -instcombine input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1572410560849866,2546.4524807929993,opt -jump-threading -instcombine -sroa -instcombine -newgvn -instcombine -gvn-hoist -instcombine -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1574753944696141,3206.4281198978424,opt -gvn -jump-threading -mem2reg -gvn -jump-threading -jump-threading -gvn-hoist -instcombine -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1616153725980316,2250.5105123519897,opt -newgvn -loop-reduce -sroa -gvn -simplifycfg -simplifycfg -instsimplify -instcombine -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1622402749570382,2603.1056797504425,opt -gvn -mem2reg -sroa -gvn -simplifycfg -jump-threading -instcombine -mem2reg -mem2reg -newgvn input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1662240274957039,2057.2154517173767,opt -simplifycfg -loop-versioning -mem2reg -gvn -sroa -gvn-hoist -instcombine -simplifycfg -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1663802530854557,2031.112601518631,opt -mem2reg -gvn -sroa -mem2reg -jump-threading -newgvn -instsimplify -simplifycfg -loop-versioning -instcombine input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1702858928292454,2275.195060491562,opt -sroa -gvn -early-cse-memssa -gvn-hoist -simplifycfg -instcombine -gvn -jump-threading -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1753632244961727,2217.3474543094635,opt -instsimplify -newgvn -simplifycfg -newgvn -sroa -early-cse-memssa -instcombine -jump-threading -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,119.99614810943604,opt -newgvn -instcombine -mem2reg -instsimplify -instsimplify -gvn -simplifycfg -simplifycfg -early-cse-memssa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,49.29745006561279,opt -instcombine -simplifycfg -mem2reg -loop-versioning -newgvn -newgvn -loop-versioning -instsimplify -instsimplify -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,51.990561962127686,opt -newgvn -loop-versioning -sroa -newgvn -gvn -gvn -gvn -simplifycfg -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,61.0009241104126,opt -loop-versioning -newgvn -loop-versioning -instcombine -sroa -instsimplify -mem2reg -instsimplify -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,61.48502278327942,opt -mem2reg -early-cse-memssa -gvn -newgvn -gvn-hoist -instcombine -mem2reg -simplifycfg -gvn -sroa input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,61.844305753707886,opt -sroa -early-cse-memssa -early-cse-memssa -gvn -mem2reg -simplifycfg -sroa -early-cse-memssa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,62.73630118370056,opt -instcombine -mem2reg -simplifycfg -early-cse-memssa -loop-versioning -loop-versioning -gvn-hoist -early-cse-memssa -early-cse-memssa -mem2reg input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,63.55244326591492,opt -gvn -gvn -sroa -simplifycfg -gvn-hoist -instcombine -loop-versioning -instsimplify -instcombine -sroa input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,63.81081581115723,opt -instcombine -simplifycfg -mem2reg -newgvn -newgvn -mem2reg -gvn -instsimplify -newgvn -newgvn input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,83.3938398361206,opt -early-cse-memssa -gvn -sroa -jump-threading -simplifycfg -gvn -instcombine -instcombine -instcombine -mem2reg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9642857142857142,84.89269423484802,opt -gvn -instcombine -gvn-hoist -simplifycfg -instsimplify -loop-versioning -gvn-hoist -gvn-hoist -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9642857142857143,84.95226836204529,opt -gvn -instsimplify -sroa -jump-threading -newgvn -gvn-hoist -simplifycfg -instcombine -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9744897959183674,91.39646458625793,opt -sroa -jump-threading -instcombine -newgvn -instcombine -gvn-hoist -mem2reg -instcombine -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9795918367346937,68.83072209358215,opt -sroa -jump-threading -jump-threading -early-cse-memssa -newgvn -simplifycfg -simplifycfg -instcombine -instcombine -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9795918367346939,63.65230846405029,opt -early-cse-memssa -sroa -early-cse-memssa -loop-versioning -instsimplify -simplifycfg -early-cse-memssa -instcombine -newgvn -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9795918367346939,79.46162056922913,opt -loop-reduce -sroa -newgvn -simplifycfg -gvn-hoist -instcombine -loop-versioning -gvn-hoist -instsimplify -mem2reg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9795918367346939,85.39845514297485,opt -mem2reg -newgvn -newgvn -instcombine -gvn-hoist -simplifycfg -instsimplify -early-cse-memssa -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.979591836734694,165.49865579605103,opt -reg2mem -mem2reg -early-cse-memssa -newgvn -instcombine -newgvn -jump-threading -simplifycfg -mem2reg -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.979591836734694,78.92414808273315,opt -mem2reg -early-cse-memssa -jump-threading -instsimplify -newgvn -instcombine -gvn-hoist -simplifycfg -mem2reg -loop-versioning input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.979591836734694,85.80421590805054,opt -newgvn -sroa -simplifycfg -instsimplify -jump-threading -instcombine -early-cse-memssa -gvn-hoist -newgvn -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9757848082454039,28641.093064546585,opt -instcombine -sroa -newgvn -gvn -newgvn -gvn -gvn-hoist -instcombine -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9879011460691838,23796.255378246307,opt -loop-versioning -instcombine -sroa -simplifycfg -sroa -gvn -instcombine -jump-threading -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9933604916470702,27085.388712882996,opt -instcombine -mem2reg -jump-threading -gvn-hoist -sroa -gvn -instcombine -gvn-hoist -simplifycfg -gvn input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9976440454231539,26779.980276823044,opt -newgvn -newgvn -loop-versioning -sroa -sroa -jump-threading -loop-reduce -simplifycfg -early-cse-memssa -instcombine input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9988329501446793,31713.485026836395,opt -gvn-hoist -early-cse-memssa -instcombine -loop-versioning -sroa -newgvn -jump-threading -simplifycfg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9998601288562912,37553.263009786606,opt -gvn -gvn-hoist -mem2reg -simplifycfg -newgvn -gvn -instcombine -instsimplify -jump-threading -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/ghostscript,1.0047643608325831,25536.759793043137,opt -sroa -instcombine -sroa -gvn -simplifycfg -gvn -early-cse-memssa -instcombine -simplifycfg -jump-threading input.bc -o output.bc +benchmark://cBench-v1/ghostscript,1.0058396202498447,21979.465646743774,opt -break-crit-edges -sroa -instcombine -early-cse-memssa -simplifycfg -early-cse-memssa -jump-threading -loop-versioning -instsimplify -newgvn input.bc -o output.bc +benchmark://cBench-v1/ghostscript,1.0102105934907468,25858.50022339821,opt -sroa -gvn -instcombine -gvn -simplifycfg -instcombine -early-cse-memssa -mem2reg -jump-threading -newgvn input.bc -o output.bc +benchmark://cBench-v1/ghostscript,1.013440742715773,25359.796591997147,opt -sroa -instcombine -newgvn -gvn-hoist -jump-threading -simplifycfg -gvn -gvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,0.980453187250996,956.741213798523,opt -instcombine -instsimplify -newgvn -mem2reg -simplifycfg -early-cse-memssa -newgvn -early-cse-memssa -instcombine -sroa input.bc -o output.bc +benchmark://cBench-v1/gsm,0.9952689243027889,894.8636138439178,opt -early-cse-memssa -instcombine -jump-threading -mem2reg -early-cse-memssa -sroa -instcombine -instcombine -simplifycfg -gvn input.bc -o output.bc +benchmark://cBench-v1/gsm,0.9965139442231076,783.0775320529938,opt -instcombine -mem2reg -newgvn -early-cse-memssa -newgvn -simplifycfg -jump-threading -sroa -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,0.9972609561752986,931.1694090366364,opt -gvn-hoist -mem2reg -gvn -simplifycfg -sroa -instcombine -loop-versioning -loop-versioning -simplifycfg -gvn input.bc -o output.bc +benchmark://cBench-v1/gsm,1.0024900398406373,831.6039507389069,opt -newgvn -mem2reg -jump-threading -instcombine -instsimplify -simplifycfg -jump-threading -sroa -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,1.0032370517928288,831.4304916858673,opt -jump-threading -loop-versioning -sroa -simplifycfg -instcombine -simplifycfg -instcombine -break-crit-edges -gvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/gsm,1.0042330677290836,912.3787298202515,opt -gvn-hoist -newgvn -mem2reg -jump-threading -instcombine -simplifycfg -mem2reg -newgvn -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,1.0043575697211156,652.9828066825867,opt -mem2reg -mem2reg -newgvn -instsimplify -sroa -simplifycfg -instcombine -jump-threading -gvn -newgvn input.bc -o output.bc +benchmark://cBench-v1/gsm,1.0053535856573708,828.6454699039459,opt -loop-reduce -jump-threading -sroa -early-cse-memssa -loop-reduce -simplifycfg -instcombine -gvn -newgvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/gsm,1.0059760956175299,1009.6422271728516,opt -simplifycfg -instcombine -jump-threading -sroa -newgvn -newgvn -sroa -simplifycfg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9611541168191414,982.0354073047638,opt -loop-rotate -mem2reg -jump-threading -mem2reg -gvn -simplifycfg -early-cse-memssa -simplifycfg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9663617171006332,1289.5264930725098,opt -jump-threading -gvn -loop-reduce -instcombine -mem2reg -jump-threading -newgvn -simplifycfg -mem2reg -sroa input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9800140745953554,1166.6190717220306,opt -instsimplify -gvn -instcombine -simplifycfg -gvn-hoist -newgvn -jump-threading -sroa -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9870513722730473,1037.2042796611786,opt -loop-reduce -jump-threading -gvn -sroa -instcombine -simplifycfg -newgvn -instsimplify -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9912737508796623,1108.6332042217255,opt -mem2reg -gvn -gvn-hoist -sroa -simplifycfg -instcombine -simplifycfg -instsimplify -early-cse-memssa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/ispell,1.0011259676284305,1021.9368417263031,opt -newgvn -mem2reg -instcombine -sroa -simplifycfg -instcombine -early-cse-memssa -simplifycfg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/ispell,1.0012667135819846,1077.8353836536407,opt -mem2reg -early-cse-memssa -jump-threading -simplifycfg -loop-versioning -instcombine -newgvn -jump-threading -simplifycfg -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/ispell,1.0019704433497534,1146.8326671123505,opt -mem2reg -jump-threading -instcombine -early-cse-memssa -newgvn -simplifycfg -simplifycfg -instcombine -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/ispell,1.0023926812104154,1186.6769261360168,opt -simplifycfg -sroa -newgvn -mem2reg -simplifycfg -newgvn -instcombine -simplifycfg -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/ispell,1.0056298381421536,1292.5408957004547,opt -sroa -newgvn -newgvn -jump-threading -instcombine -simplifycfg -newgvn -instcombine -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0163995411848592,3907.786417245865,opt -instcombine -gvn -sroa -instcombine -instsimplify -gvn-hoist -simplifycfg -early-cse-memssa -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0183216046129524,3974.91957116127,opt -simplifycfg -loop-versioning -gvn -sroa -loop-versioning -early-cse-memssa -newgvn -sroa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0202126670180116,3907.164360523224,opt -early-cse-memssa -instcombine -sroa -simplifycfg -early-cse-memssa -gvn-hoist -newgvn -instcombine -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0250488266112785,4268.414875268936,opt -sroa -gvn -jump-threading -early-cse-memssa -simplifycfg -instcombine -loop-versioning -newgvn -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.02588585423319,3982.0975198745728,opt -sroa -gvn -simplifycfg -instcombine -jump-threading -mem2reg -instcombine -early-cse-memssa -newgvn -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.028675946306228,4111.072576284409,opt -simplifycfg -gvn-hoist -gvn-hoist -mem2reg -instsimplify -gvn-hoist -newgvn -early-cse-memssa -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0294819729051057,3143.8682115077972,opt -sroa -instcombine -sroa -jump-threading -gvn -simplifycfg -gvn-hoist -jump-threading -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0309080199646588,2946.301032066345,opt -sroa -jump-threading -early-cse-memssa -newgvn -gvn-hoist -simplifycfg -jump-threading -mem2reg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0310630250798276,3622.3017299175262,opt -loop-versioning -sroa -gvn-hoist -early-cse-memssa -loop-versioning -simplifycfg -jump-threading -instcombine -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0320860588399419,2730.836662054062,opt -mem2reg -early-cse-memssa -simplifycfg -instsimplify -loop-versioning -jump-threading -instcombine -gvn-hoist -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0103673653369394,2953.112625360489,opt -simplifycfg -instcombine -sroa -newgvn -mem2reg -simplifycfg -instsimplify -instsimplify -instsimplify -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0171608873434432,4118.139434099197,opt -instcombine -gvn -gvn -sroa -jump-threading -instsimplify -newgvn -instcombine -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0286229434302456,4079.925307750702,opt -mem2reg -jump-threading -early-cse-memssa -gvn-hoist -sroa -instcombine -loop-versioning -gvn -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0292346823786986,2953.440379858017,opt -loop-versioning -sroa -gvn-hoist -jump-threading -instsimplify -gvn -simplifycfg -instcombine -instsimplify -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0292668791654593,2922.3251719474792,opt -early-cse-memssa -mem2reg -gvn -gvn -gvn-hoist -instsimplify -instcombine -jump-threading -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0293634695257414,2833.115102291107,opt -jump-threading -mem2reg -gvn -newgvn -simplifycfg -early-cse-memssa -gvn-hoist -jump-threading -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0305225538491258,3256.7616760730743,opt -newgvn -jump-threading -mem2reg -early-cse-memssa -instcombine -gvn-hoist -newgvn -instsimplify -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0324543610547667,2871.496262073517,opt -sroa -instcombine -simplifycfg -early-cse-memssa -early-cse-memssa -loop-versioning -simplifycfg -gvn-hoist -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0326797385620914,3408.99152469635,opt -gvn-hoist -reg2mem -sroa -instcombine -gvn-hoist -newgvn -jump-threading -simplifycfg -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0336456421649118,2820.295057296753,opt -mem2reg -instcombine -early-cse-memssa -loop-versioning -jump-threading -instsimplify -simplifycfg -gvn-hoist -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/lame,1.0160555682076975,3208.234923839569,opt -simplifycfg -instcombine -gvn -sroa -gvn -jump-threading -gvn-hoist -early-cse-memssa -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/lame,1.022546117057618,3081.2568502426147,opt -instcombine -simplifycfg -newgvn -simplifycfg -newgvn -gvn-hoist -instsimplify -sroa -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/lame,1.024026417672512,3663.529244184494,opt -instcombine -newgvn -newgvn -gvn-hoist -gvn -instcombine -simplifycfg -gvn -mem2reg -newgvn input.bc -o output.bc +benchmark://cBench-v1/lame,1.0380702953009944,3482.595934867859,opt -gvn -mem2reg -instcombine -simplifycfg -gvn -loop-versioning -newgvn -simplifycfg -instcombine -jump-threading input.bc -o output.bc +benchmark://cBench-v1/lame,1.0404615501404388,3260.752034187317,opt -jump-threading -gvn-hoist -instcombine -sroa -gvn -gvn-hoist -newgvn -simplifycfg -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/lame,1.0411447658088515,3035.002494573593,opt -early-cse-memssa -newgvn -newgvn -early-cse-memssa -early-cse-memssa -sroa -mem2reg -instcombine -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/lame,1.0420177636073786,2607.248829603195,opt -reg2mem -loop-versioning -mem2reg -early-cse-memssa -jump-threading -loop-versioning -newgvn -simplifycfg -instcombine -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/lame,1.0473696196766111,2639.7318506240845,opt -sroa -instcombine -sroa -simplifycfg -newgvn -mem2reg -jump-threading -simplifycfg -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/lame,1.0487740074394598,2695.0552740097046,opt -mem2reg -newgvn -gvn -jump-threading -instcombine -instcombine -newgvn -gvn-hoist -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/lame,1.0520762165034538,2630.8039429187775,opt -simplifycfg -mem2reg -instcombine -early-cse-memssa -newgvn -simplifycfg -instcombine -gvn-hoist -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9365962180200222,126.3586974143982,opt -loop-versioning -instcombine -gvn -sroa -break-crit-edges -newgvn -instcombine -simplifycfg -instsimplify -instcombine input.bc -o output.bc +benchmark://cBench-v1/patricia,0.949944382647386,107.48044085502625,opt -jump-threading -mem2reg -mem2reg -instcombine -loop-versioning -newgvn -instsimplify -newgvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9721913236929922,125.59870314598083,opt -mem2reg -gvn -gvn -newgvn -sroa -loop-versioning -simplifycfg -instsimplify -instcombine -jump-threading input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9766407119021134,105.29496049880981,opt -jump-threading -sroa -newgvn -gvn-hoist -mem2reg -simplifycfg -newgvn -jump-threading -instsimplify -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9833147942157953,108.11625814437866,opt -jump-threading -loop-reduce -newgvn -jump-threading -sroa -early-cse-memssa -simplifycfg -newgvn -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9866518353726361,105.9025809764862,opt -mem2reg -sroa -newgvn -simplifycfg -newgvn -gvn-hoist -instcombine -jump-threading -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/patricia,0.988876529477197,104.23832082748413,opt -simplifycfg -sroa -gvn -simplifycfg -instsimplify -simplifycfg -instcombine -simplifycfg -gvn-hoist -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/patricia,0.988876529477197,109.82332849502563,opt -sroa -gvn -early-cse-memssa -gvn-hoist -simplifycfg -loop-versioning -instcombine -simplifycfg -gvn-hoist -newgvn input.bc -o output.bc +benchmark://cBench-v1/patricia,0.988876529477197,113.45991277694702,opt -early-cse-memssa -early-cse-memssa -gvn -simplifycfg -instcombine -gvn -gvn-hoist -simplifycfg -newgvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/patricia,0.988876529477197,122.11330318450928,opt -gvn -simplifycfg -gvn -simplifycfg -instsimplify -instcombine -simplifycfg -early-cse-memssa -gvn-hoist -mem2reg input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1238390092879256,80.08359289169312,opt -jump-threading -gvn -newgvn -early-cse-memssa -sroa -sroa -simplifycfg -sroa -instcombine -gvn input.bc -o output.bc +benchmark://cBench-v1/qsort,1.123839009287926,93.2924792766571,opt -gvn-hoist -gvn -instcombine -newgvn -mem2reg -jump-threading -newgvn -sroa -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1269349845201238,84.43627429008484,opt -gvn -newgvn -sroa -simplifycfg -gvn-hoist -jump-threading -instsimplify -instcombine -newgvn -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1269349845201242,80.53538870811462,opt -reg2mem -gvn -instcombine -simplifycfg -gvn -mem2reg -jump-threading -newgvn -instcombine -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1269349845201242,82.70187640190125,opt -gvn -instcombine -newgvn -loop-versioning -jump-threading -mem2reg -simplifycfg -gvn -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/qsort,1.130030959752322,75.60492300987244,opt -mem2reg -simplifycfg -early-cse-memssa -loop-versioning -gvn-hoist -sroa -instcombine -loop-versioning -gvn -mem2reg input.bc -o output.bc +benchmark://cBench-v1/qsort,1.13312693498452,81.30386662483215,opt -sroa -jump-threading -early-cse-memssa -instsimplify -instsimplify -simplifycfg -newgvn -early-cse-memssa -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1362229102167183,78.4861946105957,opt -sroa -gvn -instcombine -gvn-hoist -jump-threading -newgvn -jump-threading -simplifycfg -instcombine -jump-threading input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1362229102167183,81.40549969673157,opt -newgvn -sroa -simplifycfg -instcombine -jump-threading -gvn-hoist -instsimplify -gvn -mem2reg -gvn input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1362229102167183,81.45297241210938,opt -newgvn -jump-threading -simplifycfg -sroa -simplifycfg -instcombine -newgvn -mem2reg -gvn-hoist -jump-threading input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.0958221540820239,390.3515467643738,opt -early-cse-memssa -instsimplify -instcombine -loop-reduce -instsimplify -sroa -gvn-hoist -newgvn -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.0965887313146798,412.6612138748169,opt -early-cse-memssa -early-cse-memssa -gvn-hoist -newgvn -mem2reg -instcombine -instsimplify -sroa -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.09658873131468,466.66981077194214,opt -instcombine -newgvn -instcombine -sroa -gvn -mem2reg -instcombine -jump-threading -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.1000383288616329,458.8715591430664,opt -loop-versioning -loop-rotate -gvn -instcombine -newgvn -simplifycfg -sroa -instsimplify -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.100038328861633,539.4876976013184,opt -gvn -instcombine -newgvn -loop-rotate -instcombine -jump-threading -sroa -newgvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.1008049060942888,492.0484733581543,opt -instcombine -instcombine -early-cse-memssa -gvn -instcombine -sroa -early-cse-memssa -newgvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.1019547719432734,490.0012001991272,opt -loop-rotate -newgvn -instcombine -gvn -simplifycfg -mem2reg -instcombine -simplifycfg -early-cse-memssa -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.1027213491759298,377.43806433677673,opt -simplifycfg -instsimplify -mem2reg -instcombine -early-cse-memssa -sroa -simplifycfg -loop-versioning -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.104254503641242,396.1617786884308,opt -simplifycfg -newgvn -sroa -newgvn -newgvn -instcombine -instcombine -newgvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.1061709467228822,461.7222125530243,opt -mem2reg -newgvn -gvn -simplifycfg -instsimplify -instcombine -loop-versioning -jump-threading -newgvn -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/sha,1.4648829431438124,85.02385306358337,opt -simplifycfg -mem2reg -loop-versioning -instcombine -jump-threading -gvn -instcombine -simplifycfg -newgvn -newgvn input.bc -o output.bc +benchmark://cBench-v1/sha,1.4648829431438126,89.43071842193604,opt -jump-threading -newgvn -instcombine -sroa -simplifycfg -early-cse-memssa -newgvn -simplifycfg -instcombine -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/sha,1.4682274247491638,84.3970627784729,opt -newgvn -sroa -loop-versioning -instcombine -simplifycfg -gvn -gvn-hoist -instsimplify -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/sha,1.4715719063545147,86.17816185951233,opt -simplifycfg -newgvn -mem2reg -sroa -gvn -simplifycfg -early-cse-memssa -instcombine -newgvn -mem2reg input.bc -o output.bc +benchmark://cBench-v1/sha,1.471571906354515,78.49454045295715,opt -mem2reg -break-crit-edges -simplifycfg -break-crit-edges -gvn -simplifycfg -mem2reg -sroa -instcombine -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/sha,1.471571906354515,83.51931381225586,opt -sroa -newgvn -instcombine -gvn -instcombine -simplifycfg -gvn -loop-versioning -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/sha,1.471571906354515,85.78966975212097,opt -gvn -simplifycfg -break-crit-edges -mem2reg -sroa -instcombine -simplifycfg -jump-threading -newgvn -sroa input.bc -o output.bc +benchmark://cBench-v1/sha,1.471571906354515,86.78127336502075,opt -gvn -sroa -sroa -instsimplify -instcombine -gvn -loop-versioning -simplifycfg -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/sha,1.471571906354515,89.89318203926086,opt -sroa -sroa -gvn -simplifycfg -gvn-hoist -early-cse-memssa -sroa -instcombine -newgvn -sroa input.bc -o output.bc +benchmark://cBench-v1/sha,1.471571906354515,90.49741506576538,opt -gvn -mem2reg -sroa -gvn-hoist -instcombine -jump-threading -gvn -newgvn -simplifycfg -mem2reg input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9699453551912568,122.74706077575684,opt -gvn -sroa -simplifycfg -simplifycfg -sroa -gvn-hoist -early-cse-memssa -jump-threading -early-cse-memssa -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9740437158469946,118.31914043426514,opt -simplifycfg -sroa -gvn -instcombine -mem2reg -sroa -simplifycfg -simplifycfg -jump-threading -gvn input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9767759562841528,120.8527307510376,opt -mem2reg -sroa -gvn -instsimplify -jump-threading -jump-threading -instcombine -simplifycfg -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9767759562841529,133.49759244918823,opt -early-cse-memssa -simplifycfg -instcombine -gvn -instcombine -jump-threading -mem2reg -gvn -simplifycfg -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9808743169398906,123.43013072013855,opt -simplifycfg -sroa -gvn-hoist -early-cse-memssa -jump-threading -newgvn -newgvn -simplifycfg -instcombine -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9808743169398907,127.720205783844,opt -gvn-hoist -mem2reg -early-cse-memssa -newgvn -jump-threading -instcombine -loop-versioning -simplifycfg -instcombine -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9822404371584699,123.8990490436554,opt -instsimplify -sroa -instsimplify -newgvn -instcombine -jump-threading -simplifycfg -gvn -gvn-hoist -newgvn input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9822404371584699,125.47866463661194,opt -newgvn -instsimplify -instcombine -mem2reg -jump-threading -early-cse-memssa -mem2reg -simplifycfg -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.983606557377049,122.23200368881226,opt -newgvn -jump-threading -sroa -gvn -newgvn -instcombine -simplifycfg -simplifycfg -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9849726775956283,128.48105645179749,opt -newgvn -break-crit-edges -sroa -simplifycfg -gvn-hoist -gvn -jump-threading -instcombine -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9664179104477613,74.80681371688843,opt -gvn -sroa -simplifycfg -early-cse-memssa -instcombine -gvn-hoist -newgvn -jump-threading -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149252,64.71736693382263,opt -sroa -simplifycfg -early-cse-memssa -gvn -jump-threading -simplifycfg -instcombine -gvn-hoist -sroa -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149252,68.1199905872345,opt -sroa -early-cse-memssa -sroa -jump-threading -instcombine -early-cse-memssa -mem2reg -instsimplify -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149252,71.20147347450256,opt -sroa -simplifycfg -gvn -instcombine -jump-threading -gvn -gvn -sroa -sroa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149254,66.77502107620239,opt -sroa -early-cse-memssa -instcombine -simplifycfg -gvn -simplifycfg -instsimplify -simplifycfg -loop-versioning -newgvn input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149254,67.37322449684143,opt -mem2reg -sroa -jump-threading -jump-threading -early-cse-memssa -mem2reg -instcombine -simplifycfg -gvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149254,67.71713638305664,opt -jump-threading -sroa -jump-threading -newgvn -simplifycfg -gvn -loop-versioning -simplifycfg -instcombine -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149254,68.65023708343506,opt -simplifycfg -instsimplify -newgvn -mem2reg -simplifycfg -instcombine -simplifycfg -gvn -loop-versioning -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149255,70.60110306739807,opt -newgvn -gvn -mem2reg -loop-versioning -break-crit-edges -simplifycfg -instcombine -early-cse-memssa -gvn-hoist -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149256,70.64553189277649,opt -loop-reduce -newgvn -instcombine -simplifycfg -newgvn -instsimplify -sroa -instsimplify -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/susan,0.9856667519836191,961.8385396003723,opt -simplifycfg -simplifycfg -loop-reduce -sroa -gvn -simplifycfg -gvn -early-cse-memssa -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/susan,0.9861786536984899,941.5433819293976,opt -jump-threading -break-crit-edges -gvn -instcombine -gvn-hoist -jump-threading -simplifycfg -mem2reg -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/susan,0.9883542359866905,937.3725821971893,opt -loop-reduce -gvn -mem2reg -simplifycfg -early-cse-memssa -loop-versioning -instcombine -newgvn -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/susan,0.9887381622728435,975.2963137626648,opt -gvn -instcombine -jump-threading -loop-versioning -simplifycfg -sroa -gvn-hoist -newgvn -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/susan,0.9887381622728437,832.9838500022888,opt -newgvn -sroa -early-cse-memssa -instcombine -simplifycfg -gvn-hoist -sroa -instcombine -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/susan,0.9897619657025851,975.0349853038788,opt -sroa -instcombine -simplifycfg -instcombine -loop-versioning -gvn -early-cse-memssa -simplifycfg -gvn-hoist -instsimplify input.bc -o output.bc +benchmark://cBench-v1/susan,0.9911696954184798,779.3270103931427,opt -sroa -early-cse-memssa -sroa -newgvn -instcombine -jump-threading -simplifycfg -instsimplify -gvn-hoist -newgvn input.bc -o output.bc +benchmark://cBench-v1/susan,0.9914256462759151,1003.4344532489777,opt -mem2reg -gvn -newgvn -jump-threading -instcombine -gvn-hoist -simplifycfg -instsimplify -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/susan,0.9914256462759151,967.0993828773499,opt -loop-reduce -sroa -newgvn -jump-threading -instcombine -gvn-hoist -simplifycfg -gvn -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/susan,0.9921934988482211,987.1292922496796,opt -sroa -instcombine -instcombine -jump-threading -gvn -instsimplify -early-cse-memssa -gvn-hoist -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,0.9823775923206418,3749.499545097351,opt -instcombine -sroa -gvn -jump-threading -gvn-hoist -early-cse-memssa -simplifycfg -gvn-hoist -gvn -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.0063397686163544,3430.954901456833,opt -instcombine -mem2reg -jump-threading -newgvn -instsimplify -sroa -newgvn -early-cse-memssa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.010315555714746,3525.198902130127,opt -instcombine -instcombine -sroa -newgvn -newgvn -simplifycfg -instcombine -newgvn -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.032343565313944,3193.025505542755,opt -sroa -early-cse-memssa -instsimplify -gvn -instcombine -gvn-hoist -gvn -mem2reg -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.0326301085282426,3331.962285041809,opt -mem2reg -gvn -early-cse-memssa -gvn-hoist -gvn -instcombine -break-crit-edges -simplifycfg -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.0345642752247572,3127.59548330307,opt -early-cse-memssa -sroa -mem2reg -jump-threading -instcombine -early-cse-memssa -jump-threading -early-cse-memssa -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.036570077724847,3175.264906644821,opt -mem2reg -mem2reg -newgvn -gvn -gvn-hoist -jump-threading -instcombine -gvn -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.0388266055374478,3790.175055742264,opt -gvn-hoist -simplifycfg -instsimplify -sroa -newgvn -early-cse-memssa -instcombine -sroa -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.0400085962964287,3050.349385023117,opt -sroa -early-cse-memssa -instsimplify -loop-versioning -simplifycfg -instcombine -early-cse-memssa -newgvn -simplifycfg -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.0429098463412012,2966.839874982834,opt -mem2reg -sroa -newgvn -early-cse-memssa -mem2reg -simplifycfg -instcombine -gvn-hoist -early-cse-memssa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.0269998563837428,3602.4380342960358,opt -jump-threading -gvn -jump-threading -instcombine -sroa -sroa -newgvn -simplifycfg -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.027502513284504,4195.25777888298,opt -gvn-hoist -gvn -instsimplify -jump-threading -instsimplify -newgvn -sroa -instcombine -simplifycfg -gvn input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.0306979750107712,4006.820843935013,opt -gvn -sroa -simplifycfg -gvn -sroa -instcombine -instcombine -jump-threading -loop-versioning -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.030985207525492,3831.5241193771362,opt -gvn -instsimplify -mem2reg -mem2reg -simplifycfg -newgvn -instcombine -gvn -instsimplify -jump-threading input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.033139451385897,3442.1031107902527,opt -loop-reduce -early-cse-memssa -newgvn -sroa -gvn -simplifycfg -instcombine -newgvn -jump-threading -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.0356527358897027,3166.1234831809998,opt -mem2reg -early-cse-memssa -instcombine -jump-threading -gvn-hoist -gvn -sroa -simplifycfg -instcombine -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.0359040643400832,4034.3007423877716,opt -gvn -gvn -mem2reg -jump-threading -newgvn -instcombine -newgvn -simplifycfg -instcombine -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.037986500071808,3539.360670566559,opt -break-crit-edges -mem2reg -gvn -simplifycfg -newgvn -gvn-hoist -instcombine -gvn-hoist -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.0426899325003591,3072.1950228214264,opt -sroa -jump-threading -instsimplify -newgvn -instsimplify -instcombine -simplifycfg -gvn-hoist -sroa -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.042725836564699,3639.898898601532,opt -newgvn -gvn-hoist -mem2reg -sroa -simplifycfg -sroa -instcombine -newgvn -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffdither,0.9823024798154556,3990.1464223861694,opt -gvn-hoist -early-cse-memssa -loop-reduce -loop-reduce -newgvn -instcombine -newgvn -loop-reduce -sroa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.026996828143022,3382.62527179718,opt -loop-rotate -newgvn -break-crit-edges -mem2reg -mem2reg -simplifycfg -instcombine -sroa -newgvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.0357194348327567,3842.586850166321,opt -gvn-hoist -instsimplify -jump-threading -instsimplify -newgvn -sroa -mem2reg -instcombine -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.0374855824682814,3292.8163368701935,opt -sroa -gvn -jump-threading -simplifycfg -gvn-hoist -instsimplify -newgvn -jump-threading -instcombine -gvn input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.0375576701268743,3415.0277378559113,opt -jump-threading -break-crit-edges -newgvn -newgvn -mem2reg -instcombine -instcombine -gvn-hoist -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.0380622837370244,2991.644868373871,opt -mem2reg -jump-threading -gvn-hoist -loop-versioning -instcombine -early-cse-memssa -newgvn -jump-threading -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.0430723760092275,3279.29589676857,opt -sroa -gvn-hoist -early-cse-memssa -simplifycfg -instcombine -newgvn -early-cse-memssa -jump-threading -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.0431084198385236,3081.4465894699097,opt -sroa -gvn-hoist -simplifycfg -early-cse-memssa -jump-threading -newgvn -loop-versioning -instcombine -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.043468858131488,3159.4142520427704,opt -simplifycfg -newgvn -mem2reg -simplifycfg -newgvn -jump-threading -gvn-hoist -instcombine -mem2reg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.0450187427912343,3618.663288831711,opt -gvn-hoist -sroa -simplifycfg -newgvn -early-cse-memssa -gvn-hoist -instcombine -jump-threading -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,0.9996584816092348,2966.7228016853333,opt -instsimplify -early-cse-memssa -simplifycfg -simplifycfg -instsimplify -jump-threading -simplifycfg -mem2reg -instcombine -gvn input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.024418564939722,4315.853096246719,opt -gvn -break-crit-edges -simplifycfg -newgvn -instcombine -sroa -newgvn -gvn -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0271165602267682,4476.110491991043,opt -gvn -newgvn -newgvn -sroa -instsimplify -gvn -instsimplify -simplifycfg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.028516785628906,3370.1096284389496,opt -early-cse-memssa -sroa -gvn-hoist -gvn -jump-threading -instsimplify -gvn-hoist -instcombine -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0287558485024417,4025.7619664669037,opt -gvn -early-cse-memssa -sroa -early-cse-memssa -gvn-hoist -instcombine -newgvn -gvn-hoist -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0350397868925243,3819.811809539795,opt -newgvn -simplifycfg -sroa -gvn -gvn -newgvn -instcombine -gvn-hoist -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.036542467811892,3530.0417647361755,opt -sroa -simplifycfg -gvn -instcombine -newgvn -gvn-hoist -simplifycfg -early-cse-memssa -instcombine -jump-threading input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0379426932140297,2751.070923089981,opt -mem2reg -simplifycfg -gvn-hoist -instcombine -newgvn -instcombine -simplifycfg -loop-versioning -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.03872818551279,3190.8309218883514,opt -sroa -sroa -early-cse-memssa -simplifycfg -newgvn -instcombine -gvn-hoist -gvn-hoist -instcombine -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0408455995355352,3218.099961042404,opt -simplifycfg -mem2reg -newgvn -simplifycfg -instcombine -gvn-hoist -sroa -simplifycfg -simplifycfg -early-cse-memssa input.bc -o output.bc diff --git a/leaderboard/llvm_instcount/tabular_q/results-H5-N2000.csv b/leaderboard/llvm_instcount/tabular_q/results-H5-N2000.csv new file mode 100644 index 0000000000..62917db52d --- /dev/null +++ b/leaderboard/llvm_instcount/tabular_q/results-H5-N2000.csv @@ -0,0 +1,231 @@ +benchmark,reward,walltime,commandline +benchmark://cBench-v1/adpcm,0.9162011173184358,20.7006676197052,opt -early-cse-memssa -gvn -newgvn -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9581005586592178,17.297852993011475,opt -sroa -newgvn -early-cse-memssa -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9581005586592178,18.335320711135864,opt -sroa -newgvn -jump-threading -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.958100558659218,18.65507435798645,opt -newgvn -simplifycfg -gvn-hoist -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.963687150837989,15.923527479171753,opt -sroa -jump-threading -mem2reg -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9664804469273743,15.886942863464355,opt -sroa -loop-reduce -simplifycfg -instsimplify -gvn input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9692737430167598,16.275184392929077,opt -newgvn -simplifycfg -mem2reg -simplifycfg -jump-threading input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9720670391061452,17.349804639816284,opt -gvn -instcombine -simplifycfg -instcombine -sroa input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9720670391061453,15.02190613746643,opt -sroa -early-cse-memssa -mem2reg -simplifycfg -jump-threading input.bc -o output.bc +benchmark://cBench-v1/adpcm,0.9720670391061453,15.394291400909424,opt -mem2reg -simplifycfg -mem2reg -early-cse-memssa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.9048672566371682,21.443850994110107,opt -instcombine -break-crit-edges -early-cse-memssa -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.9115044247787609,21.218472719192505,opt -break-crit-edges -newgvn -instcombine -jump-threading -mem2reg input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.920353982300885,23.495495319366455,opt -reg2mem -newgvn -mem2reg -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.9491150442477876,24.241315841674805,opt -newgvn -sroa -newgvn -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.9756637168141594,20.606653451919556,opt -loop-reduce -simplifycfg -gvn -instcombine -sroa input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.9933628318584069,21.50115156173706,opt -gvn -sroa -instcombine -loop-versioning -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bitcount,0.993362831858407,21.865561723709106,opt -instsimplify -gvn -mem2reg -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bitcount,1.0,21.536291122436523,opt -sroa -simplifycfg -early-cse-memssa -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bitcount,1.0,22.720306634902954,opt -sroa -newgvn -instcombine -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bitcount,1.0,22.913798570632935,opt -sroa -early-cse-memssa -instcombine -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9211195928753181,66.96333575248718,opt -early-cse-memssa -gvn -jump-threading -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9221374045801527,58.51204967498779,opt -newgvn -loop-reduce -sroa -instsimplify -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9277353689567429,45.78695487976074,opt -early-cse-memssa -mem2reg -jump-threading -instsimplify -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9389312977099237,60.381531715393066,opt -newgvn -mem2reg -jump-threading -early-cse-memssa -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9424936386768447,52.77226138114929,opt -mem2reg -newgvn -jump-threading -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9465648854961833,53.35361289978027,opt -early-cse-memssa -sroa -jump-threading -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9536895674300254,67.62577414512634,opt -gvn -loop-rotate -mem2reg -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9608142493638677,56.0164213180542,opt -simplifycfg -mem2reg -simplifycfg -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9750636132315522,55.400070667266846,opt -newgvn -mem2reg -newgvn -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/blowfish,0.9760814249363867,65.68105959892273,opt -sroa -instcombine -gvn -mem2reg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.0189032963599436,506.44961738586426,opt -newgvn -early-cse-memssa -instcombine -newgvn -mem2reg input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.0276519293860336,611.3136870861053,opt -instsimplify -simplifycfg -gvn -instcombine -sroa input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.0346820809248554,591.6126170158386,opt -newgvn -gvn -instsimplify -mem2reg -newgvn input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.0417122324636776,460.1723909378052,opt -newgvn -jump-threading -instcombine -early-cse-memssa -sroa input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1100609279800029,516.1596391201019,opt -simplifycfg -instcombine -newgvn -sroa -newgvn input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1129511013904076,434.5198450088501,opt -break-crit-edges -sroa -loop-versioning -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1183408842368379,483.26005363464355,opt -early-cse-memssa -instcombine -sroa -gvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.124277456647399,408.8252160549164,opt -sroa -instsimplify -early-cse-memssa -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1532573035463207,468.97788882255554,opt -mem2reg -newgvn -instcombine -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/bzip2,1.1627870645211686,439.3595087528229,opt -mem2reg -early-cse-memssa -simplifycfg -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/crc32,0.9921875,12.135392427444458,opt -sroa -gvn-hoist -jump-threading -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,0.9921875,12.39504885673523,opt -sroa -jump-threading -gvn-hoist -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,0.9921875,12.477880477905273,opt -sroa -gvn-hoist -gvn-hoist -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,0.9921875,13.834699153900146,opt -loop-reduce -gvn-hoist -newgvn -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,12.38622784614563,opt -jump-threading -sroa -gvn -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,12.388296604156494,opt -sroa -gvn -simplifycfg -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,12.750110149383545,opt -gvn -mem2reg -mem2reg -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,12.753491163253784,opt -gvn -instcombine -jump-threading -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,12.77761960029602,opt -gvn -instcombine -newgvn -simplifycfg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/crc32,1.0,13.197687149047852,opt -gvn -gvn-hoist -instcombine -loop-versioning -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.8469387755102041,16.42105269432068,opt -loop-versioning -loop-reduce -early-cse-memssa -mem2reg -gvn input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.8928571428571428,16.77515435218811,opt -loop-versioning -gvn -sroa -loop-versioning -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9132653061224489,17.91624164581299,opt -mem2reg -gvn -gvn -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9183673469387755,15.950319051742554,opt -loop-reduce -sroa -simplifycfg -early-cse-memssa -instcombine input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9285714285714286,17.177513360977173,opt -instsimplify -sroa -newgvn -simplifycfg -gvn-hoist input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9438775510204083,17.411330938339233,opt -newgvn -simplifycfg -loop-reduce -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9489795918367346,18.498791217803955,opt -gvn -loop-reduce -instsimplify -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9489795918367347,18.632559776306152,opt -early-cse-memssa -sroa -jump-threading -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9642857142857142,18.02121114730835,opt -gvn -instcombine -simplifycfg -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/dijkstra,0.9693877551020409,17.388418436050415,opt -loop-versioning -newgvn -mem2reg -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.8590798227133253,7305.7554297447205,opt -gvn-hoist -instsimplify -loop-reduce -sroa -newgvn input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9160030072295898,8907.75801038742,opt -gvn-hoist -newgvn -instcombine -simplifycfg -mem2reg input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9359870968869928,8394.222642183304,opt -instcombine -newgvn -instcombine -sroa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9374120341635268,7752.1388874053955,opt -newgvn -instcombine -mem2reg -early-cse-memssa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9616315968913638,7042.417202949524,opt -newgvn -loop-versioning -instcombine -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9788357475675534,5539.23605632782,opt -mem2reg -early-cse-memssa -mem2reg -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9798716682256472,6584.19566488266,opt -sroa -loop-reduce -jump-threading -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.9828788978153875,6546.569329023361,opt -simplifycfg -newgvn -sroa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/ghostscript,0.998977192261629,6707.736433982849,opt -sroa -instcombine -simplifycfg -newgvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/ghostscript,1.0015866632864474,6481.519812345505,opt -jump-threading -sroa -gvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,0.8212151394422311,169.0888330936432,opt -early-cse-memssa -break-crit-edges -mem2reg -early-cse-memssa -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,0.865288844621514,208.40022921562195,opt -instcombine -mem2reg -loop-rotate -early-cse-memssa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/gsm,0.8721364541832669,175.46982860565186,opt -early-cse-memssa -jump-threading -break-crit-edges -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,0.8913097609561753,213.2639627456665,opt -newgvn -newgvn -mem2reg -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,0.8930527888446215,204.30867552757263,opt -newgvn -loop-rotate -mem2reg -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,0.8964143426294822,178.84758162498474,opt -loop-versioning -loop-reduce -sroa -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,0.9173306772908367,200.24446320533752,opt -early-cse-memssa -jump-threading -mem2reg -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/gsm,0.9519422310756972,208.12021613121033,opt -instcombine -jump-threading -sroa -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/gsm,0.9808266932270916,197.38547897338867,opt -mem2reg -instcombine -gvn -simplifycfg -sroa input.bc -o output.bc +benchmark://cBench-v1/gsm,0.9951444223107571,213.1402907371521,opt -newgvn -sroa -instcombine -simplifycfg -gvn input.bc -o output.bc +benchmark://cBench-v1/ispell,0.8727656579873329,343.19073271751404,opt -early-cse-memssa -sroa -newgvn -gvn -jump-threading input.bc -o output.bc +benchmark://cBench-v1/ispell,0.8916256157635468,306.9970192909241,opt -gvn-hoist -newgvn -sroa -sroa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/ispell,0.8983814215341308,208.17792129516602,opt -loop-reduce -sroa -early-cse-memssa -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9183673469387754,267.9107894897461,opt -early-cse-memssa -jump-threading -newgvn -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9194933145672062,348.0915174484253,opt -gvn-hoist -gvn -mem2reg -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9339901477832512,240.79181241989136,opt -early-cse-memssa -mem2reg -instsimplify -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/ispell,0.95045742434905,265.32591462135315,opt -newgvn -mem2reg -jump-threading -early-cse-memssa -instcombine input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9642505277973257,241.44359374046326,opt -sroa -early-cse-memssa -gvn-hoist -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9790288529204785,262.0323996543884,opt -mem2reg -gvn -simplifycfg -instcombine -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/ispell,0.9808585503166783,253.2433352470398,opt -newgvn -sroa -simplifycfg -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,0.9396410081532691,986.1076436042786,opt -instcombine -newgvn -simplifycfg -mem2reg -sroa input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,0.9477942772111481,1104.0241205692291,opt -reg2mem -gvn -instcombine -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,0.98037635241963,780.8405973911285,opt -mem2reg -gvn-hoist -instsimplify -instcombine -gvn input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,0.9844064854140187,695.512542963028,opt -simplifycfg -sroa -jump-threading -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,0.98474749666739,780.6597557067871,opt -instsimplify -mem2reg -early-cse-memssa -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,0.9924357503797625,1002.2689995765686,opt -gvn -mem2reg -sroa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0035961186719162,706.0171072483063,opt -loop-versioning -mem2reg -early-cse-memssa -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0184146076820535,759.4841728210449,opt -mem2reg -gvn -instsimplify -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0205536782713829,765.5858814716339,opt -mem2reg -gvn -jump-threading -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-c,1.0261338624174599,814.5025043487549,opt -sroa -newgvn -gvn-hoist -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,0.8548890820696093,1106.219302892685,opt -instcombine -instcombine -mem2reg -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,0.9591422776006956,983.0486352443695,opt -early-cse-memssa -newgvn -instcombine -mem2reg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,0.9595286390418236,926.9824819564819,opt -simplifycfg -instcombine -mem2reg -sroa -newgvn input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,0.9623941530635242,1019.8296360969543,opt -newgvn -simplifycfg -instcombine -newgvn -mem2reg input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,0.9786857271644289,826.6937079429626,opt -early-cse-memssa -break-crit-edges -simplifycfg -sroa -newgvn input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,0.9806175343700698,952.4904658794403,opt -gvn-hoist -mem2reg -gvn-hoist -jump-threading -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0063749637786148,1060.9550540447235,opt -newgvn -newgvn -simplifycfg -mem2reg -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0218616182105027,740.6848866939545,opt -sroa -instcombine -early-cse-memssa -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.022119192504588,803.4249346256256,opt -sroa -gvn -early-cse-memssa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/jpeg-d,1.0221513892913487,876.8247578144073,opt -sroa -gvn -jump-threading -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/lame,0.8704926744097776,1207.56032705307,opt -instcombine -gvn -loop-versioning -instcombine -sroa input.bc -o output.bc +benchmark://cBench-v1/lame,0.8918241858346618,1060.8467359542847,opt -instcombine -early-cse-memssa -instcombine -newgvn -sroa input.bc -o output.bc +benchmark://cBench-v1/lame,0.9065512791315571,1148.7082738876343,opt -loop-versioning -gvn -gvn-hoist -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/lame,0.9089045775449784,978.4755280017853,opt -instcombine -loop-rotate -sroa -instcombine -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/lame,0.9866772944659531,800.0693929195404,opt -early-cse-memssa -jump-threading -sroa -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/lame,0.993889015410309,1098.1489617824554,opt -gvn -jump-threading -mem2reg -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/lame,0.9961664009716846,818.2029616832733,opt -loop-reduce -sroa -newgvn -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/lame,1.0058832460335534,1242.1754767894745,opt -gvn -newgvn -instcombine -simplifycfg -mem2reg input.bc -o output.bc +benchmark://cBench-v1/lame,1.0264176725119563,789.8268949985504,opt -early-cse-memssa -mem2reg -instcombine -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/lame,1.0401199423062324,861.6637892723083,opt -sroa -instcombine -gvn -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/patricia,0.6651835372636261,38.95438098907471,opt -jump-threading -instcombine -early-cse-memssa -sroa -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/patricia,0.7085650723025584,32.50617551803589,opt -loop-reduce -early-cse-memssa -jump-threading -newgvn -mem2reg input.bc -o output.bc +benchmark://cBench-v1/patricia,0.746384872080089,37.7064483165741,opt -instsimplify -early-cse-memssa -newgvn -mem2reg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/patricia,0.7508342602892102,38.774662494659424,opt -sroa -early-cse-memssa -early-cse-memssa -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9010011123470523,33.67034387588501,opt -simplifycfg -mem2reg -loop-reduce -instcombine -gvn input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9165739710789766,29.46782422065735,opt -mem2reg -simplifycfg -simplifycfg -instcombine -gvn input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9276974416017798,36.06371855735779,opt -early-cse-memssa -mem2reg -gvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9288097886540602,34.96575975418091,opt -mem2reg -gvn -simplifycfg -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9632925472747498,36.296059131622314,opt -simplifycfg -gvn -simplifycfg -mem2reg -newgvn input.bc -o output.bc +benchmark://cBench-v1/patricia,0.9699666295884316,30.342700958251953,opt -mem2reg -simplifycfg -early-cse-memssa -simplifycfg -instsimplify input.bc -o output.bc +benchmark://cBench-v1/qsort,1.0371517027863777,24.007299423217773,opt -loop-versioning -newgvn -newgvn -gvn -sroa input.bc -o output.bc +benchmark://cBench-v1/qsort,1.061919504643963,26.209909200668335,opt -jump-threading -newgvn -instcombine -mem2reg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/qsort,1.061919504643963,26.27937889099121,opt -early-cse-memssa -newgvn -instcombine -mem2reg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/qsort,1.0681114551083593,24.640369176864624,opt -gvn -sroa -jump-threading -loop-versioning -newgvn input.bc -o output.bc +benchmark://cBench-v1/qsort,1.089783281733746,24.575623512268066,opt -instsimplify -gvn -newgvn -mem2reg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/qsort,1.105263157894737,21.495224952697754,opt -mem2reg -early-cse-memssa -gvn -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/qsort,1.105263157894737,25.563459634780884,opt -newgvn -loop-versioning -sroa -instsimplify -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1207430340557276,24.669065475463867,opt -sroa -loop-versioning -instcombine -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1207430340557276,25.660110473632812,opt -newgvn -early-cse-memssa -sroa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/qsort,1.1207430340557276,26.18289589881897,opt -sroa -simplifycfg -gvn -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,0.9551552318896128,150.56142663955688,opt -early-cse-memssa -simplifycfg -gvn-hoist -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.0532771176696052,162.30105829238892,opt -simplifycfg -gvn -newgvn -mem2reg -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.0758911460329628,114.92220687866211,opt -newgvn -instsimplify -mem2reg -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.080107320812572,167.40569400787354,opt -gvn -simplifycfg -loop-rotate -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.0831736297431966,136.8446969985962,opt -mem2reg -sroa -early-cse-memssa -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.0877730931391338,115.83492469787598,opt -jump-threading -mem2reg -newgvn -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.0931391337677272,106.79002737998962,opt -instsimplify -instcombine -sroa -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.0954388654656957,167.8545172214508,opt -gvn -mem2reg -sroa -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.0985051743963203,138.74782538414001,opt -sroa -simplifycfg -gvn-hoist -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/rijndael,1.1034879264085857,124.68664073944092,opt -newgvn -sroa -simplifycfg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/sha,1.3879598662207357,33.540475606918335,opt -instcombine -gvn -newgvn -instcombine -sroa input.bc -o output.bc +benchmark://cBench-v1/sha,1.4180602006688963,27.555041551589966,opt -instcombine -simplifycfg -gvn -mem2reg -sroa input.bc -o output.bc +benchmark://cBench-v1/sha,1.4247491638795984,27.469563722610474,opt -jump-threading -sroa -early-cse-memssa -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/sha,1.434782608695652,24.289857387542725,opt -sroa -jump-threading -newgvn -loop-versioning -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/sha,1.434782608695652,28.704103469848633,opt -newgvn -sroa -gvn-hoist -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/sha,1.4381270903010033,29.547996520996094,opt -newgvn -instcombine -sroa -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/sha,1.4414715719063547,28.447511434555054,opt -gvn -gvn -simplifycfg -instcombine -mem2reg input.bc -o output.bc +benchmark://cBench-v1/sha,1.4615384615384612,25.315016269683838,opt -newgvn -mem2reg -gvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/sha,1.4615384615384615,23.934131383895874,opt -sroa -gvn -sroa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/sha,1.4615384615384615,24.289858102798462,opt -mem2reg -newgvn -gvn -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9125683060109289,35.18286061286926,opt -sroa -instsimplify -gvn -loop-versioning -jump-threading input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.930327868852459,46.28186631202698,opt -instcombine -sroa -gvn-hoist -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9357923497267759,38.95826196670532,opt -early-cse-memssa -gvn-hoist -sroa -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9385245901639343,33.634284257888794,opt -mem2reg -gvn -jump-threading -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.948087431693989,34.09591245651245,opt -simplifycfg -mem2reg -newgvn -sroa -jump-threading input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9508196721311476,38.10904359817505,opt -jump-threading -sroa -simplifycfg -early-cse-memssa -newgvn input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9535519125683061,35.37439775466919,opt -mem2reg -instcombine -early-cse-memssa -jump-threading -newgvn input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9535519125683061,36.44464993476868,opt -early-cse-memssa -mem2reg -jump-threading -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9658469945355191,37.112871170043945,opt -sroa -newgvn -instcombine -mem2reg -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch,0.9672131147540983,41.395766258239746,opt -newgvn -loop-reduce -sroa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9440298507462686,19.493280172348022,opt -sroa -early-cse-memssa -instsimplify -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9440298507462686,21.35170030593872,opt -early-cse-memssa -sroa -early-cse-memssa -jump-threading -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9440298507462687,20.20559811592102,opt -break-crit-edges -sroa -mem2reg -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9477611940298507,24.747708320617676,opt -newgvn -newgvn -mem2reg -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.955223880597015,24.049656867980957,opt -newgvn -newgvn -instcombine -sroa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9701492537313432,18.949564218521118,opt -mem2reg -simplifycfg -gvn -loop-versioning -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9701492537313432,20.502401113510132,opt -early-cse-memssa -sroa -simplifycfg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9701492537313433,20.80332636833191,opt -sroa -sroa -early-cse-memssa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149252,21.823434114456177,opt -sroa -simplifycfg -instcombine -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/stringsearch2,0.9738805970149255,21.288577556610107,opt -mem2reg -gvn -simplifycfg -mem2reg -instcombine input.bc -o output.bc +benchmark://cBench-v1/susan,0.8814947530074224,299.9667785167694,opt -reg2mem -gvn -newgvn -mem2reg -newgvn input.bc -o output.bc +benchmark://cBench-v1/susan,0.899667263885334,223.4077410697937,opt -newgvn -instsimplify -sroa -instsimplify -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/susan,0.9163040696186332,351.48436188697815,opt -sroa -loop-reduce -instcombine -gvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/susan,0.9193754799078576,302.96518993377686,opt -jump-threading -gvn -newgvn -sroa -instcombine input.bc -o output.bc +benchmark://cBench-v1/susan,0.9198873816227284,247.49678754806519,opt -newgvn -early-cse-memssa -instcombine -simplifycfg -sroa input.bc -o output.bc +benchmark://cBench-v1/susan,0.9316611210647555,281.5146358013153,opt -newgvn -mem2reg -mem2reg -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/susan,0.9773483491169696,223.83509993553162,opt -mem2reg -loop-versioning -early-cse-memssa -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/susan,0.9788840542615816,227.2367401123047,opt -mem2reg -loop-rotate -newgvn -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/susan,0.9799078576913233,235.4517364501953,opt -sroa -newgvn -jump-threading -gvn-hoist -instcombine input.bc -o output.bc +benchmark://cBench-v1/susan,0.9846429485538776,321.25112891197205,opt -sroa -gvn -simplifycfg -early-cse-memssa -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,0.8496364482968587,1085.0280344486237,opt -instcombine -early-cse-memssa -jump-threading -mem2reg -sroa input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,0.8502811705290304,1041.4899072647095,opt -instsimplify -jump-threading -instcombine -early-cse-memssa -sroa input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,0.8770013252623661,1371.1201612949371,opt -gvn -gvn-hoist -instcombine -instsimplify -mem2reg input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,0.9953078548658618,1003.0495076179504,opt -mem2reg -sroa -early-cse-memssa -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,0.9960600308033954,1168.238203048706,opt -early-cse-memssa -gvn -sroa -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.000680540133959,938.4663310050964,opt -instsimplify -sroa -simplifycfg -mem2reg -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.0083813890182314,1055.8959946632385,opt -sroa -gvn -loop-versioning -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.012464629821985,1472.0116050243378,opt -gvn-hoist -mem2reg -gvn -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.0229950929474552,946.9063255786896,opt -mem2reg -gvn -early-cse-memssa -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2bw,1.0262545220101005,905.3037221431732,opt -sroa -early-cse-memssa -jump-threading -simplifycfg -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,0.9600387763894873,1176.036274433136,opt -instcombine -simplifycfg -gvn-hoist -sroa -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,0.9820838718942985,1026.7745895385742,opt -instcombine -sroa -early-cse-memssa -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,0.9841663076260232,1126.9321999549866,opt -newgvn -mem2reg -gvn -gvn-hoist -jump-threading input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,0.9964454976303319,1268.4253842830658,opt -gvn -sroa -instsimplify -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,0.9972353870458136,1231.7909007072449,opt -newgvn -gvn-hoist -mem2reg -instcombine -jump-threading input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.0082579347982192,864.9466414451599,opt -break-crit-edges -mem2reg -jump-threading -instcombine -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.0088323998276605,1122.0141212940216,opt -newgvn -mem2reg -gvn -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.0267844319977022,987.1709635257721,opt -sroa -early-cse-memssa -jump-threading -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.029656757144909,975.9156556129456,opt -sroa -instcombine -loop-versioning -newgvn -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiff2rgba,1.0339293408013788,983.8013422489166,opt -sroa -newgvn -jump-threading -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffdither,0.9347606689734718,949.0188481807709,opt -loop-rotate -newgvn -simplifycfg -early-cse-memssa -mem2reg input.bc -o output.bc +benchmark://cBench-v1/tiffdither,0.9429786620530565,1334.1701338291168,opt -gvn -jump-threading -simplifycfg -instcombine -sroa input.bc -o output.bc +benchmark://cBench-v1/tiffdither,0.9589100346020761,1186.5059294700623,opt -gvn-hoist -newgvn -jump-threading -mem2reg -jump-threading input.bc -o output.bc +benchmark://cBench-v1/tiffdither,0.9886101499423298,1140.6224098205566,opt -instcombine -sroa -newgvn -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiffdither,0.9911692618223761,837.0975668430328,opt -break-crit-edges -sroa -sroa -simplifycfg -gvn input.bc -o output.bc +benchmark://cBench-v1/tiffdither,0.9946294694348327,1101.412239074707,opt -newgvn -sroa -gvn -gvn-hoist -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.01784169550173,1105.1730918884277,opt -mem2reg -loop-reduce -newgvn -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.01834630911188,1067.7296125888824,opt -newgvn -sroa -jump-threading -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.0280781430219148,849.4251053333282,opt -sroa -jump-threading -early-cse-memssa -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffdither,1.0317546136101499,920.8428294658661,opt -jump-threading -mem2reg -simplifycfg -newgvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,0.9338137358696768,1638.8233025074005,opt -gvn -instcombine -mem2reg -instcombine -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,0.9905399405758001,911.3355669975281,opt -break-crit-edges -early-cse-memssa -mem2reg -simplifycfg -early-cse-memssa input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,0.9945357057477544,1113.789160490036,opt -mem2reg -gvn-hoist -gvn -early-cse-memssa -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,0.999487722413852,1138.8433756828308,opt -early-cse-memssa -simplifycfg -sroa -simplifycfg -newgvn input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0069328233325365,1256.4066178798676,opt -newgvn -sroa -gvn -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0076841637922203,990.8356461524963,opt -early-cse-memssa -sroa -jump-threading -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0222328472388238,1264.415761232376,opt -newgvn -mem2reg -simplifycfg -gvn -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0226768211468187,1361.323234319687,opt -sroa -gvn -newgvn -instcombine -simplifycfg input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0233940097674261,1085.0651605129242,opt -simplifycfg -sroa -newgvn -jump-threading -instcombine input.bc -o output.bc +benchmark://cBench-v1/tiffmedian,1.0241453502271098,1216.8832230567932,opt -mem2reg -newgvn -gvn -simplifycfg -instcombine input.bc -o output.bc diff --git a/leaderboard/llvm_instcount/tabular_q/tabular_q_eval.py b/leaderboard/llvm_instcount/tabular_q/tabular_q_eval.py new file mode 100644 index 0000000000..3645fb7e15 --- /dev/null +++ b/leaderboard/llvm_instcount/tabular_q/tabular_q_eval.py @@ -0,0 +1,38 @@ +# 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. +"""Evaluate tabular_q policy for leaderboard.""" +import os +import sys +from typing import Dict + +from absl import app, flags + +from compiler_gym.envs import LlvmEnv +from compiler_gym.leaderboard.llvm_instcount import eval_llvm_instcount_policy + +sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + "/../../../examples") +from tabular_q import ( # noqa pylint: disable=wrong-import-position + StateActionTuple, + rollout, + train, +) + +FLAGS = flags.FLAGS + + +def train_and_run(env: LlvmEnv) -> None: + """ Run tabular Q learning on an environment """ + FLAGS.log_every = 0 # Disable printing to stdout + + q_table: Dict[StateActionTuple, float] = {} + env.observation_space = "Autophase" + training_env = env.fork() + train(q_table, training_env) + training_env.close() + rollout(q_table, env, printout=False) + + +if __name__ == "__main__": + app.run(eval_llvm_instcount_policy(train_and_run)) diff --git a/leaderboard/llvm_instcount/tabular_q/tabular_q_test.py b/leaderboard/llvm_instcount/tabular_q/tabular_q_test.py new file mode 100644 index 0000000000..1f965cba01 --- /dev/null +++ b/leaderboard/llvm_instcount/tabular_q/tabular_q_test.py @@ -0,0 +1,34 @@ +# 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. +"""Tests for //leaderboard/llvm_instcount/tabular_q_eval.""" +import pytest +from absl import flags + +from compiler_gym.leaderboard.llvm_instcount import eval_llvm_instcount_policy +from leaderboard.llvm_instcount.tabular_q.tabular_q_eval import train_and_run +from tests.test_main import main as _test_main + +FLAGS = flags.FLAGS + +pytest_plugins = ["tests.pytest_plugins.llvm"] + + +def test_tabular_q(): + FLAGS.unparse_flags() + FLAGS( + [ + "argv0", + "--n=1", + "--max_benchmarks=1", + "--nproc=1", + "--novalidate", + ] + ) + with pytest.raises(SystemExit): + eval_llvm_instcount_policy(train_and_run) + + +if __name__ == "__main__": + _test_main()