This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Tree-SSA self checking infrastructure
- From: law at redhat dot com
- To: Andrew MacLeod <amacleod at redhat dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Jan Hubicka <jh at suse dot cz>, gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Wed, 19 Nov 2003 12:11:04 -0700
- Subject: Re: Tree-SSA self checking infrastructure
- Reply-to: law at redhat dot com
In message <1069267901.30709.844.camel@p4>, Andrew MacLeod writes:
>I beleive we put it there because the information naturally flowed out
>of the work SSA->normal was doing when trying to coalesce ssa versions
>together. An SSA version which the live range analysis determines is
>live on entry to the program which also has a DEF in the program
>somewhere is determined to be in error, and we abort.
>
>You could call it from anywhere, but its in the live-on-entry
>calculator, so you'd be doing some additional work. You could call
>create_ssa_var_map() to create the partition set, followed by
>live_on_entry() then throw away the results...
>
>Wouldnt be too difficult... just a waste of some compile time.
Yup. That's why it'd have to be under an ENABLE_CHECKING directive of
some kind.
Note that we don't necessarily have to do the live-at-entry check. Can't
we do something like
FOR_EACH_BB
FOR_EACH_STMT
FOR_EACH_OPERAND
def_bb = bb_for_stmt (SSA_NAME_DEF_STMT (operand))
if (! def_bb dominates bb)
abort
With a special check for the default definition?
jeff
>
>Andrew
>