Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement data-based compiler perturbance #136

Open
MattWindsor91 opened this issue May 19, 2021 · 0 comments
Open

Implement data-based compiler perturbance #136

MattWindsor91 opened this issue May 19, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@MattWindsor91
Copy link
Collaborator

An idea I had while thinking about #135 is to move the compiler optimisation/moptimisation functionality into a data-driven perturber pass separate from c4t's compiler interface. Something like a YAML table of the form:

- name: "std-opts"
  precondition:
  # Might need a proper boolean language for this, possibly even SQL.
  - compiler: "gcc.*"
  opts:
  - name: "0"
    bias: "size"
    # etc

- name: "outline-atomics"
  precondition:
  - compiler: "gcc.gcc"
    min-version: "10"
    arch: "aarch64.8"
  - compiler: "gcc.clang"
    min-version: "12"
    arch: "aarch64.8"
  flags:
  - name: "outline-atomics"
    allow-empty: true
    choices: ["moutline-atomics", "mno-outline-atomics"]

This table would either be embedded into c4t-perturb or just read from config, with an example given as part of c4t's distribution. It'd be read in by the perturber, with the other parts of c4t not bothering with it.

@MattWindsor91 MattWindsor91 added the enhancement New feature or request label May 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant