* alias.c (alias_set_subset_of, alias_sets_must_conflict_p)
Short circuit for !flag_strict_aliasing (get_alias_set): Remove flag_strict_aliasing check. (new_alias_set): Likewise. From-SVN: r231239
This commit is contained in:
parent
5ec1ae3b8a
commit
bd04cddf10
|
@ -1,3 +1,10 @@
|
|||
2015-12-03 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* alias.c (alias_set_subset_of, alias_sets_must_conflict_p)
|
||||
Short circuit for !flag_strict_aliasing
|
||||
(get_alias_set): Remove flag_strict_aliasing check.
|
||||
(new_alias_set): Likewise.
|
||||
|
||||
2015-12-03 Evandro Menezes <e.menezes@samsung.com>
|
||||
|
||||
* config/aarch64/aarch64-cores.def: Use the Exynos M1 cost model.
|
||||
|
|
30
gcc/alias.c
30
gcc/alias.c
|
@ -405,6 +405,10 @@ alias_set_subset_of (alias_set_type set1, alias_set_type set2)
|
|||
{
|
||||
alias_set_entry *ase2;
|
||||
|
||||
/* Disable TBAA oracle with !flag_strict_aliasing. */
|
||||
if (!flag_strict_aliasing)
|
||||
return true;
|
||||
|
||||
/* Everything is a subset of the "aliases everything" set. */
|
||||
if (set2 == 0)
|
||||
return true;
|
||||
|
@ -537,6 +541,9 @@ alias_sets_conflict_p (alias_set_type set1, alias_set_type set2)
|
|||
int
|
||||
alias_sets_must_conflict_p (alias_set_type set1, alias_set_type set2)
|
||||
{
|
||||
/* Disable TBAA oracle with !flag_strict_aliasing. */
|
||||
if (!flag_strict_aliasing)
|
||||
return 1;
|
||||
if (set1 == 0 || set2 == 0)
|
||||
{
|
||||
++alias_stats.num_alias_zero;
|
||||
|
@ -816,10 +823,12 @@ get_alias_set (tree t)
|
|||
{
|
||||
alias_set_type set;
|
||||
|
||||
/* If we're not doing any alias analysis, just assume everything
|
||||
aliases everything else. Also return 0 if this or its type is
|
||||
an error. */
|
||||
if (! flag_strict_aliasing || t == error_mark_node
|
||||
/* We can not give up with -fno-strict-aliasing because we need to build
|
||||
proper type representation for possible functions which are build with
|
||||
-fstirct-aliasing. */
|
||||
|
||||
/* return 0 if this or its type is an error. */
|
||||
if (t == error_mark_node
|
||||
|| (! TYPE_P (t)
|
||||
&& (TREE_TYPE (t) == 0 || TREE_TYPE (t) == error_mark_node)))
|
||||
return 0;
|
||||
|
@ -1085,15 +1094,10 @@ get_alias_set (tree t)
|
|||
alias_set_type
|
||||
new_alias_set (void)
|
||||
{
|
||||
if (flag_strict_aliasing)
|
||||
{
|
||||
if (alias_sets == 0)
|
||||
vec_safe_push (alias_sets, (alias_set_entry *) NULL);
|
||||
vec_safe_push (alias_sets, (alias_set_entry *) NULL);
|
||||
return alias_sets->length () - 1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
if (alias_sets == 0)
|
||||
vec_safe_push (alias_sets, (alias_set_entry *) NULL);
|
||||
vec_safe_push (alias_sets, (alias_set_entry *) NULL);
|
||||
return alias_sets->length () - 1;
|
||||
}
|
||||
|
||||
/* Indicate that things in SUBSET can alias things in SUPERSET, but that
|
||||
|
|
Loading…
Reference in New Issue