Add a simple How-To motivated by current issues (#2573)

* Add a simple How-To motivated by current issues

* Add proper ToC
This commit is contained in:
Kunal Tyagi
2021-04-14 14:46:26 +05:30
committed by GitHub
parent e2b22a8cde
commit 37b26d4f56
5 changed files with 35 additions and 0 deletions

35
docs/HowDoI_interface.md Normal file
View File

@@ -0,0 +1,35 @@
# How do I ?
This is a how-to guide for the user-interface presented by [the compiler explorer](https://godbolt.org). This doesn't cover the details of how to setup or modify the compiler explorer for your own needs. For that, please check the documents which already cover topics like:
* [Adding a language](./AddingALanguage.md)
* [Adding a compiler](./AddingACompiler.md)
* [Adding a tool](./AddingATool.md)
* and many more at [compiler-explorer/docs](https://github.com/compiler-explorer/compiler-explorer/tree/main/docs)
Fast links:
- [How do I ?](#how-do-i-)
- [Change the assembly syntax from Intel](#change-the-assembly-syntax-from-intel)
- [Compare the time taken by compilation and networking](#compare-the-time-taken-by-compilation-and-networking)
- [View intermediate information provided by the compilers](#view-intermediate-information-provided-by-the-compilers)
## Change the assembly syntax from Intel
![Output, intel and at&t](./images/asm_info.png)
The option to switch assembly from Intel to AT&T syntax is present in the `Output` option of each compiler. If enough space is not present, the option also presents itself as the gear symbol (⚙)
## Compare the time taken by compilation and networking
![Brief overview of UI](./images/brief_overview.png)
This is the symbol that looks like the cellular network strength or a monotonically increasing bar graph (📶). If your compilations are taking long, you can use this to check the time taken by:
* Networking, JavaScript, waiting for events, etc.
* Checking the cache and retrieving from it on a cache-hit
* Compilation (on force compilation or cache-miss)
* Parsing the generated assembly before presenting it
## View intermediate information provided by the compilers
![Options for GCC](./images/add_new_gcc.png)
![Options for Clang](./images/add_new_clang.png)
Though both GCC and Clang create supplementary outputs along with assembly (shown by default) and an executable (created if an executor has been added), the exact nature of the outputs and their formats differ between the compilers.
GCC only allows the RTL and graph output, while Clang allows optimization, AST, IR and graph outputs. Some of the outputs, like RTL and graph output also have a rich set of options in the UI to enable focussing on a particular function or compiler stage.

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
docs/images/add_new_gcc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
docs/images/asm_info.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB