public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: missing eh regions?
       [not found] <19971006000049.08706.cygnus.egcs@dot.cygnus.com>
@ 1997-10-06  9:37 ` Jason Merrill
  0 siblings, 0 replies; 5+ messages in thread
From: Jason Merrill @ 1997-10-06  9:37 UTC (permalink / raw)
  To: Richard Henderson, egcs

>>>>> Richard Henderson <rth@cygnus.com> writes:

> 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?  

Try -fasynchronous-exceptions.

Jason

^ 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

* Re: missing eh regions?
  1997-10-06 13:00 Mike Stump
@ 1997-10-06 16:25 ` Richard Henderson
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 1997-10-06 16:25 UTC (permalink / raw)
  To: Mike Stump; +Cc: egcs, rth

On Mon, Oct 06, 1997 at 12:59:04PM -0700, Mike Stump wrote:
>
> If people really want it, we could smarten the compiler about math
> exception stuff as it relates to EH.

I have no idea whether people really want it, but it certainly seems
like something that someone might want to reasonably do.

> 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.

That is essentially what I was doing when I complained.

Incidentally, is there a quick way one can tell if a function has
exception regions?  I'd like to be able to abort the pass early
when I can.


r~

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

* 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

* 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 --
     [not found] <19971006000049.08706.cygnus.egcs@dot.cygnus.com>
1997-10-06  9:37 ` missing eh regions? Jason Merrill
1997-10-06 17:47 Mike Stump
  -- strict thread matches above, loose matches on Subject: below --
1997-10-06 13:00 Mike Stump
1997-10-06 16:25 ` Richard Henderson
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).