X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCmain.c;h=005181240a880a8fed9e745a949d784a2cc1d439;hb=24b38610695ad1df39fb34e5e63be583035e2e21;hp=1763c15baea83c7be46d8f81a159d06f6a95c597;hpb=1015a782aafa0d10308550a8675dd4b89f7d93ed;p=fw%2Fsdcc diff --git a/src/SDCCmain.c b/src/SDCCmain.c index 1763c15b..00518124 100644 --- a/src/SDCCmain.c +++ b/src/SDCCmain.c @@ -115,6 +115,7 @@ char DefaultExePath[128]; #define OPTION_DATA_LOC "--data-loc" #define OPTION_CODE_LOC "--code-loc" #define OPTION_IDATA_LOC "--idata-loc" +#define OPTION_NO_LABEL_OPT "--nolabelopt" #define OPTION_NO_LOOP_INV "--noinvariant" #define OPTION_NO_LOOP_IND "--noinduction" #define OPTION_LESS_PEDANTIC "--lesspedantic" @@ -152,6 +153,7 @@ optionsTable[] = { { 0, "--stack-10bit", &options.stack10bit, "use the 10bit stack for ds390 (default)" }, { 0, "--xstack", &options.useXstack, "Use external stack" }, { 0, OPTION_NO_GCSE, NULL, "Disable the GCSE optimisation" }, + { 0, OPTION_NO_LABEL_OPT, NULL, "Disable label optimisation" }, { 0, OPTION_NO_LOOP_INV, NULL, "Disable optimisation of invariants" }, { 0, OPTION_NO_LOOP_IND, NULL, NULL }, { 0, "--nojtbound", &optimize.noJTabBoundary, "Don't generate boundary check for jump tables" }, @@ -955,6 +957,12 @@ parseCmdLine (int argc, char **argv) continue; } + if (strcmp (argv[i], OPTION_NO_LABEL_OPT) == 0) + { + optimize.label4 = 0; + continue; + } + if (strcmp (argv[i], OPTION_NO_LOOP_IND) == 0) { optimize.loopInduction = 0;