basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.

* basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
        (sbitmap_free, sbitmap_vector_free): New macros.
        * output.h (rtl_dump_file): Declare.

From-SVN: r22978
This commit is contained in:
Richard Henderson 1998-10-10 15:03:34 -07:00 committed by Richard Henderson
parent 937e37cc6e
commit a86d864c41
3 changed files with 47 additions and 1 deletions

View file

@ -1,3 +1,9 @@
Sat Oct 10 22:00:34 1998 Richard Henderson <rth@cygnus.com>
* basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
(sbitmap_free, sbitmap_vector_free): New macros.
* output.h (rtl_dump_file): Declare.
Sat Oct 10 17:01:42 1998 Jeffrey A Law (law@cygnus.com)
* regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.

View file

@ -235,7 +235,41 @@ do { \
(bitmap)->elms [(bitno) / SBITMAP_ELT_BITS] &= ~((SBITMAP_ELT_TYPE) 1 << (bitno) % SBITMAP_ELT_BITS); \
} while (0)
extern void dump_sbitmap PROTO ((FILE *, sbitmap));
/* Loop over all elements of SBITSET, starting with MIN. */
#define EXECUTE_IF_SET_IN_SBITMAP(SBITMAP, MIN, N, CODE) \
do { \
unsigned int bit_num_ = (MIN) % (unsigned) SBITMAP_ELT_BITS; \
unsigned int word_num_ = (MIN) / (unsigned) SBITMAP_ELT_BITS; \
unsigned int size_ = (SBITMAP)->size; \
SBITMAP_ELT_TYPE *ptr_ = (SBITMAP)->elms; \
\
while (word_num_ < size_) \
{ \
SBITMAP_ELT_TYPE word_ = ptr_[word_num_]; \
if (word_ != 0) \
{ \
for (; bit_num_ < SBITMAP_ELT_BITS; ++bit_num_) \
{ \
SBITMAP_ELT_TYPE mask_ = (SBITMAP_ELT_TYPE)1 << bit_num_; \
if ((word_ & mask_) != 0) \
{ \
word_ &= ~mask_; \
(N) = word_num_ * SBITMAP_ELT_BITS + bit_num_; \
CODE; \
if (word_ == 0) \
break; \
} \
} \
} \
bit_num_ = 0; \
word_num_++; \
} \
} while (0)
#define sbitmap_free(map) free(map)
#define sbitmap_vector_free(vec) free(vec)
extern void dump_sbitmap PROTO ((FILE *, sbitmap));
extern void dump_sbitmap_vector PROTO ((FILE *, char *, char *,
sbitmap *, int));
extern sbitmap sbitmap_alloc PROTO ((int));

View file

@ -460,6 +460,12 @@ extern int sdb_begin_function_line;
extern FILE *asm_out_file;
#endif
/* Default file in which to dump debug output. */
#ifdef BUFSIZ
extern FILE *rtl_dump_file;
#endif
/* Decide whether DECL needs to be in a writable section. RELOC is the same
as for SELECT_SECTION. */