diff options
author | Richard Guenther <rguenther@suse.de> | 2009-09-05 15:14:12 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-09-05 15:14:12 +0000 |
commit | 575140c2f29ee35893f4551ca20f15a587c1727b (patch) | |
tree | c535181b3ba7f773db2f426e2c19631148d70d4b /gcc/tree-ssa.c | |
parent | b2acf594606e2ad30b325e7dde4380285ed23fdb (diff) | |
download | gcc-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.c | 8 |
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 |