This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Tree-SSA self checking infrastructure


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
 >



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]