Skip to content

unstable-version-0_10_y-alpha-dec-osf3_2

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.
Assets 2
Loading