2024-07-15 08:27 AEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000030mercuryBugpublic2008-01-23 12:49
Assigned Tojuliensf 
Product Version 
Target VersionFixed in Version 
Summary0000030: break promise_equivalent_solutions
DescriptionInlining can cause the insts of variables to change from any to ground
and this, in turn, can cause erroneous error messages about promise_equivalent_solutions scopes that contain inst any variables in the scope head.

The attached test case is a cut-down version of the optimised version
of flatzinc_backend.m from the FlatZinc interpreter. This illustrates
the problem.
TagsNo tags attached.
Attached Files




juliensf (administrator)

Actually, the current version of equiv_solns_ia.m strips away too
much of the detail, and is actually an error. What is happening here
is that re-running the check on the the non-local variables in promise_equivalent_solutions scopes should not be done after inlining.
This is because after inlining the compiler may be able to infer that
some things that previously had inst any are in fact ground.

I'll add a new test case that demonstrates this.


juliensf (administrator)

Last edited: 2007-12-05 15:04

The file equiv_solns.a.m.new contains a test case that exhibits the
bug under something like the original conditions in which it occurred.

Compile with: -C -O0 --inlining --local-constraint-propagation

I think the fix here is not to perform the check on non-locals in
promise_equivalent_solutions scopes after inlining has been performed.


juliensf (administrator)

Fixed. See log message for r1.142 of compiler/det_report.m for details.

-Issue History
Date Modified Username Field Change
2007-11-28 15:29 juliensf New Issue
2007-11-28 15:29 juliensf File Added: equiv_solns_ia.m
2007-11-28 16:43 juliensf Note Added: 0000060
2007-11-28 16:50 juliensf File Added: equiv_solns_ia.m.new
2007-11-28 16:52 juliensf Note Added: 0000061
2007-12-05 15:04 juliensf Note Edited: 0000061
2008-01-23 12:49 juliensf Status new => resolved
2008-01-23 12:49 juliensf Resolution open => fixed
2008-01-23 12:49 juliensf Assigned To => juliensf
2008-01-23 12:49 juliensf Note Added: 0000072
+Issue History