diff options
author | Richard Guenther <rguenther@suse.de> | 2008-08-29 11:40:47 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2008-08-29 11:40:47 +0000 |
commit | 443aa7d5764a1786880bf6d10f522f5e3cfe2795 (patch) | |
tree | dc8788bf2f2b7a8da7c763095a173b0fd86a9e23 /gcc/tree-ssa-structalias.c | |
parent | fcbe056b117ca90358096b0dc75b0072a5722580 (diff) | |
download | gcc-443aa7d5764a1786880bf6d10f522f5e3cfe2795.zip gcc-443aa7d5764a1786880bf6d10f522f5e3cfe2795.tar.gz gcc-443aa7d5764a1786880bf6d10f522f5e3cfe2795.tar.bz2 |
re PR middle-end/37236 (ICE: in mark_operand_necessary, at tree-ssa-dce.c:242)
2008-08-29 Richard Guenther <rguenther@suse.de>
PR middle-end/37236
* tree-ssa-structalias.c (intra_create_variable_infos): Mark
PARAM_NOALIAS tags with is_heapvar.
* tree-ssa-operands.c (access_can_touch_variable): Offset
based tests do not apply for heapvars. Fix offset test.
* gfortran.fortran-torture/compile/pr37236.f: New testcase.
From-SVN: r139763
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r-- | gcc/tree-ssa-structalias.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index 7ed37a5..db0912a 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -4551,6 +4551,7 @@ intra_create_variable_infos (void) heapvar_insert (t, heapvar); ann = get_var_ann (heapvar); + ann->is_heapvar = 1; if (flag_argument_noalias == 1) ann->noalias_state = NO_ALIAS; else if (flag_argument_noalias == 2) |