1. 29 Sep, 2004 17 commits
    • * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define. · d962e7ad
      From-SVN: r88290
      David Edelsohn committed
    • re PR java/17007 (Inconsistent builtin attributes set by Java front end) · eab3f38f
      2004-09-29  Andrew Haley  <aph@redhat.com>
      
              PR java/17007
              * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
              result of TRUNC_MOD_EXPR.
              (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
              * decl.c (java_init_decl_processing): Mark
              soft_lookupinterfacemethod_node and soft_instanceof_node pure.
      
      From-SVN: r88289
      Andrew Haley committed
    • tree.c (make_node_stat): Fix uninitialized warning. · c4b3f0eb
      	* tree.c (make_node_stat): Fix uninitialized warning.  Replace
      	cascaded if ... else if with a switch.
      
      From-SVN: r88288
      Nathan Sidwell committed
    • Regenerate. · dca3f2e9
      From-SVN: r88285
      Richard Sandiford committed
    • configure.in (--without-headers): Add missing double quotes. · 9082a750
      	* configure.in (--without-headers): Add missing double quotes.
      	* configure: Regenerate.
      
      From-SVN: r88284
      Michael Roth committed
    • tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD. · 58c8adc1
      	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
      	and TI_VA_LIST_FPR_COUNTER_FIELD.
      	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
      	* tree-pass.h (pass_stdarg): Add.
      	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
      	* tree-stdarg.c: New file.
      	* Makefile.in (OBJS-common): Add tree-stdarg.o.
      	(tree-stdarg.o): Add dependencies.
      	* function.h (struct function): Add va_list_gpr_size and
      	va_list_fpr_size fields.
      	* function.c (allocate_struct_function): Initialize them.
      
      	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
      	va_list_{g,f}pr_counter_field.
      	(ix86_setup_incoming_varargs): Don't do anything if reg_save
      	area will not be used.  Only save registers that tree-stdarg.c
      	detected they need saving.
      	(ix86_va_start): Don't set up fields that won't be used.
      
      	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
      	va_list_{g,f}pr_counter_field.
      	(setup_incoming_varargs): Don't do anything if reg_save
      	area will not be used.  Only save registers that tree-stdarg.c
      	detected they need saving.
      	(rs6000_va_start): Don't set up fields that won't be used.
      
      	* gcc.c-torture/execute/stdarg-1.c: New test.
      	* gcc.c-torture/execute/stdarg-2.c: New test.
      	* gcc.c-torture/execute/stdarg-3.c: New test.
      	* gcc.dg/tree-ssa/stdarg-1.c: New test.
      	* gcc.dg/tree-ssa/stdarg-2.c: New test.
      	* gcc.dg/tree-ssa/stdarg-3.c: New test.
      	* gcc.dg/tree-ssa/stdarg-4.c: New test.
      	* gcc.dg/tree-ssa/stdarg-5.c: New test.
      
      From-SVN: r88279
      Jakub Jelinek committed
    • builtins.def (BUILT_IN_FPUTC, [...]): Remove nothrow attribute. · 0d5b215c
      	* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
      	BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
      	BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
      	BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
      	* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
      	ATTR_NONNULL_1_4): New.
      
      From-SVN: r88278
      Jakub Jelinek committed
    • re PR tree-optimization/17697 (ICE: Statement marked for throw, but doesn't - verify_stmts failed) · a7d6ba24
      	PR tree-optimization/17697
      	* tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
      	cfg if needed.
      
      	* g++.dg/opt/pr17697-1.C: New test.
      	* g++.dg/opt/pr17697-2.C: New test.
      	* g++.dg/opt/pr17697-3.C: New test.
      
      From-SVN: r88277
      Jakub Jelinek committed
    • Oops - fix typo in ChangeLog. · ac973ace
      From-SVN: r88272
      Per Bothner committed
    • profile.c (brnahc_prob): Pass correct value to output_location, even when USE_MAPPED_LOCATION. · 50fd1c97
      
      	* profile.c (brnahc_prob):  Pass correct value to output_location,
      	even when USE_MAPPED_LOCATION.  Fixes bug from 09-11.
      
      From-SVN: r88271
      Per Bothner committed
    • re PR middle-end/17525 (ICE in emit_move_insn (non-BLKmode arg)) · 550f100c
              PR middle-end/17525
              * class.c (build_base_field): Set TYPE_MODE.
      
      From-SVN: r88270
      Jason Merrill committed
    • re PR tree-optimization/15089 (local register variable with a specified register is bad) · aa24864c
              PR 15089
              * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
              * tree-flow.h (may_propagate_copy_into_asm): Declare.
              * tree-ssa-ccp.c (replace_uses_in): Use it.
              * tree-ssa-dom.c (cprop_operand): Likewise.
      
      From-SVN: r88269
      Richard Henderson committed
    • tree-ssa-threadupdate.c (create_block_for_threading): Request that no outgoing… · e376fe58
      tree-ssa-threadupdate.c (create_block_for_threading): Request that no outgoing edges be left in the duplicate block.
      
      
      	* tree-ssa-threadupdate.c (create_block_for_threading):  Request
      	that no outgoing edges be left in the duplicate block.  Do no
      	update information on outgoing edges or PHI nodes in target
      	blocks here.
      	(remove_ctrl_stmt_and_useless_edges): Renamed from
      	remove_last_stmt_and_useless_edges.  Handle case where the
      	block is empty or has no control statements.  Do not update edge
      	flags here.
      	(thread_block): Create a template block rather than copying the
      	original block every time.  Create outgoing edges from the
      	duplicate blocks and update PHIs at the target of the outgoing
      	edges here.  Fix edge flags for the original block if necessary.
      	* cfghooks (duplicate_block): No longer assert that the original
      	block has incoming edges.
      
      From-SVN: r88267
      Jeff Law committed
    • extend.texi (Extended Asm): Add blurb about using Explicit Reg Vars to enforce… · 805c33df
      extend.texi (Extended Asm): Add blurb about using Explicit Reg Vars to enforce register allocation with...
      
      	* doc/extend.texi (Extended Asm): Add blurb about using Explicit
      	Reg Vars to enforce register allocation with general constraints.
      	(Explicit Reg Vars): Clarify relation to asm statements.
      	(Local Reg Vars): Similar.
      
      From-SVN: r88265
      Hans-Peter Nilsson committed
    • sched-rgn.c (haifa_edge, [...]): Remove. · dcda8480
      	* sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
      	TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
      	build_control_flow, new_edge): Remove.
      	(schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
      	(bitlst, bitlst_table_last, bitlst_table): Remove.
      	(bblst): Store basic_block pointer instead of block index.
      	(bblst_table): Likewise.
      	(edgelst): Store edge pointer instead of edge index.
      	(edgelst_table, edgelst_last): New variables.
      	(extract_bitlst): Rename to ...
      	(extract_edgelst): ... this.  Return edge pointers, not indices.
      	(split_edges): Update call.
      	(rgn_edges): Store edge pointers instead of indices.
      	(edge_to_bit): Remove.
      	(EDGE_TO_BIT): Store per-region edge index in edge->aux.
      	(SET_EDGE_TO_BIT): New macro.
      	(is_cfg_nonregular): Check for simple cases of unreachable blocks.
      	(find_rgns): Remove edge_list parameter.  Traverse standard CFG
      	data structures instead of haifa_edge et al.  Use edge pointers
      	instead of edge indices everywhere.
      	(compute_dom_prob_ps): Use standard CFG data structures.  Account
      	for exit edges.
      	(compute_trg_info): Likewise.
      	(propagate_deps): Likewise.
      	(debug_candidate): Account for bblst data structure change.
      	(check_live_1, update_live_1, is_pfree): Likewise.
      	(IS_REACHABLE): Use standard CFG data structures.
      	(init_ready_list): Update bblst_table/edgelst_table allocation.
      	(schedule_region): Update alloc/cleanup code to data structure
      	changes.  Use edge->aux to store per-region edge index.
      	(init_regions): No longer call build_control_flow.  Do not
      	create edge list any more.
      
      From-SVN: r88264
      Ulrich Weigand committed
    • Daily bump. · f7deb4e9
      From-SVN: r88262
      GCC Administrator committed
  2. 28 Sep, 2004 23 commits