[AArch64] Use move-if-change for aarch64-tune.md
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 6 Jan 2020 13:01:48 +0000 (13:01 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 6 Jan 2020 13:01:48 +0000 (13:01 +0000)
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

gcc/ChangeLog
gcc/config/aarch64/t-aarch64

index 520562a1fc892b7b936590836ec70f46eec4ab6d..820a86f353d2261a8d8a8fbcf99679dd42b79b74 100644 (file)
@@ -1,3 +1,11 @@
+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
index ed250ea136908f83c8bea52e1996e94a8747692e..475d5c5e8af3d16560f0b1ee04e5570856a2b19e 100644 (file)
@@ -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) \