OSDN Git Service

* tree-ssa-ifcombine.c (get_name_for_bit_test): Use
[pf3gnuchains/gcc-fork.git] / gcc / reload1.c
index 47d97fb..7f41366 100644 (file)
@@ -742,11 +742,11 @@ reload (rtx first, int global)
   /* A function that has a nonlocal label that can reach the exit
      block via non-exceptional paths must save all call-saved
      registers.  */
-  if (current_function_has_nonlocal_label
+  if (cfun->has_nonlocal_label
       && has_nonexceptional_receiver ())
-    current_function_saves_all_registers = 1;
+    crtl->saves_all_registers = 1;
 
-  if (current_function_saves_all_registers)
+  if (crtl->saves_all_registers)
     for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
       if (! call_used_regs[i] && ! fixed_regs[i] && ! LOCAL_REGNO (i))
        df_set_regs_ever_live (i, true);
@@ -1012,7 +1012,7 @@ reload (rtx first, int global)
       /* If we allocated another stack slot, redo elimination bookkeeping.  */
       if (starting_frame_size != get_frame_size ())
        continue;
-      if (starting_frame_size && cfun->stack_alignment_needed)
+      if (starting_frame_size && crtl->stack_alignment_needed)
        {
          /* If we have a stack frame, we must align it now.  The
             stack size may be a part of the offset computation for
@@ -1022,7 +1022,7 @@ reload (rtx first, int global)
             stack frame when none is needed should
             STARTING_FRAME_OFFSET not be already aligned to
             STACK_BOUNDARY.  */
-         assign_stack_local (BLKmode, 0, cfun->stack_alignment_needed);
+         assign_stack_local (BLKmode, 0, crtl->stack_alignment_needed);
          if (starting_frame_size != get_frame_size ())
            continue;
        }
@@ -1454,11 +1454,11 @@ maybe_fix_stack_asms (void)
              switch (c)
                {
                case '=': case '+': case '*': case '%': case '?': case '!':
-               case '0': case '1': case '2': case '3': case '4': case 'm':
-               case '<': case '>': case 'V': case 'o': case '&': case 'E':
-               case 'F': case 's': case 'i': case 'n': case 'X': case 'I':
-               case 'J': case 'K': case 'L': case 'M': case 'N': case 'O':
-               case 'P':
+               case '0': case '1': case '2': case '3': case '4': case '<':
+               case '>': case 'V': case 'o': case '&': case 'E': case 'F':
+               case 's': case 'i': case 'n': case 'X': case 'I': case 'J':
+               case 'K': case 'L': case 'M': case 'N': case 'O': case 'P':
+               case TARGET_MEM_CONSTRAINT:
                  break;
 
                case 'p':
@@ -3316,14 +3316,13 @@ eliminate_regs_in_insn (rtx insn, int replace)
             this point.  */
          *recog_data.operand_loc[i] = 0;
 
-       /* If an output operand changed from a REG to a MEM and INSN is an
-          insn, write a CLOBBER insn.  */
+         /* If an output operand changed from a REG to a MEM and INSN is an
+            insn, write a CLOBBER insn.  */
          if (recog_data.operand_type[i] != OP_IN
              && REG_P (orig_operand[i])
              && MEM_P (substed_operand[i])
              && replace)
-           emit_insn_after (gen_rtx_CLOBBER (VOIDmode, orig_operand[i]),
-                            insn);
+           emit_insn_after (gen_clobber (orig_operand[i]), insn);
        }
     }
 
@@ -3721,9 +3720,9 @@ init_elim_table (void)
                             the frame pointer in that case.  At some point,
                             we should improve this by emitting the
                             sp-adjusting insns for this case.  */
-                         || (current_function_calls_alloca
+                         || (cfun->calls_alloca
                              && EXIT_IGNORE_STACK)
-                         || current_function_accesses_prior_frames
+                         || crtl->accesses_prior_frames
                          || FRAME_POINTER_REQUIRED);
 
   num_eliminable = 0;