/* $Id$ */ /* * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. * See the copyright notice in the ACK home directory, in the file "Copyright". */ /* C O N S T A N T P R O P A G A T I O N */ line_p unique_def(line_p use, bblock_p b, short *defnr_out); /* * See if there is a unique explicit definition * of the variable used by 'use' that * reaches 'use'. */ bool value_known(line_p def, offset *val_out); /* * See if the value stored by definition 'def' * is known statically (i.e. is a constant). */ void fold_const(line_p l, bblock_p b, offset val); /* * Perform the substitutions required for * constant folding. */ bool is_use(line_p l); /* * See if 'l' is a use of a variable. */ bool affected(line_p use, short v, line_p l); /* * See if the variable referenced by 'use' may * be changed by instruction l, which is * either a cal, cai or an indirect assignment. */