X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fstat%2Fpattern.c;h=47ff364dcc3f482292b1985c5399f9596fe7e065;hb=2af4a97900b435e35d7c20350604e3863aff2b4c;hp=f65cb7a9b2fca4523326fb8b4c83f18fee896a04;hpb=f7817e49891f62068f8148ad108b50005a7968a4;p=libfirm diff --git a/ir/stat/pattern.c b/ir/stat/pattern.c index f65cb7a9b..47ff364dc 100644 --- a/ir/stat/pattern.c +++ b/ir/stat/pattern.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -23,9 +23,7 @@ * @author Michael Beck * @version $Id$ */ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif +#include "config.h" #include #include @@ -176,7 +174,7 @@ static void init_buf(CODE_BUFFER *buf, BYTE *data, unsigned len) { * * The hash value for the buffer content is updated. */ -static INLINE void put_byte(CODE_BUFFER *buf, BYTE byte) { +static inline void put_byte(CODE_BUFFER *buf, BYTE byte) { if (buf->next < buf->end) { *buf->next++ = byte; buf->hash = (buf->hash * 9) ^ byte; @@ -234,7 +232,7 @@ static unsigned buf_overrun(const CODE_BUFFER *buf) { * * @return the next byte from the code buffer */ -static INLINE BYTE look_byte(CODE_BUFFER *buf) { +static inline BYTE look_byte(CODE_BUFFER *buf) { if (buf->next < buf->end) return *buf->next; return VLC_TAG_END; @@ -247,7 +245,7 @@ static INLINE BYTE look_byte(CODE_BUFFER *buf) { * * @return the next byte from the code buffer */ -static INLINE BYTE get_byte(CODE_BUFFER *buf) { +static inline BYTE get_byte(CODE_BUFFER *buf) { if (buf->next < buf->end) return *buf->next++; return VLC_TAG_END; @@ -420,8 +418,7 @@ static int _encode_node(ir_node *node, int max_depth, codec_env_t *env) { ir_mode *mode = get_irn_mode(node); if (mode) - /* FIXME: not 64bit save */ - put_code(env->buf, (unsigned)mode); + put_code(env->buf, stat_find_mode_index(mode)); else put_tag(env->buf, VLC_TAG_EMPTY); } /* if */ @@ -651,9 +648,7 @@ static pattern_entry_t *pattern_get_entry(CODE_BUFFER *buf, pset *set) { unsigned len = buf_lenght(buf); unsigned hash; - key = obstack_alloc(&status->obst, offsetof(pattern_entry_t, buf) + len); - assert(key); - + key = OALLOCF(&status->obst, pattern_entry_t, buf, len); key->len = len; memcpy(key->buf, buf_content(buf), len); @@ -702,7 +697,7 @@ static void calc_nodes_pattern(ir_node *node, void *ctx) { depth = encode_node(node, &buf, env->max_depth); if (buf_overrun(&buf)) { - fprintf(stderr, "Pattern store: buffer overrun at size %d. Pattern ignored.\n", sizeof(buffer)); + fprintf(stderr, "Pattern store: buffer overrun at size %u. Pattern ignored.\n", (unsigned) sizeof(buffer)); } else count_pattern(&buf, depth); } /* calc_nodes_pattern */ @@ -803,7 +798,7 @@ static void pattern_output(const char *fname) { /* creates a dumper */ dump = new_vcg_dumper(fname, 100); - pattern_arr = xmalloc(sizeof(*pattern_arr) * count); + pattern_arr = XMALLOCN(pattern_entry_t*, count); for (i = 0, entry = pset_first(status->pattern_hash); entry && i < count; entry = pset_next(status->pattern_hash), ++i) {