* [gfortran] Fix inlining
@ 2003-11-30 14:56 Paul Brook
0 siblings, 0 replies; only message in thread
From: Paul Brook @ 2003-11-30 14:56 UTC (permalink / raw)
To: gcc-patches, fortran
Patch below sets the tree inlining flags in the same way as the C frontend.
I haven't checked if inlining actually works, but it doesn't seem to break
anything.
Tested on i686-linux.
Applied to tree-ssa branch.
Paul
2003-11-30 Paul Brook <paul@nowt.org>
* f95-lang.c (gfc_post_options): Move ...
* options.c (gfc_post_options): .. to here. Handle inlining options.
* gfortran.h (gfc_post_options): Add prototype.
diff -urpxCVS clean/tree-ssa/gcc/fortran/f95-lang.c new-gcc/gcc/fortran/
f95-lang.c
--- clean/tree-ssa/gcc/fortran/f95-lang.c
+++ new-gcc/gcc/fortran/f95-lang.c
@@ -326,24 +326,6 @@ gfc_init (void)
}
-/* Finalize commandline options. */
-
-static bool
-gfc_post_options (const char **pfilename)
-{
- const char *filename = *pfilename;
-
- /* Verify the input file name. */
- if (!filename || strcmp (filename, "-") == 0)
- {
- filename = "";
- }
-
- gfc_option.source = filename;
-
- return false;
-}
-
static void
gfc_finish (void)
{
diff -urpxCVS clean/tree-ssa/gcc/fortran/gfortran.h new-gcc/gcc/fortran/
gfortran.h
--- clean/tree-ssa/gcc/fortran/gfortran.h
+++ new-gcc/gcc/fortran/gfortran.h
@@ -1333,6 +1333,7 @@ void gfc_done_2 (void);
/* options.c */
unsigned int gfc_init_options (unsigned int, const char **);
int gfc_handle_option (size_t, const char *, int);
+bool gfc_post_options (const char **);
/* iresolve.c */
char * gfc_get_string (const char *, ...) ATTRIBUTE_PRINTF_1;
diff -urpxCVS clean/tree-ssa/gcc/fortran/options.c new-gcc/gcc/fortran/
options.c
--- clean/tree-ssa/gcc/fortran/options.c
+++ new-gcc/gcc/fortran/options.c
@@ -30,6 +30,7 @@ Boston, MA 02111-1307, USA. */
#include "intl.h"
#include "opts.h"
#include "options.h"
+#include "tree-inline.h"
#include "gfortran.h"
@@ -76,6 +77,40 @@ gfc_init_options (unsigned int argc ATTR
}
+/* Finalize commandline options. */
+
+bool
+gfc_post_options (const char **pfilename)
+{
+ const char *filename = *pfilename;
+
+ /* Verify the input file name. */
+ if (!filename || strcmp (filename, "-") == 0)
+ {
+ filename = "";
+ }
+
+ gfc_option.source = filename;
+
+ flag_inline_trees = 1;
+
+ /* Use tree inlining if possible. Function instrumentation is only
+ done in the RTL level, so we disable tree inlining. */
+ if (! flag_instrument_function_entry_exit)
+ {
+ if (!flag_no_inline)
+ flag_no_inline = 1;
+ if (flag_inline_functions)
+ {
+ flag_inline_trees = 2;
+ flag_inline_functions = 0;
+ }
+ }
+
+ return false;
+}
+
+
/* Set the options for -Wall. */
static void
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-11-30 13:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-30 14:56 [gfortran] Fix inlining Paul Brook
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).