summaryrefslogtreecommitdiffhomepage
path: root/ir/be/bearch.h
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2015-06-19 08:08:19 +0200
committerMatthias Braun <matze@braunis.de>2015-06-19 08:08:56 +0200
commitc85d04f813a7c612b7f9b4d0eb296c6b54441304 (patch)
treed592d5cd764f8d283bdff54b6aa1df6787fbbbc8 /ir/be/bearch.h
parentf5bccf5daed594c9e127e13559f8926a63b2d62f (diff)
remove arch_register_type_t in favor of a simple bitfield
Diffstat (limited to 'ir/be/bearch.h')
-rw-r--r--ir/be/bearch.h14
1 files changed, 4 insertions, 10 deletions
diff --git a/ir/be/bearch.h b/ir/be/bearch.h
index 1d724af..790e3de 100644
--- a/ir/be/bearch.h
+++ b/ir/be/bearch.h
@@ -20,15 +20,6 @@
#include "beinfo.h"
#include "be.h"
-typedef enum arch_register_type_t {
- arch_register_type_none = 0,
- /** This is just a virtual register. Virtual registers fulfill any register
- * constraints as long as the register class matches. It is a allowed to
- * have multiple definitions for the same virtual register at a point */
- arch_register_type_virtual = 1U << 0,
-} arch_register_type_t;
-ENUM_BITSET(arch_register_type_t)
-
/**
* Different types of register allocation requirements.
*/
@@ -186,7 +177,6 @@ struct arch_register_t {
arch_register_class_t const *cls; /**< The class of the register */
/** register constraint allowing just this register */
const arch_register_req_t *single_req;
- arch_register_type_t type; /**< The type of the register. */
unsigned short index; /**< The index of the register in
the class. */
unsigned short global_index; /**< The global index this
@@ -195,6 +185,10 @@ struct arch_register_t {
unsigned short dwarf_number;
/** register number in instruction encoding */
unsigned short encoding;
+ /** This is just a virtual register. Virtual registers fulfill any register
+ * constraints as long as the register class matches. It is allowed to
+ * have multiple definitions for the same virtual register at a point */
+ bool is_virtual : 1;
};
/**