diff options
author | J. Ryan Stinnett <jryans@gmail.com> | 2023-12-12 01:35:45 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-11 19:35:45 -0600 |
commit | f0e1d5d26490b4a62aaee35b4cfc700d6e3f8a1c (patch) | |
tree | b238d2e81495603183d34adb65b6b33a715f1c25 /lib/compilers/rust.ts | |
parent | 7d3156ae5ffe62a9f8b9188ea7f8c92276f526a1 (diff) | |
download | compiler-explorer-f0e1d5d26490b4a62aaee35b4cfc700d6e3f8a1c.tar.gz compiler-explorer-f0e1d5d26490b4a62aaee35b4cfc700d6e3f8a1c.zip |
Add Racket optimisation pipeline (#5836)gh-9905
This adds a Racket optimisation pipeline view by reusing the existing
LLVM-focused optimisation pipeline UI. A Racket-specific pass parser
translates its output into passes for the UI to present.
This new Racket optimisation pipeline view is currently only enabled for
Racket nightly, as it depends on [recent
changes](https://github.com/racket/racket/pull/4842) to Racket's
compiler output to function.
This also extends the opt pipeline view to allow customising the
function selector label as well as the options and filters for each
compiler where needed.

---------
Co-authored-by: Matt Godbolt <matt@godbolt.org>
Diffstat (limited to 'lib/compilers/rust.ts')
-rw-r--r-- | lib/compilers/rust.ts | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/compilers/rust.ts b/lib/compilers/rust.ts index e57a86840..be3448db8 100644 --- a/lib/compilers/rust.ts +++ b/lib/compilers/rust.ts @@ -49,7 +49,6 @@ export class RustCompiler extends BaseCompiler { super(info, env); this.compiler.supportsIntel = true; this.compiler.supportsIrView = true; - this.compiler.supportsOptPipelineView = true; this.compiler.supportsRustMirView = true; const isNightly = this.isNightly(); @@ -60,9 +59,11 @@ export class RustCompiler extends BaseCompiler { this.compiler.irArg = ['--emit', 'llvm-ir']; this.compiler.minIrArgs = ['--emit=llvm-ir']; - this.compiler.optPipelineArg = ['-C', 'llvm-args=-print-after-all -print-before-all']; - this.compiler.optPipelineModuleScopeArg = ['-C', 'llvm-args=-print-module-scope']; - this.compiler.optPipelineNoDiscardValueNamesArg = isNightly ? ['-Z', 'fewer-names=no'] : []; + this.compiler.optPipeline = { + arg: ['-C', 'llvm-args=-print-after-all -print-before-all'], + moduleScopeArg: ['-C', 'llvm-args=-print-module-scope'], + noDiscardValueNamesArg: isNightly ? ['-Z', 'fewer-names=no'] : [], + }; this.linker = this.compilerProps<string>('linker'); } |