rename heights_t to ir_heights_t, improve docu a bit, rename to heights.[ch]
[libfirm] / ir / be / ia32 / ia32_common_transform.c
index 35de905..ddcb1af 100644 (file)
@@ -31,6 +31,7 @@
 #include "irprintf.h"
 #include "typerep.h"
 #include "bitset.h"
+#include "heights.h"
 
 #include "../betranshlp.h"
 #include "../beirg.h"
@@ -46,7 +47,7 @@
 /** hold the current code generator during transformation */
 ia32_code_gen_t *env_cg = NULL;
 
-heights_t *heights = NULL;
+ir_heights_t *heights = NULL;
 
 static int check_immediate_constraint(long val, char immediate_constraint_type)
 {
@@ -836,6 +837,7 @@ const arch_register_req_t *make_register_req(const constraint_t *constraint,
                *req             = *other_constr;
                req->type       |= arch_register_req_type_should_be_same;
                req->other_same  = 1U << pos;
+               req->width       = 1;
 
                /* switch constraints. This is because in firm we have same_as
                 * constraints on the output constraints while in the gcc asm syntax
@@ -865,7 +867,8 @@ const arch_register_req_t *make_register_req(const constraint_t *constraint,
                memset(req, 0, sizeof(req[0]));
                req->type = arch_register_req_type_normal;
        }
-       req->cls = constraint->cls;
+       req->cls   = constraint->cls;
+       req->width = 1;
 
        return req;
 }
@@ -891,6 +894,7 @@ const arch_register_req_t *parse_clobber(const char *clobber)
        req->type    = arch_register_req_type_limited;
        req->cls     = arch_register_get_class(reg);
        req->limited = limited;
+       req->width   = 1;
 
        return req;
 }