]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Disable cant_combine_insn_p unless SMALL_REGISTER_CLASSES
authorBernd Schmidt <bernds@redhat.co.uk>
Fri, 29 Dec 2000 15:59:30 +0000 (15:59 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Fri, 29 Dec 2000 15:59:30 +0000 (15:59 +0000)
From-SVN: r38538

gcc/ChangeLog
gcc/combine.c

index d19ab0a9d3676c790ba5e08d1039da480d1e3515..58b900f20db0e2352c3a30cf58278dcd6c325d81 100644 (file)
@@ -1,3 +1,8 @@
+2000-12-29  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * combine.c (cant_combine_insn_p): Only restrict hard register
+       combinations for SMALL_REGISTER_CLASSES machines.
+
 2000-12-22  Bernd Schmidt  <bernds@redhat.co.uk>
 
        * calls.c (emit_call_1): Fall back to call_pop/call_value_pop if no
index e84e31bf84c16eac49cca0be12c7516ebe20196a..2b7af1e1cd26b5914df8f3901f989af22a853eb4 100644 (file)
@@ -1330,6 +1330,11 @@ cant_combine_insn_p (insn)
   if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
     return 1;
 
+  /* For the 2.95.3 release, restrict this code to only handle the machines
+     where it's strictly needed.  */
+  if (! SMALL_REGISTER_CLASSES)
+    return 0;
+
   /* Never combine loads and stores involving hard regs.  The register
      allocator can usually handle such reg-reg moves by tying.  If we allow
      the combiner to make substitutions of hard regs, we risk aborting in