"vscode:/vscode.git/clone" did not exist on "dcaf8fd3ad0b1c3192207cc76a9fd1727dff3062"
Commit 6e6c4add authored by Ted Themistokleous's avatar Ted Themistokleous
Browse files

fixup! fixup! Make divzero a builtin instead of op

parent e7ec015d
......@@ -184,7 +184,7 @@ struct module
instruction_ref validate() const;
instruction_ref find_dangling_reference() const;
instruction_ref flag_division_by_zero() const;
instruction_ref find_division_by_zero() const;
void finalize(context& ctx);
......
......@@ -639,13 +639,11 @@ instruction_ref module::find_dangling_reference() const
bool is_div_zero(instruction ins) { return ins.name() == "@divzero"; }
instruction_ref module::flag_division_by_zero() const
instruction_ref module::find_division_by_zero() const
{
auto divzero = std::count_if(begin(), end(), [](auto x) { return is_div_zero(x); });
if(divzero > 0)
return begin();
auto divzero = std::find_if(begin(), end(), [](auto x) { return is_div_zero(x); });
return end();
return divzero;
}
void module::finalize(context& ctx)
......
......@@ -195,7 +195,7 @@ void program::compile(const target& t, compile_options options)
std::to_string(index));
}
auto divide_by_zero = mod->flag_division_by_zero();
auto divide_by_zero = mod->find_division_by_zero();
if(divide_by_zero != mod->end())
{
auto index = std::distance(mod->begin(), divide_by_zero);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment