mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-18 15:26:31 +00:00
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:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user