OSDN Git Service

2011-09-27 Tom de Vries <tom@codesourcery.com>
[pf3gnuchains/gcc-fork.git] / gcc / print-rtl.c
index 7748585..db9c0fb 100644 (file)
@@ -43,6 +43,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-pretty-print.h"
 #include "cselib.h"
 #include "tree-pass.h"
+#include "dwarf2out.h"
 #endif
 
 static FILE *outfile;
@@ -309,14 +310,29 @@ print_rtx (const_rtx in_rtx)
 #endif
                break;
 
+             case NOTE_INSN_CFI:
+#ifndef GENERATOR_FILE
+               fputc ('\n', outfile);
+               output_cfi_directive (outfile, NOTE_CFI (in_rtx));
+               fputc ('\t', outfile);
+#endif
+               break;
+
              default:
                break;
              }
          }
        else if (i == 8 && JUMP_P (in_rtx) && JUMP_LABEL (in_rtx) != NULL)
-         /* Output the JUMP_LABEL reference.  */
-         fprintf (outfile, "\n%s%*s -> %d", print_rtx_head, indent * 2, "",
-                  INSN_UID (JUMP_LABEL (in_rtx)));
+         {
+           /* Output the JUMP_LABEL reference.  */
+           fprintf (outfile, "\n%s%*s -> ", print_rtx_head, indent * 2, "");
+           if (GET_CODE (JUMP_LABEL (in_rtx)) == RETURN)
+             fprintf (outfile, "return");
+           else if (GET_CODE (JUMP_LABEL (in_rtx)) == SIMPLE_RETURN)
+             fprintf (outfile, "simple_return");
+           else
+             fprintf (outfile, "%d", INSN_UID (JUMP_LABEL (in_rtx)));
+         }
        else if (i == 0 && GET_CODE (in_rtx) == VALUE)
          {
 #ifndef GENERATOR_FILE
@@ -334,6 +350,14 @@ print_rtx (const_rtx in_rtx)
                     DEBUG_TEMP_UID (DEBUG_EXPR_TREE_DECL (in_rtx)));
 #endif
          }
+       else if (i == 0 && GET_CODE (in_rtx) == ENTRY_VALUE)
+         {
+           indent += 2;
+           if (!sawclose)
+             fprintf (outfile, " ");
+           print_rtx (ENTRY_VALUE_EXP (in_rtx));
+           indent -= 2;
+         }
        break;
 
       case 'e':
@@ -544,6 +568,8 @@ print_rtx (const_rtx in_rtx)
 #ifndef GENERATOR_FILE
        if (i == 0 && GET_CODE (in_rtx) == DEBUG_IMPLICIT_PTR)
          print_mem_expr (outfile, DEBUG_IMPLICIT_PTR_DECL (in_rtx));
+       else if (i == 0 && GET_CODE (in_rtx) == DEBUG_PARAMETER_REF)
+         print_mem_expr (outfile, DEBUG_PARAMETER_REF_DECL (in_rtx));
        else
          dump_addr (outfile, " ", XTREE (in_rtx, i));
 #endif
@@ -578,13 +604,11 @@ print_rtx (const_rtx in_rtx)
       if (MEM_EXPR (in_rtx))
        print_mem_expr (outfile, MEM_EXPR (in_rtx));
 
-      if (MEM_OFFSET (in_rtx))
-       fprintf (outfile, "+" HOST_WIDE_INT_PRINT_DEC,
-                INTVAL (MEM_OFFSET (in_rtx)));
+      if (MEM_OFFSET_KNOWN_P (in_rtx))
+       fprintf (outfile, "+" HOST_WIDE_INT_PRINT_DEC, MEM_OFFSET (in_rtx));
 
-      if (MEM_SIZE (in_rtx))
-       fprintf (outfile, " S" HOST_WIDE_INT_PRINT_DEC,
-                INTVAL (MEM_SIZE (in_rtx)));
+      if (MEM_SIZE_KNOWN_P (in_rtx))
+       fprintf (outfile, " S" HOST_WIDE_INT_PRINT_DEC, MEM_SIZE (in_rtx));
 
       if (MEM_ALIGN (in_rtx) != 1)
        fprintf (outfile, " A%u", MEM_ALIGN (in_rtx));