> 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