> Please keep the "redundant" test, it speeds up comparison on hash
> collisions.  As you are on it I'd use size_int (lr).

The redundant test is very redundant, see the line just below it.

> I think it's ok to CSE foo (0) for
> 
>    try {
>       foo (0);
>    } catch (...) { side-effect }
>    foo (0);
> 
> but not
> 
>    foo(0);
>    try {
>      foo (0);
>    } catch (...) { side-effect }
> 
> but I don't see a clever way to preserve one but not the other
> (at least in SCCVN).  Do you think it's worth trying to preserve
> that?

I doubt it, I think this would happen very rarely in practice.  The problem in 
Ada doesn't come from real-life code but from an artificial ACATS test.

> Otherwise the patch looks good to me.  (bonus point for a C++
> testcase as Ada is not in our testing requirements and it would
> be nice to exercise this w/o Ada)

OK, I can add a C++ testcase.

-- 
Eric Botcazou

Reply via email to