[m-rev.] diff: [CTGC] revert attempt to avoid reverifying imported calls
Peter Wang
novalazy at gmail.com
Thu Jul 24 12:20:05 AEST 2008
Branches: main
compiler/structure_reuse.indirect.m:
Revert a previous attempt to avoid reverifying calls to imported
structure reuse procedures. Explain why that doesn't work.
diff --git a/compiler/structure_reuse.indirect.m b/compiler/structure_reuse.indirect.m
index 4fbb09c..d6640c8 100644
--- a/compiler/structure_reuse.indirect.m
+++ b/compiler/structure_reuse.indirect.m
@@ -585,14 +585,12 @@ indirect_reuse_analyse_plain_call(BaseInfo, !Goal, !IrInfo) :-
% It's possible that the called procedure had "unconditional
% reuse only" previously but has since gained reuse conditions.
),
- % Only need to re-verify calls to procedures for which we have the
- % code.
- module_info_pred_info(ModuleInfo, CalleePredId, CalleePredInfo),
- ( pred_info_is_imported(CalleePredInfo) ->
- Verify = no
- ;
- Verify = yes
- )
+ Verify = yes
+ % For imported procedures, even though we know its reuse information
+ % can't have changed since the last pass (hence verification is
+ % guaranteed to succeed a second time), we still need to call
+ % `verify_indirect_reuse' so that its conditions will be added to the
+ % reuse_as.
),
(
Verify = yes,
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to: mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the reviews
mailing list