Richard Guenther [Fri, 13 Jul 2012 11:21:39 +0000 (11:21 +0000)]
re PR tree-optimization/53922 (VRP: semantic conflict between range_includes_zero_p and value_inside_range)
2012-07-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53922
* tree-vrp.c (value_inside_range): Change prototype to take
min/max instead of value-range.
(range_includes_zero_p): Likewise. Return the result from
value_inside_range.
(extract_range_from_binary_expr_1): Adjust to handle dont-know
return value from range_includes_zero_p.
(extract_range_from_unary_expr_1): Likewise.
(compare_range_with_value): Likewise.
(vrp_meet_1): Likewise.
re PR rtl-optimization/53176 (gcc.dg/lower-subreg-1.c FAILs)
PR rtl-optimization/53176
* rtlanal.c (rtx_cost): Adjust default cost for X with a
UNITS_PER_WORD factor for all X according to the size of
its mode, not just for SUBREGs with untieable modes.
Handle SET. Use factor * factor for MULT, DIV, UDIV,
MOD, UMOD.
i386.md (QImode and HImode cmove splitters): Merge QImode and HImode splitters.
* config/i386/i386.md (QImode and HImode cmove splitters): Merge
QImode and HImode splitters. Use ix86_comparison_operator.
Explicitly match FLAGS_REG.
(DFmode cmove splitter): Explicitly match FLAGS_REG.
* vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches.
2012-07-12 Thomas Quinot <quinot@adacore.com>
* exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb,
sem_util.ads, exp_aggr.adb
(Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing
for reverse storage order aggregate.
(Exp_Pakd.Byte_Swap): New utility routine used by...
(Exp_Pakd.Expand_Bit_Packed_Element_Set,
Expand_Packed_Element_Reference): For the case of a free-standing
packed array with reverse storage order, perform byte swapping.
(Rtsfind): Make new entities RE_Bswap_{16,32,64} available.
(Freeze.Check_Component_Storage_Order): New utility routine
to enforce legality rules for nested composite types whose
enclosing composite has an explicitly defined Scalar_Storage_Order
attribute.
(Sem_Util.In_Reverse_Storage_Order_Object): Renamed from
Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to
array types as well.
(Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge
for change of scalar storage order in assignments. The Lhs and
Rhs now always have the same scalar storage order.
* g-debpoo.adb (Allocate): Add local constant
No_Element. Initialize the allocated memory chunk to No_Element.
2012-07-12 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
the case of an instance of a child unit where a formal derived
type DT is an extension of a type T declared in a parent unit,
and the actual in the instance of the child is the type T declared
in the parent instance, and that actual is not a derived type.
2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
Tristan Gingold <gingold@adacore.com>
* system-hpux-ia64.ads: Enable ZCX by default.
* gcc-interface/Makefile.in: Use alternate stack on ia64-hpux.
Change soext to .so.
* ali.adb: Add circuitry to read new named form of restrictions lines.
* debug.adb: Add doc for new -gnatd.R switch (used positional
notation for output of restrictions data in ali file).
* lib-writ.adb: Implement new named format for restrictions lines.
* lib-writ.ads: Add documentation for new named format for
restrictions in ali files.
* restrict.adb, restrict.ads, sem_prag.adb: Update comments.
* rident.ads: Go back to withing System.Rident
* s-rident.ads: Add extensive comment on dealing with consistency
checking.
2012-07-12 Thomas Quinot <quinot@adacore.com>
* par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.
* exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor
reformatting.
2012-07-12 Vincent Pucci <pucci@adacore.com>
* sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error
msgs for elementary functions.
2012-07-12 Vincent Pucci <pucci@adacore.com>
* sem_attr.adb (Eval_Attribute): Minor reformatting.
2012-07-12 Pascal Obry <obry@adacore.com>
* prj-nmsc.adb (Check_Library_Attributes): Allow the same library
project in different project tree (different aggregated projects).
2012-07-12 Thomas Quinot <quinot@adacore.com>
* s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further
reorganization of byte swapping routines.
2012-07-12 Ed Schonberg <schonberg@adacore.com>
* sem_disp.adb (Check_Dispatching_Context): Refine legality
checks on tagg indeterminate calls to abstract operations,
that appear in the context of other calls.
* s-bytswa.adb (Swapped2.Bswap16): Remove local function,
no longer needed.
2012-07-12 Javier Miranda <miranda@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference): For
attributes 'access, 'unchecked_access and 'unrestricted_access,
iff the current instance reference is located in a protected
subprogram or entry then rewrite the access attribute to be the
name of the "_object" parameter.
2012-07-12 Tristan Gingold <gingold@adacore.com>
* raise.h: Revert previous patch: structure is used in init.c
by vms.
2012-07-12 Vincent Celier <celier@adacore.com>
* make.adb (Binding_Phase): If --subdirs was used, but not
-P, change the working directory to the specified subdirectory
before invoking gnatbind.
(Linking_Phase): If --subdirs was used, but not -P, change the working
directory to the specified subdirectory before invoking gnatlink.
2012-07-12 Vincent Pucci <pucci@adacore.com>
* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
For a procedure, instead of replacing each Comp reference by a
reference to Current_Comp, make a renaming Comp of Current_Comp
that rewrites the original renaming generated by the compiler
during the analysis. Move the declarations of the procedure
inside the generated block.
(Process_Stmts): Moved in the body
of Build_Lock_Free_Unprotected_Subprogram_Body.
(Process_Node):
Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body.
* sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any
non-elementary out parameters in protected procedures.
2012-07-12 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
Scalar_Storage_Order): Attribute applies to base type only.
* exp_aggr.adb (Convert_To_Positional): Increase acceptable size
of static aggregate when Static_Elaboration_Desired is requested.
Add a warning if the request cannot be satisfied either because
some components or some array bounds are non-static.
2012-07-12 Thomas Quinot <quinot@adacore.com>
* exp_pakd.adb: Minor reformatting.
2012-07-12 Tristan Gingold <gingold@adacore.com>
* tracebak.c: Fix warnings.
* raise-gcc.c (__gnat_adjust_context): New function
(__gnat_personality_seh0): Call __gnat_adjust_context to adjust
PC in machine frame for exceptions that occur in the current
function.
2012-07-12 Thomas Quinot <quinot@adacore.com>
* g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl:
Move GNAT.Byte_Swapping to System (with a renaming under GNAT)
so that it is usable in expanded code.
2012-07-12 Tristan Gingold <gingold@adacore.com>
* s-osinte-hpux.ads: Increase alternate stack size on hpux.
* exp_ch3.adb (Make_Neq_Body): Fix typo in comment.
2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
* tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only
if USE_LIBUNWIND_EXCEPTIONS is defined.
* init.c: Further tweaks for IA-64/HP-UX.
2012-07-12 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments.
(db_region_for): Second argument is ip. Do not recompute ip.
(action_kind): Remove typedef, add unhandler enum const.
(action_descriptor): Adjust type of kind field.
(db_action_for): Second argument is ip, do not recompute it.
(get_call_site_action_for): First argument is call_site, do not
recompute it. Remove useless return.
(is_handled_by): Now return enum action_kind.
Handle GNAT_ALL_OTHERS first.
Return unhandler for GNAT_UNHANDLED_OTHERS.
(get_action_description_for): First argument is now ip, do not
recompute it. Adjust code for call to is_handled_by.
(__gnat_notify_unhandled_exception): Add prototype.
(PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls.
Handle unhandler case.
(__gnat_cleanupunwind_handler): Add comments, add
ATTRIBUTE_UNUSED on arguments.
(__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define
only once.
* raise.h: Makes struct Exception_Data opaque.
* make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor
reformatting.
2012-07-12 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Is_User_Defined_Equality): New subprogram.
(Make_Neq_Body): New subprogram.
(Make_Predefined_Primitive_Specs): Adding local variable
Has_Predef_Eq_ Renaming to ensure that we enable the machinery
which handles renamings of predefined primitive operators.
Jason Merrill [Wed, 11 Jul 2012 11:53:23 +0000 (07:53 -0400)]
DR 1402
DR 1402
* method.c (synthesized_method_walk): Replace uses of msg with diag.
Correct handling of virtual bases with move operations.
(process_subob_fn, walk_field_subobs): Replace uses of msg with diag.
Steven Bosscher [Wed, 11 Jul 2012 08:58:58 +0000 (08:58 +0000)]
expr.h (can_move_by_pieces): Move prototype from here ...
gcc/
* expr.h (can_move_by_pieces): Move prototype from here ...
* tree.h (can_move_by_pieces): ... to here.
* optabs.h (set_widening_optab_handler): Use XCNEW.
* gimplify.c: Do not include expr.h.
* toplev.c: Do not include dwarf2out.h.
* config/ia64/ia64.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/sparc/t-sparc (sparc.o): Fix dependencies.
c-family/
* c-gimplify.c: Do not include basic-block.h.
* c-common.c: Do not include linfuncs.h.
cp/
* method.c: Do not include tree-pass.h.
fortran/
* trans.c: Do not include defaults.h.
* trans-intrinsic.c: Likewise.
java/
* decl.c: Do not include libfuncs.h.
* class.c: Do not include defaults.h.
* jvgenmain.c: Likewise.
* magnle.c: Likewise.
* Make-lang.in (decl.o): Fix dependencies.
rs6000: Rename patterns for vec_widen_<s>mult_even/odd_<mode>
* config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Rename
from altivec_vmuleub.
(vec_widen_smult_even_v16qi): Rename from altivec_vmulesb.
(vec_widen_umult_even_v8hi): Rename from altivec_vmuleuh.
(vec_widen_smult_even_v8hi): Rename from altivec_vmulesh.
(vec_widen_umult_odd_v16qi): Rename from altivec_vmuloub.
(vec_widen_smult_odd_v16qi): Rename from altivec_vmulosb.
(vec_widen_umult_odd_v8hi): Rename from altivec_vmulouh.
(vec_widen_smult_odd_v8hi): Rename from altivec_vmulosh.
* config/rs6000/rs6000-builtin.def: Update pattern names to match.
darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Move NeXT runtime exceptions model setting from here ...
* config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Move NeXT
runtime exceptions model setting from here ...
* config/darwin.c (darwin_override_options): ... to here.
Tom de Vries [Mon, 9 Jul 2012 13:28:51 +0000 (13:28 +0000)]
tree-ssa-ccp.c (optimize_unreachable): New function.
2012-07-09 Tom de Vries <tom@codesourcery.com>
Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (optimize_unreachable): New function.
(execute_fold_all_builtins): Use optimize_unreachable to optimize
BUILT_IN_UNREACHABLE. Don't optimize after BUILT_IN_UNREACHABLE.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r189383
* sem_ch9.adb (Check_Node): Allow attributes
that denote static function for lock-free implementation.
(Is_Static_Function): New routine.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* tracebak.c: Adjust skip_frames on Win64.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
* raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
_Unwind_GetGR on hpux when using libgcc unwinder. Part of
2012-07-09 Vincent Pucci <pucci@adacore.com>
* exp_attr.adb, sem_attr.adb: Minor reformatting.
* par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
considering that internal attribute names are not defined anymore
in the main attribute names list.
* snames.adb-tmpl (Get_Attribute_Id): Special processinf
for names CPU, Dispatching_Domain and Interrupt_Priority.
(Is_Internal_Attribute_Name): Minor reformatting.
* snames.ads-tmpl: New list of internal attribute names. Internal
attributes moved at the end of the attribute Id list.
* sem_ch13.adb: Extend previous change to elementary types.
2012-07-09 Javier Miranda <miranda@adacore.com>
* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
previous patch since unconditionally handling as renaming_as_body
renamings of predefined dispatching equality and unequality operator
cause visibility problems with private overridings of the equality
operator (see ACATS C854001).
2012-07-09 Vincent Pucci <pucci@adacore.com>
* exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
case of internal attribute names (already rejected by the parser).
* par-ch13.adb (P_Representation_Clause): Complain if an internal
attribute name that comes from source occurs.
* par-ch4.adb (P_Name): Complain if an internal attribute name
occurs in the context of an attribute reference.
* par-util.adb (Signal_Bad_Attribute): Don't complain about
mispelling attribute with internal attributes.
* sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
of internal attribute names (already rejected by the parser).
* snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
* snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
Interrupt_Priority are marked as INT attributes since they
don't denote real attribute and are only used internally in
the compiler.
(Is_Internal_Attribute_Name): New routine.
* einfo.adb (Set_Reverse_Storage_Order): Update assertion,
flag is now valid for array types as well.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* tracebak.c: Implement __gnat_backtrace for Win64 SEH.
2012-07-09 Robert Dewar <dewar@adacore.com>
* einfo.ads: Minor reformatting.
2012-07-09 Javier Miranda <miranda@adacore.com>
* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
renaming_as_body renamings of predefined dispatching equality
and unequality operators.
2012-07-09 Robert Dewar <dewar@adacore.com>
* rident.ads: Do not instantiate r-ident.ads, this is now an
independent unit.
2012-07-09 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
routine.
* sem_disp.adb (Find_Dispatching_Time): Protect this routine
against partially decorated entities.
2012-07-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Check_Size): Reject a size clause that specifies
a value greater than Int'Last for a scalar type.
2012-07-09 Vincent Pucci <pucci@adacore.com>
* sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
atomic operation moved to the protected body case. No non-elementary
out parameter moved to the protected declaration case. Functions have
only one lock-free restriction.
(Analyze_Protected_Type_Declaration): Issue a warning when
Priority given with Lock_Free.
2012-07-09 Vincent Pucci <pucci@adacore.com>
* sem_dim.adb: Grammar of aspect Dimension fixed.
2012-07-09 Vincent Pucci <pucci@adacore.com>
* freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
pushing and popping the scope stack whenever a delayed aspect occurs.
2012-07-09 Gary Dismukes <dismukes@adacore.com>
* s-os_lib.ads: Remove pragma Elaborate_Body, as
this is now unnecessary due to recently added pragma Preelaborate.
2012-07-09 Jose Ruiz <ruiz@adacore.com>
* s-taprop-mingw.adb (Set_Priority): Remove the code that was
previously in place to reorder the ready queue when a task drops
its priority due to the loss of inherited priority.
* a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from
raise-gcc.c
* raise-gcc.c (__gnat_cleanupunwind_handler): Defined.
Strictly follow the ABI convention on ia64.
2012-07-09 Gary Dismukes <dismukes@adacore.com>
* a-ststio.ads: Add pragma Preelaborate, per AI05-0283.
* i-cstrea.ads (max_path_len): Change from variable to deferred
constant to allow it to be used as a bound in string component
in type System.File_IO.Temp_File_Record.
* s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma
Preelaborate.
* s-fileio.adb (Get_Case_Sensitive): Move function inside
procedure Open.
(File_Names_Case_Sensitive): Move variable inside
procedure Open, to avoid violation of Preelaborate restriction
(due to call to Get_Case_Sensitive).
2012-07-09 Ed Schonberg <schonberg@adacore.com>
* layout.adb (Set_Elem_Alignment): Protect against meaningless
size clause, to prevent overflow in internal computation of
alignment.
* freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor
reformatting.
2012-07-09 Gary Dismukes <dismukes@adacore.com>
* sem_cat.adb (Check_Categorization_Dependencies):
Allow dependence of both Remote_Types and Remote_Call_Interface
declarations (not just Remote_Types units) on preelaborated
units, but require that the dependence be made via a private
with_clause. Issue a specialized error message.
* gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only
lightly in the summary and more thoroughly in inlining section.
(Performance Considerations): Document -gnatn[12] in inlining
section.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure.
(Unhandled_Others_Value): New const.
* raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define.
(action_descriptor): Remove ttype_entry.
(get_action_description_for): Do not assign ttype_entry.
(is_handled_by): Consider GNAT_UNHANDLED_OTHERS.
Steven Bosscher [Mon, 9 Jul 2012 08:45:12 +0000 (08:45 +0000)]
gensupport.c (init_rtx_reader_args_cb): Start counting code generating patterns from 1 to free up 0 for CODE_FOR_nothing.
* gensupport.c (init_rtx_reader_args_cb): Start counting code
generating patterns from 1 to free up 0 for CODE_FOR_nothing.
* gencodes.c (main): Give CODE_FOR_nothing the value 0. Add
the LAST_INSN_CODE marker at the end.
* genoutput.c (nothing): New static struct data.
(idata): Initialize to ¬hing.
(idata_end): Initialize to ¬hing.next.
(init_insn_for_nothing): New function to create dummy 'nothing' insn.
(main): Use it.
* genpeep.c (insn_code_number): Remove global variable.
(gen_peephole): Take it as an argument instead.
(main): Take insn_code_number from read_md_rtx.
* optabs.h: Revert r161809:
(optab_handlers): Change type of insn_code back to insn_code.
(optab_handler, widening_optab_handler, set_optab_handler,
set_widening_optab_handler, convert_optab_handler,
set_convert_optab_handler, direct_optab_handler,
set_direct_optab_handler): Remove int casts.
Revert to treating the insn_code field as "insn_code".
sh.md (*return_i): Move trap_exit attribute check to ...
* config/sh/sh.md (*return_i): Move trap_exit attribute check to ...
* config/sh/sh.c (sh_cfun_trap_exit_p): ... this new function.
* config/sh/sh-protos.h: Declare it.
Steven Bosscher [Sun, 8 Jul 2012 18:13:19 +0000 (18:13 +0000)]
mcf.c: Do not include tm.h, tree.h, and langhooks.h.
* mcf.c: Do not include tm.h, tree.h, and langhooks.h.
(dump_fixup_graph): Use current_function_name.
(adjust_cfg_counts): Likewise.
* ira-conflicts.c: Do not include tree.h.
(ira_build_conflicts): Use REG_USERVAR_P instead of DECL_ARTIFICIAL.
Steven Bosscher [Sun, 8 Jul 2012 10:06:14 +0000 (10:06 +0000)]
basic-block.h: Re-group most prototypes per file.
gcc/
* basic-block.h: Re-group most prototypes per file.
(struct edge_list): Remove num_blocks field.
(dump_bb_info): Adjust prototypes.
(dump_reg_info): Move prototype to regs.h.
* function.h: Do not include tree.h.
Include vec.h, vecir.h, input.h and machmode.h to compensate.
(function_name): New prototype.
* gimple.h: Include tree.h to compensate for basic-block.h change.
* langhooks.h: Note that tree.h is only necessary for enum tree_code.
* regs.h (dump_reg_info): Prototype here.
* regset.h: Adjust file reference in comment.
(debug_regset): Remove prototype.
* rtl.h: Include flags.h for flag_var_tracking_assignments.
(MAY_HAVE_DEBUG_INSNS): Define as flag_var_tracking_assignments
instead of no-longer-available tree.h's MAY_HAVE_DEBUG_STMTS.
(dump_reg_info, dump_flow_info): Remove prototypes.
* bb-reorder.c (set_edge_can_fallthru_flag): Move from cfganal.c
to here, the only user. Make static.
(reorder_basic_blocks): Call dump_reg_info before dump_flow_info.
* cfg.c: Do not include tm.h, tree.h, rtl.h, hard-reg-set.h, regs.h,
flags.h, function.h, except.h, diagnostic-core.h, tm_p.h, timevar.h,
tree-pass.h, cfgloop.h, and tree-flow.h.
Include basic-block.h, the first header I'd expect to be included.
(reg_obstack): Move to df-core.c.
(free_edge): Remove bogus ATTRIBUTE_UNUSED.
(remove_edge_raw): Do not call tree-ssa's redirect_edge_var_map_clear.
(redirect_edge_succ_nodup): Move to cfghooks.c.
(dump_regset, debug_regset): Move to df-core.c.
(dump_bb_info): Move to cfgrtl.c.
(dump_reg_info): Move to regstat.c.
(dump_flow_info): Move to cfgrtl.c.
(debug_flow_info): Likewise.
(dump_edge_info): Do not look at cfun, a CFG without cfun is nonsense.
* cfganal.c: Do not include tm.h, rtl.h, obstack.h, hard-reg-set.h,
insn-config.h, recog.h, diagnostic-core.h, tm_p.h, and cfgloop.h.
(flow_active_insn_p, forwarder_block_p, can_fallthru,
could_fall_through): Move to cfgrtl.c.
(set_edge_can_fallthru_flag): Moved to bb-reorder.c.
(create_edge_list): Do not set edge_list's removed num_blocks.
(print_edge_list): Look at n_basic_blocks instead of num_blocks.
(flow_nodes_print): Remove.
(flow_edge_list_print): Remove.
(inverted_post_order_compute): Use FOR_ALL_BB.
*cfgrtl.c (dump_flow_info): Moved from cfg.c.
Do not call dump_reg_info.
(debug_flow_info): Moved from cfg.c
(dump_bb_info): Moved from cfg.c. Take 'verbose' argument
to avoid looking at TDF_* flags from tree-pass.h.
(flow_active_insn_p, forwarder_block_p, can_fallthru,
could_fall_through): Moved from cfganal.c.
(print_rtl_with_bb): Adjust dump_bb_info calls.
* cfghooks.c (redirect_edge_succ_nodup): Moved from cfg.c.
(remove_edge): Call redirect_edge_var_map_clear if IR_GIMPLE.
(cfgcleanup.c): Look at MAY_HAVE_DEBUG_INSNS, not MAY_HAVE_DEBUG_STMTS.
* cselib.c: Include tree.h with a FIXME.
* df-core.c (reg_obstack): Moved from cfg.c.
(dump_regset): Likewise.
(debug_regset): Likewise. Make a DEBUG_FUNCTION.
* final.c (compute_alignments): Call dump_reg_info before
dump_flow_info.
* function.c (function_name): New function.
(current_function_name): Use it.
* ifcvt.c (rest_of_handle_if_conversion): Call dump_reg_info before
dump_flow_info.
* ira-conflicts.c: Include tree.h with a note.
* regstat.c (dump_reg_info): Moved here from cfg.c.
* loop-init.c: Include regs.h instead of hard-reg-set.h.
(rtl_loop_init): Call dump_reg_info before dump_flow_info.
(rtl_loop_done): Likewise.
* mcf.c: Include tree.h before langhooks.h.
* predict.c (maybe_hot_count_p): Assert we have cfun.
(probably_never_executed_bb_p): Likewise.
* profile.c (compute_branch_probabilities): Use gimple_dump_cfg
instead of dump_flow_info.
* sched-deps.c: Include tree.h with a FIXME.
(call_may_noreturn_p): Add FIXME note why this function has to
look at function decls instead of function decl flags.
* sched-vis.c: Include tree.h with a FIXME.
(print_rtl_slim): Adjust dump_bb_info uses.
* statistics.c (statistics_fini_pass_2): Use current_function_name
to avoid including tree.h.
(statistics_counter_event): Use function_name for the same reason.
(statistics_histogram_event): Likewise.
* tracer.c (tracer): Remove bogus gcc_assert. Use brief_dump_cfg
instead of dump_flow_info.
* var-tracking.c (variable_tracking_main_1): Call dump_reg_info
before dump_flow_info.
* doc/cfg.texi: Update CFG documentation.
* Makefile.in (RTL_H): Depend on FLAGS_H.
(GIMPLE_H): Depend on TREE_H.
(FUNCTION_H): Depend on VEC_H, vecir.h, INPUT_H and MACHMODE_H,
but no longer on TREE_H.
(C_COMMON_H): Depend on TREE_H.
(cselib.o, cse.o, cfganal.o, loop-init.o, ira-conflicts.o,
sched-deps.o, sched-vis.o): Fixup dependencies.
c-family/
* c-common.h: Include tree.h.
cp/
* decl.c (cp_finish_decl): Add FIXME at add_local_decl call site.
Steven Bosscher [Sun, 8 Jul 2012 09:57:36 +0000 (09:57 +0000)]
alias.h: Do not include coretypes.h in header files.
gcc/
* alias.h: Do not include coretypes.h in header files.
* cppbuiltin.h: Likewise.
* double-int.h: Likewise.
* gimple-fold.h: Likewise.
* flags.h: Likewise.
* tree-ssa-alias.h: Likewise.
* gengtype.h (obstack_chunk_alloc, obstack_chunk_free,
OBSTACK_CHUNK_SIZE): Define here to avoid dependency on coretypes.h.
* Makefile.in (RTL_BASE_H): Depend on coretypes.h.
(TREE_H): Likewise.
(ALIAS_H): Do not depend on coretypes.h.
(FLAGS_H): Likewise.
(realmpfr.o): Depend on coretypes.h.
java/
* verify.h: Do not include system.h and coretypes.h here.
* verify-impl.c: Include them here instead.
Steven Bosscher [Sat, 7 Jul 2012 12:35:44 +0000 (12:35 +0000)]
re PR tree-optimization/53881 (ICE in hoist_edge_and_branch_if_true)
gcc/
PR tree-optimization/53881
* tree-switch-conversion.c (emit_case_bit_tests): Do not rely on
comparing labels to establish uniqueness of a switch case target,
use the CFG instead.
testsuite/
PR tree-optimization/53881
* gcc.dg/pr53881.c: New test.
Makefile.def (cloog): Pass $(HOST_GMPINC) and $(HOST_ISLINC) as CPPFLAGS...
2012-07-06 Richard Guenther <rguenther@suse.de>
* Makefile.def (cloog): Pass $(HOST_GMPINC) and $(HOST_ISLINC)
as CPPFLAGS, pass path to built gmp as LDFLAGS, always use
--with-gmp=system.
* Makefile.in: Regenerated.
* configure: Likewise.