+2006-12-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/30039
+ * pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
+ patterns. Correct length of high:DI instruction sequence.
+
+2006-12-08 Mike Stump <mrs@apple.com>
+
+ * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
+ libgcc with -mmacosx-version-min=10.4.
+ * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
+ G4 for 10.5+ unless doing kernel builds.
+
+2006-12-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/30120
+ * reg-stack.c (convert_regs_entry): Mark current argument passing
+ registers as live.
+
+ * config/i386/i386.h (X87_REGPARM_MAX): Set to 0 to disable passing
+ of float arguments in x87 registers.
+
+2006-12-08 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca>
+
+ * pa.h (LEGITIMATE_CONSTANT_P): Simplify.
+
+2006-12-08 Mark Shinwell <shinwell@codesourcery.com>
+
+ * recog.c (mode_dependent_address_p): Identify pre-increment,
+ pre-decrement, post-increment and post-decrement addressing as always
+ being mode-dependent.
+ * config/m32c/m32c.c (m32c_mode_dependent_address): Delete.
+ * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete.
+ * config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
+ PRE_INC and POST_INC checks.
+ * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
+ PRE_INC, POST_DEC and POST_INC cases.
+ * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
+ Delete POST_INC and PRE_DEC cases.
+ * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
+ no-op.
+ * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
+ no-op.
+ * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete
+ PRE_INC and PRE_DEC cases.
+ * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
+ (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+ * config/vax/vax.c (vax_mode_dependent_address_p): Delete
+ auto-increment cases.
+ * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete
+ auto-increment cases.
+ * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+
+2006-12-08 Andrew MacLeod <amacleod@redhat.com>
+
+ * Makefile.in: Add new file tree-ssa-ter.c.
+ * tree-outof-ssa.c (struct temp_expr_table_d, new_temp_expr_table,
+ free_temp_expr_table, add_value_to_version_list,
+ add_value_to_partition_list, remove_value_from_partition_list,
+ add_dependence, check_replaceable, finish_expr, mark_replaceable,
+ kill_expr, kill_virtual_exprs, find_replaceable_in_bb,
+ find_replaceable_exprs, dump_replaceable_exprs): Move to tree-ssa-ter.c.
+ * tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Add
+ prototypes.
+ * tree-ssa-ter.c: New file using code moved from tree-outof-ssa.c.
+ (struct value_expr_d): Remove.
+ (struct temp_expr_table_d): Rename fields, add explicit vector of
+ replaceable expressions instead of sharing. Change value_expr_p's to
+ bitmap. Delete free_list.
+ (new_temp_expr_table): Rename fields, count number of ssa_names in
+ each partition.
+ (free_temp_expr_table): Rename field, free new fields.
+ (new_value_expr, free_value_expr, find_value_in_list, add_value_to_list,
+ add_info_to_list, remove_value_from_list): Delete.
+ (version_to_be_replaced_p): New. Is an ssa-name replaceable?
+ (make_dependent_on_partition): New. Set bit in version list, allocating
+ a bitmap if need be.
+ (add_to_partition_kill_list): New. Set bit in the partition list,
+ allocating a bitmap if need be.
+ (remove_from_partition_kill_list): New. Remove a bit from the
+ partition list, free the bitmap if it is empty.
+ (add_dependence): Use renamed field, cleanup. Don't add a dependence
+ on partitions with only one member.
+ (is_replaceable_p): New. Split out replaceability check from
+ check_replaceable.
+ (process_replaceable): New. Code split from check_replaceable.
+ (check_replaceable): Removed.
+ (finished_with_expr): Renamed from finish_expr.
+ (kill_expr): Use renamed fields and less parameters.
+ (kill_virtual_exprs): Less parameters.
+ (mark_replaceable): Use renamed fields.
+ (find_replaceable_in_bb): Use renamed fields, cleanup.
+ (find_replaceable_exprs): Use renamed routines, cleanup.
+ (dump_replaceable_exprs): Don't go past end of ssa_names list.
+ (debug_ter): New. Debug routine to dump state.
+
+2006-12-08 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (effective_address_32bit_p): Return true for
+ anything involving the GOT.
+ (bfin_adjust_cost): Don't take the REGNO of a MEM.
+ (trapping_loads_p): Look inside the pattern of an insn to find the
+ SET.
+ * config/bfin/bfin.md (attr "type"): Add movcc.
+ (insn_reservation "alu"): Likewise.
+ (movsicc_insn1, movsicc_insn2): Change type to movcc.
+
+2006-12-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * config/spu/spu-c.c (spu_build_overload_builtin): Delete.
+ (spu_resolve_overloaded_builtin): Check for non scalar instead
+ of vector type and check the function call argument type also for
+ non scalar.
+ Call build_function_call instead of spu_build_overload_builtin.
+
+2006-12-07 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
+
+ * config/spu/spu.c (array_to_constant): Correct the order of arguments
+ to the calls of hwint_to_const_double.
+
+2006-12-07 Nick Clifton <nickc@redhat.com>
+
+ * config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to
+ elf_record_gcc_switches.
+
+2006-12-07 Andrew Macleod <amacleod@redhat.com>
+
+ * expr.c (string_constant): Account for non-zero lower bound arrays.
+
+2006-12-07 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (expand_builtin_pow): Adjust predicates for
+ pow to cbrt expansion to unsafe math and !HONOR_NANS for
+ negative base.
+
+2006-12-07 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset
+ codegen.
+
+2006-12-07 Jan Hubicka <jh@suse.cz>
+
+ * tree-vrp.c (compare_values): Short circuit INTEGER_CST;
+ use fold_constant_to_binary; tolerate wrong type constants.
+ (value_intersect_p): Do just two tests.
+
+2006-12-07 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (print_operand): New modifier 'N' for constants.
+ * config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
+ lshifthi3): Use it, and fix the order of alternatives.
+
+2006-12-07 Nick Clifton <nickc@redhat.com>
+
+ * common.opt (record-gcc-switches): New command line switch.
+ * target.h (print_switch_type): New enum.
+ (print_switch_fn_type): New typedef for a function pointer.
+ (struct gcc_target): Add record_gcc_switches and
+ record_gcc_switches_section fields.
+ * target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a
+ default definition.
+ (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default
+ definition.
+ * toplev.c (print_single_switch): Simplify by providing a
+ pointer to function that will format and output the switch
+ appropriately.
+ (print_switch_values): Likewise.
+ (print_to_asm_out_file): New function.
+ (print_to_stderr): New function.
+ (init_asm_output): If flag_record_gcc_switches is set then if
+ the target supports recording the switches then emit them into
+ the assembler output file, otherwise tell the user that the
+ switch is not supported.
+ * varasm.c (eld_record_gcc_switches): New function. Example
+ handler for the record_gcc_switches target hook.
+ * doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new
+ target hook.
+ (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise.
+ * doc/invoke.texi (-frecord-gcc-switches): Document.
+
+2006-12-07 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
+ PR target/29794
+ * sched-rgn.c (add_block1): Use correct initializer.
+
+2006-12-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-transform.c (vectorizable_call): Fix leftover of
+ TREE_OPERAND to GIMPLE_STMT_OPERAND conversion.
+
+2006-12-06 Aldy Hernandez <aldyh@redhat.com>
+
+ PR/30079
+ * config/pa/pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR
+ not GIMPLE_MODIFY_STMT.
+
+2006-12-06 Jan Hubicka <jh@suse.cz>
+
+ * tree-vrp.c (operand_less_p): New.
+ (compare_values, value_inside_range): Rewrite in terms of
+ operand_less_p.
+
+2006-12-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (DIRFLAG_REG): Remove constant.
+ (type): Remove cld.
+ (length_immediate): Do not depend on cld type attribute.
+ (length_address): Ditto.
+ (modrm): Ditto.
+ (memory): Ditto.
+ (cld): Remove insn pattern.
+ (strmov_singleop): Do not use DIRFLAG_REG.
+ (*strmovdi_rex_1): Ditto.
+ (*strmovsi_1): Ditto.
+ (*strmovsi_rex_1): Ditto.
+ (*strmovhi_1): Ditto.
+ (*strmovhi_rex_1): Ditto.
+ (*strmovqi_1): Ditto.
+ (*strmovqi_rex_1): Ditto.
+ (rep_mov): Ditto.
+ (*rep_movdi_rex64): Ditto.
+ (*rep_movsi): Ditto.
+ (*rep_movsi_rex64): Ditto.
+ (*rep_movqi): Ditto.
+ (*rep_movqi_rex64): Ditto.
+ (strset_singleop): Ditto.
+ (*strsetdi_rex_1): Ditto.
+ (*strsetsi_1): Ditto.
+ (*strsetsi_rex_1): Ditto.
+ (*strsethi_1): Ditto.
+ (*strsethi_rex_1): Ditto.
+ (*strsetqi_1): Ditto.
+ (*strsetqi_rex_1): Ditto.
+ (rep_stos): Ditto.
+ (*rep_stosdi_rex64): Ditto.
+ (*rep_stossi): Ditto.
+ (*rep_stossi_rex64): Ditto.
+ (*rep_stosqi): Ditto.
+ (*rep_stosqi_rex64): Ditto.
+ (cmpstrnsi): Do not generate cld insn.
+ (cmpstrnqi_nz_1): Do not use DIRFLAG_REG.
+ (*cmpstrnqi_nz_1): Ditto.
+ (*cmpstrnqi_nz_rex_1): Ditto.
+ (cmpstrnqi_1): Ditto.
+ (*cmpstrnqi_1): Ditto.
+ (*cmpstrnqi_rex_1): Ditto.
+ (strlenqi_1): Ditto.
+ (*strlenqi_1): Ditto.
+ (*strlenqi_rex_1): Ditto.
+
+ * config/i386/geode.md (shift): Do not depend on cld type attribute.
+ * config/i386/pentium.md (pent_cld): Remove insn reservation.
+ * config/i386/athlon.md (athlon_decode): Do not depend on cld
+ type attribute.
+ * config/i386/ppro.md (ppro_cld): Remove insn reservation.
+ * config/i386/k6.md (k6_alux_only): Do not depend on cld type
+ attribute.
+ (k6_alux_only_load): Ditto.
+ (k6_alux_only_store): Ditto.
+
+ * config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean.
+ Do not emit cld instruction.
+ (ix86_expand_setmem): Ditto.
+ (ix86_expand_strlen): Do not emit cld instruction.
+
+2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak
+ old ones.
+
+2006-12-06 Diego Novillo <dnovillo@redhat.com>
+
+ * gdbinit.in: Set complaints to 0.
+
+2006-12-06 Jan Hubicka <jh@suse.cz>
+
+ * statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO,
+ ALONE_MEM_STAT_DECL): New macros.
+ * bitmap.h: Include statistics.h
+ (struct bitmap_head_def): Add variant with pointer to bitmap descriptor.
+ (bitmap_initialize_stat): Rename from bitmap_initialize; add statistics.
+ (bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare.
+ * bitmap.c: Include hashtab.h
+ (bitmap_descriptor): New.
+ (bitmap_hash): New static variable
+ (hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead):
+ New static functions.
+ (bitmap_register): New.
+ (bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from,
+ bitmap_obstack_release): Do accounting.
+ (bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do
+ accounting.
+ (bitmap_gc_alloc_stat): Likewise.
+ (bitmap_obstack_free, bitmap_find_bit): Do statictics.
+ (print_statistics, dump_bitmap_statistics): New functions.
+ * toplev.c (finalize): Dump bitmap statistics.
+
+2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * reload1.c (delete_output_reload): Count occurrences in
+ CALL_INSN_FUNCTION_USAGE.
+ * rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without
+ crashing at the end of the list.
+
+2006-12-05 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-structalias.c (set_used_smts): Re-fix pr29156.
+ Optimize to avoid marking more SMT's as used when they aren't.
+
+2006-12-05 Eric Christopher <echristo@apple.com>
+
+ * config/i386/i386.c (x86_output_aligned_bss): Move out
+ of COMMON_ASM_OP ifdef.
+
+2006-12-05 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.h (DARWIN_EXTRA_SPECS): New.
+ (STARTFILE_SPEC): Use.
+ (DARWIN_DYLIB1_SPEC): New.
+ (DARWIN_CRT1_SPEC): New.
+ * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use
+ DARWIN_EXTRA_SPECS.
+ * config/i386/darwin.h: Ditto.
+ * config/rs6000/darwin.h: Ditto.
+
+2006-12-05 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-vrp.c (pass_vrp): Remove PROP_smt_usage.
+ * tree-complex.c (pass_lower_complex): Ditto.
+ * tree-ssa-ccp.c (pass_ccp): Ditto.
+ (pass_store_ccp): Ditto.
+ * tree-ssa-dom.c (pass_dominator): Ditto.
+ (pass_phi_only_cprop): Ditto.
+ * tree-sra.c (pass_sra): Ditto.
+ * tree-ssa-forwprop.c (pass_forwprop): Ditto.
+ * tree-flow.h (updating_used_alone): Remove.
+ (updating_used_alone): Ditto.
+ * tree-ssa-alias.c (updating_used_alone): Remove variable.
+ (lhs_may_store_to): Remove function.
+ (recalculate_used_alone): Ditto.
+ (compute_may_aliases): Remove used_alone calculation.
+ * tree.h (struct tree_memory_tag): Remove is_used_alone and
+ old_used_alone. Remove SMT_USED_ALONE and SMT_OLD_USED_ALONE.
+ * tree-pass.h (PROP_smt_usage): Remove.
+ * passes.c (execute_todo): Remove used alone recalculation.
+ (execute_one_pass): Ditto.
+ * tree-ssa-operands.c (add_virtual_operand): Remove used_alone
+ stuff.
+
+2006-12-05 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * doc/include/texinfo.tex: Update to version 2006-11-08.17.
+
2006-12-05 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/14784
2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/s390/s390.c (s390_va_start): Replace MODIFY_EXPR with
- GIMPLE_MODIFY_STMT.
- (s390_gimplify_va_arg): Same.
- * config/sparc/sparc.c (sparc_gimplify_va_arg): Same.
- * config/sh/sh.c (sh_va_start): Same.
- (sh_gimplify_va_arg_expr): Same.
- * config/xtensa/xtensa.c (xtensa_va_start): Same.
- (xtensa_gimplify_va_arg_expr): Same.
- * config/ia64/ia64.c (ia64_gimplify_va_arg): Same.
- * config/pa/pa.c (hppa_gimplify_va_arg_expr): Same.
- * config/mips/mips.c (mips_va_start): Same.
- (mips_gimplify_va_arg_expr): Same.
+ * config/s390/s390.c (s390_va_start): Replace MODIFY_EXPR with
+ GIMPLE_MODIFY_STMT.
+ (s390_gimplify_va_arg): Same.
+ * config/sparc/sparc.c (sparc_gimplify_va_arg): Same.
+ * config/sh/sh.c (sh_va_start): Same.
+ (sh_gimplify_va_arg_expr): Same.
+ * config/xtensa/xtensa.c (xtensa_va_start): Same.
+ (xtensa_gimplify_va_arg_expr): Same.
+ * config/ia64/ia64.c (ia64_gimplify_va_arg): Same.
+ * config/pa/pa.c (hppa_gimplify_va_arg_expr): Same.
+ * config/mips/mips.c (mips_va_start): Same.
+ (mips_gimplify_va_arg_expr): Same.
2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * Merge from mainline at revision 119445.
+ * Merge from mainline at revision 119445.
2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/spu/spu.c (spu_va_start): Change MODIFY_EXPR to
- GIMPLE_MODIFY_STMT.
- (spu_gimplify_va_arg_expr): Same.
+ * config/spu/spu.c (spu_va_start): Change MODIFY_EXPR to
+ GIMPLE_MODIFY_STMT.
+ (spu_gimplify_va_arg_expr): Same.
2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
- Change uses of MODIFY_EXPR to GIMPLE_MODIFY_STMT.
- (xstormy16_expand_builtin_va_arg): Same.
+ * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
+ Change uses of MODIFY_EXPR to GIMPLE_MODIFY_STMT.
+ (xstormy16_expand_builtin_va_arg): Same.
2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/frv/frv.c (frv_expand_builtin_va_start): Change MODIFY_EXPR
- to GIMPLE_MODIFY_STMT.
+ * config/frv/frv.c (frv_expand_builtin_va_start): Change MODIFY_EXPR
+ to GIMPLE_MODIFY_STMT.
2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/alpha/alpha.c (va_list_skip_additions): Change all
+ * config/alpha/alpha.c (va_list_skip_additions): Change all
occurrences of MODIFY_EXPR to GIMPLE_MODIFY_STMT.
- (alpha_va_start): Same.
- (alpha_gimplify_va_arg_1): Same.
- (alpha_gimplify_va_arg): Same.
+ (alpha_va_start): Same.
+ (alpha_gimplify_va_arg_1): Same.
+ (alpha_gimplify_va_arg): Same.
2006-12-01 Aldy Hernandez <aldyh@redhat.com>
2006-12-01 Aldy Hernandez <aldyh@redhat.com>
- * tree-ssa-loop-im.c: Rename all PROTECTED_TREE_OPERAND to
- GENERIC_TREE_OPERAND, and all PROTECTED_TREE_TYPE to
- GENERIC_TREE_TYPE.
- * tree-complex.c: Same.
- * tree-pretty-print.c: Same.
- * tree.c: Same.
- * tree.h: Same.
- * builtins.c: Same.
- * fold-const.c: Same.
- * tree-ssa-dom.c: Same.
- * tree-ssa-propagate.c: Same.
- * tree-ssa-alias.c: Same.
- * gimple-low.c: Same.
- * dwarf2out.c: Same.
- * c-pretty-print.c: Same.
- * gimplify.c: Same.
- * tree-inline.c: Same.
- * tree-outof-ssa.c: Same.
- * tree-ssa-structalias.c: Same.
- * tree-ssa-reassoc.c: Same.
- * stmt.c: Same.
+ * tree-ssa-loop-im.c: Rename all PROTECTED_TREE_OPERAND to
+ GENERIC_TREE_OPERAND, and all PROTECTED_TREE_TYPE to
+ GENERIC_TREE_TYPE.
+ * tree-complex.c: Same.
+ * tree-pretty-print.c: Same.
+ * tree.c: Same.
+ * tree.h: Same.
+ * builtins.c: Same.
+ * fold-const.c: Same.
+ * tree-ssa-dom.c: Same.
+ * tree-ssa-propagate.c: Same.
+ * tree-ssa-alias.c: Same.
+ * gimple-low.c: Same.
+ * dwarf2out.c: Same.
+ * c-pretty-print.c: Same.
+ * gimplify.c: Same.
+ * tree-inline.c: Same.
+ * tree-outof-ssa.c: Same.
+ * tree-ssa-structalias.c: Same.
+ * tree-ssa-reassoc.c: Same.
+ * stmt.c: Same.
2006-11-16 Aldy Hernandez <aldyh@redhat.com>
- * tree.c (build2_stat): Fix comment.
+ * tree.c (build2_stat): Fix comment.
2006-11-13 Aldy Hernandez <aldyh@redhat.com>
- * tree-ssa-propagate.c (get_rhs): Use GIMPLE_MODIFY_STMT and
- TREE_OPERAND when appropriate.
+ * tree-ssa-propagate.c (get_rhs): Use GIMPLE_MODIFY_STMT and
+ TREE_OPERAND when appropriate.
2006-11-04 Aldy Hernandez <aldyh@redhat.com>
- * java/java-tree.h (lang_tree_node): Handle gimple tuples.
- (EXPR_WFL_EMIT_LINE_NOTE): Look inside base.
- (EXPR_WFL_LINECOL): Use EXPR_LOCUS macro instead of exp.locus.
- * java/java-gimplify.c (java_gimplify_expr): Comment on why we do
- not handle GIMPLE_MODIFY_STMT in the switch statement.
- (java_gimplify_modify_expr): Call build2 with GIMPLE_MODIFY_STMT.
- (java_gimplify_new_array_init): Same.
+ * java/java-tree.h (lang_tree_node): Handle gimple tuples.
+ (EXPR_WFL_EMIT_LINE_NOTE): Look inside base.
+ (EXPR_WFL_LINECOL): Use EXPR_LOCUS macro instead of exp.locus.
+ * java/java-gimplify.c (java_gimplify_expr): Comment on why we do
+ not handle GIMPLE_MODIFY_STMT in the switch statement.
+ (java_gimplify_modify_expr): Call build2 with GIMPLE_MODIFY_STMT.
+ (java_gimplify_new_array_init): Same.
2006-11-03 Aldy Hernandez <aldyh@redhat.com>
- * gimplify.c (gimplify_omp_for): Allow gimple statements.
- * tree-outof-ssa.c (check_replaceable): Use PROTECTED_TREE_OPERAND.
- * fold-const.c (fold_binary): Allow gimple statements.
- (fold): Same.
- * fortran/trans-array.c (gfc_conv_descriptor_data_set_internal):
- Rename from gfc_conv_descriptor_data_set.
- Call gfc_add_modify instead of gfc_add_modify_expr.
- * fortran/trans-array.h (gfc_conv_descriptor_data_set_internal):
- Rename from gfc_conv_descriptor_data_set.
- (gfc_conv_descriptor_data_set): New macro.
- (gfc_conv_descriptor_data_set_tuples): New macros.
- * fortran/trans-openmp.c (gfc_omp_clause_default_ctor): Call
- gfc_conv_descriptor_data_set_tuples.
- * fortran/trans.c (gfc_add_modify): Rename from gfc_add_modify_expr.
- Generate GIMPLE_MODIFY_STMT when appropriate.
- * fortran/trans.h (gfc_add_modify): Rename from gfc_add_modify_expr.
- (gfc_add_modify_expr): New macro.
- (gfc_add_modify_stmt): New macro.
- * fortran/f95-lang.c (lang_tree_node): Handle gimple statements.
-
- 2006-11-02 Aldy Hernandez <aldyh@redhat.com>
-
- * ada/ada-tree.h (lang_tree_node): Handle gimple tuples.
- * ada/trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with
- GIMPLE_MODIFY_STMT.
+ * gimplify.c (gimplify_omp_for): Allow gimple statements.
+ * tree-outof-ssa.c (check_replaceable): Use PROTECTED_TREE_OPERAND.
+ * fold-const.c (fold_binary): Allow gimple statements.
+ (fold): Same.
+ * fortran/trans-array.c (gfc_conv_descriptor_data_set_internal):
+ Rename from gfc_conv_descriptor_data_set.
+ Call gfc_add_modify instead of gfc_add_modify_expr.
+ * fortran/trans-array.h (gfc_conv_descriptor_data_set_internal):
+ Rename from gfc_conv_descriptor_data_set.
+ (gfc_conv_descriptor_data_set): New macro.
+ (gfc_conv_descriptor_data_set_tuples): New macros.
+ * fortran/trans-openmp.c (gfc_omp_clause_default_ctor): Call
+ gfc_conv_descriptor_data_set_tuples.
+ * fortran/trans.c (gfc_add_modify): Rename from gfc_add_modify_expr.
+ Generate GIMPLE_MODIFY_STMT when appropriate.
+ * fortran/trans.h (gfc_add_modify): Rename from gfc_add_modify_expr.
+ (gfc_add_modify_expr): New macro.
+ (gfc_add_modify_stmt): New macro.
+ * fortran/f95-lang.c (lang_tree_node): Handle gimple statements.
2006-11-01 Aldy Hernandez <aldyh@redhat.com>
2006-10-09 Aldy Hernandez <aldyh@redhat.com>
- * tree.h (TREE_CHAIN, TREE_TYPE): Add versions for non GCC or not
+ * tree.h (TREE_CHAIN, TREE_TYPE): Add versions for non GCC or not
enable checking.
- Also, add __extension__ to GCC versions.
- * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
- * tree-inline.c (copy_tree_r): Initialize chain to assuage the warning
+ Also, add __extension__ to GCC versions.
+ * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
+ * tree-inline.c (copy_tree_r): Initialize chain to assuage the warning
patrol.
2006-10-05 Aldy Hernandez <aldyh@redhat.com>
2006-09-28 Aldy Hernandez <aldyh@redhat.com>
- * tree-ssa-math-opts.c (replace_reciprocal): Use GIMPLE_STMT_OPERAND.
- * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): Same.
- (ifc_temp_var): Same.
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Check
+ * tree-ssa-math-opts.c (replace_reciprocal): Use GIMPLE_STMT_OPERAND.
+ * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): Same.
+ (ifc_temp_var): Same.
+ * tree-vect-analyze.c (vect_determine_vectorization_factor): Check
for gimple statements.
- (vect_analyze_operations): Same.
- (exist_non_indexing_operands_for_use_p): Use GIMPLE_STMT_OPERAND.
- * gimplify.c (gimplify_return_expr): Handle gimple statements.
- * lambda-code.c (can_put_in_inner_loop): Same.
- (can_put_after_inner_loop): Same.
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same.
- (vect_create_data_ref_ptr): Same.
- (vect_init_vector): Same.
- (vect_get_vec_def_for_operand): Same.
- (vect_create_epilog_for_reduction): Same.
- (vectorizable_reduction): Same.
- (vectorizable_assignment): Same.
- (vectorizable_operation): Same.
- (vectorizable_load): Same.
- (vectorizable_condition): Same.
- * config/rs6000/rs6000.c (rs6000_va_start): Do not create MODIFY_EXPRs.
- (rs6000_gimplify_va_arg): Same.
+ (vect_analyze_operations): Same.
+ (exist_non_indexing_operands_for_use_p): Use GIMPLE_STMT_OPERAND.
+ * gimplify.c (gimplify_return_expr): Handle gimple statements.
+ * lambda-code.c (can_put_in_inner_loop): Same.
+ (can_put_after_inner_loop): Same.
+ * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same.
+ (vect_create_data_ref_ptr): Same.
+ (vect_init_vector): Same.
+ (vect_get_vec_def_for_operand): Same.
+ (vect_create_epilog_for_reduction): Same.
+ (vectorizable_reduction): Same.
+ (vectorizable_assignment): Same.
+ (vectorizable_operation): Same.
+ (vectorizable_load): Same.
+ (vectorizable_condition): Same.
+ * config/rs6000/rs6000.c (rs6000_va_start): Do not create MODIFY_EXPRs.
+ (rs6000_gimplify_va_arg): Same.
2006-09-25 Aldy Hernandez <aldyh@redhat.com>
- * tree-vrp.c (simplify_div_or_mod_using_ranges): Use
- GIMPLE_STMT_OPERAND.
- (simplify_abs_using_ranges): Same.
- * tree-complex.c (expand_complex_operations_1): Use
- PROTECTED_TREE_OPERAND.
- * tree-ssa-loop-niter.c (simplify_replace_tree): Check for gimple
- stmt.
- (get_val_for): Use GIMPLE_STMT_OPERAND.
- * tree-tailcall.c (adjust_accumulator_values): Same.
- (adjust_return_value): Same.
- * tree.c (walk_tree): Use IS_GIMPLE_STMT_CODE_CLASS on default
- case. Remove special case for tcc_gimple_stmt.
- * tree.h (CAN_HAVE_LOCATION_P): New.
- * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Check for
- GIMPLE_STMT_P.
- * tree-stdarg.c (va_list_counter_bump): Use GIMPLE_STMT_OPERAND.
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Same.
- * tree-nrv.c (execute_return_slot_opt): Same.
- * tree-ssa-alias.c (count_uses_and_derefs): Check for GIMPLE_STMT_P.
- * tree-vn.c (set_value_handle): Same.
- (get_value_handle): Same.
- * c-decl.c (add_stmt): Use CAN_HAVE_LOCATION_P.
- * tree-vectorizer.c (find_loop_location): Same.
- * c-typeck.c (c_process_expr_stmt): Same.
- (c_finish_stmt_expr): Same.
- * gimplify.c (should_carry_locus_p): Same.
- (tree_to_gimple_tuple): Delete definition and use of unecessary
- variable save_tree_block.
- * tree-ssa-pre.c (phi_translate): Check for GIMPLE_STMT_P.
- (create_expression_by_pieces): Use GIMPLE_STMT_OPERAND.
- (realify_fake_stores): Same.
- * tree-ssa-forwprop.c (forward_propagate_addr_into_variable_arr):
- Use TREE_OPERAND.
- * tree-inline.c (copy_body_r): Check for EXPR_P and GIMPLE_STMT_P.
- (copy_tree_r): Check for IS_GIMPLE_STMT_CODE_CLASS.
- * tree-cfg.c (move_stmt_r): Use EXPR_P. Check for GIMPLE_STMT_P.
- * c-parser.c (c_parser_typeof_specifier): Use CAN_HAVE_LOCATION_P.
- (c_parser_statement_after_labels): Same.
- (c_parser_paren_condition): Same.
- (c_parser_for_statement): Same.
- (c_parser_omp_for_loop): Same.
- * tree-ssa-reassoc.c (linearize_expr): Use GIMPLE_STMT_OPERAND.
- (linearize_expr_tree): Same.
- * dwarf2out.c (reference_to_unused): Check for GIMPLE_STMT_P.
- * function.c (instantiate_expr): Same.
+ * tree-vrp.c (simplify_div_or_mod_using_ranges): Use
+ GIMPLE_STMT_OPERAND.
+ (simplify_abs_using_ranges): Same.
+ * tree-complex.c (expand_complex_operations_1): Use
+ PROTECTED_TREE_OPERAND.
+ * tree-ssa-loop-niter.c (simplify_replace_tree): Check for gimple
+ stmt.
+ (get_val_for): Use GIMPLE_STMT_OPERAND.
+ * tree-tailcall.c (adjust_accumulator_values): Same.
+ (adjust_return_value): Same.
+ * tree.c (walk_tree): Use IS_GIMPLE_STMT_CODE_CLASS on default
+ case. Remove special case for tcc_gimple_stmt.
+ * tree.h (CAN_HAVE_LOCATION_P): New.
+ * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Check for
+ GIMPLE_STMT_P.
+ * tree-stdarg.c (va_list_counter_bump): Use GIMPLE_STMT_OPERAND.
+ * tree-ssa-dom.c (propagate_rhs_into_lhs): Same.
+ * tree-nrv.c (execute_return_slot_opt): Same.
+ * tree-ssa-alias.c (count_uses_and_derefs): Check for GIMPLE_STMT_P.
+ * tree-vn.c (set_value_handle): Same.
+ (get_value_handle): Same.
+ * c-decl.c (add_stmt): Use CAN_HAVE_LOCATION_P.
+ * tree-vectorizer.c (find_loop_location): Same.
+ * c-typeck.c (c_process_expr_stmt): Same.
+ (c_finish_stmt_expr): Same.
+ * gimplify.c (should_carry_locus_p): Same.
+ (tree_to_gimple_tuple): Delete definition and use of unecessary
+ variable save_tree_block.
+ * tree-ssa-pre.c (phi_translate): Check for GIMPLE_STMT_P.
+ (create_expression_by_pieces): Use GIMPLE_STMT_OPERAND.
+ (realify_fake_stores): Same.
+ * tree-ssa-forwprop.c (forward_propagate_addr_into_variable_arr):
+ Use TREE_OPERAND.
+ * tree-inline.c (copy_body_r): Check for EXPR_P and GIMPLE_STMT_P.
+ (copy_tree_r): Check for IS_GIMPLE_STMT_CODE_CLASS.
+ * tree-cfg.c (move_stmt_r): Use EXPR_P. Check for GIMPLE_STMT_P.
+ * c-parser.c (c_parser_typeof_specifier): Use CAN_HAVE_LOCATION_P.
+ (c_parser_statement_after_labels): Same.
+ (c_parser_paren_condition): Same.
+ (c_parser_for_statement): Same.
+ (c_parser_omp_for_loop): Same.
+ * tree-ssa-reassoc.c (linearize_expr): Use GIMPLE_STMT_OPERAND.
+ (linearize_expr_tree): Same.
+ * dwarf2out.c (reference_to_unused): Check for GIMPLE_STMT_P.
+ * function.c (instantiate_expr): Same.
2006-09-22 Aldy Hernandez <aldyh@redhat.com>
- * tree.c (expr_location): Use GIMPLE_STMT_LOCUS.
- (set_expr_location): Same.
- (expr_locus): Same.
- (set_expr_locus): Same.
- (expr_filename): Same.
- (expr_lineno): Same.
- (tree_block): Use GIMPLE_STMT_BLOCK.
- (protected_tree_operand): Use GIMPLE_STMT_OPERAND.
- * tree.h (struct gimple_stmt): Remove prev and next.
- (GIMPLE_STMT_OPERAND_CHECK): New.
- (TREE_TO_GIMPLE_STMT): Delete.
- (GIMPLE_STMT_TO_TREE): Delete.
- (GIMPLE_STMT_OPERAND): Use union, not cast.
- (GIMPLE_STMT_LOCUS): New.
- (GIMPLE_STMT_BLOCK): New.
- * gimplify.c (tree_to_gimple_tuple): Use union. Do not cast
- to tree_base.
- * tree-cfg.c (verify_gimple_tuples_1): Call gcc_unreachable.
+ * tree.c (expr_location): Use GIMPLE_STMT_LOCUS.
+ (set_expr_location): Same.
+ (expr_locus): Same.
+ (set_expr_locus): Same.
+ (expr_filename): Same.
+ (expr_lineno): Same.
+ (tree_block): Use GIMPLE_STMT_BLOCK.
+ (protected_tree_operand): Use GIMPLE_STMT_OPERAND.
+ * tree.h (struct gimple_stmt): Remove prev and next.
+ (GIMPLE_STMT_OPERAND_CHECK): New.
+ (TREE_TO_GIMPLE_STMT): Delete.
+ (GIMPLE_STMT_TO_TREE): Delete.
+ (GIMPLE_STMT_OPERAND): Use union, not cast.
+ (GIMPLE_STMT_LOCUS): New.
+ (GIMPLE_STMT_BLOCK): New.
+ * gimplify.c (tree_to_gimple_tuple): Use union. Do not cast
+ to tree_base.
+ * tree-cfg.c (verify_gimple_tuples_1): Call gcc_unreachable.
2006-09-21 Aldy Hernandez <aldyh@redhat.com>
- * tree-into-ssa.c (REGISTER_DEFS_IN_STMT): Change common.base
- to base.
- * tree-tailcall.c (adjust_return_value): Same.
- * tree.c (tree_code_size): Remove GIMPLE_STATEMENT_LIST case.
- (copy_node_stat): Change common.base to base.
- (tree_node_structure): Return TS_GIMPLE_STATEMENT for tcc_gimple_stmt.
- Remove GIMPLE_STATEMENT_LIST case.
- * tree.h (struct gimple_stmt): Make operands of type tree.
- (TREE_CODE, TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL,
- CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN,
- TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED,
- TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC,
- TYPE_CACHED_VALUES_P, TREE_SIDE_EFFECTS, FORCED_LABEL,
- TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY,
- TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED,
- BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, TREE_USED,
- TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, DECL_BY_REFERENCE,
- CALL_FROM_THUNK_P, TYPE_ALIGN_OK, TREE_PRIVATE, TREE_PROTECTED,
- TREE_DEPRECATED, IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT,
- TREE_LANG_FLAG_*, SSA_NAME_OCCURS_IN_ABNORMAL_PHI,
- SSA_NAME_IN_FREE_LIST, TYPE_VOLATILE, TYPE_READONLY, BINFO_VIRTUAL_P):
- Change common.base to base.
- (GIMPLE_STATEMENT_LIST*): Remove.
- (union tree_node): Add base. Remove gimple_statement_list.
- Remove pointer from gstmt.
- * tree-ssa-propagate.c (set_rhs): Change common.base to base.
- * treestruct.def: Add TS_BASE. Remove TS_GIMPLE_STATEMENT_LIST.
- * tree-vn.c (vn_compute): Change common.base to base.
- * tree-eh.c (verify_eh_throw_stmt_node): Same.
- * tree-flow-inline.h (var_ann): Same.
- (function_ann): Same.
- (stmt_ann): Same.
- (mark_non_addressable): Same.
- * gimplify.c (tree_to_gimple_tuple): Same.
- * tree.def (DEFTREECODE): Remove GIMPLE_STATEMENT_LIST.
- * tree-dfa.c (create_var_ann): Change common.base to base.
- (create_function_ann): Same.
- (create_stmt_ann): Same.
- (create_tree_ann): Same.
- (collect_dfa_stats_r): Same.
- * tree-ssa-pre.c (NECESSARY): Change common.base to base.
- * tree-ssa-dce.c (NECESSARY): Same.
- * tree-ssa.c (delete_tree_ssa): Same.
- * tree-optimize.c (execute_free_cfg_annotations): Same.
- * tree-flow.h: Same.
+ * tree-into-ssa.c (REGISTER_DEFS_IN_STMT): Change common.base
+ to base.
+ * tree-tailcall.c (adjust_return_value): Same.
+ * tree.c (tree_code_size): Remove GIMPLE_STATEMENT_LIST case.
+ (copy_node_stat): Change common.base to base.
+ (tree_node_structure): Return TS_GIMPLE_STATEMENT for tcc_gimple_stmt.
+ Remove GIMPLE_STATEMENT_LIST case.
+ * tree.h (struct gimple_stmt): Make operands of type tree.
+ (TREE_CODE, TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL,
+ CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN,
+ TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED,
+ TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC,
+ TYPE_CACHED_VALUES_P, TREE_SIDE_EFFECTS, FORCED_LABEL,
+ TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY,
+ TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED,
+ BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, TREE_USED,
+ TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, DECL_BY_REFERENCE,
+ CALL_FROM_THUNK_P, TYPE_ALIGN_OK, TREE_PRIVATE, TREE_PROTECTED,
+ TREE_DEPRECATED, IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT,
+ TREE_LANG_FLAG_*, SSA_NAME_OCCURS_IN_ABNORMAL_PHI,
+ SSA_NAME_IN_FREE_LIST, TYPE_VOLATILE, TYPE_READONLY, BINFO_VIRTUAL_P):
+ Change common.base to base.
+ (GIMPLE_STATEMENT_LIST*): Remove.
+ (union tree_node): Add base. Remove gimple_statement_list.
+ Remove pointer from gstmt.
+ * tree-ssa-propagate.c (set_rhs): Change common.base to base.
+ * treestruct.def: Add TS_BASE. Remove TS_GIMPLE_STATEMENT_LIST.
+ * tree-vn.c (vn_compute): Change common.base to base.
+ * tree-eh.c (verify_eh_throw_stmt_node): Same.
+ * tree-flow-inline.h (var_ann): Same.
+ (function_ann): Same.
+ (stmt_ann): Same.
+ (mark_non_addressable): Same.
+ * gimplify.c (tree_to_gimple_tuple): Same.
+ * tree.def (DEFTREECODE): Remove GIMPLE_STATEMENT_LIST.
+ * tree-dfa.c (create_var_ann): Change common.base to base.
+ (create_function_ann): Same.
+ (create_stmt_ann): Same.
+ (create_tree_ann): Same.
+ (collect_dfa_stats_r): Same.
+ * tree-ssa-pre.c (NECESSARY): Change common.base to base.
+ * tree-ssa-dce.c (NECESSARY): Same.
+ * tree-ssa.c (delete_tree_ssa): Same.
+ * tree-optimize.c (execute_free_cfg_annotations): Same.
+ * tree-flow.h: Same.
2006-09-19 Aldy Hernandez <aldyh@redhat.com>
- * tree.c (tree_code_size): Handle GIMPLE_STATEMENT_LIST.
- (tree_node_structure): Handle GIMPLE_STATEMENT_LIST and
+ * tree.c (tree_code_size): Handle GIMPLE_STATEMENT_LIST.
+ (tree_node_structure): Handle GIMPLE_STATEMENT_LIST and
GIMPLE_MODIFY_STMT.
- * tree.h (struct gimple_stmt): Add prev and next fields.
+ * tree.h (struct gimple_stmt): Add prev and next fields.
(GIMPLE_STMT_TO_TREE): Cast, do not call GIMPLE_STMT_CHECK.
(GIMPLE_STATEMENT_LIST_HEAD): New.
(GIMPLE_STATEMENT_LIST_TAIL): New.
(struct gimple_statement_list): New.
(union tree_node): Add gimple_stmt_list and gstmt.
- * treestruct.def: Add TS_GIMPLE_STATEMENT_LIST, TS_GIMPLE_STATEMENT.
- * tree.def: Add GIMPLE_STATEMENT_LIST.
+ * treestruct.def: Add TS_GIMPLE_STATEMENT_LIST, TS_GIMPLE_STATEMENT.
+ * tree.def: Add GIMPLE_STATEMENT_LIST.
2006-09-06 Aldy Hernandez <aldyh@redhat.com>
(spu_force_reg): Remove.
2006-12-01 Joseph Myers <joseph@codesourcery.com>
- David Edelsohn <edelsohn@gnu.org>
+ David Edelsohn <edelsohn@gnu.org>
PR target/24036
* doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
* tree-vectorizer.h (vectorizable_function): Export.
* tree-vect-transform.c (vectorizable_function): Likewise.
- * tree-vect-patterns.c (vect_recog_pow_pattern): Set
- type_in to scalar type in recognition of squaring.
+ * tree-vect-patterns.c (vect_recog_pow_pattern): Set
+ type_in to scalar type in recognition of squaring.
Make sure the target can vectorize sqrt in recognition
of sqrt, set type_in to vector type in this case.
2006-04-20 Jakub Jelinek <jakub@redhat.com>
+ PR C/27558
* c-pretty-print.c (pp_c_direct_abstract_declarator): Print
TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).