projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add OALLOC*() to make allocating from obstacks a bit nicer.
[libfirm]
/
ir
/
stat
/
pattern.c
diff --git
a/ir/stat/pattern.c
b/ir/stat/pattern.c
index
b51fad0
..
47ff364
100644
(file)
--- a/
ir/stat/pattern.c
+++ b/
ir/stat/pattern.c
@@
-23,9
+23,7
@@
* @author Michael Beck
* @version $Id$
*/
* @author Michael Beck
* @version $Id$
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
#include <assert.h>
#include <stdlib.h>
#include <assert.h>
#include <stdlib.h>
@@
-176,7
+174,7
@@
static void init_buf(CODE_BUFFER *buf, BYTE *data, unsigned len) {
*
* The hash value for the buffer content is updated.
*/
*
* 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;
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
*/
*
* @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;
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
*/
*
* @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;
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)
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 */
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;
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);
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)) {
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 */
} 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);
/* 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) {
for (i = 0, entry = pset_first(status->pattern_hash);
entry && i < count;
entry = pset_next(status->pattern_hash), ++i) {