Commit Graph

14 Commits

Author SHA1 Message Date
Thomas Conway
b759b4436a change occurences of is_builtin and not_builtin to abstract
various:
	change occurences of is_builtin and not_builtin to abstract
	calls.

code_info.nl:
	perform transitive checking for variable dependencies.
1995-02-07 07:39:13 +00:00
Fergus Henderson
d08e9f5e4c Fix warning introduced in last change.
inlining.nl:
	Fix warning introduced in last change.
1995-01-27 06:31:12 +00:00
Fergus Henderson
c590262b5f Now that Tom has simplified the inlining algorithm,
inlining.nl:
	Now that Tom has simplified the inlining algorithm,
	we don't need to requantify goals after inlining,
	since inlining preserves the right quantification.
1995-01-27 06:14:44 +00:00
Fergus Henderson
41a8a66278 Remove some redundant code.
inlining.nl:
	Remove some redundant code.
1995-01-17 22:42:28 +00:00
Fergus Henderson
1a977ea19a Replace all occurrences of `not(Vars, Goal)' with just
*.nl:
	Replace all occurrences of `not(Vars, Goal)' with just
	plain `not(Goal)'.

type_util.nl, switch_gen.nl:
	Higher-order pred types are not user-defined types.
	Add a `predtype' type category for them.

call_gen.nl:
	Change call_closure/2 to call_closure/3 (with liveinfo).
	Plus a little bit of random hacking.
1995-01-10 18:35:59 +00:00
Thomas Conway
0cffee5bb9 Remove some dead code.
inlining.nl:
	Remove some dead code.
1995-01-10 00:03:54 +00:00
Fergus Henderson
bfd857ca3a Remove unnecessary import of arg_info.
inlining.nl:
	Remove unnecessary import of arg_info.
1995-01-09 13:26:18 +00:00
Thomas Conway
6a2c0aad85 array.nl : fix the bug fjh pointed out
inlining.nl:	minor bugfix.
1995-01-06 22:33:39 +00:00
Thomas Conway
88ae01878c fixed it up so that it now works for partially instantiated
inlining.nl:
	fixed it up so that it now works for partially instantiated
	structures, and also avoids generating redundant guff.
1994-12-19 04:36:13 +00:00
Fergus Henderson
e3725ca5ff Improve an error message.
code_info.nl:
	Improve an error message.

followcode.nl:
	Add a comment.

hlds_out.nl:
	Output ":=", "==", or "=" for the different types of unifications.
======> READ THIS: <======
	(Known bug: the order of the operands for ":=" is wrong.)

make_hlds.nl, unify_proc.nl:
	Make complicated unifications work!
1994-12-14 12:02:10 +00:00
Fergus Henderson
5b4d3706d8 Change not' to \+'.
inlining.nl:
	Change `not' to `\+'.
1994-12-12 13:04:42 +00:00
Thomas Conway
3977ea3b87 added an option --inlining.
options.nl, mercury_compile.pp:
	added an option --inlining.

hlds.nl, inlining.nl:
	bugfixes - propegate the type information for inlined preds
		 - get the assign/2 arguments in the right order :-)
1994-12-05 06:21:58 +00:00
Thomas Conway
fdd22bec82 make the heuristic for inlining stricter.
inlining.nl:
	make the heuristic for inlining stricter.

mercury_compile.*:
	add an extra garbage collection.

code_aux.*:
	add "goal_is_flat" test predicate.
1994-12-05 03:36:34 +00:00
Thomas Conway
122237c299 A pass that performs inlining. The current heuristic of
inlining.*:
	A pass that performs inlining. The current heuristic of
	what to in line is that only predicates containing builtins
	get inlined. The inlining mechanism will trivially extend
	to inlining more complex predicates.

	Currently, inlining cannot cross module boundaries.

misc:
	Additions for inlining.
1994-12-02 13:41:14 +00:00