public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [Ada] Remove high level optimizer framework
@ 2012-03-19 16:42 Arnaud Charlet
  0 siblings, 0 replies; only message in thread
From: Arnaud Charlet @ 2012-03-19 16:42 UTC (permalink / raw)
  To: gcc-patches; +Cc: Robert Dewar

[-- Attachment #1: Type: text/plain, Size: 720 bytes --]

This framework was implemented years ago, but never documented,
and no optimizer was ever implemented, so best just to remove it
at this stage. If anyone ever wants to implement a high level
optimizer, the least of the effort will be putting this back.
Note that the critical point (which is that reanalysis works)
has not been checked for many many years, and is almost
certainly broken anyway.

Tested on x86_64-pc-linux-gnu, committed on trunk

2012-03-19  Robert Dewar  <dewar@adacore.com>

	* opt.ads: Remove HLO_Active flag.
	* sem.adb: Remove call of high level optimizer.
	* sem.ads (New_Nodes_OK): Removed.
	* sem_ch10.adb: Remove references to New_Nodes_OK.
	* switch-c.adb: Remove handling of -gnatH switch.


[-- Attachment #2: difs --]
[-- Type: text/plain, Size: 4963 bytes --]

Index: switch-c.adb
===================================================================
--- switch-c.adb	(revision 185520)
+++ switch-c.adb	(working copy)
@@ -634,12 +634,6 @@
                Ptr := Ptr + 1;
                Usage_Requested := True;
 
-            --  Processing for H switch
-
-            when 'H' =>
-               Ptr := Ptr + 1;
-               HLO_Active := True;
-
             --  Processing for i switch
 
             when 'i' =>
Index: sem_ch10.adb
===================================================================
--- sem_ch10.adb	(revision 185520)
+++ sem_ch10.adb	(working copy)
@@ -2977,7 +2977,6 @@
    --  Start of processing for Expand_With_Clause
 
    begin
-      New_Nodes_OK := New_Nodes_OK + 1;
       Withn :=
         Make_With_Clause (Loc,
           Name => Build_Unit_Name (Nam));
@@ -3002,8 +3001,6 @@
       if Nkind (Nam) = N_Expanded_Name then
          Expand_With_Clause (Item, Prefix (Nam), N);
       end if;
-
-      New_Nodes_OK := New_Nodes_OK - 1;
    end Expand_With_Clause;
 
    -----------------------
@@ -3165,7 +3162,6 @@
          return;
       end if;
 
-      New_Nodes_OK := New_Nodes_OK + 1;
       Withn := Make_With_Clause (Loc, Name => Build_Unit_Name);
 
       Set_Library_Unit          (Withn, P);
@@ -3183,8 +3179,6 @@
       if Is_Child_Spec (P_Unit) then
          Implicit_With_On_Parent (P_Unit, N);
       end if;
-
-      New_Nodes_OK := New_Nodes_OK - 1;
    end Implicit_With_On_Parent;
 
    --------------
@@ -3734,8 +3728,6 @@
       --  Start of processing for Expand_Limited_With_Clause
 
       begin
-         New_Nodes_OK := New_Nodes_OK + 1;
-
          if Nkind (Nam) = N_Identifier then
 
             --  Create node for name of withed unit
@@ -3793,8 +3785,6 @@
                Install_Limited_Withed_Unit (Withn);
             end if;
          end if;
-
-         New_Nodes_OK := New_Nodes_OK - 1;
       end Expand_Limited_With_Clause;
 
       ----------------------
Index: sem.adb
===================================================================
--- sem.adb	(revision 185520)
+++ sem.adb	(working copy)
@@ -30,7 +30,6 @@
 with Errout;   use Errout;
 with Expander; use Expander;
 with Fname;    use Fname;
-with HLO;      use HLO;
 with Lib;      use Lib;
 with Lib.Load; use Lib.Load;
 with Nlists;   use Nlists;
@@ -1367,7 +1366,6 @@
       S_Global_Dis_Names : constant Boolean          := Global_Discard_Names;
       S_In_Spec_Expr     : constant Boolean          := In_Spec_Expression;
       S_Inside_A_Generic : constant Boolean          := Inside_A_Generic;
-      S_New_Nodes_OK     : constant Int              := New_Nodes_OK;
       S_Outer_Gen_Scope  : constant Entity_Id        := Outer_Generic_Scope;
 
       Generic_Main : constant Boolean :=
@@ -1386,8 +1384,7 @@
       --  and we need to restore these saved values at the end.
 
       procedure Do_Analyze;
-      --  Procedure to analyze the compilation unit. This is called more than
-      --  once when the high level optimizer is activated.
+      --  Procedure to analyze the compilation unit
 
       ----------------
       -- Do_Analyze --
@@ -1491,15 +1488,6 @@
 
       if not Analyzed (Comp_Unit) then
          Initialize_Version (Current_Sem_Unit);
-         if HLO_Active then
-            Expander_Mode_Save_And_Set (False);
-            New_Nodes_OK := 1;
-            Do_Analyze;
-            Reset_Analyzed_Flags (Comp_Unit);
-            Expander_Mode_Restore;
-            High_Level_Optimize (Comp_Unit);
-            New_Nodes_OK := 0;
-         end if;
 
          --  Do analysis, and then append the compilation unit onto the
          --  Comp_Unit_List, if appropriate. This is done after analysis,
@@ -1547,7 +1535,6 @@
       GNAT_Mode            := S_GNAT_Mode;
       In_Spec_Expression   := S_In_Spec_Expr;
       Inside_A_Generic     := S_Inside_A_Generic;
-      New_Nodes_OK         := S_New_Nodes_OK;
       Outer_Generic_Scope  := S_Outer_Gen_Scope;
 
       Restore_Opt_Config_Switches (Save_Config_Switches);
Index: sem.ads
===================================================================
--- sem.ads	(revision 185520)
+++ sem.ads	(working copy)
@@ -209,10 +209,6 @@
 
 package Sem is
 
-   New_Nodes_OK : Int := 1;
-   --  Temporary flag for use in checking out HLO. Set non-zero if it is
-   --  OK to generate new nodes.
-
    -----------------------------
    -- Semantic Analysis Flags --
    -----------------------------
Index: opt.ads
===================================================================
--- opt.ads	(revision 185520)
+++ opt.ads	(working copy)
@@ -666,10 +666,6 @@
    --  Heap size for memory allocations. Valid values are 32 and 64. Only
    --  available on VMS.
 
-   HLO_Active : Boolean := False;
-   --  GNAT
-   --  True if High Level Optimizer is activated (-gnatH switch)
-
    Identifier_Character_Set : Character;
    --  GNAT
    --  This variable indicates the character set to be used for identifiers.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-03-19 16:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-19 16:42 [Ada] Remove high level optimizer framework Arnaud Charlet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).