[m-rev.] [m-dev.] gh72 test failures at higher optimization levels

Zoltan Somogyi zoltan.somogyi at runbox.com
Fri Jan 29 12:07:33 AEDT 2021

2021-01-29 11:11 GMT+11:00 "Peter Wang" <novalazy at gmail.com>:
> On Thu, 28 Jan 2021 19:49:06 +1100 "Zoltan Somogyi" <zoltan.somogyi at runbox.com> wrote:
> I don't see the connection to .opt files.

My mistake. You wrote "imported predicates", I read "opt-imported predicates".

> The problem with calls to imported predicates not being transformed is that
> find_and_record_any_direct_arg_in_out_posns is called from simplify_proc,
> but simplify_proc only called for valid non-imported predicates
> (via process_valid_nonimported_preds_errors).

That shouldn't be too hard to fix.There are several ways.

The only reason why find_and_record_any_direct_arg_in_out_posns is called from
simplify_proc is to avoid an extra traversal. To keep this property,  we should add
a new predicate in passes_aux.m that processes imported predicates as well,
and we should call a wrapper around simplify_proc from it. That wrapper
would call simplify_proc for nonimported predicates, and would just look
for daio args for imported predicates, and only if the simplify tasks include
the after-front-end task.

Do you see any problems with this approach?


More information about the reviews mailing list