Skip to content

Files

Latest commit

2e197af · Feb 21, 2024

History

History
This branch is 920 commits behind compiler-explorer/compiler-explorer:main.

docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jul 30, 2023
Oct 5, 2023
Nov 7, 2023
May 10, 2022
Feb 21, 2024
Jun 5, 2022
Oct 19, 2023
Dec 28, 2022
Sep 28, 2023
Jun 20, 2023
Oct 5, 2023
Oct 5, 2023
Dec 24, 2023
Sep 9, 2022
May 10, 2022
May 20, 2020
Jan 24, 2023
May 10, 2022
Dec 28, 2022
May 10, 2022
Jun 29, 2023
Oct 5, 2023
Apr 5, 2023
May 12, 2022
Mar 14, 2023
Oct 1, 2020
Dec 3, 2023
May 21, 2021
May 26, 2020
May 10, 2022
Jan 29, 2024
Apr 18, 2018
Feb 23, 2018
Feb 2, 2023

How do I ?

This is a how-to guide for the user-interface presented by Compiler Explorer. This doesn't cover the details of how to set up or modify Compiler Explorer for your own needs. For that, please check the documents which already cover topics like:

Fast links:

Change the assembly syntax from Intel

Output, intel and at&t

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

This is the symbol that looks like a 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 Options for Clang

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 allows the Tree, IPA, RTL and graph outputs, while Clang allows optimization, AST, IR and graph outputs. Some outputs (e.g. RTL or graph) also have a rich set of options in the UI to enable focussing on a particular function or compiler stage.