[gcc/devel/c++-coroutines] [AArch64] Use move-if-change for aarch64-tune.md

Iain D Sandoe iains@gcc.gnu.org
Fri Jan 17 11:02:00 GMT 2020


https://gcc.gnu.org/g:033381118519f597dfb4f62614ffdec7f7b17390

commit 033381118519f597dfb4f62614ffdec7f7b17390
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Mon Jan 6 13:01:48 2020 +0000

    [AArch64] Use move-if-change for aarch64-tune.md
    
    If aarch64-tune.md was older than gentune.sh or aarch64-cores.def,
    we'd try to overwrite it even if the current contents were correct.
    This could cause problems with read-only source directories and
    could cause spurious copying for rsync --archive.
    
    2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
    
    gcc/
    	* config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md):
    	Depend on...
    	(s-aarch64-tune-md): ...this new stamp file.  Pipe the new contents
    	to a temporary file and use move-if-change to update the real
    	file where necessary.
    
    From-SVN: r279900

Diff:
---
 gcc/ChangeLog                | 8 ++++++++
 gcc/config/aarch64/t-aarch64 | 6 +++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 520562a..820a86f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
 2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
 
+	* config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md):
+	Depend on...
+	(s-aarch64-tune-md): ...this new stamp file.  Pipe the new contents
+	to a temporary file and use move-if-change to update the real
+	file where necessary.
+
+2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>
+
 	* config/aarch64/aarch64-sve.md (@aarch64_sel_dup<mode>): Use Upl
 	rather than Upa for CPY /M.
 
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index ed250ea..475d5c5 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -24,11 +24,15 @@ OPTIONS_H_EXTRA += $(srcdir)/config/aarch64/aarch64-cores.def \
 		   $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \
 		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def
 
-$(srcdir)/config/aarch64/aarch64-tune.md: $(srcdir)/config/aarch64/gentune.sh \
+$(srcdir)/config/aarch64/aarch64-tune.md: s-aarch64-tune-md; @true
+s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \
 	$(srcdir)/config/aarch64/aarch64-cores.def
 	$(SHELL) $(srcdir)/config/aarch64/gentune.sh \
 		$(srcdir)/config/aarch64/aarch64-cores.def > \
+		tmp-aarch64-tune.md
+	$(SHELL) $(srcdir)/../move-if-change tmp-aarch64-tune.md \
 		$(srcdir)/config/aarch64/aarch64-tune.md
+	$(STAMP) s-aarch64-tune-md
 
 aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \



More information about the Gcc-cvs mailing list