mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 10:33:59 -05:00
## What Adds support for seeing Yul (Solidity IR) as intermediate output when compiling Solidity. This PR also enables that view for the Resolc compiler. ### Main Additions - [x] Support viewing Yul in a supplementary view - Solidity compilers can enable this by setting `this.compiler.supportsYulView = true` in the compiler's constructor - If custom processing of the Yul output or the Yul output filename is needed, the compiler can override `processYulOutput()` or `getYulOutputFilename()` - [x] Enable the Yul view for Resolc - [x] Implement a Yul backend option for filtering out debug info from the output ### Notes Source mappings are currently not handled for Yul -> Solidity. ## Overall Usage ### Steps * Choose Solidity as the language * Choose a Resolc compiler * View intermediate results: * Yul * (Hide/show debug info by toggling "Hide Debug Info" in the Yul view filters) ## Screenshots <img width="1502" height="903" alt="ce-yul-view" src="https://github.com/user-attachments/assets/ccc897e2-cd8d-4c33-962c-522d60b63134" />
94 lines
1.4 KiB
Plaintext
94 lines
1.4 KiB
Plaintext
mixin monacopane(id)
|
|
div(id=id)
|
|
.top-bar.btn-toolbar.bg-light(role="toolbar")
|
|
include ../font-size
|
|
.monaco-placeholder
|
|
|
|
.gl_keep.template
|
|
|
|
include panes/codeEditor
|
|
|
|
include panes/compiler
|
|
|
|
include panes/executor
|
|
|
|
include panes/compiler-output
|
|
|
|
include panes/tool-output
|
|
|
|
include panes/diff
|
|
|
|
include panes/pp
|
|
|
|
include panes/ir
|
|
|
|
include panes/clangir
|
|
|
|
include panes/opt-view
|
|
|
|
include panes/opt-pipeline
|
|
|
|
include panes/device
|
|
|
|
include panes/gccdump
|
|
|
|
include panes/cfg
|
|
|
|
include panes/conformance
|
|
|
|
include panes/tree
|
|
|
|
include panes/explain
|
|
|
|
include panes/yul
|
|
|
|
include widgets/compiler-selector
|
|
|
|
include widgets/libs-dropdown
|
|
|
|
include widgets/libs-entry
|
|
|
|
include widgets/share-item
|
|
|
|
include widgets/lib-selected-tpl
|
|
|
|
include widgets/lib-favorite-tpl
|
|
|
|
include widgets/lib-search-result-tpl
|
|
|
|
include widgets/tree-editor-tpl
|
|
|
|
include widgets/possible-override-tpl
|
|
|
|
include widgets/possible-runtime-tool-tpl
|
|
|
|
include widgets/overrides-favorite-tpl
|
|
|
|
+monacopane("stackusage")
|
|
|
|
+monacopane("flags")
|
|
|
|
+monacopane("ast")
|
|
|
|
+monacopane("tool-input")
|
|
|
|
+monacopane("gnatdebugtree")
|
|
|
|
+monacopane("gnatdebug")
|
|
|
|
+monacopane("rustmir")
|
|
|
|
+monacopane("haskellCore")
|
|
|
|
+monacopane("haskellStg")
|
|
|
|
+monacopane("haskellCmm")
|
|
|
|
+monacopane("rustmacroexp")
|
|
|
|
+monacopane("rusthir")
|
|
|
|
+monacopane("clojuremacroexp")
|
|
|
|
+monacopane("yul")
|