+2004-11-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ * bitmap.c (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
+ * bitmap.h (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
+ (BITMAP_XMALLOC): Forward to BITMAP_OBSTACK_ALLOC.
+ (BITMAP_XFREE): Forward to BITMAP_OBSTACK_FREE.
+
2004-11-25 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/18587
call clobbered caches as invalid.
* tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New. Flag
indicating whether the call clobbered operand cache is valid.
- (ssa_ro_call_cache_valid): New. Flag indicating whether the pure/const
- call operand cache is valid.
+ (ssa_ro_call_cache_valid): New. Flag indicating whether the
+ pure/const call operand cache is valid.
(clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New. Cached
list of operands for cached call virtual operands.
(clobbered_aliased_loads, clobbered_aliased_stores,
- ro_call_aliased_load): New. flags caching whether alias bits are to be
- set in call stmt's.
+ ro_call_aliased_load): New. flags caching whether alias bits are
+ to be set in call stmt's.
(fini_ssa_operands): Remove call operand caches if present.
- (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands):
- Pass stmt annotation to add_stmt_operand.
+ (get_expr_operands, get_asm_expr_operands,
+ get_indirect_ref_operands): Pass stmt annotation to add_stmt_operand.
(get_call_expr_operands): Add call clobbered variables first.
(add_stmt_operand): Take stmt annotation rather than stmt as a param.
(add_call_clobber_ops, add_call_read_ops): Use the call operand cache
if it is valid, otherise fill the cache.
* tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern.
- * tree-flow.h (struct var_ann_d): Add in_vuse_list and in_v_may_def_list
- bits.
- * tree-ssa-operands.c (cleanup_v_may_defs): New. Clear the in_list bits
- for the v_may_def elements and empty the operand build array.
- (finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant VUSES
- by checking the in_v_may_def_list bit.
+ * tree-flow.h (struct var_ann_d): Add in_vuse_list and
+ in_v_may_def_list bits.
+ * tree-ssa-operands.c (cleanup_v_may_defs): New. Clear the
+ in_list bits for the v_may_def elements and empty the operand
+ build array
+ (finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant
+ VUSES by checking the in_v_may_def_list bit.
(append_v_may_def, append_vuse): Use the in_list bit rather than
scanning the array for duplicates.
return map;
}
-/* Create a new malloced bitmap. Elements will be allocated from the
- default bitmap obstack. */
-
-bitmap
-bitmap_malloc_alloc (void)
-{
- bitmap map;
-
- map = xmalloc (sizeof (bitmap_head));
- bitmap_initialize (map, &bitmap_default_obstack);
-
- return map;
-}
-
/* Release an obstack allocated bitmap. */
void
}
}
-/* Release a malloc allocated bitmap. */
-
-void
-bitmap_malloc_free (bitmap map)
-{
- bitmap_clear (map);
- free (map);
-}
-
\f
/* Return nonzero if all bits in an element are zero. */
/* Allocate and free bitmaps from obstack, malloc and gc'd memory. */
extern bitmap bitmap_obstack_alloc (bitmap_obstack *obstack);
-extern bitmap bitmap_malloc_alloc (void);
extern bitmap bitmap_gc_alloc (void);
extern void bitmap_obstack_free (bitmap);
-extern void bitmap_malloc_free (bitmap);
/* A few compatibility/functions macros for compatibility with sbitmaps */
#define dump_bitmap(file, bitmap) bitmap_print (file, bitmap, "", "\n")
#define BITMAP_GGC_ALLOC() bitmap_gc_alloc ()
/* Allocate a bitmap with xmalloc. */
-#define BITMAP_XMALLOC() bitmap_malloc_alloc ()
+#define BITMAP_XMALLOC() BITMAP_OBSTACK_ALLOC (NULL)
/* Do any cleanup needed on a bitmap when it is no longer used. */
#define BITMAP_FREE(BITMAP) \
((void)(bitmap_obstack_free (BITMAP), (BITMAP) = NULL))
/* Do any cleanup needed on an xmalloced bitmap when it is no longer used. */
-#define BITMAP_XFREE(BITMAP) \
-do { \
- if (BITMAP) \
- { \
- bitmap_malloc_free (BITMAP); \
- (BITMAP) = 0; \
- } \
-} while (0)
+#define BITMAP_XFREE(BITMAP) BITMAP_OBSTACK_FREE (BITMAP)
/* Iterator for bitmaps. */