aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.def
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2015-05-14 20:40:44 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2015-05-14 20:40:44 +0000
commit5074a1f86a57764f8fb5048e6008aab3e7064b7d (patch)
treee18b312551461a4b8aeea02f6c9b58295145119b /gcc/target.def
parentf226d22967576772030669a06d5bea73a5802d2f (diff)
downloadgcc-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.def10
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,