diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 25dec91a3ebec3a2ba4e7d937991596cd77a2523..96aebd523169d4c5cb4a716f99719fbc47868f44 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+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
@@ -5,27 +12,28 @@
 	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.
 
diff --git a/gcc/bitmap.c b/gcc/bitmap.c
index 275e440d6c3220c05f7ef479396162ed81ea6782..f633505eeba153539687eab527ae05351c61e28e 100644
--- a/gcc/bitmap.c
+++ b/gcc/bitmap.c
@@ -222,20 +222,6 @@ bitmap_gc_alloc (void)
   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
@@ -249,15 +235,6 @@ bitmap_obstack_free (bitmap map)
     }
 }
 
-/* Release a malloc allocated bitmap.  */
-
-void
-bitmap_malloc_free (bitmap map)
-{
-  bitmap_clear (map);
-  free (map);
-}
-
 
 /* Return nonzero if all bits in an element are zero.  */
 
diff --git a/gcc/bitmap.h b/gcc/bitmap.h
index fb599cb275991d73a1ae5a6ba72b847edca3eb91..a5531d9b1868416e5aea53e72f10cfd55a214081 100644
--- a/gcc/bitmap.h
+++ b/gcc/bitmap.h
@@ -145,10 +145,8 @@ bitmap_initialize (bitmap head, bitmap_obstack *obstack)
 
 /* 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")
@@ -162,21 +160,14 @@ extern unsigned bitmap_first_set_bit (bitmap);
 #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.  */