This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [rfc] exception handling in gimple
- From: Michael Matz <matz at suse dot de>
- To: Richard Henderson <rth at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 8 Sep 2009 17:16:33 +0200 (CEST)
- Subject: Re: [rfc] exception handling in gimple
- References: <4A9F1A8D.5080501@redhat.com>
Hi,
On Wed, 2 Sep 2009, Richard Henderson wrote:
> So this is well beyond the WIP stage, and I'd like to get some real
> feedback on it.
[still reading patch linearly, skipping the two large files :) ]
I think this (tree-cfg.c):
- /* OpenMP directives alter control flow. */
- if (is_gimple_omp (t))
- return true;
+ case GIMPLE_EH_DISPATCH:
+ /* EH_DISPATCH branches to the individual catch handlers at
+ this level of a try or allowed-exceptions region. It can
+ fallthru to the next statement as well. */
+ return true;
+
+ case GIMPLE_OMP_PARALLEL:
... and all other GIMPLE_OMP_ stuff explicitely listed ...
is better done like:
switch (code) {
case call: ...
case dispatch: ...
default:
if (is_gimple_omp (t))
...
else
break;
}
If we have a nice predicate already we should use it to reduce maintenance
costs.
Ciao,
Michael.