提交 f566dc9c 编写于 作者: N never

6810855: KILL vs. TEMP ordering restrictions are too strong

Reviewed-by: kvn
上级 2c9153d6
......@@ -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;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册