aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-12-15 14:50:25 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-12-15 14:50:25 +0000
commit9d69847d6ea68145f1b065d5d4a1cafadebf0d37 (patch)
tree6c48720d70dd823a0ad924b247e1e048ec0e16f2 /gcc
parent7598036b5a94ff138f7ae9a007b385d1b6000afd (diff)
downloadgcc-9d69847d6ea68145f1b065d5d4a1cafadebf0d37.zip
gcc-9d69847d6ea68145f1b065d5d4a1cafadebf0d37.tar.gz
gcc-9d69847d6ea68145f1b065d5d4a1cafadebf0d37.tar.bz2
lto-wrapper.c (run_gcc): In non-parallel mode remove ltrans inputs immediately after processing them.
2011-12-15 Richard Guenther <rguenther@suse.de> * lto-wrapper.c (run_gcc): In non-parallel mode remove ltrans inputs immediately after processing them. In parallel mode truncate the ltrans inputs in the make rule that processes them if temporary files are not to be preserved. From-SVN: r182370
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/lto-wrapper.c15
2 files changed, 20 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3357e8f..9ec882d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2011-12-15 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (run_gcc): In non-parallel mode remove
+ ltrans inputs immediately after processing them. In parallel
+ mode truncate the ltrans inputs in the make rule that processes
+ them if temporary files are not to be preserved.
+
2011-12-15 Anatoly Sokolov <aesok@post.ru>
* config/arm/arm.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c
index 5fb3762..1cc7bfb 100644
--- a/gcc/lto-wrapper.c
+++ b/gcc/lto-wrapper.c
@@ -811,9 +811,19 @@ cont:
for (j = 1; new_argv[j] != NULL; ++j)
fprintf (mstream, " '%s'", new_argv[j]);
fprintf (mstream, "\n");
+ /* If we are not preserving the ltrans input files then
+ truncate them as soon as we have processed it. This
+ reduces temporary disk-space usage. */
+ if (! debug)
+ fprintf (mstream, "\t@-touch -r %s %s.tem > /dev/null 2>&1 "
+ "&& mv %s.tem %s\n",
+ input_name, input_name, input_name, input_name);
}
else
- fork_execute (CONST_CAST (char **, new_argv));
+ {
+ fork_execute (CONST_CAST (char **, new_argv));
+ maybe_unlink_file (input_name);
+ }
output_names[i] = output_name;
}
@@ -851,12 +861,13 @@ cont:
collect_wait (new_argv[0], pex);
maybe_unlink_file (makefile);
makefile = NULL;
+ for (i = 0; i < nr; ++i)
+ maybe_unlink_file (input_names[i]);
}
for (i = 0; i < nr; ++i)
{
fputs (output_names[i], stdout);
putc ('\n', stdout);
- maybe_unlink_file (input_names[i]);
free (input_names[i]);
}
nr = 0;