Patch title: Release 91 bulk changes
Abstract:
File: /language/optimizer/optimize.c
Key:
    Removed line
    Added line
   
// Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
//
// This program is free software; you can redistribute it an
// modify it under the terms of the GNU General Public Licen
// as published by the Free Software Foundation.
// 
// This program is distributed in the hope that it will be u
// but WITHOUT ANY WARRANTY; without even the implied warran
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public
// version 2 along with this program; if not, write to the F
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA


static Void optimize_check_side_effects(struct GeneratorCont
  struct Function *function; Arrow *c1;  struct Str temp;
  struct Instruction *instr;
  c1=Module_first(gc->module,Str_map_string(&temp,"pliant fu
  function=(struct Function *)*c1;
// Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
//
// This program is free software; you can redistribute it an
// modify it under the terms of the GNU General Public Licen
// as published by the Free Software Foundation.
// 
// This program is distributed in the hope that it will be u
// but WITHOUT ANY WARRANTY; without even the implied warran
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public
// version 2 along with this program; if not, write to the F
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA


static Void optimize_check_side_effects(struct GeneratorCont
  struct Function *function; Arrow *c1;  struct Str temp;
  struct Instruction *instr;
  c1=Module_first(gc->module,Str_map_string(&temp,"pliant fu
  function=(struct Function *)*c1;
  if(function->flags&Function_flag_has_no_side_effect)
    return;
  for(instr=gc->first_instruction; instr!=null; instr=instr-
    if(instr->function->flags&Function_flag_has_side_effects
      function->flags|=Function_flag_has_side_effects;
    if(instr->function->flags&Function_flag_may_generate_err
      function->flags|=Function_flag_may_generate_error; } }



  for(instr=gc->first_instruction; instr!=null; instr=instr-
    if(instr->function->flags&Function_flag_has_side_effects
      function->flags|=Function_flag_has_side_effects;
    if(instr->function->flags&Function_flag_may_generate_err
      function->flags|=Function_flag_may_generate_error; } }