summaryrefslogtreecommitdiff
path: root/gcc/ipa-cp.c
diff options
context:
space:
mode:
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-20 16:20:22 +0000
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-20 16:20:22 +0000
commit3a1cb8792983ea651ae73057130ae413de312e2d (patch)
treea434eb85e3009252d458c9b59655cf3c3b1a0e64 /gcc/ipa-cp.c
parent33a2d887b9b3f0a01369c43b3194a5ea15fdff8e (diff)
downloadgcc-3a1cb8792983ea651ae73057130ae413de312e2d.tar.gz
2013-03-20 Martin Jambor <mjambor@suse.cz>
* params.def (PARAM_IPA_CP_ARRAY_INDEX_HINT_BONUS): New parameter. * ipa-cp.c (hint_time_bonus): Add abonus for known array indices. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196832 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-cp.c')
-rw-r--r--gcc/ipa-cp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index d01b053a3f9..69d7d23acb2 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -1622,9 +1622,12 @@ devirtualization_time_bonus (struct cgraph_node *node,
static int
hint_time_bonus (inline_hints hints)
{
+ int result = 0;
if (hints & (INLINE_HINT_loop_iterations | INLINE_HINT_loop_stride))
- return PARAM_VALUE (PARAM_IPA_CP_LOOP_HINT_BONUS);
- return 0;
+ result += PARAM_VALUE (PARAM_IPA_CP_LOOP_HINT_BONUS);
+ if (hints & INLINE_HINT_array_index)
+ result += PARAM_VALUE (PARAM_IPA_CP_ARRAY_INDEX_HINT_BONUS);
+ return result;
}
/* Return true if cloning NODE is a good idea, given the estimated TIME_BENEFIT