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]

Re: missing eh regions?


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;
> }


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