]> git.pld-linux.org Git - packages/gcc.git/blobdiff - gcc32-cfg-eh.patch
This commit was manufactured by cvs2git to create branch 'GCC_3_4'.
[packages/gcc.git] / gcc32-cfg-eh.patch
diff --git a/gcc32-cfg-eh.patch b/gcc32-cfg-eh.patch
deleted file mode 100644 (file)
index 4d11138..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-2002-05-28  Richard Henderson  <rth@redhat.com>
-
-       * flow.c (calculate_global_regs_live): Rename call_used to
-       invalidated_by_call.  Initialize from regs_invalidated_by_call
-       instead of call_used_regs.
-
-2002-07-20  Jakub Jelinek  <jakub@redhat.com>
-
-       * g++.dg/opt/life1.C: New test.
-
---- gcc/flow.c 28 May 2002 12:53:39 -0000      1.527
-+++ gcc/flow.c 28 May 2002 20:01:29 -0000      1.528
-@@ -1048,19 +1048,19 @@ calculate_global_regs_live (blocks_in, b
-      int flags;
- {
-   basic_block *queue, *qhead, *qtail, *qend;
--  regset tmp, new_live_at_end, call_used;
--  regset_head tmp_head, call_used_head;
-+  regset tmp, new_live_at_end, invalidated_by_call;
-+  regset_head tmp_head, invalidated_by_call_head;
-   regset_head new_live_at_end_head;
-   int i;
-   tmp = INITIALIZE_REG_SET (tmp_head);
-   new_live_at_end = INITIALIZE_REG_SET (new_live_at_end_head);
--  call_used = INITIALIZE_REG_SET (call_used_head);
-+  invalidated_by_call = INITIALIZE_REG_SET (invalidated_by_call_head);
-   /* Inconveniently, this is only readily available in hard reg set form.  */
-   for (i = 0; i < FIRST_PSEUDO_REGISTER; ++i)
--    if (call_used_regs[i])
--      SET_REGNO_REG_SET (call_used, i);
-+    if (TEST_HARD_REG_BIT (regs_invalidated_by_call, i))
-+      SET_REGNO_REG_SET (invalidated_by_call, i);
-   /* Create a worklist.  Allocate an extra slot for ENTRY_BLOCK, and one
-      because the `head == tail' style test for an empty queue doesn't
-@@ -1147,7 +1147,7 @@ calculate_global_regs_live (blocks_in, b
-           if (e->flags & EDGE_EH)
-             {
-               bitmap_operation (tmp, sb->global_live_at_start,
--                                call_used, BITMAP_AND_COMPL);
-+                                invalidated_by_call, BITMAP_AND_COMPL);
-               IOR_REG_SET (new_live_at_end, tmp);
-             }
-           else
-@@ -1315,7 +1315,7 @@ calculate_global_regs_live (blocks_in, b
-   FREE_REG_SET (tmp);
-   FREE_REG_SET (new_live_at_end);
--  FREE_REG_SET (call_used);
-+  FREE_REG_SET (invalidated_by_call);
-   if (blocks_out)
-     {
---- gcc/testsuite/g++.dg/opt/life1.C.jj        Sat Jul 20 18:57:05 2002
-+++ gcc/testsuite/g++.dg/opt/life1.C   Sat Jul 20 19:00:01 2002
-@@ -0,0 +1,16 @@
-+// This testcase did not set up the pic register on IA-32 due
-+// to bug in calculate_global_regs_live EH edge handling.
-+// { dg-do compile { target i?86-*-linux* } }
-+// { dg-options "-O2 -fPIC" }
-+
-+struct A { };
-+
-+void foo (A (*fn)())
-+{
-+  try {
-+    A a = fn ();
-+  } catch (...) {
-+  }
-+}
-+
-+// { dg-final { scan-assembler "GLOBAL_OFFSET_TABLE" } }
This page took 0.074057 seconds and 4 git commands to generate.