[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Update for `ooc' available.



Hello to all of you.


First of all, a merry christmas and a happy new year to you!


A new update of `ooc' can be found at the location
ftp://cognac.informatik.uni-kl.de/pub/ooc


So long,
  Juergen Zimmermann




Here's part of the ChangeLog:

Wed Dec 20 09:55:50 1995  Juergen Zimmermann  <jnzimmer@informatik.uni-kl.de>

	* optimizers/ooo.Mod: Replaced `SimpleScheduler' by `TopologicalOrder'.

	* optimizers/Worklist.Mod: Derived `Worklist' from `Data.Info'.

Tue Dec 19 20:33:10 1995  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/ParseStatm.Mod (AssignToVar):
	When creating a new gate due to an assignment of a gate
	to a variable, then use the old gate's `oldValue' entry to set the new
	one's `oldValue'.  This value may differ from the one currently stored
	in the variable's symbol table entry.

Tue Dec 19 18:39:48 1995  Juergen Zimmermann  <jnzimmer@informatik.uni-kl.de>

	* optimizers/TopologicalOrder.Mod: Initial revision

Tue Dec 19 17:04:38 1995  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/ParseExpr.Mod (FieldAddress, ElementAddress):
	Set file position for operands of
	address calculations.

Mon Dec 18 15:02:23 1995  Juergen Zimmermann  <jnzimmer@informatik.uni-kl.de>

	* optimizers/Worklist.Mod:
	New procedures `AddUsingInstrUnique' and `AddInstrUnique'.

	Changed parameter type of `UsingHook' to reflect the fact that all
	Uses could be used by instructions, not only other instructions.

	* optimizers/ConstPropagation.Mod:
	Forgot to initialize all results of predefined & SYSTEM procedures as
	`bottom'.

	Only the first result was set to `bottom', all other results were not
	classified at all. Now, all instructions with more than one result are
	classified as `bottom', and all using instructions - for all results -
	are added to the worklist.

	Regions classified as `FALSE' are now stripped off the corresponding
	merges.

	If only one region is left at the merge, this region will always be
	executed, so the corresponding instructions are moved up one region.

Sun Dec 17 12:20:44 1995  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/doc/Differences: Initial revision

	* frontend/UndefVar.Mod (CheckVars):
	Ignore structured (ie, record or array) variables when
	searching for undefined vars.

	* frontend/ParseDecl.Mod (Module, ProcDecl):
	Don't look for unresolved forward references or unused
	objects if an error was found beforehand.

Fri Dec 15 14:34:25 1995  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/Opcode.Mod (Commutative):
	New.  Predicate to test opcode for "a op b = b op a".
	I hope I got the name right :).

	* frontend/Opcode.Mod:
	Fixed typo in div/mod spec: x div y = ENTIER (x / y).

	Changed names of set operators to inter(section),
	sym(mmetrical)diff(erence), and union (was and, xor, or).

Fri Dec 15 13:04:11 1995  Juergen Zimmermann  <jnzimmer@informatik.uni-kl.de>

	* optimizers/AlgebraicTransformation.Mod: First version

Thu Dec 14 11:56:28 1995  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/ParseDecl.Mod (ProcDecl, Module):
	Copy propagation and dead code elimintation are
	done right after a global region is completed.  The idea is to make
	the bulk of the dead code collectable by the gc as soon as possible.
	Setting `removeDeadCode' to FALSE will suppress cp and dce.

	* backend/ansi-c/oo2c.Mod (PreSymbolFile):
	Moved copy propagation and dead code elimination into
	the front-end (ie, into ParseDecl).

	(DeleteGRegList): New.  Called after the completion of every module to
	get rid of references to GSA code, allowing the gc to collect the
	intermediate code data structure.