aboutsummaryrefslogtreecommitdiff
path: root/lib/base-compiler.js
Commit message (Collapse)AuthorAge
* Base-compiler to typescript (#3718)gh-3142Patrick Quist2022-05-27
|
* Minimal version of externalparser asm-parser (#3278)gh-2903Patrick Quist2022-05-14
|
* better logging for when objdump or c++filt is missinggh-2900partouf2022-05-14
|
* Fix #3275 : move from compiler-opt-info to compiler-opt-info2 (#3615)gh-2777Ofek2022-05-04
| | | | | | | | | * Fix #3275 : move from compiler-opt-info to compiler-opt-info2 * Add OfekShilon to contributors * Migrate llvm opt-info processing from a lib inside CE * Add MIT license text to new file
* Add GHC Core and Cmm views #3571 (#3593)gh-2762A S E2022-05-04
|
* Move cache logging into a place where we have the key (#3606)gh-2711Matt Godbolt2022-04-29
|
* Log the hash of compiler cache accessesgh-2688Matt Godbolt2022-04-28
|
* add a view for Haskell STG intermediary output #3571 (#3585)gh-2669A S E2022-04-28
|
* Optionally log the compiler cache keys and accesses (#3583)gh-2632Matt Godbolt2022-04-27
|
* Set comma-dangle to always in server code and es5 in client codegh-2532RabsRincon2022-04-26
|
* Unify comma configuration; and apply format to some files. (#3559)gh-2517Matt Godbolt2022-04-25
|
* Throw on bad mtime (#3556)gh-2502Matt Godbolt2022-04-25
| | | | | | * Throw on bad mtime Closes #3555 (thanks @Callum-Shipton)
* Defer running buildenv stuff (#3550)gh-2469Matt Godbolt2022-04-25
| | | | | | | | | * compiler cache is keyed off of compiler's `mtime` * `mtime` isn't set until `initialise()` * buildenv was running stuff ahead of that, and so was being cached with a `null` `mtime` * introduces a new `initialise()` call for `buildenv` * now `throw` on trying to use compiler cache before mtime is set
* Reorder user args first (#3496)gh-2277Matt Godbolt2022-04-04
| | | | Rationale is "user args", filename, then autogenerated. Closes #3492. Hopefully doesn't introduce another issue.
* Adds overridable orderArguments function (#3489)gh-2259Rubén Rincón Blanco2022-04-02
| | | Closes #3488
* Fix #3465 (#3466)gh-2241Jeremy Rifkin2022-04-01
|
* Moved inputFilename forward in compiler arguments (#3474)gh-2231Omar Awile2022-03-31
| | | | | When compiling to binary the order of source files and linked libaries can matter for some compilers (and linkers). Putting the input file first avoids linking issues in these cases.
* Construct one FormattingHandler for all compilers (#3417)gh-2146Matt Godbolt2022-03-01
| | | | | Not my greatest design moment, but putting it in the CompilationEnvironment is a compromise between creating the handler in the compilation create() and passing it into all the compilers' constructors.
* Fix preprocessor filtering with url #includes (#3398)gh-2125Jeremy Rifkin2022-02-26
|
* Group some files to their own folders (#3384)gh-2075Rubén Rincón Blanco2022-02-22
| | | | | | | | | | | | | | * Group some files to their own folders In etc/scripts/, added disasms/, docenizers/, and util/ folders In lib/, added mapfiles/, and parsers/ folders (+moved google.js to shortener) In static/, added widgets/ folder Added cypress folder to .gitignore * Address Matt's PR reviews * Move new Pane renaming to folder
* when no files are supplied, no need to do anything special for them either ↵gh-2017Patrick Quist2022-02-17
| | | | (#3371)
* Show preprocessor output even if main compilation fails (#3363)gh-1958Jeremy Rifkin2022-02-13
|
* Preprocessor output panel (#3330)Jeremy Rifkin2022-02-11
|
* Fixes Executor pane for Python (+ possibly more) (#3354)gh-1925Rubén Rincón Blanco2022-02-11
| | | | | | | * Fixes executor pane for Python It possibly also fixes it for more languages that behave like it. * Typerrror has .message
* C/C++ Turn off filtering when -E is provided. Suggestion for upstream issue ↵gh-1853Jeremy Rifkin2022-02-04
| | | | #1380. (#3320)
* Upgrade eslint-plugin-unicorn, and fix issues it ponted outgh-1646Matt Godbolt2022-01-18
|
* Make sure asm-raw behaves on compilation errorsgh-1487RabsRincon2021-12-31
| | | | Closes #3198
* Ada: new pane for GNAT Debug Tree (#3190)gh-1473Marc Poulhiès2021-12-28
| | | | | | Support for the GNAT Tree emitted by `-gnatdt` on stdout. The pane is also available in the diff tool. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Fix missing gimple and original tree dump in GCC dumpgh-1394Marc Poulhiès2021-12-15
| | | | | | | | | | | | Both gimple and original dumps are missing because CE currently only checks for dumps coming from a pass advertised in -fdump-passes. Fix this by faking 2 lines as coming from -fdump-passes. fixes #3180 This is a fixed version of c8b25ee53b69944114c2087bd945f8603d00da08 (#3183) Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Revert "Fix missing gimple and original tree dump in GCC dump (#3183)"partouf2021-12-15
| | | | This reverts commit c8b25ee53b69944114c2087bd945f8603d00da08.
* Fix missing gimple and original tree dump in GCC dump (#3183)gh-1387Marc Poulhiès2021-12-15
| | | | | | | | | Both gimple and original dumps are missing because CE currently only checks for dumps coming from a pass advertised in -fdump-passes. Fix this by faking 2 lines as coming from -fdump-passes. fixes #3180 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Fix source/assembly mapping when GNAT expanded code pane opened (#3177)gh-1386Marc Poulhiès2021-12-15
| | | | | | | | | | | | | | | | | | * Fix source/assembly mapping when GNAT expanded code pane opened Using -gnatDGL to get the expanded code also asks GNAT to emit debug informations pointing to the .dg file containing the expanded code, breaking CE that is using these info to map assembly and source lines. Using -gnatGL instead avoids the breaking of asm/source mapping but emits the expanded code in stdout instead of a plain file. This change replaces -gnatDGL by -gnatGL and extracts the expanded code from stdout. fixes #3171 Signed-off-by: Marc Poulhiès <dkm@kataplop.net> * fixup! Fix source/assembly mapping when GNAT expanded code pane opened
* Handle filecontent and filename errors (#3170)gh-1360Patrick Quist2021-12-10
|
* rust: HIR dump and small refactor with macro expansion (#3147)gh-1338Marc Poulhiès2021-12-05
| | | | | | | | | | | | | Small refactoring for handling -Zunpretty calls: - reuse options from main compiler invocation instead of crafting new ones. - factor out common part. Now also handles HIR output in a dedicated pane. Still a lot of copy/pasting from the macro expansion. fixes #2567 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Fix and refactor rustc-cg-gcc GCC dump (#3128)gh-1302Marc Poulhiès2021-11-22
| | | | | | | | | | | | | Conflicting changes in #3109 and #3064 left the GCC dump of rustc broken. Reapplied the changes and refactored how the -fdump-foo-pass= option is crafted. Instead of using stdout, use an explicit file. Beware that this won't work with older GCC version. Regular GCC is still using the 'dump all files' instead of the targeted option, so it's not impacted by this limitation. Only rustc-cg-gcc is currently using this mecanism and it's using a recent libgccjit. Really fixes #2868 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Honour rustc flags when emitting MIR and emit both assembly and MIR in the ↵gh-1284Marc Poulhiès2021-11-21
| | | | | | | | | | | | | | | | | | | | same execution (#3116) * Honor compiler flags in rustc MIR output view * Refactor rustc/MIR execution handling Apply the same receipe as for GNAT and GCC for minimizing the number of executions for getting extra outputs (here MIR). After discussions in #3107, the way the output files are created is also changed to use the syntax `--emit KIND=PATH` (see https://doc.bccnsoft.com/docs/rust-1.36.0-docs-html/rustc/command-line-arguments.html) Signed-off-by: Marc Poulhiès <dkm@kataplop.net> * fixup! Refactor rustc/MIR execution handling Co-authored-by: Nico Lehmann <nico.lehmannm@gmail.com>
* Modify the path include guard to fix some false-positives (#3083)gh-1281Rubén Rincón Blanco2021-11-21
| | | Closes #3045
* Show GNAT expanded code pane even in case of compiler error (#3121)gh-1278Marc Poulhiès2021-11-21
| | | | | | Even when the compiler exits with an error, try to display the expanded code. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Filter fdump-passes output from stderr before displaying (#3115)gh-1277Marc Poulhiès2021-11-21
| | | | | | The refactor from #3024 left all the output from -fdump-passes in stderr. Filter it out before displaying it in the output pane. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Refactor GCC dump and GNAT expanded code creation (#3064)gh-1262Marc Poulhiès2021-11-16
| | | | | | | | | | | | | | | | Instead of having a dedicated invocation of the compilers, inject needed options in the main compilation command and do everything in one run. This should fix GNAT race condition on ALI file, save some CPU time and make the latency a bit better. This can work as long as everything can really be done in one run (eg. no incompatible options, no clash on stdout/stderr). Add optionsForBackend in base compiler class that is meant to be overloaded by compilers for injecting options based on current backend options. Use it for GCC dumps (BaseCompiler) and GNAT expanded code. Fixes #3041 References #3029 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Remove trailing whitespacesgh-1256Nico Lehmann2021-11-13
| | | | Reviewed-by: Marc Poulhiès <dkm@kataplop.net>
* Refactor GCC dump handling (#3024)gh-1250Marc Poulhiès2021-11-08
| | | | | | | | | | | | | | | | | | | | | | | This change allows for only dumping a single pass (the one selected). In order to populate the list of available dumps, it now queries GCC for the enabled passes. It can still be misleading to users as a pass can be enabled but for some reason does not dump anything. In order to avoid this, the only solution seems to be to still dump all files and filter the list... This defeats the initial goal and only adds complexity for the current compilers. But this makes #2868 easier to implement (see #2985 that was a aborted first attempt) and if someday another libgccjit-based compiler is added, it could be easily hooked to this. It also changes the naming in the drop down menu. For example, instead of : '009t.omplower' it now uses 'omplower (tree)' (ie. '<pass-name> (tree|ipa|rtl)'). Fixes #3014 Signed-off-by: Marc Poulhiès <dkm@kataplop.net> Co-authored-by: Rubén Rincón Blanco <ruben@rinconblanco.es>
* Await for things (#3086)gh-1229Matt Godbolt2021-10-31
| | | | | | | | | | | | | | * Await for things We had a number of things that aren't await()ing their promises. That led to non-deterministic compiler settings like Intel support. I used the IDE to find them all and fix the ones that I thought looked important. More generally we should use tslint (once we're all typescript) to ensure this more generally. I tried the eslint equivalent but it either overreacted or didn't catch anything. Closes #3085
* Seperate compiler finding process (#3022)gh-1168Patrick Quist2021-10-15
|
* Initial support for GNAT specific debug output (#3000)Marc Poulhiès2021-10-13
| | | | | | This change only gets the GNAT Debug expanded generated code (-gnatD). Signed-off-by: Marc Poulhiès <dkm@kataplop.net> Co-authored-by: Mats Larsen <me@supergrecko.com>
* Avoid calling compilerProps after compiler object construction (#3005)gh-1092Austin Morton2021-10-04
|
* Unconditionally use the compilation queue (#2978)Matt Godbolt2021-09-30
| | | | | | | | | | | | | | | | * Unconditionally use the compilation queue and re-enable MS compilers * Always use the compilation queue, which ensures we don't execute more native apps thn are configured, especially while we're starting up. * Guard the compilation queue from enqueueing stuff that was already executing in a queue context. This is to prevent deadlock though it's not always a problem (it's only if the caller awaits the job, which is often the case). Should mitigate the issues we had on Sep 30 2021, where nodes were having trouble starting up due to the large amount of JVM-based compilers. See #2977
* Fix linting errors from #2932Mats Larsen2021-09-27
|
* Add rustc Macro Expansion view (#2932)Mats Larsen2021-09-27
| | | Adds a new pane for producing the macro expansion of Rust code compiled with rustc.
* bugfixes cmake inputFilenamepartouf2021-09-13
|