public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: missing eh regions?
@ 1997-10-06 13:00 Mike Stump
  1997-10-06 16:25 ` Richard Henderson
  0 siblings, 1 reply; 5+ messages in thread
From: Mike Stump @ 1997-10-06 13:00 UTC (permalink / raw)
  To: egcs, rth

Just a guess, but...  There is an optimization pass that removed
unneeded EH regions.  Since you didn't compile with -fasync-exceptions
(sp?), they were eliminated as there were no calls...  If people
really want it, we could smarten the compiler about math exception
stuff as it relates to EH.  It already has most of the smarts (in two
different places) but they don't know about eachother.

Also, we need to add support for EH sync points (to make the chip
flush pending insns that might trap) to make this really work as one
might expect.  That requires a new md insn type, and support for it in
the alpha.md file.

> Date: Mon, 6 Oct 1997 00:00:49 -0700
> From: Richard Henderson <rth@cygnus.com>
> To: egcs@cygnus.com

> I was looking to teach the alpha trap shadow processing about 
> exception regions, so that FP exceptions could be properly 
> caught, etc.

> But it appears that, in the appended program, the exception 
> region notes were eliminated.  What gives?  


> r~


> double foo(double x, double y)
> {
>   double result = 0.0;
>   if (x < y) {
>     try {
>       result = x / y;
>     }
>     catch (...) {
>     }
>   }
>   else {
>     try {
>       result = x * y;
>     }
>     catch(...) {
>     }
>   }
>   return result;
> }

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: missing eh regions?
@ 1997-10-06 17:47 Mike Stump
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Stump @ 1997-10-06 17:47 UTC (permalink / raw)
  To: rth; +Cc: egcs

> Date: Mon, 6 Oct 1997 16:17:26 -0700
> From: Richard Henderson <rth@dot.cygnus.com>
> To: Mike Stump <mrs@wrs.com>

> Incidentally, is there a quick way one can tell if a function has
> exception regions?

If we want a coarse gained, this has, or doesn't have, we could add
it, but no, there isn't a preexisting one.

^ permalink raw reply	[flat|nested] 5+ messages in thread
[parent not found: <19971006000049.08706.cygnus.egcs@dot.cygnus.com>]
* missing eh regions?
@ 1997-10-06  0:03 Richard Henderson
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 1997-10-06  0:03 UTC (permalink / raw)
  To: egcs

I was looking to teach the alpha trap shadow processing about 
exception regions, so that FP exceptions could be properly 
caught, etc.

But it appears that, in the appended program, the exception 
region notes were eliminated.  What gives?  


r~


double foo(double x, double y)
{
  double result = 0.0;
  if (x < y) {
    try {
      result = x / y;
    }
    catch (...) {
    }
  }
  else {
    try {
      result = x * y;
    }
    catch(...) {
    }
  }
  return result;
}

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~1997-10-06 17:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-10-06 13:00 missing eh regions? Mike Stump
1997-10-06 16:25 ` Richard Henderson
  -- strict thread matches above, loose matches on Subject: below --
1997-10-06 17:47 Mike Stump
     [not found] <19971006000049.08706.cygnus.egcs@dot.cygnus.com>
1997-10-06  9:37 ` Jason Merrill
1997-10-06  0:03 Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).