rs6000.md (define_splits): Kill unused constraints.
authorJan Hubicka <hubicka@gcc.gnu.org>
Wed, 1 Aug 2001 18:03:28 +0000 (18:03 +0000)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 1 Aug 2001 18:03:28 +0000 (18:03 +0000)
* rs6000.md (define_splits): Kill unused constraints.

* function.c (thread_prologue_and_epilogue_insns): Kill code
dealing with non-existent CFG.

From-SVN: r44548

gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/function.c

index d52b7fc4622c2148175459c52ceebcf9466f4133..2dd587a5af5d1918a8b8129301c9cb1dfb56b3e1 100644 (file)
@@ -1,3 +1,13 @@
+Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * rs6000.md (define_splits): Kill unused constraints.
+
+Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
+                             Jan Hubicka  <jh@suse.cz>
+
+       * function.c (thread_prologue_and_epilogue_insns): Kill code
+       dealing with non-existent CFG.
+
 2001-08-01  Kazu Hirata  <kazu@hxi.com>
 
        * alias.c: Fix comment formatting.
index 5f4036609b8551ac42f64fcab8d33f2b20be782f..1011c9e83c695dfc59e55597fa680d275bc1fe8b 100644 (file)
   [(set_attr "length" "12")])
 
 (define_split
-  [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r")
-       (neg:SI (abs:SI (match_operand:SI 1 "gpc_reg_operand" "r,0"))))
-   (clobber (match_scratch:SI 2 "=&r,&r"))]
+  [(set (match_operand:SI 0 "gpc_reg_operand" "")
+       (neg:SI (abs:SI (match_operand:SI 1 "gpc_reg_operand" ""))))
+   (clobber (match_scratch:SI 2 ""))]
   "! TARGET_POWER && reload_completed"
   [(set (match_dup 2) (ashiftrt:SI (match_dup 1) (const_int 31)))
    (set (match_dup 0) (xor:SI (match_dup 2) (match_dup 1)))
 (define_split
   [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
        (compare:CC (match_operator:SI 4 "boolean_operator"
-        [(match_operand:SI 1 "gpc_reg_operand" "%r,r")
-         (match_operand:SI 2 "gpc_reg_operand" "r,r")])
+        [(match_operand:SI 1 "gpc_reg_operand" "")
+         (match_operand:SI 2 "gpc_reg_operand" "")])
         (const_int 0)))
    (clobber (match_scratch:SI 3 ""))]
   "! TARGET_POWERPC64 && reload_completed"
    (set_attr "length" "4,8")])
 
 (define_split
-  [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
+  [(set (match_operand:CC 3 "cc_reg_operand" "")
        (compare:CC (match_operator:SI 4 "boolean_operator"
-        [(match_operand:SI 1 "gpc_reg_operand" "%r,r")
-         (match_operand:SI 2 "gpc_reg_operand" "r,r")])
+        [(match_operand:SI 1 "gpc_reg_operand" "")
+         (match_operand:SI 2 "gpc_reg_operand" "")])
         (const_int 0)))
-   (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
+   (set (match_operand:SI 0 "gpc_reg_operand" "")
        (match_dup 4))]
   "! TARGET_POWERPC64 && reload_completed"
   [(set (match_dup 0) (match_dup 4))
 (define_split
   [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
        (compare:CC (match_operator:SI 4 "boolean_operator"
-        [(not:SI (match_operand:SI 1 "gpc_reg_operand" "r"))
-         (match_operand:SI 2 "gpc_reg_operand" "r")])
+        [(not:SI (match_operand:SI 1 "gpc_reg_operand" ""))
+         (match_operand:SI 2 "gpc_reg_operand" "")])
         (const_int 0)))
    (clobber (match_scratch:SI 3 ""))]
   "! TARGET_POWERPC64 && reload_completed"
    (set_attr "length" "4,8")])
 
 (define_split
-  [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
+  [(set (match_operand:CC 3 "cc_reg_operand" "")
        (compare:CC (match_operator:SI 4 "boolean_operator"
-        [(not:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r"))
-         (match_operand:SI 2 "gpc_reg_operand" "r,r")])
+        [(not:SI (match_operand:SI 1 "gpc_reg_operand" ""))
+         (match_operand:SI 2 "gpc_reg_operand" "")])
         (const_int 0)))
-   (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
+   (set (match_operand:SI 0 "gpc_reg_operand" "")
        (match_dup 4))]
   "! TARGET_POWERPC64 && reload_completed"
   [(set (match_dup 0) (match_dup 4))
 (define_split
   [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
        (compare:CC (match_operator:SI 4 "boolean_operator"
-        [(not:SI (match_operand:SI 1 "gpc_reg_operand" "r"))
-         (not:SI (match_operand:SI 2 "gpc_reg_operand" "r"))])
+        [(not:SI (match_operand:SI 1 "gpc_reg_operand" ""))
+         (not:SI (match_operand:SI 2 "gpc_reg_operand" ""))])
         (const_int 0)))
    (clobber (match_scratch:SI 3 ""))]
   "! TARGET_POWERPC64 && reload_completed"
    (set_attr "length" "4,8")])
 
 (define_split
-  [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
+  [(set (match_operand:CC 3 "cc_reg_operand" "")
        (compare:CC (match_operator:SI 4 "boolean_operator"
-        [(not:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r"))
-         (not:SI (match_operand:SI 2 "gpc_reg_operand" "r,r"))])
+        [(not:SI (match_operand:SI 1 "gpc_reg_operand" ""))
+         (not:SI (match_operand:SI 2 "gpc_reg_operand" ""))])
         (const_int 0)))
-   (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
+   (set (match_operand:SI 0 "gpc_reg_operand" "")
        (match_dup 4))]
   "! TARGET_POWERPC64 && reload_completed"
   [(set (match_dup 0) (match_dup 4))
 
 (define_split
   [(set (match_operand:SI 0 "gpc_reg_operand" "")
-       (fix:SI (match_operand:DF 1 "gpc_reg_operand" "f")))
+       (fix:SI (match_operand:DF 1 "gpc_reg_operand" "")))
    (clobber (match_operand:DI 2 "gpc_reg_operand" ""))
    (clobber (match_operand:DI 3 "offsettable_mem_operand" ""))]
   "(TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT"
   [(set (match_operand:SI 0 "gpc_reg_operand" "")
-       (fix:SI (match_operand:DF 1 "gpc_reg_operand" "f")))
+       (fix:SI (match_operand:DF 1 "gpc_reg_operand" "")))
    (clobber (match_operand:DI 2 "gpc_reg_operand" ""))
    (clobber (match_operand:DI 3 "offsettable_mem_operand" ""))]
   "
   [(set_attr "length" "12")])
 
 (define_split
-  [(set (match_operand:DI 0 "gpc_reg_operand" "=&r,r")
-       (abs:DI (match_operand:DI 1 "gpc_reg_operand" "r,0")))
-   (clobber (match_scratch:DI 2 "=&r,&r"))]
+  [(set (match_operand:DI 0 "gpc_reg_operand" "")
+       (abs:DI (match_operand:DI 1 "gpc_reg_operand" "")))
+   (clobber (match_scratch:DI 2 ""))]
   "TARGET_POWERPC64 && reload_completed"
   [(set (match_dup 2) (ashiftrt:DI (match_dup 1) (const_int 63)))
    (set (match_dup 0) (xor:DI (match_dup 2) (match_dup 1)))
   [(set_attr "length" "12")])
 
 (define_split
-  [(set (match_operand:DI 0 "gpc_reg_operand" "=&r,r")
-       (neg:DI (abs:DI (match_operand:DI 1 "gpc_reg_operand" "r,0"))))
-   (clobber (match_scratch:DI 2 "=&r,&r"))]
+  [(set (match_operand:DI 0 "gpc_reg_operand" "")
+       (neg:DI (abs:DI (match_operand:DI 1 "gpc_reg_operand" ""))))
+   (clobber (match_scratch:DI 2 ""))]
   "TARGET_POWERPC64 && reload_completed"
   [(set (match_dup 2) (ashiftrt:DI (match_dup 1) (const_int 63)))
    (set (match_dup 0) (xor:DI (match_dup 2) (match_dup 1)))
 (define_split
   [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
        (compare:CC (match_operator:DI 4 "boolean_operator"
-        [(match_operand:DI 1 "gpc_reg_operand" "%r,r")
-         (match_operand:DI 2 "gpc_reg_operand" "r,r")])
+        [(match_operand:DI 1 "gpc_reg_operand" "")
+         (match_operand:DI 2 "gpc_reg_operand" "")])
         (const_int 0)))
    (clobber (match_scratch:DI 3 ""))]
   "TARGET_POWERPC64 && reload_completed"
    (set_attr "length" "4,8")])
 
 (define_split
-  [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
+  [(set (match_operand:CC 3 "cc_reg_operand" "")
        (compare:CC (match_operator:DI 4 "boolean_operator"
-        [(match_operand:DI 1 "gpc_reg_operand" "%r,r")
-         (match_operand:DI 2 "gpc_reg_operand" "r,r")])
+        [(match_operand:DI 1 "gpc_reg_operand" "")
+         (match_operand:DI 2 "gpc_reg_operand" "")])
         (const_int 0)))
-   (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
+   (set (match_operand:DI 0 "gpc_reg_operand" "")
        (match_dup 4))]
   "TARGET_POWERPC64 && reload_completed"
   [(set (match_dup 0) (match_dup 4))
 (define_split
   [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
        (compare:CC (match_operator:DI 4 "boolean_operator"
-        [(not:DI (match_operand:DI 1 "gpc_reg_operand" "r"))
-         (match_operand:DI 2 "gpc_reg_operand" "r")])
+        [(not:DI (match_operand:DI 1 "gpc_reg_operand" ""))
+         (match_operand:DI 2 "gpc_reg_operand" "")])
         (const_int 0)))
    (clobber (match_scratch:DI 3 ""))]
   "TARGET_POWERPC64 && reload_completed"
    (set_attr "length" "4,8")])
 
 (define_split
-  [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
+  [(set (match_operand:CC 3 "cc_reg_operand" "")
        (compare:CC (match_operator:DI 4 "boolean_operator"
-        [(not:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r"))
-         (match_operand:DI 2 "gpc_reg_operand" "r,r")])
+        [(not:DI (match_operand:DI 1 "gpc_reg_operand" ""))
+         (match_operand:DI 2 "gpc_reg_operand" "")])
         (const_int 0)))
-   (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
+   (set (match_operand:DI 0 "gpc_reg_operand" "")
        (match_dup 4))]
   "TARGET_POWERPC64 && reload_completed"
   [(set (match_dup 0) (match_dup 4))
 (define_split
   [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
        (compare:CC (match_operator:DI 4 "boolean_operator"
-        [(not:DI (match_operand:DI 1 "gpc_reg_operand" "r"))
-         (not:DI (match_operand:DI 2 "gpc_reg_operand" "r"))])
+        [(not:DI (match_operand:DI 1 "gpc_reg_operand" ""))
+         (not:DI (match_operand:DI 2 "gpc_reg_operand" ""))])
         (const_int 0)))
    (clobber (match_scratch:DI 3 ""))]
   "TARGET_POWERPC64 && reload_completed"
    (set_attr "length" "4,8")])
 
 (define_split
-  [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
+  [(set (match_operand:CC 3 "cc_reg_operand" "")
        (compare:CC (match_operator:DI 4 "boolean_operator"
-        [(not:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r"))
-         (not:DI (match_operand:DI 2 "gpc_reg_operand" "r,r"))])
+        [(not:DI (match_operand:DI 1 "gpc_reg_operand" ""))
+         (not:DI (match_operand:DI 2 "gpc_reg_operand" ""))])
         (const_int 0)))
-   (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
+   (set (match_operand:DI 0 "gpc_reg_operand" "")
        (match_dup 4))]
   "TARGET_POWERPC64 && reload_completed"
   [(set (match_dup 0) (match_dup 4))
 ;; Used by sched, shorten_branches and final when the GOT pseudo reg
 ;; didn't get allocated to a hard register.
 (define_split 
-  [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+  [(set (match_operand:SI 0 "gpc_reg_operand" "")
        (unspec:SI [(match_operand:SI 1 "got_no_const_operand" "")
-                   (match_operand:SI 2 "memory_operand" "m")] 8))]
+                   (match_operand:SI 2 "memory_operand" "")] 8))]
   "(DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
     && flag_pic == 1
     && (reload_in_progress || reload_completed)"
index 8c6516b67092c598db5fcde4523288e24fe3de89..6015366c4b11a3195eb3693fe8782ef7e25259dc 100644 (file)
@@ -7211,20 +7211,14 @@ thread_prologue_and_epilogue_insns (f)
       seq = gen_sequence ();
       end_sequence ();
 
-      /* If optimization is off, and perhaps in an empty function,
-        the entry block will have no successors.  */
-      if (ENTRY_BLOCK_PTR->succ)
-       {
-         /* Can't deal with multiple successsors of the entry block.  */
-         if (ENTRY_BLOCK_PTR->succ->succ_next)
-           abort ();
+      /* Can't deal with multiple successsors of the entry block
+         at the moment.  Function should always have at least one
+         entry point.  */
+      if (!ENTRY_BLOCK_PTR->succ || ENTRY_BLOCK_PTR->succ->succ_next)
+       abort ();
 
-         insert_insn_on_edge (seq, ENTRY_BLOCK_PTR->succ);
-         inserted = 1;
-       }
-      else
-       set_block_for_new_insns (emit_insn_after (seq, f),
-                                ENTRY_BLOCK_PTR->succ);
+      insert_insn_on_edge (seq, ENTRY_BLOCK_PTR->succ);
+      inserted = 1;
     }
 #endif