unstable-version-0_10_y-alpha-dec-osf3_2
tagged this
22 Aug 07:58
Estimated hours taken: 1 Branches: main, release compiler/det_analysis.m: Before code generation, simplify.m ensures that only model_non conjunctions can contain model_non goals, and only model_non if-then-elses can have model_non conditions. If determinism analysis was rerun after simplification it would undo the work done by simplification. The symptom was a code generator abort with a message about model_non code in a mode_det or model_semi conjunction. det_analysis.m now also maintains the invariants. Maybe simplify.m is no longer the right place to be ensuring these code generator specific HLDS invariants? I don't have a test case for this change. The problem arose compiling tests/general/commit_bug_2.m with `-O5 --intermodule-optimization --constraint-propagation', but went away with my change to stop constraint propagation of complex goals.