aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-09-05 15:14:12 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2009-09-05 15:14:12 +0000
commit575140c2f29ee35893f4551ca20f15a587c1727b (patch)
treec535181b3ba7f773db2f426e2c19631148d70d4b /gcc/tree-ssa.c
parentb2acf594606e2ad30b325e7dde4380285ed23fdb (diff)
downloadgcc-575140c2f29ee35893f4551ca20f15a587c1727b.zip
gcc-575140c2f29ee35893f4551ca20f15a587c1727b.tar.gz
gcc-575140c2f29ee35893f4551ca20f15a587c1727b.tar.bz2
re PR tree-optimization/41271 (FAIL: gcc.dg/matrix/matrix-2.c scan-ipa-dump-times matrix-reorg "Flattened 2 dimensions" 1)
2009-09-05 Richard Guenther <rguenther@suse.de> PR middle-end/41271 * tree-ssa.c (useless_type_conversion_p): Drop qualifiers before comparing function argument types. From-SVN: r151453
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r--gcc/tree-ssa.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index db707fb..0ff4733 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -1289,7 +1289,8 @@ useless_type_conversion_p (tree outer_type, tree inner_type)
if (!TYPE_ARG_TYPES (outer_type))
return true;
- /* If the argument types are compatible the conversion is useless. */
+ /* If the unqualified argument types are compatible the conversion
+ is useless. */
if (TYPE_ARG_TYPES (outer_type) == TYPE_ARG_TYPES (inner_type))
return true;
@@ -1298,8 +1299,9 @@ useless_type_conversion_p (tree outer_type, tree inner_type)
outer_parm && inner_parm;
outer_parm = TREE_CHAIN (outer_parm),
inner_parm = TREE_CHAIN (inner_parm))
- if (!useless_type_conversion_p (TREE_VALUE (outer_parm),
- TREE_VALUE (inner_parm)))
+ if (!useless_type_conversion_p
+ (TYPE_MAIN_VARIANT (TREE_VALUE (outer_parm)),
+ TYPE_MAIN_VARIANT (TREE_VALUE (inner_parm))))
return false;
/* If there is a mismatch in the number of arguments the functions