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

ooc-960520



Hi.

The first (tiny) module has been successfully translated to ANSI-C.
And no, it was not the infamous `Hello World', but rather a
Strings.Length procedure plus some calls to Unix.printf.  Not much,
but it's a start.

This update fixes some bugs and corrects some inconsistencies in
Data.Mod and Opcode.Mod (see ChangeLog below for details).

-- mva


ChangeLog May 10 to May 20:

Mon May 20 14:30:55 1996  Juergen Zimmermann  <jnzimmer@informatik.uni-kl.de>

	* optimizers/Schedule.Mod:
	Simple version for ANSI-C backend... No heuristics, but as
	similar to the original gsa code as possible.

	* optimizers/AlgebraicTransformation.Mod:
	Added constant forwarding for bound(Range|Index) instructions.

	* optimizers/Schedule.Mod: Initial revision

Mon May 20 12:25:03 1996  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/SymbolFile.Mod (IntegrateSymbols):
	Do not discard objects that may be used for
	debugging output.  Otherwise WriteGSA may abort with a nasty NIL
	dereference.

Sun May 19 21:33:16 1996  Michael van Acken  <acken@informatik.uni-kl.de>

	* frontend/doc/Errors.lst, frontend/Make.Mod, frontend/SymbolFile.Mod:
	Added format identifier to symbol files to distinguish between files
	that were generated by different back-ends.

	* frontend/ParseStatm.Mod, frontend/Opcode.Mod:
	Added operand to `trap-case'.  It holds the value of the case select
	expression.

	* backend/demo/Config.Mod:
	Added constant `symbolFileFormat'.  Holds a unique integer value for
	every back-end.  See also frontend/doc/SymFormats.

	* frontend/doc/SymFormats: Initial revision

	* frontend/Data.Mod (OpndType):
	New function.  Takes an operand (instance of Opnd),
	returns its type (an instance of Struct).

	* frontend/Data.Mod:
	Instructions are hold in doubly linked list (again), since the
	algorithm for building interference graphs for register allocation
	traverses the instructions back to front.

	* optimizers/DeadCodeElimination.Mod, frontend/ParseExpr.Mod, frontend/Opcode.Mod:
	Changed behaviour of bound-index and bound-range to be consistent with
	type-guard and type-assert: Result is always the value of the first
	operand.  If the runtime check is disabled, then the flag
	`instrIsDisabled' is set.  Disabled checks are removed when the final
	dead code elimination is run.