diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2015-05-14 20:40:44 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2015-05-14 20:40:44 +0000 |
commit | 5074a1f86a57764f8fb5048e6008aab3e7064b7d (patch) | |
tree | e18b312551461a4b8aeea02f6c9b58295145119b /gcc/target.def | |
parent | f226d22967576772030669a06d5bea73a5802d2f (diff) | |
download | gcc-5074a1f86a57764f8fb5048e6008aab3e7064b7d.zip gcc-5074a1f86a57764f8fb5048e6008aab3e7064b7d.tar.gz gcc-5074a1f86a57764f8fb5048e6008aab3e7064b7d.tar.bz2 |
re PR rtl-optimization/65862 ([MIPS] IRA/LRA issue: integers spilled to floating-point registers)
2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/65862
* target.def (ira_change_pseudo_allocno_class): New hook.
* targhooks.c (default_ira_change_pseudo_allocno_class): Default
value of the hook.
* targhooks.h (default_ira_change_pseudo_allocno_class): New
extern
* doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
hook.
* ira-costs.c (find_costs_and_classes): Call the hook and change
classes when it is necessary.
* doc/tm.texi: Update.
From-SVN: r223202
Diffstat (limited to 'gcc/target.def')
-rw-r--r-- | gcc/target.def | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/target.def b/gcc/target.def index eba9921..f2cb81d 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -4763,6 +4763,16 @@ This is currently used only by the C and C++ front ends.", tree, (tree type, tree expr), hook_tree_tree_tree_null) +/* Change pseudo allocno class calculated by IRA. */ +DEFHOOK +(ira_change_pseudo_allocno_class, + "A target hook which can change allocno class for given pseudo from\n\ + allocno class calculated by IRA.\n\ + \n\ + The default version of this target hook always returns given class.", + reg_class_t, (int, reg_class_t), + default_ira_change_pseudo_allocno_class) + /* Return true if we use LRA instead of reload. */ DEFHOOK (lra_p, |