Detect partial switches, i.e. disjunctions in which not all

switch_detection:
	Detect partial switches, i.e. disjunctions in which not all
	disjuncts form part of the switch. We give preference to full
	switches, and failing that, to partial switches with the most arms.

peephole, opt_util:
	Fixed the code for the introduction of succeed_discard.

code_gen:
	Fixed spelling error in error message.

code_info:
	Made error message somewhat more informative.

cse_detection:
	Removed debugging code; we now always repeat cse detection after
	finding some cses.

det_analysis:
	Added some comments.

value_number, vn_debug, vn_flush:
	Changes to make debugging easier.
This commit is contained in:
Zoltan Somogyi
1995-05-29 02:27:41 +00:00
parent 3f06300706
commit f7d2f8bebb
10 changed files with 162 additions and 108 deletions

View File

@@ -377,7 +377,7 @@ code_gen__generate_det_goal_2(conj(Goals), _GoalInfo, Instr) -->
code_gen__generate_det_goal_2(some(_Vars, Goal), _GoalInfo, Instr) -->
code_gen__generate_det_goal(Goal, Instr).
code_gen__generate_det_goal_2(disj(_Goals), _GoalInfo, _Instr) -->
{ error("Disjuction cannot occur in deterministic code.") }.
{ error("Disjunction cannot occur in deterministic code.") }.
code_gen__generate_det_goal_2(not(_), _GoalInfo, _Instr) -->
{ error("Negation cannot occur in deterministic code.") }.
code_gen__generate_det_goal_2(