diff options
author | Andreas Jonson <andjo403@users.noreply.github.com> | 2019-05-19 15:16:37 +0200 |
---|---|---|
committer | Andreas Jonson <andjo403@users.noreply.github.com> | 2019-05-20 08:17:35 +0200 |
commit | 3b9e56612163aacee770139fe35cc2af091a1abd (patch) | |
tree | 02e6ce727f3608d8f6f326c0e0d71c9367a84d53 /lib/compilers/rust.js | |
parent | b93c84f0d19286e06f31678306cef73aaa5d08b2 (diff) | |
download | compiler-explorer-3b9e56612163aacee770139fe35cc2af091a1abd.tar.gz compiler-explorer-3b9e56612163aacee770139fe35cc2af091a1abd.zip |
Add LLVM IR view for Rust
closes #497
Diffstat (limited to 'lib/compilers/rust.js')
-rw-r--r-- | lib/compilers/rust.js | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/compilers/rust.js b/lib/compilers/rust.js index b0e51635c..2bc4cee83 100644 --- a/lib/compilers/rust.js +++ b/lib/compilers/rust.js @@ -24,12 +24,15 @@ const BaseCompiler = require('../base-compiler'), _ = require('underscore'), + path = require('path'), argumentParsers = require("./argument-parsers"); class RustCompiler extends BaseCompiler { constructor(info, env) { super(info, env); this.compiler.supportsIntel = true; + this.compiler.supportsIrView = true; + this.compiler.irArg = ['--emit', 'llvm-ir']; } optionsForFilter(filters, outputFilename, userOptions) { @@ -47,6 +50,12 @@ class RustCompiler extends BaseCompiler { return options; } + // Override the IR file name method for rustc because the output file is different from clang. + getIrOutputFilename(inputFilename) { + return this.getOutputFilename(path.dirname(inputFilename), this.outputFilebase) + .replace('.s', '.ll'); + } + getArgumentParser() { return argumentParsers.Clang; } |