6810855: KILL vs. TEMP ordering restrictions are too strong
authornever
Thu Feb 26 16:57:21 2009 -0800 (12 months ago)
changeset 602ed6404fac86b
parent 601523ded093c31
child 603dbbe28fc66b5
6810855: KILL vs. TEMP ordering restrictions are too strong
Reviewed-by: kvn
src/share/vm/adlc/formssel.cpp
--- 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 @@ void InstructForm::build_components() {
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;
}
}