Hi!
create_outofssa_var_map ICEs on the attached testcase, because
DECL_REGISTER VAR_DECL input isn't SSA_NAME (that's correct).
create_outofssa_var_map needs SSA_NAME_VERSION of both the input
and output to coalesce them, therefore trying to do anything to
coalesce a VAR_DECL with SSA_NAME wouldn't fit well into the
current coalescing framework.
Ok for trunk?
BTW, the constraint analysis seems to be too simplistic to me,
although info gcc requests that if a number is together with some
other letters in one variant, it comes last (so "0rm" is invalid),
e.g. "0,1,2" or "0,rm" are valid constraints and I'm not sure if it
is a good idea to coalesce in that case. My guess would be we want
to coalesce only if the constraint contains just a number (say "5"),
or if each variant contains the same number (say "1,1" or "5,5,5").
2007-06-20 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/31866
* tree-ssa-coalesce.c (create_outofssa_var_map): Do nothing
if ASM_EXPR's input is not a SSA_NAME.
* gcc.dg/pr31866.c: New test.