summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beverify.h
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2006-05-24 17:14:20 +0200
committerMatthias Braun <matze@braunis.de>2006-05-24 17:14:20 +0200
commitf436f72951577e35b60e0ea1f2e6a536e4f479bb (patch)
treeccfa900bc12523c2baf4c608961fc91c8faee77d /ir/be/beverify.h
parent0c181825abe1b8159395736509bb702fa68339e6 (diff)
Initial commit of morgans spilling algorithm (spill unused values that live through
blocks or loops). Other small changes: * Added some verify functions that check for register pressure or valid schedules (replaces the broken check_pressure in bechordal_main.c) * Some style/readability improvements to the belady spill code * Some style/readability improvements to beuses.* * Fixed registerpressure stat dumper * Some improvements to bespill.c: When spilling already reloaded values, don't add a 2nd spill.
Diffstat (limited to 'ir/be/beverify.h')
-rw-r--r--ir/be/beverify.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/ir/be/beverify.h b/ir/be/beverify.h
new file mode 100644
index 0000000..791d2a1
--- /dev/null
+++ b/ir/be/beverify.h
@@ -0,0 +1,31 @@
+/**
+ * Author: Matthias Braun
+ * Date: 05.05.2006
+ * Copyright: (c) Universitaet Karlsruhe
+ * License: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
+ */
+
+/**
+ * @file beverify.h
+ *
+ * Various verify routines that check a scheduled graph for correctness
+ *
+ * @author Matthias Braun
+ */
+#ifndef BEVERIFY_H_
+#define BEVERIFY_H_
+
+#include "bechordal.h"
+
+/**
+ * Verifies, that the register pressure for a given register class doesn't exceed the limit
+ * of available registers.
+ */
+void be_verify_register_pressure(const arch_env_t *arch_env, const arch_register_class_t* cls, ir_graph *irg);
+
+/**
+ * Does some sanity checks on the schedule
+ */
+void be_verify_schedule(ir_graph *irg);
+
+#endif