aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1992-08-14 07:39:24 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1992-08-14 07:39:24 -0400
commitefb07da787b7220a320f7f93b752f82fc34cef0b (patch)
treea0150797fbbf3aa09273454edcd4c1022c95396b /gcc
parent858a47b165a39fff21125accb5f433a8e9e434d3 (diff)
downloadgcc-efb07da787b7220a320f7f93b752f82fc34cef0b.zip
gcc-efb07da787b7220a320f7f93b752f82fc34cef0b.tar.gz
gcc-efb07da787b7220a320f7f93b752f82fc34cef0b.tar.bz2
(life_analysis, propagate_block, dump_flow_info): Add more missing
casts to REGSET_ELT_TYPE. From-SVN: r1826
Diffstat (limited to 'gcc')
-rw-r--r--gcc/flow.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index 7e3b207..717865e 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -853,10 +853,10 @@ life_analysis (f, nregs)
consider the stack pointer live at the end of the function. */
basic_block_live_at_end[n_basic_blocks - 1]
[STACK_POINTER_REGNUM / REGSET_ELT_BITS]
- |= 1 << (STACK_POINTER_REGNUM % REGSET_ELT_BITS);
+ |= (REGSET_ELT_TYPE) 1 << (STACK_POINTER_REGNUM % REGSET_ELT_BITS);
basic_block_new_live_at_end[n_basic_blocks - 1]
[STACK_POINTER_REGNUM / REGSET_ELT_BITS]
- |= 1 << (STACK_POINTER_REGNUM % REGSET_ELT_BITS);
+ |= (REGSET_ELT_TYPE) 1 << (STACK_POINTER_REGNUM % REGSET_ELT_BITS);
}
/* Mark all global registers as being live at the end of the function
@@ -867,9 +867,11 @@ life_analysis (f, nregs)
if (global_regs[i])
{
basic_block_live_at_end[n_basic_blocks - 1]
- [i / REGSET_ELT_BITS] |= 1 << (i % REGSET_ELT_BITS);
+ [i / REGSET_ELT_BITS]
+ |= (REGSET_ELT_TYPE) 1 << (i % REGSET_ELT_BITS);
basic_block_new_live_at_end[n_basic_blocks - 1]
- [i / REGSET_ELT_BITS] |= 1 << (i % REGSET_ELT_BITS);
+ [i / REGSET_ELT_BITS]
+ |= (REGSET_ELT_TYPE) 1 << (i % REGSET_ELT_BITS);
}
/* Propagate life info through the basic blocks
@@ -1430,7 +1432,7 @@ propagate_block (old, first, last, final, significant, bnum)
register struct sometimes *p = regs_sometimes_live;
for (i = 0; i < sometimes_max; i++, p++)
- if (old[p->offset] & (1 << p->bit))
+ if (old[p->offset] & ((REGSET_ELT_TYPE) 1 << p->bit))
reg_n_calls_crossed[p->offset * REGSET_ELT_BITS + p->bit]+= 1;
}
}
@@ -2639,7 +2641,8 @@ dump_flow_info (file)
for (regno = 0; regno < max_regno; regno++)
{
register int offset = regno / REGSET_ELT_BITS;
- register int bit = 1 << (regno % REGSET_ELT_BITS);
+ register REGSET_ELT_TYPE bit
+ = (REGSET_ELT_TYPE) 1 << (regno % REGSET_ELT_BITS);
if (basic_block_live_at_start[i][offset] & bit)
fprintf (file, " %d", regno);
}