On Thu, Oct 16, 2014 at 3:57 PM, Tom de Vries <tom_devr...@mentor.com> wrote: > On 16-10-14 14:20, Richard Biener wrote: >>> >>> Richard, >>> > >>> >I've implemented the changes listed above, and also made the message a >>> > bit >>> >more verbose: >>> >... >>> >kernels-2.c: In function ‘main’: >>> >kernels-2.c:41:5: error: statement uses released SSA name >>> > for (COUNTERTYPE ii = 0; ii < N; ii++) >>> > ^ >>> ># .MEM_57 = VDEF <.MEM_79> >>> >.omp_data_arr.10 ={v} {CLOBBER}; >>> >The use of .MEM_79 should have been replaced or marked for renaming >> >> ^^^ or marked for renaming is not correct, only replacing is >> > > I've checked in the version with "should have been replaced". > > I was trying to mention both possibilities that you mentioned here: > https://gcc.gnu.org/ml/gcc-patches/2011-10/msg00977.html: > ... > Whoever unlinks the vuse (by removing its definition) has to replace it with > something valid, which is either the bare symbol .MEM, or the VUSE > associated with the removed VDEF (thus, as unlink_stmt_vdef does). > ... > > So, I hope better formulated this time, what I intended to state was: > ... > The use of .MEM_79 should have been replaced with either the underlying > symbol or a valid SSA name. > ... > > But perhaps that's not generally valid? I've browsed tree-into-ssa.c a bit, > and I only find the 'replace with underlying symbol' for virtual operands.
Yeah, that's only valid for virtual operands. Richard. > Thanks, > - Tom >