Mercurial > hg > graal-jvmci-8
diff src/share/vm/adlc/formssel.cpp @ 602:ed6404fac86b
6810855: KILL vs. TEMP ordering restrictions are too strong
Reviewed-by: kvn
author | never |
---|---|
date | Thu, 26 Feb 2009 16:57:21 -0800 |
parents | 0ad1cb407fa1 |
children | dbbe28fc66b5 |
line wrap: on
line diff
--- a/src/share/vm/adlc/formssel.cpp Thu Feb 26 14:26:02 2009 -0800 +++ b/src/share/vm/adlc/formssel.cpp Thu Feb 26 16:57:21 2009 -0800 @@ -858,19 +858,7 @@ OperandForm* kill = (OperandForm*)_localNames[kill_name]; globalAD->syntax_err(_linenum, "%s: %s %s must be at the end of the argument list\n", _ident, kill->_ident, kill_name); - } else if (e->isa(Component::KILL)) { - kill_name = name; - } - - // TEMPs are real uses and need to be among the first parameters - // listed, otherwise the numbering of operands and inputs gets - // screwy, so enforce this restriction during parse. - if (kill_name != NULL && - e->isa(Component::TEMP) && !e->isa(Component::DEF)) { - OperandForm* kill = (OperandForm*)_localNames[kill_name]; - globalAD->syntax_err(_linenum, "%s: %s %s must follow %s %s in the argument list\n", - _ident, kill->_ident, kill_name, opForm->_ident, name); - } else if (e->isa(Component::KILL)) { + } else if (e->isa(Component::KILL) && !e->isa(Component::USE)) { kill_name = name; } }