X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeverify.h;h=cca442bb1bbc0eac6712b8d432ced34e17a921f8;hb=80a6158fdd766f42ee6c508a773bc114ff1b61f3;hp=06d01d01d9dee6687624bc47c23cffc1c0c205b8;hpb=f712b4e87d2a8aa13a45b4a2f5b270f8ed10a7ec;p=libfirm diff --git a/ir/be/beverify.h b/ir/be/beverify.h index 06d01d01d..cca442bb1 100644 --- a/ir/be/beverify.h +++ b/ir/be/beverify.h @@ -1,8 +1,9 @@ /** - * Author: Matthias Braun - * Date: 05.05.2006 - * Copyright: (c) Universitaet Karlsruhe - * License: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + * Author: Matthias Braun + * Date: 05.05.2006 + * Copyright: (c) Universitaet Karlsruhe + * License: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + * CVS-Id: $Id$ */ /** @@ -20,12 +21,46 @@ /** * Verifies, that the register pressure for a given register class doesn't exceed the limit * of available registers. + * + * @param birg The backend IRG. + * @param cls The register class to check. + * @param irg The irg to check. + * @return 1 if the pressure is valid, 0 otherwise. */ -int be_verify_register_pressure(const arch_env_t *arch_env, const arch_register_class_t* cls, ir_graph *irg); +int be_verify_register_pressure(const be_irg_t *birg, const arch_register_class_t* cls, ir_graph *irg); /** - * Does some sanity checks on the schedule + * Does some sanity checks on the schedule. + * + * @param irg The irg to check + * @return 1 if the schedule is valid, 0 otherwise */ int be_verify_schedule(ir_graph *irg); -#endif +/** + * Verify spillslots + * + * @param irg The irg to check + * @return 1 if spillslots are valid, 0 otherwise + */ +int be_verify_spillslots(const arch_env_t *arch_env, ir_graph *irg); + +/** + * Verify register allocation: Checks that no 2 live nodes have the same + * register assigned, also checks that each scheduled node has a register + * assigned. + * + * @param irg The irg to check + * @return 1 if verify succeeded, 0 otherwise + */ +int be_verify_register_allocation(const arch_env_t *arch_env, ir_graph *irg); + +/** + * Verify that out edges are valid + * + * @param irg The irg to check + * @param 1 if verify succeeded, 0 otherwise + */ +int be_verify_out_edges(ir_graph *irg); + +#endif /* BEVERIFY_H_ */