aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteve Ellcey <sellcey@cavium.com>2017-11-17 22:44:32 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2017-11-17 22:44:32 +0000
commit0495940618abcd98af709ba462c20c89bfd04fab (patch)
treeea4f9649febb03c09335d23030c23777e142775b /gcc
parentabccc074bb741574b00b078277b711194310c497 (diff)
downloadgcc-0495940618abcd98af709ba462c20c89bfd04fab.zip
gcc-0495940618abcd98af709ba462c20c89bfd04fab.tar.gz
gcc-0495940618abcd98af709ba462c20c89bfd04fab.tar.bz2
re PR target/81356 (__builtin_strcpy is not good for copying an empty string on aarch64)
2017-11-17 Steve Ellcey <sellcey@cavium.com> PR target/81356 * config/aarch64/aarch64.c (aarch64_use_by_pieces_infrastructure_p): Remove. (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Remove define. From-SVN: r254901
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/aarch64/aarch64.c20
2 files changed, 7 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5c02a76..ad478a3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2017-11-17 Steve Ellcey <sellcey@cavium.com>
+
+ PR target/81356
+ * config/aarch64/aarch64.c (aarch64_use_by_pieces_infrastructure_p):
+ Remove.
+ (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Remove define.
+
2017-11-17 H.J. Lu <hongjiu.lu@intel.com>
* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 8779cad..5bd99f8 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -13948,22 +13948,6 @@ aarch64_asan_shadow_offset (void)
return (HOST_WIDE_INT_1 << 36);
}
-static bool
-aarch64_use_by_pieces_infrastructure_p (unsigned HOST_WIDE_INT size,
- unsigned int align,
- enum by_pieces_operation op,
- bool speed_p)
-{
- /* STORE_BY_PIECES can be used when copying a constant string, but
- in that case each 64-bit chunk takes 5 insns instead of 2 (LDR/STR).
- For now we always fail this and let the move_by_pieces code copy
- the string from read-only memory. */
- if (op == STORE_BY_PIECES)
- return false;
-
- return default_use_by_pieces_infrastructure_p (size, align, op, speed_p);
-}
-
static rtx
aarch64_gen_ccmp_first (rtx_insn **prep_seq, rtx_insn **gen_seq,
int code, tree treeop0, tree treeop1)
@@ -15458,10 +15442,6 @@ aarch64_libgcc_floating_mode_supported_p
#undef TARGET_LEGITIMIZE_ADDRESS
#define TARGET_LEGITIMIZE_ADDRESS aarch64_legitimize_address
-#undef TARGET_USE_BY_PIECES_INFRASTRUCTURE_P
-#define TARGET_USE_BY_PIECES_INFRASTRUCTURE_P \
- aarch64_use_by_pieces_infrastructure_p
-
#undef TARGET_SCHED_CAN_SPECULATE_INSN
#define TARGET_SCHED_CAN_SPECULATE_INSN aarch64_sched_can_speculate_insn