Mercurial > hg > CbC > CbC_gcc
diff gcc/config/aarch64/cortex-a57-fma-steering.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line diff
--- a/gcc/config/aarch64/cortex-a57-fma-steering.c Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/config/aarch64/cortex-a57-fma-steering.c Thu Feb 13 11:34:05 2020 +0900 @@ -1,5 +1,5 @@ /* FMA steering optimization pass for Cortex-A57. - Copyright (C) 2015-2018 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of GCC. @@ -37,6 +37,7 @@ #include "insn-attr.h" #include "context.h" #include "tree-pass.h" +#include "function-abi.h" #include "regrename.h" #include "aarch64-protos.h" @@ -114,6 +115,9 @@ void dispatch (); private: + /* Prohibit copy construction. */ + fma_forest (const fma_forest &); + /* The list of roots that form this forest. */ std::list<fma_root_node *> *m_roots; @@ -148,6 +152,10 @@ void rename (fma_forest *); void dump_info (fma_forest *); +private: + /* Prohibit copy construction. */ + fma_node (const fma_node &); + protected: /* Root node that lead to this node. */ fma_root_node *m_root; @@ -203,6 +211,9 @@ void execute_fma_steering (); private: + /* Prohibit copy construction. */ + func_fma_steering (const func_fma_steering &); + void dfs (void (*) (fma_forest *), void (*) (fma_forest *, fma_root_node *), void (*) (fma_forest *, fma_node *), bool); void analyze (); @@ -257,7 +268,7 @@ if (DEBUG_INSN_P (tmp->insn)) continue; n_uses++; - IOR_COMPL_HARD_REG_SET (*unavailable, reg_class_contents[tmp->cl]); + *unavailable |= ~reg_class_contents[tmp->cl]; super_class = reg_class_superunion[(int) super_class][(int) tmp->cl]; } @@ -271,7 +282,7 @@ { fprintf (dump_file, "Register %s in insn %d", reg_names[reg], INSN_UID (head->first->insn)); - if (head->need_caller_save_reg) + if (head->call_abis) fprintf (dump_file, " crosses a call"); }