Add alias option for gcc tree/rtl viewer (#7985) (#7987)

This option is undocumented, but has been around since 2010 for GCC
4.6.0
This commit is contained in:
Iain Buclaw
2025-08-04 15:44:08 +02:00
committed by GitHub
parent 92ea25efb5
commit 1055430504
6 changed files with 13 additions and 0 deletions

View File

@@ -715,6 +715,9 @@ export class BaseCompiler {
if (gccDumpOptions.dumpFlags.address !== false) { if (gccDumpOptions.dumpFlags.address !== false) {
flags += '-address'; flags += '-address';
} }
if (gccDumpOptions.dumpFlags.alias !== false) {
flags += '-alias';
}
if (gccDumpOptions.dumpFlags.slim !== false) { if (gccDumpOptions.dumpFlags.slim !== false) {
flags += '-slim'; flags += '-slim';
} }

View File

@@ -2173,6 +2173,7 @@ export class Compiler extends MonacoPane<monaco.editor.IStandaloneCodeEditor, Co
this.dumpFlags = { this.dumpFlags = {
gimpleFe: dumpOpts.gimpleFeOption, gimpleFe: dumpOpts.gimpleFeOption,
address: dumpOpts.addressOption, address: dumpOpts.addressOption,
alias: dumpOpts.aliasOption,
slim: dumpOpts.slimOption, slim: dumpOpts.slimOption,
raw: dumpOpts.rawOption, raw: dumpOpts.rawOption,
details: dumpOpts.detailsOption, details: dumpOpts.detailsOption,

View File

@@ -47,6 +47,7 @@ export type GccDumpFiltersState = {
gimpleFeOption: boolean; gimpleFeOption: boolean;
addressOption: boolean; addressOption: boolean;
aliasOption: boolean;
blocksOption: boolean; blocksOption: boolean;
linenoOption: boolean; linenoOption: boolean;
detailsOption: boolean; detailsOption: boolean;

View File

@@ -53,6 +53,8 @@ export class GccDump extends MonacoPane<monaco.editor.IStandaloneCodeEditor, Gcc
optionGimpleFeTitle: string; optionGimpleFeTitle: string;
optionAddressButton: JQuery<HTMLElement>; optionAddressButton: JQuery<HTMLElement>;
optionAddressTitle: string; optionAddressTitle: string;
optionAliasButton: JQuery<HTMLElement>;
optionAliasTitle: string;
optionSlimButton: JQuery<HTMLElement>; optionSlimButton: JQuery<HTMLElement>;
optionSlimTitle: string; optionSlimTitle: string;
optionRawButton: JQuery<HTMLElement>; optionRawButton: JQuery<HTMLElement>;
@@ -190,6 +192,9 @@ export class GccDump extends MonacoPane<monaco.editor.IStandaloneCodeEditor, Gcc
this.optionAddressButton = this.domRoot.find("[data-bind='addressOption']"); this.optionAddressButton = this.domRoot.find("[data-bind='addressOption']");
this.optionAddressTitle = this.optionAddressButton.prop('title'); this.optionAddressTitle = this.optionAddressButton.prop('title');
this.optionAliasButton = this.domRoot.find("[data-bind='aliasOption']");
this.optionAliasTitle = this.optionAliasButton.prop('title');
this.optionSlimButton = this.domRoot.find("[data-bind='slimOption']"); this.optionSlimButton = this.domRoot.find("[data-bind='slimOption']");
this.optionSlimTitle = this.optionSlimButton.prop('title'); this.optionSlimTitle = this.optionSlimButton.prop('title');
@@ -270,6 +275,7 @@ export class GccDump extends MonacoPane<monaco.editor.IStandaloneCodeEditor, Gcc
formatButtonTitle(this.dumpIpaButton, this.dumpIpaTitle); formatButtonTitle(this.dumpIpaButton, this.dumpIpaTitle);
formatButtonTitle(this.optionGimpleFeButton, this.optionGimpleFeTitle); formatButtonTitle(this.optionGimpleFeButton, this.optionGimpleFeTitle);
formatButtonTitle(this.optionAddressButton, this.optionAddressTitle); formatButtonTitle(this.optionAddressButton, this.optionAddressTitle);
formatButtonTitle(this.optionAliasButton, this.optionAliasTitle);
formatButtonTitle(this.optionSlimButton, this.optionSlimTitle); formatButtonTitle(this.optionSlimButton, this.optionSlimTitle);
formatButtonTitle(this.optionRawButton, this.optionRawTitle); formatButtonTitle(this.optionRawButton, this.optionRawTitle);
formatButtonTitle(this.optionDetailsButton, this.optionDetailsTitle); formatButtonTitle(this.optionDetailsButton, this.optionDetailsTitle);

View File

@@ -72,6 +72,7 @@ export type LibsAndOptions = {
export type GccDumpFlags = { export type GccDumpFlags = {
gimpleFe: boolean; gimpleFe: boolean;
address: boolean; address: boolean;
alias: boolean;
slim: boolean; slim: boolean;
raw: boolean; raw: boolean;
details: boolean; details: boolean;

View File

@@ -29,6 +29,7 @@ mixin optionButton(bind, isActive, text, title)
// This addresses one was marked as aria-pressed=true, but not checked. What should its default state be then? Set to false for now // This addresses one was marked as aria-pressed=true, but not checked. What should its default state be then? Set to false for now
+optionButton("gimpleFeOption", false, "GIMPLE Frontend Syntax", "Dump syntax that the GIMPLE frontend can accept") +optionButton("gimpleFeOption", false, "GIMPLE Frontend Syntax", "Dump syntax that the GIMPLE frontend can accept")
+optionButton("addressOption", false, "Addresses", "Print the address of each tree node") +optionButton("addressOption", false, "Addresses", "Print the address of each tree node")
+optionButton("aliasOption", false, "Alias", "Display alias information")
+optionButton("blocksOption", false, "Basic Blocks", "Show the basic block boundaries (disabled in raw dumps)") +optionButton("blocksOption", false, "Basic Blocks", "Show the basic block boundaries (disabled in raw dumps)")
+optionButton("linenoOption", false, "Line Numbers", "Show line numbers") +optionButton("linenoOption", false, "Line Numbers", "Show line numbers")
+optionButton("detailsOption", false, "Pass Details", "Enable more detailed dumps (not honored by every dump option)") +optionButton("detailsOption", false, "Pass Details", "Enable more detailed dumps (not honored by every dump option)")