On 08/07/2009 12:31 PM, Richard Guenther wrote:
L.N:
exc_ptr.1 = EXC_PTR_EXPR (N);
filter.1 = FILTER_EXPR (N);
Will exc_ptr.1 and filter.1 be gimple registers?
Yes.
Does the above have
virtual operands, thus are there any aliases to whatever EXP_PTR_EXPR
or FILTER_EXPR load?
No and no. They will eventually resolve to pseudos generated during
rtl eh expansion. But to avoid silliness at the gimple level I don't
want to allow them to appear at random.
Ideally, the rtl would generate what it needs directly into exc_ptr.1,
but I couldn't figure out any way to do that cleanly. In the end,
generating an extra pseudo for register allocation to coalesce is not
the worst sin I could commit here.
Can we CSE FILTER_EXPR (N) and EXC_PTR_EXPR (N)?
Yes.
r~