| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* Throw on bad mtime
Closes #3555 (thanks @Callum-Shipton)
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
Rationale is "user args", filename, then autogenerated.
Closes #3492. Hopefully doesn't introduce another issue.
|
|
|
| |
Closes #3488
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
(#3371)
|
| |
|
| |
|
|
|
|
|
|
|
| |
* Fixes executor pane for Python
It possibly also fixes it for more languages that behave like it.
* Typerrror has .message
|
|
|
|
| |
#1380. (#3320)
|
| |
|
|
|
|
| |
Closes #3198
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
This reverts commit c8b25ee53b69944114c2087bd945f8603d00da08.
|
|
|
|
|
|
|
|
|
| |
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
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
| |
Closes #3045
|
|
|
|
|
|
| |
Even when the compiler exits with an error, try to display the expanded
code.
Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Reviewed-by: Marc Poulhiès <dkm@kataplop.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
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
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
| |
Adds a new pane for producing the macro expansion of Rust code compiled with rustc.
|
| |
|