Mercury Bugs - mercury | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0000032 | mercury | Bug | public | 2007-12-14 18:37 | 2007-12-14 18:37 |
| Reporter | zs | ||||
|---|---|---|---|---|---|
| Assigned To | |||||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | OS | OS Version | |||
| Product Version | |||||
| Target Version | Fixed in Version | ||||
| Summary | 0000032: loop invariant optimization generates invalid HLDS | ||||
| Description | The bug can be reproduced by mmc -Cv check_typeclass.m -Dmost -d145 -d150 -O5 The stage 150 HLDS dump shows that the loop invariant predicate for the is_valid_instance_type predicate has the argument HeadVar__6 in the argument list *twice*, in both cases with the mode unique>>unique, even though the right thing for loop_inv to do would have been not to pass it at all (it is computed *before* the loop is entered). I think loop_inv might be confused by the fact that the sixth position in the "loop" call is an unwanted output. | ||||
| Additional Information | This bug occurs with version 1.117 of check_typeclass.m. I have a diff to make is_valid_instance_type look nicer, but the version with the change does not tickle this bug. | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | |||||
| There are no notes attached to this issue. |
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
|---|---|---|---|---|---|
| 2007-12-14 18:37 | zs | New Issue | |||