Added some code to handle -Oego,opt,asopt and the like.
By default, optimizers can be excluded by giving them a negative priority in the description files. This is currently done for the global optimizer
This commit is contained in:
parent
5ab4d1d2f8
commit
2295cd130a
|
@ -5,7 +5,9 @@
|
||||||
EXTERN char *stopsuffix; /* Suffix to stop at */
|
EXTERN char *stopsuffix; /* Suffix to stop at */
|
||||||
EXTERN char *machine; /* The machine id */
|
EXTERN char *machine; /* The machine id */
|
||||||
EXTERN char *callname; /* argv[0] */
|
EXTERN char *callname; /* argv[0] */
|
||||||
EXTERN char *rts; /* The runtime-system id */
|
EXTERN char *rts; /* The runtime-system */
|
||||||
|
EXTERN char *rtsuf; /* The runtime-system module suffix */
|
||||||
|
EXTERN char *Optlist; /* Which optimizers */
|
||||||
|
|
||||||
EXTERN list_head arguments; /* List of arguments */
|
EXTERN list_head arguments; /* List of arguments */
|
||||||
EXTERN list_head flags; /* List of flags */
|
EXTERN list_head flags; /* List of flags */
|
||||||
|
|
|
@ -175,6 +175,8 @@ vieuwargs(argc,argv) char **argv ; {
|
||||||
hide=YES ;
|
hide=YES ;
|
||||||
break ;
|
break ;
|
||||||
case 'O': Optflag++ ;
|
case 'O': Optflag++ ;
|
||||||
|
Optlist= &argp[2] ;
|
||||||
|
eaten=1 ;
|
||||||
break ;
|
break ;
|
||||||
case 'v': if ( argp[2] ) {
|
case 'v': if ( argp[2] ) {
|
||||||
v_flag += atoi(&argp[2]) ;
|
v_flag += atoi(&argp[2]) ;
|
||||||
|
|
|
@ -84,6 +84,7 @@ try(f_scan,suffix) list_elem *f_scan; char *suffix; {
|
||||||
scan_found();
|
scan_found();
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
if (! f_scan) return;
|
||||||
scanlist(f_scan, scan) {
|
scanlist(f_scan, scan) {
|
||||||
trafo= t_cont(*scan) ;
|
trafo= t_cont(*scan) ;
|
||||||
if ( satisfy(trafo,suffix) ) {
|
if ( satisfy(trafo,suffix) ) {
|
||||||
|
@ -129,10 +130,10 @@ try(f_scan,suffix) list_elem *f_scan; char *suffix; {
|
||||||
scan_found() ;
|
scan_found() ;
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
if ( l_next(*scan) ) {
|
if (! l_next(*scan) && !stopsuffix) {
|
||||||
try(l_next(*scan),trafo->t_out);
|
scan_found() ;
|
||||||
} else {
|
} else {
|
||||||
if ( !stopsuffix ) scan_found() ;
|
try(l_next(*scan),trafo->t_out);
|
||||||
}
|
}
|
||||||
trafo->t_scan= NO ;
|
trafo->t_scan= NO ;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue