Mercurial > hg > CbC > CbC_gcc
diff gcc/config/bfin/bfin.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/config/bfin/bfin.c Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/config/bfin/bfin.c Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* The Blackfin code generation auxiliary output file. - Copyright (C) 2005-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2018 Free Software Foundation, Inc. Contributed by Analog Devices. This file is part of GCC. @@ -18,6 +18,8 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ +#define IN_TARGET_CODE 1 + #include "config.h" #include "system.h" #include "coretypes.h" @@ -3771,7 +3773,7 @@ point. */ if (!loop->incoming_src && loop->head != loop->incoming_dest) { - rtx label = BB_HEAD (loop->incoming_dest); + rtx_insn *label = BB_HEAD (loop->incoming_dest); /* If we're jumping to the final basic block in the loop, and there's only one cheap instruction before the end (typically an increment of an induction variable), we can just emit a copy here instead of a @@ -4605,7 +4607,7 @@ && any_condjump_p (insn) && (cbranch_predicted_taken_p (insn))) { - rtx target = JUMP_LABEL (insn); + rtx_insn *target = JUMP_LABEL_AS_INSN (insn); rtx_insn *next = next_real_insn (target); if (GET_CODE (PATTERN (next)) == UNSPEC_VOLATILE @@ -4905,30 +4907,31 @@ /* Table of valid machine attributes. */ static const struct attribute_spec bfin_attribute_table[] = { - /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, - affects_type_identity } */ - { "interrupt_handler", 0, 0, false, true, true, handle_int_attribute, - false }, - { "exception_handler", 0, 0, false, true, true, handle_int_attribute, - false }, - { "nmi_handler", 0, 0, false, true, true, handle_int_attribute, false }, - { "nesting", 0, 0, false, true, true, NULL, false }, - { "kspisusp", 0, 0, false, true, true, NULL, false }, - { "saveall", 0, 0, false, true, true, NULL, false }, - { "longcall", 0, 0, false, true, true, bfin_handle_longcall_attribute, - false }, - { "shortcall", 0, 0, false, true, true, bfin_handle_longcall_attribute, - false }, - { "l1_text", 0, 0, true, false, false, bfin_handle_l1_text_attribute, - false }, - { "l1_data", 0, 0, true, false, false, bfin_handle_l1_data_attribute, - false }, - { "l1_data_A", 0, 0, true, false, false, bfin_handle_l1_data_attribute, - false }, - { "l1_data_B", 0, 0, true, false, false, bfin_handle_l1_data_attribute, - false }, - { "l2", 0, 0, true, false, false, bfin_handle_l2_attribute, false }, - { NULL, 0, 0, false, false, false, NULL, false } + /* { name, min_len, max_len, decl_req, type_req, fn_type_req, + affects_type_identity, handler, exclude } */ + { "interrupt_handler", 0, 0, false, true, true, false, + handle_int_attribute, NULL }, + { "exception_handler", 0, 0, false, true, true, false, + handle_int_attribute, NULL }, + { "nmi_handler", 0, 0, false, true, true, false, handle_int_attribute, + NULL }, + { "nesting", 0, 0, false, true, true, false, NULL, NULL }, + { "kspisusp", 0, 0, false, true, true, false, NULL, NULL }, + { "saveall", 0, 0, false, true, true, false, NULL, NULL }, + { "longcall", 0, 0, false, true, true, false, + bfin_handle_longcall_attribute, NULL }, + { "shortcall", 0, 0, false, true, true, false, + bfin_handle_longcall_attribute, NULL }, + { "l1_text", 0, 0, true, false, false, false, + bfin_handle_l1_text_attribute, NULL }, + { "l1_data", 0, 0, true, false, false, false, + bfin_handle_l1_data_attribute, NULL }, + { "l1_data_A", 0, 0, true, false, false, false, + bfin_handle_l1_data_attribute, NULL }, + { "l1_data_B", 0, 0, true, false, false, false, + bfin_handle_l1_data_attribute, NULL }, + { "l2", 0, 0, true, false, false, false, bfin_handle_l2_attribute, NULL }, + { NULL, 0, 0, false, false, false, false, NULL, NULL } }; /* Implementation of TARGET_ASM_INTEGER. When using FD-PIC, we need to