aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@gmail.com>2023-02-01 13:02:17 +0200
committerClaudiu Zissulescu <claziss@gmail.com>2023-02-13 11:35:15 +0200
commitbc5581fe327388fea5af875c028ccb8cfb0b6a1c (patch)
tree7475ea09578601df921a0f4f5e9363f379316b8f /gcc
parent9847c7531e8cab740264ac32e752e825c66f23e0 (diff)
downloadgcc-bc5581fe327388fea5af875c028ccb8cfb0b6a1c.zip
gcc-bc5581fe327388fea5af875c028ccb8cfb0b6a1c.tar.gz
gcc-bc5581fe327388fea5af875c028ccb8cfb0b6a1c.tar.bz2
arc: Don't use millicode thunks unless asked for.
ARC has enter_s/leave_s instructions which can save/restore the entire function context. It is not needed the millicode thunks anylonger when compiling for size, thus, make their usage optional. gcc/ * common/config/arc/arc-common.cc (arc_option_optimization_table): Remove millicode from list. gcc/testsuite/ * gcc.target/arc/milli-1.c: Update test.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/common/config/arc/arc-common.cc1
-rw-r--r--gcc/testsuite/gcc.target/arc/milli-1.c2
2 files changed, 1 insertions, 2 deletions
diff --git a/gcc/common/config/arc/arc-common.cc b/gcc/common/config/arc/arc-common.cc
index 6423f6a..95f5dd6 100644
--- a/gcc/common/config/arc/arc-common.cc
+++ b/gcc/common/config/arc/arc-common.cc
@@ -54,7 +54,6 @@ static const struct default_options arc_option_optimization_table[] =
{ OPT_LEVELS_SIZE, OPT_fsection_anchors, NULL, 1 },
{ OPT_LEVELS_SIZE, OPT_mcase_vector_pcrel, NULL, 1 },
{ OPT_LEVELS_SIZE, OPT_msize_level_, NULL, 3 },
- { OPT_LEVELS_SIZE, OPT_mmillicode, NULL, 1 },
{ OPT_LEVELS_SIZE, OPT_fif_conversion, NULL, 0 },
{ OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
{ OPT_LEVELS_3_PLUS_SPEED_ONLY, OPT_msize_level_, NULL, 0 },
diff --git a/gcc/testsuite/gcc.target/arc/milli-1.c b/gcc/testsuite/gcc.target/arc/milli-1.c
index b501b39..5fba064 100644
--- a/gcc/testsuite/gcc.target/arc/milli-1.c
+++ b/gcc/testsuite/gcc.target/arc/milli-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-Os" } */
+/* { dg-options "-Os -mmillicode" } */
/* Test if we restore correctly blink when using millicode. */
extern void bar (void);