]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
cfgloop.c (verify_loop_structure): Use %' in diagnostics.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
d8a07487
JM
12010-11-10 Joseph Myers <joseph@codesourcery.com>
2
3 * cfgloop.c (verify_loop_structure): Use %' in diagnostics. Start
4 diagnostics with lowercase letters.
5 * cgraphunit.c (verify_cgraph_node): Start diagnostics with
6 lowercase letters.
7 * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
8 diagnostic.
9 * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
10 * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
11 lowercase letters.
12 * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
13 Remove trailing ' ' from diagnostic.
14 * config/avr/avr.c (print_operand_address): Start diagnostic with
15 a lowercase letter and remove trailing '.'.
16 * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
17 * config/bfin/bfin.c (bfin_option_override): Start diagnostics
18 with lowercase letters. Use %' in diagnostics. Remove trailing
19 '.' from diagnostics.
20 (bfin_handle_longcall_attribute): Use %' in diagnostic.
21 * config/cris/cris.c (cris_split_movdx,
22 cris_expand_pic_call_address): Start diagnostics with lowercase
23 letters.
24 (cris_asm_output_label_ref): Use %' in diagnostic.
25 * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
26 letter.
27 * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
28 lowercase letter.
29 * config/darwin-c.c (version_as_macro): Start diagnostic with a
30 lowercase letter.
31 * config/darwin-driver.c (darwin_default_min_version): Use %' in
32 diagnostic.
33 * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
34 diagnostic.
35 * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
36 * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
37 diagnostics.
38 * config/i386/i386.c (ix86_option_override_internal): Write
39 diagnostic as a single sentence without trailing '.'. Use %' in
40 diagnostics.
41 (ix86_function_sseregparm, classify_argument): Start diagnostics
42 with lowercase letters.
43 (ix86_expand_prologue): Use %' in diagnostic.
44 * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
45 diagnostic.
46 * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
47 lowercase letter.
48 * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
49 diagnostic.
50 * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
51 * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
52 '`' in help text.
53 * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
54 lowercase letter.
55 * config/mep/mep.c (mep_validate_vliw): Start diagnostics with
56 lowercase letters.
57 * config/microblaze/microblaze.c (microblaze_handle_option):
58 Remove trailing '.' from diagnostic.
59 (print_operand): Start diagnostic with a lowercase letter.
60 * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
61 lowercase letters. Avoid '`' in diagnostics.
62 * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
63 lowercase letters. Avoid '`' in diagnostics.
64 * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
65 lowercase letters. Avoid '`' in diagnostics.
66 * config/picochip/picochip.c (picochip_option_override,
67 picochip_emit_save_register, picochip_function_arg,
68 picochip_output_label, picochip_output_internal_label,
69 picochip_asm_output_opcode, picochip_output_cbranch,
70 picochip_output_compare, picochip_output_branch,
71 picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
72 diagnostics. Start diagnostics with lowercase letters. Use %' in
73 diagnostics.
74 * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
75 "SPE" capitalization. Start diagnostic with a lowercase letter.
76 (rs6000_handle_option): Start diagnostics with lowercase letters.
77 (def_builtin): Remove trailing '.' from diagnostic.
78 (rs6000_savres_routine_name): Start diagnostic with a lowercase
79 letter.
80 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
81 diagnostic.
82 * config/rx/rx.c (rx_handle_option): Start diagnostic with a
83 lowercase letter.
84 * config/s390/s390.c (s390_option_override) Start diagnostics with
85 lowercase letters. Use %' in diagnostic.
86 * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
87 lowercase letters.
88 * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
89 diagnostic.
90 * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
91 diagnostic.
92 * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
93 diagnostic.
94 * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
95 * config/spu/spu.c (spu_option_override): Start diagnostics with
96 lowercase letters. Use %qs for quoting in diagnostics.
97 (spu_check_builtin_parm): Remove trailing '.' from diagnostics.
98 Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
99 * config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
100 from diagnostic.
101 * convert.c (convert_to_integer, convert_to_vector): Use %' in
102 diagnostics.
103 * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
104 letter and use "cannot" spelling.
105 * expmed.c (extract_fixed_bit_field): Start diagnostic with
106 lowercase letter and format as a single sentence without '.'.
107 * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
108 Use %' in diagnostics.
109 * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
110 Use %' in diagnostics.
111 * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
112 Use %' in diagnostics.
113 * graph.c (clean_graph_dump_file): Use %' in diagnostic.
114 * graphite-poly.c (graphite_read_scop_file): Start diagnostics
115 with lowercase letters and remove tailing '.' and '\n'.
116 * lto-cgraph.c (input_profile_summary): Start diagnostic with
117 lowercase letter and remove trailing '.'.
118 (input_cgraph): Start diagnostics with lowercase letters and
119 remove trailing '\n'.
120 * opts.c (finish_options, common_handle_option): Start diagnostics
121 with lowercase letters and remove trailing '.'. Fix typo in
122 diagnostic.
123 * passes.c (position_pass): Start diagnostic with lowercase
124 letter.
125 * plugin.c (add_new_plugin, parse_plugin_arg_opt,
126 register_callback, try_init_one_plugin): Start diagnostics with
127 lowercase letters.
128 * reload1.c (spill_failure): Use %' in diagnostic.
129 (gen_reload): Start diagnostic with a lowercase letter.
130 * stor-layout.c (place_field): Start diagnostic with a lowercase
131 letter.
132 * toplev.c (open_auxiliary_file): Use %' in diagnostic.
133 * tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
134 verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
135 Start diagnostics with lowercase letters, remove trailing '.' and
136 use %' in diagnostics.
137 * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
138 (verify_ssa): Don't split diagnostic across two error calls.
139 Spell out "number" and use %' in diagnostic.
140 * value-prof.c (visit_hist, check_counter): Start diagnostics with
141 lowercase letters.
142
5ca2bc5e
UB
1432010-11-10 Uros Bizjak <ubizjak@gmail.com>
144
145 PR middle-end/46419
146 * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
147 (_mm_cvtpu16_ps): Ditto.
148
d5478783
JM
1492010-11-10 Joseph Myers <joseph@codesourcery.com>
150
151 * common.opt (flag_excess_precision_cmdline, flag_generate_lto,
152 warn_larger_than, larger_than_size, warn_frame_larger_than,
153 frame_larger_than_size, flag_gen_aux_info, flag_shlib,
154 default_visibility, flag_tls_default): New Variable declarations.
155 (aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
156 falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
157 (v): Declare as Common and document here.
158 * flags.h (default_visibility, flag_generate_lto,
159 warn_larger_than, larger_than_size, warn_frame_larger_than,
160 frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
161 flag_shlib, flag_excess_precision_cmdline): Remove.
162 (set_Wstrict_aliasing): Update prototype.
163 * gcc.c (verbose_flag): Remove.
164 (driver_handle_option): Add diagnostic_context parameter. Don't
165 handle OPT_v explicitly here. Set verbose_flag to 1 rather than
166 incrementing it.
167 * opts-common.c (handle_option): Pass dc to handler.
168 * opts.c (warn_larger_than, larger_than_size,
169 warn_frame_larger_than, frame_larger_than_size,
170 default_visibility): Remove.
171 (common_handle_option): Add diagnostic_context parameter.
172 (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
173 gcc_options parameters.
174 (lang_handle_option, target_handle_option, read_cmdline_options,
175 decode_options): Add diagnostic_context parameters.
176 (finish_options): Access option state through opts pointer where
177 possible.
178 (common_handle_option): Access option state through opts pointer
179 where possible. Do not set local static variable verbose. Do not
180 explicitly handle OPT_v, OPT_Wstrict_aliasing_,
181 OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
182 OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
183 OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
184 OPT_fwhopr_. Do not explicitly set .opt file variables for
5ca2bc5e 185 OPT_aux_info or OPT_pedantic_errors. Use dc for diagnostic context.
d5478783
JM
186 (set_Wstrict_aliasing): Add gcc_options parameter.
187 * opts.h (struct cl_option_handler_func): Add diagnostic_context
188 parameter to handler.
189 (decode_options): Add diagnostic_context parameter.
190 * toplev.c (dump_base_name, dump_dir_name, aux_base_name,
191 asm_file_name, flag_generate_lto, flag_gen_aux_info,
192 aux_info_file_name, flag_shlib, flag_tls_default,
193 flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
194 (toplev_main): Pass global_dc to decode_options.
195 * toplev.h (dump_base_name, dump_dir_name, aux_base_name,
196 aux_info_file_name, asm_file_name): Remove.
197 * tree.h (flag_tls_default): Remove.
198
8e7a6ed6
EB
1992010-11-10 Eric Botcazou <ebotcazou@adacore.com>
200
201 * config/sparc/sparc.c (sparc_delegitimize_address): New function.
202 (TARGET_DELEGITIMIZE_ADDRESS): Define to above.
203
94d13ad1
QN
2042010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
205
206 * config.gcc (i[34567]86-*-*): Include tbmintrin.h.
207 (x86_64-*-*): Likewise.
208 * config/i386/cpuid.h: Define TBM bit.
209 * config/i386/driver-i386.c (host_detect_local_cpu): Define
210 and set has_tbm.
211 * config/i386/i386-c.c (ix86_target_macros_internal): Check
212 isa_flag for TBM.
213 * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
214 (OPTION_MASK_ISA_TBM_UNSET): New.
215 (ix86_handle_option): Handle -mtbm.
216 (isa_opts): Add -mtbm.
217 (enum pta_flags): Add PTA_TBM.
218 (ix86_option_override_internal): Add TBM support.
219 (ix86_valid_target_attribute_inner_p): Handle -mtbm.
220 (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
221 (IX86_BUILTIN_BEXTRI64): Likewise.
222 (bdesc_args): Add TBM intrinsics.
223 (ix86_expand_builtin): Add TBM specific case.
224 * config/i386/i386.h (TARGET_TBM): New for TBM.
225 * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
226 (tbm_bextri_<mode>): Likewise.
227 (*tbm_blcfill_<mode>): Likewise.
228 (*tbm_blci_<mode>): Likewise.
229 (*tbm_blcic_<mode>): Likewise.
230 (*tbm_blcmsk_<mode>): Likewise.
231 (*tbm_blcs_<mode>): Likewise.
232 (*tbm_blsfill_<mode>): Likewise.
233 (*tbm_blsic_<mode>): Likewise.
234 (*tbm_t1mskc_<mode>): Likewise.
235 (*tbm_tzmsk_<mode>): Likewise.
236 * config/i386/i386.opt: Add -mtbm.
237 * config/i386/tbmintrin.h (__bextri_u32): New.
238 (__blcfill_u32): Likewise.
239 (__blci_u32): Likewise.
240 (__blcic_u32): Likewise.
241 (__blcmsk_u32): Likewise.
242 (__blcs_u32): Likewise.
243 (__blsfill_u32): Likewise.
244 (__blsic_u32): Likewise.
245 (__t1mskc_u32): Likewise.
246 (__tzmsk_u32): Likewise.
247 (__bextri_u64): Likewise.
248 (__blcfill_u64): Likewise.
249 (__blci_u64): Likewise.
250 (__blcic_u64): Likewise.
251 (__blcmsk_u64): Likewise.
252 (__blcs_u64): Likewise.
253 (__blsfill_u64): Likewise.
254 (__blsic_u64): Likewise.
255 (__t1mskc_u64): Likewise.
256 (__tzmsk_u64): Likewise.
257 * config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
258 * doc/invoke.texi: Document -mtbm.
259 * doc/extend.texi: Document TBM built-in functions.
260
91afcfa3
QN
2612010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
262
263 * config.gcc (i[34567]86-*-*): Include bmiintrin.h.
264 (x86_64-*-*): Likewise.
265 * config/i386/cpuid.h: Define BMI bit.
266 * config/i386/driver-i386.c (host_detect_local_cpu): Define
267 and set has_bmi.
268 * config/i386/i386-c.c (ix86_target_macros_internal): Check
269 isa_flag for BMI.
270 * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
271 (OPTION_MASK_ISA_BMI_UNSET): New.
272 (ix86_handle_option): Handle -mbmi.
273 (isa_opts): Add -mbmi.
274 (enum pta_flags): Add PTA_BMI.
275 (ix86_option_override_internal): Add BMI support.
276 (ix86_valid_target_attribute_inner_p): Handle -mbmi.
277 (IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
278 (IX86_BUILTIN_BEXTR64): Likewise.
279 (IX86_BUILTIN_CTZS): Likewise.
280 (bdesc_args): Add BMI intrinsics.
281 (ix86_expand_args_builtin): Add BMI specific cases.
282 * config/i386/i386.h (TARGET_BMI): New for BMI.
283 (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
284 (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
285 * config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
286 (UNSPEC_TZCNT): Likewise.
287 (ctz<mode>2): Add tzcnt, and handle 16 bit operands.
288 (bmi_andn_<mode>): New for BMI.
289 (bmi_bextr_<mode>): Likewise.
290 (bmi_blsi_<mode>): Likewise.
291 (bmi_blsmsk_<mode>): Likewise.
292 (bmi_blsr_<mode>): Likewise.
293 * config/i386/i386.opt: Add -mbmi.
294 * config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
295 * config/i386/bmiintrin.h (__lzcnt_u16): New.
296 (__tzcnt_u16): Likewise.
297 (__andn_u32): Likewise.
298 (__bextr_u32): Likewise.
299 (__blsi_u32): Likewise.
300 (__blsmsk_u32): Likewise.
301 (__blsr_u32): Likewise.
302 (__lzcnt_u32): Likewise.
303 (__tzcnt_u32): Likewise.
304 (__andn_u64): Likewise.
305 (__bextr_u64): Likewise.
306 (__blsi_u64): Likewise.
307 (__blsmsk_u64): Likewise.
308 (__blsr_u64): Likewise.
309 (__lzcnt_u64): Likewise.
310 (__tzcnt_u64): Likewise.
311 * doc/invoke.texi: Document -mbmi and -mno-bmi.
312 * doc/extend.texi: Document BMI built-in functions.
313
b6173d50
JH
3142010-11-10 Jan Hubicka <jh@suse.cz>
315
316 PR tree-optimize/46228
317 * doc/invoke.texi (comdat-sharing-probability): Document.
318 * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
319 * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
320
2cfef329
JH
3212010-11-10 Jan Hubicka <jh@suse.cz>
322
323 PR tree-optimize/46228
324 * cgraph.c (cgraph_propagate_frequency): Fix typo.
325
c204d113
L
3262010-11-10 H.J. Lu <hongjiu.lu@intel.com>
327
328 PR tree-optimization/46414
329 * tree-inline.c (estimate_move_cost): Check preferred vector
330 mode for vector type.
331
95b53b57
RO
3322010-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
333
334 * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
335
e639b206
SP
3362010-11-10 Sebastian Pop <sebastian.pop@amd.com>
337
338 PR tree-optimization/45971
339 * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
340 for phi nodes analyzable by scev.
341
59e0c6b7
RG
3422010-11-10 Richard Guenther <rguenther@suse.de>
343
344 PR tree-optimization/44964
345 * ipa-inline.c (cgraph_flatten): Check that SSA form matches.
346
f5a7af7d
MJ
3472010-11-10 Martin Jambor <mjambor@suse.cz>
348
349 PR tree-optimization/46351
350 PR tree-optimization/46377
351 * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
352 aggregate bit-fields.
353
2be55a25
JM
3542010-11-10 Joseph Myers <joseph@codesourcery.com>
355
356 * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
357 * doc/tm.texi: Regenerate.
358 * opts-common.c (tm.h): Don't include.
359 (target_option_translations): Remove.
5ca2bc5e 360 (decode_cmdline_options_to_array): Don't handle translating options.
2be55a25
JM
361 * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
362 * config/darwin-driver.c: Don't condition includes on
363 CROSS_DIRECTORY_STRUCTURE.
364 (darwin_default_min_version): Make static.
365 (darwin_driver_init): New. Call darwin_default_min_version if not
366 CROSS_DIRECTORY_STRUCTURE.
367 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
368 (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
369 (ASM_SPEC): Add %{static}.
370 (darwin_default_min_version): Don't declare.
371 (darwin_driver_init): Declare.
372 (GCC_DRIVER_HOST_INITIALIZATION): Define to call
373 darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
374 * config/darwin.opt (all_load, allowable_client,
375 arch_errors_fatal, bind_at_load, bundle, bundle_loader,
376 dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
377 exported_symbols_list, filelist, findirect-virtual-calls,
378 flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
379 framework, fterminated-vtables, gfull, gused, image_base, init,
380 install_name, multi_module, multiply_defined,
381 multiply_defined_unused, no_dead_strip_inits_and_terms,
382 seg_addr_table, seg_addr_table_filename, segaddr,
383 segs_read_only_addr, segs_read_write_addr, single_module,
384 umbrella, unexported_symbols_list, weak_reference_mismatches,
385 Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
386 Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
387 Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
388 Zno_dead_strip_inits_and_terms, Zsingle_module): New.
389 * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
390 (ASM_SPEC): Add %{static}.
391 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
392 * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
393 (DRIVER_SELF_SPECS): Handle options formerly in
394 TARGET_OPTION_TRANSLATE_TABLE.
395 * config/mep/mep.opt (mfar): New.
5ca2bc5e 396 * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
2be55a25
JM
397 (DRIVER_SELF_SPECS): Define. Handle options formerly in
398 TARGET_OPTION_TRANSLATE_TABLE.
5ca2bc5e 399 * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
2be55a25
JM
400 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
401 * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
402 ffix-and-continue, findirect-data): New.
403 * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
404 * config/rx/rx.opt (nofpu): Make into alias of mnofpu.
405 (mnofpu): Define mask and use Report here.
406
5c779305
AK
4072010-11-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
408
471beb2d 409 * config/s390/s390.c (s390_emit_prologue): Report the stack
5c779305
AK
410 size if -fstack-usage is used.
411
72a07d9b
RB
4122010-11-10 Richard Guenther <rguenther@suse.de>
413
414 PR tree-optimization/46398
415 * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
416
954c7446
JR
4172010-11-10 Joern Rennecke <amylaar@spamcop.net>
418
419 PR target/44760
420 * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
421 (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
422 GP_REG_OR_PSEUDO_STRICT_P.
423 * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
424 unexpected alternative.
425 (*movsf_internal): Likewise.
426 (indirect_jump): Replace call to non-existant function with call to
427 internal_error.
428 (tablejump): Likewise.
429 * config/iq2000/iq2000.c: Include df.h .
430 (iq2000_function_arg_advance): Use CONST_CAST2.
431 (compute_frame_size, iq2000_expand_prologue): Remove unused variables.
432 (iq2000_can_eliminate): Call leaf_function_p instead of testing for
433 a non-zero function address.
434 (iq2000_initial_elimination_offset): Add gcc_unreachable for
435 unexpected value of FROM.
436 (symbolic_expression_p): Delete.
437 (iq2000_function_value): Constify func.
438 (expand_one_builtin): Use expand_normal.
439 (iq2000_print_operand): Don't print VALUE if calculating it failed.
440
c6dfaad5
JR
441 PR rtl-optimization/44764
442 * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
443
197a830e
JR
444 PR target/46407
445 * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
446 * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
447 with ATTRIBUTE_UNUSED.
448 (valid_psw_flag): Constify parameter which.
449 (rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
450
4ae50669
JR
451 PR target/46415
452 * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
453 (mmix_dbx_register_number): Likewise.
454 * config/mmix/mmix.c: Include df.h .
455 (mmix_local_alignment): Change argument basic_align and return type
456 to unsigned.
457 (mmix_dbx_register_number): Change argument and return type to
458 unsigned.
459 (mmix_expand_prologue): Use add_reg_note.
460
d707fc77
JR
461 PR target/46417
462 * config/spu/spu.c (spu_expand_insv): Remove unused variables.
463 (spu_split_store): Use aform.
464 (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
465
e65f1db7
LB
4662010-11-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
467
468 PR/46268
469 * doc/gty.texi (GTY Options): Clarify that variable_size produces
470 allocators taking size in bytes, compare with length option. Add
471 size calculation example.
472 (Invoking the garbage collector): Ensure that sentences are
473 followed by two spaces. Describe that pointer fields must be
474 initialized at ggc_collect call.
475 (Troubleshooting): New section.
476
5ca2bc5e 4772010-11-09 Jan Hubicka <jh@suse.cz>
9bb2f479
JH
478
479 PR tree-optimization/40436
480 * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
481 * tree-inline.c (estimate_num_insns): Inexpensive builtins are like
482 normal instructions; be sure bultin is not implemented in this file;
483 compute non-zero return cost.
484 (init_inline_once): Reduce builtin_call_cost to 1; set return cost.
485 * tree-inline.h (eni_weights_d): Add return cost.
486
b8cbdff5
JM
4872010-11-09 Joseph Myers <joseph@codesourcery.com>
488
489 * c-parser.c (c_parser_struct_declaration): Handle declaration
490 specifiers followed by CPP_CLOSE_BRACE.
491
21922561
MM
4922010-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
493
494 * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
495 split occurs before reload, and we allocate memory at the time of
496 the split, not during expansion. Add attributes.
497 (floatsi<mode>2_lfiwax_mem): Ditto.
498 (floatunssi<mode>2_lfiwzx): Ditto.
499 (floatunssi<mode>2_lfiwzx_mem): Ditto.
500 (floatsidf2): Ditto.
501 (floatunssisf2): Ditto.
502 (floatunssidf2): Ditto.
503 (fix_trunc<mode>si2): Ditto.
504 (fix_trunc<mode>si2_stfiwx): Ditto.
505 (fix_trunc<mode>si2_internal): Ditto.
506 (fix_trunc<mode>si2): Ditto.
507 (fix_trunc<mode>di2): Ditto.
508 (fixuns_trunc<mode>si2_stfiwx): Ditto.
509 (floatsisf2): Ditto.
510 (floatdidf2_mem): Ditto.
511 (floatunsdidf2_mem): Ditto.
512 (floatunsdidf2): Ditto.
513 (floatdisf2_internal1): Ditto.
514 (floatdisf2_mem): Ditto.
515 (floatunsdisf2_mem): Ditto.
516 (floatsi<mode>2_lfiwax_mem2): Delete.
517 (floatunssi<mode>2_lfiwzx_mem2): Ditto.
518 (fix_trunc<mode>si2_mem): Ditto.
519 (fixuns_trunc<mode>si2_mem): Ditto.
520 (round32<mode>2_fprs): New combiner insn to combine (double)(int)
5ca2bc5e 521 type operations to reduce copying the values to multiple memory slots.
21922561
MM
522 (roundu32<mode>2_fprs): Ditto.
523
524 * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
525 PRE_INC, PRE_DEC, PRE_MODIFY.
526 (rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
527
528 * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
529 Delete prototype.
530
9b999dc5
JJ
5312010-11-09 Jakub Jelinek <jakub@redhat.com>
532
533 PR target/43808
534 * cfgexpand.c (partition_stack_vars): Call
535 update_alias_info_with_stack_vars unconditionally.
536 (update_alias_info_with_stack_vars): Allow unused
537 unreferenced vars when not optimizing.
538
0104d6c7
SP
5392010-11-09 Sebastian Pop <sebastian.pop@amd.com>
540
541 PR tree-optimization/46036
542 * tree-if-conv.c (predicate_bbs): Call unshare_expr before
543 add_to_dst_predicate_list.
544
67c6812f
JJ
5452010-11-09 Jakub Jelinek <jakub@redhat.com>
546
547 PR debug/46171
548 * df-problems.c (struct dead_debug_use, struct dead_debug): Move
549 earlier.
550 (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
551 argument, call dead_debug_reset when adding REG_UNUSED note.
552 (dead_debug_reset): New function.
553 (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
554 df_create_unused_note callers.
555
cc577f3f
AS
5562010-11-09 Anatoly Sokolov <aesok@post.ru>
557
558 * config/fr30/fr30.c: Include "df.h".
559
a3357f7d
RG
5602010-11-09 Richard Guenther <rguenther@suse.de>
561
562 PR tree-optimization/46355
563 * tree-loop-distribution.c (tree_loop_distribution): Do not
564 distribute loops without a single exit.
565
0644953e
AK
5662010-11-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
567
568 PR rtl-optimization/46237
569 * ira-conflicts.c (ira_build_conflicts): Record conflicts for call
570 saved hard regs if they might get partially clobbered.
571
b99fd9f4
PK
5722010-11-09 Paul Koning <ni1d@arrl.net>
573
5ca2bc5e 574 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
b99fd9f4 575
5923c6c3
RG
5762010-11-09 Richard Guenther <rguenther@suse.de>
577
578 PR tree-optimization/46177
579 * tree-loop-distribution.c (prop_phis): Remove.
580 (generate_builtin): Re-use the old loop exit edge to avoid
581 needing to update PHI nodes.
582
a8869bde
JR
5832010-11-09 Joern Rennecke <amylaar@spamcop.net>
584
471beb2d
L
585 * config/i386/i386.c (ix86_expand_split_stack_prologue): Change
586 type of args_size to unsigned HOST_WIDE_INT.
a8869bde 587
959fc02c
JR
588 PR target/44755
589 * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
590 * config/t-pnt16-warn: New file.
591 * config/picochip/picochip.c (picochip_emit_stack_allocate):
592 Use add_reg_note.
593 (picochip_emit_save_register): Likewise.
594 (picochip_emit_restore_register): Remove variable insn.
595 (picochip_legitimize_address): Don't use C++ style comments.
596 (picochip_legitimize_reload_address): Likewise.
597 (reorder_var_tracking_notes): Remove variable vliw_start.
598 (picochip_reorg): Cast first arguemnt to emit_note_after to
599 enum insn_note.
600 (picochip_expand_builtin_2op): Use EXPAND_NORMAL.
601 (picochip_expand_builtin_3op): Likewise.
602 (picochip_expand_builtin_2opvoid): Likewise.
603 (picochip_expand_array_get, picochip_expand_array_put): Likewise.
604 (picochip_expand_array_testport): Likewise.
605 (picochip_init_builtins): Remove unused variables.
606 * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
607 to unsigned long, and output it as such.
608 (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
609 * config/picochip/picochip.md (movhicc): Remove nonsense statement.
610 (schedType): Cast result of picochip_schedule_type to
611 enum attr_schedType.
612
f4a88680
JR
613 PR target/44759
614 * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
615 conditional to type of S.
616 (mn10300_function_arg): Remove unused variable align.
617 (mn10300_arg_partial_bytes): Likewise.
618 * config/mn10300/mn10300.md (attribute cpu): Cast value to
619 enum attr_cpu.
620
a618dbe3
L
6212010-11-09 H.J. Lu <hongjiu.lu@intel.com>
622
623 PR bootstrap/46392
5ca2bc5e 624 * gengtype-parse.c (type): Call get_input_file_name to get file name.
a618dbe3 625
98cd3025
EB
6262010-11-09 Eric Botcazou <ebotcazou@adacore.com>
627
628 * tree.h (contains_placeholder_p): Fix comment.
629 (type_contains_placeholder_p): Adjust comment.
630 * tree.c (contains_placeholder_p): Fix comment.
631 (type_contains_placeholder_1): Do not recurse on pointed-to types and
632 adjust comment.
633 (type_contains_placeholder_p): Add comment.
634
b9cb66d2
PK
6352010-11-09 Paul Koning <ni1d@arrl.net>
636
637 * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
638 output of byte values.
639
277dc810
JJ
6402010-11-09 Jakub Jelinek <jakub@redhat.com>
641
642 PR middle-end/46360
643 * tree-ssa-propagate.c (update_call_from_tree): Fix for use
644 not in SSA mode.
645
6496e42f
RG
6462010-11-09 Richard Guenther <rguenther@suse.de>
647
648 PR middle-end/46221
649 * varasm.c (compute_visible_aliases): New function.
650 (remove_unreachable_alias_pairs): Aliases make a target available
651 even though we reclaimed the cgraph node.
652 (finish_aliases_1): Likewise.
653 * Makefile.in (varasm.o): Add pointer-set.h dependency.
654
4260533a
NC
6552010-11-09 Nick Clifton <nickc@redhat.com>
656
657 * config/mn10300/mn10300-modes.def: New file.
658
14c4815e
BS
6592010-11-09 Basile Starynkevitch <basile@starynkevitch.net>
660 Jeremie Salvucci <jeremie.salvucci@free.fr>
661
5ca2bc5e 662 * gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
14c4815e
BS
663 (plugin_files, get_file_basename, get_file_realbasename)
664 (get_file_langdir, error_at_line, gt_files, this_file)
665 (system_h_file, read_input_list, create_field_all)
666 (get_file_srcdir_relative_path, get_file_basename)
667 (get_file_langdir, get_file_gtfilename)
668 (get_output_file_with_visibility, get_output_file_name)
669 (struct flist, put_mangled_filename, walk_type)
670 (put_mangled_filename, finish_root_table, write_roots): Use
671 input_file-s.
672 (lang_dir_names, num_lang_dirs): Remove static.
673 (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
674 (main): Use input_file-s.
675
ba4debed 676 * gengtype.h: (struct input_file_st, input_file): New type.
14c4815e
BS
677 (struct fileloc): Use it.
678 (gt_files, num_gt_files, this_file, system_h_file)
5ca2bc5e 679 (input_file_by_name, get_file_srcdir_relative_path): Use input_file.
14c4815e
BS
680 (get_input_file_name): New function.
681 (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
5ca2bc5e 682 use input_file.
14c4815e
BS
683 (lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
684 (get_output_file_name): Ditto.
685
686 * gengtype-lex.l (yybegin): Use input_file.
687
688 * gengtype-parse.c (parse_error): Use input_file.
689
b3a50850
XDL
6902010-11-08 Xinliang David Li <davidxl@google.com>
691
3a5b7298 692 PR tree-optimization/46316
ba4debed 693 * tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
b3a50850
XDL
694 * double-int.h (double_int_mul_with_sign): New function.
695 * double-int.c (double_int_mul_with_sign): New function.
696
d5214afa
PK
6972010-11-08 Paul Koning <ni1d@arrl.net>
698
699 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
4260533a 700
8860adf4
PK
7012010-11-08 Paul Koning <ni1d@arrl.net>
702
703 * config/pdp11/pdp11.md (negsi2): Fix wrong code.
4260533a 704
e285a2c6
PK
7052010-11-08 Paul Koning <ni1d@arrl.net>
706
707 * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
708 to 8 bits.
709
f4becba8
MM
7102010-11-08 Michael Meissner <meissner@linux.vnet.ibm.com>
711
712 PR target/46378
713 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
714 turn on ISA 2.04 rounding instructions for power5.
715
716 * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
717 not ISA 2.02.
718
719 PR target/45585
720 * config/rs6000/darwin.md (movdi_low): Allow DImode values to be
721 in FPR registers.
722 (movdi_low_st): Ditto.
723
5c5e8419 7242010-11-08 Joern Rennecke <amylaar@spamcop.net>
ba4debed 725 Richard Henderson <rth@redhat.com>
5c5e8419
JR
726
727 PR target/44758
728 * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
729 (attribute acc_group): Cast value to enum attr_acc_group.
730 (*movdi_nodouble+6): Use gen_int_mode.
731 * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
732 if RTX_CODE is defined or not.
733 * config/frv/frv.c (enum frv_io_type): New enum, broken out of
734 struct frv_io.
735 (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
736 (frv_frame_access, frv_expand_prologue): Remove unused variables.
737 (frv_expand_block_clear): Likewise.
738 (frv_trampoline_init): Use LCT_NORMAL.
739 (struct frv_packet_group): New struct, broken out of type of
740 frv_packet.
741 (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
742 use cast in loop counter increment.
743 (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
744 assigning to io->type.
745 (bdesc_set): Use rtx_code UNKNOWN in initializer.
746 (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
747 (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
748 (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
749 (frv_read_argument): Use expand_normal.
750
4260533a 751 PR target/44757
ae15736e
JR
752 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
753 lm32_legitimate_constant_p.
754 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
755 * config/lm32/lm32.c (gen_int_relational): Make new block for
756 LE / LT / LEU / LTU case. Declare variables at start of block.
757 (lm32_block_move_inline): Use XALLOCAVEC.
758
8efea7a6
RO
7592010-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
760
5ca2bc5e 761 * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
90aa3e91
BS
762
7632010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
764
765 * gengtype (get_output_file_for_structure): Ensure type is union
766 or struct.
767 (write_splay_tree_allocator_def): Use
768 get_output_file_with_visibility.
769
7876e2b5
AK
7702010-11-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
771
772 * config/s390/s390.c (s390_handle_arch_option): Set type and flags
773 to defined values in case of an error.
774 (s390_option_override): Skip further processing if the -march
775 parameter wasn't recognized.
776
f57e2756
JR
7772010-11-08 Joern Rennecke <amylaar@spamcop.net>
778
779 * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
780 assert that REG is a hard register number before using it as an index.
781
d079459e
JR
782 PR bootstrap/46358
783 * config/i386/i386.c (ix86_expand_split_stack_prologue):
784 Avoid warnings when HOST_WIDE_INT is 32 bit.
785
f79e1b0f
EB
7862010-11-08 Eric Botcazou <ebotcazou@adacore.com>
787
788 PR target/46208
789 * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
790 (sparc_promote_prototypes): Likewise.
791 (sparc_promote_function_mode): Promote in 32-bit mode as well.
792 (sparc_return_in_memory): Remove superfluous parentheses.
793 (sparc_struct_value_rtx): Fix long lines.
794 (sparc_function_value_1): Promote in 32-bit mode as well.
795
06f0c25f
AB
7962010-11-08 Andrey Belevantsev <abel@ispras.ru>
797
ba4debed 798 PR rtl-optimization/45352
06f0c25f
AB
799 * sel-sched.c (find_best_expr): Do not set pneed_stall when
800 the variable_issue hook is not implemented.
801 (fill_insns): Remove dead variable stall_iterations.
802 (init_seqno_1): Force EBB start for resetting sched cycles on any
803 successor blocks of the rescheduled region.
804 (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
805 (reset_sched_cycles_in_current_ebb): Add debug printing.
806 New variable issued_insns. Advance state when we have issued
807 issue_rate insns.
808
b1d2d6b1
BS
8092010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
810
811 * gengtype (main): Get here's position using POS_HERE macro for
812 do*typedef calls.
813
f3824a8b
ILT
8142010-11-07 Ian Lance Taylor <iant@google.com>
815
816 PR target/46089
817 * config/i386/i386.c (split_stack_fn_large): New static variable.
818 (ix86_expand_split_stack_prologue): Handle large model.
819
8390b335
AS
8202010-11-07 Andreas Schwab <schwab@linux-m68k.org>
821
822 * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
823 all possible addressing modes.
824
bb368470
UB
8252010-11-07 Uros Bizjak <ubizjak@gmail.com>
826
827 PR tree-optimization/46346
828 * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
829
c50bcc13
RS
8302010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
831
832 * config/mips/mips.c: Revert previous patch.
833 * config/mips/mips.md: Likewise.
834
c7c0f73d
RS
8352010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
836
837 * config/mips/mips.c (mips_rtx_costs): Handle FMA.
838 * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
839 (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
840 (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
841 (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
842 to use FMA.
843 (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
844 (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
845 (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
846 (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
847
c58e98c8
SM
8482010-11-06 Simon Martin <simartin@users.sourceforge.net>
849
850 PR c/43384
851 * c-decl.c (lookup_label): Labels can only be referenced in a
bb368470 852 function's scope.
c58e98c8
SM
853 (store_parm_decls_oldstyle): Skip erroneous parameters.
854
da0dc818
AS
8552010-11-06 Anatoly Sokolov <aesok@post.ru>
856
857 * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
858 LIBCALL_VALUE): Remove macros.
859 * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
860 TARGET_FUNCTION_VALUE_REGNO_P): Define.
861 (fr30_function_value_regno_p, fr30_function_value,
862 fr30_libcall_value): New functions.
863
4ee3b013
JR
8642010-11-06 Joern Rennecke <amylaar@spamcop.net>
865
866 PR middle-end/46314
867 * target.def (generate_internal_label): New asm_out hook.
868 * output.h (default_generate_internal_label): Declare.
869 * varasm.c (default_generate_internal_label): Define.
870
91ebb981
IS
8712010-11-06 Iain Sandoe <iains@gcc.gnu.org>
872
873 PR target/44981
874 * doc/extend.tex (format): Document NSString extension.
875 (format_arg): Likewise.
876 (Darwin Format Checks): New section.
877 * doc/tm.texi: Document string object hooks (generated).
878 * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
879 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
880 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
bb368470 881 * target.def (objc_construct_string_object): Rename, amend
91ebb981
IS
882 documentation.
883 (string_object_ref_type_p): New hook.
884 (check_string_object_format_arg): New hook.
885 * c-parser.c (c_parser_attributes): Allow objective-c class names as
886 attribute identifiers.
887 * config/darwin-c.c (darwin_cfstring_ref_p): New.
888 (darwin_check_cfstring_format_arg): New.
889 (darwin_additional_format_types): New.
890 * config/darwin-protos.h (darwin_cfstring_ref_p) New.
891 (darwin_check_cfstring_format_arg): New.
892 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
893 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
894 (TARGET_N_FORMAT_TYPES): New.
895 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
896
2952a37e 8972010-11-06 Eric Botcazou <ebotcazou@adacore.com>
bb368470 898 Pascal Obry <obry@adacore.com>
2952a37e
EB
899
900 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine. Use 33
901 in 64-bit mode and 17 otherwise.
902
8784e5ac
AK
9032010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
904
905 PR debug/45939
906 * var-tracking.c (emit_note_insn_var_location): Make sure that
907 call related var location notes come before the normal ones.
908
77bb7c61
L
9092010-11-05 H.J. Lu <hongjiu.lu@intel.com>
910
911 PR target/46326
912 * config/i386/i386.c (ix86_delegitimize_address): Fix a typo
913 in the last change.
914
c070a3b9
ILT
9152010-11-05 Ian Lance Taylor <iant@google.com>
916
bb368470 917 * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
c070a3b9 918
a75de692
JJ
9192010-11-05 Jakub Jelinek <jakub@redhat.com>
920
921 PR c/44772
922 * c-decl.c (warn_cxx_compat_finish_struct): Don't call
923 pointer_set_contains if DECL_NAME is NULL.
924
c3928dde
ILT
9252010-11-05 Ian Lance Taylor <iant@google.com>
926
927 PR target/46084
928 * explow.c (allocate_dynamic_stack_space): If flag_split_stack,
bb368470 929 request enough additional space for alignment, and force alignment.
c3928dde 930
037de943
KT
9312010-11-05 Kai Tietz <kai.tietz@onevision.com>
932
933 * config/i386/i386.c (legitimate_pic_address_disp_p):
934 Handle UNSPEC_PCREL.
935 (ix86_legitimate_address_p): Likewise.
936 (legitimize_pic_address): Likewise.
937 (output_pic_addr_const): Likewise.
938 (ix86_delegitimize_address): Likewise.
939 (ix86_find_base_term): Likewise.
940 (memory_address_length): Likewise.
941 (x86_output_mi_thunk): Handle special case x64
942 for non local binding.
943 * config/i386/i386.md (UNSPEC_PCREL): New.
944 * config/i386/winnt.c (i386_pe_binds_local_p):
945 Allow weak symbol for x64 windows with non-local binding.
946
ee01a467
JJ
9472010-11-05 Jakub Jelinek <jakub@redhat.com>
948
949 PR target/45670
950 * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
951 instead of EXPAND_NORMAL for base expansion.
952
b71e5eba
UB
9532010-11-05 Uros Bizjak <ubizjak@gmail.com>
954
955 * config.gcc: Support --with-fpmath=avx for x86.
956 * config/i386/avxmath.h: New.
957 * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
958
7f7c6d91
ILT
9592010-11-05 Ian Lance Taylor <iant@google.com>
960
b71e5eba 961 * tree.h (struct tree_type): Don't use descbits in GTY annotation.
7f7c6d91
ILT
962 * gengtype.c (walk_type): Don't recognize descbits option.
963
c243beb0
JM
9642010-11-05 Joseph Myers <joseph@codesourcery.com>
965
966 * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
967 WORD_SWITCH_TAKES_ARG): Remove.
968 * doc/options.texi (Args): Document.
969 * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
970 * doc/tm.texi: Regenerate.
971 * opt-functions.awk (switch_flags): Handle Args.
972 * opts-common.c: Update comment on tm.h include.
973 (decode_cmdline_option): Handle options with multiple arguments.
974 Don't check WORD_SWITCH_TAKES_ARG for unknown options.
b71e5eba 975 * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
c243beb0
JM
976 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
977 CL_COMMON): Update values.
978 * system.h (WORD_SWITCH_TAKES_ARG): Poison.
979 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
980 * config/darwin.opt (Zsegaddr, sectalign, sectcreate,
981 sectobjectsymbols, sectorder, segcreate, segprot): New.
982
d73ee4e7
L
9832010-11-05 H.J. Lu <hongjiu.lu@intel.com>
984 Uros Bizjak <ubizjak@gmail.com>
985
986 * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
987 256bit AVX register is used.
988 (ix86_expand_vector_move_misalign): Likewise.
989 (ix86_expand_vector_move): Replace use_avx256_p with
990 VALID_AVX256_REG_MODE.
991
365b0dba
JR
9922010-11-05 Joern Rennecke <amylaar@spamcop.net>
993
994 PR target/44750
995 * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
996 change. Set $@-warn.o to -Wno-error.
997
3e926b4d
JR
998 PR bootstrap/44756
999 * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
1000 comparing it to a signed value.
1001
d92034f1 1002 PR middle-end/44766
6ab31ade 1003 * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
d92034f1 1004 PR bootstrap/44756
6ab31ade
JR
1005 * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
1006 to i.
1007
444d6efe
JR
1008 PR target/44754
1009 * config/m32c/m32c.c (m32_function_arg): Rename declaration to...
1010 (m32c_function_arg). Add comma between arguments two and three.
1011 (m32c_promote_prototypes): Remove declaration.
1012 (current_function_special_page_vector): Likewise.
1013 (m32c_regno_reg_class): Change return type to enum reg_class.
1014 (m32c_pushm_popm): Use add_reg_note.
1015 (m32c_push_rounding): Change return type to unsigned int.
1016 (m32c_legitimize_reload_address): Cast argument 11 to push_reload to
1017 enum reload_type.
1018 (m32c_insert_attributes): Constify variable name.
1019 (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
1020 (m32c_prepare_shift): Remove variable lref.
1021 (m32c_expand_movcc): Remove variable cmp.
1022 (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
1023 (m32c_compare_redundant): Remove variable op2.
1024 * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
1025 (m32c_pragma_memregs): Assign the number to target_memregs.
1026 (m32c_pragma_address): Remove variable var_str.
1027 * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
1028 enum reg_class.
1029 (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
1030 * config/m32c/bitops.md (andsi3): Add default case to switch.
1031 (iorsi3, xorsi3): Likewise.
1032 * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
1033 * config/m32c/jump.md (call, call_value): Likewise.
1034 * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
1035 (m32c_regno_reg_class): Likewise.
1036 (current_function_special_page_vector): Declare.
1037
0f59b812
JJ
10382010-11-05 Jakub Jelinek <jakub@redhat.com>
1039
bb368470 1040 * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
cb115041 1041
cba1eb61
JJ
1042 PR tree-optimization/46099
1043 * tree-parloops.c (take_address_of): Add GSI argument. Return NULL
1044 if it is NULL and uid wasn't found in the hash table. Just fold the
1045 result if it is NULL otherwise. Insert other potentially needed
1046 stmts right before current stmt instead of on the entry edge.
1047 (struct elv_data): Add gsi and reset fields.
1048 (eliminate_local_variables_1): Adjust caller. If take_address_of
1049 failed for debug stmt, set dta->reset and return.
1050 (eliminate_local_variables_stmt): Change STMT argument for GSI,
1051 pass GSI through to the callback, handle resetting of debug stmts.
1052 (eliminate_local_variables): Adjust caller. Process debug stmts
1053 in second phase.
1054
502c5084
JJ
1055 PR middle-end/43690
1056 * gimplify.c (gimplify_asm_expr): If a "m" input is a
1057 {pre,post}{in,de}crement, fail.
1058
0f59b812
JJ
1059 PR debug/46307
1060 * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
1061 * tree-pretty-print.c (dump_generic_node): Likewise.
1062 (op_code_prio): Likewise.
1063 * cfgexpand.c (expand_debug_expr): Likewise.
1064
868e54d1
PK
10652010-11-04 Paul Koning <ni1d@arrl.net>
1066
1067 * doc/md.texi (Machine Constraints): Correct formatting in PDP-11
b71e5eba
UB
1068 constraints.
1069
293b77b0
CF
10702010-11-04 Chao-ying Fu <fu@mips.com>
1071
1072 * configure.ac: Test assembler support for DSP Rev1 mult.
1073 * configure: Regenerate.
1074 * config.in: Regenerate.
1075 * config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
1076 * config/mips/mips.c (CODE_FOR_mips_mult): New define.
1077 (CODE_FOR_mips_multu): New define.
1078 (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
1079 dspr2_32 to dsp_32.
1080 (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
8b7e8529 1081 Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
293b77b0
CF
1082 * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
1083 New define_expand patterns.
1084 * config/mips/constraints.md (ka): Update the constraint to test
1085 ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
1086 * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
1087 mips_multu): Delete.
1088 * config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
1089 Change target constraint to "ka".
1090 Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
1091 (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
1092 Emit the accumulator destination when ISA_HAS_DSP_MULT.
b71e5eba 1093 (<u>msubsidi4): Add comments. Test ISA_HAS_DSP.
293b77b0
CF
1094 Emit the accumulator destination when ISA_HAS_DSP_MULT.
1095 (<u>maddsidi4): Likewise.
1096 * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
1097 msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
1098
5e426dd4
PK
10992010-11-04 Paul Koning <ni1d@arrl.net>
1100
1101 * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
b71e5eba 1102
dde9c901
PK
11032010-11-04 Paul Koning <ni1d@arrl.net>
1104
1105 * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
1106
bede2adc
NP
11072010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
1108
1109 Fixed using the Objective-C 2.0 dot-syntax with class names.
1110 * c-parser.c (c_parser_next_token_starts_declspecs): In
1111 Objective-C, detect Objective-C 2.0 dot-syntax with a class name.
1112 (c_parser_next_token_starts_declaration): Same.
1113 (c_parser_postfix_expression): Parse the Objective-C 2.0
1114 dot-syntax with a class name.
1115
58082ff6
PH
11162010-11-04 Pat Haugen <pthaugen@us.ibm.com>
1117
1118 * final.c (compute_alignments): Compute/free loop info all the time.
1119 * config/rs6000/rs6000.h (LOOP_ALIGN): Define.
1120 * config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
1121 * config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
1122 * config/rs6000/rs6000.c (cfgloop.h): Include.
1123 (can_override_loop_align): New.
1124 (rs6000_option_override_internal): Set it.
1125 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
1126 (rs6000_loop_align): New function.
1127 (rs6000_loop_align_max_skip): Likewise.
1128
df10a535
RW
11292010-11-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1130
1131 PR driver/45703
1132 * collect2.c (main): Print --help output to stdout. Do not
1133 exit right away, so ld --help is appended. Add empty lines
1134 to separate output suitably.
1135
86710a8b
JJ
11362010-11-04 Jakub Jelinek <jakub@redhat.com>
1137
269c80f2
JJ
1138 PR tree-optimization/46233
1139 * ipa-pure-const.c (local_pure_const): Do noreturn discovery
1140 after calling analyze_function, not before.
1141
86710a8b
JJ
1142 PR target/46234
1143 * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
1144 instead of build_va_arg_indirect_ref.
1145 * config/spu/spu.c (spu_va_start): Likewise.
1146 * config/s390/s390.c (s390_va_start): Likewise.
1147
822a55a0
UB
11482010-11-03 Uros Bizjak <ubizjak@gmail.com>
1149
1150 PR middle-end/46292
86710a8b 1151 * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
822a55a0
UB
1152 if the innermode is not vector mode, determine the mode of a subreg
1153 by using mode_for_size of inner_size.
1154
f2b01cfb
RG
11552010-11-04 Richard Guenther <rguenther@suse.de>
1156
1157 PR rtl-optimization/46183
1158 * gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed.
1159 (execute_rtl_pre): Likewise.
1160 (execute_rtl_hoist): Likewise.
1161
9f2fbc99
RG
11622010-11-04 Richard Guenther <rguenther@suse.de>
1163
1164 PR tree-optimization/46068
1165 * ipa-split.c (consider_split): Remove gcc_unreachable.
1166
0a582743
RG
11672010-11-04 Richard Guenther <rguenther@suse.de>
1168
1169 * tree-nested.c (build_addr): Use build_fold_addr_expr.
1170
844d5fca
RG
11712010-11-04 Richard Guenther <rguenther@suse.de>
1172
1173 PR tree-optimization/45991
1174 * gimplify.c (force_gimple_operand_1): Use the provded test
1175 function in the initial test.
1176
a22265a4
JL
11772010-11-04 Jeff Law <law@redhat.com>
1178
1179 * ira.c (validate_equiv_mem): Remove code to avoid invalidation
1180 of readonly memory equivalances for const/pure calls.
1181
2a2651b7
RG
11822010-11-04 Richard Guenther <rguenther@suse.de>
1183
1184 PR tree-optimization/45733
1185 * tree-vect-stmts.c (reverse_vec_elements): Honor the
1186 permute builtins function return type.
1187
754e97fb 11882010-11-04 Joern Rennecke <amylaar@spamcop.net>
bf9412cd
JR
1189
1190 PR middle-end/44765
1191 * emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM
1192 as an index, check it is not INVALID_REGNUM.
1193
ab040cea
JR
1194 PR bootstrap/44756
1195 * ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and
1196 unsignedp.
1197 * reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno.
1198
2e239f9d
JR
1199 PR bootstrap/44756
1200 * function.c (thread_prologue_and_epilogue_insns): Add
1201 ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge.
1202
8f7d7498
JR
1203 PR bootstrap/44756
1204 * varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function.
1205
f89a0507
JR
1206 PR target/44750
1207 * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
1208 (pdp11_preferred_reload_class): Rename class to rclass.
1209 (pdp11_preferred_output_reload_class): Likewise.
1210 * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
1211 ALL_COMPILERFLAGS .
1212 (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.
1213
2b78d0f1
JR
1214 PR bootstrap/44756
1215 * genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast
1216 iteration variables to enum machine_mode.
1217
9690aa8e
JR
1218 PR target/44751
1219 * config/h8300/h8300.c: Include df.h.
1220 (push, pop): Use add_reg_note.
1221 (compute_plussi_cc, compute_logical_op_cc): Return enum attr_c.
1222 (compute_a_shift_cc): Likewise.
1223 (expand_a_shift): Argument code has type enum rtx_code.
1224 (struct shift_insn): Member cc_valid has type enum attr_cc.
1225 (struct shift_info) <cc_inline, cc_special>: Likewise.
1226 enum attr_cc.
1227 * config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype.
1228 (compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise.
1229
0532869d
IR
12302010-11-04 Ira Rosen <irar@il.ibm.com>
1231
1232 PR tree-optimization/46213
1233 * tree-vect-loop.c (vect_is_simple_reduction_1): Handle
1234 MINUS_EXPR only if the first operand is reduction operand.
1235
16949072 12362010-11-04 Richard Guenther <rguenther@suse.de>
b71e5eba 1237 Richard Henderson <rth@redhat.com>
16949072
RG
1238
1239 * tree.def (FMA_EXPR): New tree code.
1240 * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
1241 * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
1242 * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
1243 * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
1244 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
1245 * tree-ssa-math-opts.c (convert_mult_to_fma): New function.
1246 (execute_optimize_widening_mul): Call it. Reorganize to allow
1247 dead stmt removal. Move TODO flags ...
1248 (pass_optimize_widening_mul): ... here.
1249 * flag-types.h (enum fp_contract_mode): New enum.
1250 * common.opt (flag_fp_contract_mode): New variable.
1251 (-ffp-contract): New option.
1252 * opts.c (common_handle_option): Handle it.
1253 * doc/invoke.texi (-ffp-contract): Document.
1254 * tree.h (fold_fma): Declare.
1255 * builtins.c (fold_fma): New function.
1256 (fold_builtin_fma): Likewise.
1257 (fold_builtin_3): Call it for fma.
1258 * fold-const.c (fold_ternary_loc): Fold FMA_EXPR.
1259 * optabs.c (optab_for_tree_code): Handle FMA_EXPR.
1260 * config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4):
1261 New expanders.
1262 * doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new
1263 named patterns.
1264 * genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab.
1265 * optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms.
1266 (fms_optab, fnma_optab, fnms_optab): New defines.
1267 * gimplify.c (gimplify_expr): Handle binary truth expressions
1268 explicitly. Handle FMA_EXPR.
1269 * tree-vect-stmts.c (vectorizable_operation): Handle ternary
1270 operations.
1271
ba4debed 12722010-11-04 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
b71e5eba 1273 Richard Guenther <rguenther@suse.de>
47853c73
AS
1274
1275 * passes.c (init_optimization_passes): Move veclower after SSA.
1276 * tree-vect-generic.c (uniform_vector_p): New function.
1277 (expand_vector_operations_1): Handle conversion.
1278 (pass_lower_vector): Update SSA form.
1279
d8ed14ce
IS
12802010-11-04 Iain Sandoe <iains@gcc.gnu.org>
1281
8b7e8529 1282 * configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for
d8ed14ce 1283 plugin capabilities.
8b7e8529 1284 * configure: Regenerate.
d8ed14ce 1285
2fa692c0
XDL
12862010-11-03 Xinliang David Li <davidxl@google.com>
1287
822a55a0
UB
1288 PR target/46200
1289 * tree-ssa-loop-ivopts.c (get_computation_cost_at):
1290 Adjust cbase if the use stmt is after iv update.
2fa692c0 1291
9451da74
KK
12922010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
1293
b71e5eba 1294 * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets.
9451da74 1295
803b9370
KK
12962010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
1297
1298 * config/sh/sh.c (sh_expand_prologue): Remove unnecessary
1299 comment. Pass true to the last argument of output_stack_adjust.
1300
27835a8a
L
13012010-11-03 H.J. Lu <hongjiu.lu@intel.com>
1302
1303 PR target/46295
1304 * config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p
1305 if 256bit AVX register is used.
1306
92d54f6d
MM
13072010-11-03 Michael Meissner <meissner@linux.vnet.ibm.com>
1308
1309 * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use
1310 xsmindp/xsmaxdp on VSX for single precision min/max.
1311 * config/rs6000/vsx.md (vsx_smaxsf3): Ditto.
1312 (vsx_sminsf3): Ditto.
1313
f891030a
EB
13142010-11-03 Eric Botcazou <ebotcazou@adacore.com>
1315
1316 * combine.c (try_combine): Fix formatting issues, improve comments and
1317 fix a pasto.
1318
fdb8b4c0
EB
13192010-11-03 Eric Botcazou <ebotcazou@adacore.com>
1320
1321 * tree-tailcall.c (find_tail_calls): Convert the operands to the type
1322 of the result before building binary expressions.
1323
5554928d
L
13242010-11-03 H.J. Lu <hongjiu.lu@intel.com>
1325
1326 PR rtl-optimization/45865
1327 * Makefile.in (df-problems.o): Revert revision 164552.
1328 * basic-block.h (enum bb_flags): Likewise.
1329 * cfgcleanup.c (block_was_dirty): Likewise.
1330 (try_forward_edges): Likewise.
1331 (try_crossjump_bb): Likewise.
1332 (try_head_merge_bb): Likewise.
1333 (try_optimize_cfg): Likewise.
1334 (cleanup_cfg): Likewise.
1335 * df-core.c (df_set_bb_dirty): Likewise.
1336 * df-problems.c: Likewise.
1337 (df_simulate_find_uses): Likewise.
1338 (MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
1339 (find_memory, find_memory_store): Likewise.
1340 (can_move_insns_across): Likewise.
1341 * df.h (can_move_insns_across): Likewise.
1342 * ifcvt.c (find_memory): Likewise.
1343 (dead_or_predicable): Likewise.
1344
44cb6d4d
RG
13452010-11-03 Richard Guenther <rguenther@suse.de>
1346
1347 PR middle-end/46288
1348 * predict.c (strip_predict_hints): Simply DCE builtin expect if
1349 the result is unused.
1350
23782cc3
JJ
13512010-11-03 Jakub Jelinek <jakub@redhat.com>
1352
1353 PR tree-optimization/46009
1354 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
1355 cond_if_else_store_replacement if bb1 and bb2 have the same
1356 single successor.
1357 (cond_store_replacement): Use gimple_assign_single_p, don't
1358 check if rhs is SSA_NAME or invariant. Call release_defs for
1359 assign.
1360 (cond_if_else_store_replacement): New function.
1361
2996c17f
RG
13622010-11-03 Richard Guenther <rguenther@suse.de>
1363
1364 * opts.c (finish_options): Properly check for all WHOPR
1365 flags before complaining about -flto-partition.
1366
3df5c6f7
AM
13672010-11-04 Alan Modra <amodra@gmail.com>
1368
1369 * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
1370 (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
1371 TARGET_SECURE_PLT.
1372 * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
1373 * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
1374 on input, "r" on output.
1375
22d8d616
NP
13762010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
1377
1378 Implemented -fobjc-std=objc1 flag.
1379 * doc/invoke.texi (Option Summary): Document -fobjc-std=objc1
1380 option.
1381 * doc/standards.texi (Standards): Updated the section on
1382 Objective-C; mention support for Objective-C 2.0 features and the
1383 new -fstd-objc=objc1 flag to disable them.
1384
68a22980
RG
13852010-11-03 Richard Guenther <rguenther@suse.de>
1386
1387 PR middle-end/46241
1388 * dwarf2out.c (scope_die_for): Properly detect global scope.
1389
8b8bba2d
RG
13902010-11-03 Richard Guenther <rguenther@suse.de>
1391
1392 PR tree-optimization/46190
1393 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
1394 Properly compute peel iterations.
1395
de2184c0
RG
13962010-11-03 Richard Guenther <rguenther@suse.de>
1397
1398 PR tree-optimization/46286
1399 * tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing
1400 re-allocated vector data.
1401
72fdf9e9
L
14022010-11-03 H.J. Lu <hongjiu.lu@intel.com>
1403
1404 PR target/46285
1405 * config/i386/i386.c (ix86_expand_call): Conditionally decorate
1406 calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
1407 is completed.
1408
02ff830b
RG
14092010-11-03 Richard Guenther <rguenther@suse.de>
1410
1411 PR tree-optimization/46217
1412 * tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile
1413 flag matches.
1414 (execute_update_addresses_taken): Likewise.
1415
2e681adf
JR
14162010-11-03 Joern Rennecke <joern.rennecke@embecosm.com>
1417
1418 PR bootstrap/44335
1419 * targhooks.c (targhook_words_big_endian): New function.
1420 (targhook_float_words_big_endian): Likewise.
1421 * targhooks.h (targhook_words_big_endian): Declare.
1422 (targhook_float_words_big_endian): Likewise.
1423 * target.def (words_big_endian, float_words_big_endian): New hooks.
1424
87c20fe7
JJ
14252010-11-03 Jakub Jelinek <jakub@redhat.com>
1426
1427 PR tree-optimization/46165
1428 * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
1429 a normal call into noreturn call.
1430
ca818bd9
RG
14312010-11-03 Richard Guenther <rguenther@suse.de>
1432
1433 PR middle-end/46251
1434 * builtins.c (expand_builtin_sincos): Properly build MEM_REFs,
1435 not INDIRECT_REFs.
1436
71056fef
JJ
14372010-11-03 Jakub Jelinek <jakub@redhat.com>
1438
1439 PR tree-optimization/46107
1440 * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
1441 if cfg_hook_duplicate_loop_to_header_edge failed.
1442
48215350
DK
14432010-11-03 Ian Lance Taylor <iant@google.com>
1444
1445 PR lto/46273
8b7e8529 1446 * config.gcc: Don't set lto_binary_reader.
48215350
DK
1447 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
1448 (Configuration): Mention --disable-lto. Remove --with-libelf
1449 paragraph.
1450
80ab32d6
JJ
14512010-11-03 Jakub Jelinek <jakub@redhat.com>
1452
03f43d3d
JJ
1453 PR debug/46252
1454 * reload1.c (delete_dead_insn): Use prev_active_insn instead of
1455 prev_real_insn.
1456 * gcse.c (insert_insn_end_basic_block): Likewise.
1457
80ab32d6
JJ
1458 PR rtl-optimization/46034
1459 PR rtl-optimization/46212
1460 PR rtl-optimization/46248
1461 * combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
1462 and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
1463 before i0dest -> i0src substitution and pass 1 instead of 0 as last
1464 argument to subst on i2pat.
1465
480767a9
ILT
14662010-11-02 Ian Lance Taylor <iant@google.com>
1467
1468 * configure.ac: Use AC_SYS_LARGEFILE.
1469 * configure: Rebuild.
1470 * config.in: Rebuild.
1471
e8160c9a
NF
14722010-11-02 Nathan Froyd <froydnj@codesourcery.com>
1473
1474 * builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
1475 fold_convert.
1476 * c-typeck.c (build_function_call_vec): Likewise.
1477 * cfgexpand.c (expand_debug_expr): Likewise.
1478 * cgraphunit.c (assemble_thunk): Likewise.
1479 * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
1480 * fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
1481 (fold_binary_loc, fold_ternary_loc): Likewise.
1482 * gimple-fold.c (get_symbol_constant_value): Likewise.
1483 * gimple-low.c (lower_builtin_setjmp): Likewise.
1484 * gimple.c (gimple_cond_get_ops_from_tree): Likewise.
1485 * gimplify.c (gimplify_init_constructor): Likewise.
1486 * lambda.h (build_linear_expr): Likewise.
1487 * omp-low.c (omp_reduction_init): Likewise.
1488 * tree-inline.c (remap_ssa_name): Likewise.
1489 * tree-object-size.c (compute_object_sizes): Likewise.
1490 * tree-sra.c (init_subtree_with_zero): Likewise.
1491 (sra_ipa_modify_assign): Likewise.
1492 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
1493 * tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
1494 (eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
1495 (undistribute_ops_list): Likewise.
1496 * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
1497 * tree-vect-stmts.c (vectorizable_call): Likewise.
1498 * tree.c (build_vector_from_ctor, build_one_cst): Likewise.
1499 (build_zero_cst): Handle more cases directly. Update comment.
1500
04ae82aa
L
15012010-11-02 H.J. Lu <hongjiu.lu@intel.com>
1502
b71e5eba 1503 * config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed.
04ae82aa
L
1504 * config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
1505
1506 * config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
1507 and call ix86_split_call_vzeroupper instead of
1508 ix86_split_call_pop_vzeroupper.
1509 (*call_pop_1_vzeroupper): Likewise.
1510 (*sibcall_pop_1_vzeroupper): Likewise.
1511 (*call_value_pop_0_vzeroupper): Likewise.
1512 (*call_value_pop_1_vzeroupper): Likewise.
1513 (*sibcall_value_pop_1_vzeroupper): Likewise.
1514
2050af0a
L
15152010-11-02 H.J. Lu <hongjiu.lu@intel.com>
1516
b71e5eba 1517 * config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo.
2050af0a 1518
818aa0c5
EB
15192010-11-02 Eric Botcazou <ebotcazou@adacore.com>
1520
1521 * basic-block.h (insert_insn_end_bb_new): Delete.
1522 * cfgrtl.c (insert_insn_end_bb_new): Likewise.
1523
cfec3a7c
L
15242010-11-02 Uros Bizjak <ubizjak@gmail.com>
1525 H.J. Lu <hongjiu.lu@intel.com>
1526
1527 * config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
1528 (ix86_split_call_pop_vzeroupper): Likewise.
1529
21736ec2
UB
1530 * config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop.
1531 (ix86_expand_call): Conditionally decorate calls with
1532 UNSPEC_CALL_NEEDS_VZEROUPPER unspec.
cfec3a7c
L
1533 (ix86_split_call_vzeroupper): New.
1534 (ix86_split_call_pop_vzeroupper): Likewise.
1535
1536 * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
21736ec2 1537 (*call_pop_0_vzeroupper): New insn_and_split pattern.
cfec3a7c
L
1538 (*call_pop_1_vzeroupper): Likewise.
1539 (*sibcall_pop_1_vzeroupper): Likewise.
1540 (*call_0_vzeroupper): Likewise.
1541 (*call_1_vzeroupper): Likewise.
1542 (*sibcall_1_vzeroupper): Likewise.
1543 (*call_1_rex64_vzeroupper): Likewise.
21736ec2 1544 (*call_1_rex64_ms_sysv_vzeroupper): Likewise.
cfec3a7c
L
1545 (*call_1_rex64_large_vzeroupper): Likewise.
1546 (*sibcall_1_rex64_vzeroupper): Likewise.
21736ec2 1547 (*call_value_pop_0_vzeroupper): Likewise.
cfec3a7c
L
1548 (*call_value_pop_1_vzeroupper): Likewise.
1549 (*sibcall_value_pop_1_vzeroupper): Likewise.
21736ec2
UB
1550 (*call_value_0_vzeroupper): Likewise.
1551 (*call_value_0_rex64_vzeroupper): Likewise.
cfec3a7c
L
1552 (*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
1553 (*call_value_1_vzeroupper): Likewise.
1554 (*sibcall_value_1_vzeroupper): Likewise.
1555 (*call_value_1_rex64_vzeroupper): Likewise.
1556 (*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
1557 (*call_value_1_rex64_large_vzeroupper): Likewise.
1558 (*sibcall_value_1_rex64_vzeroupper): Likewise.
1559
12243af6
ILT
15602010-11-02 Ian Lance Taylor <iant@google.com>
1561
1562 PR lto/46273
1563 * config.gcc: Revert last patch: set lto_binary_reader.
1564
343b2efc
RG
15652010-11-02 Richard Guenther <rguenther@suse.de>
1566
1567 PR tree-optimization/46149
1568 * tree-ssa-structalias.c (get_constraint_for_1): Properly handle
1569 non-indirect MEM_REF variants.
1570
f26aa48e
RG
15712010-11-02 Richard Guenther <rguenther@suse.de>
1572
1573 PR tree-optimization/46216
1574 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
1575 Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
1576
23d50abb
RO
15772010-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1578
1579 * configure.ac (*-*-irix6*): Disable set_have_as_tls.
1580 (*-*-osf*): Likewise.
1581 * configure: Regenerate.
1582
eefe143b
L
15832010-11-02 H.J. Lu <hongjiu.lu@intel.com>
1584
1585 * config/i386/driver-i386.c (host_detect_local_cpu): Updated
1586 for Intel Core 2 and Core i7.
1587
894fd6f2
MK
15882010-11-02 Maxim Kuvyrkov <maxim@codesourcery.com>
1589
1590 Model decoder of Core 2/i7 for multipass scheduling.
1591
1592 * config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
1593 New type to hold target-specific data for multipass scheduling.
1594 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
1595 * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
1596 Core 2/i7.
1597 (core2i7_secondary_decoder_max_insn_size,)
1598 (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
1599 New static variables.
1600 ([const_]ix86_first_cycle_multipass_data_t): New typedefs.
1601 ([_]ix86_first_cycle_multipass_data): New static variable.
1602 (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
1603 Implement targetm.sched hooks.
1604 (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
1605 of ...
1606 (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
1607 Implement new targetm.sched hooks.
1608 (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
1609 targetm.sched hook to install multipass scheduling hooks on demand.
1610
1611 * doc/tm.texi.in: Document new targetm.sched hooks.
1612 * doc/tm.texi: Regenerate.
1613
1614 * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
1615 (first_cycle_multipass_data_t): New typedef.
1616 (struct choice_entry: target_data): New field.
1617 (max_issue): Add first_cycle_insn_p parameter. Call new target hooks
1618 to allow target model restrictions not represented in DFA.
1619 (choose_ready, schedule_block): Update.
1620 (sched_extend_ready_list, sched_finish_ready_list): Call new target
1621 hooks to initialize target-specific data for multipass scheduling.
1622 * sched-int.h (max_issue): Update declaration.
1623 * sel-sched.c (choose_best_insn): Update.
1624 * target.def (first_cycle_multipass_{begin, issue, backtrack},)
1625 (first_cycle_multipass_{init, fini}): Define and document new
1626 targetm.sched hooks.
1627
43427f3c
RG
16282010-11-02 Richard Guenther <rguenther@suse.de>
1629
1630 PR tree-optimization/46184
1631 * tree-vect-loop.c (vectorizable_reduction): Try to obtain the
1632 input vector type from the reduction operand as well.
1633
1bbd3bde
RG
16342010-11-02 Richard Guenther <rguenther@suse.de>
1635
1636 PR tree-optimization/46177
1637 * tree-loop-distribution.c (prop_phis): Use
1638 mark_virtual_phi_result_for_renaming.
1639
4c203066
MJ
16402010-11-02 Martin Jambor <mjambor@suse.cz>
1641
1642 PR middle-end/46120
1643 * tree.c (get_binfo_at_offset): Bail out on artificial
1644 fields. Identify primary bases according to their offsets.
1645
b85020cb
MJ
16462010-11-02 Martin Jambor <mjambor@suse.cz>
1647
1648 PR tree-optimization/45875
1649 * gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
1650 (gimple_get_relevant_ref_binfo): Detect primary bases according to
1651 their field offset.
1652
12243af6
ILT
16532010-11-02 Ian Lance Taylor <iant@google.com>
1654
1655 * doc/install.texi (Configuration): Note in two places that Java
1656 is not enabled by default.
1657
16582010-11-02 Ian Lance Taylor <iant@google.com>
1659
1660 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
1661 (Configuration): Mention --disable-lto. Remove --with-libelf
1662 paragraph.
1663
181e5ea4
ILT
16642010-11-02 Ian Lance Taylor <iant@google.com>
1665
1666 * configure.ac: Remove elf_getshdrstrndx test. Don't substitute
1667 LTO_BINARY_READER or LTO_USE_LIBELF. Remove LIBELFLIBS and
1668 LIBELFINC. Remove HAVE_libelf.
1669 * config.gcc: Don't set lto_binary_reader.
1670 * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
1671 (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
1672 (LIBS): Remove $(LIBELFLIBS).
1673 (INCLUDES): Remove $(LIBELFINC).
1674 * configure: Rebuild.
1675 * config.in: Rebuild.
1676
5239874d
NF
16772010-11-02 Nathan Froyd <froydnj@codesourcery.com>
1678
1679 * config/microblaze/microblaze-protos.h (function_arg): Delete.
1680 (function_arg_advance): Delete.
1681 * config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
1682 (FUNCTION_ARG): Delete.
1683 * config/microblaze/microblaze.c (function_arg_advance): Rename to...
1684 (microblaze_function_arg_advance): ...this. Make static. Take a
1685 const_tree and a bool.
1686 (function-arg): Rename to...
1687 (microblaze_function_arg): ...this. Make static. Take a const_tree
1688 and a bool.
1689 (microblaze_expand_prologue): Call targetm.calls.function_arg and
1690 targetm.calls.function_arg_advance.
1691 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1692
fee3eacd
IS
16932010-11-02 Iain Sandoe <iains@gcc.gnu.org>
1694
1695 Merge from FSF "apple/trunk" branch.
1696
1697 * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
1698 * config/darwin.opt: .. to here.
1699 (matt-stubs): New option.
1700 * config/i386/darwin.opt: Delete.
1701 * config/i386/i386.h (MACHOPIC_ATT_STUB): New.
1702 (MACHO_DYNAMIC_NO_PIC_P): New.
1703 (MACHOPIC_INDIRECT): New.
1704 (MACHOPIC_PURE): New.
1705 * config/i386/darwin.h (DARWIN_X86) Define to 1.
1706 (MACHOPIC_ATT_STUB): New.
1707 (CC1_SPEC): Do not remove mdynamic-no-pic.
1708 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
1709 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
1710 (FUNCTION_PROFILER): Correct over-length line.
1711 (SUBTARGET_OVERRIDE_OPTIONS): New.
1712 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
1713 * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
1714 (legitimate_constant_p): Handle mdynamic-no-pic.
1715 (ix86_legitimate_address_p): Likewise.
1716 (ix86_legitimize_address): Likewise.
1717 (ix86_expand_move): Likewise.
1718 (machopic_output_stub): Update for ATT-style stubs and
1719 mdynamic-no-pic.
1720 * config/darwin-protos.h (machopic_symbol_defined_p): New.
1721 * config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
1722 TARGET_DYNAMIC_NO_PIC: Remove.
1723 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
1724 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
1725 * config/rs6000/rs6000.c (darwin_rs6000_override_options):
1726 Remove handling of mdynamic-no-pic.
1727 * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
1728 Define if required.
1729 (machopic_symbol_defined_p): Do not try to use current_function_decl
1730 when generating _get_pc thunks within stubs.
21736ec2 1731 (machopic_indirect_data_reference): Rework for direct conditionals
fee3eacd
IS
1732 rather than #ifdefs, add x86 mdynamic-no-pic
1733 (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
1734 defined value.
1735 (darwin_override_options): Handle mdynamic-no-pic here.
1736 * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
1737 (machopic_lazy_symbol_ptr3_section): New.
1738 (machopic_picsymbol_stub2_section): New.
1739 (machopic_picsymbol_stub3_section): New.
1740 * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
1741 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
1742 (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
1743 Moved common definition from x86 and rs6000.
1744 (MACHO_DYNAMIC_NO_PIC_P): Override value.
1745 (MACHOPIC_INDIRECT): Likewise.
1746 (MACHOPIC_PURE): Likewise.
1747 * config.gcc (x86-darwin-*): Remove darwin.opt.
1748
f6f2ca8f
JJ
17492010-11-02 Jakub Jelinek <jakub@redhat.com>
1750
1751 PR debug/46255
1752 * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
1753 instead of gsi_last_bb.
1754
9d8477b6
BS
17552010-11-02 Bernd Schmidt <bernds@codesourcery.com>
1756 Maxim Kuvyrkov <maxim@codesourcery.com>
1757
1758 * config/i386/i386.c (cpu_names): Add "corei7".
1759 * config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.
1760
b2b01543
BS
17612010-11-02 Bernd Schmidt <bernds@codesourcery.com>
1762 Maxim Kuvyrkov <maxim@codesourcery.com>
1763
1764 Tune alignment for Intel Core i7
1765
1766 * config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
1767 (enum processor_type): Update comment. Add entries for Core i7.
1768 * config/i386-c.c (ix86_target_macros_internal): Update.
1769 * config/i386.c (m_COREI7{_32,_64}): New macros.
1770 (m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
1771 (processor_target_table): Tune alignment for Core i7.
1772 (ix86_option_override_internal): Use PROCESSOR_COREI7_*.
1773
1774 * doc/invoke.texi: Document "corei7" option value.
1775
2855d9d9
BS
17762010-11-02 Bernd Schmidt <bernds@codesourcery.com>
1777 Maxim Kuvyrkov <maxim@codesourcery.com>
1778 H.J. Lu <hjl.tools@gmail.com>
1779
1780 Basic support for Intel Core i7
1781
1782 * i386.c (ix86_option_override_internal): Add entry for corei7, use
1783 generic tuning. Use generic32 when compiling for 32-bit ABI.
1784
de4df14c
IS
17852010-11-02 Iain Sandoe <iains@gcc.gnu.org>
1786
1787 * config/darwin.c (darwin_asm_named_section): Check for __DWARF
1788 sections and call darwin_asm_dwarf_section() to handle them.
1789 (darwin_asm_dwarf_section): New.
1790 (darwin_file_start): Remove code emitting dwarf section symbols.
1791
ba4debed 17922010-11-02 Chung-Lin Tang <cltang@codesourcery.com>
47afeed5
CLT
1793
1794 * Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
1795 explicitly disable stack protection when building libgcc.
1796 (CRTSTUFF_CFLAGS): Same, for crtbegin/end.
1797
7bf8ca76
JM
17982010-11-01 Jason Merrill <jason@redhat.com>
1799
1800 * fold-const.c (fold_indirect_ref_1): Handle folding
1801 POINTER_PLUS_EXPR to ARRAY_REF.
1802
90833f7f
KK
18032010-11-01 Kaz Kojima <kkojima@gcc.gnu.org>
1804
1805 * config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
1806 (sh_delegitimize_address): New function.
1807
baf3ead6
JM
18082010-11-01 Joseph Myers <joseph@codesourcery.com>
1809
1810 * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
1811 * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
1812 (CC1_SPEC): Don't handle -target.
1813 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
1814 options.
1815 * config/darwin.opt (Zallowable_client, Zbundle_loader,
1816 Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
1817 Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
1818 Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
1819 Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
1820 Zweak_reference_mismatches, client_name, compatibility_version,
1821 current_version, dylinker_install_name, pagezero_size,
1822 read_only_relocs, seg1addr, segs_read_only_addr,
1823 segs_read_write_addr, sub_library, sub_umbrella): New.
1824 * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
1825 * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
1826 * config/freebsd.opt: New.
1827 * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
1828 * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
1829 * config/rpath.opt: New.
1830 * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
1831 (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
1832 Use rpath.opt.
1833
6d721f67
JM
18342010-11-01 Joseph Myers <joseph@codesourcery.com>
1835
1836 * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
1837 * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
1838 (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
1839 * doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
1840 (WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
1841 Document that options in .opt files do not need to be included.
1842 * doc/tm.texi: Regenerate.
1843 * gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
1844 * opts-common.c: Update comment on tm.h include.
1845 (decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
1846 * system.h (SWITCH_TAKES_ARG): Poison.
1847 * config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
1848 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
1849 in darwin.opt.
1850 (LINK_COMMAND_SPEC_A): Don't include %{x}.
21736ec2 1851 * config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6d721f67
JM
1852 * config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
1853 * config/freebsd.h (SWITCH_TAKES_ARG): Remove.
21736ec2 1854 * config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6d721f67
JM
1855 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
1856 * config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
21736ec2 1857 * config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options.
6d721f67 1858 * config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
21736ec2 1859 * config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6d721f67
JM
1860 * config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
1861 * config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
1862 * config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
1863 * config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
1864 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
1865 * config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
1866 * config/openbsd.h (SWITCH_TAKES_ARG): Remove.
1867 * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
1868 * config/score/score.h (SWITCH_TAKES_ARG): Remove.
1869 * config/sol2.h (SWITCH_TAKES_ARG): Remove.
1870 * config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
1871 * config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
1872 * config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
1873 * config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
1874
63caf8bb
PK
18752010-11-01 Paul Koning <ni1d@arrl.net>
1876
1877 * config/pdp11/pdp11.md: Use iterators.
21736ec2
UB
1878 (addqi3, subqi3, iorsi3, xorsi3): Delete.
1879
7894073c
SE
18802010-11-01 Steve Ellcey <sje@cup.hp.com>
1881
1882 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
1883 GCC_INSN_FLAGS_H.
1884 * libgcov.c (__gcov_indirect_call_profiler): Set
1885 VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
1886 defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
1887
e7e9eb2f
NF
18882010-11-01 Nathan Froyd <froydnj@codesourcery.com>
1889
1890 PR tree-optimization/46259
1891
1892 Revert:
e7e9eb2f 1893 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
e7e9eb2f
NF
1894 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
1895 build_vector_from_val.
1896
d0d7f522
DD
18972010-11-01 DJ Delorie <dj@redhat.com>
1898
1899 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610
1900 as well as an assertion.
1901
c6d3802a
PK
19022010-11-01 Paul Koning <ni1d@arrl.net>
1903
1904 * config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
1905 complex modes in memory.
1906
eb8e7cb1
NF
19072010-11-01 Nathan Froyd <froydnj@codesourcery.com>
1908
1909 * tree.c (build_vector_from_val): Use useless_type_conversion_p.
1910
cfd8c4b1
JJ
19112010-11-01 Jakub Jelinek <jakub@redhat.com>
1912
1913 PR target/45250
1914 * var-tracking.c (cfa_base_rtx): Move definition earlier in the file.
1915 (cfa_base_offset): New variable.
1916 (compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset.
1917 (adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx
1918 is NULL.
1919 (vt_init_cfa_base): Initialize cfa_base_offset.
1920
942c9c07
AM
19212010-11-01 Alan Modra <amodra@gmail.com>
1922
1923 PR target/46030
1924 * config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
1925 and savres_strategy.
1926 (stack_info): New file scope var.
1927 (rs6000_init_machine_status): Init stack_info.
1928 (SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
1929 SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
1930 SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
1931 (SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
1932 SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
1933 REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this. Update all refs.
1934 (rs6000_savres_strategy): Rewrite.
1935 (rs6000_stack_info): Use "stack_info" in place of local "info".
1936 Return cached stack info when reload_completed unless ENABLE_CHECKING
1937 in which case confirm newly calculated stack info matches old info.
1938 Delay calculation of lr_save_p, set it for out of line gp save/restore
1939 as well as fp. Call rs6000_savres_strategy from here..
1940 (rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
1941 (rs6000_output_function_prologue): Use info->savres_strategy to
1942 determine whether fp save/restore externs need to be emitted.
1943
ec52b111
JM
19442010-10-31 Jason Merrill <jason@redhat.com>
1945
1946 * tree.h (EXPR_LOC_OR_HERE): New macro.
1947 * builtins.c (c_strlen): Use it.
1948 * c-decl.c (build_enumerator): Likewise.
1949 * gimplify.c (internal_get_tmp_var): Likewise.
1950 (shortcut_cond_expr): Likewise.
1951 (gimplify_one_sizepos): Likewise.
1952
f81c9774
RH
19532010-10-31 Richard Henderson <rth@redhat.com>
1954
1955 * config/i386/cygming.h (TARGET_SEH): New.
1956 (MAX_STACK_ALIGNMENT): New. Disable alignment for SEH.
1957 (TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
1958 TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
1959 (TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
1960 (ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
1961 (ASM_DECLARE_FUNCTION_SIZE): New.
1962 * config/i386/i386-protos.h: Update.
1963 * config/i386/i386.c (ix86_option_override_internal): Enable
1964 flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
1965 restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
1966 (ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
1967 (ix86_compute_frame_layout): For SEH, disable
1968 use_fast_prologue_epilogue, move frame pointer to the end of
1969 the frame. Initialize hfp_save_offset.
1970 (ix86_expand_prologue): Honor hfp_save_offset. Emit blockage
1971 at end of prologue for SEH.
1972 (ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
1973 emit blockage at beginning of epilogue.
1974 (ix86_expand_binary_operator): After reload, emit LEA if needed.
1975 (ix86_output_call_insn): New.
1976 * config/i386/i386.h (TARGET_SEH): New.
1977 (struct machine_function): Add member seh.
1978 * config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
1979 * config/i386/winnt.c (struct seh_frame_state): New.
1980 (i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
1981 seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
1982 seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
1983 i386_pe_start_function, i386_pe_end_function): New.
1984
1985 * dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
1986 as CFA_STORE in rules 12 and 13.
1987
0502fb85
UB
19882010-10-31 Uros Bizjak <ubizjak@gmail.com>
1989
1990 PR tree-optimization/46142
1991 * tree-vect-stmts.c (vectorizable_call): Enlarge dt array to
1992 accommodate third function argument.
1993
8e8e423f
NF
19942010-10-30 Nathan Froyd <froydnj@codesourcery.com>
1995
1996 * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
1997
b9acc9f1
NF
19982010-10-30 Nathan Froyd <froydnj@codesourcery.com>
1999
2000 * fold-const.c (build_zero_vector): Use build_vector_from_val.
2001 * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
2002 (get_initial_def_for_reduction): Likewise.
2003 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
2004 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
2005 * tree.c (build_one_cst): Likewise.
2006 (build_vector_from_val): Use types_compatible_p for assert.
2007
76369a82
NF
20082010-10-30 Nathan Froyd <froydnj@codesourcery.com>
2009
2010 * emit-rtl.c (mark_used_flags): New function.
2011 (set_used_flags, reset_used_flags): Call it.
2012
695ae295
UB
20132010-10-30 Uros Bizjak <ubizjak@gmail.com>
2014
2015 PR middle-end/44569
2016 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
2017 determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
2018
31278489
L
20192010-10-30 H.J. Lu <hongjiu.lu@intel.com>
2020
2021 PR target/46195
2022 * config/i386/i386.c (contains_aligned_value_p): Renamed to ...
2023 (ix86_compat_aligned_value_p): This.
2024 (ix86_old_function_arg_boundary): Renamed to ...
2025 (ix86_compat_function_arg_boundary): This. Updated.
2026 (ix86_contains_aligned_value_p): New.
2027 (ix86_function_arg_boundary): Align long double parameters on
2028 stack to 4byte in 32bit.
2029
46a88c12
NP
20302010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
2031
2032 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2033 * c-parser.c (c_parser_objc_at_property_declaration): Removed
2034 parsing of RID_COPIES and RID_IVAR. Updated call to
2035 objc_add_property_declaration.
2036 * c-typecheck.c (build_component_ref): Call
2037 objc_maybe_build_component_ref instead of objc_build_setter_call.
2038 Use objc_is_property_ref to improve Objective-C checks.
2039 (cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
2040 of objc_build_getter_call.
2041
6f7b223b
PK
20422010-10-29 Paul Koning <ni1d@arrl.net>
2043
2044 * doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
2045 REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P,
2046 REGNO_OK_FOR_INDEX_P): Delete non-strict variant.
2047 (REG_OK_STRICT): Move description.
2048
396acafd
PK
20492010-10-29 Paul Koning <ni1d@arrl.net>
2050
2051 * config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
2052
8f808fc2
PK
20532010-10-29 Paul Koning <ni1d@arrl.net>
2054
2055 * config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
2056
9546fe6a
PK
20572010-10-29 Paul Koning <ni1d@arrl.net>
2058
2059 PR/41822
2060 * config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.
2061
f802f27b
RH
20622010-10-29 Richard Henderson <rth@redhat.com>
2063
2064 PR rtl-opt/46226
2065 * stmt.c (expand_asm_operands): Call do_pending_stack_adjust
2066 for asm goto.
2067
a9c64fcc
PK
20682010-10-29 Paul Koning <ni1d@arrl.net>
2069
2070 * config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
2071 register to register move.
2072
c153355f
PK
20732010-10-29 Paul Koning <ni1d@arrl.net>
2074
2075 * config/pdp11/pdp11.c (print_operand_address): Correct handling
2076 of integer constant addresses, delete vax-only logic.
2077
a6e78d3b
HS
20782010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
2079
2080 * config/picochip/picochip.c (picochip_is_short_branch): Simplify
2081 a conditional expression.
2082
ed8eb563
PK
20832010-10-29 Paul Koning <ni1d@arrl.net>
2084
2085 * config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
2086 instruction encoding.
2087
ba4debed
EB
20882010-10-29 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2089 Andrew Pinski <pinskia@gmail.com>
f87bd04b
AS
2090
2091 * tree.h (build_vector_from_val): Declare.
2092 * tree.c (build_vector_from_val): New function.
2093 * c-typeck.c (build_binary_op): Handle vector shifting.
2094 * doc/extend.texi: Description of the vector shifting operation.
2095
a01c666c
PK
20962010-10-29 Paul Koning <pkoning@equallogic.com>
2097
2098 * config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
2099 pdp11_secondary_memory_needed): Declare.
2100 * config/pdp11/predicates.md (float_operand): New predicate.
2101 * config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
2102 (cbranchdf4, movdf): Change predicate.
2103 (movsf): Handle FPU register case.
2104 (truncdfsf2, extendsfdf2): Add FPU register case.
2105 * config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
2106 TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
2107 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2108 (pdp11_register_move_cost): Update cost matrix.
2109 (pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
2110 pdp11_preferred_output_reload_class, pdp11_secondary_reload,
2111 pdp11_secondary_memory_needed): New function.
2112 (pdp11_return_in_memory): Add other float types.
695ae295 2113 * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float types.
a01c666c
PK
2114 (SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
2115 (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
2116 REGISTER_MOVE_COST): Delete.
2117 (BASE_RETURN_VALUE_REG): Add other float types.
2118
ba4debed 21192010-10-29 Nick Clifton <nickc@redhat.com>
f3f63737
NC
2120
2121 * doc/invoke.texi: Document -mam34 and -mtune options.
2122 * config/mn10300/mn10300.c (mn10300_tune_string): New variable.
2123 (mn10300_tune_cpu): New variable.
2124 (mn10300_handle_option): Handle -mam34 and -mtune options.
695ae295 2125 (mn10300_option_override): Convert tune string into tune cpu variable.
f3f63737
NC
2126 (mn10300_legitimate_constant_p): Delete unused local variable.
2127 (is_load_insn): New function.
2128 (is_store_insn): New function.
2129 (mn10300_adjust_schedule_cost): New function.
2130 (TARGET_SCHED_ADJUST_COST): Define.
2131 * config/mn10300/mn10300.opt (mam34): New option.
2132 (mtune): New option.
695ae295 2133 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34 support.
f3f63737
NC
2134 (enum processor_type): Add AM34.
2135 (TARGET_AM34): Define.
2136 * config/mn10300/mn10300.md (attr cpu): Add am34.
2137 Add pipeline description.
695ae295
UB
2138 (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates.
2139 Remove unneeded alternatives. Add timing attribute.
f3f63737
NC
2140 (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
2141 mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
2142 mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
2143 mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
2144 mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
2145 bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
2146 bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
2147 float_conditional_branch, jump, indirect_jump, tablejump,
2148 call_internal, call_value_internal, zero_extendqisi2_am33,
2149 zero_extendqisi2_mn10300, zero_extendhisi2_am33,
2150 zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
2151 extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
2152 mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
2153 mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
2154 addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
2155 fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
2156 return_internal_regs, store_movm, return, call_next_insn):
2157 Add timing attribute.
2158 (am33_subsi3): Add missing clobber of CC_REG.
2159 (am33_andsi3, mn10300_andsi3): Fix compile time warnings.
2160 (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
2161 subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
2162 extendqisi2): Fix predicates.
2163 (call_internal, call_internal_value): Separate alternatives.
2164 * config/mn10300/t-mn10300: Add AM34 multilib.
2165
8a575d5a
PB
21662010-10-29 Paolo Bonzini <bonzini@gnu.org>
2167
2168 * config/sh/sh.c (sh_promote_function_mode): Use
2169 default_promote_function_mode if !sh_promote_prototypes.
2170
74a28b08
PB
21712010-10-28 Paolo Bonzini <bonzini@gnu.org>
2172
2173 * recog.c (split_all_insns): Remove dead code.
2174
05fda848
NF
21752010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2176
2177 * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2178
73f3f841
NF
21792010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2180
2181 * config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
2182 (FUNCTION_ARG_ADVANCE): Delete.
2183 * config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
2184 functions.
695ae295 2185 (cris_function_incoming_arg, cris_function_arg_advance): New functions.
73f3f841
NF
2186 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
2187 (TARGET_FUNCTION_ARG_ADVANCE): Define.
2188
3acf034c
NF
21892010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2190
2191 * config/lm32/lm32-protos.h (lm32_function_arg): Delete.
2192 * config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2193 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
2194 Take a const_tree and a bool.
2195 (mcore_function_arg_advance): New function.
2196 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2197
4665ac17
NF
21982010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2199
2200 * config/mcore/mcore-protos.h (mcore_function_arg): Delete.
2201 * config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2202 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
2203 Take a const_tree and a bool.
2204 (mcore_function_arg_advance): New function.
2205 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2206
56f9413b
NF
22072010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2208
2209 * config/h8300/h8300-protos.h (function_arg): Delete.
2210 * config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2211 * config/h8300/h8300.c (function_arg): Rename to...
2212 (h8300_function_arg): ...this. Make static. Take a const_tree and
2213 a bool.
2214 (h8300_function_arg_advance): New function.
2215 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2216
66d5ee14
NF
22172010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2218
2219 * config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
2220 to...
2221 * config/arc/arc.c (arc_function_arg): ...here and...
2222 (arc_function_arg_advance): ...here. New functions.
2223 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2224
a6a54b6f
NF
22252010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2226
2227 * config/crx/crx-protos.h (crx_function_arg): Delete.
2228 (crx_function_arg_advance): Delete.
2229 * config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2230 * config/crx/crx.c (crx_function_arg): Make static. Take a
2231 const_tree and a bool.
695ae295 2232 (crx_function_arg_advance): Make static. Take a const_tree and a bool.
a6a54b6f
NF
2233 (enough_regs_for_param): Take a const_tree.
2234 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2235
da15f931
NF
22362010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2237
2238 * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
2239 (m68hc11_function_arg_advance): Delete.
2240 * config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
2241 (FUNCTION_ARG_ADVANCE): Delete.
2242 * config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
2243 Take a const_tree and a bool.
2244 (m68hc11_function_arg_advance): Likewise.
2245 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2246
bf425ddd
NF
22472010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2248
2249 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
2250 (xstormy16_function_arg_advance): Delete.
2251 * config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
2252 (FUNCTION_ARG_ADVANCE): Delete.
2253 * config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
2254 Take a const_tree and a bool.
2255 (xstormy16_function_arg_advance): Likewise. Return void, updating
2256 the CUM parameter instead.
2257 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2258
4c05cbb2
NF
22592010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2260
2261 * config/moxie/moxie-protos.h (moxie_function_arg): Delete.
2262 * config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2263 (MOXIE_FUNCTION_ARG_SIZE): Move to...
2264 * config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
2265 (moxie_function_arg): Make static. Take a const_tree and a bool.
2266 (moxie_function_arg_advance): New function.
2267 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2268
ce236858
NF
22692010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2270
2271 * config/mn10300/mn10300-protos.h (function_arg): Delete.
2272 * config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
2273 (FUNCTION_ARG_ADVANCE): Delete.
2274 * config/mn10300/mn10300.c (function_arg): Rename to...
2275 (mn10300_function_arg): ...this. Make static. Take a const_tree
2276 and a bool.
2277 (mn10300_function_arg_advance): New function.
2278 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2279
24ef86d7
NF
22802010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2281
2282 * config/iq2000/iq2000-protos.h (function_arg): Delete.
2283 (function_arg_advance): Delete.
2284 * config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2285 * config/iq2000/iq2000.c (function_arg): Rename to...
2286 (iq2000_function_arg): ...this. Make static. Take a const_tree and
2287 a bool.
2288 (function_arg_advance): Rename to...
2289 (iq2000_function_arg_advance): ...this. Make static. Take a
2290 const_tree and a bool.
2291 (iq2000_expand_prologue): Call iq2000_function_arg_advance and
2292 iq2000_function_arg.
2293 (iq2000_pass_by_reference): Call iq2000_function_arg).
2294 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2295
b60613c3
NF
22962010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2297
2298 * config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
2299 * config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2300 * config/fr30/fr30.c (fr30_num_arg_regs): Make static. Take a
2301 const_tree.
2302 (fr30_function_arg): New function.
2303 (fr30_function_arg_advance): New function.
2304 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2305
88a1f47f
NF
23062010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2307
2308 * config/frv/frv-protos.h (frv_function_arg): Delete.
2309 (frv_function_arg_advance): Delete.
2310 * config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2311 * config/frv/frv.c (frv_function_arg): Rename to...
695ae295 2312 (frv_function_arg_1): Make static. Take const_tree and bool arguments.
88a1f47f 2313 (frv_function_arg, frv_function_incoming_arg): New functions.
695ae295 2314 (frv_function_arg_advance): Make static. Take a const_tree and a bool.
88a1f47f
NF
2315 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
2316 (TARGET_FUNCTION_ARG_ADVANCE): Define.
2317
f17aa4ad
UB
23182010-10-28 Uros Bizjak <ubizjak@gmail.com>
2319
2320 PR target/46153
2321 * config/i386/sse.md (sse_movhlps_exp): Use destination
2322 returned from ix86_fixup_binary_operands to expand insn.
2323 (sse_movlhps_exp): Ditto.
2324 (sse_loadhps_exp): Ditto.
2325 (sse_loadlps_exp): Ditto.
2326 (sse2_loadhpd_exp): Ditto.
2327 (sse2_loadlpd_exp): Ditto.
f17aa4ad 2328
d724c8f0
AS
23292010-10-28 Andrew Stubbs <ams@codesourcery.com>
2330
2331 * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
2332 constants in thumb2.
2333
c575a65f
EB
23342010-10-28 Eric Botcazou <ebotcazou@adacore.com>
2335
2336 * combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
2337 arithmetics in masking operations.
2338 (contains_muldiv): Likewise.
2339 (try_combine): Likewise.
2340 (find_split_point): Likewise.
2341 (combine_simplify_rtx): Likewise.
2342 (simplify_if_then_else): Likewise.
2343 (simplify_set): Likewise.
2344 (expand_compound_operation): Likewise.
2345 (expand_field_assignment): Likewise.
2346 (make_extraction): Likewise.
2347 (extract_left_shift): Likewise.
2348 (make_compound_operation): Likewise.
2349 (force_to_mode): Likewise.
2350 (make_field_assignment): Likewise.
2351 (reg_nonzero_bits_for_combine): Likewise.
2352 (simplify_shift_const_1): Likewise.
2353 (simplify_comparison): Likewise.
2354
eb93b893
SE
23552010-10-27 Nathan Froyd <froydnj@codesourcery.com>
2356
2357 * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
2358 (ia64_function_arg_advance): Delete.
2359 * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
2360 (FUNCTION_ARG_ADVANCE): Delete.
2361 * config/ia64/ia64.c (ia64_function_arg): Rename to...
2362 (ia64_function_arg_1): ...this. Make static. Take const_tree and
2363 bool arguments.
2364 (ia64_function_arg, ia64_function_incoming_arg): New functions.
2365 (ia64_function_arg_advance): Make static. Take a const_tree and
2366 a bool.
2367 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
2368 (TARGET_FUNCTION_ARG_ADVANCE): Define.
2369
23702010-10-27 Steve Ellcey <sje@cup.hp.com>
2371
2372 * doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
2373 (TARGET_GET_RAW_ARG_MODE): New.
2374 * doc/tm.texi: Regenerate.
2375 * target.def (get_raw_result_mode): New.
2376 (get_raw_arg_mode): New.
2377 * targhooks.c (default_get_reg_raw_mode): New.
2378 * targhooks.h (default_get_reg_raw_mode): New.
2379 * builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
2380 (apply_result_size): Ditto.
2381 * config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
2382 (TARGET_GET_RAW_RESULT_MODE): Define.
2383 (TARGET_GET_RAW_ARG_MODE): Ditto.
2384
4a8f6a63
EB
23852010-10-27 Eric Botcazou <ebotcazou@adacore.com>
2386
2387 * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
2388 for newer Solaris 10 release.
2389 (sparc_fallback_frame_state): Likewise.
2390
22192559
JM
23912010-10-27 Jason Merrill <jason@redhat.com>
2392
2393 * gimplify.c (gimplify_decl_expr): Handle anonymous artificial
2394 variables sooner.
2395
84fabdde
JZ
23962010-10-27 Jie Zhang <jie@codesourcery.com>
2397 Maxim Kuvyrkov <maxim@codesourcery.com>
2398
2399 * haifa-sched.c (ISSUE_POINTS): Remove.
2400 (max_issue): Don't issue more than issue_rate instructions.
2401
9c042d80
ILT
24022010-10-27 Ian Lance Taylor <iant@google.com>
2403
2404 PR target/46197
2405 * config/i386/i386.md (UNSPECV_SPLIT_STACK_RETURN): New.
2406 (split_stack_return): Replace UNSPEC_STACK_CHECK with
2407 UNSPECV_SPLIT_STACK_RETURN.
2408
2767a7f2
L
24092010-10-27 H.J. Lu <hongjiu.lu@intel.com>
2410
2411 * config/i386/i386-protos.h (init_cumulative_args): Add an int.
2412
2413 * config/i386/i386.c (block_info): New.
2414 (BLOCK_INFO): Likewise.
2415 (call_avx256_state): Likewise.
2416 (check_avx256_stores): Likewise.
2417 (move_or_delete_vzeroupper_2): Likewise.
2418 (move_or_delete_vzeroupper_1): Likewise.
2419 (move_or_delete_vzeroupper): Likewise.
2420 (use_avx256_p): Likewise.
2421 (function_pass_avx256_p): Likewise.
2422 (flag_opts): Add -mvzeroupper.
2423 (ix86_option_override_internal): Turn on MASK_VZEROUPPER by
2424 default for TARGET_AVX. Turn off MASK_VZEROUPPER if TARGET_AVX
2425 is disabled.
2426 (ix86_function_ok_for_sibcall): Disable sibcall if we need to
2427 generate vzeroupper.
2428 (init_cumulative_args): Add an int to indicate caller. Set
2429 use_avx256_p, callee_return_avx256_p and caller_use_avx256_p
2430 based on return type.
2431 (ix86_function_arg): Set use_avx256_p, callee_pass_avx256_p and
2432 caller_pass_avx256_p based on argument type.
2433 (ix86_expand_epilogue): Emit vzeroupper if 256bit AVX register
2434 is used, but not returned by caller.
f17aa4ad 2435 (ix86_expand_call): Emit vzeroupper if 256bit AVX register is used.
2767a7f2
L
2436 (ix86_local_alignment): Set use_avx256_p if 256bit AVX register
2437 is used.
2438 (ix86_minimum_alignment): Likewise.
2439 (ix86_expand_special_args_builtin): Set target to
2440 GEN_INT (vzeroupper_intrinsic) for CODE_FOR_avx_vzeroupper.
2441 (ix86_reorg): Run the vzeroupper optimization if needed.
2442
2443 * config/i386/i386.h (ix86_args): Add caller.
2444 (INIT_CUMULATIVE_ARGS): Updated.
2445 (machine_function): Add use_vzeroupper_p, use_avx256_p,
2446 caller_pass_avx256_p, caller_return_avx256_p,
2447 callee_pass_avx256_p and callee_return_avx256_p.
2448
2449 * config/i386/i386.opt (-mvzeroupper): New.
2450
2451 * config/i386/predicates.md (vzeroupper_operation): Removed.
2452
2453 * config/i386/sse.md (avx_vzeroupper): Removed.
2454 (*avx_vzeroupper): Removed.
2455 (avx_vzeroupper): New.
2456
2457 * doc/invoke.texi: Document -mvzeroupper.
2458
22bc122e
EB
24592010-10-27 Eric Botcazou <ebotcazou@adacore.com>
2460
2461 * config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd.
2462 * config/i386/t-mingw-w32 (SHLIB_LC): Likewise.
2463 * config/i386/t-mingw-w64 (SHLIB_LC): Likewise.
2464
5d0d1564 24652010-10-27 Eric Botcazou <ebotcazou@adacore.com>
f17aa4ad 2466 Olivier Hainque <hainque@adacore.com>
5d0d1564
EB
2467
2468 * config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum
2469 of EBP. Do not restore reg #9. Remove +1 adjustment to EIP and set
2470 fs->signal_frame instead.
2471
46a88c12
NP
24722010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2473
2474 * c-parser.c (cp_parser_objc_at_property_declaration): Removed
2475 parsing of RID_COPIES and RID_IVAR.
2476
200290f2
NP
24772010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2478
2479 * c-parser.c (c_parser_objc_at_property_declaration): Recognize
2480 RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC.
2481 Do not use objc_set_property_attr, but use local variables
2482 instead. Detect repeated usage of setter, getter and ivar
2483 attributes. Improved error processing when a setter name does not
2484 end in ':'. Do not check for CPP_CLOSE_PAREN after we determined
2485 that the token is a keyword. Updated call to
2486 objc_add_property_declaration.
2487
f614132b
NP
24882010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2489
2490 * c-parser.c (c_parser_objc_at_property): Renamed to
2491 c_parser_objc_at_property_declaration. Updated calls to
2492 objc_add_property_variable, now objc_add_property_declaration.
2493 Code rewritten to be much more robust in recovering from syntax
2494 errors. Added comments.
2495 (c_parser_objc_property_attrlist): Removed.
2496 (c_parser_external_declaration): Updated calls to
2497 c_parser_objc_at_property, now
2498 c_parser_objc_at_property_declaration.
2499 (c_parser_objc_methodprotolist): Same change.
f17aa4ad 2500
3e1484c9
L
25012010-10-26 H.J. Lu <hongjiu.lu@intel.com>
2502
f17aa4ad 2503 * config/i386/i386.md (split_stack_return): Put back unspec_volatile.
3e1484c9 2504
d5fae457
JH
25052010-10-26 Jan Hubicka <jh@suse.cz>
2506
2507 * ipa.c (process_references): Enqueue all referenced nodes;
2508 mark as reachable only non-external nodes.
2509 (cgraph_remove_unreachable_nodes): All referenced nodes should
2510 be enqueued; remove bogues node->needed check.
2511
ed62e0d9
JH
25122010-10-26 Jan Hubicka <jh@suse.cz>
2513
f17aa4ad
UB
2514 * cgraphbuild.c (build_cgraph_edges): Use ipa-reference
2515 to represent OMP.
ed62e0d9 2516
74288524
L
25172010-10-26 H.J. Lu <hongjiu.lu@intel.com>
2518
2519 * config/i386/i386.md (split_stack_return): Replace
2520 unspec_volatile with unspec.
2521
d47abcca
JW
25222010-10-26 Jonathan Wakely <jwakely.gcc@gmail.com>
2523
2524 * doc/install.texi: Fix typo in --with-sysroot description.
2525
892ae21c
JH
25262010-10-26 Jan Hubicka <jh@suse.cz>
2527
2528 * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p):
2529 Use info provided by linker plugin.
2530
73c982bc
JM
25312010-10-26 Jason Merrill <jason@redhat.com>
2532
2533 * varasm.c (constructor_static_from_elts_p): Don't require a
2534 CONSTRUCTOR to have elements to be suitable for static
2535 initialization. Allow ARRAY_TYPE as well.
2536
530f3a1b
JH
25372010-10-26 Jan Hubicka <jh@suse.cz>
2538
2539 PR middle-end/45736
2540 * cgraph.c (cgraph_set_readonly_flag): Rename to...
2541 (cgraph_set_const_flags) ... this one; get also looping argument;
2542 clear constructor/destructor flags.
2543 (cgraph_set_pure_flag): Likewise.
2544 (cgraph_set_looping_const_or_pure_flag): Remove.
2545 (cgraph_can_remove_if_no_direct_calls_and_refs): Do not try
2546 to optimize away static ctors/dtors; it does not work on inline clones;
2547 external functions can always be rmeoved.
f17aa4ad
UB
2548 (cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on
2549 inline clones; in LTO external functions always can go.
530f3a1b 2550 (cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly.
f17aa4ad
UB
2551 (cgraph_mark_address_taken_node): Assert that we are not taking
2552 address of inline clone.
530f3a1b
JH
2553 (cgraph_can_remove_if_no_direct_calls_p): We always eventually remove
2554 external functions.
f17aa4ad
UB
2555 * ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with
2556 address taken.
2557 (ipcp_initialize_node_lattices): Only local functions can be
2558 handled without cloning.
530f3a1b
JH
2559 * cgraph.h (cgraph_set_readonly_flag,
2560 cgraph_set_looping_const_or_pure_flag): Remove.
2561 (cgraph_set_const_flag): Declare.
2562 (cgraph_set_pure_flag): Update.
2563 * ipa-pure-const (propagate_pure_const, local_pure_const): Update
2564 flags setting code.
f17aa4ad
UB
2565 * ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not
2566 look at inline clones; fix handling of external definitions.
530f3a1b
JH
2567 (cgraph_postorder): Do not look at inline clones in the first pass.
2568 (function_and_variable_visibility): Drop constructors/destructor
2569 flags at pure and const functions.
2570 * tree-profile.c (tree_profiling): Update.
2571 * ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with
2572 address taken; external functions do not account to whole program size.
f17aa4ad
UB
2573 (cgraph_decide_inlining): Likewise; do not try to inline
2574 functions already inlined.
530f3a1b 2575
0d600fce
JZ
25762010-10-26 Jie Zhang <jie@codesourcery.com>
2577
2578 * doc/invoke.texi: Improve documentation of
2579 -fstrict-volatile-bitfields.
2580
75264e61
IR
25812010-10-26 Ira Rosen <irar@il.ibm.com>
2582
2583 PR tree-optimization/46167
2584 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there
2585 is basic block for the statement.
2586
6e2f8c15
PK
25872010-10-26 Paul Koning <ni1d@arrl.net>
2588
2589 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
2590 current definition of struct_real_format.
2591
f28e93a8
L
25922010-10-26 H.J. Lu <hongjiu.lu@intel.com>
2593
2594 PR target/44948
2595 * config/i386/i386.c (ix86_old_function_arg_boundary): New.
2596 (ix86_function_arg_boundary): Always align parameters on stack
f17aa4ad 2597 in 64bit and align parameters with alignment >= 16byte on stack
f28e93a8
L
2598 in 32bit. Warn alignment change.
2599
76d8a30a
ILT
26002010-10-26 Ian Lance Taylor <iant@google.com>
2601
2602 PR middle-end/45687
2603 * ipa-prop.c (ipa_modify_call_arguments): Correct type of MEM_REF
2604 offset.
2605
f17aa4ad 26062010-10-25 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
90ecaf87
RRC
2607
2608 Implement opaque-enum-specifiesr for C++0x
2609 * tree.h (ENUM_IS_OPAQUE): New.
2610 * dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE.
2611
f5c88dbf
JZ
26122010-10-26 Jie Zhang <jie@codesourcery.com>
2613
2614 * stor-layout.c (layout_decl): Use the field's type to
f17aa4ad 2615 determine the mode and keep DECL_BIT_FIELD for a volatile bit-field.
f5c88dbf
JZ
2616 * config/arm/arm.c (arm_override_options): Default to
2617 -fstrict-volatile-bitfields.
2618
7021d5df
PK
26192010-10-25 Paul Koning <ni1d@arrl.net>
2620
2621 * config/pdp11/pdp11.md: Add define_constants for register
2622 numbers, branch offset limits.
2623 * config/pdp11/pdp11.c: Use named constants instead of numbers.
2624 * config/pdp11.pdp11.h: Ditto.
2625
7fa2619a
EB
26262010-10-25 Eric Botcazou <ebotcazou@adacore.com>
2627
2628 * configure.ac: Use $cpu_type instead of $target to define the nop.
2629 * configure: Regenerate.
2630
8150f05c
JZ
26312010-10-25 Jie Zhang <jie@codesourcery.com>
2632
7fa2619a
EB
2633 * combine.c (try_combine): If insns need to be kept around, check that
2634 they can be copied in the merged instruction.
8150f05c 2635
12929514
EB
26362010-10-24 Eric Botcazou <ebotcazou@adacore.com>
2637
2638 * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
2639 has been modified.
2640 (convert_regs_2): Likewise. Adjust calls to convert_regs_1.
2641 (convert_regs): Adjust calls to convert_regs_2. Clean up the CFG if
2642 it has been modified.
2643
0e7e1527
EB
26442010-10-24 Eric Botcazou <ebotcazou@adacore.com>
2645
2646 * config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
2647
0f237806
PK
26482010-10-24 Paul Koning <ni1d@arrl.net>
2649
2650 * config/pdp11/pdp11.md: Change length attribute to be in bytes.
2651 * config/pdp11/pdp11.c (output_jump): Ditto.
2652
40d398e0
ILT
26532010-10-24 Ian Lance Taylor <iant@google.com>
2654
f17aa4ad 2655 * config/i386/i386.c (ix86_va_start): Remove extraneous blank line.
40d398e0 2656
4cce988e
EB
26572010-10-24 Eric Botcazou <ebotcazou@adacore.com>
2658
2659 * cfglayout.c (fixup_reorder_chain): When ensuring that there is at
2660 least one insn with a locus corresponding to an edge's goto_locus,
2661 disregard non-fallthru edges to the exit block and merge the blocks
2662 created for the same goto_locus.
2663
efe5e5a0
JM
26642010-10-23 Joseph Myers <joseph@codesourcery.com>
2665
2666 * gcc.c (n_switches_alloc_debug_check): New.
2667 (set_option_handlers): New.
2668 (process_command): Use set_option_handlers.
f17aa4ad 2669 (do_self_spec): Pass spec-generated options through option handlers.
efe5e5a0
JM
2670 (main): Also save and restore n_switches_alloc when swapping
2671 switch arrays.
2672
487a9a3e
RH
26732010-10-23 Richard Henderson <rth@redhat.com>
2674
2675 PR target/46144
2676 * config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New.
2677 (*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2.
2678 Honor matching operands when splitting to XOR.
2679
0e1b8b10
ILT
26802010-10-23 Ian Lance Taylor <iant@google.com>
2681
2682 * tree-vrp.c (extract_range_from_binary_expr): If
2683 flag_non_call_exceptions don't eliminate division by zero.
2684 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
2685
18ed6ee4
NF
26862010-10-23 Nathan Froyd <froydnj@codesourcery.com>
2687
2688 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
2689 __BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
2690 __ORDER_PDP_ENDIAN__.
2691 * libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2692 (struct DWstruct): Define based on __BYTE_ORDER__.
2693 * config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2694 (struct INTstruct): Define based on __BYTE_ORDER__.
2695 * config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2696 (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
2697 * system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
2698 * config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2699 * config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2700 * config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2701 * config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2702 * config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2703 * config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2704 * config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2705 * config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2706 * config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2707 * config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2708 * config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2709 * config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2710 * config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2711 * config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2712 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2713 * doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
2714 * doc/tm.texi: Regenerate.
2715 * doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
2716 (__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
2717
646e6f41
JZ
27182010-10-23 Jie Zhang <jie@codesourcery.com>
2719
2720 PR rtl-optimization/37360
2721 * config/mips/mips.c (cached_can_issue_more): New local variable.
2722 (mips_sched_reorder_1): New.
2723 (mips_sched_reorder): Use mips_sched_reorder_1.
2724 (mips_sched_reorder2): New.
2725 (mips_variable_issue): Set cached_can_issue_more.
2726 (TARGET_SCHED_REORDER2): Define to mips_sched_reorder2
2727 instead of mips_sched_reorder.
2728
f17aa4ad 2729 Revert:
646e6f41
JZ
2730 2008-09-09 Andrey Belevantsev <abel@ispras.ru>
2731 PR rtl-optimization/37360
2732 * haifa-sched.c (max_issue): Do not assert that we never issue more
2733 insns than issue_rate. Add comment.
2734
692ad9aa
EB
27352010-10-22 Eric Botcazou <ebotcazou@adacore.com>
2736
2737 * gimplify.c (gimplify_variable_sized_compare): Preserve the source
2738 location info of the expression.
2739
5fd5d713
DD
27402010-10-22 DJ Delorie <dj@redhat.com>
2741
b3f85ff2
DD
2742 * doc/extend.texi (Named Address Spaces): Document the M32C named
2743 address space.
2744
5fd5d713
DD
2745 * config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
2746 __far address space.
2747 * config/m32c/m32c.h (ADDR_SPACE_FAR): New. Add support for
2748 "__far" address space for R8C and M16C processor variants.
2749 * config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New.
2750 (far_addr_space_p): New.
2751 (encode_pattern_1): Add sign and zero extend support.
2752 (m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode.
2753 (m32c_extra_constraint_p2): Add SF constraint.
2754 (m32c_legitimate_address_p): Support __far addresses.
2755 (m32c_addr_space_pointer_mode): New.
2756 (m32c_addr_space_address_mode): New.
2757 (m32c_addr_space_legitimate_address_p): New.
2758 (m32c_addr_space_legitimize_address): New.
2759 (m32c_addr_space_subset_p): New.
2760 (m32c_addr_space_convert): New.
2761 (conversions): Add __far operand patterns.
f17aa4ad 2762 (m32c_prepare_move): Force constants into registers for __far moves.
5fd5d713
DD
2763 (m32c_split_move): __far moves are always split.
2764 * config/m32c/addsub.md (addsi3_1): Support SImode symbols.
2765 * config/m32c/mov.md (mov<mode>_far_op1): New.
2766 (mov<mode>_far_op2): New.
2767 (movqi_op): Add __far (SF) support.
2768 (movhi_op): Likewise.
2769 (movsi_splittable): Split A1A0 also.
2770
f17aa4ad
UB
27712010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2772 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
2773
2774 * c-typeck.c (build_array_ref): Handle subscripting of vectors.
2775 * doc/extend.texi: New paragraph
2776
5c958bda
PK
27772010-10-22 Paul Koning <ni1d@arrl.net>
2778
2779 * config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
2780
f6bac694
DD
27812010-10-22 DJ Delorie <dj@redhat.com>
2782
2783 * config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
2784
4d1bc60a
PK
27852010-10-22 Paul Koning <ni1d@arrl.net>
2786
2787 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
2788
834d5dce
RH
27892010-10-22 Richard Henderson <rth@redhat.com>
2790
2791 * config/i386/i386.c (ix86_builtin_vectorized_function): Add
2792 cases for __builtin_fma and __builtin_fmaf.
2793
7a12785c
RH
27942010-10-22 Richard Henderson <rth@redhat.com>
2795
2796 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Produce
2797 NEG+USE for vectors as well.
2798 * config/i386/i386.md (*absneg<VEC_FLOAT_MODE>2): New pattern
2799 and splitter.
2800
c3fb2eb4
JM
28012010-10-22 Joseph Myers <joseph@codesourcery.com>
2802
2803 * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
2804 SWITCH_CURTAILS_COMPILATION): Remove.
f17aa4ad 2805 * doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove documentation.
c3fb2eb4
JM
2806 * doc/tm.texi: Regenerate.
2807 * system.h (SWITCH_CURTAILS_COMPILATION): Poison.
2808
6a08ffca
CF
28092010-10-22 Changpeng Fang <changpeng.fang@amd.com>
2810
4d138338
CF
2811 * config/i386/bdver1.md: New file.
2812 * config/i386/i386.md (include "bdver1.md"): Invoke the
6a08ffca
CF
2813 pipeline description for bdver1.
2814 (x86_sahf_1): Add "bdver1_decode" attribute.
2815 (*cmpfp_i_mixed): Likewise.
2816 (*cmpfp_i_sse): Likewise.
2817 (*cmpfp_i_i387): Likewise.
2818 (*cmpfp_iu_mixed): Likewise.
2819 (*cmpfp_iu_sse): Likewise.
2820 (*cmpfp_iu_387): Likewise.
2821 (*swap<mode>,*swap<mode>_1): Likewise.
2822 (fixuns_trunc<mode>hi2): Likewise.
2823 (fix_trunc<mode>si_sse): Likewise.
2824 (x86_fnstcw_1): Likewise.
2825 (x86_fldcw_1): Likewise.
2826 (*floatsi<mode>2_vector_mixed_with_temp): Likewise.
2827 (*floatsi<mode>2_vector_mixed): Likewise.
2828 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise.
2829 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
2830 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
2831 (*floatsi<mode>2_vector_sse_with_temp): Likewise.
2832 (*floatsi<mode>2_vector_sse): Likewise.
2833 (*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise.
2834 (*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
2835 (*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
2836 (*mul<mode>3_1): Likewise.
2837 (*mulsi3_1_zext): Likewise.
2838 (*mulhi3_1): Likewise.
2839 (*mulqi3_1): Likewise.
2840 (*<u>mul<mode><dwi>3_1): Likewise.
2841 (*<u>mulqihi3_1): Likewise.
2842 (*<s>muldi3_highpart_1): Likewise.
2843 (*<s>mulsi3_highpart_1): Likewise.
2844 (*<s>mulsi3_highpart_zext): Likewise.
2845 (x86_64_shld): Likewise.
2846 (x86_shld): Likewise.
2847 (x86_64_shrd): Likewise.
2848 (x86_shrd): Likewise.
2849 (sqrtxf2): Likewise.
2850 (sqrt_extend<mode>xf2_i387): Likewise.
2851 (*sqrt<mode>2_sse): Likewise.
4d138338 2852 * config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute.
6a08ffca
CF
2853 (sse_cvtsi2ssq): Likewise.
2854 (sse_cvtss2si): Likewise.
2855 (sse_cvtss2si_2): Likewise.
2856 (sse_cvtss2siq): Likewise.
2857 (sse_cvtss2siq_2): Likewise.
2858 (sse_cvttss2si): Likewise.
2859 (sse_cvttss2siq): Likewise.
2860 (sse2_cvtpi2pd): Likewise.
2861 (sse2_cvttpd2pi): Likewise.
2862 (sse2_cvtsi2sd): Likewise.
2863 (sse2_cvtsi2sdq): Likewise.
2864 (sse2_cvtsd2si): Likewise.
2865 (sse2_cvtsd2si_2): Likewise.
2866 (sse2_cvtsd2siq): Likewise.
2867 (sse2_cvtsd2siq_2): Likewise.
2868 (sse2_cvttsd2si): Likewise.
2869 (sse2_cvttsd2siq): Likewise.
2870 (*sse2_cvtpd2dq): Likewise.
2871 (*sse2_cvttpd2dq): Likewise.
2872 (sse2_cvtsd2ss): Likewise.
2873 (sse2_cvtss2sd): Likewise.
2874 (*sse2_cvtpd2ps): Likewise.
2875 (sse2_cvtps2pd): Likewise.
2876
07db7d35
RG
28772010-10-22 Richard Guenther <rguenther@suse.de>
2878
2879 PR middle-end/46137
2880 * gimple-fold.c (gimplify_and_update_call_from_tree): Properly
2881 remove the virtual operands if they are not needed.
2882
d8c801fd
CF
28832010-10-22 Changpeng Fang <changpeng.fang@amd.com>
2884
4d138338 2885 * config/i386/i386.c (processor_costs bdver1_cost): Update
d8c801fd
CF
2886 insn costs and architectural parameters for bdver1.
2887
4490cae6
RG
28882010-10-22 Richard Guenther <rguenther@suse.de>
2889
2890 * gimple.h (gimple_register_canonical_type): Declare.
2891 * gimple.c (gimple_canonical_types): New global hashtable.
2892 (struct gimple_type_leader_entry_s): New type.
2893 (gimple_type_leader): New global cache.
2894 (gimple_lookup_type_leader): New function.
2895 (gtc_visit): Query the proper cache.
2896 (gimple_types_compatible_p): Likewise.
2897 (gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
2898 (gimple_canonical_type_eq): New function.
2899 (gimple_register_canonical_type): Likewise.
2900 (print_gimple_types_stats): Adjust for gimple_canonical_types.
2901 (free_gimple_type_tables): Likewise. Free gimple_type_leader.
2902 * tree-ssa.c (useless_type_conversion_p): Do not dispatch to
2903 gimple_types_compatible_p for LTO.
2904
5ab2c5cb
UB
29052010-10-22 Uros Bizjak <ubizjak@gmail.com>
2906
2907 PR target/46098
2908 * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
2909 Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
2910 (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
2911 (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
2912 (<sse>_movu<ssemodesuffix>): New expander.
2913 (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
2914 (avx_movdqu<avxmodesuffix>): New expander.
2915 (*sse2_movdqu): Rename from sse2_movdqu.
2916 (sse2_movdqu): New expander.
2917
d8ba5b19
RG
29182010-10-22 Richard Guenther <rguenther@suse.de>
2919
2920 PR tree-optimization/45720
2921 * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
2922 Handle negative step.
2923 (vect_enhance_data_refs_alignment): Likewise.
2924 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise.
2925 (vect_create_cond_for_align_checks): Likewise.
2926 (vect_create_cond_for_alias_checks): Likewise.
2927
57416708
IR
29282010-10-22 Ira Rosen <irar@il.ibm.com>
2929
2930 PR tree-optimization/46126
2931 * tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
2932 vectorizable_shift in case of basic block vectorization.
2933
3020190e
JM
29342010-10-22 Joseph Myers <joseph@codesourcery.com>
2935
2936 * target.h (enum opt_levels, struct default_options): New.
2937 * target.def (handle_ofast): Remove hook.
2938 (target_option.optimization): Change to
2939 target_option.optimization_table.
2940 * doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
2941 TARGET_OPTION_OPTIMIZATION_TABLE.
2942 (CAN_DEBUG_WITHOUT_FP): Remove.
2943 * doc/tm.texi: Regenerate.
2944 * opts.c (maybe_default_option, maybe_default_options,
2945 default_options_table): New.
2946 (default_options_optimization): Take extra parameters. Don't
2947 assert that global_options and global_options_set are in use. Use
2948 maybe_default_options.
2949 (decode_options): Pass extra parameters to
2950 default_options_optimization.
2951 * common.opt (falign-loops): Use value 0 with Var.
2952 (frerun-cse-after-loop, ftree-ter): Remove Init.
2953 * system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
2954 TARGET_OPTION_OPTIMIZATION): Remove.
2955 * targhooks.c (empty_optimization_table): New.
2956 * targhooks.h (empty_optimization_table): Declare.
2957 * toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
2958 * config/alpha/alpha.c (alpha_option_optimization_table,
2959 TARGET_OPTION_OPTIMIZATION_TABLE): New.
2960 * config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
2961 * config/arm/arm.c (arm_option_optimization: Change to
2962 arm_option_optimization_table.
2963 (TARGET_OPTION_OPTIMIZATION): Change to
2964 TARGET_OPTION_OPTIMIZATION_TABLE.
2965 * config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
2966 * config/avr/avr.c (avr_option_optimization_table,
2967 TARGET_OPTION_OPTIMIZATION_TABLE): New.
2968 * config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
2969 * config/cris/cris.c (cris_option_optimization): Change to
2970 cris_option_optimization_table.
2971 (TARGET_OPTION_OPTIMIZATION): Change to
2972 TARGET_OPTION_OPTIMIZATION_TABLE.
2973 * config/crx/crx.c (crx_option_optimization): Change to
2974 crx_option_optimization_table.
2975 (TARGET_OPTION_OPTIMIZATION): Change to
2976 TARGET_OPTION_OPTIMIZATION_TABLE.
2977 * config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove.
2978 * config/fr30/fr30.c (fr30_option_optimization_table,
2979 TARGET_OPTION_OPTIMIZATION_TABLE): New.
2980 * config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove.
2981 * config/frv/frv.c (frv_option_optimization_table,
2982 TARGET_OPTION_OPTIMIZATION_TABLE): New.
2983 * config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove.
2984 * config/h8300/h8300.c (h8300_option_optimization): Change to
2985 h8300_option_optimization_table.
2986 (TARGET_OPTION_OPTIMIZATION): Change to
2987 TARGET_OPTION_OPTIMIZATION_TABLE.
2988 * config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove.
2989 * config/i386/i386.c (ix86_option_optimization): Change to
2990 ix86_option_optimization_table.
2991 (TARGET_OPTION_OPTIMIZATION): Change to
2992 TARGET_OPTION_OPTIMIZATION_TABLE.
2993 * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
2994 as initializer.
2995 * config/ia64/ia64.c (ia64_option_optimization): Change to
2996 ia64_option_optimization_table.
2997 (TARGET_OPTION_OPTIMIZATION): Change to
2998 TARGET_OPTION_OPTIMIZATION_TABLE.
2999 * config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove.
3000 * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as
3001 initializer.
3002 * config/iq2000/iq2000.c (iq2000_option_optimization_table,
3003 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3004 * config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove.
3005 * config/lm32/lm32.c (lm32_option_optimization_table,
3006 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3007 * config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove.
3008 * config/m32r/m32r.c (m32r_option_optimization): Change to
3009 m32r_option_optimization_table.
3010 (TARGET_OPTION_OPTIMIZATION): Change to
3011 TARGET_OPTION_OPTIMIZATION_TABLE.
3012 * config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS,
3013 CAN_DEBUG_WITHOUT_FP): Remove.
3014 * config/mcore/mcore.c (mcore_option_optimization): Change to
3015 mcore_option_optimization_table.
3016 (TARGET_OPTION_OPTIMIZATION): Change to
3017 TARGET_OPTION_OPTIMIZATION_TABLE.
3018 * config/mep/mep.c (mep_option_optimization): Change to
3019 mep_option_optimization_table.
3020 (TARGET_OPTION_OPTIMIZATION): Change to
3021 TARGET_OPTION_OPTIMIZATION_TABLE.
3022 * config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove.
3023 * config/microblaze/microblaze.c
3024 (microblaze_option_optimization_table,
3025 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3026 * config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove.
3027 * config/mips/mips.c (mips_option_optimization_table,
3028 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3029 * config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove.
3030 * config/mmix/mmix.c (mmix_option_optimization): Change to
3031 mmix_option_optimization_table.
3032 (TARGET_OPTION_OPTIMIZATION): Change to
3033 TARGET_OPTION_OPTIMIZATION_TABLE.
3034 * config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove.
3035 * config/mn10300/mn10300.c (mn10300_option_optimization_table,
3036 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3037 * config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove.
3038 * config/pa/pa.c (pa_option_optimization_table,
3039 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3040 * config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove.
3041 * config/pdp11/pdp11.c (pdp11_option_optimization): Change to
3042 pdp11_option_optimization_table.
3043 (TARGET_OPTION_OPTIMIZATION): Change to
3044 TARGET_OPTION_OPTIMIZATION_TABLE.
3045 * config/picochip/picochip.c (picochip_option_optimization_table,
3046 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3047 * config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove.
3048 * config/rs6000/rs6000.c (rs6000_option_optimization_table,
3049 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3050 * config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove.
3051 * config/rx/rx.c (rx_option_optimization_table,
3052 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3053 * config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove.
3054 * config/s390/s390.c (s390_option_optimization): Change to
3055 s390_option_optimization_table.
3056 (s390_option_override): Update comment.
3057 (TARGET_OPTION_OPTIMIZATION): Change to
3058 TARGET_OPTION_OPTIMIZATION_TABLE.
3059 * config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove.
3060 * config/score/score.c (score_option_optimization_table,
3061 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3062 * config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove.
3063 * config/sh/sh.c (sh_option_optimization): Change to
3064 sh_option_optimization_table.
3065 (TARGET_OPTION_OPTIMIZATION): Change to
3066 TARGET_OPTION_OPTIMIZATION_TABLE.
3067 (sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here.
3068 (sh_option_override, expand_block_move, multcosts, find_barrier,
3069 barrier_align): Use optimize_size instead of TARGET_SMALLCODE.
3070 * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove.
3071 (LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P,
3072 STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size
3073 instead of TARGET_SMALLCODE.
3074 * config/sh/sh.opt (mspace): Make into an alias for -Os.
3075 * config/sparc/sparc.c (sparc_option_optimization_table,
3076 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3077 * config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove.
3078 * config/stormy16/stormy16.c (xstorym16_option_optimization_table,
3079 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3080 * config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove.
3081 * config/v850/v850.c (v850_option_optimization): Change to
3082 v850_option_optimization_table.
3083 (TARGET_OPTION_OPTIMIZATION): Change to
3084 TARGET_OPTION_OPTIMIZATION_TABLE.
3085 * config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove.
3086 * config/xtensa/xtensa.c (xtensa_option_optimization): Change to
3087 xtensa_option_optimization_table.
3088 (TARGET_OPTION_OPTIMIZATION): Change to
3089 TARGET_OPTION_OPTIMIZATION_TABLE.
3090 * config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove.
3091
26705988
IS
30922010-10-21 Iain Sandoe <iains@gcc.gnu.org>
3093
3094 Based on the CFString implementation in FSF apple/trunk branch.
5ab2c5cb 3095
26705988
IS
3096 * target.def (objc_construct_string): New Hook.
3097 * doc/tm.texi (objc_construct_string): Document.
3098 * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New.
3099 * config/t-darwin: Amend build rules for darwin.o.
3100 * config/darwin.opt: Add cfstrings flags.
3101 * config/darwin-c.c: Define __CONSTANT_CFSTRINGS__.
3102 (darwin_objc_construct_string): New.
3103 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define.
3104 * config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS.
3105 * config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype.
3106 (darwin_fold_builtin): Likewise.
3107 (darwin_build_constant_cfstring): Likewise.
3108 (darwin_objc_construct_string): Likewise.
3109 (darwin_cfstring_p): Likewise.
3110 (darwin_enter_string_into_cfstring_table): Likewise.
3111 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString.
5ab2c5cb 3112 * config/darwin.c (darwin_running_cxx): New var.
26705988
IS
3113 (machopic_select_section): Return cfstring_constant_object_section.
3114 (darwin_override_options): Set darwin_running_cxx.
3115 (add_builtin_field_decl): New.
3116 (darwin_init_cfstring_builtins): New.
3117 (darwin_build_constant_cfstring): New.
3118 (darwin_fold_builtin): New.
3119 (cfstring_hash): New.
3120 (cfstring_eq): New.
3121 (darwin_enter_string_into_cfstring_table): New.
3122 * config/darwin-sections.def (cfstring_constant_object_section): New.
3123 * config/darwin.h (TARGET_FOLD_BUILTIN): Define.
3124 (TARGET_OBJC_CONSTRUCT_STRING): Define.
3125
0fd2eac2
NF
31262010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3127
3128 * config/alpha/alpha.c (alpha_build_builtin_va_list): Use
3129 TYPE_STUB_DECL instead of TREE_CHAIN.
3130 * config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise.
3131 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise.
3132 * config/s390/s390.c (s390_build_builtin_va_list): Likewise.
3133 * config/sh/sh.c (sh_build_builtin_va_list): Likewise.
3134 * config/spu/spu.c (spu_build_builtin_va_list): Likewise.
3135 * config/stormy16/stormy16.c (xstormy16_build_builtin_va_list):
3136 Likewise.
3137 * config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise.
3138
62519f7f
JZ
31392010-10-22 Jie Zhang <jie@codesourcery.com>
3140
3141 * expr.c (emit_group_load_1): Update calls to extract_bit_field.
3142 (copy_blkmode_from_reg): Likewise.
3143 (read_complex_part): Likewise.
3144 (expand_expr_real_1): Calculate packedp and pass it to
3145 extract_bit_field.
3146 * expr.h (extract_bit_field): Update declaration.
3147 * calls.c (store_unaligned_arguments_into_pseudos): Update call
3148 to extract_bit_field.
3149 * expmed.c (extract_fixed_bit_field): Update calls to
3150 extract_fixed_bit_field.
3151 (store_split_bit_field): Likewise.
3152 (extract_bit_field_1): Add new argument packedp.
3153 (extract_bit_field): Add new argument packedp.
3154 (extract_fixed_bit_field): Add new argument packedp and let
3155 packed attribute override volatile.
3156 * stmt.c (expand_return): Update call to extract_bit_field.
3157
0aa88287
NF
31582010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3159
3160 * config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
3161
cefb375a
NF
31622010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3163
3164 * ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
3165 of gcc_checking_assert.
3166 * sel-sched.c (code_motion_process_successors): Likewise.
3167
50a36e42
EB
31682010-10-21 Eric Botcazou <ebotcazou@adacore.com>
3169
3170 * cfgcleanup.c (try_forward_edges): Do not throw away previous steps
3171 when stopping because of a different locus on edge or insn.
3172 (try_optimize_cfg): Add comment.
3173 * cfgrtl.c (rtl_merge_blocks): Tweak log message. If the destination
3174 block is a forwarder block, propagate locus on the edge.
3175 (cfg_layout_merge_blocks): Likewise.
3176
233a46c8
UB
31772010-10-21 Uros Bizjak <ubizjak@gmail.com>
3178
3179 PR target/45946
3180 * config/i386/i386.md (*pushti2): New insn pattern.
3181 (pushti2 splitter): New insn splitter.
3182 (*push<mode>2): Macroize insn pattern from *push{di,ti}2 using
3183 DWI mode iterator.
3184
19ce9cf1
PK
31852010-10-21 Paul Koning <ni1d@arrl.net>
3186
3187 * config/pdp11/pdp11-protos.md (arith_operand,
3188 const_immediate_operand, expand_shift_operand,
3189 immediate15_operand): Delete
3190 * config/pdp11/pdp11.c: Ditto.
3191 * config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER,
3192 CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
3193 EXTRA_CONSTRAINT): Delete.
3194 * config/pdp11/pdp11.md (various): Use standard constraints
3195 instead of removed ones.
3196 * config/pdp11/constraints.md: New file.
3197 * config/pdp11/predicates.md: New file.
3198
4fcf718a
BM
31992010-10-21 Bingfeng Mei <bmei@broadcom.com>
3200
3201 PR c/45834
233a46c8
UB
3202 * alias.c (true_dependence_1): Remove obsolete check for QImode.
3203 (may_alias_p): Ditto.
3204
ae1f6fce
MJ
32052010-10-21 Martin Jambor <mjambor@suse.cz>
3206
3207 PR tree-optimization/45875
3208 * tree.c (get_binfo_at_offset): Remove initial zero offset test.
3209
9e2995b2
NF
32102010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3211
3212 * tree-into-ssa.c (rewrite_update_enter_block): Remove unused
3213 variables.
3214 (create_new_def_for): Likewise.
3215
e7ab5593
NC
32162010-10-21 Nick Clifton <nickc@redhat.com>
3217
3218 * config/mn10300/mn10300.c: Fold code to 80-character width.
233a46c8
UB
3219 Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
3220 MEM, CONST_INT and CONST_DOUBLE.
e7ab5593
NC
3221 (targetm): Move initialization to end of file.
3222 (print_operand): Rename to mn10300_print_operand.
3223 (print_operand_address): Rename to mn10300_print_operand_address.
3224 (can_use_return_insn): Rename to mn10300_can_use_return_insn.
3225 (expand_prologue): Rename to mn10300_expand_prologue.
3226 (expand_epilogue): Rename to mn10300_expand_epilogue.
3227 (initial_offset): Rename to mn10300_initial_offset.
3228 (function_arg): Rename to mn10300_function_arg.
3229 (mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
3230 (symbolic_operand): Rename to mn10300_symbolic_operand.
3231 (legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
3232 (legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
3233 * config/mn10300/mn10300-protos.h: Update prototypes.
3234 * config/mn10300/mn10300.h: Fold code to 80-character width.
233a46c8
UB
3235 Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
3236 MEM, CONST_INT and CONST_DOUBLE.
3237 (CPP_SPEC): Move to...
3238 (TARGET_CPU_CPP_BUILTINS): ... here.
e7ab5593 3239 * config/mn10300/mn10300.md: Fold code to 80-character width.
233a46c8
UB
3240 Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
3241 MEM, CONST_INT and CONST_DOUBLE.
e7ab5593 3242
9dc3f7de
IR
32432010-10-21 Ira Rosen <irar@il.ibm.com>
3244
3245 PR tree-optimization/46049
3246 PR tree-optimization/46052
233a46c8 3247 * tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift.
9dc3f7de
IR
3248 (vect_get_slp_defs): Add arguments.
3249 * tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
3250 operands to vect_get_slp_defs.
3251 (vectorizable_reduction): Fix comment, pass scalar operands to
3252 vect_get_slp_defs.
3253 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
3254 type to determine number of units in the created vector.
3255 (vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
3256 (vectorizable_conversion): Fix comment.
3257 (vectorizable_shift): New function.
3258 (vectorizable_operation): Move code that handles shifts to
3259 vectorizable_shift.
3260 (vectorizable_type_demotion): Fix comment, pass scalar operands to
3261 vect_get_slp_defs.
3262 (vectorizable_type_promotion, vectorizable_store): Likewise.
3263 (vectorizable_condition): Fix comment.
3264 (vect_analyze_stmt): Call vectorizable_shift.
3265 (vect_transform_stmt): Likewise.
3266 * tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
3267 Use it as the operand to create vectors for, except reduction
3268 initial definition and store. Use operands type.
3269 (vect_get_slp_defs): Add new arguments. Pass them to
3270 vect_get_constant_vectors.
3271
77a74ed7
NF
32722010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3273
3274 * basic-block.h (single_succ_edge): Use gcc_checking_assert.
3275 (single_pred_edge, ei_container, ei_next, ei_prev): Likewise.
3276 * cfghooks.c (fixup_reorder_chain): Likewise.
3277 * cfgrtl.c (cfg_layout_merge_blocks): Likewise.
3278 * cgraph.c (cgraph_add_thunk): Likewise.
3279 (cgraph_create_edge_1): Likewise.
3280 (cgraph_create_virtual_clone): Likewise.
3281 * ddg.c (add_cross_iteration_register_deps): Likewise.
3282 * dwarf2out.c (modified_type_die): Likewise.
3283 * emit-rtl.c (set_mem_alias_set): Likewise.
3284 * ggc-zone.c (zone_allocate_marks): Likewise.
3285 * gimple-iterator.c (gsi_move_to_bb_end): Likewise.
3286 * gimple.c (iterative_hash_gimple_type): Likewise.
3287 * graphite-scop-detection.c (create_single_entry_edge): Likewise.
3288 (create_single_exit_edge): Likewise.
3289 * haifa-sched.c (choose_ready): Likewise.
3290 * lto-streamer-in.c (input_gimple_stmt): Likewise.
3291 * passes.c (execute_todo): Likewise.
3292 * sched-ebb.c (begin_schedule_ready): Likewise.
3293 * sel-sched.c (code_motion_process_successors): Likewise.
3294 * tree-call-cdce.c (gen_conditions_for_pow): Likewise.
3295 * tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise.
3296 * tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise.
3297 (phi_arg_index_from_use, phi_ssa_name_p): Likewise.
3298 * tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise.
3299 * tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise.
3300 (ssa_conflicts_add): Likewise.
3301 * tree-ssa-copy.c (replace_exp): Likewise.
3302 * tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
3303 * tree-ssa-forwprop.c (simple_gimple_switch): Likewise.
3304 * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
3305 * tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise.
3306 (compute_antic): Likewise.
3307 * tree-ssa-ter.c (add_to_partition_kill_list): Likewise.
3308 (add_dependence): Likewise.
3309 (process_replaceable, kill_expr, find_replaceable_exprs): Likewise.
3310 * tree-vrp.c (supports_overflow_infinity): Likewise.
3311 (make_overflow_infinity, negative_overflow_infinity): Likewise.
3312 (avoid_overflow_infinity, register_new_assert_for): Likewise.
3313 (process_assert_insertions_for): Likewise.
3314 * var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise.
3315 (dv_from_value, variable_union, find_loc_in_1pdv): Likewise.
3316 (intersect_loc_chains, variable_merge_over_cur): Likewise.
3317
31ff2426
NF
33182010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3319
3320 * cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred.
3321 * reload1.c (has_nonexceptional_receiver): Likewise.
3322 * tree-into-ssa.c (rewrite_update_enter_block): Likewise.
3323 (create_new_def_for): Likewise.
3324 * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
3325 (merge_phi_nodes): Likewise.
3326 (has_abnormal_incoming_edge_p): Delete.
3327
2f7ba24e
L
33282010-10-21 H.J. Lu <hongjiu.lu@intel.com>
3329
3330 * config/i386/sse.md (ssescalarmodesuffix): Add V8SI and V4DI.
3331
46241ea9 33322010-10-21 Richard Guenther <rguenther@suse.de>
233a46c8 3333 Michael Matz <matz@suse.de>
46241ea9
RG
3334
3335 PR tree-optimization/45764
3336 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
3337 Adjust initial misalignment for negative DR_STEP.
3338 (vect_find_same_alignment_drs): Two DRs with different DR_STEP
3339 do not have the same alignment over the whole iteration domain.
3340
c9a410f0
RG
33412010-10-21 Richard Guenther <rguenther@suse.de>
3342
3343 PR tree-optimization/46111
3344 * tree-parloops.c (take_address_of): Re-organize for MEM_REF.
3345
5490de28
AK
33462010-10-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3347
3348 * config/s390/s390.md (*xordi3_cc): Mark xgrk as z196 only.
3349
1347d65c
TG
33502010-10-21 Tristan Gingold <gingold@adacore.com>
3351
3352 * config/vms/vms-crtl.h (CRTL_NAMES): Add new translations.
3353 * config/vms/vms-crtl-64.h (CRTL_NAMES): Ditto.
3354
1f5576a8
TG
33552010-10-21 Tristan Gingold <gingold@adacore.com>
3356
3357 * config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state): Set
1347d65c 3358 signal_frame.
1f5576a8
TG
3359 * config/alpha/alpha.c (alpha_function_arg): Adjust call.
3360
168e58f2
TG
33612010-10-21 Tristan Gingold <gingold@adacore.com>
3362
3363 * config/ia64/vms64.h (TARGET_DEFAULT): Add MASK_FUSED_MADD.
3364 * config/ia64/vms.h (TARGET_DEFAULT): Ditto.
3365
0fd4b31d
NF
33662010-10-20 Nathan Froyd <froydnj@codesourcery.com>
3367
3368 * basic-block.h (find_fallthru_edge): Define.
3369 * cfgcleanup.c (merge_blocks_move): Use it.
3370 (try_crossjump_bb): Likewise.
3371 * cfglayout.c (fixup_reorder_chains): Likewise.
3372 (fixup_fallthru_exit_predecessor): Likewise.
3373 * cfgrtl.c (rtl_split_edge): Likewise.
3374 (rtl_verify_flow_info): Likewise.
3375 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3376 * gimple-pretty-print.c (dump_implicit_edges): Likewise.
3377 * ifcvt.c (block_fallthru): Likewise.
3378 * reload1.c (fixup_abnormal_edges): Likewise.
3379 * sched-ebb.c (being_schedule_ready): Likewise.
3380 (schedule_ebb): Likwise.
3381 * sched-rgn.c (find_single_block_region): Likewise.
3382 * sel-sched-ir.c (bb_ends_ebb_p): Likewise.
3383 * tree-complex.c (expand_complex_move): Likewise.
3384 * sched-int.h (find_fallthru_edge): Rename to...
3385 (find_fallthru_edge_from): ...this.
3386 * haifa-sched.c (find_fallthru_edge): Rename to...
3387 (find_fallthru_edge_from): ...this. Use new find_fallthru_edge.
3388 (init_before_recovery): Call find_fallthru_edge_from.
3389 * sel-sched-ir.c (merge_fences): Likewise.
3390 * sel-sched.c (in_fallthru_bb_p): Likewise.
3391 (move_cond_jump): Likewise.
3392
b56f8e7c
PK
33932010-10-20 Paul Koning <ni1d@arrl.net>
3394
3395 * config/pdp11/pdp11.md (various): Fix conditions on a number of
3396 insn to check for target 11/40 or higher.
3397
249a82c4
NP
33982010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3399
3400 * parser.c (c_parser_objc_method_type): Mark inline. Return a
3401 bool instead of a tree.
3402 (c_parser_objc_method_decl): Added bool argument. Updated call to
3403 objc_build_method_signature.
3404 (c_parser_objc_method_definition): Do not call
3405 objc_set_method_type. Updated calls to c_parser_objc_method_type,
3406 c_parser_objc_method_decl and objc_start_method_definition.
3407 (c_parser_objc_methodproto): Do not call objc_set_method_type.
3408 Updated calls to c_parser_objc_method_type,
3409 c_parser_objc_method_decl and objc_add_method_declaration.
233a46c8 3410
1dff453d
JJ
34112010-10-20 Jakub Jelinek <jakub@redhat.com>
3412
f1e344ed
JJ
3413 PR tree-optimization/45919
3414 * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Handle flexible
3415 array members.
3416
1dff453d
JJ
3417 PR tree-optimization/46066
3418 * tree-parloops.c (create_parallel_loop): Use gsi_last_nondebug_bb
3419 instead of gsi_last_bb.
3420
d123bf41
DD
34212010-10-20 DJ Delorie <dj@redhat.com>
3422
3423 * config/m32c/m32c.c (m32c_option_override): Always disable
3424 function-cse in 16-bit mode. Indirect calls are always worse than
3425 direct calls as there is no 16-bit indirect call opcode.
3426 (m32c_override_options_after_change): New, likewise.
3427
582346ed
NF
34282010-10-20 Nathan Froyd <froydnj@codesourcery.com>
3429
3430 * ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
3431 emitting the conditional move in the inner mode of the SUBREG.
3432
ab177ad5
AS
34332010-10-20 Anatoly Sokolov <aesok@post.ru>
3434
3435 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
3436 * config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove.
3437 * config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
3438 (ia64_preferred_reload_class): Make static. Change rclass argument
3439 and result types from enum reg_class to reg_class_t.
3440
604f9a90
PH
34412010-10-20 Pat Haugen <pthaugen@us.ibm.com>
3442
3443 * tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over
3444 call for single operand expression.
3445
4244a86e
EB
34462010-10-20 Eric Botcazou <ebotcazou@adacore.com>
3447
3448 * tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges
3449 if there is a call statement to pure or const function in the block.
3450
825cb171
PK
34512010-10-20 Paul Koning <pkoning@equallogic.com>
3452
3453 Fix several build errors for pdp11 target.
3454 * config/pdp11/pdp11.md (*cmpdf): Fix tstd operands.
3455 (cbranchdf4): Conditional on TARGET_FPU.
3456 (movdf): Ditto; correct alternatives check.
3457 (movmemhi): Fix predicate and constraint.
3458 * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Handle 64 bit mode.
3459
1b0e3802
RG
34602010-10-20 Richard Guenther <rguenther@suse.de>
3461
3462 PR lto/45667
3463 * lto-streamer-out.c (output_gimple_stmt): Fix typo.
3464 * tree-cfg.c (verify_gimple_call): Properly get the call fndecl.
3465 (verify_gimple_assign_single): Disable ADDR_EXPR type check
3466 when in LTO.
3467
51934590
VM
34682010-10-20 Vladimir Makarov <vmakarov@redhat.com>
3469
3470 PR fortran/42169
3471 * ira-emit.c (store_can_be_removed_p): Return false instead of
3472 gcc_unreachable.
3473
2298ade7
DM
34742010-10-20 Dmitry Melnik <dm@ispras.ru>
3475
3476 * fold-const.c (fold_binary_loc): New transformation.
3477
b9121f42
L
34782010-10-20 H.J. Lu <hongjiu.lu@intel.com>
3479
3480 PR target/46085
3481 * config/i386/sse.md (reduc_splus_v8sf): Updated.
3482 (reduc_splus_v4df): Likewise.
3483
742d143c
RG
34842010-10-20 Richard Guenther <rguenther@suse.de>
3485
3486 PR tree-optimization/45860
3487 * tree-ssa-phiopt.c (cond_store_replacement): Do not do
3488 conditional store replacement for non-register type stores.
3489
0d475ac5
EB
34902010-10-20 Eric Botcazou <ebotcazou@adacore.com>
3491
3492 * stor-layout.c (skip_simple_constant_arithmetic): New function.
3493 (self_referential_size): Use it instead of skip_simple_arithmetic.
3494
73dd5ce0
OH
34952010-10-20 Olivier Hainque <hainque@adacore.com>
3496
3497 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p):
3498 If the current function calls eh_return, claim live all registers
3499 that we need to check for liveness otherwise.
3500
977e30bc
NP
35012010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3502
3503 * c-decl.c (c_write_global_declarations): Call
3504 objc_write_global_declarations when compiling Objective-C.
3505 * c-lang.c (finish_file): Removed.
3506
ad0c4c36
DD
35072010-10-19 DJ Delorie <dj@redhat.com>
3508
3509 * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
3510 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
3511 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
3512 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
3513 * doc/tm.texi: Regenerate.
3514 * targhooks.h (default_label_align_after_barrier_max_skip,
3515 default_loop_align_max_skip, default_label_align_max_skip,
3516 default_jump_align_max_skip): Declare.
3517 * target.def (label_align_after_barrier_max_skip): New.
3518 (loop_align_max_skip): New.
3519 (label_align_max_skip): New.
3520 (jump_align_max_skip): New.
3521 * system.h (poison): Add those macros to the list.
3522 * final.c (LABEL_ALIGN_MAX_SKIP): Remove.
3523 (LOOP_ALIGN_MAX_SKIP): Remove.
3524 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
3525 (JUMP_ALIGN_MAX_SKIP): Remove.
3526 (default_label_align_after_barrier_max_skip): New.
3527 (default_loop_align_max_skip): New.
3528 (default_label_align_max_skip): New.
3529 (default_jump_align_max_skip): New.
3530 (compute_alignments): Use the new hooks.
3531 (shorten_branches): Likewise.
233a46c8 3532
351877cf
RH
35332010-10-19 Richard Henderson <rth@redhat.com>
3534
3535 * config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>.
3536 * config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH.
3537 (fma4i_fmadd_<mode>): New.
3538 (*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from
233a46c8 3539 fma4_fm*_<mode> and adjust to be pre-reload splitters to the
351877cf
RH
3540 standard fma patterns.
3541 (fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and
3542 enable for FMA.
3543 (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
3544 (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
3545 (*fma_fmaddsub_<mode>, *fma_fmsubadd_<mode>): New.
3546
b5829a84
PK
35472010-10-19 Paul Koning <pkoning@equallogic.com>
3548
3549 * lower-subreg.c (resolve_shift_zext): Delete conditional code for
3550 WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
3551
46935749
RH
35522010-10-19 Richard Henderson <rth@redhat.com>
3553
3554 * config/ia64/ia64.md (fmasf4, *fmssf4, *nfmasf4): New.
3555 (fmadf4, *fmsdf4, *nfmadf4): New.
3556 (fmaxf4, *fmsxf4, *nfmaxf4): New.
3557
16a1a239
ME
35582010-10-19 Michael Eager <eager@eagercon.com>
3559
233a46c8 3560 * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO):
16a1a239
ME
3561 Use sjlj unwind info for exceptions.
3562
d35ce109
FXC
35632010-10-19 Francois-Xavier Coudert<fxcoudert@gcc.gnu.org>
3564
3565 PR fortran/43414
3566 * dwarf2out.c (add_calling_convention_attribute): Flag main
3567 Fortran subroutine with DW_AT_main_subprogram.
3568
e2f289f3
NC
35692010-10-19 Nick Clifton <nickc@redhat.com>
3570
3571 * config/rx/rx.c (rx_function_value): Small integer types are
233a46c8 3572 promoted to SImode.
e2f289f3
NC
3573 (rx_promote_function_mode): New function.
3574 (TARGET_PROMOTE_FUNCTION_MODE): Define.
3575
9018b19c
NC
35762010-10-19 Nick Clifton <nickc@redhat.com>
3577
3578 * config/mep/mep.c (mep_print_operand): Use
3579 targetm.strip_name_encoding.
3580 (mep_output_aligned_common): Likewise.
3581
c512a6a0 35822010-10-19 Basile Starynkevitch <basile@starynkevitch.net>
233a46c8
UB
3583
3584 * gengtype.c (new_structure): Remove ad-hoc "location_s" processing.
c512a6a0 3585
5c822194
RH
35862010-10-18 Richard Henderson <rth@redhat.com>
3587
233a46c8 3588 * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
5c822194
RH
3589 (fma (neg a) (neg b) c) and (fma a (neg b) c).
3590
89509419
RH
35912010-10-18 Richard Henderson <rth@redhat.com>
3592
3593 * config/i386/i386.c (IX86_BUILTIN_VFMSUBSS, IX86_BUILTIN_VFMSUBSD,
3594 IX86_BUILTIN_VFMSUBPS, IX86_BUILTIN_VFMSUBPD,
3595 IX86_BUILTIN_VFMSUBADDPS, IX86_BUILTIN_VFMSUBADDPD,
3596 IX86_BUILTIN_VFNMADDSS, IX86_BUILTIN_VFNMADDSD,
3597 IX86_BUILTIN_VFNMADDPS, IX86_BUILTIN_VFNMADDPD,
3598 IX86_BUILTIN_VFNMSUBSS, IX86_BUILTIN_VFNMSUBSD,
3599 IX86_BUILTIN_VFNMSUBPS, IX86_BUILTIN_VFNMSUBPD,
3600 IX86_BUILTIN_VFMSUBADDPS256, IX86_BUILTIN_VFMSUBADDPD256,
3601 IX86_BUILTIN_VFNMADDPS256, IX86_BUILTIN_VFNMADDPD256,
3602 IX86_BUILTIN_VFNMSUBPS256, IX86_BUILTIN_VFNMSUBPD256): Remove.
3603 (bdesc_multi_arg): Remove the corresponding builtins.
3604 * config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Remove.
3605 (UNSPEC_FMA4_FMSUBADD): Remove.
3606 (UNSPEC_FMADDSUB): Rename from UNSPEC_FMA4_FMADDSUB.
3607 * config/i386/sse.md (FMA4MODEF4): Remove.
3608 (FMAMODE): Add.
3609 (fma<mode>4): New expander.
3610 (*fma4i_fmadd_<mode>): Macroize from fma4i_fmadd<mode>4 patterns,
3611 and use FMA rtx code instead of UNSPEC_FMA4_INTRINSIC.
3612 (*fma4i_fmsub_<mode>): Similarly.
3613 (*fma4i_fnmadd_<mode>): Similarly.
3614 (*fma4i_fnmsub_<mode>): Similarly.
3615 (fma4i_vmfmadd_<mode>): Scalar patterns zero-extend, not merge
3616 with the first operand.
3617 (fma4i_fmaddsub_<mode>): Represent with UNSPEC_FMADDSUB instead
3618 of explicit arithmetic. Macroize with AVXMODEF2P.
3619 (*fma4i_fmsubadd_<mode>): Represent with UNSPEC_FMADDSUB + NEG.
3620 (xop_frcz<mode>2): Macroize with FMAMODE.
3621 (xop_vmfrcz<mode>2): Scalar patterns zero-extend, not merge with
3622 the first operand.
3623 * config/i386/fma4intrin.h (_mm_msub_ps): Use vfmadd intrinsic with
3624 extra negations.
3625 (_mm_msub_pd, _mm_msub_ss, _mm_msub_sd): Likewise.
3626 (_mm_nmacc_ps, _mm_nmacc_pd, _mm_nmacc_ss, _mm_nmacc_sd): Likewise.
3627 (_mm_nmsub_ps, _mm_nmsub_pd, _mm_nmsub_ss, _mm_nmsub_sd): Likewise.
3628 (_mm256_msub_ps, _mm256_msub_pd): Likewise.
3629 (_mm256_nmacc_ps, _mm256_nmacc_pd): Likewise.
3630 (_mm256_nmsub_ps, _mm256_nmsub_pd): Likewise.
3631 (_mm_msubadd_ps): Use vfmaddsub intrinsic with extra negation.
3632 (_mm_msubadd_pd, _mm256_msubadd_ps, _mm256_msubadd_pd): Likewise.
3633
21016e43
BS
36342010-10-18 Bernd Schmidt <bernds@codesourcery.com>
3635
3636 PR rtl-optimization/45966
3637 * combine.c (try_combine): If added_sets_2, deal with the case
3638 where i0 feeds i1 and i1 feeds i2.
3639
93a3eea4
JH
36402010-10-18 Jan Hubicka <jh@suse.cz>
3641
3642 * ipa.c (cgraph_externally_visible_p): Handle externally visible and
3643 preserve flags before trying to guess on visibility.
3644 (varpool_externally_visible_p): New function.
3645 (function_and_variable_visibility): Use it.
3646
da57d1b9
NP
36472010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3648
3649 Implemented parsing @synthesize and @dynamic for Objective-C.
3650 * c-parser.c (c_parser_external_declaration): Recognize
3651 RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3652 (c_parser_objc_at_synthesize_declaration): New.
3653 (c_parser_objc_at_dynamic_declaration): New.
3654
36552010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
233a46c8 3656
da57d1b9
NP
3657 * c-parser.c (c_parser_objc_class_declaration): After finding an
3658 error, parse the whole declaration then reset parser->error.
233a46c8 3659
0069111f
MM
36602010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3661
3662 PR target/46041
3663 * tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c.
3664 * builtins.c (mode_has_fma): Ditto.
3665
89774469
SE
36662010-10-18 Steve Ellcey <sje@cup.hp.com>
3667
3668 PR target/36898
3669 PR middle-end/43760
3670 * config/ia64/ia64.c (rws_access_regno): Remove predicate check.
3671
b69da3d8
JM
36722010-10-18 Joseph Myers <joseph@codesourcery.com>
3673
3674 * config/i386/i386.c (ix86_option_override_internal): Define and
3675 use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
3676 default.
3677 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
3678 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
3679
71fc71d8
NP
36802010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3681
233a46c8 3682 Merge from 'apple/trunk' branch on FSF servers.
71fc71d8
NP
3683 * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
3684 following Objective-C change:
3685
ba4debed 3686 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
71fc71d8
NP
3687
3688 Radar 4301047
3689 * c-parse.in (objc_quals): Build objc qualifier list same way
3690 as gcc-3.3
3691
7ba6eb1e
JH
36922010-10-18 Jan Hubicka <jh@suse.cz>
3693
3694 * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
3695 function_and_variable_visibility): Revert accidental commit.
3696
e426b47b
NP
36972010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3698
3699 Merge from 'apple/trunk' branch on FSF servers.
3700 * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
3701 the following Objective-C change:
3702
ba4debed 3703 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
e426b47b
NP
3704
3705 Radar 4204796
3706 * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
3707 'volatilized' type used in a typeof operator.
3708
30fd5881
EB
37092010-10-18 Eric Botcazou <ebotcazou@adacore.com>
3710
3711 * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
3712 * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
3713 rewrite modelled on gimple_purge_dead_eh_edges.
3714 (gimple_purge_all_dead_abnormal_call_edges): New function.
3715 * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
3716 directly instead of through gimple_purge_dead_abnormal_call_edges.
3717 * tree-ssa-pre.c (need_ab_cleanup): New static variable.
3718 (eliminate): Set bit in need_ab_cleanup for the basic block if we have
3719 removed AB side-effects from one of its statements.
3720 (init_pre): Initialize need_ab_cleanup.
3721 (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
3722 are set in need_ab_cleanup. Free need_ab_cleanup afterward.
3723
84628aa8
JJ
37242010-10-18 Jakub Jelinek <jakub@redhat.com>
3725
3726 PR c/46015
3727 * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
3728 on computed goto argument.
3729
0f8d6231
RG
37302010-10-18 Richard Guenther <rguenther@suse.de>
3731
3732 PR tree-optimization/45967
3733 * tree-ssa-structalias.c (type_could_have_pointers): Remove.
3734 (could_have_pointers): Likewise.
3735 (handle_rhs_call, handle_const_call, handle_pure_call,
3736 find_func_aliases, intra_create_variable_infos): Remove calls to them.
3737 (struct fieldoff): Add must_have_pointers field.
3738 (type_must_have_pointers): New function.
3739 (field_must_have_pointers): Likewise.
3740 (push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
3741 Adjust field merging.
3742 (create_function_info_for): May-have-pointers of varinfo is
3743 almost always true.
3744 (create_variable_info_for_1): Likewise.
3745
3f2c0baf
TB
37462010-10-18 Tejas Belagod <tejas.belagod@arm.com>
3747
3748 * config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
3749 of operands to vec_concat.
3750
e20efbfb
RG
37512010-10-18 Richard Guenther <rguenther@suse.de>
3752
3753 PR lto/44950
3754 * tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
3755 also clear references to entries of it.
3756
fda9c731
AK
37572010-10-18 Andi Kleen <ak@linux.intel.com>
3758
3759 PR other/43448
3760 * gccbug.in: Remove.
3761 * Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove
3762 (doc, distclean, install-common): Remove reference to gccbug.
3763 * configure: Regenerate.
3764 * configure.ac (all_outputs): Remove gccbug.
3765 * doc/configfiles.texi: Remove references to gccbug.
3766 * doc/sourcebuild.texi: Dito.
3767
8ddf04c2
JJ
37682010-10-18 Jakub Jelinek <jakub@redhat.com>
3769
3770 PR middle-end/46019
3771 * fold-const.c (fold_binary_loc): If integer_pow2p has
3772 TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
3773
1d32bbcd
BS
37742010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
3775 Jeremie Salvucci <jeremie.salvucci@free.fr>
3776
c68015cd 3777 * gengtype.c (verbosity_level): Add variable.
1d32bbcd
BS
3778 (set_gc_used): Count variables for verbosity.
3779 (close_output_files): Backing up files, counting written ones
3780 verbosily.
3781 (write_types): Count emitted functions for verbosity. Added
3782 debug messages.
3783 (write_enum_defn): Count structures for verbosity. Added debug
3784 messages.
c68015cd 3785 (gengtype_long_options): Add "verbose" & "backupdir".
1d32bbcd
BS
3786 (print_usage): Ditto.
3787 (main): Verbose display of parsed files.
3788
c68015cd 3789 * gengtype.h (verbosity_level): Add declaration.
1d32bbcd 3790
dad22268
BS
37912010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
3792
c68015cd
BS
3793 * gengtype.c (parse_program_options): Add allocation of
3794 plugin_files, and correct test on nb_plugin_files.
dad22268 3795
90fbfdc3
NP
37962010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3797
3798 Merge from 'apple/trunk' branch on FSF servers.
233a46c8 3799
ba4debed 3800 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 3801
233a46c8 3802 Radar 4133425
90fbfdc3
NP
3803 * c-decl.c (undeclared_variable): Issue diagnostic on
3804 private 'ivar' access.
233a46c8 3805
2a4337c0
UB
38062010-10-17 Uros Bizjak <ubizjak@gmail.com>
3807
3808 PR target/46051
3809 * config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of
3810 generated sequence to match *avx_vperm2f128<mode>_nozero.
3811 (vec_interleave_lowv4df): Ditto.
3812 (vec_interleave_highv8sf): Ditto.
3813 (vec_interleave_lowv8sf): Ditto.
3814
78e7dd6a
KT
38152010-10-17 Kai Tietz <kai.tietz@onevision.com>
3816
3817 * libgcov.c (create_file_directory): Enable it for win32 case.
3818 (gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP.
3819 * doc/gcov.texi (GCOV_PREFIX): Adjusted.
3820 (GCOV_PREFIX_SKIP): Likewise.
3821
5b8b526e
NP
38222010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3823
3824 * doc/objc.texi (GNU Objective-C runtime API): New section.
3825 (Modern GNU Objective-C runtime API): New section.
3826 (Traditional GNU Objective-C runtime API): New section.
3827 (Executing code before main): Mention that this section is
3828 specific to the GNU Objective-C runtime.
3829 (Garbage Collection): Same.
3830
91b90ead
UB
38312010-10-17 Uros Bizjak <ubizjak@gmail.com>
3832
3833 * c-parser.c (c_parser_for_statement): Move initialization of
3834 cond and incr before if.
3835
abd26bfb
AS
38362010-10-17 Anatoly Sokolov <aesok@post.ru>
3837
3838 * target.def (preferred_output_reload_class): New hook.
3839 * doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
3840 * doc/tm.texi: Regenerate.
3841 * targhooks.c (default_preferred_output_reload_class): New function.
3842 * targhooks.h (default_preferred_output_reload_class): Declare.
91b90ead 3843 * reload.c (find_dummy_reload): Change rclass argument type from
abd26bfb
AS
3844 enum reg_class to reg_class_t. Change this_alternative array type
3845 from enum reg_class to reg_class_t.
3846 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
3847 (push_reload): Change preferred_class variable type to reg_class_t.
3848 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
3849 * recog.c (reg_fits_class_p): Change result type to bool. Change cl
3850 argument type from enum reg_class to reg_class_t. Use
3851 HARD_REGISTER_NUM_P predicate.
3852 * recog.h (reg_fits_class_p): Update prototype.
3853
3854 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
91b90ead
UB
3855 * config/i386/i386-protos.h (ix86_preferred_output_reload_class):
3856 Remove.
abd26bfb
AS
3857 * config/i386/i386.c (ix86_preferred_output_reload_class): Make
3858 static. Change regclass argument and result types from enum reg_class
3859 to reg_class_t.
3860 (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3861
c37d8c30
IS
38622010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3863
91b90ead 3864 * c-parser.c (c_parser_objc_class_instance_variables): Update to use
c37d8c30
IS
3865 visibility enum, and handle @package.
3866
1501d094
NP
38672010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3868
3869 * doc/objc.texi (What you can and what you cannot do in +load):
3870 Document that sending messages to constant string objects in +load
3871 is not guaranteed to work.
3872
bb853349
JH
38732010-10-16 Jan Hubicka <jh@suse.cz>
3874
3875 PR middle-end/44206
3876 * ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check
3877 existence of refrences before removing the function.
3878
844db5d0
JH
38792010-10-16 Jan Hubicka <jh@suse.cz>
3880
3881 * cgraph.c (dump_cgraph_node): Dump same_comdat_group,
3882 only_called_at_startup and only_called_at_exit.
91b90ead 3883 (cgraph_propagate_frequency): Compute only_called_at_startup and
844db5d0
JH
3884 only_called_at_exit.
3885 * cgraph.h (struct cgraph_node): New fileds only_called_at_startup and
3886 only_called_at_exit.
3887 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new
3888 flags.
3889 * predict.c (compute_function_frequency): Initialize the new flags.
3890
08d78391
EB
38912010-10-16 Eric Botcazou <ebotcazou@adacore.com>
3892
3893 * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
3894 ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
3895 on the bounds of its domain.
3896 * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
3897
4b0b4ab0
AS
38982010-10-16 Anatoly Sokolov <aesok@post.ru>
3899
3900 * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
3901 * config/avr/avr-protos.h (preferred_reload_class): Remove.
3902 * config/avr/avr.c (preferred_reload_class): Remove.
3903 * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
3904 * config/pa/pa.c (emit_move_sequence): Update comment
3905 * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
3906 * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
3907 * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
3908 * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
3909 * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
3910 * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
3911 * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
3912 * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
3913 * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
3914 * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
3915 * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
3916 * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
3917 * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
3918
7bb3487f
JM
39192010-10-16 Joseph Myers <joseph@codesourcery.com>
3920
3921 * opts.c (set_fast_math_flags,
3922 set_unsafe_math_optimizations_flags): Make static.
3923 * toplev.h (set_fast_math_flags,
3924 set_unsafe_math_optimizations_flags): Remove prototypes.
3925
0a587f65
JM
39262010-10-16 Joseph Myers <joseph@codesourcery.com>
3927
3928 * config/arm/arm.c (arm_option_optimization): Set
3929 flag_section_anchors to 1 not 2.
3930 * config/i386/i386.c (ix86_option_override_internal): Check
3931 global_options_set.x_flag_zee and
3932 global_options_set.x_flag_omit_frame_pointer.
3933 (ix86_option_optimization): Don't set flag_omit_frame_pointer and
3934 flag_zee to 2.
3935 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check
3936 global_options_set.x_flag_omit_frame_pointer.
3937 * config/rs6000/rs6000.c (rs6000_option_init_struct): Set
3938 opts->x_flag_section_anchors to 1 not 2.
3939 * config/sh/sh.c (sh_option_optimization): Don't set
3940 flag_schedule_insns to 2.
3941 (sh_option_override): Check
3942 global_options_set.x_flag_schedule_insns.
3943 * opts.c (finish_options): Check opts_set->x_flag_section_anchors.
3944
e1dbd4c8
KT
39452010-10-16 Kai Tietz <kai.tietz@onevision.com>
3946
3947 * configure.ac: Make sure inhibit_libc remains false for mingw targets
3948 as cross.
3949 * configure: Regenerated.
3950
2edb37a6
XDL
39512010-10-15 Xinliang David Li <davidxl@google.com>
3952
3953 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New
3954 function.
3955 (use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning
3956 into a recursive function.
3957
ba492752
UB
39582010-10-15 Uros Bizjak <ubizjak@gmail.com>
3959
3960 * config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute.
3961 (*movdfcc_1): ditto.
3962
7e4aae92
JM
39632010-10-15 Joseph Myers <joseph@codesourcery.com>
3964
3965 * target.def (target_option.init_struct): New hook.
3966 * doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook.
3967 * doc/tm.texi: Regenerate.
3968 * hooks.c (hook_void_gcc_optionsp): New.
3969 * hooks.h (hook_void_gcc_optionsp): Declare.
3970 * langhooks-def.h (lhd_init_options_struct): Remove.
91b90ead 3971 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp.
7e4aae92
JM
3972 * langhooks.c (lhd_init_options_struct): Remove.
3973 * opts.c (init_options_struct): Also call
3974 targetm.target_option.init_struct.
3975 * config/i386/i386.c (ix86_option_init_struct,
3976 TARGET_OPTION_INIT_STRUCT): New.
3977 (ix86_option_optimization): Move some settings to
3978 ix86_option_init_struct.
3979 * config/pdp11/pdp11.c (pdp11_option_init_struct,
3980 TARGET_OPTION_INIT_STRUCT): New.
3981 (pdp11_option_optimization): Move some settings to
3982 pdp11_option_init_struct.
3983 * config/rs6000/rs6000.c (rs6000_option_optimization): Replace by
3984 rs6000_option_init_struct. Use options structure pointer.
91b90ead 3985 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
7e4aae92
JM
3986 * config/s390/s390.c (s390_option_init_struct,
3987 TARGET_OPTION_INIT_STRUCT): New.
3988 (s390_option_optimization): Don't set
3989 flag_asynchronous_unwind_tables here.
3990 * config/sh/sh.c (sh_option_init_struct,
3991 TARGET_OPTION_INIT_STRUCT): New.
3992 (sh_option_optimization): Don't set flag_finite_math_only here.
3993 * config/spu/spu.c (spu_option_optimization): Replace by
3994 spu_option_optimization. Use options structure pointer.
91b90ead 3995 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
7e4aae92 3996
1b1562a5
MM
39972010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3998
3999 * doc/md.texi (Standard Names): Add fma@var{m}4 documentation.
4000
4001 * doc/rtl.texi (RTX_TERNARY): Document FMA is ternary. Add
4002 SIGN_EXTRACT and ZERO_EXTRACT which were missing.
4003 (Standard names): Document fma.
4004
4005 * doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA,
4006 __FP_FAST_FMAF, __FP_FAST_FMAL.
4007
4008 * builitns.c (expand_builtin_mathfn_ternary): New function for
4009 expanding ternary math functions, like fma.
4010 (expand_builtin): Call it for the fma builtins.
4011
4012 * simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA
4013 ops at present.
4014
4015 * tree-vect-stmts.c (vectorizable_call): Allow 3 argument
4016 vectorizable functions to support vectorizing fma.
4017
4018 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
4019 Handle fma builtins.
4020
4021 * config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete.
4022 (UNSPEC_VSX_MSUB): Ditto.
4023 (UNSPEC_VSX_NMADD): Ditto.
4024 (UNSPEC_VSX_NMSUB): Ditto.
4025 (vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead
4026 of UNSPEC. Renumber combiner patterns.
4027 (vsx_fmsub<mode>4*): Ditto.
4028 (vsx_fnmadd<mode>4*): Ditto.
4029 (vsx_fnmsub<mode>4*): Ditto.
4030
4031 * config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete.
4032 (altivec_vmaddfp): Rewrite to use FMA rtl if no fused
91b90ead 4033 multiply/add. Rename combiner pattern, and add TARGET_FUSED_MADD test.
1b1562a5
MM
4034 (altivec_vmaddfp_1): Ditto.
4035 (altivec_vmaddfp_2): Ditto.
4036 (atlivec_mulv4sf3): Ditto.
4037 (altivec_vnmsubfp): Ditto.
4038 (altivec_vnmsubfp_1): Ditto.
4039 (altivec_vnmsubfp_2): Ditto.
4040 (altivec_vnmsubfp_3): Delete.
4041
91b90ead 4042 * config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support.
1b1562a5
MM
4043 (fmasf4_fpr): Ditto.
4044 (fmssf4_fpr): Ditto.
4045 (fnmasf4_fpr): Ditto.
4046 (fnmssf4_fpr): Ditto.
4047 (fmadf4): Ditto.
4048 (fmadf4_fpr): Ditto.
4049 (fmsdf4_fpr): Ditto.
4050 (fnmadf4_fpr): Ditto.
4051 (fnmsdf4_fpr): Ditto.
4052
4053 * optabs.h (OTI_fma): Add fma optab.
4054 (fma_optab): Ditto.
4055
4056 * genopinit.c (optabs): Set fma optab.
4057
4058 * rtl.def (FMA): Add FMA rtl.
4059
4060 * tree.h (mode_has_fma): New function to return if MODE supports a
4061 fast multiply and add instruction.
4062 * builtins.c (mode_has_fma): Ditto.
4063
695c3817
JH
40642010-10-15 Jan Hubicka <jh@suse.cz>
4065
4066 * lto-streamer-out.c (write_symbol): Use pointer set of seen
4067 objects instead of bitmap.
4068 (produce_symtab): Likewise; output defined symbols first.
4069
c1721efb
JZ
40702010-10-15 Jie Zhang <jie@codesourcery.com>
4071
4072 * doc/invoke.texi: Add -fstrict-volatile-bitfields to
4073 Option Summary and Index.
4074
638fd1e5
RG
40752010-10-15 Richard Guenther <rguenther@suse.de>
4076
4077 * tree.c (free_lang_data_in_decl): Clear DECL_INITIAL
4078 for automatic variables again.
4079
fbdaa0b2
JM
40802010-10-15 Joseph Myers <joseph@codesourcery.com>
4081
4082 * doc/extend.texi (Variable Length): Don't refer to VLAs not
4083 conforming to C99.
4084
a32b99ad
JM
40852010-10-15 Joseph Myers <joseph@codesourcery.com>
4086
4087 * config/rx/rx.c (rx_option_optimization): Change to
4088 rx_override_options_after_change. Don't change
4089 flag_lto_compression_level. Don't check for changes to whether
4090 FPU instructions can be used. Check and set only
4091 flag_finite_math_only, not other fast-math flags.
4092 (rx_option_override): Call rx_override_options_after_change.
4093 (TARGET_OPTION_OPTIMIZATION): Remove.
4094 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
4095
b534dca5
JM
40962010-10-15 Joseph Myers <joseph@codesourcery.com>
4097
4098 * config/rs6000/rs6000.c (rs6000_option_optimization): Don't
4099 disable section anchors for lang_hooks.name[4] != 'O'.
4100
25b0dd68
JM
41012010-10-15 Joseph Myers <joseph@codesourcery.com>
4102
4103 * config/frv/frv.c (frv_option_optimization,
4104 TARGET_OPTION_OPTIMIZATION): Remove.
4105 * config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove.
4106
936fcef1
MM
41072010-10-15 Michael Matz <matz@suse.de>
4108
4109 * cgraphunit.c (clone_of_p): Define unconditionally.
4110
7a1a20d1
RG
41112010-10-15 Richard Guenther <rguenther@suse.de>
4112
4113 PR lto/45957
ba492752 4114 * tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars.
7a1a20d1 4115
034c987c
CLT
41162010-10-15 Chung-Lin Tang <cltang@codesourcery.com>
4117
4118 * ifcvt.c (find_active_insn_before): New function.
4119 (find_active_insn_after): New function.
4120 (cond_exec_process_if_block): Use new functions to replace
4121 prev_active_insn() and next_active_insn().
4122
56f01f0b
YQ
41232010-10-14 Yao Qi <yao@codesourcery.com>
4124
4125 PR target/45447
4126 * config/arm/arm.c (arm_build_builtin_va_list): Assign
4127 va_list_name to TYPE_STUB_DECL (va_list_type).
4128
97ba0040
JH
41292010-10-14 Jan Hubicka <jh@suse.cz>
4130
4131 PR middle-end/45621
4132 * cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
4133 redirected to clone, be happy.
4134 * cgraph.h (cgraph node): Enable former_clone_of unconditinally.
4135 * cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
936fcef1 4136 former_clone_of unconditionally.
ba492752 4137
668ea4b1
IS
41382010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4139
91b90ead 4140 Merge from FSF apple 'trunk' branch.
ba4debed 4141 2006 Fariborz Jahanian <fjahanian@apple.com>
ba492752 4142
668ea4b1
IS
4143 Radars 4436866, 4505126, 4506903, 4517826
4144 * c-parser.c (c_parser, objc_property_attr_context) New flag.
4145 (c_lex_one_token): Handle property attributes.
4146 (c_parser_external_declaration): Handle @property.
4147 (c_parser_declaration_or_fndef): Warn on invalid attributes before
4148 @alias, @class, @end and @property objc keywords.
4149 (c_parser_objc_methodprotolist): Handle @property.
4150 (c_parser_objc_property_attrlist): New.
4151 (c_parser_objc_at_property): New.
4152 * c-typeck.c (build_component_ref): Handle CLASS.property syntax.
4153 (build_modify_expr): Likewise.
4154
e05eee49
JJ
41552010-10-14 Jakub Jelinek <jakub@redhat.com>
4156
4157 PR tree-optimization/46008
ba492752 4158 * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible.
e05eee49 4159
7d36e538
RG
41602010-10-14 Richard Guenther <rguenther@suse.de>
4161
4162 PR tree-optimization/44913
4163 * tree-data-ref.c (disjoint_objects_p): Remove.
4164 (dr_may_alias_p): Simplify. Only hand the base object to
4165 the alias-oracle.
4166 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
4167 some more trees, bail out instead of asserting.
4168 (ptr_derefs_may_alias_p): Likewise. Export.
4169 (refs_may_alias_p_1): Handle STRING_CSTs.
4170 * tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.
4171
180f8dbb
JM
41722010-10-14 Joseph Myers <joseph@codesourcery.com>
4173
4174 PR c/45969
4175 * c-typeck.c (build_binary_op): Don't try to compute a semantic
4176 type with excess precision for boolean operations.
4177
f8ed6dc5
JS
41782010-10-14 Jeremie Salvucci <jeremie.salvucci@free.fr>
4179 Basile Starynkevitch <basile@starynkevitch.net>
4180
4181 * gengtype.c: Include getopt.h and version.h.
4182
4183 (lang_bitmap, struct outf, outf_p)
4184 (get_output_file_with_visibility, oprintf): Definitions moved to
4185 gengtype.h
4186 (output_files, header_file, srcdir, srcdir_len, this_file)
4187 (do_dump): No more static variables.
4188 (do_debug): New.
4189 (dbgprint_count_type_at): Added new function.
4190 (gengtype_long_options): New.
4191 (print_usage, print_version, parse_program_options): New.
4192 (main): Call parse_program_options, and removed old option
4193 handling code. Added some debug output.
4194
4195 * gengtype.h: Updated copyright year.
4196 (lang_bitmap, struct outf, outf_p, header_file, oprintf)
4197 (get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
4198 Moved from gengtype.c to here.
ba492752
UB
4199 (do_debug, read_state_filename, write_state_filename): New variables.
4200 (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.
f8ed6dc5
JS
4201
4202 * Makefile.in:
4203 (REVISION): Always defined.
4204 (version.o): Removed ifdef REVISION_c.
4205 (s-gtype): Pass arguments to build/gengtype program.
4206 (build/version.o): Added building rule.
4207 (build/gengtype$(build_exeext)): Added build/version.o.
4208
560d6bd5
IS
42092010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4210
4211 Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
4212 * config/darwin-c.c (darwin_cpp_builtins): Define __weak and
4213 __strong macros.
4214
a61c3633
EB
42152010-10-14 Eric Botcazou <ebotcazou@adacore.com>
4216
4217 * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
4218 may_trap_or_fault_p instead of may_trap_p predicate.
4219 * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
4220 (substitute_placeholder_in_expr): Likewise.
4221 * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
4222 flag on MEM_REF nodes.
4223 (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
4224 flags on INDIRECT_REF nodes.
4225
8ac7fdcb
NF
42262010-10-14 Nathan Froyd <froydnj@codesourcery.com>
4227
ba492752 4228 * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc.
8ac7fdcb
NF
4229 (arm*-*-uclinux*eabi) <tm_file>: Likewise.
4230 (arm*-*-eabi*) <tm_file>: Likewise.
4231 (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
4232 (frv-*-*linux*) <tm_file>: Likewise.
4233 * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
4234 and associated helper macros.
4235 * config/frv/frv-abi.h: Delete.
4236
1e85e720
RG
42372010-10-14 Richard Guenther <rguenther@suse.de>
4238
4239 PR lto/44561
4240 * tree.def (NULLPTR_TYPE): New tree code.
4241 * dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
4242 * dwarf2out.c (is_base_type): Likewise.
4243 (gen_type_die_with_usage): Likewise.
4244 * sdbout.c (plain_type_1): Likewise.
4245 * tree.c (build_int_cst_wide): Likewise.
ba492752 4246 * gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal.
1e85e720 4247
48476d13
JM
42482010-10-14 Joseph Myers <joseph@codesourcery.com>
4249
4250 * params.c (params_finished): New.
4251 (add_params): Assert !params_finished.
4252 (finish_params): New.
4253 (set_param_value_internal): Take params and params_set
4254 parameters. Assert params_finished.
4255 (set_param_value, maybe_set_param_value): Take params and
4256 params_set parameters. Update calls to set_param_value_internal.
4257 (set_default_param_value): Assert !params_finished. Don't use
4258 set_param_value_internal.
4259 (default_param_value, init_param_values): New.
4260 * params.h (struct param_info): Change value to default_value.
4261 Remove set.
4262 (set_param_value, maybe_set_param_value): Add params and
4263 params_set parameters.
4264 (PARAM_VALUE): Get parameters from global_options.
4265 (PARAM_SET_P): Remove.
4266 (finish_params, default_param_value, init_param_values): New.
4267 * common.opt (param_values): New Variable.
4268 * config/arm/arm.c (arm_option_override): Pass extra arguments to
4269 maybe_set_param_value.
4270 * config/i386/i386.c (ix86_option_override_internal): Pass extra
4271 arguments to maybe_set_param_value.
4272 * config/picochip/picochip.c (picochip_option_override): Pass
4273 extra arguments to maybe_set_param_value.
4274 * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
4275 extra arguments to maybe_set_param_value.
4276 * config/s390/s390.c (s390_option_override): Use
4277 maybe_set_param_value instead of set_param_value. Pass extra
4278 arguments to maybe_set_param_value.
4279 * config/sparc/sparc.c (sparc_option_override): Pass extra
4280 arguments to maybe_set_param_value.
4281 * config/spu/spu.c (spu_option_override): Pass extra arguments to
4282 maybe_set_param_value.
4283 * opts.c (handle_param): Take opts and opts_set parameters.
4284 Update call to set_param_value.
ba492752 4285 (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive,
48476d13
JM
4286 initial_loop_invariant_max_bbs_in_loop): Remove.
4287 (init_options_once): Don't set them.
4288 (init_options_struct): Initialize parameters structures.
4289 (default_options_optimization): Use default_param_value when
4290 restoring defaults. Update calls to maybe_set_param_value.
4291 (finish_options): Update calls to maybe_set_param_value.
4292 (common_handle_option): Update calls to handle_param and
4293 set_param_value.
ba492752 4294 * toplev.c (DEFPARAM): Update definition for changes to param_info.
48476d13
JM
4295 (general_init): Call finish_params.
4296
4af476d7
NC
42972010-10-14 Nick Clifton <nickc@redhat.com>
4298
4299 * config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
4300 (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
4301 (FIRST_PSEUDO_REGISTER): Increase by one.
4302 (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
4303 (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
4304 (MODES_TIEABLE): Call mn10300_modes_tieable.
ba492752 4305 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS.
4af476d7
NC
4306 (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
4307 (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
4308 (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
4309 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
4310 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
4311 (mn10300_cc_status_mdep): Delete.
4312 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
4313 * config/mn10300/mn10300 (mn10300_option_override): Stop disabling
4314 the combine-stack-adjust pass.
4315 (print_operand): Use the mode of the comparison operation to
4316 select the comparison suffix.
4317 (notice_update_cc): Delete.
4318 (mn10300_secondary_reload_class): Remove test for stack pointer
4319 based arithmetic.
4320 (output_tst): Rename to mn10300_output_cmp.
4321 (impossible_plus_operand): Move into predicates.md.
4322 (mn10300_legitimize_address): Make static.
4323 (mn10300_legitimate_address_p): Make static. Only allow SI sized
4324 constant pic operands.
4325 (mn10300_legitimate_constant_p): New function.
4326 (mn10300_case_values_threshold): Make static.
4327 (mn10300_hard_regno_mode_ok): New function.
4328 (mn10300_modes_tieable): New function.
4329 (mn10300_select_cc_mode): New function.
4330 * config/mn10300/predicates.md (impossible_plus_operand): Define.
4331 * config/mn10300/mn10300-protos.h: Tidy.
4332 (mn10300_legitimate_constant_p, mn10300_modes_tieable)
4333 (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
4334 * config/mn10300/mn10300.md (cc attribute): Delete. Replace
4335 with clobbers or sets of CC_REG.
4336 (CC_REG): Define.
4337 (mov*): Remove use of CLR instruction.
4338 (cbranch_si4_<code>): New pattern/split.
4339 (integer_conditional_branch): New pattern.
4340 (cbranch_sf4_<code>): New pattern/split.
4341 (float_conditional_branch): New pattern.
4342 (casesi): Use addsi3 pattern instead of movsi pattern to add and
4343 move a value at the same time.
4344 (cc0 peepholes): Remove.
4345
cfeb0fa8
AB
43462010-10-14 Andrey Belevantsev <abel@ispras.ru>
4347
4348 * sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE
4349 on RTX_FRAME_RELATED_P insns and the insn to which
4350 NOTE_INSN_EPILOGUE_BEG is attached.
4351 * sched-vis.c (print_value): Allow NULL value.
4352
3e6a3f6f
AB
43532010-10-14 Andrey Belevantsev <abel@ispras.ru>
4354
4355 PR rtl-optimization/45570
4356 * sel-sched-ir.c (cfg_preds_1): When walking out of the region,
4357 assert that we are pipelining outer loops. Allow returning
4358 zero predecessors.
4359
262d8232
AB
43602010-10-14 Andrey Belevantsev <abel@ispras.ru>
4361
4362 * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
4363 (tidy_control_flow): Tidy vertical space.
4364 (sel_remove_bb): New variable idx. Use it to remember the basic
4365 block index before deleting the block.
4366 (sel_remove_empty_bb): Remove dead code, simplify and insert to ...
4367 (sel_merge_blocks): ... here.
4368 * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
4369
6699b754
JJ
43702010-10-14 Jakub Jelinek <jakub@redhat.com>
4371
4372 * cse.c (is_dead_reg): Change into inline function that is not
4373 called through for_each_rtx.
4374 (set_live_p): Adjust caller.
4375 (insn_live_p): Don't reset DEBUG_INSNs here.
ba492752 4376 (struct dead_debug_insn_data): New data.
6699b754
JJ
4377 (count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
4378 (delete_trivially_dead_insns): If there is just one setter for the
4379 dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
4380 and add DEBUG_INSN for it right before the removed setter and
4381 use the DEBUG_EXPR instead of the dead pseudo.
4382
d2e60b7b 43832010-10-14 Zdenek Dvorak <rakdver@kam.uniff.cz>
6699b754 4384
d2e60b7b
ZD
4385 * et-forest.c (et_nca): Return NULL immediately when
4386 the dominance forest has disjoint components.
4387
854edfcd
VM
43882010-10-13 Vladimir Makarov <vmakarov@redhat.com>
4389
4390 * ira.c (setup_class_hard_regs): Fix typo in indexing
4391 ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
4392
208d8b55
TWL
43932010-10-14 Tijs Wiebe Lefering <twlevo@gmail.com>
4394
4395 * graph.c (inbb): New variable.
4396 (start_bb): Set inbb to 1 if output is inside of a building block.
4397 (end_bb): Check if output is inside of a building block.
4398
8908df28
EB
43992010-10-13 Eric Botcazou <ebotcazou@adacore.com>
4400
4401 PR rtl-optimization/45912
4402 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
4403 regno of registers instead of their index to compute the alignment.
4404
1e27129f
L
44052010-10-13 H.J. Lu <hongjiu.lu@intel.com>
4406
4407 * config/i386/i386.c (ix86_build_const_vector): Check vector
4408 mode instead of scalar mode.
4409 (ix86_build_signbit_mask): Likewise.
4410 (ix86_expand_fp_absneg_operator): Updated.
4411 (ix86_expand_copysign): Likewise.
4412 (ix86_expand_int_vcond): Likewise.
4413 (ix86_emit_swdivsf): Likewise.
4414 (ix86_sse_copysign_to_positive): Likewise.
4415 (ix86_expand_sse_fabs): Likewise.
4416 * config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
4417 * config/i386/sse.md (copysign<mode>3): Likewise.
4418 (sse2_cvtudq2ps): Likewise.
4419 (vec_unpacku_float_hi_v4si): Likewise.
4420 (vec_unpacku_float_lo_v4si): Likewise.
4421
4422 * config/i386/i386.c (ix86_builtins): Add
4423 IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
4424 (bdesc_args): Likewise.
ba492752 4425 (ix86_builtin_vectorized_function): Support
1e27129f
L
4426 IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
4427 IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
4428 and IX86_BUILTIN_CVTPS2DQ256.
4429 (ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.
4430
4431 * config/i386/sse.md (STORENT_MODE): New.
4432 (VEC_FLOAT_MODE): Likewise.
4433 (VEC_EXTRACT_MODE): Likewise.
4434 (*avx_cvtdq2pd256_2): Likewise.
4435 (vec_pack_trunc_v4df): Likewise.
4436 (vec_interleave_highv8sf): Likewise.
4437 (vec_interleave_lowv8sf): Likewise.
4438 (storent<mode>): Macroized.
4439 (<code><mode>2: absneg): Likewise.
4440 (copysign<mode>3): Likewise.
4441 (vec_extract<mode>): Likewise.
4442
4443 PR target/44180
4444 * config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
4445 for V8SFmode.
4446
44472010-10-13 Richard Guenther <rguenther@suse.de>
4448 H.J. Lu <hongjiu.lu@intel.com>
4449
4450 * config/i386/sse.md (reduc_splus_v8sf): Add.
4451 (reduc_splus_v4df): Likewise.
4452 (vec_unpacks_hi_v8sf): Likewise.
4453 (vec_unpacks_lo_v8sf): Likewise.
4454 (*avx_cvtps2pd256_2): Likewise.
4455 (vec_unpacks_float_hi_v8si): Likewise.
4456 (vec_unpacks_float_lo_v8si): Likewise.
4457 (vec_interleave_highv4df): Likewise.
4458 (vec_interleave_lowv4df): Likewise.
4459
0d8485e0
RG
44602010-10-13 Richard Guenther <rguenther@suse.de>
4461
4462 PR objc/45878
4463 * gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
4464 alone if there are no virtual methods.
4465
bde8a146
RH
44662010-10-13 Richard Henderson <rth@redhat.com>
4467
4468 * expr.c (build_personality_function): Take parameter LANG instead
4469 of parameter NAME. Build the name based on the lang prefix and the
4470 unwind method in use.
4471 * tree.c (lhd_gcc_personality): Update call to
4472 build_personality_function.
4473
74e80a24
RG
44742010-10-13 Richard Guenther <rguenther@suse.de>
4475
4476 PR objc/45878
4477 * tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref.
4478
b1ba284c
EB
44792010-10-13 Eric Botcazou <ebotcazou@adacore.com>
4480
4481 * cse.c (cse_insn): Fix thinko in the canonicalization of USE insns.
4482 Canonicalize input operands of ASM_OPERANDS insns.
4483
1b7d2dd1
RG
44842010-10-13 Richard Guenther <rguenther@suse.de>
4485
4486 PR tree-optimization/45788
4487 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay
4488 EH update until fixup-cfg.
4489
565d018d
JB
44902010-10-13 Julian Brown <julian@codesourcery.com>
4491
4492 * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
4493 from CORE_REGS and GENERAL_REGS classes.
4494 * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
4495 final constraint for register preferencing.
4496
71d61348
RG
44972010-10-13 Richard Guenther <rguenther@suse.de>
4498
4499 PR tree-optimization/45970
4500 * tree-ssa-alias.h (stmt_kills_ref_p): Declare.
4501 * tree-ssa-alias.c (stmt_kills_ref_p_1): New function.
4502 (stmt_kills_ref_p): Likewise.
4503 * tree-ssa-dse.c (dse_optimize_stmt): Use it.
4504
cb89b4b0
RG
45052010-10-13 Richard Guenther <rguenther@suse.de>
4506
4507 PR tree-optimization/45982
4508 * tree-ssa-structalias.c (make_constraints_to): New function.
4509 (make_constraint_to): Implement in terms of make_constraints_to.
4510 (find_func_aliases): Properly make return values of pure/const
4511 functions escape if they assign to sth that is not a pointer.
4512
72351fa3
RG
45132010-10-13 Richard Guenther <rguenther@suse.de>
4514
4515 PR middle-end/45874
4516 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
4517 Fixup the CFG when EH was fixed up.
4518
d59dc888
IR
45192010-10-13 Ira Rosen <irar@il.ibm.com>
4520
4521 * tree-vect-slp.c (vect_get_constant_vectors): Fix comment.
4522 Use operand's type for POINTER_PLUS_EXPR.
4523
3f6d4c52
AO
45242010-10-13 Alexandre Oliva <aoliva@redhat.com>
4525
4526 * c-parser.c (c_parser_for_statement): Initialize incr.
4527
98d30e4f
XDL
45282010-10-12 Xinliang David Li <davidxl@google.com>
4529
4530 PR tree-optimization/45972
18aebb0e 4531 * tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis
98d30e4f
XDL
4532 with too many arguments.
4533
f4684242
JJ
45342010-10-12 Jakub Jelinek <jakub@redhat.com>
4535
4536 PR fortran/45636
4537 * tree-ssa-forwprop.c: Include expr.h.
4538 (constant_pointer_difference, simplify_builtin_call): New functions.
4539 (tree_ssa_forward_propagate_single_use_vars): Call
4540 simplify_builtin_call on builtin calls.
4541
d761137f
EB
45422010-10-12 Eric Botcazou <ebotcazou@adacore.com>
4543
4544 * config/sparc/sparc.md (*adddi3_insn_sp32): Rename.
4545 (*adddi3_extend_sp32): Likewise.
4546 (*subdi3_insn_sp32): Likewise.
4547 (*subdi3_extend_sp32): Likewise.
4548 (*negdi2_sp32): Use negative test for consistency.
4549
a18bdccd
NF
45502010-10-12 Nathan Froyd <froydnj@codesourcery.com>
4551
ba492752 4552 * libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE.
a18bdccd
NF
4553 (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
4554 * config/fixed-bit.h: Likewise.
4555 * config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
4556 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
4557 * system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
4558 * doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
4559 (DF_SIZE): Likewise.
4560 * doc/tm.texi: Regenerate.
4561
d2333f6e
NF
45622010-10-12 Nathan Froyd <froydnj@codesourcery.com>
4563
4564 * config/rs6000/predicates.md (scc_rev_comparison_operator): New.
4565 * config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New.
4566 (*isel_reversed_unsigned_<mode>): New.
4567 * config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE
4568 as valid comparisons and adjust operands and output appropriately.
4569 (rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code.
4570
0c86e0dd
CLT
45712010-10-12 Chung-Lin Tang <cltang@codesourcery.com>
4572
4573 * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
4574 DATA_ALIGNMENT and add COND parameter. Update comments above.
4575 (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
ba492752 4576 (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack.
0c86e0dd 4577
515fe073
L
45782010-10-12 H.J. Lu <hongjiu.lu@intel.com>
4579
4580 PR bootstrap/45958
ba492752 4581 * exec-tool.in: Support '-plugin' as the second option to the linker.
515fe073 4582
533f611a
RH
45832010-10-12 Richard Henderson <rth@redhat.com>
4584
4585 PR middle-end/45962
4586 * cfgexpand.c (add_stack_var): Ensure every variable has 1 byte.
4587 (expand_stack_vars): Assert large base allocated when used.
4588
1f181fde
RG
45892010-10-12 Richard Guenther <rguenther@suse.de>
4590
4591 * tree-ssa-structalias.c (get_constraint_for_1): Constants
4592 only point to nonlocal, not anything.
4593
83e350f7
HS
45942010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
4595
4596 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj
4597 unwind info for exceptions.
4598
cf3e1041
RO
45992010-10-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4600
4601 PR testsuite/45851
4602 * doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options):
4603 Document optional target selector.
4604
f938f60c
JM
46052010-10-12 Joseph Myers <joseph@codesourcery.com>
4606
4607 * flag-types.h: New.
4608 * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
4609 (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of
4610 options.h.
4611 (OPTIONS_H): Define.
4612 (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
4613 of options.h.
4614 * configure.ac (tm_include_list): Include options.h not flags.h.
4615 * configure: Regenerate.
4616 * flags.h: Include flag-types.h. Include options.h at top of file
4617 again.
4618 (enum debug_info_type, enum debug_info_level, enum
4619 debug_info_usage, enum symbol_visibility, struct visibility_flags,
4620 enum ira_algorithm, enum ira_region, enum excess_precision, enum
ba492752
UB
4621 graph_dump_types, enum stack_check_type,
4622 enum warn_strict_overflow_code): Move to flag-types.h
f938f60c
JM
4623 * opth-gen.awk: Include flag-types.h in options.h.
4624
d95828db
JJ
46252010-10-12 Jakub Jelinek <jakub@redhat.com>
4626
a4feaa71
JJ
4627 * expr.c (store_expr): Share code for STRING_CST and
4628 MEM_REF of &STRING_CST cases. Don't require BLKmode, instead
4629 check if target is a MEM.
4630
d95828db
JJ
4631 * rtl.h: Include hashtab.h.
4632 (iterative_hash_rtx): New prototype.
4633 * rtl.c (iterative_hash_rtx): New function.
4634 * dwarf2out.c (dw_loc_list_node): Add hash and emitted fields.
ba492752 4635 (output_loc_list): Return immediately if emitted is set, set it.
d95828db
JJ
4636 (hash_loc_operands, hash_locs, hash_loc_list,
4637 compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq,
4638 optimize_location_lists_1, optimize_location_lists): New function.
4639 (dwarf2out_finish): Call optimize_location_lists.
4640 * Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H).
4641
8207e1fb
RW
46422010-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4643
4644 PR testsuite/45974
4645 Revert:
4646 * Makefile.in ($(lang_checks_parallel))
4647 ($(lang_checks_parallelized)): Use single quotes for
4648 $(RUNTESTFLAGS), to allow passing quoted content.
4649
5dbae367
JDA
46502010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4651
4652 * config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return
4653 actual_oldval. Use __builtin_expect.
4654 (SUBWORD_VAL_CAS): Likewise.
4655
2c8865f1
NF
46562010-10-11 Nathan Froyd <froydnj@codesourcery.com>
4657
4658 * recog.c (nonmemory_operand): Call immediate_operand for
4659 CONSTANT_P operands.
4660
bbc8841b
UB
46612010-10-11 Uros Bizjak <ubizjak@gmail.com>
4662
4663 * config/i386/i386.md (movmem<mode>): Macroize expander from
4664 movmem{si,di} using SWI48 mode iterator.
4665 (*strmovsi_1): Macroize insn pattern from *strmovsi_1 and
4666 *strmovsi_rex_1 using P mode iterator.
4667 (*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1.
4668 (*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1.
4669 (*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64.
4670 (*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64.
4671 (setmem<mode>): Macroize expander from setmem{si,di} using
4672 SWI48 mode iterator.
4673 (*strsetsi_1): Macroize insn pattern from *strsetsi_1 and
4674 *strsetsi_rex_1 using P mode iterator.
4675 (*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1.
4676 (*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1.
4677 (*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64.
4678 (*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64.
4679 (*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1.
4680 (*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1.
4681 (strlen<mode>): Macroize expander from strlen{si,di} using SWI48x
4682 mode iterator.
4683 (*strlenqi_1): Macroize insn pattern from *strlenqi_1 and
4684 *strlenqi_rex_1 using P mode iterator.
4685
579c1bf3
BS
46862010-10-11 Bernd Schmidt <bernds@codesourcery.com>
4687
4688 PR bootstrap/45445
4689 * ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New
4690 static functions.
4691 (mark_ref_live, mark_ref_dead): Use them.
4692 (make_pseudo_conflict): New arg ORIG_DREG. All callers changed.
4693 Save the original reg, and use the new functions.
4694 (check_and_make_def_use_conflict): New arg ORIG_DREG. All callers
4695 changed.
4696 (check_and_make_def_conflict): Save the original reg.
4697
3f1f0ae3
MJ
46982010-10-11 Martin Jambor <mjambor@suse.cz>
4699
4700 PR middle-end/45699
4701 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among
4702 thunks.
4703
e4590d63
RW
47042010-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4705
9dd57a6e
RW
4706 * Makefile.in ($(lang_checks_parallel))
4707 ($(lang_checks_parallelized)): Use single quotes for
4708 $(RUNTESTFLAGS), to allow passing quoted content.
4709
e4590d63
RW
4710 PR bootstrap/35855
4711 * opt-functions.awk (BEGIN): New section.
4712 (lower, upper, digit, alnum): New variables.
4713 (static_var, opt_sanitized_name): Use alnum instead of character
4714 classes, for non-C locale.
4715 * optc-gen.awk: Likewise.
4716 * opth-gen.awk: Likewise.
4717
fba42e24
AS
47182010-10-11 Anatoly Sokolov <aesok@post.ru>
4719
4720 * target.def (preferred_reload_class): New hook.
4721 * doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
4722 * doc/tm.texi: Regenerate.
4723 * targhooks.c (default_preferred_reload_class): New function.
4724 * targhooks.h (default_preferred_reload_class): Declare.
4725 * reload.c (find_dummy_reload): Change preferred_class variable type
4726 from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
4727 target hook.
4728 (find_reloads): Change goal_alternative array type from int to
4729 reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
4730 (push_reload, find_reloads_address_part): Use
4731 TARGET_PREFERRED_RELOAD_CLASS target hook.
4732 * reload1.c (emit_input_reload_insns): Ditto.
4733 * ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
4734 hook. Change rclass argument and secondary_class variable types from
4735 'enum reg_class' to reg_class_t.
4736
4737 * config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
4738 * config/i386/i386-protos (ix86_preferred_reload_class): Remove.
4739 * config/i386/i386.c (ix86_preferred_reload_class): Make static.
4740 Change regclass argument and result types from enum reg_class to
4741 reg_class_t.
4742 (TARGET_PREFERRED_RELOAD_CLASS): Define.
4743
43c36287
EB
47442010-10-11 Eric Botcazou <ebotcazou@adacore.com>
4745
4746 * simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics
4747 in masking operations.
4748 (simplify_const_unary_operation): Likewise.
4749 (simplify_binary_operation_1): Likewise.
4750 (simplify_const_binary_operation): Likewise.
4751 (simplify_const_relational_operation): Likewise.
4752 (simplify_ternary_operation): Likewise.
4753 (simplify_immed_subreg): Likewise.
4754
74b90fe2
JDA
47552010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4756
4757 PR middle-end/45862
4758 * doc/tm.texi.in (SUPPORTS_WEAK): Update.
4759 (TARGET_SUPPORTS_WEAK): New.
4760 * doc/tm.texi: Regenerate.
4761 * defaults.h (SUPPORTS_WEAK): Update comment.
4762 (TARGET_SUPPORTS_WEAK): New.
4763 * dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
4764 * varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
4765 SUPPORTS_WEAK.
4766 (merge_weak, declare_weak, do_assemble_alias, supports_one_only,
4767 make_decl_one_only): Likewise.
4768 * config/pa/som.h (SUPPORTS_WEAK): Rename defines to
4769 TARGET_SUPPORTS_WEAK.
4770 (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
4771 instead of SUPPORTS_WEAK.
4772
2861cfa1
RO
47732010-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4774
4775 * config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h.
4776
5095da95
NF
47772010-10-11 Nathan Froyd <froydnj@codesourcery.com>
4778
4779 * vec.h (VEC_qsort): Define.
4780 * dbxout.c (output_used_types): Use it.
4781 * df-scan.c (df_sort_and_compress_refs): Likewise.
4782 (df_sort_and_compress_mws): Likewise.
4783 * genautomata.c (uniq_sort_alt_states): Likewise.
4784 (evaluate_equiv_classes): Likewise.
4785 (output_trans_table): Likewise.
4786 (output_state): Likewise.
4787 * gimplify.c (compare_case_labels): Likewise.
4788 * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
4789 * ipa.c (build_cdtor_fns): Likewise.
4790 * lto.c (lto_wpa_write_files): Likewise.
4791 * sel-sched.c (fill_vec_av_set): Likewise.
4792 * tree-predcom.c (determine_roots_comp): Likewise.
4793 * tree-sra.c (sort_and_spliace_var_accesses): Likewise.
4794 (splice_param_accesses): Likewise.
4795 * tree-ssa-live.c (dump_enumerated_decls): Likewise.
4796 * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
4797 (reassociate_bb): Likewise.
4798 * tree-ssa-sccvn.c (sort_scc): Likewise.
4799 * tree-ssa-structalias.c (sort_fieldstack): Likewise.
4800
3748f5c9
ILT
48012010-10-11 Ian Lance Taylor <iant@google.com>
4802
4803 * tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5.
4804 * emit-rtl.c (set_mem_attributes_minus_bitpos): Only check
4805 TREE_THIS_NOTRAP when appropriate.
bbc8841b 4806 (get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL.
3748f5c9
ILT
4807 * gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to
4808 newly created MEM_REF.
4809
c159751b
HS
48102010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
4811
bbc8841b 4812 Nathan Froyds patch to hooks FUNCTION_ARG etc.
c159751b
HS
4813 * config/picochip/picochip-protos.h (picochip_function_arg): Delete.
4814 (picochip_incoming_function_arg): Delete.
4815 (picochip_arg_advance): Delete.
4816 * config/picochip/picochip.h (FUNCTION_ARG): Delete.
4817 (FUNCTION_INCOMING_ARG): Delete.
4818 (FUNCTION_ARG_ADVANCE): Delete.
4819 * config/picochip/picochip.c (picochip_function_arg): Take a
4820 const_tree and a bool.
4821 (picochip_incoming_function_arg): Likewise.
4822 (picochip_arg_advance): Likewise.
4823 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
4824 (TARGET_FUNCTION_ARG_ADVANCE): Define.
4825
7d26a391
JDA
48262010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4827
4828 PR middle-end/45955
4829 * ipa.c (build_cdtor): Delete endless loop.
4830
d6d5951a
AK
48312010-10-07 Andi Kleen <ak@linux.intel.com>
4832
4833 * Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add
4834 checksum-options.
4835 (checksum-options): Add.
4836 (cc1-dummy): Remove.
4837 (cc1-checksum): Change to run checksum over object files
4838 and options only.
4839 * dummy-checksum.c: Remove.
4840 * genchecksum.c: Update copyright.
4841 (usage): Allow multiple arguments.
4842 (BLOCKSIZE): Add.
4843 (dosum): Change for incremental checksum. Remove C output.
4844 (main): Iterate over all argument files. Add C output.
4845
128dc8e2
JM
48462010-10-11 Joseph Myers <joseph@codesourcery.com>
4847
4848 * params.c (set_param_value_internal): New.
4849 (set_param_value): Use set_param_value_internal.
4850 (maybe_set_param_value, set_default_param_value): New.
4851 * params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues.
4852 (maybe_set_param_value, set_default_param_value): Declare.
bbc8841b 4853 * config/arm/arm.c (arm_option_override): Use maybe_set_param_value.
128dc8e2
JM
4854 * config/i386/i386.c (ix86_option_override_internal): Use
4855 maybe_set_param_value.
4856 * config/ia64/ia64.c (ia64_option_default_params,
4857 TARGET_OPTION_DEFAULT_PARAMS): New.
4858 (ia64_option_optimization): Move some code to
4859 ia64_option_default_params.
4860 * config/picochip/picochip.c (picochip_option_override): Use
4861 maybe_set_param_value.
4862 * config/rs6000/rs6000.c (rs6000_option_default_params,
4863 TARGET_OPTION_DEFAULT_PARAMS): New.
4864 (rs6000_option_override_internal): Use maybe_set_param_value.
4865 (rs6000_option_optimization): Move some code to
4866 rs6000_option_default_params.
bbc8841b 4867 * config/s390/s390.c (s390_option_override): Use maybe_set_param_value.
128dc8e2
JM
4868 * config/sh/sh.c (sh_option_default_params,
4869 TARGET_OPTION_DEFAULT_PARAMS): New.
bbc8841b 4870 (sh_option_optimization): Move some code to sh_option_default_params.
128dc8e2
JM
4871 * config/sparc/sparc.c (sparc_option_override): Use
4872 maybe_set_param_value.
4873 * config/spu/spu.c (spu_option_default_params,
4874 TARGET_OPTION_DEFAULT_PARAMS): New.
bbc8841b 4875 (spu_option_optimization): Move some code to spu_option_default_params.
128dc8e2
JM
4876 (spu_option_override): Use maybe_set_param_value.
4877 * doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook.
4878 * doc/tm.texi: Regenerate.
4879 * ggc-common.c (init_ggc_heuristics): Use set_default_param_value.
4880 * opts.c (init_options_once): Use PARAM_VALUE not direct access to
4881 compiler_params.
4882 (default_options_optimization): Use maybe_set_param_value.
4883 (finish_options): Use maybe_set_param_value.
4884 * target.def (target_option.default_params): New hook.
bbc8841b 4885 * toplev.c (general_init): Call targetm.target_option.default_params.
128dc8e2 4886
49077698
IR
48872010-10-11 Ira Rosen <irar@il.ibm.com>
4888
4889 PR tree-optimization/45902
4890 * tree-vect-slp.c (vect_get_constant_vectors): Use statement's
4891 vector type for constants, unless it's a pointer.
4892
a6510374
AK
48932010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4894
4895 * config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg.
4896
922a06c3
JJ
48972010-10-11 Jakub Jelinek <jakub@redhat.com>
4898
4899 PR target/45870
4900 * config/i386/i386.c (ix86_delegitimize_tls_address): New function.
4901 (ix86_delegitimize_address): Use it.
4902
e9acb323
EB
49032010-10-10 Eric Botcazou <ebotcazou@adacore.com>
4904
4905 * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
4906
bdf057c6
UB
49072010-10-10 Uros Bizjak <ubizjak@gmail.com>
4908
4909 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
4910 to cum struct in the call to function_arg_advance.
4911 (alpha_function_arg_advance): Mark named as unused.
4912
0e88eb86
RS
49132010-10-10 Richard Sandiford <rdsandiford@googlemail.com>
4914
4915 * config/mips/mips.c (mips_handle_option): Make "value" with
4916 ATTRIBUTE_UNUSED.
4917
3a42502d
RH
49182010-10-09 Richard Henderson <rth@redhat.com>
4919
4920 PR rtl-opt/33721
4921 * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
4922 remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN. Honor
4923 required_align, tidy the code a bit. Emit split_stack code in the
4924 right place. Mark the return value with the alignment properly.
4925 * expr.h (allocate_dynamic_stack_space): Update decl.
4926 * builtins.c (expand_builtin_apply): Update call to
4927 allocate_dynamic_stack_space.
4928 (expand_builtin_alloca): Likewise. Remove TARGET parameter.
4929 * calls.c (initialize_argument_information): Update call to
4930 allocate_dynamic_stack_space.
4931 (expand_call): Likewise.
4932
4933 * cfgexpand.c (get_decl_align_unit): Don't limit alignment.
4934 Don't update_stack_alignment here.
4935 (alloc_stack_frame_space): Make ALIGN unsigned.
4936 (stack_var_cmp): Sort by alignment too.
4937 (partition_stack_vars): Don't merge large and small alignment vars.
4938 (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
4939 Take care when BASE is not virtual_stack_vars_rtx.
4940 (expand_stack_vars): Allocate dynamic stack space for large
4941 alignment variables.
4942 (expand_one_stack_var): Update all to expand_one_stack_var_at.
4943 (defer_stack_allocation): True for large alignment vars.
4944 (update_stack_alignment): Merge into ...
4945 (expand_one_var): ... here.
4946 (gimple_expand_cfg): Place code from expand_stack_vars.
4947
a5f4f531
NF
49482010-10-09 Nathan Froyd <froydnj@codesourcery.com>
4949
4950 * config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
4951 * config/pdp11/pdp11.c (pdp11_function_arg): New function.
4952 (pdp11_function_arg_advance): New function.
4953 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
4954
4471aff6
NF
49552010-10-09 Nathan Froyd <froydnj@codesourcery.com>
4956
4957 * libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
4958 * libgcc2.c: Likewise.
4959
5074d72c
RG
49602010-10-09 Richard Guenther <rguenther@suse.de>
4961
4962 PR lto/45956
4963 * lto-streamer-in.c (lto_register_var_decl_in_symtab):
4964 Properly check if a decl is an automatic var.
4965
865e8e8e
RG
49662010-10-09 Richard Guenther <rguenther@suse.de>
4967
4968 PR lto/45947
4969 * tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
4970
9fb41e15
NF
49712010-10-09 Nathan Froyd <froydnj@codesourcery.com>
4972
4973 * config/mmix/mmix-protos.h (mmix_function_arg): Delete.
4974 * config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
4975 * config/mmix/mmix.c (mmix_function_arg): Rename to...
4976 (mmix_function_arg_1): ...this. Make static. Take a const_tree and
4977 bool arguments.
4978 (mmix_function_arg): New function.
4979 (mmix_function_incoming_arg): New function.
4980 (mmix_function_arg_advance): New function.
4981 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
4982 (TARGET_FUNCTION_ARG_ADVANCE): Define.
4983
8f8a46ba
NF
49842010-10-09 Nathan Froyd <froydnj@codesourcery.com>
4985
4986 * config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
4987 * config/vax/vax.c (vax_function_arg): New function.
4988 (vax_function_arg_advance): New function.
4989 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
4990
fd29bdaf
NF
49912010-10-09 Nathan Froyd <froydnj@codesourcery.com>
4992
4993 * config/pa/pa-protos.h (function_arg): Delete.
4994 * config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
4995 * config/pa/pa.c (function_arg): Rename to...
4996 (pa_function_arg): ...this. Make static. Take a const_tree and
4997 a bool.
4998 (pa_function_arg_advance): New function.
4999 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5000
13d3961c
NF
50012010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5002
5003 * config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5004 * config/m68k/m68k.c (m68k_function_arg): New function.
5005 (m68k_function_arg_advance): New function.
5006 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5007
733bdfbd
NF
50082010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5009
5010 * config/avr/avr-protos.h (function_arg): Delete.
5011 (function_arg_advance): Delete.
5012 * config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5013 * config/avr/avr.c (function_arg): Rename to...
5014 (avr_function_arg): ...this. Make static. Take a const_tree and
5015 a bool.
5016 (function_arg_advance): Rename to...
5017 (avr_function_arg_advance): ...this. Make static. Take a
5018 const_tree and a bool.
5019 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5020
0c3a9758
NF
50212010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5022
5023 * config/alpha/alpha-protos.h (function_arg): Delete.
5024 * config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5025 * config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
5026 * config/alpha/alpha.c (function_arg): Rename to...
5027 (alpha_function_arg): ...this. Make static. Take a const_tree and
5028 a bool. Delete TARGET_ABI_UNICOSMK code.
5029 (alpha_function_arg_advance): New function.
5030 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5031
0851c6e3
NF
50322010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5033
5034 * config/mep/mep-protos.h (mep_function_arg): Delete.
5035 (mep_function_arg_advance): Delete.
5036 * config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5037 * config/mep/mep.c (mep_function_arg): Make static. Take a
5038 const_tree and a bool.
5039 (mep_function_arg_advance): Likewise.
5040 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5041
e5160e93
RG
50422010-10-09 Richard Guenther <rguenther@suse.de>
5043
5044 PR tree-optimization/45945
bdf057c6 5045 * tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning.
e5160e93 5046
1802378d
EB
50472010-10-09 Eric Botcazou <ebotcazou@adacore.com>
5048
5049 PR tree-optimization/45612
5050 * ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
5051 Test LABEL_DECLs as well. Fix formatting issues.
5052 (verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
5053 whose label is present in NON_SSA_VARS.
5054 (mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED. Handle LABEL_DECLs
5055 as well. Fix formatting issues.
5056 (visit_bb): Fix typos and formatting issue.
5057
64978ba3
NF
50582010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5059
5060 PR tree-optimization/45950
5061 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
5062 before initializing vno->op.
5063
ba4debed 50642010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>
1ddc8057
RC
5065
5066 * config.gcc (bfin*-rtems*): Add newlib-stdint.h.
5067 * config.gcc (lm32*-rtems*): Add newlib-stdint.h.
5068
c2c795ff
L
50692010-10-08 H.J. Lu <hongjiu.lu@intel.com>
5070
5071 PR target/45913
5072 * config/i386/i386.c (ix86_binary_operator_ok): Support
5073 "andhi/andsi/anddi" as a zero-extending move.
5074
8897c9ce
NF
50752010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5076
5077 * builtins.c (fold_call_stmt): Don't copy gimple call arguments
5078 into a temporary array.
5079
509dd380
JJ
50802010-10-08 Jakub Jelinek <jakub@redhat.com>
5081
5082 PR tree-optimization/45903
5083 * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
bdf057c6 5084 of {A,L}SHIFTRT of MEM.
509dd380 5085
bd39cb52
RG
50862010-10-08 Richard Guenther <rguenther@suse.de>
5087
5088 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
5089 Re-construct BLOCK_VARS.
5090 (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
5091 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
5092 * tree.c (free_lang_data_in_block): Remove.
5093 (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
5094 Do not touch the BLOCK tree.
5095 * expr.c (expand_expr_real_1): Allow externals.
5096
8686c474
RG
50972010-10-08 Richard Guenther <rguenther@suse.de>
5098
5099 * lto-streamer-out.c (lto_output_ts_block_tree_pointers):
5100 Do not output BLOCK_SUBBLOCKS.
5101 * lto-streamer-in.c (lto_input_ts_block_tree_pointers):
5102 Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
5103 Re-construct BLOCK_SUBBLOCKS of parent block.
5104 (lto_input_ts_binfo_tree_pointers): Reserve exact space needed
5105 for BINFO_BASE_ACCESSES.
5106
a75bfaa6
JM
51072010-10-08 Joseph Myers <joseph@codesourcery.com>
5108
5109 * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
5110 (TREE_H): Include $(FLAGS_H) instead of options.h.
5111 (opts-common.o): Depend on $(FLAGS_H) instead of options.h.
5112 * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
5113 * common.opt (flag_complex_method, flag_evaluation_order,
5114 flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
5115 Variable declarations.
bdf057c6 5116 * configure.ac (tm_include_list): Include flags.h instead of options.h.
a75bfaa6
JM
5117 * configure: Regenerate.
5118 * flags.h: Condition out contents for target libraries. Include
5119 options.h at end of file.
5120 (flag_complex_method, flag_ira_algorithm, flag_ira_region,
5121 flag_evaluation_order, flag_warn_unused_result): Remove.
5122 * gcc.c (main): Intialize global_options with global_options_init.
5123 * langhooks-def.h (lhd_init_options_struct): Declare.
5124 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
5125 (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
5126 * langhooks.c (lhd_init_options_struct): New.
5127 * langhooks.h (struct lang_hooks): Add init_options_struct.
5128 Update comment on init_options.
5129 * optc-gen.awk: Generate initializer for global_options_init, not
5130 global_options.
5131 * opth-gen.awk: Condition out structure declarations for target
5132 libraries. Declare global_options_init.
5133 * opts-common.c: Include flags.h instead of options.h.
5134 * opts.c (flag_warn_unused_result): Remove.
5135 (read_cmdline_options): Take gcc_options parameters. Pass them to
5136 read_cmdline_option.
5137 (initial_lang_mask, initial_min_crossjump_insns,
5138 initial_max_fields_for_field_sensitive,
5139 initial_loop_invariant_max_bbs_in_loop): Define at file scope.
5140 (init_options_once): New. Split out of decode_options.
5141 (init_options_struct): New. Split out of decode_options.
5142 (decode_cmdline_options_to_array_default_mask): New.
5143 (default_options_optimization): New. Split out of decode_options.
5144 (decode_options): Move most code to other functions. Update call
5145 to read_cmdline_options.
5146 (finish_options): New. Split out of decode_options.
5147 * opts.h (decode_options): Add gcc_options parameters.
5148 (init_options_once, init_options_struct,
5149 decode_cmdline_options_to_array_default_mask): New.
5150 * toplev.c (flag_complex_method, flag_ira_algorithm,
5151 flag_ira_region, flag_evaluation_order): Remove.
5152 (general_init): Use global_options_init for initial flag values
5153 for global_dc.
5154 (toplev_main): Call init_options_once, init_options_struct,
5155 lang_hooks.init_options_struct,
5156 decode_cmdline_options_to_array_default_mask and
5157 lang_hooks.init_option before decode_options. Update arguments to
5158 decode_options.
5159 * tree.h: Include flags.h instead of options.h.
5160
ab86687c
NF
51612010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5162
5163 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
5164
9adafb9f
NF
51652010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5166
5167 * config/sparc/sparc-protos.h (function_arg_advance, function-arg):
5168 Delete.
5169 * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
5170 (FUNCTION_INCOMING_ARG): Delete.
5171 * config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
5172 (function_arg_slotno): Likewise. Take bool arguments.
5173 (sparc_arg_partial_bytes): Update call to it.
5174 (function_arg): Rename to...
5175 (sparc_function_arg_1): ...this. Take bool arguments.
5176 (sparc_function_arg, sparc_function_incoming_arg): New functions.
5177 (function_arg_advance): Rename to...
5178 (sparc_function_arg_advance): ...this. Take bool argument.
5179 (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
5180 (TARGET_FUNCTION_INCOMING_ARG): Define.
5181
74f41f02
NF
51822010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5183
5184 * config/bfin/bfin-protos.h (function_arg, function_arg_advance):
5185 Delete.
5186 * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5187 * config/bfin/bfin.c (function_arg_advance): Rename to...
5188 (bfin_function_arg_advance): ...this. Make static. Take const_tree
5189 and bool arguments.
5190 (function_arg): Rename to...
5191 (bfin_function_arg): ...this. Make static. Take const_tree and bool
5192 arguments.
5193 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5194
3a2bd2f4
NF
51952010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5196
5197 * config/score/score-protos.h (score_function_arg): Delete.
5198 (score_function_arg_advance): Delete.
5199 * config/score/score3.h (score3_function_arg_advance): Take a
5200 const_tree and a bool.
5201 (score3_function_arg): Likewise.
5202 * config/score/score7.h (score7_function_arg_advance): Likewise.
5203 (score7_function_arg): Likewise.
5204 * config/score/score3.c (score3_classify_arg): Likewise.
5205 (score3_function_arg_advance, score3_function_arg): Likewise.
5206 * config/score/score7.c (score7_classify_arg): Likewise.
5207 (score7_function_arg_advance, score7_function_arg): Likewise.
5208 * config/score/score.c (score_function_arg_advance): Likewise.
5209 (score_function_arg): Likewise. De-const-ify `cum' argument.
5210 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5211
3cb1da52
NF
52122010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5213
5214 * config/s390/s390-protos.h (s390_function_arg_advance): Delete.
5215 (s390_function_arg): Delete.
5216 * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5217 * config/s390/s390.c (s390_function_arg_float): Take a const_tree.
5218 (s390_function_arg_integer): Likewise.
5219 (s390_function_arg_advance): Make static. Take a const_tree and
5220 a bool.
5221 (s390_function_arg): Likewise.
5222 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5223
925ed112
NF
52242010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5225
5226 * config/spu/spu-protos.h (spu_function_arg): Delete.
5227 * config/spu/spu.h (FUNCTION_ARG): Delete.
5228 (FUNCTION_ARG_ADVANCE): Move code to ...
5229 * config/spu/spu.c (spu_function_arg_advance): New function.
5230 (spu_function_arg): Make static. Take a const_tree and a bool.
5231 (spu_setup_incoming_varargs): Call spu_function_arg_advance.
5232 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5233
52342010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5235
5236 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
5237
9ad6bebe
NF
52382010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5239
5240 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
5241 (init_vn_nary_op_from_op): New function.
5242 (init_vn_nary_op_from_stmt): New function.
5243 (vn_nary_op_lookup_1): New function.
5244 (sizeof_vn_nary_op): New function.
5245 (alloc_vn_nary_op_noinit): New function.
5246 (alloc_vn_nary_op): New function.
5247 (vn_nary_op_insert_into): New function.
5248 (vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
5249 (vn_nary_op_lookup): Likewise.
5250 (vn_nary_op_lookup_stmt): Likewise.
5251 (vn_nary_op_insert_pieces): Likewise.
5252 (vn_nary_op_insert): Likewise.
5253 (vn_nary_op_insert_stmt): Likewise.
5254 (copy_nary): Likewise.
5255 (set_value_id_for_result): New function.
5256 (set_hashtable_value_ids): Call it.
5257
0db0c836
NF
52582010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5259
5260 * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
5261 * config/fr30/fr30.md (leave_func): Rewrite without post_inc.
5262
fd02e833
NF
52632010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5264
5265 * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
5266 * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
5267
5f262d13
AO
52682010-10-08 Alexandre Oliva <aoliva@redhat.com>
5269
5270 PR debug/45656
5271 * cse.c (cse_extended_basic_block): Preserve cc0 info across
5272 debug isnsn. Skip them when searching for cc0 setter.
5273 (set_live_p): Skip debug insns when searching for cc0 user.
5274
7de9e0a1
AO
52752010-10-08 Alexandre Oliva <aoliva@redhat.com>
5276
5277 PR debug/45673
5278 PR debug/45604
5279 PR debug/45419
5280 PR debug/45408
5281 * tree-pretty-print.c (dump_generic_node): Explicitly dump the
5282 type of MEM_REFs to INTEGER_CSTs.
5283
5bd84829
NF
52842010-10-07 Nathan Froyd <froydnj@codesourcery.com>
5285
5286 * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
5287 m68hc11_print_operand_address.
5288
43ea30dc
NF
52892010-10-07 Nathan Froyd <froydnj@codesourcery.com>
5290
5291 * builtins.c (rewrite_call_expr): Move code to...
bdf057c6 5292 (rewrite_call_expr_valist): ...here. Call build_call_expr_loc_array.
43ea30dc
NF
5293 (rewrite_call_expr_array): New function.
5294 (fold_builtin_sprintf_chk_1): New function.
5295 (fold_builtin_sprintf_chk): Call it.
5296 (gimple_fold_builtin_sprintf_chk): Likewise.
5297 (fold_builtin_snprintf_chk_1): New function.
5298 (fold_builtin_snprintf_chk): Call it.
5299 (gimple_fold_builtin_snprintf_chk): Likewise.
5300 (gimple_rewrite_call_expr): Delete.
5301
39604ffe
DK
53022010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
5303
5304 * config.host: Update copyright year.
5305
1cd0b716
DK
53062010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
5307
5308 * config.host (host_lto_plugin_soname): New shell variable.
5309 * configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
5310 * config.in: Regenerate.
5311 * configure: Regenerate.
5312 * gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
5313 LTO plugin shared library.
5314
6ba74c2d
RH
53152010-10-07 Richard Henderson <rth@redhat.com>
5316
5317 * target.h (enum unwind_info_type): Move ...
5318 * coretypes.h: ... here.
5319
038d22b6
NP
53202010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
5321
5322 * doc/objc.texi (Fast enumeration protocol): Mention that
5323 'unsigned int' can also be used instead of 'unsigned long' in
5324 countByEnumeratingWithState:objects:count:.
5325
fc37536b
MJ
53262010-10-07 Martin Jambor <mjambor@suse.cz>
5327
5328 * tree-sra.c (struct access): New field grp_assignment_write.
5329 (dump_access): Dump grp_assignment_write.
5330 (build_accesses_from_assign): Set grp_assignment_write.
5331 (sort_and_splice_var_accesses): Aggregate grp_assignment_write.
5332 (mark_read_status): Renamed to mark_rw_status, individual values
5333 renamed too.
5334 (analyze_access_subtree): Changed type of mark_write to
5335 mark_read_status. Fixed propagating of mark_read and
5336 mark_write. Changed benefit estimate. Updated comment.
5337
d163c4f7
TB
53382010-10-07 Tejas Belagod <tejas.belagod@arm.com>
5339
78e27dd3 5340 PR Tree-Vect/45847
d163c4f7
TB
5341 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
5342 check for vectype_out returned by get_vectype_for_scalar_type().
5343
7f27ec08
TB
53442010-10-07 Tejas Belagod <tejas.belagod@arm.com>
5345
78e27dd3 5346 PR target/45805
7f27ec08
TB
5347 * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
5348 constraint, add register specifier in instruction template.
5349 (neon_vec_pack_trunc_<mode>): Likewise.
5350 (neon_vec_<US>mult_<mode>): Add register specifier to
5351 instruction template.
5352
3edeb30d
DK
53532010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
5354
5355 * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
5356 cygwin2.o.
5357 (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
5358 (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
5359 * config/i386/t-cygwin (cygwin1.o): Delete build rule.
5360 (cygwin2.o): Likewise.
5361 * config/i386/cygwin1.c: Delete file.
5362 * config/i386/cygwin2.c: Likewise.
5363 * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
5364 make all {%!mno-cygwin} ones unconditional.
5365 (STARTFILE_SPEC): Likewise.
5366 (REAL_LIBGCC_SPEC): Likewise.
5367 (LIB_SPEC): Likewise.
5368 (CXX_WRAP_SPEC): Likewise.
5369 (LINK_SPEC): Likewise.
5370 (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
5371 (CYGWIN_MINGW_SUBDIR_LEN): Likewise.
5372 (cygwin_gplusplus_include_dir): Delete now-unused array.
5373 (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
5374 (cygwin_gplusplus_tool_include_dir): Delete now-unused array.
5375 (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
5376 (cygwin_gplusplus_backward_include_dir): Delete now-unused array.
5377 (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
5378 (cygwin_local_include_dir): Delete now-unused array.
5379 (LOCAL_INCLUDE_DIR): Don't redefine to point to it.
5380 (cygwin_cross_include_dir): Delete now-unused array.
5381 (CROSS_INCLUDE_DIR): Don't redefine to point to it.
5382 (cygwin_tool_include_dir): Delete now-unused array.
5383 (TOOL_INCLUDE_DIR): Don't redefine to point to it.
5384 (cygwin_standard_include_dir): Delete now-unused array.
5385 (STANDARD_INCLUDE_DIR): Don't redefine to point to it.
5386 (GEN_CVT_ARRAY): Delete now-unused macro definition.
5387 (cvt_to_mingw): Delete now-unused array.
5388 (mingw_scan): Remove prototype of deleted function.
5389 (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
5390 * config/i386/cygming.opt (mcygwin): Delete target-specific option.
5391 * doc/invoke.texi (-mcygwin): Don't document removed option.
5392 (-mno-cygwin): Likewise.
5393
bb67d9c7
RG
53942010-10-07 Richard Guenther <rguenther@suse.de>
5395
5396 * machmode.h (mode_for_vector): Declare.
5397 * stor-layout.c (mode_for_vector): New function, split out from ...
5398 (layout_type): ... here.
5399 * tree-vectorizer.h (current_vector_size): Declare.
5400 * tree-vect-stmts.c (perm_mask_for_reverse): Check if the
5401 mask vector type is available.
5402 (get_vectype_for_scalar_type): Rename to ...
5403 (get_vectype_for_scalar_type_and_size): ... this. Get a vector
5404 size argument.
5405 (get_vectype_for_scalar_type): New wrapper around
5406 get_vectype_for_scalar_type_and_size using current_vector_size.
5407 (get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
5408 * tree-vect-loop.c (vect_analyze_loop_2): Split out core part
5409 of vect_analyze_loop here.
5410 (vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
5411 * tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
5412 to autodetect.
5413 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
5414 V8SF to V8SI conversion builtin.
5415
767f865f
RG
54162010-10-07 Richard Guenther <rguenther@suse.de>
5417
5418 * target.def (autovectorize_vector_sizes): New target hook.
5419 * targhooks.c (default_autovectorize_vector_sizes): New function.
5420 * targhooks.h (default_autovectorize_vector_sizes): Declare.
5421 * doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
5422 Document.
5423 * doc/tm.texi: Update.
5424 * config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
5425 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
5426
cc4b5170
RG
54272010-10-07 Richard Guenther <rguenther@suse.de>
5428
5429 * target.def (units_per_simd_word): Rename to ...
5430 (preferred_simd_mode): ... this. Return mode instead of size.
5431 * targhooks.c (default_units_per_simd_word): Rename to ...
5432 (default_preferred_simd_mode): ... this. Return word_mode.
5433 * targhooks.h (default_preferred_simd_mode): Declare.
5434 * config/arm/arm.c (arm_units_per_simd_word): Rename to ...
5435 (arm_preferred_simd_mode): ... this. Re-implement.
5436 * config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
5437 (ix86_preferred_simd_mode): ... this. Re-implement.
5438 * config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
5439 (sparc_preferred_simd_mode): ... this. Re-implement.
5440 * config/mips/mips.c (mips_units_per_simd_word): Rename to ...
5441 (mips_preferred_simd_mode): ... this. Re-implement.
5442 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
5443 (rs6000_preferred_simd_mode): ... this. Re-implement.
5444 * tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
5445 * doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
5446 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
5447 * doc/tm.texi: Update.
5448
65dcb901
RG
54492010-10-07 Richard Guenther <rguenther@suse.de>
5450
5451 PR middle-end/45869
5452 * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
5453 of pointers.
5454
a557f9cc
AM
54552010-10-07 Alan Modra <amodra@gmail.com>
5456
5457 * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
5458 rather than sign extension by hand.
5459
bd67cff1
JH
54602010-10-07 Jan Hubicka <jh@suse.cz>
5461
5462 PR middle-end/45926
5463 * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
5464
2b48f20d
RG
54652010-10-07 Richard Guenther <rguenther@suse.de>
5466
5467 PR bootstrap/45914
5468 * configure.ac: Fix typo.
5469 * configure: Regenerated.
5470
826d817f
FXC
54712010-10-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5472
5473 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
5474 define_builtin_std where it's unnecessary.
5475 * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
5476
32bd8fcf
AS
54772010-10-06 Anatoly Sokolov <aesok@post.ru>
5478
5479 * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
5480 * doc/tm.texi.in: Regenerate.
5481 * system.h (CLASS_LIKELY_SPILLED_P): Poison.
a557f9cc 5482 * targhooks.c (default_class_likely_spilled_p): Don't use the
32bd8fcf
AS
5483 CLASS_LIKELY_SPILLED_P macro.
5484
a557f9cc 5485 * config/arm/arm.md: Update comment.
32bd8fcf 5486
0e9ea52b
JH
54872010-10-06 Jan Hubicka <jh@suse.cz>
5488
a557f9cc
AM
5489 * ipa.c (cgraph_remove_unreachable_nodes): External references can
5490 always be removed.
5491 (cgraph_externally_visible_p): We can not bring local comdats that
5492 are known to linker; fix handling of internal visibility.
0e9ea52b
JH
5493 (function_and_variable_visibility): Likewise.
5494
9c506f10
EB
54952010-10-06 Eric Botcazou <ebotcazou@adacore.com>
5496
5497 PR rtl-optimization/45394
5498 * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
5499 (struct rtx_subst_pair): Remove AFTER field.
5500 (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
5501 (propagate_for_debug): Remove MOVE parameter and adjust.
5502 (try_combine): In the special case where I2 is a PARALLEL, combine only
5503 destinations of SETs and set I2SRC to the I2 source.
5504 Adjust calls to propagate_for_debug throughout.
5505 * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
5506 insns.
5507
35c26820
OH
55082010-10-06 Olivier Hainque <hainque@adacore.com>
5509
5510 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
5511 switch on insn codes as sequence of ifs.
5512
9c506f10
EB
55132010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com>
5514
131e5634
HS
5515 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
5516 be UI_NONE for picochip.
5517 (picochip_option_override): Do not disable exception flags.
9c506f10 5518 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
131e5634
HS
5519 Declare.
5520
85194319
RG
55212010-10-06 Richard Guenther <rguenther@suse.de>
5522
5523 * Makefile.in (regmove.o): Depend on $(TARGET_H).
5524
f05b9d93
NP
55252010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5526
a557f9cc 5527 Implemented fast enumeration for Objective-C.
f05b9d93
NP
5528 * c-parser.c (objc_could_be_foreach_context): New.
5529 (c_lex_one_token): Recognize RID_IN keyword in a potential
5530 Objective-C foreach context.
5531 (c_parser_declaration_or_fndef): Added parameter. Accept
5532 Objective-C RID_IN keyword as terminating a declaration; in that
5533 case, return the declaration in the new parameter.
5534 (c_parser_extenral_declaration): Updated calls to
5535 c_parser_declaration_or_fndef.
5536 (c_parser_declaration_or_fndef): Same change.
5537 (c_parser_compound_statement_nostart): Same change.
5538 (c_parser_label): Same change.
5539 (c_parser_objc_methodprotolist): Same change.
5540 (c_parser_omp_for_loop): Same change.
5541 (c_parser_for_statement): Detect and parse Objective-C foreach
5542 statements.
5543 (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
5544 * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
5545 fast enumeration parsing code to turn off the c99 error but still
5546 perform checks on the loop declarations.
5547 * c-tree.h (check_for_loop_decls): Updated declaration.
5548 * doc/objc.texi: Document fast enumeration.
a557f9cc 5549
2720cc47
NC
55502010-10-06 Nick Clifton <nickc@redhat.com>
5551
bdf057c6 5552 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
2720cc47 5553 (MDR_REGNUM): Define.
bdf057c6 5554 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register.
2720cc47
NC
5555 (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
5556 (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
5557 (REGISTER_NAMES): Add MDR.
5558 (DWARF2_DEBUGGING_INFO): Define to 1.
5559 * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
5560 (F): New function. Sets RTX_FRAME_RELATED_P.
5561 (mn10300_gen_multiple_store): Use F.
5562 (expand_prologue): Use F. Use gen_movsf() to push floating
5563 point registers.
bdf057c6 5564 (expand_epilogue): Use gen_movsf() to pop floating point registers.
2720cc47
NC
5565 (mn10300_option_override): Disable combine stack adjust pass.
5566
28ce2f29
TS
55672010-10-06 Thomas Schwinge <thomas@schwinge.name>
5568
5569 PR target/45901
5570 * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
5571 LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
5572
d724c876
JJ
55732010-10-06 Jakub Jelinek <jakub@redhat.com>
5574
933bc232
JJ
5575 * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
5576 BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
5577 BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
5578 BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
5579 BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
5580 BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
5581 BUILT_IN_TOUPPER): Mark as leaf.
5582
d724c876
JJ
5583 PR middle-end/45838
5584 * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
5585 BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
5586 BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
5587 BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
5588 BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
5589 BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
5590 Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
5591
c1f9afd1
AS
55922010-10-05 Anatoly Sokolov <aesok@post.ru>
5593
5594 * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
5595 * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
5596 (m68hc11_class_likely_spilled_p): New function.
5597
a26d8862
NP
55982010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
5599
5600 * c-parser.c (c_parser_objc_method_definition): Updated comment.
5601
852e4bd2
JH
56022010-10-05 Jan Hubicka <jh@suse.cz>
5603
5604 * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
5605 Document.
5606 * opts.c (decode_options): Handle lto partitions.
5607 * common.opt (flto-partition=1to1, flto-partition=balanced): New.
5608 * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
5609
56102010-10-05 Jan Hubicka <jh@suse.cz>
5806d9ac
JH
5611
5612 * cgraphunit.c (assemble_function): Output thunks and aliases before
5613 the function itself.
5614
9c506f10 56152010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
0378450e
HS
5616
5617 * config/picochip/picochip.c (picochip_option_override): Disable
5618 exception flags for picochip.
5619
1ebe4b4f
JM
56202010-10-05 Joseph Myers <joseph@codesourcery.com>
5621
5622 * opts-common.c (handle_option, handle_generated_option,
5623 read_cmdline_option, set_option): Add diagnostic_context
5624 parameter. Update calls among these functions.
5625 (set_option): Don't use global_dc.
bdf057c6 5626 * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option.
1ebe4b4f
JM
5627 (decode_options): Pass global_dc to enable_warning_as_error.
5628 (common_handle_option): Pass global_dc to enable_warning_as_error.
5629 (enable_warning_as_error): Add diagnostic_context parameter.
5630 Document parameters. Don't use global_dc. Pass
5631 diagnostic_context parameter to handle_generated_option.
5632 * opts.h (set_option, handle_option, handle_generated_option,
5633 read_cmdline_option, enable_warning_as_error): Add
5634 diagnostic_context parameter.
5635 * Makefile.in (lto-opts.o): Update dependencies.
5636 * coretypes.h (struct diagnostic_context, diagnostic_context):
5637 Declare here.
5638 * diagnostic.h (diagnostic_context): Don't declare typedef here.
5639 * gcc.c (process_command): Pass global_dc to read_cmdline_option.
5640 * langhooks-def.h (struct diagnostic_context): Don't declare here.
5641 (lhd_print_error_function, lhd_initialize_diagnostics): Declare
5642 using diagnostic_context typedef.
5643 * langhooks.c (lhd_initialize_diagnostics): Declare using
5644 diagnostic_context typedef.
5645 * langhooks.h (struct diagnostic_context): Don't declare here.
5646 (initialize_diagnostics, print_error_function): Declare using
5647 diagnostic_context typedef.
5648 * lto-opts.c: Include diagnostic.h.
5649 (lto_reissue_options): Pass global_dc to set_option. Pass
5650 DK_UNSPECIFIED not 0.
5651 * plugin.c (plugins_internal_error_function): Declare using
5652 diagnostic_context typedef.
5653 * plugin.h (struct diagnostic_context): Don't declare here.
5654 (plugins_internal_error_function): Declare using
5655 diagnostic_context typedef.
5656
bcee41ff 56572010-10-05 Olivier Hainque <hainque@adacore.com>
bdf057c6 5658 Nicolas Roche <roche@adacore.com>
bcee41ff
OH
5659
5660 * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
5661 * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
5662
694a4f61
IR
56632010-10-05 Ira Rosen <irar@il.ibm.com>
5664
5665 PR tree-optimization/45752
5666 * tree-vect-slp.c (vect_get_mask_element): Remove static
5667 variables, make them function arguments.
5668 (vect_transform_slp_perm_load): Pass new arguments to
5669 vect_get_mask_element.
5670
4d3814a5
RG
56712010-10-05 Richard Guenther <rguenther@suse.de>
5672
5673 * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
5674 (gimple_mod_pow2): Likewise.
5675 (gimple_mod_subtract): Likewise.
5676 (gimple_ic): Likewise.
5677 (gimple_stringop_fixed_value): Likewise.
5678 * tree-profile.c (tree_init_edge_profiler): Mark profile
5679 functions nothrow and leaf.
5680 (add_abnormal_goto_call_edges): Remove.
5681 (tree_gen_edge_profiler): Work on SSA form.
5682 (tree_gen_ic_profiler): Likewise. Simplify.
5683 (do_tree_profiling): Update SSA form.
5684 (pass_tree_profile): Remove.
5685 (do_tree_profiling): Likewise.
5686 (gate_tree_profile_ipa): New function.
5687 (pass_ipa_tree_profile): New.
5688 (tree_profiling): Re-write as IPA pass. Properly drop const/pure
5689 state of instrumented functions.
5690 * passes.c (init_optimization_passes): Remove early non-SSA
5691 inlining. Move profiling after early optimizations.
5692 * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
5693 (pass_ipa_early_inline): Likewise.
5694 * tree-pass.h (pass_ipa_early_inline): Remove.
5695 (pass_tree_profile): Likewise.
5696 (pass_ipa_tree_profile): Declare.
5697
65b1d8ea 56982010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
bdf057c6 5699 Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
65b1d8ea 5700
8b7e8529 5701 * config/s390/s390.c (z196_cost): New.
65b1d8ea
AK
5702 (s390_handle_arch_option): Add -march=z196.
5703 (s390_option_override): Use the new cost function and use the z10
5704 defaults also for z196.
5705 (legitimate_reload_constant_p): Adjust comment.
5706 (legitimate_reload_fp_constant_p): New function.
5707 (s390_preferred_reload_class): Distingiush between FP and Int constants.
5708 (preferred_la_operand_p): Avoid la with index on z196.
5709 (s390_adjust_priority): Trigger also for z196.
5710 (s390_issue_rate): Issue rate for z196 is 3.
5711 (s390_z10_fix_long_loop_prediction): Rename to ...
5712 (s390_fix_long_loop_prediction): ... this.
5713 (s390_reorg): Apply the z10 adjustments also for z196.
5714 (s390_loop_unroll_adjust): Do this also for z196.
8b7e8529 5715 * config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
65b1d8ea
AK
5716 (enum processor_flags): Add PF_Z196.
5717 (TARGET_AVOID_CMP_AND_BRANCH): New macro.
5718 (TARGET_CPU_Z196, TARGET_Z196): New macros.
8b7e8529
EB
5719 * config.gcc: Enable z196 for --with-arch.
5720 * config/s390/2817.md: New file.
5721 * config/s390/2084.md: New type for multiply and add.
5722 * config/s390/2097.md: Likewise.
5723 * config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
65b1d8ea
AK
5724 (UNSPECV_ATOMIC_OP): New constants.
5725 (fmadddf, fmaddsf): New values for type attribute.
5726 (z196prop): New insn attribute.
5727 (cpu, cpu_facility): Add z196.
5728 (ATOMIC_Z196): New code iterator.
5729 (noxa): New code attribute.
5730 (gk): New mode attribute.
5731 (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
5732 Support load zero for fp constants.
5733 (fixuns_truncdddi2, fixuns_trunctddi2)
5734 (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
5735 for z196.
5736 (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
5737 (popcounthi2, popcountqi2): New expander.
5738 (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
5739 (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
5740 (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
5741 insn definition.
5742 (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
5743 (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
bdf057c6
UB
5744 (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc)
5745 (*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly)
5746 (*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly)
5747 (*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc)
5748 (*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch
5749 (*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc)
5750 (*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch)
5751 (*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly)
5752 (*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and)
5753 (*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
65b1d8ea
AK
5754 (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
5755 Support new z196 instructions.
5756
6e572326
RG
57572010-10-05 Richard Guenther <rguenther@suse.de>
5758
5759 PR middle-end/45877
5760 * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
5761 case where gimplification optimizes away the stmt.
5762
098db05e
JJ
57632010-10-04 Jakub Jelinek <jakub@redhat.com>
5764
5765 PR debug/45849
5766 * var-tracking.c (strip_pointer_flags): New function.
5767 (emit_note_insn_var_location): If rtx_equal_p check failed,
5768 retry on locations simplified with simplify_replace_fn_rtx
5769 and strip_pointer_flags as its callback.
5770
b3b9f3d0
JH
57712010-10-04 Jan Hubicka <jh@suse.cz>
5772
5773 * gimple-fold.c (static_object_in_other_unit_p): Rename to...
5774 (can_refer_decl_in_current_unit_p): ... this one; reverse return
5775 value; handle comdats too.
5776 (canonicalize_constructor_val): Use it; handle function_decls
5777 correctly.
5778 (gimple_fold_obj_type_ref_known_binfo): Likewise.
5779 * gimple.c (get_base_address): Accept all kinds of decls.
5780
fa37ed29
JM
57812010-10-04 Joseph Myers <joseph@codesourcery.com>
5782
5783 * flags.h (g_switch_value, g_switch_set): Remove.
5784 * opts.c (g_switch_value, g_switch_set): Remove.
5785 * config/g.opt (G): Add Var(g_switch_value).
bdf057c6 5786 * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here.
fa37ed29
JM
5787 (alpha_option_override): Check global_options_set.x_g_switch_value
5788 instead of g_switch_set.
5789 (alpha_in_small_data_p): Remove cast in comparison with
5790 g_switch_value.
5791 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
5792 g_switch_value to unsigned HOST_WIDE_INT.
5793 * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
5794 with g_switch_value.
5795 (frv_handle_option): Don't handle -G here.
5796 (frv_option_override): Check global_options_set.x_g_switch_value
5797 instead of g_switch_set. Don't modify g_switch_set.
bdf057c6 5798 (frv_in_small_data_p): Remove cast in comparison with g_switch_value.
fa37ed29
JM
5799 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
5800 g_switch_value to unsigned HOST_WIDE_INT.
5801 * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
5802 (ia64_option_override): Check global_options_set.x_g_switch_value
5803 instead of g_switch_set.
5804 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
5805 Remove.
5806 (lm32_in_small_data_p): Remove cast in comparison with
5807 g_switch_value.
5808 * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
5809 ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
5810 HOST_WIDE_INT.
5811 * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
5812 (m32r_init): Check global_options_set.x_g_switch_value instead of
5813 g_switch_set.
5814 (m32r_in_small_data_p): Remove cast in comparison with
5815 g_switch_value.
5816 (m32r_file_start): Format g_switch_value with %d.
5817 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
bdf057c6 5818 ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT.
fa37ed29
JM
5819 * config/microblaze/microblaze.c (microblaze_handle_option): Don't
5820 handle -G here.
5821 (microblaze_option_override): Check
5822 global_options_set.x_g_switch_value instead of g_switch_set.
5823 * config/mips/mips.c (mips_handle_option): Don't handle -G here.
5824 (mips_option_override): Check global_options_set.x_g_switch_value
5825 instead of g_switch_set.
bdf057c6 5826 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here.
fa37ed29
JM
5827 (rs6000_file_start): Format g_switch_value with %d.
5828 (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
5829 comparisons with g_switch_value.
5830 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
5831 global_options_set.x_g_switch_value instead of g_switch_set.
5832 * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
5833 global_options_set.x_g_switch_value instead of g_switch_set.
bdf057c6 5834 * config/score/score.c (score_handle_option): Don't handle -G here.
fa37ed29
JM
5835 * config/score/score3.c (score3_option_override): Check
5836 global_options_set.x_g_switch_value instead of g_switch_set.
5837 * config/score/score7.c (score7_option_override): Check
5838 global_options_set.x_g_switch_value instead of g_switch_set.
5839
22b0982c
VM
58402010-10-04 Vladimir Makarov <vmakarov@redhat.com>
5841
5842 * common.opt (fira-coalesce): Remove.
5843
5844 * doc/invoke.texi (flag_ira_coalesce): Remove.
5845
5846 * ira-color.c (allocno_coalesced_p): Move before
5847 copy_freq_compare_func.
5848 processed_coalesced_allocno_bitmap): Ditto.
5849 (update_conflict_hard_regno_costs): Don't use
5850 ALLOCNO_FIRST_COALESCED_ALLOCNO.
5851 (allocno_cost_compare_func, print_coalesced_allocno): Remove.
5852 (assign_hard_reg): Assume no coalesced allocnos.
5853 (get_coalesced_allocnos_attributes): Remove.
5854 (bucket_allocno_compare_func): Assume no coalesced allocnos.
5855 (push_allocno_to_stack): Ditto.
5856 (remove_allocno_from_bucket_and_push): Use
5857 ira_print_expanded_allocno instead of print_coalesced_allocno.
5858 (push_allocnos_to_stack): Assume uncoalesced allocnos.
5859 (all_conflicting_hard_regs_coalesced): Ditto. Rename to
5860 all_conflicting_hard_regs.
5861 (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
5862 (setup_allocno_left_conflicts_size): Ditto.
5863 (put_allocno_into_bucket): Ditto.
5864 (copy_freq_compare_func): Remove.
5865 (copy_freq_compare_func, merge_allocnos): Move before
5866 coalesced_pseudo_reg_freq_compare.
5867 coalesced_allocno_conflict_p): Ditto.
5868 (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove
5869 parameter. Assume it true.
5870 (color_allocnos): Assume uncoalesced allocnos. Use
5871 ira_print_expanded_allocno instead of print_coalesced_allocno.
5872 (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
5873 parameter.
5874
5875 * ira.c: Remove comment about coalescing.
5876
f770d743
JM
58772010-10-04 Joseph Myers <joseph@codesourcery.com>
5878
5879 * config/mips/mips.h (target_flags_explicit): Declare for
5880 GENERATOR_FILE.
5881
ba4debed 58822010-10-04 Andi Kleen <ak@linux.intel.com>
a90163e9
AK
5883
5884 * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
a557f9cc 5885 gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
a90163e9 5886
6fda54ac
MK
58872010-10-04 Matthias Klose <doko@ubuntu.com>
5888
5889 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
5890 multilib osdirname if it exists.
5891 * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
5892
828fde80
JJ
58932010-10-04 Jakub Jelinek <jakub@redhat.com>
5894
5895 PR middle-end/45876
5896 * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
5897 arg0's type or its unsigned counterpart as utype. Convert
5898 arg1 to utype unconditionally.
5899
c452684d
JB
59002010-10-04 Julian Brown <julian@codesourcery.com>
5901
5902 * expr.c (expand_assignment): Add assertion to prevent emitting
5903 null rtx for movmisalign pattern.
5904 (expand_expr_real_1): Likewise.
5905 * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
5906 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
5907 (arm_vector_alignment_reachable): New.
5908 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
5909 (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
5910 (arm_print_operand): Include alignment qualifier in %A.
5911 * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
5912 (movmisalign<mode>): New expander.
5913 (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
5914 insn patterns.
5915
d4d24ba4
JM
59162010-10-04 Joseph Myers <joseph@codesourcery.com>
5917
5918 * optc-gen.awk: Define global_options_set. Don't define
5919 target_flags_explicit.
5920 * opth-gen.awk: Declare global_options_set. Define
5921 target_flags_explicit as macro.
5922 * opts-common.c (handle_option): Take opts_set and generated_p
5923 parameters.
5924 (handle_generated_option, read_cmdline_option, set_option): Take
5925 opts_set parameter.
5926 (set_option): Use opts_set instead of hardcoding target_flags and
5927 target_flags_explicit.
5928 * opts.c (sel_sched_switch_set, profile_arc_flag_set,
5929 flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
5930 flag_value_profile_transformations_set, flag_peel_loops_set,
5931 flag_branch_probabilities_set, flag_inline_functions_set,
5932 flag_ipa_cp_set, flag_ipa_cp_clone_set,
5933 flag_predictive_commoning_set, flag_unswitch_loops_set,
5934 flag_gcse_after_reload_set): Remove.
5935 (common_handle_option, lang_handle_option, target_handle_option):
5936 Take opts_set parameter. Assert that it is &global_options_set.
5937 (common_handle_option): Don't set _set variables. Check opts_set
5938 instead of such variables.
5939 (enable_warning_as_error): Pass &global_options_set to
5940 handle_generated_option.
5941 * opts.h (cl_option_handler_func.handler, set_option,
5942 handle_option, handle_generated_option, read_cmdline_option): Add
5943 opts_set parameters.
5944 (handle_option): Add generated_p parameter.
5945 * config/i386/i386.c (ix86_function_specific_save,
5946 ix86_function_specific_restore): Updat for renaming of
5947 target_flags_explicit field.
5948 * config/i386/i386.opt (target_flags_explicit): Rename to
5949 ix86_target_flags_explicit.
5950 * config/ia64/ia64.c (ia64_override_options_after_change): Check
5951 global_options_set.x_flag_selective_scheduling and
5952 global_options_set.x_flag_selective_scheduling2, not
5953 sel_sched_switch_set.
5954 * flags.h (sel_sched_switch_set,
5955 flag_speculative_prefetching_set): Remove.
5956 * gcc.c (driver_handle_option): Take opts_set parameter. Assert
5957 that it is &global_options_set.
bdf057c6 5958 (process_command): Pass &global_options_set to read_cmdline_option.
d4d24ba4
JM
5959 * lto-opts.c (lto_reissue_options): Pass &global_options_set to
5960 set_option.
5961 * toplev.c (target_flags_explicit): Remove.
5962
4a2da105
JH
59632010-10-04 Jan Hubicka <jh@suse.cz>
5964
5965 PR middle-end/45871
5966 * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
5967 use get_ref_base_and_offset to handle references.
5968 (fold_const_aggregate_ref): Update.
5969
1dbee8c9
MJ
59702010-10-04 Martin Jambor <mjambor@suse.cz>
5971
5972 PR tree-optimization/45572
5973 * ipa-prop.c (ipa_make_edge_direct_to_target): Call
5974 ipa_check_create_node_params.
5975 * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
5976
eeb4dfda
YQ
59772010-10-04 Yao Qi <yao@codesourcery.com>
5978
5979 * doc/passes.texi: Clean up.
5980
478a1c5b
ILT
59812010-10-03 Ian Lance Taylor <iant@google.com>
5982
5983 * c-typeck.c (lookup_field): If -fplan9-extensions, permit
5984 referring to a field using a typedef name.
5985 (find_anonymous_field_with_type): New static function.
5986 (convert_to_anonymous_field): New static function.
5987 (convert_for_assignment): If -fplan9-extensions, permit converting
5988 pointer to struct to pointer to anonymous field.
bdf057c6 5989 * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields.
478a1c5b
ILT
5990 (is_duplicate_field): New static function.
5991 (detect_field_duplicates_hash): If -fplan9-extensions, check for
5992 typedef names duplicating field names.
5993 (detect_field_duplicates): Likewise.
5994 * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
5995 (C Dialect Options): Document -fplan9-extensions.
5996 * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
5997
a1e53f3f
L
59982010-10-03 H.J. Lu <hongjiu.lu@intel.com>
5999
6000 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
6001 revision 164914.
6002 (vect_create_data_ref_ptr): Likewise.
6003 * tree-vect-stmts.c (vectorizable_store): Likewise.
6004 (perm_mask_for_reverse): Likewise.
6005 (reverse_vec_elements): Likewise.
6006 (vectorizable_load): Likewise.
6007
82a1c2fe
FXC
60082010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6009
6010 * cppbuiltin.c: New file.
6011 * cppbuiltin.h: New file.
6012 * Makefile.in: Take into account cppbuiltin.{h,c}.
6013
ba4debed 60142010-10-03 Andi Kleen <ak@linux.intel.com>
f1e92a43 6015
82a1c2fe 6016 * lto-cgraph.c (input_cgraph): Check for missing sections.
f1e92a43 6017
5ed69344
UB
60182010-10-03 Uros Bizjak <ubizjak@gmail.com>
6019
bdf057c6 6020 * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate
5ed69344
UB
6021 to nonimmediate_operand. Force operand 2 to register when allowed.
6022 (*<shiftrt_insn><mode>3_mask): Ditto.
6023 (*<rotate_insn><mode>3_mask): Ditto.
6024
888a22d0
L
60252010-10-02 H.J. Lu <hongjiu.lu@intel.com>
6026
6027 PR tree-optimization/45720
6028 PR tree-optimization/45764
6029 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
6030 Don't accept backwards consecutive accesses.
6031 (vect_create_data_ref_ptr): Disallow negative steps.
6032
6033 * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
6034 (perm_mask_for_reverse): Removed.
6035 (reverse_vec_elements): Likewise.
5ed69344 6036 (vectorizable_load): Don't handle negative steps.
888a22d0 6037
31ceb574
JH
60382010-10-02 Jan Hubicka <jh@suse.cz>
6039
6040 * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
6041 call destination is known.
6042
715a567d
JDA
60432010-10-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6044
6045 PR target/45820
6046 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
6047 earlier.
6048
ffedf511
RW
60492010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6050
6051 * doc/install.texi (Configuration): Document build_configargs,
6052 host_configargs, target_configargs.
6053
c44d6c47
UB
60542010-10-01 Uros Bizjak <ubizjak@gmail.com>
6055
6056 * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
6057 (*<shiftrt_insn><mode>3_mask): Ditto.
6058 (*<rotate_insn><mode>3_mask): Ditto.
6059
1cc2d70b
SE
60602010-10-01 Steve Ellcey <sje@cup.hp.com>
6061
6062 PR tree-optimization/44716
6063 * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
6064 (HOT_TEXT_SECTION_NAME): Define.
6065
ccaeeafe
NC
60662010-10-01 Nick Clifton <nickc@redhat.com>
6067
6068 * common.opt: Add -fcombine-stack-adjustments.
c44d6c47 6069 * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
ccaeeafe
NC
6070 * combine-stack-adj.c (gate_handle_stack_adjustments): Check
6071 flag_combine_stack_adjustments.
6072 * doc/invoke.texi: Document the new option.
6073
0d228a52
RG
60742010-10-01 Richard Guenther <rguenther@suse.de>
6075
6076 PR tree-optimization/45854
6077 * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
6078
83f7dcf2
AG
60792010-10-01 Anthony Green <green@moxielogic.com>
6080
6081 * config.gcc: Fix moxie-*-rtems* configuration.
6082
29aca1e1
RG
60832010-10-01 Richard Guenther <rguenther@suse.de>
6084
6085 * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
6086 (gen_decl_die): Likewise.
6087
fec6e65b
UW
60882010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6089
6090 * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
6091 to the function code for SPU MD builtins.
6092 (spu_expand_builtin): Update.
6093 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
6094
1ae3762d
UW
60952010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6096
6097 * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
6098 sjlj_except_unwind_info.
6099
16045c71
TG
61002010-10-01 Tristan Gingold <gingold@adacore.com>
6101
6102 * configure.ac: Define the nop insn for avr*-*-*
6103 * configure: Regenerate.
6104
d7e7073f
AM
61052010-10-01 Alan Modra <amodra@gmail.com>
6106
6107 PR target/45807
6108 * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
6109 extend toc_restore_insn.
6110
c98b08ff
RG
61112010-09-30 Richard Guenther <rguenther@suse.de>
6112
6113 PR tree-optimization/43959
6114 * function.c (gimplify_parameters): Use create_tmp_reg instead of
6115 create_tmp_var.
6116
e631262b
KK
61172010-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
6118
6119 * config/sh/sh.c (sh_expand_prologue): Set
6120 current_function_static_stack_size.
6121
319840d3
RO
61222010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6123
6124 * configure.ac: Check for Solaris 8 ld with .hidden support.
6125 * configure: Regenerate.
6126
cdb9802c
SP
61272010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6128
6129 PR middle-end/45758
6130 * graphite.c (graphite_initialize): Call scev_reset.
6131
8ba78f92
SP
61322010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6133
6134 * sese.h (scev_analyzable_p): Return false for real or floating
6135 point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
6136
cb5f9ec6
SP
61372010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6138
6139 * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
6140 and ps.
6141 * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
6142 domain.
6143 * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
6144 Do not allocate ub_expr, it is passed in initialized.
6145
03c830c2
SP
61462010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
6147
6148 * graphite-clast-to-gimple.c (init_cloog_input_file): New.
6149 (build_cloog_prog): Dump CLooG input file when
6150 flag_graphite_dump_cloog is set. This is disabled on trunk.
6151 * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
6152
61c6973f
SP
61532010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6154
6155 * graphite-clast-to-gimple.c (graphite_verify): Remove call to
6156 verify_dominators for CDI_POST_DOMINATORS.
6157 * sese.h: Remove comment about CDI_POST_DOMINATORS.
6158 (recompute_all_dominators): Remove call to free_dominance_info
6159 for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info
6160 for CDI_POST_DOMINATORS.
6161
aad78a1a
SP
61622010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6163
6164 * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
6165 over pbb_dim_iter_domain.
6166
26315ccf
SP
61672010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6168
6169 * graphite-flattening.c: Fix comments.
6170
98af4c9f
SP
61712010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6172
6173 * Makefile.in (OBJS-common): Add graphite-flattening.o.
6174 (graphite-flattening.o): New rule.
6175 * common.opt (floop-flatten): New flag.
6176 * doc/invoke.texi (-floop-flatten): Documented.
6177 * graphite-flattening.c: New.
6178 * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
6179 * graphite-poly.h (flatten_all_loops): Declared.
6180 (lst_remove_loop_and_inline_stmts_in_loop_father): New.
6181 * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
6182 is set, also set flag_graphite.
6183
c498b9b9
SP
61842010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6185
6186 * graphite-poly.c (cloog_checksum): New.
6187 * graphite-poly.h (cloog_checksum): Declared.
6188
26ccb556
SP
61892010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6190
6191 * graphite-poly.c (pbb_number_of_iterations): Removed.
6192 (pbb_number_of_iterations_at_time): Correctly compute the number
6193 of iterations in the transformed loop.
6194 * graphite-poly.h (pbb_number_of_iterations): Removed.
6195
b8745012
SP
61962010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6197
6198 * graphite-poly.h (lst_update_scattering_seq): Removed.
6199 (lst_update_scattering): Correctly handle outermost loop dewey
6200 renumbering.
6201
22280f63
SP
62022010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6203
6204 * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
6205 lst_strip_mine_profitable_p. Call lst_niter_for_loop.
6206 * graphite-poly.h (lst_niter_for_loop): New.
6207
6eb412ef
SP
62082010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6209
6210 * graphite-poly.c (apply_poly_transforms): Do not abort when the
6211 transform read from disk is not legal. Call fatal_error instead.
6212
0ba82567
SP
62132010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6214
6215 * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
6216 (print_scop_header): Removed. Inlined in the only call place...
6217 (print_scop): ... here.
6218
69ac2bb6
SP
62192010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6220
6221 * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
6222
62232010-09-30 Sebastian Pop <sebastian.pop@amd.com>
da8cebd1
SP
6224
6225 * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
6226
1635d7b0
SP
62272010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6228
6229 * graphite-dependences.c (dot_deps): Avoid set but not used warning.
6230 (dot_deps_stmt): Same.
6231 * graphite-poly.c (dot_lst): Same.
6232
3a7cd438
SP
62332010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6234
6235 * graphite-blocking.c (scop_do_strip_mine): Do not call
6236 graphite_legal_transform.
6237 (scop_do_block): Same.
6238
45fc26fc
VK
62392010-09-30 Vladimir Kargov <kargov@gmail.com>
6240
6241 * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
6242 description.
6243
dbc08079
SP
62442010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6245
6246 * tree-scalar-evolution.c (instantiate_array_ref): New.
6247 (instantiate_scev_r): Also handle ARRAY_REFs.
6248
492e5456
SP
62492010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6250
6251 * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
6252 Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
6253 RESULT_DECL, and FIELD_DECL. Return false for an
6254 SSA_NAME_IS_DEFAULT_DEF.
6255 (compute_scalar_evolution_in_loop): Do not further analyze the
6256 scalar evolution when no_evolution_in_loop_p returns true.
6257
21d91009
SP
62582010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6259
6260 * tree-chrec.h (evolution_function_is_affine_p): Do not check
6261 whether CHREC_LEFT is invariant. A function is affine when
6262 CHREC_RIGHT is invariant.
6263
c2bc669e
SP
62642010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6265
6266 * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
6267 is_gimple_reg.
6268 (rewrite_degenerate_phi): Same.
6269 (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
6270
56f30f65
VK
62712010-09-30 Vladimir Kargov <kargov@gmail.com>
6272
6273 * graphite-scop-detection.c (graphite_can_represent_scev,
6274 graphite_can_represent_expr, stmt_has_simple_data_refs_p,
6275 graphite_can_represent_loop): Remove outermost_loop.
6276
b4c8119f
SP
62772010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6278
6279 PR middle-end/45229
6280 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
6281 handle GIMPLE_CALLs with no LHS.
6282
ba4debed 62832010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
f06ecc4b
RB
6284
6285 * graphite-poly.c (init_graphite_out_file): New.
6286 (init_graphite_in_file): New.
6287 (apply_poly_transforms): Updated to enable reading and writing of
6288 multiple scop files.
6289
d9ae7906
SP
62902010-09-30 Tobias Grosser <grosser@fim.uni-passau.de>
6291
6292 * graphite-scop-detection.c (graphite_can_represent_scev): Remove
6293 redundant checks.
6294
62952010-09-30 Sebastian Pop <sebastian.pop@amd.com>
02315365
SP
6296
6297 * graphite-clast-to-gimple.c (precision_for_value): Adjust
6298 computation of precision by 1.
6299
ba4debed 63002010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
721c8b1e
RB
6301
6302 * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
6303 (openscop_read_polyhedron_matrix): New.
6304 * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
6305 (openscop_read_N_int): Same.
6306 * graphite-poly.c (openscop_read_N_int): New.
6307 (openscop_read_one_int): New.
6308 (openscop_read_N_string): New.
6309 (openscop_read_one_string): New.
6310 (openscop_read_powerset_matrix): New.
6311 (graphite_read_transforms): Remove.
6312 (graphite_read_scatt): New.
6313 (graphite_read_scop_file): New.
6314 (apply_poly_transforms): Updated to call graphite_read_scop_file.
6315
fd8bb591
AS
63162010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
6317
6318 * graphite-poly.c: Change include order.
6319
562c1b02
AS
63202010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
6321
6322 * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
6323 (cloog_matrix_nrows): New.
6324
ba4debed 63252010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
7241f8c5
RB
6326
6327 * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
6328 from matrix lines.
6329 * graphite-poly.c (openscop_print_scattering_function_1): Same.
6330 (print_scattering_function_1): Same.
6331 (openscop_print_pbb_domain): Same.
6332 (openscop_print_scop_context): Same.
6333 (print_scop_context): Same.
6334
ba4debed 63352010-09-30 Riyadh Baghdad <baghdadi.mr@gmail.com>
d72f5037
RB
6336
6337 * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
6338 (openscop_print_pdr_polyhedron): Print pph.
6339
c6060639
SP
63402010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6341
6342 * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
6343 priority signed types.
6344
2c2aceeb
SP
63452010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6346
c44d6c47
UB
6347 * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
6348 the call to lang_hooks.types.type_for_size. Call
6349 build_nonstandard_integer_type.
2c2aceeb 6350
ba4debed 63512010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
ae403f5a
RB
6352
6353 * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
6354 (openscop_print_polyhedron_matrix): New.
6355 * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
6356 * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
6357 (openscop_print_pdr_powerset): New.
6358 (openscop_print_powerset_matrix): New.
6359 (openscop_print_scattering_function_1): New.
6360 (print_scattering_function): Add support for scattering names and
6361 OpenScop format.
6362 (graphite_write_transforms): Remove.
6363 (print_pdr_access_layout): Updated to support OpenScop format.
6364 (print_pdr): Same.
6365 (openscop_print_pbb_domain): New.
c44d6c47
UB
6366 (print_pbb_body): Added a parameter to allow indicating that pbb_body
6367 is not provided.
ae403f5a
RB
6368 (print_pbb): Updated to call the new print_pbb_body.
6369 (openscop_print_scop_context): New.
6370 (print_scop_header): New.
6371 (print_scop): Updated to call print_scop_header.
6372 * graphite-poly.h: Document OpenScop format.
6373
b95491a0
AS
63742010-09-30 Anatoly Sokolov <aesok@post.ru>
6375
6376 * config/cris/m32c.c (cris_memory_move_cost): New.
6377 (cris_register_move_cost): Make static. Change arguments type from
6378 enum reg_class to reg_class_t.
6379 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
6380 * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
6381 * config/cris/cris-protos.h (cris_register_move_cost): Remove.
6382
45c13d4c
JJ
63832010-09-30 Jakub Jelinek <jakub@redhat.com>
6384
6385 PR target/45843
6386 * config/i386/i386.c (ix86_gimplify_va_arg): Use
6387 INTVAL (XEXP (slot, 1)) as prev_size.
6388
78009d9f
MM
63892010-09-30 Michael Meissner <meissner@linux.vnet.ibm.com>
6390
6391 PR target/45837
6392 * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
6393 * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
6394 defined.
6395 * config/rs6000/option-defaults.h (toplevel): Change #if
6396 TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
6397 global option changes.
6398
140d4eff
JJ
63992010-09-30 Jakub Jelinek <jakub@redhat.com>
6400
bb6b5461
JJ
6401 * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
6402
140d4eff
JJ
6403 PR tree-optimization/31261
6404 * fold-const.c (fold_binary): Optimize ((A & N) + B) & M
6405 for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
6406
6ddddaed
RW
64072010-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6408
6409 PR bootstrap/45796
6410 * Makefile.in (build/gen%$(build_exeext)): Move rule after all
6411 special-casing for generators and turn into ...
6412 ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
c44d6c47 6413 rule, for better error messages in case of toplevel dependency errors.
6ddddaed
RW
6414 (genprog): Add hooks, rename to ...
6415 (genprogerr): ... this, and let genprog also contain check,
6416 checksum, condmd.
6417 ((genprog:%=build/gen%$(build_exeext))): Rename to ...
6418 ((genprogerr:%=build/gen%$(build_exeext))): ... this.
6419 (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
6420
abcc9b2a 64212010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
c44d6c47 6422 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
abcc9b2a
JW
6423
6424 * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
6425 for GMP, MPFR and MPC.
6426
c28aa982
RO
64272010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6428
6429 * config/sparc/sparc.opt (mimpure-text): Move ...
c44d6c47 6430 * config/sol2.opt: ... here. Correct description.
c28aa982
RO
6431 * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
6432 * doc/invoke.texi (Option Summary, SPARC Options): Move
6433 -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
6434 (Option Summary, Solaris 2 Options): ... here.
6435 (Submodel Options, Solaris 2 Options): New menu entry.
6436 (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
6437 (Solaris 2 Options): ... here.
6438
80920132
ME
64392010-09-30 Michael Eager <eager@eagercon.com>
6440
6441 * extend.texi (interrupt_handler): Add MicroBlaze to list.
6442 (save_volatiles): Describe option for MicroBlaze.
6443 * invoke.texi: Add MicroBlaze Options.
a557f9cc 6444 * contrib.texi: Add acknowledgment.
80920132
ME
6445 * md.texi: Add MicroBlaze d and z constraints.
6446 * install.texi: Add microblaze-*-elf.
6447 * configure.ac: Add microblaze-*-* to target list.
6448 * configure: Regenerate.
6449 * config.gcc: Add microblaze*-*-*, microblaze*-linux*.
6450 * config/microblaze/microblaze-protos.h: New.
6451 * config/microblaze/crti.s: New.
6452 * config/microblaze/predicates.md: New.
6453 * config/microblaze/linux.h: New.
6454 * config/microblaze/microblaze.md: New.
6455 * config/microblaze/constraints.md: New.
6456 * config/microblaze/crtn.s: New.
6457 * config/microblaze/microblaze.opt: New.
6458 * config/microblaze/microblaze-c.c: New.
6459 * config/microblaze/t-microblaze: New.
6460 * config/microblaze/microblaze.c: New.
6461 * config/microblaze/microblaze.h: New.
6462
92902b1b
IS
64632010-09-30 Iain Sandoe <iains@gcc.gnu.org>
6464
6465 * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
6466 parse @optional/@required and set the flags as appropriate.
6467
ca01d012
NF
64682010-09-30 Nathan Froyd <froydnj@codesourcery.com>
6469
6470 * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
6471
46625112
JM
64722010-09-30 Joseph Myers <joseph@codesourcery.com>
6473
6474 * opt-functions.awk (static_var): Update comment.
6475 (var_ref): Return offsetof expression or -1, not variable address.
6476 * optc-gen.awk: Generate structure field initializers instead of
6477 static variables. Expect -1 for missing variables instead of null
6478 pointer. Add gcc_options parameters to generated functions.
6479 * opth-gen.awk: Generate structure fields for static variables.
6480 Add gcc_options parameters to generated functions.
6481 * common.opt (optimize, optimize_size): Add variables.
6482 * config/i386/i386-c.c (ix86_pragma_target_parse): Pass
6483 &global_options to cl_target_option_restore.
6484 * config/i386/i386.c (ix86_valid_target_attribute_p): Pass
6485 &global_options to cl_optimization_restore, cl_target_option_save
6486 and cl_target_option_restore.
6487 (ix86_set_current_function): Pass &global_options to
6488 cl_target_option_restore.
6489 * config/pdp11/pdp11.h (optimize): Remove.
6490 * config/rs6000/rs6000.h (optimize): Remove.
6491 * config/sh/sh.h (optimize): Remove.
6492 * config/xtensa/xtensa.h (optimize): Remove.
6493 * coretypes.h (struct gcc_options): Declare.
6494 * diagnostic.c (diagnostic_initialize): Initialize
6495 context->option_state.
6496 (diagnostic_report_diagnostic): Pass option_state to
6497 option_enabled hook.
6498 * diagnostic.h (diagnostic_context.option_enabled): Add void *
6499 parameter.
6500 (diagnostic_context.option_state): New field.
6501 * final.c (final_start_function, final, final_scan_insn): Rename
6502 optimize parameter to optimize_p.
6503 * flags.h (optimize, optimize_size): Remove.
6504 * function.c (invoke_set_current_function_hook): Pass
6505 &global_options to cl_optimization_restore.
6506 * gcc.c (driver_handle_option): Take gcc_options parameter.
6507 Assert that it is &global_options.
6508 (process_command): Pass &global_options to read_cmdline_option.
6509 * ipa-pure-const.c (suggest_attribute): Pass &global_options to
6510 option_enabled.
6511 * lto-opts.c (lto_reissue_options): Use option_flag_var. Pass
6512 &global_options to set_option.
6513 * opts-common.c (handle_option, handle_generated_option,
6514 read_cmdline_option, set_option): Take explicit gcc_options
6515 parameters. Use option_flag_var.
6516 (option_flag_var): New.
6517 * opts.c (common_handle_option, lang_handle_option,
6518 target_handle_option): Take gcc_options parameter. Assert that it
6519 is &global_options.
c44d6c47 6520 (read_cmdline_options): Pass &global_options to read_cmdline_option.
46625112
JM
6521 (print_filtered_help): Use option_flag_var. Pass &global_options
6522 to option_enabled.
6523 (common_handle_option): Use option_flag_var.
6524 (option_enabled): Take opts parameter. Use option_flag_var.
6525 (get_option_state): Take gcc_options parameter. Use
6526 option_flag_var. Pass gcc_options parameter to option_enabled.
6527 (enable_warning_as_error): Pass &global_options to
6528 handle_generated_option.
6529 * opts.h (struct cl_option): Change flag_var to flag_var_offset.
6530 (cl_option_handler_func.handler): Take gcc_options parameter.
6531 (option_enabled, get_option_state, set_option, handle_option,
6532 handle_generated_option, read_cmdline_option): Take gcc_options
6533 parameters.
6534 * toplev.c (optimize, optimize_size): Remove.
6535 (print_switch_values): Pass &global_options to option_enabled.
6536 (option_affects_pch_p): Use option_flag_var. Pass &global_options
6537 to get_option_state.
6538 (general_init): Initialize global_dc->option_state.
6539 * tree.c (build_optimization_node): Pass &global_options to
6540 cl_optimization_save.
6541 (build_target_option_node): Pass &global_options to
6542 cl_target_option_save.
6543
37ccfc46
MJ
65442010-09-30 Martin Jambor <mjambor@suse.cz>
6545
6546 * tree-sra.c (type_consists_of_records_p): Do not check for trailing
6547 zero sized bit-fields.
6548
49b91f05
NP
65492010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
6550
6551 * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
6552 Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
c44d6c47 6553 (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
49b91f05
NP
6554 (c_parser_objc_class_declaration): Same change.
6555 (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
6556 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
6557 (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
6558 instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
6559 and RID_AT_PUBLIC instead of RID_PUBLIC.
6560 (c_parser_statement_after_labels): Use RID_AT_TRY instead of
6561 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
a557f9cc 6562
ba4debed 65632010-09-30 Tom G. Christensen <tgc@jupiterrise.com>
58735e03
TC
6564
6565 * doc/install.texi (Binaries): Update link to HP-UX porting centre.
6566 Add links to current providers of packages for Solaris and IRIX.
6567
a6341d57
NP
65682010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
6569
6570 Merge from 'apple/trunk' branch on FSF servers.
6571 * c-parser.c: Applied change originally in c-parse.in.
a557f9cc 6572
ba4debed 6573 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
6574
6575 Radar 4281748
6576 * c-decl.c (start_decl): Check for redeclaration of class name.
6577 * c-parse.in (after_type_declarator): Recognize CLASSNAME.
6578
b14446e2
SE
65792010-09-29 Steve Ellcey <sje@cup.hp.com>
6580
6581 * config/ia64/ia64.c (ia64_builtin_decl): New.
6582 (TARGET_BUILTIN_DECL): Define.
6583 (ia64_builtins): New.
6584 (ia64_init_builtins): Save decls in ia64_builtins.
6585
22939744
BS
65862010-09-29 Bernd Schmidt <bernds@codesourcery.com>
6587
6588 PR target/40457
c44d6c47 6589 * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
22939744
BS
6590 (move2add_use_add3_insn): Likewise.
6591 (reload_cse_move2add): Likewise.
6592 * rtlanal.c (get_full_rtx_cost): New function.
6593 * rtl.h (struct full_rtx_costs): New.
6594 (init_costs_to_max, init_costs_to_zero, costs_lt_p,
6595 costs_add_n_insns): New inline functions.
6596 (get_full_rtx_cost): Declare.
6597
907c53bb
BS
6598 PR c/45054
6599 * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
6600 invariants. Check for reg_equiv_invariant.
6601 (reload): Assert that spilled_pseudos is empty when returning.
6602
0f23bc16
KT
66032010-09-29 Kai Tietz <kai.tietz@onevision.com>
6604
6605 * config/i386/mingw32.h (TARGET_64BIT): replaced by
6606 TARGET_64BIT_DEFAULT in #if check.
6607
ba4debed 66082010-09-29 Jack Howarth <howarth@bromo.med.uc.edu>
a0c6102d 6609
c44d6c47 6610 * varasm.c (assemble_alias): Add error message for unsupported ifunc.
a0c6102d 6611
48b3f0a0
MS
66122010-09-29 Mike Stump <mikestump@comcast.net>
6613
6614 * config/darwin.h (flag_mkernel): Remove.
6615 (flag_apple_kext): Likewise.
6616
006097f4 66172010-09-29 Joseph Myers <joseph@codesourcery.com>
ba4debed 6618 Jack Howarth <howarth@bromo.med.uc.edu>
006097f4
JM
6619
6620 * config/darwin.opt (undefined): Add.
6621
f6c5fbfd
NS
66222010-09-29 Nathan Sidwell <nathan@codesourcery.com>
6623
416ccea5 6624 PR testsuite/45664
f6c5fbfd
NS
6625 * configure.ac: Add --enable-indirect-function option.
6626 * config.gcc: Add default_gnu_indirect_function.
6627 * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
6628 (HAVE_GNU_INDIRECT_FUNCTION): ... this.
416ccea5 6629 * varasm.c (do_assemble_alias): Adjust for macro name change.
f6c5fbfd
NS
6630 * configure: Rebuilt.
6631 * doc/install.texi: Document --enable-indirect-function.
6632
f0036cca
JM
66332010-09-29 Joseph Myers <joseph@codesourcery.com>
6634
6635 * doc/options.texi (Variable, Var, Init): Update documentation
6636 without reference to VarExists.
6637 (VarExists): Remove.
6638 * common.opt, config/i386/i386.opt, config/linux.opt,
6639 config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
6640 Don't use VarExists.
6641
e3339d0f
JM
66422010-09-29 Joseph Myers <joseph@codesourcery.com>
6643
6644 * optc-gen.awk: Generate global_options initializer instead of
c44d6c47 6645 individual variables. Add x_ prefix to names of structure members.
e3339d0f
JM
6646 * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
6647 names of structure members.
6648 * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
6649 HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
6650 * doc/tm.texi: Regenerate.
6651 * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
6652 * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
6653 * c-parser.c (disable_extension_diagnostics,
c44d6c47 6654 restore_extension_diagnostics): Update names of cpp_options members.
e3339d0f
JM
6655 * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
6656 * common.opt (fcompare-debug-second): Don't use Var.
6657 * config/alpha/alpha.h (target_flags): Remove.
6658 * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
6659 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
6660 * config/bfin/bfin.h (target_flags): Remove.
6661 * config/cris/cris.h (target_flags): Remove.
6662 * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
6663 cl_target_option members.
6664 * config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
6665 (ix86_function_specific_print, ix86_valid_target_attribute_tree,
6666 ix86_can_inline_p): Update names of cl_target_option members.
6667 * config/i386/i386.h (ix86_isa_flags): Remove.
6668 * config/lm32/lm32.h (target_flags): Remove.
6669 * config/mcore/mcore.h (mcore_stack_increment): Remove.
6670 * config/mcore/mcore.md (addsi3): Remove extern declaration of
6671 flag_omit_frame_pointer.
6672 * config/mep/mep.h (target_flags): Remove.
6673 * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
6674 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
6675 * config/mmix/mmix.h (target_flags): Remove.
6676 * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
6677 flag_expensive_optimizations): Remove.
6678 * config/s390/s390.h (flag_pic): Remove.
6679 * config/score/score-conv.h (target_flags): Remove.
6680 * config/sh/sh.h (sh_fixed_range_str): Remove.
6681 * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
6682 * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
6683 * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
6684 * diagnostic.c (diagnostic_initialize): Update names of
6685 diagnostic_context members.
6686 * diagnostic.h (diagnostic_context): Rename inhibit_warnings and
6687 warn_system_headers.
6688 (diagnostic_report_warnings_p): Update for new names.
6689 * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
6690 * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
6691 HARD_FRAME_POINTER_IS_ARG_POINTER.
6692 * flags.h (flag_compare_debug): Declare.
6693 * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
6694 * opts.c (flag_compare_debug): Define.
6695 (common_handle_option): Update names of diagnostic_context
6696 members. Handle -fcompare-debug-second.
6697 (fast_math_flags_struct_set_p): Update names of cl_optimization
6698 members.
6699 * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
6700 * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
6701 * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
6702 * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
6703 * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
6704 * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
6705 HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
6706 * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
6707 * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
6708
9c506f10 67092010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
66dfc610
HS
6710
6711 * config/picochip/picochip.c (picochip_output_internal_label):
c44d6c47
UB
6712 This function can now be called for debug CFI labels, which can come
6713 in the middle of a vliw instruction. Postpone until end of vliw.
66dfc610 6714
725214ac
RG
67152010-09-29 Richard Guenther <rguenther@suse.de>
6716
6717 * tree.h (SCOPE_FILE_SCOPE_P): New macro.
6718 (DECL_FILE_SCOPE_P): Use it.
6719 (TYPE_FILE_SCOPE_P): New macro.
6720
1973201f
NP
67212010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
6722
6723 * c-parser.c (c_lex_one_token): In Objective-C, when dealing with
6724 a CPP_NAME which is a reserved word, clearly separate cases for
6725 OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
6726
a1ec5747
NP
67272010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
6728
6729 * c-parser.c (c_lex_one_token): In Objective-C, do not replace
6730 token->value with the canonical spelling. Do exactly like C and
6731 C++ and leave it as it is.
6732
fd930388
RH
67332010-09-28 Richard Henderson <rth@redhat.com>
6734
6735 * config/alpha/alpha.c (alpha_builtins): New.
6736 (alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
6737 (alpha_builtin_function): New.
6738 (alpha_add_builtins, alpha_init_builtins): Use it.
6739
6b79b1b7
NP
67402010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
6741
6742 * doc/standards.texi (Standards): Expanded the section on
6743 Objective-C and Objective-C++.
6744
146456c1
DD
67452010-09-28 DJ Delorie <dj@redhat.com>
6746
6747 PR target/45800
6748 * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
6749 volatile MEMs.
6750
f7e71da5
IS
67512010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6752
6753 * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
6754 attributes on methods.
6755 (c_parser_objc_method_definition): Handle attributes.
6756 (c_parser_objc_methodproto): Likewise.
6757 (c_parser_objc_maybe_method_attributes): New.
6758 (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
6759 missing definition, similar to that in ObjC++.
6760
f0a0390e
RH
67612010-09-28 Richard Henderson <rth@redhat.com>
6762
6763 * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
6764 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
6765 (CONFIG_SJLJ_EXCEPTIONS): Remove.
6766 (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
6767 (STACK_CHECK_PROTECT): Likewise.
6768 * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
6769 (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
6770 (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
6771 (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
6772 (dwarf2out_assembly_start): Likewise.
6773 * except.c (init_eh): Use targetm.except_unwind_info.
6774 (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
6775 (output_one_function_exception_table): Likewise.
6776 * final.c: Unconditionally include dwarf2out.h.
6777 (final_start_function): Unconditionally call dwarf2out routines.
6778 (final_end_function, final_scan_insn): Likewise.
6779 * function.c (expand_function_end): Use targetm.except_unwind_info.
6780 * opts.c (decode_options): Use targetm.except_unwind_info.
6781 * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
6782 * target.def (debug_unwind_info, except_unwind_info): New.
6783 * target.h (enum unwind_info_type): New.
6784 * targhooks.c (default_debug_unwind_info): New.
6785 (default_except_unwind_info): New.
6786 (dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
6787 * targhooks.h: Declare them.
6788 * tree-tailcall.c: Include "target.h"
6789 (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
6790 * Makefile.in (tree-tailcall.o): Update.
6791 * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
6792 (lhd_gcc_personality): Likewise.
6793
6794 * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
6795 (TARGET_EXCEPT_UNWIND_INFO): New.
6796 (DWARF2_UNWIND_INFO): Update.
6797 (TARGET_DEBUG_UNWIND_INFO): New.
6798 * doc/tm.texi: Rebuild.
6799
6800 * c-family/c-cppbuiltin.c (c_cpp_builtins): Use
6801 targetm.except_unwind_info.
6802
6803 * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
6804 (arm_except_unwind_info): New.
6805 (arm_compute_func_type): Use it.
6806 (arm_expand_prologue, thumb_pushpop): Likewise.
6807 (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
6808 (arm_unwind_emit, arm_output_fn_unwind): Likewise.
6809 * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
6810 * config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
6811 (DWARF2_UNWIND_INFO): Remove.
6812 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
6813 (ARM_EABI_UNWIND_TABLES): Remove.
6814
6815 * config/ia64/ia64.c (ia64_debug_unwind_info): New.
6816 (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
6817 (ia64_except_unwind_info): New.
6818 (ia64_output_function_prologue): Use it.
6819 (ia64_add_bundle_selector_before): Likewise.
6820 (ia64_reorg, ia64_asm_unwind_emit): Likewise.
6821 * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
6822 (TARGET_UNWIND_INFO): Remove.
6823
6824 * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
c44d6c47 6825
c165dca7
IS
68262010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6827
6828 * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
6829 (c_parser_objc_protocol_definition): Likewise.
6830 (c_parser_external_declaration): Provide dummy attribute arguments.
6831 (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
6832 (c_parser_objc_class_definition): Handle attributes.
6833 (c_parser_objc_protocol_definition): Likewise.
6834
41804a5b
TB
68352010-09-28 Tobias Burnus <burnus@net-b.de>
6836
6837 PR fortran/40569
6838 PR fortran/40568
6839 * toplev.h (save_decoded_options, save_decoded_options_count):
6840 New global variables.
6841 * toplev.c (save_decoded_options, save_decoded_options_count):
c44d6c47 6842 Export variables.
41804a5b 6843
7647b127
ILT
68442010-09-28 Ian Lance Taylor <iant@google.com>
6845
6846 * config/i386/i386.c (ix86_supports_split_stack): Test
c44d6c47 6847 HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
7647b127 6848
bb469872
ILT
68492010-09-28 Ian Lance Taylor <iant@google.com>
6850
6851 PR target/45815
6852 * opts.c (decode_options): Don't test whether the target supports
6853 split stack if flag_split_stack == 0.
6854
0d6e14fd
JH
68552010-09-28 Jan Hubicka <jh@suse.cz>
6856
6857 * builtin-attrs.def (ATTR_LEAF): New attribute.
6858 (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
6859 ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
6860 ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
6861 ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
6862 ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
6863 ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
6864 ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
6865 * sync-builtins.def: Annotate all builtins by leaf.
6866 * omp-builtins.def: Annotate all builtins by leaf.
6867 * builtins.def: Annotate relevant builtins with leaf attribute.
6868 (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
6869 ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
6870 leaf.
6871
697c3575
JH
68722010-09-28 Jan Hubicka <jh@suse.cz>
6873
6874 * tree-ssa-ccp.c (fold_ctor_reference): New function.
6875 (fold_const_aggregate_ref): Use it.
6876 * fold-const.c (canonicalize_constructor_val): Check that we don't fold
6877 into external static.
6878
2770264a
RO
68792010-09-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6880
6881 PR target/44452
6882 * config/i386/i386.opt (mvect8-ret-in-mem): Define.
6883 * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
6884 (ix86_solaris_return_in_memory): Remove.
6885 * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
6886 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
6887 (TARGET_SUBTARGET_DEFAULT): Redefine.
6888 * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
6889 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
6890 (TARGET_SUBTARGET_DEFAULT): Redefine.
6891 * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
6892 -mvect8-ret-in-mem.
6893 (i386 and x86-64 Options): Document -mvect8-ret-in-mem.
6894
2268453b
AM
68952010-09-29 Alan Modra <amodra@gmail.com>
6896
6897 PR target/45807
6898 * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
6899 * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
6900 * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
6901 Delete.
6902 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
6903 (rs6000_emit_prologue): Don't just create frame save info for r2,
6904 actually save r2.
6905
4d508d59
RH
69062010-09-28 Richard Henderson <rth@redhat.com>
6907
6908 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
6909 when 8 bytes are requested.
6910
247df3b6
TG
69112010-09-28 Tristan Gingold <gingold@adacore.com>
6912
6913 * config/avr/avr.c (expand_prologue): Set
6914 current_function_static_stack_size.
6915
d5ad88c0
TG
69162010-09-28 Tristan Gingold <gingold@adacore.com>
6917
6918 * config/alpha/alpha.md: Change the initial condition of the
6919 probing loop.
6920
4150f926
UB
69212010-09-28 Uros Bizjak <ubizjak@gmail.com>
6922
6923 * config/i386/sse.md (*avx_<umaxmin:code><mode>3):
6924 Split from *avx_<maxmin:code><mode>3.
6925 (*avx_<smaxmin:code><mode>3): Ditto.
6926 * config/i386/i386.md (maxmin): Remove code iterator.
6927
b6110d6d
ILT
69282010-09-27 Ian Lance Taylor <iant@google.com>
6929
6930 * config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
6931 requires assembler support for CFI directives.
6932
9b809695
RH
69332010-09-27 Richard Henderson <rth@redhat.com>
6934
6935 * dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
6936
4f8344eb
HPN
69372010-09-27 Hans-Peter Nilsson <hp@axis.com>
6938
6939 * emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
6940 that AFTER is not in the range FROM..TO, inclusive.
6941
fdf0b018
HPN
69422010-09-27 Hans-Peter Nilsson <hp@axis.com>
6943 Bernd Schmidt <bernds@codesourcery.com>
6944
6945 PR rtl-optimization/45792
6946 * cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
6947 If not all insns are to be merged, for each edge, stash the
6948 next candidate after the to-be-merged insns before doing the
6949 merge, and use them for the retry at the new insertion point.
6950 Handle CC0 targets when retrying.
6951
7458026b
ILT
69522010-09-27 Ian Lance Taylor <iant@google.com>
6953
6954 * common.opt (fsplit-stack): New option.
6955 * opts.c (decode_options): Set flag_split_stack to final value.
6956 * target.def (supports_split_stack): New hook.
6957 * gcc.c (STACK_SPLIT_SPEC): Define.
6958 (LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
6959 * doc/invoke.texi (Option Summary): Mention -fsplit-stack.
6960 (Code Gen Options): Document -fsplit-stack.
6961 * doc/extend.texi (Function Attributes): Mention no_split_stack.
6962 (Function Attributes): Document no_split_stack.
6963 * doc/tm.texi.in (Stack Smashing Protection): Add @hook
6964 TARGET_SUPPORTS_SPLIT_STACK.
6965 * doc/tm.texi: Rebuild.
6966 * function.c (thread_prologue_and_epilogue_insns): If
6967 flag_split_stack, add split stack prologue.
6968 * explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
6969 * varasm.c (saw_no_split_stack): New static variable.
6970 (assemble_start_function): Set saw_no_split_stack if the function
6971 has the no_split_stack attribute.
6972 (file_end_indicate_split_stack): New function.
6973 * output.h (file_end_indicate_split_stack): Declare.
6974 * libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
6975 and function.
6976 * doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
6977 routines.
6978 * config/i386/i386.c (ix86_option_override_internal): Don't set
6979 expand_builtin_va_start to NULL if -fsplit-stack.
6980 (ix86_function_regparm): Reduce local regparm by 1 for 32-bit
6981 -fsplit-stack.
6982 (ix86_va_start): If -fsplit-stack, get overflow pointer from
6983 scratch register set by prologue.
6984 (ix86_code_end): If -fsplit-stack, call
6985 file_end_indicate_split_stack.
6986 (ix86_supports_split_stack): New static function.
6987 (SPLIT_STACK_AVAILABLE): Define.
6988 (split_stack_prologue_scratch_regno): New static function.
6989 (split_stack_fn): New static variable.
6990 (ix86_expand_split_stack_prologue): New function.
6991 (ix86_live_on_entry): New static function.
6992 (ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
6993 (output_pic_addr_const): Likewise.
6994 (i386_asm_output_addr_const_extra): Likewise.
6995 (ix86_expand_call): Change return type to rtx. Return the new
6996 call instruction.
6997 (TARGET_SUPPORTS_SPLIT_STACK): Define.
6998 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
6999 * config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
7000 (split_stack_prologue, split_stack_return): New insns.
7001 (split_stack_space_check): New insn.
7002 * config/i386/i386.h (struct machine_function): Add
7003 split_stack_varargs_pointer field.
7004 * config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
7005 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
7006 * config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
7007 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
7008 * config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
7009 Declare.
7010 (ix86_expand_call): Update declaration.
7011
177b48f9
NP
70122010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7013
7014 * doc/objc.texi (Type encoding): Added the new 'long double' (D)
7015 code. Added byref, which was missing in the list of codes.
7016 Explain that enumeration values are encoded as the integer type
7017 that the compiler uses to store them. Explain and make examples
7018 of how 'const' interacts with pointers, and the complication of
7019 the encoding of 'const char *'.
7020 (Legacy type encoding): New subsection, explaining that GCC emits
7021 incorrect type encodings for the NeXT runtime for compatibility
7022 reasons.
7023 (@@encode): New subsection, explaining @encode and particularly
7024 that protocol qualifiers are not recognized inside an @encode()
7025 expression.
7026 (Method signatures): New subsection, explaining how method
7027 signatures are encoded.
7028
b581b85b
NP
70292010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7030
7031 Merge from 'apple/trunk' branch on FSF servers. Removed small
7032 change in build_conditional_expr that had been added when fixing
7033 PR objc/27377 and which did the same check in a less complete way.
7034
ba4debed 7035 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b
NP
7036
7037 Radar 4229905
7038 * c-typeck.c (build_conditional_expr): Call objc_have_common_type when
7039 looking for objective-c common pointer types.
c44d6c47 7040
b581b85b
NP
7041 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7042
7043 Radar 4154928
7044 * c-typeck.c (build_conditional_expr): For two ObjC pointer types,
7045 use their ObjC common type.
7046
1787f59e
RG
70472010-09-27 Richard Guenther <rguenther@suse.de>
7048
7049 * dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
7050
16892055
JZ
70512010-09-27 Jie Zhang <jie@codesourcery.com>
7052
7053 * print-tree.c (print_node): Print in-constant-pool.
7054
63001560
UB
70552010-09-27 Uros Bizjak <ubizjak@gmail.com>
7056
7057 * config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode.
7058 (UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined.
7059 (MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD.
7060 (ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition.
7061
4470a3a3
UB
70622010-09-26 Uros Bizjak <ubizjak@gmail.com>
7063
7064 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge
7065 from pro_epilogue_adjust_stack_<mode>_{1,2}.
7066 (pro_epilogue_adjust_stack_<mode>_add): Rename from
7067 pro_epilogue_adjust_stack_<mode>_3.
7068 * config/i386/i386.c (pro_epilogue_adjust_stack): Update for
7069 renamed pro_epilogue_adjust_stack_{si,di}_add.
7070 (ix86_expand_prologue): Use indirect functions. Update for renamed
7071 pro_epilogue_adjust_stack_{si,di}_sub.
7072
d355d5ea
UB
70732010-09-26 Uros Bizjak <ubizjak@gmail.com>
7074
7075 * config/i386/i386.md (movmsk_df): New insn.
7076 (signbitdf): Split out of signbit<mode>2. Generate movmsk_df
7077 sequence for TARGET_SSE_MATH.
7078
7725086e
RS
70792010-09-26 Richard Sandiford <rdsandiford@googlemail.com>
7080
7081 * config/mips/mips.c (mips_builtin_decls): Declare.
7082 (mips_init_builtins): Store function declarations in
7083 mips_builtin_decls.
7084 (mips_builtin_decl): New function.
7085 (TARGET_BUILTIN_DECL): Define.
7086
174425ad
KT
70872010-09-25 Kai Tietz <kai.tietz@onevision.com>
7088 Richard Henderson <rth@redhat.com>
7089
7090 * config/i386/cygwin.asm: Include auto-host.h.
7091 (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
7092 cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros.
7093 (__chkstk, __alloca): Annotate for dwarf2 unwind info. Drop
7094 alignment code from the 64-bit path. Use gas local labels.
7095 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize
7096 from _di_2. Remove the useless constant integer argument.
7097 (pro_epilogue_adjust_stack_<mode>_3): New.
7098 (allocate_stack_worker_probe_<mode>): Macroize from
7099 allocate_stack_worker_{32,64}. Use __chkstk_ms. Update all users.
7100 * config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms;
7101 use gen_pro_epilogue_adjust_stack_*_3 and annotate it.
7102 (__chkstk_ms): New function.
7103 * config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms.
8b7e8529 7104 * config/i386/t-interix: Likewise.
174425ad
KT
7105 * configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target.
7106 (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
7107 (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise.
7108 * configure, config.in: Rebuild.
7109
cf1bcf06
EB
71102010-09-25 Eric Botcazou <ebotcazou@adacore.com>
7111
7112 * tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new
7113 statements because of the return slot optimization.
7114
c21136ee
AS
71152010-09-25 Anatoly Sokolov <aesok@post.ru>
7116
7117 * config/avr/avr.h (CLASS_LIKELY_SPILLED_P): Remove.
7118 * config/avr/avr-protos.h (class_likely_spilled_p): Remove.
7119 * config/avr/avr.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
7120 (class_likely_spilled_p): Rename to...
7121 (avr_class_likely_spilled_p): ...this. Make static. Change argument
7122 type to reg_class_t.
7123
051f8cc6
JH
71242010-09-24 Jan Hubicka <jh@suse.cz>
7125
7126 * lto-symtab.c (lto_symtab_entry_def): Add guessed field.
7127 (lto_symtab_resolve_symbols): Set it.
7128 (lto_symtab_merge_decls_1): Do not compute used_from_object_file;
7129 store resolution field in cgraph/varpool.
7130 * cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
7131 (cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
7132 (cgraph_dump_node): Drop used_from_object_file.
7133 (cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
7134 (cgraph_function_body_availability): Use decl_replaceable_p.
7135 (cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
7136 (cgraph_can_remove_if_no_direct_calls_and_refs): Use
7137 cgraph_used_from_object_file_p.
7138 (cgraph_will_be_removed_from_program_if_no_direct_calls): Use
7139 cgraph_used_from_object_file_p.
7140 (resolution_used_from_other_file_p): New functoin.
7141 (cgraph_used_from_object_file_p): New predicate.
7142 * cgraph.h: Include plugin-api.h
7143 (struct cgraph_local_info): Remove used_from_object_file.
7144 (struct cgraph_node): Add resolution field.
7145 (struct varpool_node): Likewise; remove used_from_object_file;
7146 reove const_value_known.
7147 (cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
7148 cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
7149 (resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
7150 varpool_used_from_object_file_p): Declare.
7151 (varpool_get_node, varpool_extra_name_alias): Update prototype.
7152 * tree.h (DECL_REPLACEABLE_P): Remove.
7153 (decl_replaceable_p, decl_binds_to_current_def_p): Declare.
7154 * final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
7155 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
7156 input_overwrite_node, input_node, input_varpool_node): Stream
7157 resolution.
7158 * expr.c (expand_expr_real_1): Use const_value_known_p
7159 * ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
7160 const_value_known.
7161 (cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
7162 (function_and_variable_visibility): Set resolution for local vars
d355d5ea 7163 and functions; use varpool_used_from_object_file_p.
051f8cc6
JH
7164 * varasm.c (resolution_to_local_definition_p, resolution_local_p): New
7165 static functions.
7166 (default_binds_local_p_1): Use resolutoin info.
7167 (decl_binds_to_current_def_p, decl_replaceable_p): New functions.
7168 * varpool.c (varpool_get_node): Constify.
7169 (const_value_known_p): Do not use vnode->const_value_known;
7170 use decl_replaceable_p.
7171 (varpool_finalize_decl): Do not set const_value_known.
7172 (cgraph_variable_initializer_availability): Use decl_replaceable_p
7173 (varpool_extra_name_alias): Return new node.
7174 (varpool_used_from_object_file_p): New function.
7175
5c255b57
RH
71762010-09-24 Richard Henderson <rth@redhat.com>
7177
7178 * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): New.
7179 (TARGET_DWARF_HANDLE_FRAME_UNSPEC): New.
7180 (do_spill): Use REG_CFA_OFFSET.
7181 (ia64_expand_prologue): Use REG_CFA_ADJUST_CFA and REG_CFA_REGISTER
7182 as appropriate.
7183 (ia64_expand_epilogue): Likewise.
7184 (process_set): Split into ...
7185 (process_cfa_adjust_cfa): this,
7186 (process_cfa_register): this,
7187 (process_cfa_offset): and this new function.
7188 (ia64_asm_unwind_emit): Use them. Expect REG_CFA_* notes
7189 instead of REG_FRAME_RELATED_EXPR.
7190
42d87712
OH
71912010-09-24 Olivier Hainque <hainque@adacore.com>
7192
7193 * config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
7194
46a4da10
JH
71952010-09-24 Jan Hubicka <jh@suse.cz>
7196
7197 * doc/extend.texi: (attribute leaf): Document.
7198 * tree.c (local_define_builtin): Handle ECF_LEAF.
7199 (build_common_builtin_nodes): Set ECF_LEAF where needed.
7200 * tree.h (ECF_LEAF): New.
d355d5ea
UB
7201 * ipa-reference.c (propagate_bits): For leaf calls propagate ever
7202 overwrittable and unavailable functions.
46a4da10
JH
7203 (ipa_init): Put all_module_statics into optimization_summary_obstack.
7204 (copy_global_bitmap): Do not copy all_module_statics.
7205 (read_write_all_from_decl): Use cgraph_node argument; handle ECF_LEAF.
7206 (propagate): Handle overwritable and unavailable leaf functions;
7207 initialize global info for overwritable and unavailable leaf functions;
7208 do not free all module statics.
74164603 7209 (ipa_reference_get_not_{read,written}_global): Leaf calls don't clobber
d355d5ea 7210 local statics.
46a4da10
JH
7211 * calls.c (flags_from_decl_or_type): Handle leaf.
7212 * tree-cfg.c (stmt_can_make_abnormal_goto): Leaf functions can't do
7213 abnormal gotos.
e1b793e7
BS
7214
72152010-09-24 Basile Starynkevitch <basile@starynkevitch.net>
7216
7217 * gengtype.c: Reindented.
e1b793e7 7218 * gengtype.h: Reindented.
e1b793e7
BS
7219 * gengtype-parse.c: Reindented.
7220
1d0804d4
JH
72212010-09-24 Jan Hubicka <jh@suse.cz>
7222
7223 PR tree-optimization/45738
7224 PR tree-optimization/45741
7225 * expr.c (string_constant): Allow CONST_DECL too;
7226 check that DECL_INITIAL is set.
7227 * varpool.c (const_value_known_p): Only look into VAR_DECL
7228 and CONST_DECL.
7229
5642f5d5
JM
72302010-09-24 Joseph Myers <joseph@codesourcery.com>
7231
7232 * common.opt (undef): New.
7233
32990d5b
JJ
72342010-09-24 Jakub Jelinek <jakub@redhat.com>
7235
7236 PR middle-end/45234
7237 * rtl.h (enum global_rtl_index): Add
7238 GR_VIRTUAL_PREFERRED_STACK_BOUNDARY.
7239 (LAST_VIRTUAL_POINTER_REGISTER): Define.
7240 (virtual_preferred_stack_boundary_rtx,
7241 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM): Define.
7242 (LAST_VIRTUAL_REGISTER): Increase by one.
7243 (REGNO_PTR_FRAME_P): Use LAST_VIRTUAL_POINTER_REGISTER
7244 instead of LAST_VIRTUAL_REGISTER.
7245 * function.c (instantiate_new_reg): Handle
7246 virtual_preferred_stack_boundary_rtx.
7247 * emit-rtl.c (init_virtual_regs): Handle
7248 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
7249 (init_emit_regs): Initialize virtual_preferred_stack_boundary_rtx.
7250 * explow.c (round_push): If crtl->preferred_stack_boundary
7251 is smaller than MAX_SUPPORTED_STACK_ALIGNMENT, use
7252 virtual_preferred_stack_boundary_rtx alignment instead of
7253 crtl->preferred_stack_boundary alignment.
7254 (allocate_dynamic_stack_space): Use CONST_INT_P and REG_P
7255 macros. Never decrease crtl->preferred_stack_boundary,
7256 use crtl->preferred_stack_boundary or MAX_SUPPORTED_STACK_ALIGNMENT
7257 instead of PREFERRED_STACK_BOUNDARY. Don't modify
7258 stack_pointer_delta in dynamic allocation, even when size
7259 is constant.
7260 (probe_stack_range, anti_adjust_stack_and_probe): Use CONST_INT_P
7261 macro.
7262 * print-rtl.c (print_rtx): Handle
7263 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
7264 * config/alpha/alpha.h (NONSTRICT_REG_OK_FP_BASE_P): Use
7265 LAST_VIRTUAL_POINTER_REGISTER instead of LAST_VIRTUAL_REGISTER.
7266 * config/frv/frv.c (frv_emit_movsi): Likewise.
7267 * config/arm/arm.c (thumb1_legitimate_address_p): Likewise.
7268 * config/rs6000/rs6000.c (virtual_stack_registers_memory_p):
7269 Likewise.
7270
7271 Revert:
7272 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
7273
7274 PR middle-end/45234
7275 * calls.c (expand_call): Make sure that all variable sized
7276 adjustments are multiple of preferred stack boundary after
7277 stack alignment.
7278
3d1b7f13
IS
72792010-09-24 Iain Sandoe <iains@gcc.gnu.org>
7280 Dominique Dhumieres <dominiq@lps.ens.fr>
d355d5ea 7281
3d1b7f13 7282 PR bootstrap/45751
8b7e8529 7283 * config/darwin-driver.c (darwin_default_min_version):
3d1b7f13 7284 Adjust size passed to memcpy in two places.
d355d5ea 7285
116f30c3
RG
72862010-09-24 Richard Guenther <rguenther@suse.de>
7287
7288 * c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
7289 Make sure to not call set_type_context with error_mark_node.
7290 * langhooks.c (lhd_set_decl_assembler_name): Use DECL_FILE_SCOPE_P.
7291
de6ba7ae
RG
72922010-09-24 Richard Guenther <rguenther@suse.de>
7293
7294 * Makefile.in (OBJS-onestep): Remove.
7295 (ALL_HOST_BACKEND_OBJS): Remove libbackend.o.
7296 (libbackend.a): Remove onestep support.
7297 (libbackend.o): Remove.
7298 * configure.ac (--enable-intermodule): Remove.
7299 * configure: Regenerate.
7300
662592e1
BS
73012010-09-24 Bernd Schmidt <bernds@codesourcery.com>
7302
7303 * cfgcleanup.c (flow_find_head_matching_sequence): Terminate when
7304 reaching the end of a block if it occurs at a DEBUG_INSN.
7305
5501bdc1
TG
73062010-09-09 Tristan Gingold <gingold@adacore.com>
7307
7308 PR target/44242
7309 * config/vms/vms-crt0-64.c: Removed.
7310 * config/vms/vms-crt0.c: Removed.
7311 * config/vms/vms-psxcrt0-64.c: Removed.
7312 * config/vms/vms-psxcrt0.c: Removed.
7313 * config/vms/vms-ucrt0.c: New file.
7314 * config/vms/t-vms64: Removed.
7315 * config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it. Remove DECC.
7316 Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o
7317 * config.gcc (alpha-dec-vms): Use t-vms.
7318
35e711d3
NP
73192010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
7320
7321 * doc/invoke.texi (-fno-nil-receivers): Tidied up line to remove
7322 underfull hbox in DVI output.
7323 (-fobjc-class-cxx-cdtors): Same change.
7324 (-fobjc-exceptions): Tidied up documentation. Explain what the
7325 option does, but moved the (lenghty) description of the exception
7326 syntax into objc.texi.
7327 (-fobjc-gc): Explain that the option is not useful with the GNU
7328 runtime.
7329 (-fzero-link): Explain that the GNU runtime always works in
7330 "zero-link" mode.
7331 * doc/objc.texi: All sections: simplified @node declarations
7332 removing specification of next, previous, up node.
7333 (Objective-C): Updated introduction.
7334 (Garbage Collection): Updated. The bohem-gc library is now
7335 included in gcc itself. Mention that this section only applies to
7336 the GNU Objective-C runtime.
7337 (compatibility_alias): Small tidy up.
7338 (Exceptions): New section mostly containing text previously in the
7339 description of the -fobjc-exception command-line option.
7340 (Synchronization): Same.
5501bdc1 7341
6fd71fde
UB
73422010-09-24 Uros Bizjak <ubizjak@gmail.com>
7343
7344 * config/i386/i386.md (ix86_code_end): Move the initialization of
7345 xops array near the consumer. Use AX_REG and SP_REG instead of
7346 numerical constants.
7347
19dc6d01
NP
73482010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
7349
6fd71fde
UB
7350 * c-typeck.c (convert_arguments): Use warning 'too many arguments to
7351 method [methodname]' for an Objective-C method instead of the less
7352 satisfactory 'too many arguments to function' (with no method name).
19dc6d01 7353
f61c8291
EB
73542010-09-23 Eric Botcazou <ebotcazou@adacore.com>
7355
452648a8 7356 * tree-flow.h (execute_update_addresses_taken): Remove parameter.
f61c8291 7357 * tree-ssa.c (maybe_optimize_var): Tweak comment and dump messages.
452648a8
EB
7358 (execute_update_addresses_taken): Remove parameter. Execute the
7359 optimization unconditionally.
7360 * passes.c (execute_function_todo): Call execute_update_addresses_taken
7361 unconditionally if TODO_rebuild_alias is set, else only when optimizing
7362 if TODO_update_address_taken is set.
f61c8291 7363
ffda8a0d
AS
73642010-09-23 Anatoly Sokolov <aesok@post.ru>
7365
7366 * config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
7367 * config/arm/arm-protos.h (arm_output_addr_const_extra): Remove.
7368 * config/arm/arm.c (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
7369 (arm_output_addr_const_extra): Make static.
7370
17eba947
UB
73712010-09-23 Uros Bizjak <ubizjak@gmail.com>
7372
7373 * config/i386/i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and
7374 define as unspec_volatile.
7375 ("nops"): Define as unspec_volatile. Use fputs to write to
7376 asm_out_file directly. Output NOPs on separate lines using while loop.
7377 * config/i386/i386.c (ix86_code_end): Use fputs to write to
7378 asm_out_file directly. Output NOPs on separate lines using while loop.
7379
3d113394
RG
73802010-09-23 Richard Guenther <rguenther@suse.de>
7381
7382 PR tree-optimization/45565
7383 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
7384 Make sure to adjust the fndecl before replacing the stmt.
7385
dca26746
RG
73862010-09-23 Richard Guenther <rguenther@suse.de>
7387
7388 PR middle-end/45750
7389 * gimplify.c (gimplify_expr): Properly pass on GS_ERROR when
7390 gimplifying MEM_REF.
7391
9f2e34e1
AM
73922010-09-23 Alan Modra <amodra@gmail.com>
7393
7394 * config/rs6000/rs6000.c (toc_relative_ok): Delete.
7395 (rs6000_emit_move): Use SYMBOL_REF_LOCAL_P instead.
7396
3c3bd471
BS
73972010-09-23 Bernd Schmidt <bernds@codesourcery.com>
7398
7399 PR rtl-optimization/44374
7400 * basic-block.h (enum bb_flags): Add BB_MODIFIED.
7401 * df-core.c (df_set_bb_dirty): Set it.
7402 * ifcvt.c (find_memory): Remove function.
7403 (dead_or_predicable): Use can_move_insns_across.
7404 * df.h (can_move_insns_across): Declare function.
7405 * cfgcleanup.c (block_was_dirty): New static variable.
7406 (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
7407 than df_get_bb_dirty.
7408 (try_head_merge_bb): New static function.
7409 (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty
7410 is set.
7411 * df-problems.c: Include "target.h"
7412 (df_simulate_find_uses): New static function.
7413 (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
7414 (find_memory, find_memory_store): New static functions.
7415 (can_move_insns_across): New function.
7416 * Makefile.in (df-problems.o): Update dependencies.
7417
40ea67af
EB
74182010-09-22 Eric Botcazou <ebotcazou@adacore.com>
7419
7420 PR java/44095
7421 * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
7422 is specified and the suffix of the file isn't ".c".
7423 * config/sparc/linux64.h (ASM_SPEC): Likewise.
7424
74252010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ab940b73 7426
17eba947 7427 * doc/contrib.texi (Contributors): Allow URL to wrap in PDF output.
ab940b73
RW
7428 * doc/cppopts.texi: Fix markup of index entry.
7429 * doc/extend.texi (Constructing Calls): Fix markup of
7430 __builtin_va_arg_pack and __builtin_va_arg_pack_len definition.
7431 (Conditionals, C++ Comments, Pragmas, Unnamed Fields, Thread-Local)
7432 (Vague Linkage, C++ Attributes): Fix markup of index entries and
7433 keywords.
7434 * doc/invoke.texi (Option Summary): Fix spacing. Rewrap to
7435 avoid long lines.
7436 (C Dialect Options, C++ Dialect Options, Warning Options)
7437 (Debugging Options, Spec Files, Darwin Options)
7438 (i386 and x86-64 Options, MIPS Options)
7439 (RS/6000 and PowerPC Options, Code Gen Options): Fix markup of
7440 index entries, avoid abbreviations, allow URLs to wrap, avoid
7441 long lines, avoid overlong pages from long @itemx lists.
7442 * doc/objc.texi (Garbage Collection): Allow URLs to wrap.
7443 * doc/standards.texi (Standards): Likewise.
17eba947 7444 * doc/trouble.texi (Incompatibilities): Fix markup of index entry.
ab940b73 7445
60cf253a
JM
74462010-09-22 Joseph Myers <joseph@codesourcery.com>
7447
7448 * opts-common.c (prune_options): Make static. Work with decoded
7449 options.
7450 (decode_cmdline_options_to_array): Call prune_options. Don't
7451 resize option array here.
7452 * opts.h (prune_options): Remove prototype.
7453 * gcc.c (process_command): Take decoded options; don't call
17eba947 7454 decode_cmdline_options_to_array here. Use decoded options for argv[0].
60cf253a
JM
7455 (main): Call decode_cmdline_options_to_array here instead of
7456 prune_options. Update call to process_command.
7457 * config/darwin-driver.c: Include opts.h.
7458 (darwin_default_min_version): Work with decoded options. Don't
7459 handle -b or -V here.
7460 * config/darwin.h (darwin_default_min_version): Update prototype.
7461 (GCC_DRIVER_HOST_INITIALIZATION): Update call to
7462 darwin_default_min_version.
7463 * config/i386/cygwin.h (mingw_scan): Update prototype.
7464 (GCC_DRIVER_HOST_INITIALIZATION): Update call to mingw_scan.
7465 * config/i386/cygwin1.c: Include opts.h.
7466 (mingw_scan): Work with decoded options.
7467 * config/i386/t-cygwin (cygwin1.o): Update dependencies.
7468 * config/t-darwin (darwin-driver.o): Update dependencies.
7469
e200444e
JM
74702010-09-22 Joseph Myers <joseph@codesourcery.com>
7471
7472 * common.opt (-assemble, -compile, -coverage, -debug, -dump,
7473 -dump=, -dumpbase, -dumpdir, -entry, -entry=, -extra-warnings,
7474 -for-assembler, -for-assembler=, -for-linker, -for-linker=,
7475 -force-link, -force-link=, -language, -language=,
7476 -library-directory, -library-directory=, -no-canonical-prefixes,
7477 -no-standard-libraries, -no-warnings, -optimize, -output,
7478 -output=, -pass-exit-codes, -pedantic, -pedantic-errors, -pie,
7479 -pipe, -prefix, -prefix=, -preprocess, -print-file-name,
7480 -print-file-name=, -print-libgcc-file-name,
7481 -print-multi-directory, -print-multi-lib,
7482 -print-multi-os-directory, -print-prog-name, -print-prog-name=,
7483 -print-search-dirs, -print-sysroot, -print-sysroot-headers-suffix,
7484 -profile, -save-temps, -shared, -specs, -specs=, -static,
7485 -symbolic, -time, -verbose, -param=, -sysroot, coverage, e, u,
7486 symbolic): New.
7487 (fhelp, fhelp=, ftarget-help, fversion): Make into aliases.
7488 * gcc.c (A Short Introduction to Adding a Command-Line Option):
7489 Remove comment.
7490 (cc1_options): Correct specs for passing down --help,
7491 --target-help and --help=*. Add spec for passing down --version.
7492 (struct option_map, option_map, target_option_translations,
7493 translate_options): Remove.
7494 (driver_handle_option): Handle OPT__version, OPT__help, OPT__help_
7495 and OPT__target_help instead of OPT_fversion, OPT_fhelp,
7496 OPT_fhelp_ and OPT_ftarget_help.
7497 (process_command): Don't call translate_options. Call
7498 decode_cmdline_options_to_array before checking for
7499 -no-canonical-prefixes using decoded options.
7500 * opts-common.c (tm.h): Update comment on #include.
7501 (find_opt): Allow abbreviations of long options.
7502 (struct option_map, option_map): New.
7503 (decode_cmdline_option): Use them instead of hardcoding -Wno, -fno
7504 and -mno handling.
7505 (target_option_translations): New.
7506 (decode_cmdline_options_to_array): Handle
7507 TARGET_OPTION_TRANSLATE_TABLE in driver.
7508 * opts.c (common_handle_option): Don't handle OPT_fhelp,
7509 OPT_ftarget_help, OPT_fhelp_ or OPT_fversion.
7510
5d7b099c
RG
75112010-09-22 Richard Guenther <rguenther@suse.de>
7512
7513 * tree-inline.c (optimize_inline_calls): Schedule cleanups
7514 only if we inlined something. Block compaction and conditional
7515 folding are done by cfg cleanup. Schedule update-address-taken.
7516 (tree_function_versioning): Remove redundant call to number_blocks.
7517 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Conditional
7518 folding is done by cfg cleanup.
7519 * passes.c (init_optimization_passes): Remove update-address-taken
7520 pass after IPA inlining.
7521
27d5e204
CLT
75222010-09-22 Chung-Lin Tang <cltang@codesourcery.com>
7523
7524 * postreload.c (move2add_note_store): Add reg_symbol_ref[] checks
7525 to update conditions. Fix reg_mode[] check.
7526
17eba947 75272010-09-22 Hariharan Sandanagobalane <hariharan@picochip.com>
be6388e1
HS
7528
7529 * config/picochip/picochip.md (movhicc): Use expand to check whether
7530 movhicc is available and split it after reload.
7531
736fe2d5
RG
75322010-09-22 Richard Guenther <rguenther@suse.de>
7533
7534 * tree-ssanames.c (release_dead_ssa_names): Do not remove
7535 callee edges here.
7536 * passes.c (init_optimization_passes): Remove early CFG cleanup.
7537 * tree-optimize.c (execute_cleanup_cfg_pre_ipa): Remove.
7538 (pass_cleanup_cfg): Likewise.
7539 (execute_fixup_cfg): Cleanup.
7540 * tree-pass.h (pass_cleanup_cfg): Remove.
7541
23c1da7a
MJ
75422010-09-22 Martin Jambor <mjambor@suse.cz>
7543
7544 * gimple-fold.c (fold_gimple_call): New parameter inplace, do not fold
7545 builtins if it is true.
7546 (fold_stmt_1): Call, fold_gimple_call always, pass inplace as a
7547 parameter.
7548
9271a43c
MJ
75492010-09-22 Martin Jambor <mjambor@suse.cz>
7550
7551 * tree-sra.c (struct access): New field grp_no_warning.
7552 (create_access_replacement): Set TREE_NO_WARNING according to
7553 grp_no_warning.
7554 (create_artificial_child_access): Use build_ref_for_model and set
7555 grp_no_warning if build_user_friendly_ref_for_offset fails.
7556 (propagate_subaccesses_across_link): Likewise.
7557
77167b6f
EB
75582010-09-22 Eric Botcazou <ebotcazou@adacore.com>
7559
7560 PR target/35664
7561 * config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU.
7562 ('f'): Likewise.
7563
50842acb
TG
75642010-09-22 Tristan Gingold <gingold@adacore.com>
7565
7566 * config/alpha/alpha.c (alpha_use_linkage): Initialize target field.
7567
c69fa2d4
UB
75682010-09-22 Uros Bizjak <ubizjak@gmail.com>
7569
7570 * config/i386/i386.h (MAX_STRINGOP_ALGS): Fix typo in the name.
7571 * config/i386/i386.c (decide_alg): Update for rename.
7572
a82e045d
JJ
75732010-09-22 Jakub Jelinek <jakub@redhat.com>
7574
7575 PR rtl-optimization/45739
7576 * simplify-rtx.c (simplify_binary_operation_1): Optimize even
7577 vector mode | CONST0_RTX (mode) and ^ CONST0_RTX (mode).
7578
5e68c77a
AS
75792010-09-21 Anatoly Sokolov <aesok@post.ru>
7580
7581 * config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): Remove macros.
7582 * config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra):
7583 Remove.
c69fa2d4 7584 * config/rs6000/rs6000.c (rs6000_output_addr_const_extra): Make static.
5e68c77a
AS
7585 (TTARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
7586
45547c7f
NP
75872010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7588
7589 PR objc/23710
45547c7f
NP
7590 * c-parser.c (c_parser_objc_method_definition): Check the return
7591 value of objc_start_method_definition and if false is returned,
7592 parse the method definition but emit no code.
50842acb 7593
c0c24aa4
NP
75942010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7595
7596 PR objc/25965
7597 * c-decl.c (detect_field_duplicates): If compiling Objective-C,
7598 call objc_get_interface_ivars ().
50842acb 7599
f997b875
KT
76002010-09-21 Kai Tietz <kai.tietz@onevision.com>
7601
7602 PR target/45694
7603 * config/i386/i386.c (ix86_expand_prologue): Save r10 in case that
7604 static chain-register is used for 64-bit.
7605
54394f4d
RG
76062010-09-21 Richard Guenther <rguenther@suse.de>
7607
7608 * dwarf2out.c (is_cu_die): New function.
7609 (add_pubtype): Use it.
7610 (gen_subprogram_die): Likewise.
7611 (gen_struct_or_union_type_die): Likewise.
7612 (dwarf2out_finish): Likewise.
7613 (comp_unit_die): Rename to ...
7614 (single_comp_unit_die): ... this.
7615 (comp_unit_die): New function lazily constructing and
7616 returning single_comp_unit_die.
7617 (is_cxx, is_fortran, is_ada, debug_dwarf, break_out_comdat_types,
7618 base_type_die, subrange_type_die, modified_type_die,
7619 lower_bound_default, add_bound_info, add_prototyped_attribute,
7620 dwarf2out_vms_debug_main_pointer, scope_die_for, retry_incomplete_types,
7621 dwarf2out_abstract_function, gen_type_die_with_usage, get_context_die,
7622 force_decl_die, gen_namespace_die, dwarf2out_decl,
7623 dwarf2out_start_source_file, dwarf2out_end_source_file,
7624 prune_unused_types, dwarf2out_finish): Use it.
7625 (gen_compile_unit_die): For GNU GIMPLE derive DW_AT_language from
7626 the global list of translation-unit decls.
7627 (dwarf2out_init): Do not create single_comp_unit_die here.
7628 (force_decl_die): Handle TRANSLATION_UNIT_DECL.
7629
9cad5fe7
RG
76302010-09-21 Richard Guenther <rguenther@suse.de>
7631
7632 * dwarf2out.c (dwarf2out_decl): Do not always generate a DIE
7633 for bool for C++.
7634
c9cdcaa5
BS
76352010-09-21 Bernd Schmidt <bernds@codesourcery.com>
7636
7637 * config/arm/iterators.md (qhs_extenddi_op): New mode_attr.
7638 (qhs_extenddi_cstr): Likewise.
7639 * config/arm/arm.md (zero_extend<mode>di2, extend<mode>di2): Use
7640 them for the source operand.
7641
903c31ee
UB
76422010-09-21 Uros Bizjak <ubizjak@gmail.com>
7643
7644 * config/i386/i386.c (ix86_split_ashl): Rename single_width variable
7645 to half_width. Use GET_MODE_BITSIZE to calculate mode size.
7646 (ix86_split_ashr): Ditto.
7647 (ix86_split_lshr): Ditto.
7648
ce2b1d68
RG
76492010-09-21 Richard Guenther <rguenther@suse.de>
7650
7651 PR tree-optimization/45580
7652 * tree-ssa-propagate.c (substitute_and_fold): Always replace
7653 regular uses.
7654 * gimple-fold.c (gimple_fold_obj_type_ref): For a BINFO without
7655 virtuals fold the call into a regular indirect one.
7656
ad78b8a6
EB
76572010-09-20 Eric Botcazou <ebotcazou@adacore.com>
7658
7659 PR rtl-optimization/42775
7660 * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
7661 scheduling is enabled.
7662
0a7a6af6
JJ
76632010-09-20 Jakub Jelinek <jakub@redhat.com>
7664
220c5f0c
JJ
7665 PR rtl-optimization/45728
7666 * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
7667 gen_lowpart_common first and if that fails, force_reg first
7668 before calling gen_lowpart.
7669
0a7a6af6
JJ
7670 PR middle-end/45678
7671 * cfgexpand.c (expand_one_stack_var_at): Use
7672 crtl->max_used_stack_slot_alignment as max_align, instead
7673 of maximum of that and PREFERRED_STACK_BOUNDARY.
7674 Don't call update_stack_alignment.
7675
523e82a7
EB
76762010-09-20 Eric Botcazou <ebotcazou@adacore.com>
7677
7678 * langhooks.h (struct lang_hooks_for_types): Remove hash_types field.
7679 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete.
7680 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES.
7681 * system.h (LANG_HOOKS_HASH_TYPES): Poison.
7682 * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types.
7683 (build_nonstandard_integer_type): Likewise.
7684 (build_range_type_1): New function, built from...
7685 (build_range_type): ...this. Call build_range_type_1.
7686 (build_nonshared_range_type): New function.
7687 (build_array_type_1): New function, built from...
7688 (build_array_type: ...this. Call build_array_type_1.
7689 (build_nonshared_array_type): New function.
7690 * tree.h (build_nonshared_range_type): Declare.
7691 (build_nonshared_array_type): Likewise.
7692
d163e655
AS
76932010-09-20 Anatoly Sokolov <aesok@post.ru>
7694
7695 * config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove.
7696 * config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
7697 (arm_class_likely_spilled_p): New function.
7698
382eb33c
UB
76992010-09-20 Uros Bizjak <ubizjak@gmail.com>
7700
7701 * config/i386/i386.c (ix86_expand_ashl_const): Rewrite using
7702 indirect functions.
7703 (ix86_split_ashl): Ditto.
7704 (ix86_split_ashr): Ditto.
7705 (ix86_split_lshr): Ditto.
7706 (ix86_adjust_counter): Ditto.
7707
abc88a08
NP
77082010-09-20 Nicola Pero <nicola.pero@meta-innovation.com>
7709
7710 * c-family/c-common.h (constant_string_class): Documented with
7711 comment identical to the one already in c-common.c.
7712
fbbe0995
JJ
77132010-09-20 Jakub Jelinek <jakub@redhat.com>
7714
9bedc09b
JJ
7715 * dwarf2out.c (any_cfis_emitted): New static variable.
7716 (add_fde_cfi): Set it.
7717 (dwarf2out_frame_debug): Clear it before processing,
7718 if it is set afterwards, flush any queued reg saves.
7719
fbbe0995
JJ
7720 PR debug/45124
7721 * dwarf2out.c (add_accessibility_attribute): Assume
7722 DW_ACCESS_private as the default for dwarf_version > 2
7723 and DW_TAG_class_type parent.
7724 (gen_inheritance_die): Assume DW_ACCESS_public as the default
7725 for dwarf_version > 2 and parent other than DW_TAG_class_type.
7726
382eb33c 77272010-09-20 Rafael Carre <rafael.carre@gmail.com>
cce470f9
RC
7728
7729 PR target/45726
7730 * arm.md (arm_movt): Only enable on machines with MOVT.
7731
47d8f18d
JZ
77322010-09-20 Jie Zhang <jie@codesourcery.com>
7733
7734 * config/arm/arm.c (arm_address_offset_is_imm): New.
7735 (arm_early_store_addr_dep): New.
7736 (arm_early_load_addr_dep): New.
7737 * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
7738 (arm_early_load_addr_dep): Declare.
7739 (arm_address_offset_is_imm): Declare.
7740 * config/arm/cortex-m4.md: New file.
7741 * config/arm/cortex-m4-fpu.md: New file.
7742 * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
7743 (attr generic_sched): Exclude cortexm4.
7744 (attr generic_vfp): Exclude cortexm4.
7745
06baaba3
RG
77462010-09-20 Richard Guenther <rguenther@suse.de>
7747
7748 PR middle-end/45704
7749 * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness.
7750
64e0f5ff
JH
77512010-09-20 Jan Hubicka <jh@suse.cz>
7752
7753 PR tree-optimize/45605
7754 * cgraph.h (const_value_known_p): Declare.
7755 (varpool_decide_const_value_known): Remove.
7756 * tree-ssa-ccp.c (get_base_constructor): Use it.
7757 * lto-cgraph.c (compute_ltrans_boundary): Likewise.
7758 * expr.c (string_constant): Likewise.
7759 * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
7760 * ipa.c (ipa_discover_readonly_nonaddressable_var,
7761 function_and_variable_visibility): Likewise.
7762 * gimplify.c (gimplify_call_expr): Likewise.
7763 * gimple-fold.c (get_symbol_constant_value): Likewise.
7764 * varpool.c (varpool_decide_const_value_known): Replace by...
7765 (const_value_known_p): ... this one; handle other kinds of DECLs
7766 too and work for automatic vars.
7767 (varpool_finalize_decl): Use const_value_known_p.
7768
382eb33c 77692010-09-20 Rafael Carre <rafael.carre@gmail.com>
4ce9b2b2
RC
7770
7771 PR target/45726
7772 * arm.md (arm_movtas_ze): Only enable on machine with MOVT.
7773
565b8886
RG
77742010-09-20 Richard Guenther <rguenther@suse.de>
7775
7776 PR tree-optimization/45705
7777 * tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination.
7778
2960be83
JJ
77792010-09-20 Jakub Jelinek <jakub@redhat.com>
7780
7781 PR rtl-optimization/45695
7782 * combine.c (try_combine): When splitting a two set pattern,
7783 make sure the pattern which will be put into i2 doesn't use REGs
7784 or MEMs set by insns in between i2 and i3.
7785
d1f6261f
JH
77862010-09-19 Jan Hubicka <jh@suse.cz>
7787
7788 PR lto/44246
7789 * lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid
7790 processing same node twice.
7791
0b182178
AS
77922010-09-19 Anatoly Sokolov <aesok@post.ru>
7793
7794 * config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove.
7795 * config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
7796 (bfin_class_likely_spilled_p): New function
7797
039d9ea1
IR
77982010-09-19 Ira Rosen <irar@il.ibm.com>
7799
7800 PR tree-optimization/45714
7801 * tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement
7802 created in vectorizable_call instead of the original statement in
7803 def stmt updates.
7804
b146446c
UB
78052010-09-19 Uros Bizjak <ubizjak@gmail.com>
7806
7807 * config/i386/i386-protos.h (split_double_mode): New prototype.
7808 (split_di, split_ti): Remove prototypes.
7809 * config/i386/i386.c (split_double_mode): New function.
7810 (split_di, split_ti): Remove.
7811 (ix86_expand_branch): Use split_double_mode.
7812 (ix86_split_to_parts): Ditto.
7813 (ix86_split_ashl): Ditto.
7814 (ix86_split_ashr): Ditto.
7815 (ix86_split_lshr): Ditto.
7816 (ix86_force_to_memory): Ditto.
7817 * config/i386/i386.md: Use split_double_mode in double-mode splitters.
7818
9b389a5e
JH
78192010-09-18 Jan Hubicka <jh@suse.cz>
7820
7821 PR tree-optimization/45453
7822 * cgraphunit.c (cgraph_finalize_function): Consider comdat & external
7823 virtual functions are reachable.
7824 * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
7825 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
7826 * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
7827 when modifying function.
7828
1389294c
JH
78292010-09-18 Jan Hubicka <jh@suse.cz>
7830
7831 PR tree-optimization/45605
7832 * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
7833 * gimple-fold.c (static_object_in_other_unit_p): New function.
7834 (canonicalize_constructor_val): Use it.
7835 (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
7836 returning NULL.
b146446c
UB
7837 (gimple_fold_obj_type_ref_known_binfo): Use
7838 static_object_in_other_unit_p.
1389294c 7839
6a78fd06
RG
78402010-09-18 Richard Guenther <rguenther@suse.de>
7841
7842 PR tree-optimization/45709
7843 * tree-inline.c (copy_phis_for_bb): Delay commit of edge
7844 insertions until after all PHI nodes of the block are processed.
7845
17eba947 78462010-09-18 Tijl Coosemans <tijl@coosemans.org>
f52a39cd
TC
7847
7848 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
7849
b4b7e792
KT
78502010-09-18 Kai Tietz <kai.tietz@onevision.com>
7851
7852 * config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
7853
a9db10d4
RG
78542010-09-18 Richard Guenther <rguenther@suse.de>
7855
7856 PR tree-optimization/45709
b146446c 7857 * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it.
a9db10d4 7858
1f424006
SP
78592010-09-17 Sebastian Pop <sebastian.pop@amd.com>
7860
7861 * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
7862 (dot_deps_stmt): Same.
7863 * graphite-poly.c (dot_lst): Same.
7864 * graphite-scop-detection.c (dot_all_scops): Same.
7865 (dot_scop): Same.
7866
f3241b29
SP
78672010-09-17 Sebastian Pop <sebastian.pop@amd.com>
7868
b146446c
UB
7869 Revert:
7870 2009-12-16 Ben Elliston <bje@au.ibm.com>
7871
f3241b29
SP
7872 * tree-data-ref.c (dot_rdg_1): Added back.
7873 (dot_rdg): Same. Added "#if 0" around system call.
7874
e7ed95a2
L
78752010-09-17 H.J. Lu <hongjiu.lu@intel.com>
7876 Richard Henderson <rth@redhat.com>
7877
7878 * config/i386/i386.c (initial_ix86_tune_features): Add
7879 X86_TUNE_PAD_SHORT_FUNCTION.
7880 (ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
7881 (ix86_count_insn): New.
7882 (ix86_pad_short_function): Likewise.
7883 (ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.
7884
7885 * config/i386/i386.h (ix86_tune_indices): Add
7886 X86_TUNE_PAD_SHORT_FUNCTION.
7887 (TARGET_PAD_SHORT_FUNCTION): New.
7888
7889 * config/i386/i386.md (UNSPEC_NOPS): New.
7890 (nops): Likewise.
7891
2b3ded42
L
78922010-09-17 H.J. Lu <hongjiu.lu@intel.com>
7893
7894 PR middle-end/45234
7895 * calls.c (expand_call): Make sure that all variable sized
7896 adjustments are multiple of preferred stack boundary after
7897 stack alignment.
7898
bf9afb7d
DD
78992010-09-17 DJ Delorie <dj@redhat.com>
7900
7901 * config/rx/rx.c (rx_print_operand): If __builtin_rx_setpsw() is
7902 passed an invalid value, print an error instead of ICEing.
7903 (valid_psw_flag): New.
7904 (rx_expand_builtin): Call it for setpsw/clrpsw.
b146446c 7905 (rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX.
bf9afb7d
DD
7906
7907 * config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
7908 (bitclr_in_memory): Likewise.
7909 (clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.
7910
765c3e8f
L
79112010-09-17 H.J. Lu <hongjiu.lu@intel.com>
7912
7913 PR middle-end/45678
7914 * cfgexpand.c (update_stack_alignment): New.
7915 (get_decl_align_unit): Use it.
7916 (expand_one_stack_var_at): Call update_stack_alignment.
7917
0982fd64
RG
79182010-09-17 Richard Guenther <rguenther@suse.de>
7919
7920 * lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
7921 Properly copy the read string.
7922
e90afde6
JM
79232010-09-17 Joseph Myers <joseph@codesourcery.com>
7924
7925 * doc/options.texi (Variable): Document.
7926 * optc-gen.awk, opth-gen.awk: Handle Variable records. Don't
7927 generate target_flags declarations explicitly. Don't define
7928 VarExists variables for the driver.
7929 * common.opt (target_flags): New Variable record.
7930 (flag_dump_unnumbered, flag_dump_unnumbered_links,
7931 flag_var_tracking, flag_var_tracking_assignments,
7932 flag_var_tracking_assignments_toggle): Don't mark variables with
7933 VarExists.
7934 * config/i386/i386.c (ix86_isa_flags): Don't define here.
7935 * config/i386/i386.opt (ix86_isa_flags): Define here.
7936 * config/mcore/mcore.c (mcore_stack_increment): Don't define here.
7937 * config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
7938 VarExists.
7939 * flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
7940 * print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
7941 Only define for generator programs.
7942 * rtlanal.c (target_flags): Remove.
7943 * toplev.c (flag_var_tracking, flag_var_tracking_assignments,
7944 flag_var_tracking_assignments_toggle): Remove.
7945
18ba3ce7
MM
79462010-09-17 Michael Matz <matz@suse.de>
7947
7948 PR tree-optimization/43432
7949 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
7950 Accept backwards consecutive accesses.
7951 (vect_create_data_ref_ptr): If step is negative generate
7952 decreasing IVs.
7953 * tree-vect-stmts.c (vectorizable_store): Reject negative steps.
7954 (perm_mask_for_reverse, reverse_vec_elements): New functions.
7955 (vectorizable_load): Handle loads with negative steps when easily
7956 possible.
7957
4c588abf
JH
79582010-09-03 Jan Hubicka <jh@suse.cz>
7959
7960 * lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
7961
122603fa
N
79622010-09-03 Naveen H.S <naveen.S@kpitcummins.com>
7963
7964 * config/v850/v850.c (v850_function_value_regno_p): Make static.
7965 Adjust comments. Declare.
7966 (TARGET_FUNCTION_VALUE_REGNO_P): Define.
7967 * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.
7968
c3224d6f
RG
79692010-09-17 Richard Guenther <rguenther@suse.de>
7970
7971 * common.opt (combine): Remove.
7972 * gcc.c (default_compilers): Remove specs testing combine.
7973 The C compilers no longer can combine.
7974 (option_map): Remove -combine.
7975 (display_help): Remove -combine.
7976 (driver_handle_option): Remove OPT_combine handling.
7977 (compile_input_file_p): Remove.
7978 (do_spec): Remove code concerning combine.
7979 (main): Likewise.
7980 * doc/invoke.texi: Remove traces of -combine.
b146446c 7981 * lto-wrapper.c (run_gcc): Do not pass -combine to the compiler driver.
c3224d6f 7982
dbad82f5
RG
79832010-09-17 Richard Guenther <rguenther@suse.de>
7984
7985 PR middle-end/45678
7986 * builtins.c (fold_builtin_memory_op): Always properly adjust
7987 alignment of memory accesses.
7988
52b3b3c7
JH
79892010-09-16 Jan Hubicka <jh@suse.cz>
7990
7991 * lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
7992 processing clone.
7993
26ec9308
L
79942010-09-16 H.J. Lu <hongjiu.lu@intel.com>
7995
7996 * config/i386/i386-protos.h (ix86_split_idivmod): New prototype.
7997
7998 * config/i386/i386.c (predict_jump): Add prototype.
7999 (flag_opts): Add -m8bit-idiv.
8000 (ix86_split_idivmod): New.
8001
8002 * config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
8003 Add 2 splitters for SI/DI mode divide.
8004 (divmod<mode>4_1): New pattern.
8005 (udivmod<mode>4_1): Likewise.
8006 (testdi_ccno_1): Likewise.
8007
8008 * config/i386/i386.opt (m8bit-idiv): New.
8009
8010 * doc/invoke.texi: Document -m8bit-idiv.
8011
782d5172
RY
80122010-09-16 Reza Yazdani <reza.yazdani@amd.com>
8013
8014 PR bootstrap/45680
8015 * config/i386/i386.c (min_insn_size): Moved out of the
8016 ASM_OUTPUT_MAX_SKIP_PAD ifdef.
8017
0cac82a0
JH
80182010-09-16 Jan Hubicka <jh@suse.cz>
8019
8020 * lto-cgraph.c (lto_output_node): Fix handling of clones.
8021 * ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
8022 unreachable clones with reachable clones.
8023 * tree-inline.c (copy_bb): Fix sanity checking when producing
8024 unreachable clone.
8025
40e2dfaa
AS
80262010-09-16 Anatoly Sokolov <aesok@post.ru>
8027
8028 * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
8029 (TARGET_MEMORY_MOVE_COST): Define.
8030 (m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED.
8031
65592aad
AM
80322010-09-16 Alexander Monakov <amonakov@ispras.ru>
8033
8034 * sel-sched.c (move_cond_jump): Use tidy_control_flow instead of
8035 maybe_tidy_empty_bb.
8036
8037 Revert:
8038 2010-09-06 Alexander Monakov <amonakov@ispras.ru>
8039 * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
8040
fac0f722
JM
80412010-09-16 Joseph Myers <joseph@codesourcery.com>
8042
8043 * target.def (target_option.optimization): New hook.
8044 * doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to
8045 TARGET_OPTION_OPTIMIZATION hook.
8046 * doc/tm.texi: Regenerate.
8047 * hooks.c (hook_void_int_int): New.
8048 * hooks.h (hook_void_int_int): Declare.
8049 * opts.c: Don't include tm_p.h.
8050 (decode_options): Use targetm.target_option.optimization instead
8051 of OPTIMIZATION_OPTIONS.
8052 * system.h (OPTIMIZATION_OPTIONS): Poison.
8053 * config/arm/arm-protos.h (arm_optimization_options): Remove.
8054 * config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define.
8055 (arm_optimization_options): Rename to arm_option_optimization.
8056 Make static.
8057 * config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove.
8058 * config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define.
8059 (cris_option_optimization): New.
8060 * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove.
8061 * config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define.
8062 (crx_option_optimization): New.
8063 * config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove.
8064 * config/frv/frv-protos.h (frv_optimization_options): Remove.
8065 * config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define.
8066 (frv_optimization_options): Rename to frv_option_optimization.
8067 Make static.
8068 * config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove.
8069 * config/h8300/h8300.c (h8300_option_optimization): New.
8070 (TARGET_OPTION_OPTIMIZATION): Define.
8071 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove.
8072 * config/i386/i386-protos.h (optimization_options): Remove.
8073 * config/i386/i386.c (optimization_options): Rename to
8074 ix86_option_optimization. Make static.
8075 (TARGET_OPTION_OPTIMIZATION): Define.
8076 * config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove.
8077 * config/ia64/ia64-protos.h (ia64_optimization_options): Remove.
8078 * config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define.
8079 (ia64_optimization_options): Rename to ia64_option_optimization.
8080 Make static. Call SUBTARGET_OPTIMIZATION_OPTIONS.
8081 * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove. Remove
8082 commented-out definition.
8083 * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
8084 instead of OPTIMIZATION_OPTIONS.
8085 * config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define.
8086 (m32r_option_optimization): New.
8087 * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove.
8088 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
8089 Remove.
8090 * config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define.
8091 (mcore_option_optimization): New.
8092 * config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove.
8093 * config/mep/mep-protos.h (mep_optimization_options): Remove.
8094 * config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define.
8095 (mep_optimization_options): Rename to mep_option_optimization.
8096 Make static. Take unused level and size parameters.
8097 * config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove.
8098 * config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define.
8099 (mmix_option_optimization): New.
8100 * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove.
8101 * config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define.
8102 (pdp11_option_optimization): New.
8103 * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove.
8104 * config/rs6000/rs6000-protos.h (optimization_options): Remove.
8105 * config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define.
8106 (optimization_options): Rename to rs6000_option_optimization.
8107 Make static.
8108 * config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove.
8109 * config/rx/rx-protos.h (rx_set_optimization_options): Remove.
8110 * config/rx/rx.c (rx_set_optimization_options): Rename to
8111 rx_option_optimization. Make static. Take unused level and size
8112 parameters.
8113 (TARGET_OPTION_OPTIMIZATION): Define.
8114 * config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove.
8115 * config/s390/s390-protos.h (optimization_options): Remove.
8116 * config/s390/s390.c (optimization_options): Rename to
8117 s390_option_optimization. Make static. Don't mark size parameter
8118 unused.
8119 (TARGET_OPTION_OPTIMIZATION): Define.
8120 * config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove.
8121 * config/sh/sh-protos.h (sh_optimization_options): Remove.
8122 * config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define.
8123 (sh_optimization_options): Rename to sh_option_optimization. Make
8124 static. Don't mark parameters unused.
8125 * config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove.
8126 * config/spu/spu-protos.h (spu_optimization_options): Remove.
8127 * config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define.
8128 (spu_optimization_options): Rename to spu_option_optimization.
8129 Make static.
8130 * config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove.
8131 * config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define.
8132 (v850_option_optimization): New.
8133 * config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove.
8134 * config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define.
8135 (xtensa_option_optimization): New.
8136 * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove.
8137
c5387660
JM
81382010-09-16 Joseph Myers <joseph@codesourcery.com>
8139
8140 * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
8141 (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
8142 * doc/tm.texi: Regenerate.
8143 * system.h (OVERRIDE_OPTIONS): Poison.
8144 * target.def (override): Default to hook_void_void.
8145 * targhooks.c (default_target_option_override): Remove.
8146 * genmodes.c, machmode.def: Update comments mentioning
8147 OVERRIDE_OPTIONS.
8148 * config/alpha/alpha-modes.def: Update comment mentioning
8149 alpha_override_options.
8150 * config/alpha/alpha-protos.h (override_options): Remove.
8151 * config/alpha/alpha.c (override_options): Rename to
b146446c 8152 alpha_option_override. Call SUBTARGET_OVERRIDE_OPTIONS. Make static.
c5387660
JM
8153 (TARGET_OPTION_OVERRIDE): Define.
8154 * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
8155 * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
8156 of OVERRIDE_OPTIONS.
8157 * config/arc/arc-protos.h (arc_init): Remove.
8158 * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
8159 (arc_init): Rename to arc_option_override. Make static.
8160 * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
8161 (OVERRIDE_OPTIONS): Remove.
8162 * config/arm/arm-protos.h (arm_override_options): Remove.
8163 * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
8164 (arm_override_options): Rename to arm_option_override. Make
8165 static. Call SUBTARGET_OVERRIDE_OPTIONS.
8166 * config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
b146446c 8167 * config/arm/arm.md: Update comment referring to arm_override_options.
c5387660
JM
8168 * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
8169 instead of OVERRIDE_OPTIONS.
8170 * config/avr/avr-protos.h (avr_override_options): Remove.
8171 * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8172 (avr_override_options): Rename to avr_option_override. Make static.
c5387660
JM
8173 * config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
8174 * config/bfin/bfin-protos.h (override_options): Remove (twice).
8175 * config/bfin/bfin.c (override_options): Rename to
8176 bfin_option_override. Make static.
8177 (TARGET_OPTION_OVERRIDE): Define.
8178 * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
8179 * config/cris/cris-protos.h (cris_override_options): Remove.
8180 * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8181 (cris_override_options): Rename to cris_option_override. Make static.
c5387660
JM
8182 * config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
8183 * config/frv/frv-protos.h (frv_override_options): Remove.
8184 * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8185 (frv_override_options): Rename to frv_option_override. Make static.
c5387660
JM
8186 * config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
8187 * config/h8300/h8300-protos.h (h8300_init_once): Remove.
8188 * config/h8300/h8300.c (h8300_init_once): Rename to
8189 h8300_option_override. Make static.
8190 (TARGET_OPTION_OVERRIDE): Define.
8191 * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
8192 * config/i386/i386-protos.h (override_options): Remove.
8193 * config/i386/i386.c (override_options): Rename to
8194 ix86_option_override_internal. Make static. Comments referring
8195 to this function and callers changed.
8196 (ix86_option_override): New.
8197 (TARGET_OPTION_OVERRIDE): Define.
8198 * config/i386/i386.h (OVERRIDE_OPTION): Remove.
b146446c 8199 * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment.
c5387660
JM
8200 * config/ia64/ia64.c (ia64_file_start): Update comment referring
8201 to ia64_override_options.
8202 * config/iq2000/iq2000-protos.h (override_options): Remove.
8203 * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8204 (override_options): Rename to iq2000_option_override. Make static.
c5387660
JM
8205 * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
8206 * config/lm32/lm32-protos.h (lm32_override_options): Remove.
8207 * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8208 (lm32_override_options): Rename to lm32_option_override. Make static.
c5387660
JM
8209 * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
8210 * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
8211 (m32r_option_override): New.
8212 (m32r_init): Update comment.
8213 * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
b146446c 8214 * config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove.
c5387660
JM
8215 * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
8216 (m68hc11_override_options): Rename to m68hc11_option_override.
8217 Make static. Return void.
8218 * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
8219 * config/m68k/m68k-protos.h (override_options): Remove.
8220 * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
8221 (override_options): Rename to m68k_option_override. Make static.
8222 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
8223 * config/mcore/mcore-protos.h (mcore_override_options): Remove.
8224 * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
8225 (mcore_override_options): Rename to mcore_option_override. Make
8226 static.
8227 * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
8228 * config/mep/mep-protos.h (mep_override_options): Remove.
8229 * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8230 (mep_override_options): Rename to mep_option_override. Make static.
c5387660
JM
8231 * config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
8232 * config/mmix/mmix-protos.h (mmix_override_options): Remove.
8233 * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8234 (mmix_override_options): Rename to mmix_option_override. Make static.
c5387660 8235 * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
b146446c 8236 * config/mn10300/mn10300-protos.h (mn10300_override_options): Remove.
c5387660
JM
8237 * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
8238 (mn10300_override_options): Rename to mn10300_option_override.
8239 Make static.
8240 * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
8241 * config/moxie/moxie-protos.h (moxie_override_options): Remove.
8242 * config/moxie/moxie.c (moxie_override_options): Rename to
8243 moxie_option_override. Make static.
8244 (TARGET_OPTION_OVERRIDE): Define.
8245 * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
8246 * config/picochip/picochip-protos.h (picochip_override_options):
8247 Remove. Update comment referring to picochip_override_options.
8248 * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
8249 (picochip_override_options): Rename to picochip_option_override.
8250 Make static. Update comment and definition of
8251 TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
8252 * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
b146446c
UB
8253 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
8254 * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
8255 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
8256 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
8257 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
c5387660
JM
8258 * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
8259 instead of OVERRIDE_OPTIONS.
8260 * config/rs6000/rs6000-modes.def: Update comment referring to
8261 rs6000_override_options.
8262 * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
8263 * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
8264 (rs6000_override_options): Rename to
8265 rs6000_option_override_internal. Make static. Commented
8266 referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
8267 (rs6000_option_override): New.
8268 * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
8269 instead of OVERRIDE_OPTIONS.
b146446c 8270 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
c5387660
JM
8271 * config/s390/s390-protos.h (override_options): Remove.
8272 * config/s390/s390.c (override_options): Rename to
8273 s390_option_override. Make static.
8274 (TARGET_OPTION_OVERRIDE): Define.
8275 * config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
8276 * config/score/score-protos.h (score_override_options): Remove.
8277 * config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
8278 (score_override_options): Rename to score_option_override. Make
8279 static.
8280 * config/score/score.h (OVERRIDE_OPTIONS): Remove.
8281 Update comment referring to override_options.
8282 * config/score/score3.c (score3_override_options): Rename to
8283 score3_option_override.
8284 * config/score/score3.h (score3_override_options): Rename to
8285 score3_option_override.
8286 * config/score/score7.c (score7_override_options): Rename to
8287 score7_option_override.
8288 * config/score/score7.h (score7_override_options): Rename to
8289 score7_option_override.
8290 * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
8291 * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
8292 (sparc_override_options): Rename to sparc_option_override. Make
8293 static. Call SUBTARGET_OVERRIDE_OPTIONS.
8294 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
8295 * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
8296 instead of OVERRIDE_OPTIONS.
8297 * config/spu/spu-protos.h (spu_override_options): Remove.
8298 * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
8299 (spu_override_options): Rename to spu_option_override. Make
8300 static.
8301 * config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
8302 * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
8303 OVERRIDE_OPTIONS.
8304 * config/vax/vax-protos.h (override_options): Remove.
8305 * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
8306 (override_options): Rename to vax_option_override. Make static.
8307 Call SUBTARGET_OVERRIDE_OPTIONS.
8308 * config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
8309 * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
8310 * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
8311 * config/xtensa/xtensa-protos.h (override_options): Remove.
8312 * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8313 (override_options): Rename to xtensa_option_override. Make static.
c5387660
JM
8314 * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
8315
ed6c4831
RG
83162010-09-16 Richard Guenther <rguenther@suse.de>
8317
8318 PR tree-optimization/45623
8319 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
8320 (get_constraint_for_component_ref): If computing a constraint
8321 for the rhs handle type punning through unions.
8322 (get_constraint_for_address_of): Adjust.
8323 (get_constraint_for_1): Likewise.
8324 (get_constraint_for): Likewise.
8325 (get_constraint_for_rhs): New function.
8326 (do_structure_copy): Adjust.
8327 (make_constraint_to): Likewise.
8328 (handle_const_call): Likewise.
8329 (find_func_aliases): Likewise.
8330 (process_ipa_clobber): Likewise.
8331 (create_variable_info_for): Likewise.
8332
ff802fa1
IR
83332010-09-16 Ira Rosen <irar@il.ibm.com>
8334
8335 * tree-vectorizer.c: Fix documentation.
8336 * tree-vectorizer.h (vinfo_for_stmt): Add documentation.
8337 (set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
8338 is_pattern_stmt_p, is_loop_header_bb_p,
8339 stmt_vinfo_set_inside_of_loop_cost,
8340 stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
8341 known_alignment_for_access_p): Likewise.
8342 * tree-vect-loop.c: Fix documentation.
8343 (vect_get_cost): Start function name from new line.
8344 * tree-vect-data-refs.c: Fix documentation.
8345 * tree-vect_stmts.c: Likewise.
8346 (vect_create_vectorized_promotion_stmts): Always free vec_tmp.
8347 (vectorizable_store): Free vec_oprnds if allocated.
8348 (vectorizable_condition): Initialize several variables to avoid
8349 warnings.
8350 * tree-vect-slp.c: Fix documentation.
8351
6be14c0e
RG
83522010-09-16 Richard Guenther <rguenther@suse.de>
8353
8354 * tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL
8355 is TS_TRANSLATION_UNIT_DECL.
8356 (initialize_tree_contains_struct): Adjust.
8357 (all_translation_units): New global vector.
8358 (build_translation_unit_decl): New function.
8359 * tree.h (TRANSLATION_UNIT_LANGUAGE): New macro.
8360 (struct tree_translation_unit_decl): New.
8361 (all_translation_units): Declare.
8362 (union tree_node): Add translation_unit_decl member.
8363 (build_translation_unit_decl): Declare.
8364 * treestruct.def (TS_TRANSLATION_UNIT_DECL): New.
8365 * lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
8366 New function.
8367 (pack_value_fields): Call it.
8368 (lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL.
8369 (lto_output_ts_translation_unit_decl_tree_pointers): New function.
8370 (lto_output_tree_pointers): Call it.
8371 * lto-streamer-in.c (lto_input_tree_ref): Handle references
8372 to TRANSLATION_UNIT_DECL.
8373 (unpack_ts_translation_unit_decl_value_fields): New function.
8374 (unpack_value_fields): Call it.
8375 (lto_input_ts_translation_unit_decl_tree_pointers): New function.
8376 (lto_input_tree_pointers): Call it.
8377 * lto-streamer.c (check_handled_ts_structures): Adjust.
8378 * lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref.
8379 * c-decl.c (all_translation_units): Remove.
8380 (pop_scope): Use build_translation_unit_decl.
8381 (collect_all_refs): Adjust.
8382 (for_each_global_decl): Likewise.
8383 (c_write_global_declarations): Likewise.
8384
0c3dbcf0
JJ
83852010-09-16 Jakub Jelinek <jakub@redhat.com>
8386
8387 PR bootstrap/45686
8388 * fold-const.c (fold_checksum_tree): Change slot from const void **
8389 to void **, use CONST_CAST_TREE to store into *slot.
8390
a427621f
UB
83912010-09-16 Uros Bizjak <ubizjak@gmail.com>
8392
8393 * config/i386/i386.md: Remove unneeded empty conditions and
8394 preparation statements from expanders.
8395 * config/i386/mmx.md: Ditto.
8396 * config/i386/sse.md: Ditto.
8397
8c2b2fae
UB
83982010-09-16 Uros Bizjak <ubizjak@gmail.com>
8399
8400 * config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD.
8401
9fa07b13
EB
84022010-09-15 Eric Botcazou <ebotcazou@adacore.com>
8403
8404 PR rtl-optimization/45593
8405 * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
8406 insns that were in delay slots as stand-alone insns.
8407
46327e12
ILT
84082010-09-15 Ian Lance Taylor <iant@google.com>
8409
8410 * incpath.c (remove_duplicates): If name is not a directory, issue
8411 a warning rather than an error.
8412
1faab08d
MJ
84132010-09-15 Martin Jambor <mjambor@suse.cz>
8414
8415 PR middle-end/45644
8416 * tree-sra.c (create_access): Check for bit-fields directly.
8417
cc99c5fe
JJ
84182010-09-15 Jakub Jelinek <jakub@redhat.com>
8419
8420 PR tree-optimization/45633
8421 * tree-cfg.c (verify_gimple_assign_binary): Allow
8422 MINUS_EXPR with lhs and rhs1 pointer vector and
8423 rhs2 sizetype vector.
8424 * expr.c (expand_expr_real_2) <case PLUS_EXPR>: For pointer
8425 or vector pointer use TER to optimize pointer subtraction.
8426
7dd8ecf0
JZ
84272010-09-15 Jie Zhang <jie@codesourcery.com>
8428
8429 * config/arm/vfp.md (cmpsf_trap_vfp): Change type from
8430 fcmpd to fcmps.
8431
1f944e88
ILT
84322010-09-15 Ian Lance Taylor <iant@google.com>
8433
8434 * config/i386/i386.md (truncxf<mode>2): Fix indentation.
8435
c1d9a70a
ILT
84362010-09-15 Ian Lance Taylor <iant@google.com>
8437
8438 * function.c (get_arg_pointer_save_area): Set
8439 arg_pointer_save_area_init to true.
8440
ea395a11
MJ
84412010-09-15 Martin Jambor <mjambor@suse.cz>
8442
8443 * tree-sra.c (generate_subtree_copies): Updated comment.
8444 (handle_unscalarized_data_in_subtree): Removed parameter lhs which is
8445 obtained from the statement iterator instead.
8446 (load_assign_lhs_subreplacements): Removed parameters lhs and
8447 right_offset, which is obtained from top_racc instead. Parameter lacc
8448 is now expected to be the root of the processed tree rather than root's
8449 first child. Updated all callers.
8450
6d96b48b
JM
84512010-09-15 Joseph Myers <joseph@codesourcery.com>
8452
8453 * config/pdp11/pdp11.c (register_move_cost): Rename to
8454 pdp11_register_move_cost.
8455 * config/pdp11/pdp11-protos.h (register_move_cost): Rename to
8456 pdp11_register_move_cost.
8457 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Call
8458 pdp11_register_move_cost instead of register_move_cost.
8459
0f38f229
TB
84602010-09-15 Tejas Belagod <tejas.belagod@arm.com>
8461
8462 * config/arm/neon.md (vec_pack_trunc_<mode>): Instruction
17eba947 8463 pattern for vmovn. Expansion in case of non
0f38f229
TB
8464 -mvectorize-with-neon-quad.
8465 (neon_vec_pack_trunc_<mode>): Instruction pattern for vmovn for
8466 non- -mvectorize-with-neon-quad case.
8467 (move_lo_quad_<mode>): New expansion to vmov into low part.
8468 (move_hi_quad_<mode>): New expansion to vmov into high part.
8469 (move_lo_quad_v4si): Refactor to move_lo_quad_<mode> expansion.
8470 (move_lo_quad_v4sf): Likewise.
8471 (move_lo_quad_v8hi): Likewise.
8472 (neon_move_lo_quad_<mode>): Instruction pattern for vmov into
8473 low part.
8474 (neon_move_hi_quad_<mode>): Instruction pattern for vmov into
8475 high part.
8476 * config/arm/iterators.md (ANY128): New mode iterator.
8477 (V_narrow_pack): New mode attribute.
8478 (V_HALF): Add attribute.
8479 (V_DOUBLE): Add attribute.
8480 (V_mode_nunits): Add attribute.
8481
10937190
EB
84822010-09-15 Eric Botcazou <ebotcazou@adacore.com>
8483
8484 * config/alpha/alpha.c (alpha_expand_prologue): If stack checking
8485 is enabled, probe up to frame_size + STACK_CHECK_PROTECT bytes.
8486
6c175675 84872010-09-15 Olivier Hainque <hainque@adacore.com>
8c2b2fae 8488 Jose Ruiz <ruiz@adacore.com>
6c175675
OH
8489
8490 * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Define.
8491 * config/alpha/osf5-unwind.h: New file.
8492
2b7237bb
L
84932010-09-14 H.J. Lu <hongjiu.lu@intel.com>
8494
8495 PR bootstrap/45672
8c2b2fae 8496 * config/mips/mips.c (mips_units_per_simd_word): Correct return type.
2b7237bb
L
8497 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
8498 * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
8499
969c37b7
LB
85002010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
8501
8502 * c-lang.h (struct lang_type): Add variable_size GTY option.
8503
187c10dc
L
85042010-09-14 H.J. Lu <hongjiu.lu@intel.com>
8505
8506 PR bootstrap/45672
8507 * config/rs6000/rs6000.c (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
8508
2c03791b
L
85092010-09-14 H.J. Lu <hongjiu.lu@intel.com>
8510
8511 * config/i386/i386.c (ix86_lea_for_add_ok): Return false if
8512 result isn't used in memory address.
8513
26983c22
L
85142010-09-14 H.J. Lu <hongjiu.lu@intel.com>
8515
8516 * defaults.h (UNITS_PER_SIMD_WORD): Removed.
8517 * config/arm/arm.h (UNITS_PER_SIMD_WORD): Likewise.
8518 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
8519 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
8520 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
8521 * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
8522
8523 * target.def: Add units_per_simd_word to vectorize.
8524
8525 * targhooks.c (default_units_per_simd_word): New.
8526 * targhooks.h (default_units_per_simd_word): Likewise.
8527 * config/arm/arm.c (arm_units_per_simd_word): Likewise.
8528 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
8529 * config/mips/mips.c (mips_units_per_simd_word): Likewise.
8530 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
8531 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
8532 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
8533 * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
8534 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
8535
8536 * tree-vect-loop.c: Replace UNITS_PER_SIMD_WORD with
8537 TARGET_VECTORIZE_UNITS_PER_SIMD_WORD in comments.
8538
8539 * tree-vect-stmts.c: Don't include "tm_p.h".
8540 (get_vectype_for_scalar_type): Replace UNITS_PER_SIMD_WORD
8541 with targetm.vectorize.units_per_simd_word.
8542
8543 * system.h (UNITS_PER_SIMD_WORD): Poisoned.
8544
8545 * config/i386/i386-protos.h (ix86_units_per_simd_word): Removed.
8546
8c2b2fae 8547 * config/i386/i386.c (ix86_units_per_simd_word): Make it static.
26983c22
L
8548 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
8549
8550 * doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD. Add
8551 TARGET_VECTORIZE_UNITS_PER_SIMD_WORD.
8552
8553 * doc/tm.texi: Regenerated.
8554
4de264ab
L
85552010-09-14 H.J. Lu <hongjiu.lu@intel.com>
8556
8557 * tree-vect-stmts.c: Include "tm_p.h".
8558
8559 * config/i386/i386-protos.h (ix86_units_per_simd_word): Moved
8560 out of RTX_CODE.
8561
e4b5cace
MJ
85622010-09-14 Martin Jambor <mjambor@suse.cz>
8563
8564 * tree-sra.c (build_ref_for_offset): Loc made a parameter. Set the
8565 location of generated statement. Changed all callers.
8566 (build_ref_for_model): New parameter loc which used to set location of
8567 all generated expressions. Changed all callers.
8568 (generate_subtree_copies): Likewise.
8569 (init_subtree_with_zero): Likewise.
8570 (sra_modify_expr): Set locations of all generated statements and
8571 expressions to the location the original statement.
8572 (handle_unscalarized_data_in_subtree): Likewise.
8573 (load_assign_lhs_subreplacements): Likewise.
8574 (sra_modify_constructor_assign): Likewise.
8575 (sra_modify_assign): Likewise.
8576
d191cd06
EB
85772010-09-14 Eric Botcazou <ebotcazou@adacore.com>
8578
8579 PR target/45277
8580 PR target/45363
8581 PR target/45407
8582 * doc/install.texi (sparc*-*-*): New section.
8583 (sparc-sun-solaris2*): Mention MPC alongside GMP and MPFR.
8584
4359dc2a
JJ
85852010-09-14 Jakub Jelinek <jakub@redhat.com>
8586
8587 PR middle-end/45567
8588 * builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi,
8589 expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead.
8590 (expand_builtin): Adjust caller.
8591 (expand_builtin_unop): Only use subtarget if it has the right mode.
8592
515871c7
TG
85932010-09-14 Tristan Gingold <gingold@adacore.com>
8594
8595 * configure.ac (plugins): Fix typos.
8596 * configure: Regenerate.
8597
4a6e5cc8
JJ
85982010-09-14 Jakub Jelinek <jakub@redhat.com>
8599
8600 PR debug/45660
8601 * dwarf2out.c (gen_decl_die): Call gen_type_die for origin before
8602 gen_type_die for function/method return type.
8603
5a2c1986
IR
86042010-09-14 Ira Rosen <irar@il.ibm.com>
8605
8606 PR tree-optimization/45470
8607 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
8608 can throw an exception.
8c2b2fae 8609 * tree-vect-stmts.c (vectorizable_call): Likewise.
5a2c1986 8610
c28883e6
DD
86112010-09-14 DJ Delorie <dj@redhat.com>
8612
8613 PR target/44749
8614 * config/mep/mep-protos.h (mep_save_register_info,
8615 mep_reinit_regs, mep_init_regs): Declare.
8616
8617 * config/mep/mep.c: Move all target definitions to the end of the
8618 file to avoid the need for duplicate declarations.
8619 (mep_save_register_info, mep_reinit_regs, mep_init_regs): New.
8620 (mep_reorg_erepeat): Remove unused variables.
8621 (mep_expand_builtin): Likewise.
8622
8623 * config/mep/mep-pragma.c: Don't include rtl.h.
8624 (INVALID_REGNUM): New.
8625 (mep_pragma_coprocessor_which): Call mep-specific rtl-layer bridge
8626 functions.
8627 (mep_pragma_coprocessor_subclass): Rename "class" to "rclass".
8628 Avoid enum/integer math.
8629
ce959463
JM
86302010-09-13 Joseph Myers <joseph@codesourcery.com>
8631
8632 PR target/44749
8633 * config/mep/t-mep (GTM_H): Add insn-constants.h.
8634 * config/mep/mep.c (mep_conditional_register_usage): Take no
8635 parameters.
8636 * config/mep/mep-protos.h (mep_conditional_register_usage): Update
8637 prototype.
8638 * config/mep/mep-pragma.c (CONDITIONAL_REGISTER_USAGE): Update
8639 call to mep_conditional_register_usage.
8640
5c9bf752
EB
86412010-09-13 Eric Botcazou <ebotcazou@adacore.com>
8642
8643 PR debug/43937
8644 * varasm.c (output_constant_def_contents): Set TREE_ASM_WRITTEN on
8645 the DECL as well.
8646
ef3be7da
JJ
86472010-09-13 Jakub Jelinek <jakub@redhat.com>
8648
8649 PR rtl-optimization/45617
8650 * combine.c (simplify_comparison): Optimize (X >> N) {>,>=,<,<=} C
8651 even if low N bits of X aren't known to be zero.
8652
e72eba85
L
86532010-09-13 H.J. Lu <hongjiu.lu@intel.com>
8654
8655 * config/i386/i386-protos.h (ix86_units_per_simd_word): New.
8656
8657 * config/i386/i386.c (initial_ix86_tune_features): Add
8658 X86_TUNE_VECTORIZE_DOUBLE.
8659 (ix86_units_per_simd_word): New.
8660
8661 * config/i386/i386.h (ix86_tune_indices): Add
8662 X86_TUNE_VECTORIZE_DOUBLE.
8663 (TARGET_VECTORIZE_DOUBLE): New.
8664 (UNITS_PER_SIMD_WORD): Defined with ix86_units_per_simd_word.
8665
2ea5ee06
PH
86662010-09-13 Pat Haugen <pthaugen@us.ibm.com>
8667
8668 * tree-ssa-ter.c (temp_expr_table_d): Add call_cnt field.
8669 (new_temp_expr_table): Allocate call_cnt vector.
8670 (free_temp_expr_table): Free it.
8671 (process_replaceable): Add call_cnt parm and set in vector.
8672 (find_replaceable_in_bb): Skip replacement if def/use span a call.
8673 (debug_ter): Dump call_cnt value, remove stderr uses.
8674
e196b221
JH
86752010-09-13 Jan Hubicka <jh@suse.cz>
8676
8677 * tree.c (build_zero_cst): New.
8678 * tree.h (build_zero_cst): Declare.
8679 * tree-ssa-ccp.c (get_constant_value): Accept general operands.
8680 (get_base_constructor): Break out from ...
8681 (fold_const_aggregate_ref): Here; handle empty constructors.
8682
e88290ac
MS
86832010-09-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
8684
8685 * config/arm/arm.md: (define_attr "conds"): Update comment.
8c2b2fae 8686 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change
e88290ac 8687 conds attribute to clob.
8c2b2fae 8688 (arm_sync_compare_and_swapsi): Likewise.
e88290ac
MS
8689 (arm_sync_compare_and_swap<mode>): Likewise.
8690 (arm_sync_lock_test_and_setsi): Likewise.
8691 (arm_sync_lock_test_and_set<mode>): Likewise.
8692 (arm_sync_new_<sync_optab>si): Likewise.
8693 (arm_sync_new_nandsi): Likewise.
8694 (arm_sync_new_<sync_optab><mode>): Likewise.
8695 (arm_sync_new_nand<mode>): Likewise.
8696 (arm_sync_old_<sync_optab>si): Likewise.
8697 (arm_sync_old_nandsi): Likewise.
8698 (arm_sync_old_<sync_optab><mode>): Likewise.
8699 (arm_sync_old_nand<mode>): Likewise.
8700
2f434b97
OH
87012010-09-13 Olivier Hainque <hainque@adacore.com>
8702
8c2b2fae 8703 * fwprop.c (forward_propagate_and_simplify): Only attach a
2f434b97 8704 REG_EQUAL note to an insn if the destination is a register.
8c2b2fae 8705 * gcse.c (try_replace_reg): Likewise.
2f434b97 8706
654a61fb
RG
87072010-09-13 Richard Guenther <rguenther@suse.de>
8708
8709 PR tree-optimization/45611
8710 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fix typo.
8711 (copy_ref_info): Likewise.
8712
4e3a5f19
AO
87132010-09-13 Alexandre Oliva <aoliva@redhat.com>
8714
8715 PR debug/45604
8716 PR debug/45419
8717 PR debug/45408
8718 * tree-pretty-print.c (dump_generic_node): Disregard top-level
8719 types of MEM_REF pointer types to the same type.
8720
ddf68ab9
HPN
87212010-09-13 Hans-Peter Nilsson <hp@axis.com>
8722
8723 PR rtl-optimization/41087
8724 * ifcvt.c (noce_get_condition): Don't allow conditions with
8725 side-effects.
8726
33124e84
AS
87272010-09-12 Anatoly Sokolov <aesok@post.ru>
8728
8729 * config/frv/frv.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
8730 * config/frv/frv-protos.h (frv_register_move_cost): Remove.
8731 * config/frv/frv.c (frv_register_move_cost): Make static. Change
8732 arguments type to reg_class_t. Add mode argument.
8733 (frv_memory_move_cost): New.
8734 (TARGET_REGISTER_MOVE_COSTS, TARGET_MEMORY_MOVE_COSTS): Define.
8735
2cea21dd
BS
87362010-09-12 Bernd Schmidt <bernds@codesourcery.com>
8737
8738 * config/arm/arm.md (arm_ashldi3_1bit, arm_ashrdi3_1bit,
8739 arm_lshrdi3_1bit): Put earlyclobber on the right alternative.
8740
1b0086cc
JH
87412010-09-10 Jan Hubicka <jh@suse.cz>
8742
8743 * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not check STATIC flag.
8744
bedbdfcf
RG
87452010-09-10 Richard Guenther <rguenther@suse.de>
8746
8747 * tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
8748 * tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove.
8749 * lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
8750 not stream TYPE_DEBUG_REPRESENTATION_TYPE.
8751 * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise.
8752
cf6a4097
RG
87532010-09-10 Richard Guenther <rguenther@suse.de>
8754
8755 * dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type
8756 for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS.
8757 * dbxout.c (dbxout_type): Manually deal with VECTOR_TYPE
8758 using TYPE_VECTOR_SUBPARTS, not TYPE_DEBUG_REPRESENTATION_TYPE.
8759
90966337
L
87602010-09-10 H.J. Lu <hongjiu.lu@intel.com>
8761
8762 PR middle-end/45634
8763 * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result
8764 of string folding is of integral type.
8765
2962b1bb
RM
87662010-09-10 Ryan Mansfield <rmansfield@qnx.com>
8767
8768 * doc/invoke.texi (-x): Fix typo.
8769
e836611d
RG
87702010-09-10 Richard Guenther <rguenther@suse.de>
8771
8772 PR debug/44115
8773 * tree.c (free_lang_data_in_decl): Do not clear DECL_DEBUG_EXPR.
8774 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
8775 Output DECL_DEBUG_EXPR.
8776 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
8777 Input DECL_DEBUG_EXPR.
8778
8c4353b7
RG
87792010-09-10 Richard Guenther <rguenther@suse.de>
8780
8c2b2fae 8781 * tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE.
8c4353b7
RG
8782 (build_index_type): Implement in terms of build_range_type.
8783 (build_range_type): Do not allow NULL_TREE type, improve
8784 hashing to cover more cases. Set TYPE_STRUCTURAL_EQUALITY_P
8785 if we didn't hash.
8786 * c-decl.c (grokdeclarator): When modifying TYPE_SIZE manually
8787 create a distinct copy of the type.
8788
996b42ef
KT
87892010-09-10 Kai Tietz <kai.tietz@onevision.com>
8790
8791 * configure: Regenerated.
8792 * config.gcc: Add for x86_64 and i?86 mingw t-dfprule.
8793
a8c171c1
RR
87942010-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8795
8c2b2fae
UB
8796 * config/arm/neon-schedgen.ml (allCores): Add support for Cortex-A9.
8797 * config/arm/cortex-a9-neon.md: New and partially generated.
8798 * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
a8c171c1 8799
88df93ce
RG
88002010-09-10 Richard Guenther <rguenther@suse.de>
8801
8802 * tree.h (build_index_2_type): Remove.
8803 * tree.c (build_index_2_type): Remove.
8804
40ed057b
JJ
88052010-09-10 Jakub Jelinek <jakub@redhat.com>
8806
8807 PR bootstrap/45630
8808 * dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
8809 HOST_WIDE_INT_PRINT_DEC to print ref->die_offset.
8810 (implicit_ptr_descriptor): Return NULL if dwarf_strict.
8811
d242d063
MJ
88122010-09-10 Martin Jambor <mjambor@suse.cz>
8813
8814 PR tree-optimization/44972
8815 * tree-sra.c: Include toplev.h.
8816 (build_ref_for_offset): Entirely reimplemented.
8817 (build_ref_for_model): New function.
8818 (build_user_friendly_ref_for_offset): New function.
8819 (analyze_access_subtree): Removed build_ref_for_offset check.
8820 (propagate_subaccesses_across_link): Likewise.
8821 (create_artificial_child_access): Use
8822 build_user_friendly_ref_for_offset.
8823 (propagate_subaccesses_across_link): Likewise.
8824 (ref_expr_for_all_replacements_p): Removed.
8825 (generate_subtree_copies): Updated comment. Use build_ref_for_model.
8826 (sra_modify_expr): Use build_ref_for_model.
8827 (load_assign_lhs_subreplacements): Likewise.
8828 (sra_modify_assign): Removed ref_expr_for_all_replacements_p checks,
8829 checks for return values of build_ref_for_offset.
8830 * ipa-cp.c (ipcp_lattice_from_jfunc): No need to check return value of
8831 build_ref_for_offset.
8832 * ipa-prop.h: Include gimple.h
8833 * ipa-prop.c (ipa_compute_jump_functions): Update to look for MEM_REFs.
8834 (ipa_analyze_indirect_call_uses): Update comment.
8835 * Makefile.in (tree-sra.o): Add $(GIMPLE_H) to dependencies.
8836 (IPA_PROP_H): Likewise.
8837
fffe1e40
MJ
88382010-09-10 Martin Jambor <mjambor@suse.cz>
8839
8840 PR tree-optimization/44972
8841 * ipa-prop.c (ipa_modify_call_arguments): Build MEM_REF instead of
8842 calling build_ref_for_offset.
8843
508371fe
RR
88442010-09-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8845
2b74262b
UB
8846 * config/arm/bpabi.h (BE8_LINK_SPEC): Handle Cortex-a15.
8847 * config/arm/arm-cores.def (cortex-a15): New core. Treat it as a v7-a.
8848 * config/arm/arm-tune.md: Regenerate.
8849 * doc/invoke.texi (ARM Options): Document it.
508371fe 8850
7942e47e
RY
88512010-09-09 Reza Yazdani <reza.yazdani@amd.com>
8852
8853 * config/i386/i386.c: Include sched-int.h.
8854 (TARGET_SCHED_DISPATCH): Defined.
8855 (TARGET_SCHED_DISPATCH_DO): Defined.
8856 (DISPATCH_WINDOW_SIZE): Defined.
8857 (MAX_DISPATCH_WINDOWS): Defined.
8858 (MAX_INSN): Defined.
8859 (MAX_IMM): Defined.
8860 (MAX_IMM_SIZE): Defined.
8861 (MAX_IMM_32): Defined.
8862 (MAX_IMM_64): Defined.
8863 (MAX_LOAD): Defined.
8864 (MAX_STORE): Defined.
8865 (BIG): Defined.
8866 (dispatch_group): New.
8867 (num_allowable_groups): New.
8868 (group_name): New.
8869 (sched_insn_info_s): New.
8870 (dispatch_windows_s): New.
8871 (imm_info_s): New.
8872 (dispatch_window_list): New.
8873 (dispatch_window_list1): New.
8874 (get_mem_group): New.
8875 (is_cmp): New.
8876 (dispatch_violation): New.
8877 (is_branch): New.
8878 (is_prefetch): New.
8879 (init_window): New.
8880 (allocate_window): New.
8881 (init_dispatch_sched): New.
8882 (is_end_basic_block): New.
8883 (process_end_window): New.
8884 (allocate_next_window): New.
8885 (find_constant_1): New.
8886 (find_constant): New.
8887 (get_num_immediates): New.
8888 (has_immediate): New.
8889 (get_insn_path): New.
8890 (get_insn_group): New.
8891 (count_num_restricted): New.
8892 (fits_dispatch_window): New.
8893 (add_insn_window): New.
8894 (add_to_dispatch_window): New.
8895 (debug_dispatch_window_file): New.
8896 (debug_dispatch_window): New.
8897 (debug_insn_dispatch_info_file): New.
8898 (debug_ready_dispatch): New.
8899 (do_dispatch): New.
8900 (has_dispatch): New.
8901 * config/i386/i386.h (debug_ready_dispatch): Declared.
8902 (debug_dispatch_window): Declared.
8903 * config/i386/i386.opt (mdispatch-scheduler): New flag.
8904 * doc/tm.texi.in (TARGET_SCHED_DISPATCH): New.
8905 (TARGET_SCHED_DISPATCH_DO): New.
8906 * doc/tm.texi: Regererated.
8907 * haifa-sched.c (choose_ready): Call targetm.sched.dispatch and
8908 ready_remove_first_dispatch
8909 (schedule_block): Call targetm.sched.dispatch and
8910 targetm.sched.dispatch_do.
8911 (sched_init): Call targetm.sched.dispatch and
8912 targetm.sched.dispatch_do.
8913 (ready_remove_first_dispatch): New.
8914 (number_in_ready): New.
8915 (get_ready_element): New.
8916 * hooks.c (hook_bool_rtx_int_false): New.
8917 (hook_void_rtx_int): New.
8918 * hooks.h (hook_bool_rtx_int_false): Declared.
8919 (hook_void_rtx_int): Declared.
8920 * sched-int.h (IS_DISPATCH_ON): Defined.
8921 (IS_CMP): Defined.
8922 (DISPATCH_VIOLATION): Defined.
8923 (FITS_DISPATCH_WINDOW): Defined.
8924 (DISPATCH_INIT): Defined.
8925 (ADD_TO_DISPATCH_WINDOW): Defined.
8926 (get_ready_element): Declared.
8927 (number_in_ready): Declared.
8928 * target.def (dispatch): Defined.
8929 (dispatch_do): Defined.
8930
82916e7e
VM
89312010-09-09 Vladimir Makarov <vmakarov@redhat.com>
8932
8933 PR middle-end/45312
8934 * reload1.c (merge_assigned_reloads): Remove.
8935 (reload_as_needed): Don't call it.
8936
b9be2842
AS
89372010-09-09 Anatoly Sokolov <aesok@post.ru>
8938
8939 * config/m32r/m32r.c (m32r_mode_dependent_address_p): New functions.
8940 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
8941 * config/m32r/m32r.h: (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
8942
709e26f0
MK
89432010-09-09 Matthias Klose <doko@ubuntu.com>
8944
8945 PR bootstrap/43847
8946 * configure.ac (--enable-plugin): Enhance for cross builds.
8947 * configure: Regenerate.
8948
54e34c35
JH
89492010-09-09 Jan Hubicka <jh@suse.cz>
8950
8951 PR tree-optimization/45598
8952 * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result of
8953 string folding is of integral type.
8954
ba885ec5
NS
89552010-09-09 Nathan Sidwell <nathan@codesourcery.com>
8956
8957 * configure.ac (gnu_indirect_function): New test.
8958 * configure: Rebuilt.
8959 * config.in (HAVE_GAS_INDIRECT_FUNCTION): New.
8960 * defaults.h (IFUNC_ASM_TYPE): Provide default.
8961
8962 * doc/extend.texi (Function Attributes): Document ifunc.
8963 * varasm.c (do_assemble_alias): Deal with ifuncs too.
8964
74164603 89652010-09-09 Hariharan Sandanagobalane <hariharan@picochip.com>
5582cb29
HS
8966
8967 * config/picochip/picochip.c (picochip_reorg): Check for note_p for
8968 epilogue instruction move.
8969
ed2222c8
JH
89702010-09-09 Jan Hubicka <jh@suse.cz>
8971
8972 * collect2.c (maybe_run_lto_and_relink): Rewrite code producing ld
8973 command line to allow more partitions than input files.
8974
de8e52f0
VM
89752010-09-09 Vladimir Makarov <vmakarov@redhat.com>
8976
8977 PR middle-end/44554
8978 * ira.c (ira): Switch off sharing spill slots if setjmp is called.
8979
b100151b
VM
89802010-09-09 Vladimir Makarov <vmakarov@redhat.com>
8981
8982 PR middle-end/40386
8983 * ira.c (pseudo_for_reload_consideration_p): Don't use
8984 flag_ira_share_spill_slots.
8985
45e5214c
UW
89862010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8987
8988 * config/s390/s390.c (legitimate_reload_constant_p): Accept floating-
8989 point zero operands that fit into a single GPR.
8990 (s390_preferred_reload_class): Ensure we only return general-purpose
8991 register classes.
8992 * config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load
8993 floating-point zero operands into GPRs.
8994 ("*mov<mode>_64"): Likewise.
8995 ("mov<mode>"): Likewise using lhi.
8996
98635b04
UW
89972010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8998
8999 * config/s390/s390.c (s390_symref_operand_p): Return false for
9000 literal pool references.
9001 (s390_check_qrst_address): Update caller.
9002
d2795d58
UB
90032010-09-09 Uros Bizjak <ubizjak@gmail.com>
9004
9005 * config/i386/predicates.md (ext_register_operand): Check that
9006 SUBREG_REG is really a register before looking for REGNO.
9007 (reg_not_xmm0_operand): Handle SUBREGs correctly.
9008 (nonimm_not_xmm0_operand): Call reg_not_xmm0_operand.
9009
c8a27c40
JJ
90102010-09-09 Jakub Jelinek <jakub@redhat.com>
9011
9012 * rtl.def (DEBUG_IMPLICIT_PTR): New rtl code.
9013 * rtl.h (DEBUG_IMPLICIT_PTR_DECL): Define.
9014 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle DEBUG_IMPLICIT_PTR.
9015 * print-rtl.c (print_rtx): Likewise.
9016 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
9017 * cfgexpand.c (expand_debug_expr): Generate DEBUG_IMPLICIT_PTR
9018 for ADDR_EXPR with non-addressable object.
9019 * dwarf2out.c (enum dw_val_class): Add dw_val_class_decl_ref.
9020 (struct dw_val_struct): Add v.val_decl_ref.
9021 (dwarf_stack_op_name, output_loc_operands, output_loc_operands_raw):
9022 Handle DW_OP_GNU_implicit_pointer.
9023 (size_of_loc_descr): Likewise. Fix up DW_OP_call_ref size.
9024 (get_ref_die_offset_label): New function.
9025 (implicit_ptr_descriptor): New function.
9026 (mem_loc_descriptor): Handle DEBUG_IMPLICIT_PTR.
9027 (loc_descriptor): Likewise.
9028 (gen_variable_die): Put even definitions into decl_die_table.
9029 (resolve_addr_in_expr): Resolve still unresolved
9030 DW_OP_GNU_implicit_pointer operands, if it can't be resolved
9031 return false.
9032 (dwarf2out_finish): Call output_location_lists after outputting
9033 .debug_info and .debug_abbrev instead of before.
9034
90352010-09-09 Roland McGrath <roland@redhat.com>
9036
9037 * dwarf2out.c (DWARF_REF_SIZE): Define.
9038 (size_of_loc_descr): Use it for DW_OP_call_ref.
9039
5a79bcc4
AM
90402010-09-09 Alan Modra <amodra@gmail.com>
9041
9042 * doc/invoke.text: Reinstate mcmodel=medium.
9043 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
9044 CMODEL_MEDIUM as default.
9045 * config/rs6000/rs6000.h (enum rs6000_cmodel): Add CMODEL_MEDIUM.
9046 * config/rs6000/rs6000.c (rs6000_handle_option): Add mcmodel=medium.
9047 (toc_relative_ok, offsettable_ok_by_alignment): New functions.
9048 (rs6000_emit_move): Reinstate mcmodel=medium optimization.
9049
bc707992
JDA
90502010-09-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9051
9052 PR target/45250
9053 * config/pa/pa.md (nonlocal_goto): Restore hard frame pointer using
9054 hard_frame_pointer_rtx instead of virtual_stack_vars_rtx.
9055 (builtin_longjmp): Likewise.
9056 (allocate_stack): Use hard_frame_pointer_rtx instead of
9057 frame_pointer_rtx.
9058 * config/pa/pa-protos.h (pa_initial_elimination_offset): Declare.
9059 * config/pa/pa.c (pa_internal_arg_pointer): Declare.
9060 (pa_can_eliminate): Likewise.
9061 (TARGET_INTERNAL_ARG_POINTER): Define.
9062 (TARGET_CAN_ELIMINATE): Define.
9063 (hppa_expand_prologue): Use hard frame pointer instead of soft frame
9064 pointer.
9065 (hppa_expand_epilogue, pa_eh_return_handler_rtx): Likewise.
9066 (pa_internal_arg_pointer, pa_can_eliminate,
9067 pa_initial_elimination_offset): New.
9068 * config/pa/pa.h (FRAME_POINTER_REGNUM): Set to new general register.
9069 (HARD_FRAME_POINTER_REGNUM): Set to register three.
9070 (INITIAL_FRAME_POINTER_OFFSET): Delete.
9071 (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET, DWARF_FRAME_REGISTERS):
9072 Define.
9073 (DWARF_ALT_FRAME_RETURN_COLUMN, REGNO_OK_FOR_INDEX_P,
9074 REGNO_OK_FOR_BASE_P): Update to include soft frame pointer.
9075 * config/pa/pa32-regs.h (FIRST_PSEUDO_REGISTER): Increase by one.
9076 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
9077 REG_CLASS_CONTENTS, REGNO_REG_CLASS, REGISTER_NAMES): Update to include
9078 new soft frame pointer.
9079 * config/pa/pa64-regs.h: Likewise.
9080
2824d6e5
UB
90812010-09-08 Uros Bizjak <ubizjak@gmail.com>
9082
9083 * config/i386/i386.h (EH_RETURN_DATA_REGNO) Use DX_REG instead of
9084 numerical constant.
9085 (EH_RETURN_STACKADJ_RTX): Use CX_REG insted of numerical constant.
9086
c485684d
AO
90872010-09-08 Alexandre Oliva <aoliva@redhat.com>
9088
9089 PR debug/45531
9090 * cfglayout.c (fixup_reorder_chain): Skip debug insns.
9091
359bea1d
AO
90922010-09-08 Alexandre Oliva <aoliva@redhat.com>
9093
9094 PR debug/45419
9095 PR debug/45408
9096 * tree-pretty-print.c (dump_generic_node): Disregard top-level
9097 qualifiers in otherwise equal MEM_REF pointer types.
9098 * fold-const.c (operand_equal_p): Compare pointer type of MEM_REFs.
9099 * tree.c (iterative_hash_expr): Hash the pointer type of MEM_REFs.
9100
0a7822a3
RR
91012010-09-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9102
9103 PR target/44392
9104 * config/arm/arm.md (bswapsi2): Handle condition correctly
9105 for armv6 and optimize_size.
9106
2bfef1ad
FXC
91072010-09-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9108
9109 PR other/18555
2824d6e5 9110 * doc/cppopts.texi (-isysroot): Document Darwin behaviour.
2bfef1ad 9111
19ed9d7b
UB
91122010-09-08 Uros Bizjak <ubizjak@gmail.com>
9113
9114 * config/i386/i386-protos.h (ix86_can_use_return_insn_p,
9115 symbolic_reference_mentioned_p, ix86_expand_movmem, ix86_expand_setmem,
9116 ix86_expand_strlen, legitimate_pic_address_disp_p,
9117 ix86_binary_operator_ok, ix86_unary_operator_ok, ix86_match_ccmode,
9118 ix86_expand_int_movcc, ix86_expand_fp_movcc, ix86_expand_int_addcc,
9119 ix86_check_movabs, ix86_secondary_memory_needed): Change function
9120 prototype to bool.
9121 * config/i386/i386.c (return_in_memory_32, return_in_memory_64,
9122 return_in_memory_ms_64, ix86_check_movabs,
9123 symbolic_reference_mentioned_p, ix86_can_use_return_insn_p,
9124 legitimate_pic_address_disp_p, ix86_binary_operator_ok,
9125 ix86_unary_operator_ok, ix86_match_ccmode, ix86_expand_int_movcc,
9126 ix86_expand_fp_movcc, ix86_expand_int_addcc, ix86_expand_movmem,
9127 ix86_expand_setmem, ix86_expand_strlen, inline_secondary_memory_needed,
9128 ix86_secondary_memory_needed): Change to bool. Return
9129 "true" and "false" values.
9130 * config/i386/i386.md: Return "true" and "false" values.
9131
0fa3d594
RO
91322010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9133
9134 * doc/sourcebuild.texi (Effective-Target Keywords): Document
9135 run_expensive_tests.
9136
86923f6e
RO
91372010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9138
19ed9d7b 9139 * toplev.c (output_stack_usage): Use lbasename instead of basename.
86923f6e 9140
da1cc2e4
MJ
91412010-09-08 Martin Jambor <mjambor@suse.cz>
9142
9143 PR other/45443
9144 * doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on
9145 at -O3.
9146
0f443ad0
RG
91472010-09-08 Richard Guenther <rguenther@suse.de>
9148
9149 * gimple.c (gimple_types, type_hash_cache): Move to GC memory.
9150 (visit): Adjust.
9151 (iterative_hash_gimple_type): Likewise.
9152 (gimple_type_hash): Likewise.
9153 (gimple_register_type): Likewise.
9154 (print_gimple_types_stats): Likewise.
9155 (free_gimple_type_tables): Likewise.
9156
a855b1b1
MM
91572010-09-08 Michael Matz <matz@suse.de>
9158
9159 PR tree-optimization/43430
9160 * tree-vect-stmts.c (vectorizable_condition): Support multiple
9161 copies for conditional statements if it's not part of a reduction.
9162
3834917d
MM
91632010-09-08 Michael Matz <matz@suse.de>
9164
9165 PR tree-optimization/33244
9166 * tree-ssa-sink.c (statement_sink_location): Don't sink into
9167 empty loop latches.
9168
b5c878a5
RG
91692010-09-08 Richard Guenther <rguenther@suse.de>
9170
9171 PR tree-optimization/45578
9172 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr):
9173 Be more careful when transfering alignment information to
9174 the new induction variable.
9175 (copy_ref_info): Likewise.
9176
1814522d
RG
91772010-09-08 Richard Guenther <rguenther@suse.de>
9178
9179 * tree.h (TYPE_ORIG_SIZE_TYPE): Remove.
19ed9d7b 9180 * c-typeck.c (comptypes_internal): Remove TYPE_ORIG_SIZE_TYPE checks.
1814522d 9181
7370e0da
AC
91822010-09-08 Arnaud Charlet <charlet@adacore.com>
9183
9184 * c-tree.h, c-decl.c (build_enumerator): Add location parameter.
9185 * c-parser.c (c_parser_enum_specifier): Adjust call to build_enumerator.
9186
74164603 91872010-09-08 Kenneth Zadeck <zadeck@naturalbridge.com>
19ed9d7b 9188
e0d4c0b3
KZ
9189 PR doc/45587
9190 * doc/md.texi: Fixed modes on several standard pattern names.
9191
59bdeecb
MX
91922010-09-08 Mingjie Xing <mingjie.xing@gmail.com>
9193
9194 * config/mips/loongson.md (loongson_psll<V_suffix>): Rename to...
9195 (ashl<mode>3): ...this.
9196 (loongson_psra<V_suffix>): Rename to...
9197 (ashr<mode>3): ...this.
9198 (loongson_psrl<V_suffix>): Rename to...
9199 (lshr<mode>3): ...this.
9200 * config/mips/mips.c (CODE_FOR_loongson_psllh): Define.
9201 (CODE_FOR_loongson_psllw): Define.
9202 (CODE_FOR_loongson_psrlh): Define.
9203 (CODE_FOR_loongson_psrlw): Define.
9204 (CODE_FOR_loongson_psrah): Define.
9205 (CODE_FOR_loongson_psraw): Define.
9206
237e9c04
RH
92072010-09-07 Richard Henderson <rth@redhat.com>
9208
9209 * tree-vect-data-refs.c: Include tm_p.h.
9210 * Makefile.in (tree-vect-data-refs.o): Update deps.
9211 * config/i386/i386-protos.h (ix86_cfun_abi, ix86_function_type_abi):
9212 Move delarations outside #ifdef RTX_CODE.
9213
182a0c11
RH
92142010-09-07 Richard Henderson <rth@redhat.com>
9215
19ed9d7b 9216 * final.c (rest_of_handle_final): Unconditionally do
182a0c11
RH
9217 output_function_exception_table before assemble_end_function.
9218
f27e50db
JH
92192010-09-07 Jan Hubicka <jh@suse.cz>
9220
19ed9d7b
UB
9221 * tree-inline.c (tree_inlinable_function_p): Do not test
9222 DECL_REPLACEABLE_P.
9223 * ipa-inline.c (cgraph_default_inline_p, update_caller_keys,
9224 update_callee_keys, cgraph_decide_inlining): Test function availability.
f27e50db
JH
9225 * cif-code.def (OVERWRITABLE): New code.
9226
a0766cdb 92272010-09-07 H.J. Lu <hjl.tools@gmail.com>
74164603 9228 Jack Howarth <howarth@bromo.med.uc.edu>
a0766cdb
L
9229
9230 PR target/36502
9231 PR target/42313
9232 PR target/44651
eed023cc 9233 * config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for
a0766cdb
L
9234 profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise.
9235 (PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in
9236 MAX macro.
9237
4e751772
L
92382010-09-07 H.J. Lu <hongjiu.lu@intel.com>
9239
9240 * unwind-dw2-fde-glibc.c: Include <elf.h> for DT_CONFIG.
9241 Include <link.h> only if USE_PT_GNU_EH_FRAME is defined.
9242
274eec6c
L
92432010-09-07 H.J. Lu <hongjiu.lu@intel.com>
9244
9245 * config.gcc: Don't append t-android for Android targets.
9246
9247 * config/t-android: Removed.
9248
a68b5e52
RH
92492010-09-07 Richard Henderson <rth@redhat.com>
9250
9251 * target.def (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): New hook.
9252 * doc/tm.texi.in: Add doc marker.
9253 * doc/tm.texi: Rebuild.
9254 * except.c (switch_to_exception_section): Always build.
9255 (output_one_function_exception_table): Move section switch,
9256 personality output, and label output ...
9257 (output_function_exception_table): ... here. Use the new
9258 personality hook.
9259
9260 * config/ia64/ia64.c (ia64_asm_emit_except_personality,
9261 ia64_asm_init_sections, TARGET_ASM_EMIT_EXCEPT_PERSONALITY,
9262 TARGET_ASM_INIT_SECTIONS): New.
9263 (ia64_asm_unwind_emit): Rename from process_for_unwind_directive,
9264 make static.
9265 (TARGET_ASM_UNWIND_EMIT): Update to match.
9266 * config/ia64/ia64-protos.h (process_for_unwind_directive): Remove.
9267
9268 * config/arm/arm.c (arm_asm_emit_except_personality): New.
9269 (arm_asm_init_sections): New.
9270 (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): New.
9271
9b3a7a26
RR
92722010-09-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9273
9274 * config/arm/arm.md: Remove unused variable.
9275
7149f02c
AS
92762010-09-07 Anatoly Sokolov <aesok@post.ru>
9277
9278 * config/m32r/m32r.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
9279 * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Define.
9280 (m32r_memory_move_cost): New function.
9281
c811b2a5
L
92822010-09-07 H.J. Lu <hongjiu.lu@intel.com>
9283
9284 * config.gcc: Append t-android for Android targets.
9285
9286 * config/t-android: New.
9287
3bc6b3e6
RH
92882010-09-07 Richard Henderson <rth@redhat.com>
9289
9290 * target.def (unwind_emit_before_insn): New hook.
9291 * doc/tm.texi.in: Add @hook marker for it.
9292 * doc/tm.texi: Rebuild.
9293 * final.c (final_scan_insn): Respect unwind_emit_before_insn.
9294
aa229804
MJ
92952010-09-07 Martin Jambor <mjambor@suse.cz>
9296
9297 PR fortran/43665
9298 * ipa-cp.c (ipcp_versionable_function_p): Return false if there
9299 are any type attributes.
9300
9c4ce18d
JH
93012010-09-07 Jan Hubicka <jh@suse.cz>
9302
3bc6b3e6
RH
9303 * tree-ssa-ccp.c (fold_const_aggregate_ref): Fix handling of
9304 array_ref_low_bound in string access folding.
9c4ce18d 9305
d341a5d0
UB
93062010-09-07 Uros Bizjak <ubizjak@gmail.com>
9307
9308 PR target/45206
9309 * config/i386/i386.c (ix86_expand_epilogue): Mark SP as valid after
9310 eh_return fixup sequence.
9311
8683f051
JH
93122010-09-07 Jan Hubicka <jh@suse.cz>
9313
9c4ce18d 9314 * gimple-fold.c (maybe_fold_reference): Verify that operand is
8683f051
JH
9315 gimple_min_invariant.
9316
f5e5b46c
RG
93172010-09-07 Richard Guenther <rguenther@suse.de>
9318
9319 PR middle-end/45569
9320 * tree-eh.c (operation_could_trap_helper_p): Neither COMPLEX_EXPR
9321 nor CONSTRUCTOR can trap.
9322 * tree-complex.c (update_complex_assignment): Update EH info.
9323
c9d6130e
RG
93242010-09-07 Richard Guenther <rguenther@suse.de>
9325
9326 PR middle-end/45569
9327 * tree-cfg.c (build_gimple_cfg): Remove redundant stmt verification.
9328 * passes.c (execute_function_todo): Do not verify anything if
9329 we saw errors.
9330
d7806def
RG
93312010-09-07 Richard Guenther <rguenther@suse.de>
9332
d341a5d0 9333 * tree-pretty-print.c (dump_generic_node): Dump void types as void.
d7806def 9334
da0a441d
BS
93352010-09-07 Bernd Schmidt <bernds@codesourcery.com>
9336
9337 PR target/43137
9338 * config/arm/iterators.md (qhs_zextenddi_cond, qhs_sextenddi_cond):
9339 New define_mode_attrs.
9340 * config/arm/arm.md (zero_extendsidi2, arm_zero_extendsidi2,
9341 arm_exxtendsidi2, arm_extendsidi2): Delete patterns.
9342 (zero_extend<mode>di2, extend<mode>di2 and related splits): New.
9343 (thumb1_zero_extendhisi2): Remove code to handle LABEL_REFs.
9344 Remove pool_range attribute.
9345 (arm_zero_extendhisi2, arm_zero_extendhisi2_v6, arm_zero_extendqisi2,
9346 arm_zero_extendqisi2_v6, thumb1_zero_extendqisi2_v6): Remove
9347 pool_range and neg_pool_range attributes.
9348 * config/arm/thumb2.md (thumb2_zero_extendsidi2,
9349 thumb2_zero_extendhidi2, thumb2_zero_extendqidi2, thumb2_extendsidi2,
9350 thumb2_extendhidi2, thumb2_extendqidi2): Delete.
9351
4e18507b
L
93522010-09-06 H.J. Lu <hongjiu.lu@intel.com>
9353
9354 * config/i386/linux-unwind.h (x86_fallback_frame_state): Properly
9355 check glibc.
9356
61ec1123
UB
93572010-09-06 Uros Bizjak <ubizjak@gmail.com>
9358
9359 PR target/22152
9360 * config/i386/mmx.md (*mov<mode>_internal_rex64,
9361 *mov<mode>_internal_avx, *mov<mode>_internal,
9362 *movv2sf_internal_rex64_avx, *movv2sf_internal_rex64,
9363 *movv2sf_internal_avx, *movv2sf_internal): Split out !y-!y alternative.
9364
c5ee1358
MM
93652010-09-06 Mark Mitchell <mark@codesourcery.com>
9366
9367 * c-typeck.c (do_warn_double_promotion): Remove.
9368 * doc/invoke.texi (-Wdouble-promotion): Note available for C++ and
9369 Objective-C++ too.
9370
c28350ab
AS
93712010-09-06 Anatoly Sokolov <aesok@post.ru>
9372
9373 * config/frv/frv.h (CLASS_LIKELY_SPILLED_P): Remove.
9374 * config/frv/frv-protos.h (frv_class_likely_spilled_p): Remove.
9375 * config/frv/frv.c (frv_class_likely_spilled_p): Make static. Change
9376 argument type to reg_class_t. Change result type to bool.
9377 (TARGET_CLASS_LIKELY_SPILLED_P): Define.
9378
708e07fb
NP
93792010-09-06 Nicola Pero <nicola.pero@meta-innovation.com>
9380
9381 PR libobjc/19850
9382 * gthr-posix.h (__gthread_objc_thread_detach): Use
9383 _objc_thread_attribs when detaching a thread.
9384 * gthr-posix95.h (__gthread_objc_thread_detach): Same change.
9385
cc0ae0ca
L
93862010-09-06 H.J. Lu <hongjiu.lu@intel.com>
9387
9388 PR target/45524
61ec1123 9389 * configure.ac (enable_decimal_float): Set to $default_decimal_float.
cc0ae0ca
L
9390 * configure: Regenerated.
9391
c18605cc
AK
93922010-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9393
9394 * combine.c (try_combine): Set subst_low_luid to i0.
9395
be1ac4ec
RG
93962010-09-06 Richard Guenther <rguenther@suse.de>
9397
9398 * tree.def (MISALIGNED_INDIRECT_REF): Remove.
9399 * tree.h (INDIRECT_REF_P): Only check for INDIRECT_REF.
9400 (build_aligned_type): Declare.
9401 * tree.c (check_qualified_type): Also compare TYPE_ALIGN.
9402 (check_aligned_type): New function.
9403 (build_aligned_type): Likewise.
9404 * expr.c (expand_assignment): Handle misaligned stores via
9405 TARGET_MEM_REF and MEM_REF using movmisalign_optab.
9406 (expand_expr_real_1): Likewise.
9407 (safe_from_p): Remove MISALIGNED_INDIRECT_REF handling.
9408 * tree-vect-stmts.c (vectorizable_store): Do not build
9409 MISALIGNED_INDIRECT_REF but initialize alignment information.
9410 (vectorizable_load): Likewise.
9411 * builtins.c (get_object_alignment): Remove MISALIGNED_INDIRECT_REF
9412 handling.
9413 * cfgexpand.c (expand_debug_expr): Likewise.
9414 * dwarf2out.c (loc_list_from_tree): Likewise.
9415 * fold-const.c (maybe_lvalue_p): Likewise.
9416 (operand_equal_p): Likewise.
9417 (build_fold_addr_expr_with_type_loc): Likewise.
9418 * gimplify.c (gimplify_addr_expr): Likewise.
9419 (gimplify_expr): Likewise.
9420 * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
9421 (verify_gimple_assign_single): Likewise.
9422 * tree-dump.c (dequeue_and_dump): Likewise.
9423 (tree_could_trap_p): Likewise.
9424 * tree-predcom.c (ref_at_iteration): Likewise.
9425 * tree-pretty-print.c (dump_generic_node): Likewise.
9426 (op_code_prio): Likewise.
9427 (op_symbol_code): Likewise.
9428 * tree-ssa-ccp.c (get_value_from_alignment): Likewise.
9429 * tree-ssa-loop-im.c (for_each_index): Likewise.
9430 (gen_lsm_tmp_name): Likewise.
9431 * tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
9432 (find_interesting_uses_address): Likewise.
9433 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
9434 * tree-ssa-operands.c (get_expr_operands): Likewise.
9435 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
9436 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
9437 (ao_ref_init_from_vn_reference): Likewise.
9438 * tree.c (staticp): Likewise.
9439 (build1_stat): Likewise.
9440 (reference_alias_ptr_type): Likewise.
9441 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
9442 * config/rs6000/rs6000.c (rs6000_check_sdmode): Remove
9443 MISALIGNED_INDIRECT_REF handling.
9444
863a7578
RB
94452010-09-06 Richard Guenther <rguenther@suse.de>
9446
9447 PR tree-optimization/45534
9448 * tree-ssa-address.c (create_mem_ref_raw): Add verify parameter.
9449 (create_mem_ref): Do verify the created TARGET_MEM_REF is valid
9450 on the target.
9451 (maybe_fold_tmr): Do not verify the created TARGET_MEM_REF is
9452 valid on the target.
9453
84f47d20
AS
94542010-09-06 Andreas Schwab <schwab@redhat.com>
9455
9456 * configure.ac: Quote argument of AC_MSG_WARN.
9457 * configure: Regenerate.
9458
e5cb031f
AM
94592010-09-06 Alexander Monakov <amonakov@ispras.ru>
9460
863a7578
RB
9461 * sel-sched.c (move_cond_jump): Correct arguments to
9462 maybe_tidy_empty_bb.
e5cb031f
AM
9463 * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
9464
324d3f45
AM
94652010-09-06 Andrey Belevantsev <abel@ispras.ru>
9466
9467 PR rtl-optimization/44919
9468 * sel-sched.c (move_cond_jump): Remove assert, check that
9469 the several blocks case can only happen with mutually exclusive
9470 insns instead. Rewrite the movement code to support moving through
9471 several basic blocks.
9472
d1e74401
UB
94732010-09-06 Uros Bizjak <ubizjak@gmail.com>
9474
9475 * config/i386/i386.md (iptrsize): New mode attribute.
9476 (tp_seg): Ditto.
9477 (*load_tp_<mode>): Macroize insn from *load_tp_{si,di} using P
9478 mode iterator.
9479 (*add_tp_<mode>): Ditto from *add_tp_{si,di}.
9480 (stack_protect_set_<mode>): Ditto from stack_protect_set_{si,di}.
9481 (stack_protect_test_<mode>): Ditto from stack_protect_test_{si,di}.
9482 (stack_tls_protect_set_<mode>): Ditto from
9483 stack_tls_protect_set_{si,di}. Use %@ to output segment register
9484 of thread base pointer load.
9485 (stack_tls_protect_test_<mode>): Ditto from
9486 stack_tls_protect_test_{si,di}. Use %@ to output segment register
9487 of thread base pointer load.
9488 (stack_protect_set): Rewrite using indirect functions.
9489 (stack_protect_test): Ditto.
9490 * config/i386/i386.c (ix86_print_operand_punct_valid): Add '@'.
9491 (ix86_print_operand): Handle '@'.
9492
68fce4ed
GS
94932010-09-05 Giuseppe Scrivano <gscrivano@gnu.org>
9494
9495 * tree-tailcall.c (process_assignment): Handle NEGATE_EXPR and
9496 MINUS_EXPR.
9497
0a0b3574
MM
94982010-09-05 Mark Mitchell <mark@codesourcery.com>
9499
9500 * doc/invoke.texi: Document -Wdouble-promotion.
9501 * c-typeck.c (convert_arguments): Check for implicit conversions
9502 from float to double.
9503 (do_warn_double_promotion): New function.
9504 (build_conditional_expr): Use it.
9505 (build_binary_op): Likewise.
9506
f38fb2c4
RG
95072010-09-05 Richard Guenther <rguenther@suse.de>
9508
9509 PR tree-optimization/45535
9510 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
9511 handle TMR_INDEX2. Make sure TMR_INDEX is not NULL before
9512 dereferencing it.
9513 (indirect_refs_may_alias_p): Likewise.
9514
e7a8f681
N
95152010-09-05 Naveen H.S <naveen.S@kpitcummins.com>
9516
9517 * config/sh/sh.c (sh_option_override): Make static.
9518 Adjust comments. Declare.
68fce4ed 9519 (sh_function_value_regno_p): Likewise.
e7a8f681
N
9520 (sh_register_move_cost): Modify the arguments, make static.
9521 Adjust comments. Declare.
9522 (TARGET_OPTION_OVERRIDE, TARGET_REGISTER_MOVE_COST
9523 TARGET_FUNCTION_VALUE_REGNO_P): Define.
9524 * config/sh/sh.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P
9525 REGISTER_MOVE_COST): Delete.
9526 * config/sh/sh-protos.h (sh_override_options): Delete.
9527 (sh_register_move_cost): Delete.
9528 (sh_function_value_regno_p): Delete.
9529
8c9cb6e6
AS
95302010-09-04 Anatoly Sokolov <aesok@post.ru>
9531
9532 * config/m32r/m32r.c (m32r_function_value, m32r_libcall_value,
9533 m32r_function_value_regno_p): New functions.
9534 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
9535 TARGET_FUNCTION_VALUE_REGNO_P): Declare.
9536 * config/m32r/m32r.h: (FUNCTION_VALUE, LIBCALL_VALUE,
9537 FUNCTION_VALUE_REGNO_P): Remove.
9538
17f39a39
JH
95392010-09-04 Jan Hubicka <jh@suse.cz>
9540
9541 * gimple-fold.c (maybe_fold_reference): Use fold_const_aggregate_ref.
9542 * tree-ssa-ccp.c (fold_const_aggregate_ref): Use
9543 fold_read_from_constant_string.
9544
9545 * gimple.h (canonicalize_constructor_val): Declare.
9546 * gimple-fold.c (canonicalize_constructor_val): New function.
9547 (get_symbol_constant_value):Use it.
9548 * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
9549
5f7ae6b6
JH
95502010-09-04 Jan Hubicka <jh@suse.cz>
9551
9552 * tree-switch-conversion.c (build_one_array): Set constructor to be
9553 static.
9554 * varpool.c (varpool_finalize_decl): Compute const_value_known.
9555
bcf71673
RG
95562010-09-04 Richard Guenther <rguenther@suse.de>
9557
9558 PR bootstrap/45519
9559 * tree-flow.h (force_gimple_operand_1): Declare.
9560 (force_gimple_operand_gsi_1): Likewise.
9561 * gimplify.c (force_gimple_operand_1): New worker taking a
9562 gimple predicate for ...
9563 (force_gimple_operand): ... which now wraps it.
9564 (force_gimple_operand_gsi_1, force_gimple_operand_gsi): Likewise.
9565 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Revert
9566 last change.
9567 * tree-ssa-address.c (gimplify_mem_ref_parts): Use
9568 force_gimple_operand_gsi_1 with is_gimple_mem_ref_addr.
9569 (create_mem_ref): Likewise.
9570
770b37b9
UB
95712010-09-04 Uros Bizjak <ubizjak@gmail.com>
9572
9573 * config/i386/predicates.md (sse_reg_operand): New predicate.
9574 * config/i386/i386.md (TFmode push splitter): Use sse_reg_operand
9575 predicate for operand 1.
9576 (XFmode push splitter): Use fp_register_operand predicate
9577 for operand 1.
9578 (*dummy_extendsfdf2, *dummy_extendsfxf2): Remove disabled patterns.
9579 (SF-DF float_extend push splitter): Add reload_completed insn
9580 predicate.
9581 ({SF,DF}-XF float_extend_push splitter): Macroize splitter using
9582 MODEF mode macro. Add reload_completed insn predicate.
9583
502ef838
PB
95842010-09-04 Paolo Bonzini <bonzini@gnu.org>
9585
9586 * df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
9587 (struct df_extract_ref): Remove.
9588 (union df_ref_d): Remove extract_ref member.
9589 (df_ref_create): Remove last three arguments.
9590 (DF_REF_LOC): Remove DF_REF_EXTRACT case.
9591 * df-scan.c (df_ref_record): Remove last three arguments, do not
9592 pass them to df_ref_create_structure.
9593 (df_uses_record): Remove first and last three arguments. Replace
9594 first argument with DF_REF_REGULAR, adjust calls to remove the
9595 width, offset and mode. Always call recursively on the second
9596 and third argument of ZERO_EXTRACT and SIGN_EXTRACT.
9597 (df_ref_create_structure): Remove first argument.
9598 (struct df_scan_problem_data): Remove ref_extract_pool.
9599 (df_scan_free_internal): Do not free it.
9600 (df_scan_alloc): Do not allocate it.
9601 (df_ref_create): Remove last three arguments, do not pass them to
9602 df_ref_create_structure.
9603 (df_free_ref): Remove DF_REF_EXTRACT case.
9604 (df_notes_rescan): Adjust call to df_uses_record.
9605 (df_ref_equal_p, df_ref_compare, df_ref_create_structure):
9606 Remove DF_REF_EXTRACT case.
9607 (df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs.
9608 Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG
9609 and SUBREG definitions.
9610 (df_get_conditional_uses): Remove references to width/offset/mode,
9611 adjust call to df_ref_create_structure.
9612 (df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
9613 df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust
9614 calls to df_uses_record and df_ref_record.
9615 * fwprop.c (update_df): Remove references to width/offset/mode,
9616 adjust call to df_ref_create.
9617
48c24aca
JH
96182010-09-03 Jan Hubicka <jh@suse.cz>
9619
9620 * ipa.c (build_cdtor): Take VECtor as argument; fix array walk.
9621 (build_cdtor_fns): Update use of build_cdtor.
9622
d1583032
JM
96232010-09-03 Joseph Myers <joseph@codesourcery.com>
9624
9625 * doc/options.texi (SeparateAlias): Document.
9626 * opt-functions.awk (switch_flags): Handle SeparateAlias.
9627 * opth-gen.awk: Generate enumeration names for options marked
9628 SeparateAlias, but not for those marked Ignore.
9629 * opts-common.c (generate_canonical_option): Don't output separate
9630 argument for options marked CL_SEPARATE_ALIAS.
9631 (decode_cmdline_option): Handle CL_SEPARATE_ALIAS.
9632 * opts.h (CL_SEPARATE_ALIAS): New.
9633 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
9634 CL_COMMON): Adjust definitions.
9635 * config/i386/darwin.opt, config/mips/sde.opt: New.
9636 * common.opt (fdump-final-insns): New.
9637 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
9638 i386/darwin.opt.
9639 (mips*-sde-elf*): Add mips/sde.opt.
9640 * config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle
9641 -mno-data-in-code and -mcode-xonly here.
9642 * defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'.
9643 * gcc.c (option_map): Add "j" to --dump entry.
770b37b9 9644 (translate_options): Don't translate -d to -foutput-class-dir= here.
d1583032 9645
b0af49c4
SP
96462010-09-03 Sebastian Pop <sebastian.pop@amd.com>
9647
9648 * tree-data-ref.c (dr_may_alias_p): Replace !DR_IS_READ with
9649 DR_IS_WRITE.
9650 (compute_all_dependences): Same.
9651 (create_rdg_edge_for_ddr): Same.
9652 * tree-data-ref.h (DR_IS_WRITE): New.
9653 (ddr_is_anti_dependent): Replace !DR_IS_READ with DR_IS_WRITE.
9654 * tree-if-conv.c (write_memrefs_written_at_least_once): Same.
9655 (write_memrefs_written_at_least_once): Same.
9656 * tree-predcom.c (suitable_component_p): Same.
9657 (determine_roots_comp): Same.
9658 (execute_load_motion): Same.
9659 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Same.
9660 (vect_enhance_data_refs_alignment): Same.
9661 (vect_analyze_group_access): Same.
9662
de3f621b
JR
96632010-09-03 Joern Rennecke <joern.rennecke@embecosm.com>
9664
9665 PR testsuite/42843
9666 * Makefile.in (PLUGINCC): Define in terms of @CC@ / @CXX@
9667 (PLUGINCFLAGS): Define in terms of @CFLAGS@ / @CXXFLAGS@
9668
4d8ff563
MB
96692010-09-03 Marcin Baczynski <marbacz@gmail.com>
9670
9671 * dwarf2out.c (file scope): Remove #if0'd code.
9672 (gen_subprogram_die): Same.
9673
87df9ea5
JJ
96742010-09-03 Jakub Jelinek <jakub@redhat.com>
9675
9676 PR middle-end/45484
9677 * dwarf2out.c (flush_queued_reg_saves): Rename to...
9678 (dwarf2out_flush_queued_reg_saves): ... this. No longer static.
9679 (dwarf2out_frame_debug_expr, dwarf2out_frame_debug): Adjust callers.
9680 * dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
9681 * config/i386/i386.c (output_set_got): Call it.
9682
15a54c10
MM
96832010-09-03 Michael Matz <matz@suse.de>
9684
9685 PR middle-end/45415
9686 * tree-sra.c (sra_modify_assign): If we modify the statement,
9687 say so.
9688
9689 * tree-ssa.c (verify_ssa): Check number of operands and links
9690 per statement to agree.
9691
0df8fcc8
UB
96922010-09-03 Uros Bizjak <ubizjak@gmail.com>
9693 Iain Sandoe <iains@gcc.gnu.org>
9694
9695 PR target/45476
9696 * config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
9697 * config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
9698 LIBGCC2_TF_CEXT, TF_SIZE): New defines.
9699
ac364a48
RG
97002010-09-03 Richard Guenther <rguenther@suse.de>
9701
9702 * lto-streamer-out.c (output_function): Output function
9703 start and end loci.
9704 * lto-streamer-in.c (input_function): Input function start
9705 and end loci.
9706
3c39bca6
AK
97072010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9708
9709 * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
9710 * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
9711 * configure: Regenerate.
9712 * aclocal.m4: Regenerate.
9713
1c7b11d2
JH
97142010-09-03 Jan Hubicka <jh@suse.cz>
9715
9716 PR lto/44812
9717 * lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
9718 on functions/variables in other partition.
9719
155c92a7
JH
97202010-09-03 Jan Hubicka <jh@suse.cz>
9721
9722 * cgraph.h (struct varpool_node): Add const_value_known.
9723 (varpool_decide_const_value_known): Declare.
9724 * tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding.
9725 * lto-cgraph.c (lto_output_varpool_node): Store const_value_known.
9726 (input_varpool_node): Restore const_value_known.
9727 * tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for
9728 initializer folding.
9729 * ipa.c (ipa_discover_readonly_nonaddressable_var,
9730 function_and_variable_visibility): Compute const_value_known.
0df8fcc8
UB
9731 * gimple-fold.c (get_symbol_constant_value): Use varpool for
9732 initializer folding.
155c92a7
JH
9733 * varpool.c (varpool_decide_const_value_known): New function.
9734
cb1b497e
UB
97352010-09-03 Uros Bizjak <ubizjak@gmail.com>
9736
0df8fcc8 9737 * config/i386/i386.md: Remove empty preparation statements
cb1b497e
UB
9738 from splitters.
9739
a482b1f5
JH
97402010-09-03 Jan Hubicka <jh@suse.cz>
9741
cb1b497e
UB
9742 * passes.c (rest_of_decl_compilation): Do not add local vars into
9743 varpool.
a482b1f5
JH
9744 * varpool.c (varpool_get_node, varpool_node): Sanity check that only
9745 static or extern vars are in varpool.
cb1b497e
UB
9746 (varpool_finalize_decl): Sanity check that only static vars are
9747 finalized.
a482b1f5 9748
2f757e4a
JJ
97492010-09-03 Jakub Jelinek <jakub@redhat.com>
9750
9751 PR debug/45500
9752 * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
9753 not just generic vectors with BLKmode.
9754
4d948885
RG
97552010-09-03 Richard Guenther <rguenther@suse.de>
9756
9757 * tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
9758 Move TMR_OFFSET to second operand. Add TMR_INDEX2.
9759 * tree.h (TMR_SYMBOL): Remove.
9760 (TMR_BASE, TMR_OFFSET): Adjust.
9761 (TMR_INDEX2): New.
9762 * alias.c (ao_ref_from_mem): Use TMR_BASE.
9763 * builtins.c (get_object_alignment): Merge TMR_BASE and
9764 TMR_SYMBOL handling.
9765 * cfgexpand.c (expand_debug_expr): Use TMR_BASE.
9766 * gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF
9767 handling. Also allow TARGET_MEM_REF as base address.
9768 (walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL.
9769 * gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF
9770 base. Gimplify TMR_INDEX2.
9771 * tree-cfg.c (verify_types_in_gimple_reference): Adjust.
9772 * tree-dfa.c (get_ref_base_and_extent): Likewise.
9773 (get_addr_base_and_unit_offset): Likewise.
9774 * tree-eh.c (tree_could_trap_p): Likewise.
9775 * tree-pretty-print.c (dump_generic_node): Likewise.
cb1b497e 9776 * tree-ssa-address.c (tree_mem_ref_addr): Simplify. Handle TMR_INDEX2.
4d948885
RG
9777 (create_mem_ref_raw): Merge symbol and base. Move 2ndary
9778 base to index2.
9779 (get_address_description): Reconstruct addres description
9780 from merged TMR_BASE and TMR_INDEX2.
9781 (maybe_fold_tmr): Fold propagated addresses.
9782 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge
9783 MEM_REF and TARGET_MEM_REF paths.
9784 (indirect_refs_may_alias_p): Likewise.
9785 * tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2
9786 instead of TMR_SYMBOL.
9787 * tree-ssa-operands.c (get_tmr_operands): Simplify.
9788 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust
9789 according to changes ...
9790 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here.
9791 Split TARGET_MEM_REF into two fields plus the base.
9792 * tree.c (mem_ref_offset): Simplify.
9793 * tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2.
9794 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
9795 Strip NOPs when folding MEM_REF addresses.
9796 * tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF.
9797 * gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ...
9798 (fold_gimple_assign): ... not here.
9799
49042313
MX
98002010-09-03 Mingjie Xing <mingjie.xing@gmail.com>
9801
9802 * config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change the definition.
9803 * config/mips/mips.c (mips_shift_truncation_mask): New function.
9804 (TARGET_SHIFT_TRUNCATION_MASK): Define.
9805
92053f38
RH
98062010-09-02 Richard Henderson <rth@redhat.com>
9807
9808 * configure.ac (gcc_cv_as_cfi_advance_working): Use objdump
9809 instead of readelf in the test.
9810 (gcc_cv_as_cfi_sections_directive): Check for correct relocation
9811 in the .debug_frame section for coff targets.
9812 * configure: Rebuild.
9813
184866c5
AS
98142010-09-02 Anatoly Sokolov <aesok@post.ru>
9815
9816 * config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
9817 * config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove.
9818 * config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
9819 (m32c_class_likely_spilled_p): Make static. Change argument type to
9820 reg_class_t. Change result type to bool.
9821
688e4919
MM
98222010-09-02 Michael Meissner <meissner@linux.vnet.ibm.com>
9823
9824 * config/rs6000/rs6000.opt (-mfriz): New switch to control whether
9825 to convert (double)(long) into a single FRIZ instruction or not
9826 when -ffast-math is used.
9827
9828 * config/rs6000/vsx.md (VSX_DF): New iterator for DF/V2DF modes.
9829 (vsx_float_fix_<mode>2): Optimize (double)(long) into X{S,V}RDPIZ
9830 or FRIZ instruction if -ffast-math.
9831 * config/rs6000/rs6000.md (friz): Ditto.
9832
9833 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mfriz.
9834
398da2ac
JM
98352010-09-02 Joseph Myers <joseph@codesourcery.com>
9836
9837 * opth-gen.awk (quote, comma): Remove unused variables.
9838
fe7645b9
RM
98392010-09-02 Ryan Mansfield <rmansfield@qnx.com>
9840
9841 * arm.c (arm_override_options): Correct fall-back code to use
9842 SUBTARGET_CPU_DEFAULT.
9843
5bfc5baa
JB
98442010-09-02 Julian Brown <julian@codesourcery.com>
9845
9846 * config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for
9847 unspecs.
9848 (vcond<mode>, vcondu<mode>): New expanders.
9849 (neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support
9850 comparisons with zero.
9851 (neon_vcle<mode>, neon_vclt<mode>): New patterns.
9852 * config/arm/constraints.md (Dz): New constraint.
9853
07b8f0a8
AS
98542010-09-02 Anatoly Sokolov <aesok@post.ru>
9855
9856 * target.def (class_likely_spilled_p): New hook.
9857 * doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Document.
9858 * doc/tm.texi: Regenerate.
9859 * targhooks.c (default_class_likely_spilled_p): New function.
9860 * targhooks.h (default_class_likely_spilled_p): Declare.
9861 * regs.h (CLASS_LIKELY_SPILLED_P): Remove.
cb1b497e 9862 * combine.c (cant_combine_insn_p, likely_spilled_retval_p): Use
07b8f0a8
AS
9863 TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro.
9864 Use fixed_reg_set instead of fixed_regs.
9865 * cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
9866 * calls.c (avoid_likely_spilled_reg): Ditto.
cb1b497e 9867 * ira-conflicts.c (ira_build_conflicts): Ditto.
07b8f0a8
AS
9868 * ira.c (update_equiv_regs): Ditto.
9869 * mode-switching.c (create_pre_exit): Ditto.
9870 * regmove.c (find_matches): Ditto.
cb1b497e 9871 (regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
07b8f0a8
AS
9872 * reload.c (SMALL_REGISTER_CLASS_P): Remove macro.
9873 (small_register_class_p): New inline function.
9874 (push_secondary_reload, find_reusable_reload, find_reloads): Use
9875 small_register_class_p instead of SMALL_REGISTER_CLASS_P.
9876
9877 * config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Remove.
9878 * config/i386/i386.c (ix86_class_likely_spilled_p): New.
9879 (TARGET_CLASS_LIKELY_SPILLED_P): Define.
9880
6b8c9df8
RG
98812010-09-02 Richard Guenther <rguenther@suse.de>
9882
9883 PR tree-optimization/44937
9884 PR tree-optimization/45412
9885 * ipa-split.c (split_function): Properly remove PHI nodes.
9886
2d2bd949
JM
98872010-09-02 Joseph Myers <joseph@codesourcery.com>
9888
9889 * opts.h (struct cl_option): Add warn_message field.
9890 (struct cl_decoded_option): Add warn_message field.
9891 * doc/options.texi (Ignore, Warn): Document.
9892 * opt-functions.awk (needs_state_p): Don't consider aliases or
9893 ignored options to need state saved.
9894 * optc-gen.awk: Handle Warn and Ignore.
9895 * opth-gen.awk: Output OPT_SPECIAL_ignore.
9896 * opts-common.c (decode_cmdline_option): Set warn_message field.
9897 Handle ignored options.
9898 (decode_cmdline_options_to_array, generate_option,
9899 generate_option_input_file): Set warn_message field.
9900 (read_cmdline_option): Generate warnings from warn_message field.
9901 Handle ignored options.
9902 * common.opt (Wunreachable-code, fargument-alias,
9903 fargument-noalias, fargument-noalias-global,
9904 fargument-noalias-anything, fcse-skip-blocks, fforce-addr,
9905 floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee,
9906 fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop,
9907 ftree-salias): Mark Ignore.
9908 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu,
9909 -mintel-syntax and -mno-intel-syntax here.
9910 * config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases
9911 using Warn.
9912 * opts.c (common_handle_option): Don't handle options marked as
9913 ignored.
9914 (enable_warning_as_error): Handle ignored options.
9915
5de8299c
JM
99162010-09-02 Joseph Myers <joseph@codesourcery.com>
9917
9918 PR driver/44076
9919 * opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
9920 alias_target fields.
9921 * opt-functions.awk (opt_sanitized_name): Don't handle
9922 finline-limit=, Wlarger-than= and ftemplate-depth= specially.
9923 * optc-gen.awk: Generate alias fields.
9924 * opth-gen.awk: Explicitly give values for OPT_* enum constants.
9925 Don't generate such constants for aliases.
9926 * opts-common.c (generate_canonical_option): New.
9927 (decode_cmdline_option): Handle aliases. Use
9928 generate_canonical_option for known options instead of copying the
9929 input option text.
9930 * doc/options.texi (Alias): Document.
9931 * common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
9932 fstack-check, specs): Mark as aliases.
9933 * gcc.c (driver_handle_option): Canonicalize -L options to joined
9934 arguments.
9935 (driver_handle_option): Don't handle OPT_specs.
9936 * opts.c (common_handle_option): Don't handle options marked as
9937 aliases.
9938 (enable_warning_as_error): Handle aliases.
9939 * stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
9940 OPT_Wlarger_than_eq.
9941 * tree-optimize.c (tree_rest_of_compilation): Use
9942 OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.
9943
cfc20f00
UB
99442010-09-02 Uros Bizjak <ubizjak@gmail.com>
9945
9946 * config/i386/i386.md (nonmemory_operand): New mode attribute.
9947 (push memory peephole2): Macroize peepholes using SWI mode iterator.
9948 (move immediate to memory peephole2): Macroize peepholes using
9949 SWI124 mode iterator.
9950 (non-pairable NOT peephole2): Macroize peepholes using SWI124
9951 mode iterator.
9952 (simple lea add peephole2): Macroize peepholes using SWI48
9953 mode iterator.
9954 (simple lea mult peephole2): Ditto.
9955 (imul by 3,5,9 to lea peephole2): Ditto.
9956 (mov $-1, reg peephole2): Macroize peepholes using SWI248
9957 mode iterator.
9958 (imul $32bit_imm,mem,reg peephole2): Ditto.
9959 (imul $8/16bit_imm,regmem,reg peephole2): Ditto.
9960
bae077dc
IB
99612010-09-02 Ian Bolton <ian.bolton@arm.com>
9962
9963 * tree-ssa-loop-prefetch.c: Fix comment at head of file.
9964
71af27d2
OH
99652010-09-02 Olivier Hainque <hainque@adacore.com>
9966
815248b1 9967 PR middle-end/44763
71af27d2
OH
9968 * ira-color.c (SORTGT): New macro, helper for qsort callbacks.
9969 (allocno_priority_compare_func): Use it instead of a straight
9970 difference computation over priorities.
9971
e10909ce
AK
99722010-09-02 Andi Kleen <ak@linux.intel.com>
9973
9974 * opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_ handling.
9975
e4a707c4
IR
99762010-09-02 Ira Rosen <irar@il.ibm.com>
9977
9978 * tree-vectorizer.h (get_later_stmt): New function.
9979 (vect_analyze_data_ref_dependences): Add argument.
9980 * tree-vect-loop.c (vect_analyze_loop): Update call to
9981 vect_analyze_data_ref_dependences.
9982 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block):
9983 New function.
9984 (vect_analyze_data_ref_dependence): Add argument for basic block
9985 dependencies. Check dependencies in basic block vectorization.
9986 (vect_analyze_data_ref_dependences): Add argument and update call to
9987 vect_analyze_data_ref_dependences.
9988 * tree-vect-slp.c (vect_find_last_store_in_slp_instance): New.
9989 (vect_bb_vectorizable_with_dependencies): New.
9990 (vect_slp_analyze_bb): Check dependencies in basic block.
9991 (vect_schedule_slp_instance): Insert stores before the last store in
9992 SLP instance.
9993
282ac51f
UB
99942010-09-02 Uros Bizjak <ubizjak@gmail.com>
9995
9996 PR target/45476
9997 * config/i386/freebsd.h (LIBGCC2_HAS_TF_MODE,
9998 LIBGCC2_TF_CEXT, TF_SIZE): New defines.
9999
596aa3f0
JJ
100002010-09-01 Jakub Jelinek <jakub@redhat.com>
10001
10002 PR middle-end/45458
10003 * bb-reorder.c (add_labels_and_missing_jumps): Treat
10004 bbs ending with throwing insns like blocks ending with a call.
10005 (fix_up_fall_thru_edges): Likewise.
10006
cd34bbe8
NF
100072010-09-01 Nathan Froyd <froydnj@codesourcery.com>
10008
10009 * config/m32c/m32c-protos.h (m32c_function_arg): Delete.
10010 (m32c_function_arg_advance): Delete.
10011 * config/m32c/m32c.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10012 * config/m32c/m32c.c (m32c_function_arg): Make static. Adjust
10013 comments. Take a const_tree and a bool. Declare.
10014 (m32c_function_arg_advance): Likewise.
10015 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10016
cecab05b
UB
100172010-09-01 Uros Bizjak <ubizjak@gmail.com>
10018
cb1b497e
UB
10019 PR target/45476
10020 * config/i386/cygming.h (LIBGCC2_HAS_TF_MODE,
cecab05b 10021 LIBGCC2_TF_CEXT, TF_SIZE): Move from ...
cb1b497e 10022 * config/i386/mingw32.h: ... here.
cecab05b 10023
427eb57d
AK
100242010-09-01 Andi Kleen <ak@linux.intel.com>
10025
cecab05b
UB
10026 PR lto/45475
10027 * lto-streamer-in.c (lto_input_ts_target_option): Add.
10028 (lto_input_tree_pointers): Call lto_input_ts_target_option.
cb1b497e 10029 * lto-streamer-out (lto_output_ts_target_option): Add.
cecab05b 10030 (lto_output_tree_pointers): Call lto_output_ts_target_option.
427eb57d 10031
d323f47e
KT
100322010-09-01 Kai Tietz <kai.tietz@onevision.com>
10033
10034 PR/target 45452
10035 * config/i386/cygwin.h: Change order of specified import libraries.
10036 * config/i386/mingw32.h: Likewise.
10037 * config/i386/t-cygwin: Likewise.
10038 * config/i386/t-mingw32: Likewise.
10039 * config/i386/t-mingw-w32: Likewise.
10040 * config/i386/t-mingw-w64: Likewise.
10041
4600a8d1
RR
100422010-09-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10043
10044 * config/arm/neon-schedgen.ml (core): New type.
10045 (allCores): List of supported cores.
10046 (availability_table): Add supported cores.
10047 (collate_bypasses): Accept core as a parameter.
282ac51f
UB
10048 (worst_case_latencies_and_bypasses): Accept core as a parameter.
10049 (emit_insn_reservations): Accept core as a parameter. Use tuneStr
10050 and coreStr to get tune attribute and prefix for functional units.
4600a8d1
RR
10051 (emit_bypasses): Accept core name and use it.
10052 (calculate_per_core_availability_table): New.
10053 (filter_core): New.
10054 (calculate_core_availability_table): New.
10055 (main): Use calculate_core_availablity_table.
10056 * config/arm/cortex-a8-neon.md: Update copyright year.
10057 Regenerated from ml file and merged in.
10058 (neon_mrrc, neon_mrc): Rename to cortex_a8_neon_mrrc and
10059 cortex_a8_neon_mrc.
10060
f6857310
IB
100612010-09-01 Ian Bolton <ian.bolton@arm.com>
10062
10063 * Makefile.in (tree-switch-conversion.o): Update dependencies.
10064
23a534a1
RG
100652010-09-01 Richard Guenther <rguenther@suse.de>
10066
10067 * alias.c (ao_ref_from_mem): Adjust.
10068 * builtins.c (get_object_alignment): Likewise.
10069 * cfgexpand.c (expand_debug_expr): Likewise.
10070 * gimple.c (get_base_address): Likewise.
10071 * tree-dfa.c (get_ref_base_and_extent): Likewise.
10072 (get_addr_base_and_unit_offset): Likewise. Fix for
10073 both TMR_SYMBOL and TMR_BASE being set.
10074 * tree-eh.c (tree_could_trap_p): Likewise.
10075 * gimplify.c (gimplify_expr): Do not attempt to gimplify
10076 TMR_SYMBOL. Always gimplify TMR_BASE.
10077 * tree-cfg.c (verify_types_in_gimple_reference): Verify
10078 TMR_BASE if there is a TMR_SYMBOL.
10079 * tree-pretty-print.c (dump_generic_node): Adjust.
10080 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
10081 (tree_mem_ref_addr): Likewise.
10082 (create_mem_ref_raw): Likewise.
10083 (move_fixed_address_to_symbol): Likewise.
10084 (create_mem_ref): Likewise.
10085 (dump_mem_address): Likewise.
10086 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust.
10087 Fix for both TMR_SYMBOL and TMR_BASE being set.
10088 (indirect_refs_may_alias_p): Likewise.
10089 * tree-ssa-operands.c (get_tmr_operands): Adjust.
10090 * tree.def (TARGET_MEM_REF): Adjust documentation.
10091
d8b08ecd
UB
100922010-09-01 Uros Bizjak <ubizjak@gmail.com>
10093
10094 * config/i386/i386.h (enum ix86_tune_indices) <X86_TUNE_SINGLE_POP>:
10095 Rename from X86_TUNE_ADD_ESP_4.
10096 <IX86_TUNE_DOUBLE_POP>: Rename from X86_TUNE_ADD_ESP_8.
10097 <IX86_TUNE_SINGLE_PUSH>: Rename from X86_TUNE_SUB_ESP_4.
10098 <IX86_TUNE_DOUBLE_PUSH>: Rename from X86_TUNE_SUB_ESP_8.
10099 (TARGET_SINGLE_POP): Rename from TARGET_ADD_ESP_4.
10100 (TARGET_DOUBLE_POP): Rename from TARGET_ADD_ESP_8.
10101 (TARGET_SINGLE_PUSH): Rename from TARGET_SUB_ESP_4.
10102 (TARGET_DOUBLE_POP): Rename from TARGET_SUB_ESP_8.
10103 * config/i386/i386.c (initial_ix86_tune_features)
10104 <X86_TUNE_SINGLE_POP>: Invert members.
10105 <X86_TUNE_DOUBLE_POP>: Ditto.
10106 <X86_TUNE_SINGLE_PUSH>: Ditto.
10107 <X86_TUNE_DOUBLE_PUSH>: Ditto.
10108 * config/i386/i386.md (*pop<mode>1): Rename from pop<mode>1.
10109 No longer exported.
10110 (push peephole2 patterns): Macroize peepholes using P mode iterator.
10111 Adjust for renamed TARGET_{SINGLE,DOUBLE}_PUSH defines.
10112 (pop peephole2 patterns): Macroize peepholes using P mode iterator.
10113 Adjust for renamed TARGET_{SINGLE,DOUBLE}_POP defines.
10114
558af7ca
EB
101152010-09-01 Eric Botcazou <ebotcazou@adacore.com>
10116
10117 * gimplify.c (gimplify_init_constructor): Do not create a temporary for
10118 a volatile LHS if the constructor has only one element.
10119
6e0833db
MP
101202010-09-01 Mikael Pettersson <mikpe@it.uu.se>
10121
558af7ca
EB
10122 PR bootstrap/45321
10123 * tree.c (stdarg_p): Make fntype parameter const.
10124 * tree.h (stdarg_p): Likewise.
10125 (function_args_iterator): Remove unused fntype field.
10126 (function_args_iter_init): Do not initialize fntype
d8b08ecd 10127 field. Make fntype parameter const.
6e0833db 10128
e3488283
RG
101292010-09-01 Richard Guenther <rguenther@suse.de>
10130
10131 * tree-vrp.c (adjust_range_with_scev): Use number of iteration
10132 estimate.
d8b08ecd 10133 (vrp_visit_phi_node): Delay using SCEV till we balloon the range.
e3488283
RG
10134 (execute_vrp): Compute number of iteration estimates.
10135 * cfgloop.h (estimate_numbers_of_iterations_loop): Adjust prototype.
10136 * tree-flow.h (estimate_numbers_of_iterations): Likewise.
10137 * tree-data-ref.c (estimated_loop_iterations): Adjust.
10138 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
d8b08ecd 10139 Infer loop bounds from undefined behavior based on a new parameter.
e3488283
RG
10140 (estimate_numbers_of_iterations): Likewise.
10141 (scev_probably_wraps_p): Adjust.
10142 * tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
10143
a21eaf5e
NC
101442010-09-01 Nick Clifton <nickc@redhat.com>
10145
10146 * config/stormy16/stormy16.c: Use REG_P, MEM_P and CONST_INT_P
10147 where appropriate.
10148 (xstormy16_legitimate_address_p): Use true and false instead of 1
10149 and 0.
10150 (xstormy16_expand_prologue): Delete unused local variable 'insn'.
10151 (xstormy16_function_arg): Use FIRST_ARGUMENT_REGNUM in place of
10152 magic constant 2.
10153 (xstormy16_expand_call): Fix comment at start of function.
10154
e14ca1ce
NC
101552010-09-01 Nick Clifton <nickc@redhat.com>
10156
10157 * config/rx/rx.c (rx_expand_prologue): Do not adjust frame size
10158 when pushing accumulator register.
10159 (rx_get_stack_layout): Always save call clobbered registers inside
10160 interrupt handlers.
10161 * config/rx/rx-modes.def: Fix descriptive comment at start of file.
10162
d78552bd
UB
101632010-09-01 Uros Bizjak <ubizjak@gmail.com>
10164
10165 * config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
10166 i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
10167
10168 * libgcc-std.ver (GCC_4.6.0): Define version.
10169
0c1bebc4
EB
101702010-08-31 Eric Botcazou <ebotcazou@adacore.com>
10171
10172 * tree-nested.c (convert_all_function_calls): Iterate until after the
10173 sum of static chains in the nest doesn't change.
10174
0e607518
AS
101752010-08-31 Anatoly Sokolov <aesok@post.ru>
10176
10177 * config/m32c/m32c.c (classes_intersect): Remove.
10178 (m32c_preferred_reload_class, m32c_secondary_reload_class): Use
10179 reg_classes_intersect_p instead of classes_intersect.
10180 (class_can_hold_mode): Change arguments type from enum reg_class to
10181 reg_class_t. Use reg_class_contents instead of class_contents.
10182 (m32c_register_move_cost): Make static. Change arguments type from
10183 enum reg_class to reg_class_t. Use reg_classes_intersect_p instead of
10184 classes_intersect. Use reg_class_contents instead of class_contents.
10185 (m32c_memory_move_cost): Make static. Change arguments type from
10186 enum reg_class to reg_class_t.
10187 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
10188 * config/m32c/m32c.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
10189 * config/m32c/m32c-protos.h (m32c_register_move_cost,
10190 m32c_memory_move_cost): Remove.
10191
9c6a2bee
NF
101922010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10193
10194 * config/arm/arm-protos.h (arm_function_arg_advance): Delete.
10195 (arm_function_arg): Delete.
10196 (arm_needs_doubleword_align): Take a const_tree.
10197 * config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10198 * config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree.
10199 (aapcs_layout_arg, arm_needs_doubleword_align): Likewise.
10200 (arm_function_arg): Make static. Take a const_tree and a bool.
10201 (arm_function_arg_advance): Likewise.
10202 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10203
d78552bd 102042010-08-31 Andi Kleen <ak@linux.intel.com>
a478ffff
AK
10205
10206 * common.opt (fwhopr=): Update for -fwhopr=jobserver
10207 * doc/invoke.texi (fwhopr): Document -fwhopr=jobserver.
10208 * lto-wrapper.c (run_gcc): Add jobserver mode.
10209 * opts.c (common_handle_option): Fix OPT_fwhopr for non numeric
10210 argument.
10211
7d2c38c0
UB
102122010-08-31 Uros Bizjak <ubizjak@gmail.com>
10213
10214 * config/i386/i386.md (popdi1): Rewrite using POST_INC memory operand.
10215 (popsi1): Ditto.
10216 (*popdi1_epilogue): Ditto.
10217 (*popsi1_epilogue): Ditto.
10218 (popsi, popdi peephole2 patterns): Update peepholes for changed
10219 pop{si,di}1 and *pop{si,di}1_epilogue patterns.
10220
10221 (pop<mode>1): Macroize insn from pop{si,di}1 using P code iterator.
10222 (*pop<mode>1_epilogue): Ditto from *pop{si,di}1_epilogue.
10223
10224 * config/i386/i386.c (*ix86_gen_pop1): Remove indirect function.
10225 (override_options): Do not initialize removed ix86_gen_pop1.
10226 (gen_pop): New static function.
10227 (ix86_expand_prologue): Use gen_pop instead of ix86_gen_pop1.
10228 (release_scratch_register_on_entry): Ditto.
10229 (ix86_restore_reg_using_pop): Ditto.
10230 (ix86_expand_epilogue): Ditto.
10231
0f643366
JJ
102322010-08-31 Jakub Jelinek <jakub@redhat.com>
10233
10234 PR middle-end/45461
10235 * builtins.c (dummy_object): Return a MEM_REF instead of INDIRECT_REF.
10236
08350106
NF
102372010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10238
10239 * config/fr30/fr30.c (fr30_move_double): Delete `dregno' and extra
10240 semicolons.
10241
6cea734d
FXC
102422010-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10243
10244 * doc/extend.texi: Fix documentation of the return value of
10245 __builtin_choose_expr.
10246
74a3d2c3
NF
102472010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10248
10249 * config/v850/v850-protos.h (function_arg): Delete.
10250 * config/v850/v850.h (FUNCTION_ARG): Delete.
10251 (FUNCTION_ARG_ADVANCE): Move code to...
10252 * config/v850/v850.c (v850_function_arg_advance): ...here.
10253 (v850_function_arg): Make static. Take a const_tree and a bool.
10254 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10255
6fadd9bb
NF
102562010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10257
10258 * config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move
10259 these...
10260 (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
10261 ...and these...
10262 * config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance):
10263 ..to here..
10264 (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
10265 ...and here.
10266 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10267
3968a1c0
NF
102682010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10269
10270 * config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size):
10271 Delete.
10272 * config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10273 * config/rx/rx.c (rx_function_arg_size): Make static.
10274 (rx_function_arg): Likewise.
10275 (rx_function_arg_advance): New function.
10276 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10277
4546a2ef
JT
102782010-08-31 John Tytgat <John.Tytgat@aaug.net>
10279
10280 * config/arm/arm.c (arm_override_options): Remove superfluous test.
10281 Fix indentation.
10282
658af27d
EB
102832010-08-31 Eric Botcazou <ebotcazou@adacore.com>
10284
10285 * dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
10286 (dwarf2out_decl) <CONST_DECL>: Likewise.
10287
d3c12306
EB
102882010-08-30 Eric Botcazou <ebotcazou@adacore.com>
10289
10290 Stack usage support
10291 * common.opt (-fstack-usage): New option.
10292 * doc/invoke.texi (Debugging options): Document it.
10293 * builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to
10294 allocate_dynamic_stack_space.
10295 (expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE
10296 and propagate it to allocate_dynamic_stack_space.
10297 (expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change.
10298 * calls.c (initialize_argument_information): Pass TRUE as 4th
10299 argument to allocate_dynamic_stack_space.
10300 (expand_call): Set current_function_has_unbounded_dynamic_stack_size
10301 to 1 when pushing a variable-sized argument onto the stack. Pass
10302 TRUE as 4th argument to allocate_dynamic_stack_space.
10303 Update current_function_pushed_stack_size.
10304 (emit_library_call_value_1): Likewise.
10305 * explow.c (allocate_dynamic_stack_space): Add 4th bool parameter
10306 CANNOT_ACCUMULATE. If flag_stack_usage, look into the size and
10307 attempt to find an upper bound. Remove redundant code for the
10308 SETJMP_VIA_SAVE_AREA case.
10309 * expr.h (allocate_dynamic_stack_space): Add 4th bool parameter.
10310 * function.h (struct stack_usage): New structure.
10311 (current_function_static_stack_size): New macro.
10312 (current_function_dynamic_stack_size): Likewise.
10313 (current_function_pushed_stack_size): Likewise.
10314 (current_function_dynamic_alloc_count): Likewise.
10315 (current_function_has_unbounded_dynamic_stack_size): Likewise.
10316 (current_function_allocates_dynamic_stack_space): Likewise.
10317 (struct function): Add new field 'su'.
10318 * function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA,
10319 add the value of the dynamic offset to the dynamic stack usage.
10320 (gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA
10321 for variable-sized objects.
10322 (prepare_function_start): Allocate cfun->su if flag_stack_usage.
10323 (rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage.
10324 * gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to
10325 BUILT_IN_ALLOCA for variable-sized objects.
10326 * output.h (output_stack_usage): Declare.
10327 * toplev.c (stack_usage_file): New file pointer.
10328 (output_stack_usage): New function.
10329 (open_auxiliary_file): Likewise.
10330 (lang_dependent_init): Open file if flag_stack_usage is set.
10331 (finalize): Close file if stack_usage_file is not null.
10332 * tree.h (ALLOCA_FOR_VAR_P): New macro.
10333 * config/alpha/alpha.c (compute_frame_size): New function.
10334 (alpha_expand_prologue): Use it.
10335 (alpha_start_function): Likewise.
10336 (alpha_expand_epilogue): Likewise. Set stack usage info.
10337 * config/i386/i386.c (ix86_expand_prologue): Likewise.
10338 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
10339 * config/mips/mips.c (mips_expand_prologue): Likewise.
10340 * config/pa/pa.c (hppa_expand_prologue): Likewise.
10341 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
10342 * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
10343
1987baa3
ZD
103442010-08-30 Zdenek Dvorak <ook@ucw.cz>
10345
10346 PR tree-optimization/45427
10347 * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten.
10348 Handle the case that the exit is never taken correctly.
10349 (number_of_iterations_ne): Pass exit_must_be_taken to
10350 number_of_iterations_ne_max.
10351
d3c12306 103522010-08-30 Catherine Moore <clm@codesourcery.com>
037f9973
CM
10353
10354 * config/mips/mips.h (BASE_DRIVER_SELF_SPECS):
10355 Infer -mdspr2 for the the 74K.
10356
f2b11865
JJ
103572010-08-30 Jakub Jelinek <jakub@redhat.com>
10358
b0268cc0
JJ
10359 PR debug/45419
10360 * tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable.
10361
f2b11865
JJ
10362 PR middle-end/45423
10363 * gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR
10364 and TRUTH_{AND,OR,XOR}_EXPR.
10365 * c-parser.c (c_parser_omp_atomic): Handle boolean
10366 {PRE,POST}_{INC,DEC}REMENT.
10367
626a4b31
NF
103682010-08-30 Nathan Froyd <froydnj@codesourcery.com>
10369
10370 * config/xtensa/xtensa-protos.h (function_arg_advance): Delete.
10371 (function_arg): Delete.
10372 * config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10373 (FUNCTION_INCOMING_ARG): Delete.
10374 * config/xtensa/xtensa.c (function_arg_advance): Rename to...
d78552bd 10375 (xtensa_function_arg_advance): ...this. Make static. Take a const_tree
626a4b31
NF
10376 and a bool.
10377 (function_arg): Rename to...
10378 (xtensa_function_arg_1): ...this. Make static. Take a const_tree and
10379 a bool.
10380 (xtensa_function_arg, xtensa_function_incoming_arg): Nex functions.
10381 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10382 (TARGET_FUNCTION_INCOMING_ARG): Define.
10383
2e481a2f
RG
103842010-08-30 Richard Guenther <rguenther@suse.de>
10385
10386 PR tree-optimization/21602
10387 * builtins.c (fold_builtin_memory_op): Fold memmove to memcpy
10388 using points-to information.
10389
a95054c1
L
103902010-08-30 H.J. Lu <hongjiu.lu@intel.com>
10391
10392 * config/linux.h (TARGET_HAS_SINCOS): Replace | with ||.
10393
525fb35c
RG
103942010-08-30 Richard Guenther <rguenther@suse.de>
10395
10396 PR tree-optimization/45449
10397 * tree-ssa-live.c (remove_unused_locals): Also remove address-taken
10398 variables.
10399
184eb658
JM
104002010-08-30 Joseph Myers <joseph@codesourcery.com>
10401
10402 * opts.h (CL_ERR_NEGATIVE): Define.
10403 * opts.c (unknown_option_callback): Don't postpone warnings for
10404 options marked with CL_ERR_NEGATIVE.
10405 * opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error
10406 for negative versions of CL_REJECT_NEGATIVE options.
10407
9552aca7
UB
104082010-08-30 Uros Bizjak <ubizjak@gmail.com>
10409
10410 * config/i386/i386.md (zero_extendsidi2_1): Rename from
10411 zero_extendsidi2_32.
10412 (zero_extend<mode>di2): Macroize insn from zero_extend{qi,hi}di2
10413 using SWI12 mode iterator.
10414 (zero_extendhisi2_and): Merge insn pattern and corresponding spliter
10415 to define_insn_and_split pattern.
10416 (zero_extendqi<mode>2): Macroize expander from zero_extendqi{hi,si}2
10417 using SWI24 mode iterator.
10418 (*zero_extendqi<mode>2_and): Macroize insn from
10419 *zero_extendqi{hi,si}2_and using SWI24 mode iterator.
10420 (*zero_extendqi<mode>2_movzbl_and): Macroize insn from
10421 *zero_extendqihi2_movzbw_and and *zero_extendqisi2_movzbl_and using
10422 SWI24 mode iterator.
10423 (*zero_extendqi<mode>2_movzbl): Ditto from
10424 *zero_extendqi{hi,si}2_movzbl.
10425 (extendsidi2_1): Rename from extendsidi2_32.
10426 (extend<mode>di2): Macroize insn from extend{qi,hi}di2 using
10427 SWI12 mode iterator.
10428
33620355
EB
104292010-08-29 Eric Botcazou <ebotcazou@adacore.com>
10430
10431 * config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in
10432 general purpose registers.
10433 (HARD_REGNO_MODE_OK): Accept CCImode in general purpose registers.
10434 * config/ia64/ia64.md (*movcci): Change to named pattern. Deal
10435 with general purpose registers and memory operands. Add associated
10436 CCImode post-reload splitter.
10437 * config/ia64/div.md: Change BImode to CCImode throughout.
10438
bf321310
EB
104392010-08-28 Eric Botcazou <ebotcazou@adacore.com>
10440
10441 * config/ia64/ia64.md (cstorebi4): Fix thinko.
10442
74164603 104432010-08-28 Hariharan Sandanagobalane <hariharan@picochip.com>
179ba6b8
HS
10444
10445 * config/picochip/picochip.c (reorder_var_tracking_notes): This
10446 function was dropping debug insns which caused PR45299.
ee9dd92e 10447
179ba6b8 104482010-08-28 Uros Bizjak <ubizjak@gmail.com>
bf321310 10449
ee9dd92e
UB
10450 * config/i386/sse.md (extsuffix): New code attribute.
10451 (sse4_1_<code>v8qiv8hi2): Macroize insn from sse4_1_extendv8qiv8hi2
10452 and sse4_1_zero_extendv8qiv8hi2 using any_extend code iterator.
10453 (sse4_1_<code>v4qiv4si2): Ditto from sse4_1_extendv4qiv4si2
10454 and sse4_1_zero_extendv4qiv4si2.
10455 (sse4_1_<code>v2qiv2di2): Ditto from sse4_1_extendv2qiv2di2
10456 and sse4_1_zero_extendv2qiv2di2.
10457 (sse4_1_<code>v4hiv4si2): Ditto from sse4_1_extendv4hiv4si2
10458 and sse4_1_zero_extendv4hiv4si2.
10459 (sse4_1_<code>v2hiv2di2): Ditto from sse4_1_extendv2hiv2di2
10460 and sse4_1_zero_extendv2hiv2di2.
10461 (sse4_1_extendv2siv2di2): Ditto from sse4_1_extendv2siv2di2
10462 and sse4_1_zero_extendv2siv2di2
10463
10464 (<s>mulv8hi3_highpart): Macroize expander from {u,s}mulv8hi3_highpart
10465 using any_extend code iterator.
10466 (*avx_<s>mulv8hi3_highpart): Macroize insn from
10467 *avx_{u,s}mulv8hi3_highpart using any_extend code iterator.
10468 (*<s>mulv8hi3_highpart): Ditto from *{u,s}mulv8hi3_highpart.
10469
10470 * config/i386/i386.c (ix86_expand_sse4_unpack): Update for renamed
10471 gen_sse4_1_sign_extend* functions.
10472 (struct builtin_description bdesc_args): Ditto.
10473
f06e400f
XDL
104742010-08-27 Xinliang David Li <davidxl@google.com>
10475
10476 PR/45422
10477 * tree-ssa-loop-ivopts.c (iv_ca_get_num_inv_exprs): Remove.
10478 (iv_ca_set_no_cp): Update used inv expr count.
10479 (iv_ca_set_cp): Ditto.
10480 (iv_ca_new): Initialize new member.
10481 (iv_ca_free): Free memory.
10482
b64336b8
NF
104832010-08-27 Nathan Froyd <froydnj@codesourcery.com>
10484
10485 * config/sh/sh-protos.h (sh_function_arg): Delete.
10486 (sh_function_arg_advance): Delete.
10487 * config/sh/sh.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10488 (PASS_IN_REG_P): Eliminate cast.
10489 * config/sh/sh.c (sh_function_arg_advance): Make static. Take a
10490 const_tree and a bool.
10491 (sh_function_arg): Likewise.
10492 (sh_output_mi_thunk): Call sh_function_arg_advance) and
10493 sh_function_arg.
10494 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10495
91a19652
N
104962010-08-27 Naveen H.S <naveen.S@kpitcummins.com>
10497 Kaz Kojima <kkojima@gcc.gnu.org>
10498
10499 * config/sh/sh.c (push_regs): Emit movml for interrupt handler
10500 when possible.
10501 (sh_expand_epilogue): Likewise.
10502 * config/sh/sh.md (movml_push_banked): New insn.
10503 (movml_pop_banked): Likewise.
10504
c1cb371a
BS
105052010-08-28 Bernd Schmidt <bernds@codesourcery.com>
10506
10507 * genautomata.c (gen_regexp_repeat, gen_regexp_allof,
10508 gen_regexp_oneof, gen_regexp_sequence): Use the string found
10509 in vector element 0 rather than the original string when there's
10510 only one element.
10511 (gen_regexp): Remove extra semicolon.
10512
f8045c41
BS
10513 * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp,
10514 thumb2_movsf_vfp): Set attribute "insn".
10515 * config/arm/arm.md (arm_ashrdi3_1bit, arm_lshrdi3_1bit, not_shiftsi,
10516 not_shiftsi_compare0, not_shiftsi_compare0_scratch, arm_one_cmplsi2,
10517 thumb1_one_cmplsi2, notsi_compare0, notsi_compare0_scratch,
10518 arm_zero_extendsidi2, arm_extendsidi2, thumb1_movdi_insn,
10519 arm_movsi_insn, movhi_insn_arch4, movhi_bytes, arm_movqi_insn,
10520 thumb1_movqi_insn arm32_movhf, thumb1_movhf, arm_movsf_soft_insn,
10521 thumb1_movsf_insn, thumb_movdf_insn, mov_scc, mov_negscc, mov_notscc,
10522 movsicc_insn, movsfcc_soft_insn, and_scc, cond_move, if_move_not,
10523 if_not_move, if_shift_move, if_move_shift, if_shift_shift,
10524 if_not_arith, if_arith_not, cond_move_not): Likewise.
10525
7042fe5e
MM
105262010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
10527
10528 * config/rs6000/rs6000-protos.h (rs6000_address_for_fpconvert):
10529 New declaration.
10530 (rs6000_allocate_stack_temp): Ditto.
10531 (rs6000_expand_convert_si_to_sfdf): Ditto.
10532
10533 * config/rs6000/rs6000.c (rs6000_override_options): Adjust long
10534 line. Update the options set if power6 or power7 server/embedded
10535 type options are used. If we give a warning for no vsx under
10536 -mcpu=power7 -mno-altivec, mark -mvsx as an explicit option.
10537 (rs6000_allocate_stack_temp): New function to allocate a stack
10538 tempoary and adjust the address so it meets either REG+OFFSET or
10539 REG+REG addressing requirements.
10540 (rs6000_address_for_fpconvert): Adjust REG+OFFSET addresses so
10541 that they can be used with the LFIWAX/LFIWZX instrucitons.
10542 (rs6000_expand_convert_si_to_sfdf): New helper funciton for
10543 converting signed/unsigned SImode to either SFmode/DFmode.
10544
10545 * config/rs6000/rs6000.h (TARGET_FCFID): New macros to determine
10546 whether certain instructions can be generated.
10547 (TARGET_FCTIDZ): Ditto.
10548 (TARGET_STFIWX): Ditto.
10549 (TARGET_LFIWAX): Ditto.
10550 (TARGET_LFIWZX): Ditto.
10551 (TARGET_FCFIDS): Ditto.
10552 (TARGET_FCFIDU): Ditto.
10553 (TARGET_FCFIDUS): Ditto.
10554 (TARGET_FCTIDUZ): Ditto.
10555 (TARGET_FCTIWUZ): Ditto.
10556
10557 * config/rs6000/rs6000.md (UNSPEC_FCTIW): New unspec constants.
10558 (UNSPEC_FCTID): Ditto.
10559 (UNSPEC_LFIWAX): Ditto.
10560 (UNSPEC_LFIWZX): Ditto.
10561 (UNSPEC_FCTIWUZ): Ditto.
10562 (rreg): Use correct constraints.
10563 (SI_CONVERT_FP): New mode attribute for floating point conversion
10564 tests.
10565 (E500_CONVERT): Ditto.
10566 (lfiwax): New insns for converting from integer to floating point
10567 utilizing newer instructions. Attempt to optimize conversions
10568 that come from memory so that we don't load the value into a GPR,
10569 spill it to the stack and reload it into a FPR.
10570 (floatsi<mode>2_lfiwax): Ditto.
10571 (floatsi<mode>2_lfiwax_mem): Ditto.
10572 (floatsi<mode>2_lfiwax_mem2): Ditto.
10573 (lfiwzx): Ditto.
10574 (floatunssi<mode>2_lfiwzx): Ditto.
10575 (floatunssi<mode>2_lfiwzx_mem): Ditto.
10576 (floatunssi<mode>2_lfiwzx_mem2): Ditto.
10577 (floatdidf2_mem): Ditto.
10578 (floatunsdidf2_fcfidu): Ditto.
10579 (floatunsdidf2_mem): Ditto.
10580 (floatunsdisf2): Ditto.
10581 (floatunsdisf2_fcfidus): Ditto.
10582 (floatunsdisf2_mem): Ditto.
10583 (floatsidf2): Add support for LFIWAX/LFIWZX/FCFIDS/FCFIDU/FCFIDUS.
10584 Use FCFID on 32-bit hosts that support it.
10585 (floatsidf2_internal): Ditto.
10586 (floatunssisf2): Ditto.
10587 (floatunssidf2): Ditto.
10588 (floatunssidf2_internal): Ditto.
10589 (floatsisf2): Ditto.
10590 (floatdidf2): Ditto.
10591 (floatdidf2_fpr): Ditto.
10592 (floatunsdidf2): Ditto.
10593 (floatdisf2): Ditto.
10594 (floatdisf2_fcfids): Ditto.
10595 (floatdisf2_internal1): Ditto.
10596 (fixuns_truncsfsi2): Delete, merge into common pattern for both
10597 SF/DF. Add power7 support.
10598 (fix_truncsfsi2): Ditto.
10599 (fixuns_truncdfsi2): Ditto.
10600 (fixuns_truncdfdi2): Ditto.
10601 (fix_truncdfsi2): Ditto.
10602 (fix_truncdfsi2_internal): Ditto.
10603 (fix_truncdfsi2_internal_gfxopt): Ditto.
10604 (fix_truncdfsi2_mfpgpr): Ditto.
10605 (fctiwz): Ditto.
10606 (btruncdf2): Ditto.
10607 (btruncdf2_fpr): Ditto.
10608 (btructsf2): Ditto.
10609 (ceildf2): Ditto.
10610 (ceildf2_fpr): Ditto.
10611 (ceilsf2): Ditto.
10612 (floordf2): Ditto.
10613 (floordf2_fpr): Ditto.
10614 (floorsf2): Ditto.
10615 (rounddf2): Ditto.
10616 (rounddf2_fpr): Ditto.
10617 (roundsf2): Ditto.
10618 (fix_trunc<mode>si2): Combine SF/DF conversion into one insn.
10619 (fix_trunc<mode>di2): Ditto.
10620 (fixuns_trunc<mode>si2): Ditto.
10621 (fixuns_trunc<mode>di2): Ditto.
10622 (fctiwz_<mode>): Ditto.
10623 (btrunc<mode>2): Ditto.
10624 (btrunc<mode>2_fpr): Ditto.
10625 (ceil<mode>2): Ditto.
10626 (ceil<mode>2_fpr): Ditto.
10627 (floor<mode>2): Ditto.
10628 (float<mode>2_fpr): Ditto.
10629 (round<mode>2): Ditto.
10630 (round<mode>2_fpr): Ditto.
10631 (fix_trunc<mode>si2_stfiwx): New insn for machines with STFIWX.
10632 (fixuns_trunc<mode>si2_stfiwx): Ditto.
10633 (fix_truncdfsi2_internal): Ditto.
10634 (fix_trunc<mode>si2_mem): Combiner pattern to eliminate storing
10635 converted value on stack, loaded into GPR, and then stored into
10636 the final destination.
10637 (fix_trunc<mode>di2_fctidz): New pattern for targets supporting
10638 FCTIDZ.
10639 (lrint<mode>di2): New insn, provide the lrint builtin functions.
10640 (ftruncdf2): Delete, unused.
10641 (fix_trunctfsi2_internal): Use gen_fctiwz_df, not gen_fctiwz.
10642
10643 * config/rs6000/vsx.md (toplevel): Update copyright year.
10644 (VSr2): Use "ws" contraint for DFmode, not "!r#r".
10645 (VSr3): Ditto.
6ba2db5e
BS
10646
106472010-08-27 Basile Starynkevitch <basile@starynkevitch.net>
7d2c38c0 10648 Jeremie Salvucci <jeremie.salvucci@free.fr>
6ba2db5e 10649
7d2c38c0 10650 * gengtype.c (output_type_enum): Test the right union member.
6ba2db5e 10651
83d58961
UB
106522010-08-27 Uros Bizjak <ubizjak@gmail.com>
10653
10654 PR target/41484
10655 * config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
10656 operands for operand 1.
10657 (sse4_1_extendv4qiv4si2): Ditto.
10658 (sse4_1_extendv2qiv2di2): Ditto.
10659 (sse4_1_extendv4hiv4si2): Ditto.
10660 (sse4_1_extendv2hiv2di2): Ditto.
10661 (sse4_1_extendv2siv2di2): Ditto.
10662 (sse4_1_zero_extendv8qiv8hi2): Ditto.
10663 (sse4_1_zero_extendv4qiv4si2): Ditto.
10664 (sse4_1_zero_extendv2qiv2di2): Ditto.
10665 (sse4_1_zero_extendv4hiv4si2): Ditto.
10666 (sse4_1_zero_extendv2hiv2di2): Ditto.
10667 (sse4_1_zero_extendv2siv2di2): Ditto.
10668 (*sse4_1_extendv8qiv8hi2): Remove insn pattern.
10669 (*sse4_1_extendv4qiv4si2): Ditto.
10670 (*sse4_1_extendv2qiv2di2): Ditto.
10671 (*sse4_1_extendv4hiv4si2): Ditto.
10672 (*sse4_1_extendv2hiv2di2): Ditto.
10673 (*sse4_1_extendv2siv2di2): Ditto.
10674 (*sse4_1_zero_extendv8qiv8hi2): Ditto.
10675 (*sse4_1_zero_extendv4qiv4si2): Ditto.
10676 (*sse4_1_zero_extendv2qiv2di2): Ditto.
10677 (*sse4_1_zero_extendv4hiv4si2): Ditto.
10678 (*sse4_1_zero_extendv2hiv2di2): Ditto.
10679 (*sse4_1_zero_extendv2siv2di2): Ditto.
10680
c8717ea3
NF
106812010-08-27 Nathan Froyd <froydnj@codesourcery.com>
10682
10683 * config/mips/mips-protos.h (mips_function_arg_advance): Delete
10684 (mips_function_arg): Delete.
10685 (mips_function_arg_boundary): Take a const_tree.
10686 * config/mips/mips.c (mips_function_arg_boundary): Likewise.
10687 (mips_arg_info): Likewise.
10688 (mips_setup_incoming_varargs): Call mips_function_arg_advance
10689 instead of FUNCTION_ARG_ADVANCE.
10690 (mips_function_arg_advance): Adjust prototype. Make static.
10691 (mips_function_arg): Likewise.
10692 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10693 * config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
10694
7c8232a2
NF
106952010-08-27 Nathan Froyd <froydnj@codesourcery.com>
10696
10697 * config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10698 * config/rs6000/rs6000-protos.h (function_arg_advance): Delete.
10699 (function_arg): Delete.
10700 (function_arg_boundary): Take a const_tree.
10701 * config/rs6000/rs6000.c (function_arg_boundary): Likewise.
10702 (rs6000_spe_function_arg): Likewise.
10703 (rs6000_parm_start): Likewise.
10704 (rs6000_arg_size): Likewise.
10705 (rs6000_darwin64_record_arg_advance_recurse): Likewise.
83d58961 10706 (rs6000_darwin64_record_arg): Likewise. Take a bool instead of an int.
7c8232a2
NF
10707 (rs6000_mixed_function_arg): Likewise.
10708 (function_arg): Rename to...
10709 (rs6000_function_arg): ...this.
10710 (function_arg_advance): Rename to...
10711 (rs6000_function_arg_advance_1): ...this
10712 (rs6000_function_arg_advance): New function. Call it.
10713 (setup_incoming_varargs): Call rs6000_function_arg_advance_1.
10714 (rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
10715 (rs6000_function_value): Likewise.
10716 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10717
da787dec
RR
107182010-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10719
10720 * config/arm/arm.md (enabled): Test the value of arch_enabled
ee9dd92e 10721 rather than just using it.
da787dec 10722
d32f725a 107232010-08-27 Olivier Hainque <hainque@adacore.com>
ee9dd92e 10724 Eric Botcazou <ebotcazou@adacore.com>
d32f725a
OH
10725
10726 * dse.c (group_info.base_mem, get_group_info): Use BLKmode to
10727 cover all the possible offsets from this base.
10728 (scan_reads_nospill): Pass base_mem's mode to canon_true_dependence.
10729
9e3920e9
JJ
107302010-08-26 Jakub Jelinek <jakub@redhat.com>
10731
10732 PR tree-optimization/44485
10733 * calls.c (flags_from_decl_or_type): For const or pure
10734 noreturn functions return ECF_LOOPING_CONST_OR_PURE|ECF_NORETURN
10735 together with ECF_CONST resp. ECF_PURE.
10736 * builtins.c (expand_builtin): Use flags_from_decl_or_type
10737 instead of querying flags directly.
10738 * tree-ssa-loop-niter.c (finite_loop_p): Likewise.
10739 * tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.
10740
4be4cd6d
RG
107412010-08-26 Richard Guenther <rguenther@suse.de>
10742
10743 PR tree-optimization/45255
83d58961
UB
10744 * tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P statics
10745 and externals are also invariant.
4be4cd6d 10746
932c9bff
JJ
107472010-08-25 Jakub Jelinek <jakub@redhat.com>
10748
ea9f1d6f
JJ
10749 PR rtl-optimization/44858
10750 * combine.c (try_combine): If recog_for_combine added CLOBBERs to
10751 newi2pat, make sure they don't affect newpat.
10752
932c9bff
JJ
10753 PR rtl-optimization/45400
10754 * combine.c (simplify_shift_const_1) <case SUBREG>: Only use
10755 SUBREG_REG if both modes are of MODE_INT class.
10756
d8099dd8
JB
107572010-08-25 Julian Brown <julian@codesourcery.com>
10758
10759 * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
10760 * config/arm/arm.md (generic_sched): No for Cortex-A5.
10761 (generic_vfp): Likewise.
10762 (cortex-a5.md): Include.
10763 * config/arm/cortex-a5.md: New.
10764
0ceb0201
RG
107652010-08-25 Richard Guenther <rguenther@suse.de>
10766
83d58961 10767 * alias.c (get_alias_set): Assign a single alias-set to all pointers.
0ceb0201
RG
10768 * gimple.c (gimple_get_alias_set): Remove special handling
10769 for pointers.
10770
4942fc56
BS
107712010-08-25 Bernd Schmidt <bernds@codesourcery.com>
10772
10773 PR middle-end/45355
10774 * combine.c (try_combine): Use reg_overlap_mentioned_p rather than
10775 dead_or_set_p when computing i0_feeds_i2_n.
10776
0cdf7b49
BS
10777 * combine.c (find_split_point): Undo canonicalization of multiply-add
10778 to (minus x (mult)) when it seems likely that this will increase the
10779 chances of a split.
10780
1cf01301
RG
107812010-08-25 Richard Guenther <rguenther@suse.de>
10782
10783 PR lto/44562
10784 * lto-streamer.c (lto_record_common_node): Do not mess with
10785 TYPE_CANONICAL when not in lto.
10786 * gimple.c (gimple_register_type): Likewise.
10787
a2c0ed2e
RG
107882010-08-25 Richard Guenther <rguenther@suse.de>
10789
10790 PR tree-optimization/45316
10791 * tree-ssa-pre.c (eliminate): Properly clean EH info.
10792
90bc1cb8
RG
107932010-08-25 Richard Guenther <rguenther@suse.de>
10794
10795 PR tree-optimization/45393
10796 * tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer
10797 and clean EH info. Avoid SSA update.
10798 (execute_cse_sincos): Cleanup the CFG if it has changed.
10799
9407f6bc
RG
108002010-08-25 Richard Guenther <rguenther@suse.de>
10801
10802 PR middle-end/45379
10803 * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle
10804 TARGET_MEM_REF in alignment computation.
10805
ca046f7f
JJ
108062010-08-25 Jakub Jelinek <jakub@redhat.com>
10807
10808 PR tree-optimization/45059
10809 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless
10810 type conversions from newop{1,2}. Assert t is a comparison and
10811 newop{1,2} after the stripping are gimple vals.
10812
46b57af1
TB
108132010-08-25 Tejas Belagod <tejas.belagod@arm.com>
10814
10815 * config/arm/iterators.md (VU, SE, V_widen_l): New.
10816 (V_unpack, US): New.
83d58961 10817 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for vmovl.
46b57af1
TB
10818 (vec_unpack<US>_lo_<mode>): Likewise.
10819 (neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
10820 (neon_vec_unpack<US>_lo_<mode>): Likewise.
10821 (vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
10822 (vec_widen_<US>mult_hi_<mode>): Likewise.
10823 (neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
10824 (neon_vec_<US>mult_hi_<mode>"): Likewise.
10825 (neon_unpack<US>_<mode>): Widening move intermediate step for
10826 vectorizing without -mvectorize-with-neon-quad.
10827 (neon_vec_<US>mult_<mode>): Widening multiply intermediate step
10828 for vectorizing without -mvectorize-with-neon-quad.
10829 * config/arm/predicates.md (vect_par_constant_high): Check for
10830 high-half lanes of a vector.
10831 (vect_par_constant_low): Check for low-half lanes of a vector.
10832
4b9c23ea
SP
108332010-08-24 Sebastian Pop <sebastian.pop@amd.com>
10834
10835 * tree-if-conv.c (struct ifc_dr): New.
10836 (IFC_DR): New.
10837 (DR_WRITTEN_AT_LEAST_ONCE): New.
10838 (DR_RW_UNCONDITIONALLY): New.
10839 (memref_read_or_written_unconditionally): Use the cached values
10840 when possible.
10841 (write_memref_written_at_least_once): Same.
10842 (if_convertible_loop_p): Initialize and free DR->aux fields.
10843
e1fd038a
SP
108442010-08-24 Sebastian Pop <sebastian.pop@amd.com>
10845
10846 * gimple.c (gimple_could_trap_p_1): Not static anymore.
10847 Pass an extra bool parameter include_mem.
10848 (gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
10849 (gimple_assign_rhs_could_trap_p): Same.
10850 * gimple.h (gimple_could_trap_p_1): Declared.
10851 * tree-data-ref.h (same_data_refs_base_objects): New.
10852 (same_data_refs): New.
10853 * tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
10854 (write_memrefs_written_at_least_once): New.
10855 (ifcvt_memrefs_wont_trap): New.
10856 (operations_could_trap): New.
10857 (ifcvt_could_trap_p): New.
10858 (if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
10859 Gets a vector of data refs.
10860 (if_convertible_stmt_p): Same.
10861 (if_convertible_loop_p_1): New.
10862 (if_convertible_loop_p): Call if_convertible_loop_p_1.
10863
bd544141
SP
108642010-08-24 Sebastian Pop <sebastian.pop@amd.com>
10865
10866 * common.opt (ftree-loop-if-convert-stores): New flag.
10867 * doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
10868 * tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI. Insert
10869 the created statement before GSI.
10870 (if_convertible_phi_p): Allow virtual phi nodes when
10871 flag_loop_if_convert_stores is set.
10872 (if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
10873 Do not handle types that do not match is_gimple_reg_type.
10874 Remove loop and bb parameters. Call gimple_could_trap_p instead of
10875 when flag_loop_if_convert_stores is set, as LHS can contain
10876 memory refs.
10877 (if_convertible_stmt_p): Remove loop and bb parameters. Update calls
10878 to if_convertible_gimple_assign_stmt_p.
10879 (if_convertible_loop_p): Update call to if_convertible_stmt_p.
10880 (replace_phi_with_cond_gimple_assign_stmt): Renamed
10881 predicate_scalar_phi. Do not handle virtual phi nodes.
10882 (ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
10883 Call predicate_scalar_phi.
10884 (insert_gimplified_predicates): Insert the gimplified predicate of a BB
10885 just after the labels for flag_loop_if_convert_stores, otherwise
10886 insert the predicate in the end of the BB.
10887 (predicate_mem_writes): New.
10888 (combine_blocks): Call predicate_all_scalar_phis. When
10889 flag_loop_if_convert_stores is set, call predicate_mem_writes.
10890 (tree_if_conversion): Call mark_sym_for_renaming when
10891 flag_loop_if_convert_stores is set.
10892 (main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
10893 flag_loop_if_convert_stores is set.
10894
8a5b8538
AS
108952010-08-24 Anatoly Sokolov <aesok@post.ru>
10896
10897 * config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
10898 pa_function_value_regno_p, pa_print_operand_punct_valid_p): New.
10899 (pa_function_value): Make static.
10900 (override_options): Rename to...
10901 (pa_option_override): ...this. Make static.
10902 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST,
10903 TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P,
10904 TARGET_OPTION_OVERRIDE): Define.
10905 * config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P,
10906 LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P):
10907 Remove.
10908 * config/pa/pa-protos.h (override_options): Remove.
10909
d15adbeb
RG
109102010-08-24 Richard Guenther <rguenther@suse.de>
10911
10912 PR middle-end/45379
10913 * tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
10914 if addr->index is NULL or zero.
10915 * tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
10916 TARGET_MEM_REF more properly.
10917 (indirect_ref_may_alias_decl_p): Likewise.
10918 * emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
83d58961 10919 * alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more properly.
d15adbeb 10920
f28f2337
AS
109212010-08-23 Anatoly Sokolov <aesok@post.ru>
10922
10923 * config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
10924 (m32c_override_options): Rename to...
10925 (m32c_option_override): ...this. Make static.
10926 (TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
10927 * config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
10928 Remove.
10929 * config/m32c/m32c-protos.h (m32c_override_options,
10930 m32c_function_value_regno_p): Remove.
10931
756f50ce
CF
109322010-08-23 Changpeng Fang <changpeng.fang@amd.com>
10933
10934 * tree-ssa-loop-prefetch.c (gather_memory_references_ref) :
10935 Fix a typo in a previous commit.
10936
0b3f0088
KT
109372010-08-23 Kai Tietz <kai.tietz@onevision.com>
10938
10939 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost):
10940 Pre-initialize innerloop_iters to one.
10941
bc068a23
CF
109422010-08-23 Changpeng Fang <changpeng.fang@amd.com>
10943
10944 * tree-flow.h (may_be_nonaddressable_p): New definition. Make the
10945 existing static function global.
10946
83d58961 10947 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
bc068a23
CF
10948 is changed to global.
10949
83d58961 10950 * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
bc068a23
CF
10951 may_be_nonaddressable_p on base, and don't collect this reference
10952 if the address of the base could not be taken.
10953
8bcc0304
MM
109542010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
10955
b36cf9d2
MM
10956 * config/rs6000/rs6000.opt (-mveclibabi=mass): New option to
10957 enable the compiler to autovectorize mathmetical functions for
10958 power7 using the Mathematical Acceleration Subsystem library.
8bcc0304 10959
b36cf9d2
MM
10960 * config/rs6000/rs6000.c (rs6000_veclib_handler): New variable to
10961 handle which vector math library we have.
10962 (rs6000_override_options): Add -mveclibabi=mass support.
10963 (rs6000_builtin_vectorized_libmass): New function to handle auto
10964 vectorizing math functions that are in the MASS library.
8bcc0304
MM
10965 (rs6000_builtin_vectorized_function): Call it.
10966
b36cf9d2
MM
10967 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
10968 -mveclibabi=mass.
8bcc0304 10969
8c157f90
JDA
109702010-08-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10971
10972 PR boehm-gc/34544
10973 * gthr-posix.h (__gthread_active_init): Delete.
10974 (__gthread_active_p): Do activity check here.
10975 Don't include errno.h on hppa-hpux. Update comment.
10976 * gthr-posix95.h (__gthread_active_init): Delete.
10977 (__gthread_active_p): Do activity check here.
10978 Don't include errno.h on hppa-hpux. Update comment.
10979 * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
10980 * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
10981 add -lpthread when -mt or -pthread is specified.
10982 * config/pa/pa-hpux11.h (LIB_SPEC): likewise.
10983 (LINK_GCC_C_SEQUENCE_SPEC): Define.
10984 * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
10985 (stublib.c, pthread_default_stacksize_np-stub.o,
10986 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
10987 $(T)libgcc_stub.a): Add methods.
10988 * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
10989 (stublib.c, pthread_default_stacksize_np-stub.o,
10990 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
10991 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
10992 pthread_mutex_unlock): New stubs.
10993
d9d16a19
JM
109942010-08-22 Joseph Myers <joseph@codesourcery.com>
10995
10996 * Makefile.in (gccspec.o, cppspec.o): Update dependencies.
10997 * common.opt (L, nodefaultlibs, nostdlib, pg, static): New
10998 options.
10999 * config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
11000 * config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
11001 * config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
11002 * config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
11003 * config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
11004 "-l".
11005 * cppspec.c: Include opts.h.
11006 (lang_specific_driver): Use cl_decoded_option structures.
11007 * doc/tm.texi.in (MATH_LIBRARY): Update documentation.
11008 * doc/tm.texi: Regenerate.
11009 * gcc.c (translate_options): Translate -d to -foutput-class-dir=.
11010 (driver_handle_option): Allow driver options needing no special
11011 processing.
11012 (process_command): Decode options before call to
11013 lang_specific_driver. Pass decoded options to
11014 lang_specific_driver.
11015 * gcc.h (lang_specific_driver): Update prototype.
11016 * gccspec.c: Include opts.h.
11017 (lang_specific_driver): Use cl_decoded_option structures.
11018 * opts-common.c (option_ok_for_language, generate_option,
11019 generate_option_input_file): New.
11020 (decode_cmdline_option): Use option_ok_for_language.
11021 (decode_cmdline_options_to_array): Use generate_option_input_file.
11022 (handle_generated_option): Use generate_option.
11023 * opts.h (generate_option, generate_option_input_file): Declare.
11024
525c561d
AS
110252010-08-22 Anatoly Sokolov <aesok@post.ru>
11026
11027 * config/mips/mips.c (mips_override_options): Rename to...
11028 (mips_option_override): ...this. Make static.
11029 (TARGET_OPTION_OVERRIDE): Define.
11030 (mips_in_small_data_p): Update comment.
11031 * config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
11032 (FIXED_REGISTERS): Update comment.
11033 * config/mips/mips-protos.h (mips_override_options): Remove.
11034
65f1047a
OH
110352010-08-21 Olivier Hainque <hainque@adacore.com>
11036
11037 * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
11038
b3552548
OH
110392010-08-21 Olivier Hainque <hainque@adacore.com>
11040
74025114 11041 * config/rs6000/vxworks.h (PREFERRED_STACK_BOUNDARY,
b3552548
OH
11042 ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.
11043
9e97ff61
JH
110442010-08-20 Jan Hubicka <jh@suse.cz>
11045
11046 * tree-pass.h (pass_ipa_cdtor_merge): New function.
11047 * cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
11048 heap allocated.
11049 (record_cdtor_fn): Move to ipa.c; do not test for
11050 have_ctors_dtors.
11051 (build_cdtor): Move to ipa.c; add code avoiding construction
11052 when target have ctors/dtors and there is only one ctor/dtor at given
11053 priority.
757fc8ed
EB
11054 (compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize
11055 sort; reverse order of constructors.
83d58961 11056 (cgraph_build_cdtor_fns): Move to ipa.c; rename to build_cdtor_fns.
9e97ff61
JH
11057 (cgraph_finalize_function): Do not call record_cdtor_fn.
11058 (cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
11059 (cgraph_build_static_cdtor): Move to ipa.c.
11060 * ipa.c: Include target.h and tree-iterator.h.
11061 (cgraph_build_static_cdtor, static_ctors, static_dtors,
11062 record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
11063 build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
11064 pass_ipa_cdtor_merge): New.
11065 * passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
757fc8ed
EB
11066 * ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of
11067 bounds access.
9e97ff61 11068
508e4757
JH
110692010-08-20 Jan Hubicka <jh@suse.cz>
11070
11071 PR c++/45307
11072 PR c++/17736
11073 * cgraph.h (cgraph_only_called_directly_p,
11074 cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
11075 static cdtors.
11076 * cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
11077 are not needed.
11078 (cgraph_finalize_function): Static cdtors are reachable.
11079 (cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.
11080
f1395d4a
JH
110812010-08-20 Jan Hubicka <jh@suse.cz>
11082
757fc8ed
EB
11083 * lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of
11084 flag_wpa.
f1395d4a 11085 * lto-streamer-out.c (lto_output): Likewise.
83d58961
UB
11086 * passes.c (ipa_write_optimization_summaries): Initialize statement
11087 uids.
f1395d4a 11088
b4d456ff
OH
110892010-08-20 Olivier Hainque <hainque@adacore.com>
11090
11091 * tree.h (alias_diag_flags): New enum.
11092 (alias_pair): Add an 'emitted_diags' field.
11093 * varasm.c (finish_aliases_1): Honor and update p->emitted_diags.
11094 (assemble_alias): Initialize emitted_diags of new pairs.
11095
39acb18f
EB
110962010-08-20 Eric Botcazou <ebotcazou@adacore.com>
11097
11098 * config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
11099 * config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
11100 * config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
11101 (STACK_CHECK_PROTECT): Define.
11102 * config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
11103 (output_probe_stack_range): Likewise.
11104 (rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
11105 builtin stack checking is enabled.
11106 * config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
11107 * config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
11108 (probe_stack_range): New insn.
11109
410841c6
L
111102010-08-20 H.J. Lu <hongjiu.lu@intel.com>
11111
11112 PR target/45336
11113 * config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
11114 short first.
11115
11116 * config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
11117 char first.
11118
50d724a7
JJ
111192010-08-20 Jakub Jelinek <jakub@redhat.com>
11120
11121 PR target/45336
11122 * config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
11123 to cover zero extension into 64-bit register.
11124 (*sse2_pextrw): Likewise.
11125 (*sse4_1_pextrd_zext): New insn.
11126
c6d8116a
IS
111272010-08-20 Iain Sandoe <iains@gcc.gnu.org>
11128
11129 revert r163410, partially revert r163267.
11130 * config/rs6000/darwin.h (LIB_SPEC): Remove.
83d58961 11131 * config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all
c6d8116a 11132 Darwin versions.
83d58961 11133
994fc9ab
JJ
111342010-08-20 Jakub Jelinek <jakub@redhat.com>
11135
11136 PR middle-end/44974
11137 * builtins.c (expand_builtin): Don't optimize away
11138 calls to DECL_LOOPING_CONST_OR_PURE_P builtins.
11139
6c334090
UB
111402010-08-20 Uros Bizjak <ubizjak@gmail.com>
11141
83d58961 11142 * config/i386/i386.md (ashift %rsp splitter): Remove splitter.
6c334090
UB
11143 (pro_epilogue_adjust_stack_di_2): Use "l" constraint for
11144 alternative 1 of operand 2.
11145
561da6bc
JJ
111462010-08-20 Jakub Jelinek <jakub@redhat.com>
11147 Paolo Bonzini <bonzini@gnu.org>
11148
11149 * simplify-rtx.c (simplify_unary_operation_1): Optimize
6c334090 11150 (sign_extend (zero_extend (...)) and
561da6bc
JJ
11151 ({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).
11152
89ad0f25
JJ
111532010-08-20 Jakub Jelinek <jakub@redhat.com>
11154
11155 PR rtl-optimization/45353
11156 * sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
11157 after bb_note is a BARRIER.
11158
bf794e41
IS
111592010-08-20 Iain Sandoe <iains@gcc.gnu.org>
11160
6c334090 11161 * config/rs6000/darwin.h (LIB_SPEC): New. Provide saveFP/restFP by
bf794e41 11162 linking libgcc.a.
6c334090 11163
521fdcda
JJ
111642010-08-20 Jakub Jelinek <jakub@redhat.com>
11165 Michael Matz <matz@suse.de>
11166
6c334090 11167 * tree-ssa-address.c (tree_mem_ref_addr): Convert offset to sizetype.
521fdcda 11168
71bb2d86
NF
111692010-08-20 Nathan Froyd <froydnj@codesourcery.com>
11170
11171 * ggc-common.c (ggc_mark_root_tab): New function, split out from...
11172 (ggc_mark_roots): ...here.
11173
ac47786e
NF
111742010-08-20 Nathan Froyd <froydnj@codesourcery.com>
11175
11176 * vec.h (FOR_EACH_VEC_ELT): Define.
11177 * c-decl.c: Use it.
11178 * cfgloop.c: Likewise.
11179 * cfgloopmanip.c: Likewise.
11180 * cgraph.c: Likewise.
11181 * cgraphunit.c: Likewise.
11182 * combine.c: Likewise.
11183 * config/bfin/bfin.c: Likewise.
11184 * config/mips/mips.c: Likewise.
11185 * config/rs6000/rs6000.c: Likewise.
11186 * dbxout.c: Likewise.
11187 * df-scan.c: Likewise.
11188 * dominance.c: Likewise.
11189 * dse.c: Likewise.
11190 * dwarf2out.c: Likewise.
11191 * except.c: Likewise.
11192 * expr.c: Likewise.
11193 * function.c: Likewise.
11194 * gcse.c: Likewise.
11195 * genattr.c: Likewise.
11196 * ggc-common.c: Likewise.
11197 * gimplify.c: Likewise.
11198 * graphite-blocking.c: Likewise.
11199 * graphite-clast-to-gimple.c: Likewise.
11200 * graphite-dependences.c: Likewise.
11201 * graphite-interchange.c: Likewise.
11202 * graphite-poly.c: Likewise.
11203 * graphite-scop-detection.c: Likewise.
11204 * graphite-sese-to-poly.c: Likewise.
11205 * graphite.c: Likewise.
11206 * haifa-sched.c: Likewise.
11207 * ifcvt.c: Likewise.
11208 * implicit-zee.c: Likewise.
11209 * ipa-prop.c: Likewise.
11210 * ipa-struct-reorg.c: Likewise.
11211 * ipa.c: Likewise.
11212 * ira-build.c: Likewise.
11213 * ira-color.c: Likewise.
11214 * ira-emit.c: Likewise.
11215 * lambda-code.c: Likewise.
11216 * loop-invariant.c: Likewise.
11217 * loop-unroll.c: Likewise.
11218 * lower-subreg.c: Likewise.
11219 * lto-cgraph.c: Likewise.
11220 * lto-opts.c: Likewise.
11221 * lto-streamer-in.c: Likewise.
11222 * lto-streamer-out.c: Likewise.
11223 * lto-streamer.c: Likewise.
11224 * lto-symtab.c: Likewise.
11225 * matrix-reorg.c: Likewise.
11226 * opts.c: Likewise.
11227 * predict.c: Likewise.
11228 * print-tree.c: Likewise.
11229 * sdbout.c: Likewise.
11230 * sel-sched-dump.c: Likewise.
11231 * sel-sched-ir.c: Likewise.
11232 * sel-sched.c: Likewise.
11233 * sese.c: Likewise.
11234 * stor-layout.c: Likewise.
11235 * tree-cfg.c: Likewise.
11236 * tree-cfgcleanup.c: Likewise.
11237 * tree-chrec.c: Likewise.
11238 * tree-data-ref.c: Likewise.
11239 * tree-emutls.c: Likewise.
11240 * tree-inline.c: Likewise.
11241 * tree-into-ssa.c: Likewise.
11242 * tree-loop-distribution.c: Likewise.
11243 * tree-loop-linear.c: Likewise.
11244 * tree-mudflap.c: Likewise.
11245 * tree-outof-ssa.c: Likewise.
11246 * tree-parloops.c: Likewise.
11247 * tree-predcom.c: Likewise.
11248 * tree-pretty-print.c: Likewise.
11249 * tree-scalar-evolution.c: Likewise.
11250 * tree-ssa-live.c: Likewise.
11251 * tree-ssa-loop-im.c: Likewise.
11252 * tree-ssa-loop-ivcanon.c: Likewise.
11253 * tree-ssa-loop-ivopts.c: Likewise.
11254 * tree-ssa-loop-manip.c: Likewise.
11255 * tree-ssa-loop-niter.c: Likewise.
11256 * tree-ssa-loop-prefetch.c: Likewise.
11257 * tree-ssa-phiprop.c: Likewise.
11258 * tree-ssa-pre.c: Likewise.
11259 * tree-ssa-reassoc.c: Likewise.
11260 * tree-ssa-sccvn.c: Likewise.
11261 * tree-ssa-structalias.c: Likewise.
11262 * tree-ssa.c: Likewise.
11263 * tree-vect-data-refs.c: Likewise.
11264 * tree-vect-loop-manip.c: Likewise.
11265 * tree-vect-loop.c: Likewise.
11266 * tree-vect-patterns.c: Likewise.
11267 * tree-vect-slp.c: Likewise.
11268 * tree-vect-stmts.c: Likewise.
11269 * tree-vrp.c: Likewise.
11270 * tree.c: Likewise.
11271 * value-prof.c: Likewise.
11272 * var-tracking.c: Likewise.
11273 * varasm.c: Likewise.
11274 * vmsdbgout.c: Likewise.
11275
1f5a46fe
NS
112762010-08-19 Nathan Sidwell <nathan@codesourcery.com>
11277 Richard Guenther <richard.guenther@gmail.com>
11278
11279 * gimplify.c (gimplify_modify_expr): When assigning to volatiles,
11280 copy the src value and return a copy.
11281 * doc/extend.texi (Volatiles): Move from C++ to C and expand.
11282 (C++ Volatiles): Adjust to describe C++ semantics only.
11283
f8fe0a4a
JM
112842010-08-20 Joseph Myers <joseph@codesourcery.com>
11285
11286 * doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
11287 be zero or nonzero.
11288 * doc/tm.texi: Regenerate.
11289 * defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
11290 * df-scan.c (df_get_exit_block_use_set), reginfo.c
11291 (init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
11292 Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
11293 * config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
11294 to 1.
11295
891aa2ec
OH
112962010-08-20 Olivier Hainque <hainque@adacore.com>
11297
11298 * config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output
11299 an extra nop past a sibling call at the very end.
11300
b98425da
BS
113012010-08-19 Bernd Schmidt <bernds@codesourcery.com>
11302
11303 PR bootstrap/45350
11304 * combine.c (try_combine): Initialize i1_is_used and i2_is_used. Fix
11305 a comment.
11306
29e88142
NF
113072010-08-19 Nathan Froyd <froydnj@codesourcery.com>
11308
11309 * target.def (function_arg, function_incoming_arg): Remove const
11310 qualifier on CUMULATIVE_ARGS parameter.
11311 * targhooks.h (default_function_arg, default_function_incoming_arg):
11312 Likewise.
11313 * targhooks.c (default_function_arg, default_function_incoming_arg):
11314 Likewise.
11315 * config/i386/i386.c (ix86_function_arg): Likewise.
11316
a5d8253f
JJ
113172010-08-19 Jakub Jelinek <jakub@redhat.com>
11318
11319 PR target/45336
11320 * simplify-rtx.c (simplify_unary_operation_1): Optimize nested
11321 SIGN_EXTENDs or ZERO_EXTENDs.
11322
0524d2d6
BS
113232010-08-19 Bernd Schmidt <bernds@codesourcery.com>
11324
11325 PR target/42172
11326 * combine.c (combine_validate_cost): New arg I0. All callers changed.
11327 Take its cost into account if nonnull.
11328 (insn_a_feeds_b): New static function.
11329 (combine_instructions): Look for four-insn combinations.
11330 (can_combine_p): New args PRED2, SUCC2. All callers changed. Take
11331 them into account when computing all_adjacent and looking for other
11332 uses.
11333 (combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC. All callers
11334 changed. Treat them like I1DEST and I1_NOT_IN_SRC.
11335 (try_combine): New arg I0. Handle four-insn combinations.
11336 (distribute_notes): New arg ELIM_I0. All callers changed. Treat it
11337 like ELIM_I1.
11338
ce3beba3
JM
113392010-08-19 Jason Merrill <jason@redhat.com>
11340
11341 PR c++/45307
11342 * gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
11343 if ctor is empty.
11344 (gimplify_modify_expr_rhs): Adjust.
11345
fcaa4ca4
NF
113462010-08-19 Nathan Froyd <froydnj@codesourcery.com>
11347
11348 * cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
11349 bitmap_bit_p.
11350 * config/bfin/bifn.c (bfin_discover_loop): Likewise.
11351 * dominance.c (iterate_fix_dominators): Likewise.
11352 * dse.c (set_usage_bits): Likewise.
11353 (set_position_unneeded, record_store): Likewise.
11354 * gimple-fold.c (get_maxval_strlen): Likewise.
11355 * haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
11356 * ipa-inline.c (update_caller_keys): Likewise.
11357 * ipa-split.c (verify_non_ssa_vars): Likewise.
11358 * ipa-type-escape.c (mark_type, close_type_seen): Likewise.
11359 (close_type_exposed_parameter, close_type_full_escape): Likewise.
11360 (close_addressof_down): Likewise.
11361 * ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
11362 (setup_allocno_left_conflicts_size): Likewise.
11363 (ira_reassign_conflict_allocnos): Likewise.
11364 (ira_reassign_pseudos): Likewise.
11365 * ira-emit.c (change_loop): Likewise.
11366 * loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
11367 * lto-streamer-out.c (write_symbol): Likewise.
11368 * predict.c (expr_expected_value_1): Likewise.
11369 * regstat.c (regstat_bb_compute_ri): Likewise.
11370 * sel-sched.c (create_block_for_bookkeeping): Likewise.
11371 (track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
11372 * stmt.c (expand_case): Likewise.
11373 * tree-eh.c (emit_eh_dispatch): Likewise.
11374 * tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
11375 * tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
11376 Likewise.
11377 (rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
11378 (rdg_build_components): Likewise.
11379 * tree-object-size.c (collect_object_sizes_for): Likewise.
11380 * tree-sra.c (convert_callers): Likewise.
11381 * tree-ssa-coalesce.c (live_track_add_partition): Likewise.
11382 * tree-ssa-live.c (mark_all_vars_used_1): Likewise.
11383 * tree-ssa-pre.c (bitmap_set_replace_value): Likewise.
11384
f1b62c9f
UB
113852010-08-19 Uros Bizjak <ubizjak@gmail.com>
11386
11387 * config/i386/i386.md (*lea_1): Use P mode iterator.
11388 (lea add splitter): Also handle DImode operands.
11389 (DImode lea add splitter): Use x86_64_immediate_operand for operand 2
11390 predicate. Do not use ix86_lea_for_add_ok.
11391 (zext DImode lea add splitter): Use ix86_lea_for_add_ok.
11392 (lea ashift splitter): Also handle DImode operands.
11393 (DImode lea ashift splitter): Remove splitter.
11394
113952010-08-19 Uros Bizjak <ubizjak@gmail.com>
11396
11397 * config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
11398 ix86_binary_operator_ok.
11399
5e841c82
AB
114002010-08-19 Andrey Belevantsev <abel@ispras.ru>
11401
11402 PR rtl-optimization/44691
11403 * sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
f1b62c9f 11404 is not a register.
5e841c82 11405
c92f1823
IB
114062010-08-19 Ian Bolton <ian.bolton@arm.com>
11407
11408 PR target/45070
11409 * config/arm/arm.c (arm_output_epilogue): Ensure that return
11410 value of size 1-3 is handled correctly.
11411
f096c02a
IB
114122010-08-19 Ian Bolton <ian.bolton@arm.com>
11413
11414 * tree-switch-conversion.c (gen_inbound_check): Ensure that the
11415 type for the conditional has wide enough range.
11416
0fb2f9b1
UB
114172010-08-18 Uros Bizjak <ubizjak@gmail.com>
11418
11419 PR target/45327
11420 * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
11421 ix86_binary_operator_ok.
11422
21667997
UB
114232010-08-18 Uros Bizjak <ubizjak@gmail.com>
11424
11425 * config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
11426 <default>: Swap operands 1 and 2 for alternative 2 to use existing
11427 code to output insn mnemonic. Fix comment.
11428 (*addsi_1_zext): Add r-r-0 alternative 1.
11429 <TYPE_LEA>: Split insn to lea.
11430 <default>: Handle alternative 1.
11431 (*addhi_1_lea): Add r-r-0 alternative 2. Use cond RTX instead of
11432 multi-level if_then_else RTX to set "type" attribute.
11433 <default>: Handle alternative 2.
11434 (*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
11435 Use cond RTX instead of multi-level if_then_else RTX to set
11436 "type" attribute.
11437 <default>: Handle alternatives 2 and 4.
11438 (lea splitters): Update calls to ix86_lea_for_add_ok.
11439
11440 * config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
11441 argument.
11442 * config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.
11443
480161b5
RG
114442010-08-18 Richard Guenther <rguenther@suse.de>
11445
11446 * tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
11447 use operand helpers.
11448
e5f5fa2d
PB
114492010-08-18 Paolo Bonzini <bonzini@gnu.org>
11450
11451 PR middle-end/45292
11452 * optabs.c (expand_bool_compare_and_swap): Expand pending
11453 pops before trying the optab.
11454
8019fcfb
YQ
114552010-08-18 Yao Qi <yao@codesourcery.com>
11456
11457 PR target/45094
21667997 11458 * config/arm/arm.c (output_move_double): Fix typo generating
8019fcfb
YQ
11459 instructions ('ldr'->'str').
11460
c701e857
MK
114612010-08-18 Maxim Kuvyrkov <maxim@codesourcery.com>
11462
11463 PR rtl-optimization/42575
11464 * optabs.c (expand_doubleword_mult): Generate new pseudos to shorten
11465 live ranges.
11466
029e79eb
MS
114672010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
11468
11469 * config/arm/arm-protos.h (arm_expand_sync): New.
11470 (arm_output_memory_barrier, arm_output_sync_insn): New.
11471 (arm_sync_loop_insns): New.
11472 * config/arm/arm.c (FL_ARCH7): New.
11473 (FL_FOR_ARCH7): Include FL_ARCH7.
11474 (arm_arch7): New.
11475 (arm_print_operand): Support %C markup.
11476 (arm_legitimize_sync_memory): New.
11477 (arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
11478 (arm_process_output_memory_barrier, arm_output_memory_barrier): New.
11479 (arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
11480 (arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
11481 (arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
11482 (arm_process_output_sync_insn, arm_output_sync_insn): New.
11483 (arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
11484 * config/arm/arm.h (struct arm_sync_generator): New.
11485 (TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
11486 (TARGET_HAVE_MEMORY_BARRIER): New.
11487 (TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
11488 * config/arm/arm.md: Include sync.md.
11489 (UNSPEC_MEMORY_BARRIER): New.
11490 (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
11491 (VUNSPEC_SYNC_OP):New.
11492 (VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
11493 (sync_result, sync_memory, sync_required_value): New attributes.
11494 (sync_new_value, sync_t1, sync_t2): Likewise.
11495 (sync_release_barrier, sync_op): Likewise.
11496 (length): Add logic to length attribute defintion to call
11497 arm_sync_loop_insns when appropriate.
11498 * config/arm/sync.md: New file.
11499
a085a55a
JJ
115002010-08-17 Jakub Jelinek <jakub@redhat.com>
11501
11502 * tree.h (host_integerp): Add ATTRIBUTE_PURE when not
11503 ENABLE_TREE_CHECKING.
11504 (tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
11505 and GCC >= 4.3.
11506
1c111d0a
L
115072010-08-17 H.J. Lu <hongjiu.lu@intel.com>
11508
11509 * config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
11510 or optimizing for size, always avoid lea if possible.
11511
21667997 11512 * config/i386/i386.md (*add<mode>_1): Always avoid lea if possible.
1c111d0a 11513
e2a1fcf0
IS
115142010-08-17 Iain Sandoe <iains@gcc.gnu.org>
11515
11516 * unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction):
21667997 11517 Dunmmy function with NULL return unless the target is
e2a1fcf0 11518 OSX >= 10.6 (Darwin10).
21667997 11519
74164603 115202010-08-17 Jack Howarth <howarth@bromo.med.uc.edu>
2642f659
JH
11521
11522 * gcc.c (spec_function): Add remove-outfile.
11523 (remove_outfile_spec_function): New function.
21667997 11524 * config/darwin.h (LINK_SPEC): Add removal of -ldl, -lm and -lpthread.
2642f659
JH
11525 * invoke.texi (replace-outfile): Document.
11526
2c65142a
UB
115272010-08-17 Uros Bizjak <ubizjak@gmail.com>
11528
11529 PR target/45296
11530 * reginfo.c (globalize_reg): Reject stack registers.
11531
fd4a760e
RG
115322010-08-17 Richard Guenther <rguenther@suse.de>
11533
11534 * tree-ssa-dom.c (struct edge_info): Use a VEC for the
11535 list of conditional equivalences.
11536 (free_all_edge_infos): Adjust.
11537 (record_equivalences_from_incoming_edge): Likewise.
11538 (record_cond): Likewise.
11539 (build_and_record_new_cond): Likewise.
11540 (record_conditions): Likewise.
11541 (dom_opt_leave_block): Likewise.
11542
b17b584f
KT
115432010-08-17 Kai Tietz <kai.tietz@onevision.com>
11544
11545 * doc/invoke.texi (ms-extension): Add documentation.
11546
743ad76e
RG
115472010-08-17 Richard Guenther <rguenther@suse.de>
11548
21667997 11549 * fold-const.c (fold_comparison): Strip nops inside POINTER_PLUS_EXPR.
743ad76e 11550
51f4ec66
SZ
115512010-08-17 Shujing Zhao <pearly.zhao@oracle.com>
11552
11553 PR c/40563
11554 * c-decl.c (diagnose_uninitialized_cst_member): New function.
11555 (finish_decl): Use it to issue a -Wc++-compat warning about
11556 uninitialized const field in struct or union.
2c65142a 11557
51f4ec66
SZ
11558 (finish_struct): Use strip_array_types.
11559
3373692b
JJ
115602010-08-17 Jakub Jelinek <jakub@redhat.com>
11561
11562 * function.c (block_fragments_nreverse, blocks_nreverse_all): New
11563 functions.
11564 (reorder_blocks): Use blocks_nreverse_all instead of blocks_nreverse.
11565 (reorder_blocks_1): Assert BLOCK_FRAGMENT_ORIGIN is NULL. Don't
11566 call block_nreverse here.
11567 (blocks_nreverse): Rename decl temporary to block.
11568
c29e2982
BS
115692010-08-16 Bernd Schmidt <bernds@codesourcery.com>
11570
11571 * config/arm/thumb2.md (thumb2_notsi_shiftsi,
11572 thumbsi_notsi_shiftsi_compare0, thumb2_not_shiftsi_compare0_scratch,
11573 thumb2_cmpsi_shiftsi, thumb2_cmpsi_shiftsi_swp, thumb2_arith_shiftsi,
11574 thumb2_arith_shiftsi splitter, thumb2_arith_shiftsi_compare0,
11575 thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi,
11576 thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch,
11577 thumb2_iorsi3): Delete.
11578 (orsi_notsi_si): No longer a named pattern.
11579 (orsi_not_shiftsi_si): Renamed from thumb_orsi_not_shiftsi_si.
11580 * config/arm/predicates.md (shift_amount_operand): New.
11581 (mult_operator): New.
11582 * config/arm/arm.md (attr arch, attr arch_enabled, attr insn_enabled,
11583 attr enabled): New.
11584 (iorsi3_insn): Renamed from arm_iorsi3. Handle a new alternative if
11585 arch matches t2.
11586 (not_shiftsi): Renamed from arm_notsi_shiftsi. Handle Thumb2 variant.
11587 (not_shiftsi_compare0): Likewise, renamed from
11588 arm_notsi_shiftsi_compare0.
11589 (not_shiftsi_compare0_scratch): Likweise, renamed from
11590 arm_notsi_shiftsi_compare0_scratch.
11591 (cmpsi_shiftsi): Likewise, renamed from arm_cmpsi_shiftsi.
11592 (cmpsi_shiftsi_swp): Likewise, renamed from arm_cmpsi_shiftsi_swp.
11593 (arith_shiftsi): Handle Thumb2 variant. Set insn_enabled attribute
11594 so that the register alternative is disabled when the shift_operator
11595 is MULT. Use "M" as the constraint for constants.
11596 (arith_shiftsi splitter): Enable for TARGET_32BIT.
11597 (arith_shiftsi_compare0): Handle Thumb2 variant. Use "M" as the
11598 constraint for constants.
11599 (arith_shiftsi_compare0_scratch): Likewise.
11600 (sub_shiftsi, sub_shiftsi_compare0, sub_shiftsi_compare0_scratch):
11601 Handle Thumb2 alternative.
11602
c878765b
JM
116032010-08-16 Joseph Myers <joseph@codesourcery.com>
11604
11605 * doc/options.texi (NoDriverArg): Document.
11606 * gcc.c (cpp_unique_options): Generate -MD and -MMD instead of
11607 -MDX and -MMDX.
11608 * opt-functions.awk (switch_flags): Handle NoDriverArg.
11609 * opts-common.c (decode_cmdline_option): Ignore CL_SEPARATE
11610 marking for CL_NO_DRIVER_ARG options when in the driver.
11611 * opts.h (CL_NO_DRIVER_ARG): Define.
11612 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
11613 CL_COMMON): Update values.
11614
603349bf
JM
116152010-08-16 Joseph Myers <joseph@codesourcery.com>
11616
11617 * common.opt: Add driver options.
11618 (auxbase, auxbase-strip, quiet, version): Mark RejectDriver.
11619 * doc/options.texi (Driver, RejectDriver): Document.
11620 * gcc.c (pass_exit_codes, print_search_dirs, print_file_name,
11621 print_prog_name, print_multi_directory, print_sysroot,
11622 print_multi_os_directory, print_multi_lib,
11623 print_sysroot_headers_suffix, report_times, combine_flag,
11624 use_pipes, wrapper_string): Remove.
11625 (save_switch, driver_unknown_option_callback,
11626 driver_wrong_lang_callback, driver_post_handling_callback,
11627 driver_handle_option): New.
11628 (spec_lang, last_language_n_infiles): Make file-scope static
11629 instead of local to process_command.
11630 (process_command): Use decode_cmdline_options_to_array and
11631 read_cmdline_option for option processing. Compute have_c in
11632 prescan of decoded options.
11633 * opt-functions.awk (switch_flags): Handle Driver and
11634 RejectDriver.
11635 (var_type, var_type_struct): Handle Separate options as generating
11636 const char * variables.
11637 * opts-common.c (decode_cmdline_option): Expect CL_COMMON and
11638 CL_TARGET to be passed by caller if required.
11639 (decode_cmdline_options_to_array): Update comment.
11640 * opts.c (complain_wrong_lang): Handle options only valid for the
11641 driver.
11642 (decode_options): Update call to decode_cmdline_options_to_array.
11643 (print_filtered_help): Ignore driver-only options.
11644 (print_specific_help): Ignore CL_DRIVER.
2c65142a 11645 (common_handle_option): Don't call print_specific_help for CL_DRIVER.
603349bf
JM
11646 * opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define.
11647 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON):
11648 Update values.
11649
4b228e61
RG
116502010-08-16 Richard Guenther <rguenther@suse.de>
11651
11652 * tree-cfg.c (verify_types_in_gimple_reference): Verify
11653 TARGET_MEM_REF a bit.
11654 * tree-ssa-address.c (addr_for_mem_ref): Adjust.
11655 (create_mem_ref_raw): Always create TMR_OFFSET, store the
11656 alias pointer type via it.
11657 (copy_mem_ref_info): Adjust.
11658 (maybe_fold_tmr): Likewise.
11659 * tree.c (mem_ref_offset): Also handle TARGET_MEM_REF.
11660 (reference_alias_ptr_type): Likewise.
11661 * tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand,
11662 adjust documentation of TMR_OFFSET operand.
11663 * alias.c (get_alias_set): Do not look at TMR_ORIGINAL but
11664 use the alias pointer type.
11665 * expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to
11666 initialize mem attrs but the TMR itself.
11667 * tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF
11668 similar to MEM_REF.
11669 * tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL.
11670 * tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove.
11671 (unshare_and_remove_ssa_names): Likewise.
11672 (copy_ref_info): Adjust.
11673 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify
11674 TARGET_MEM_REF case.
11675 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look
11676 at TMR_ORIGINAL.
11677 * tree.h (TMR_ORIGINAL): Remove.
11678 * gimple.c (get_base_address): For TARGET_MEM_REF with a
11679 symbol return that.
11680 * tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF
11681 with a symbol.
11682 (get_addr_base_and_unit_offset): Likewise.
11683 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle
11684 TARGET_MEM_REFs.
11685 (indirect_ref_may_alias_decl_p): Likewise.
11686 (refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs.
11687
ef7e0035
UB
116882010-08-15 Uros Bizjak <ubizjak@gmail.com>
11689
11690 * doc/invoke.texi (-fomit-frame-pointer): Document that starting
11691 with GCC version 4.6, the default setting (when not optimizing
11692 for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has
11693 been changed to -fomit-frame-pointer.
11694
5fc265c1
IS
116952010-08-15 Iain Sandoe <iains@gcc.gnu.org>
11696
ef7e0035 11697 * config/darwin.h (REAL_LIBGCC_SPEC): Remove libgcc_s.10.5 stub for
5fc265c1
IS
11698 Darwin10. Do not link libgcc.a for Darwin >= 9.
11699
09ccff9f
GP
117002010-08-15 Gerald Pfeifer <gerald@pfeifer.com>
11701
11702 * doc/invoke.texi (Warning Options): Fix terminology and markup
11703 in the description of how unknown warning options are handled.
11704
69f11a13
IR
117052010-08-15 Ira Rosen <irar@il.ibm.com>
11706
11707 * tree-vect-data-refs.c (vect_setup_realignment): Support realignment
11708 in basic blocks.
11709 (vect_supportable_dr_alignment): Check alignment for basic blocks.
ef7e0035 11710 * tree-vect-slp.c (vect_build_slp_tree): Allow different codes for
69f11a13
IR
11711 data references.
11712 (vect_bb_vectorization_profitable_p): New function.
11713 (vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to
11714 check if it's worthwhile to vectorize the basic block.
11715
faa832a7
AS
117162010-08-14 Anatoly Sokolov <aesok@post.ru>
11717
11718 * reload.h (register_move_cost, memory_move_secondary_cost,
11719 secondary_reload_class): Adjust prototype.
11720 * rtl.h (reg_class_subset_p): Adjust prototype.
11721 * reload.c (secondary_reload_class): Change arguments type from
11722 enum reg_class to reg_class_t. Change result type to reg_class_t.
11723 * reginfo.c (register_move_cost, reg_class_subset_p): Change
11724 arguments type from enum reg_class to reg_class_t.
11725 (memory_move_secondary_cost): Change arguments type from
11726 enum reg_class to reg_class_t. Change type of saved_flags to
11727 reg_class_t.
11728
ef7e0035 11729 * config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
faa832a7
AS
11730 Remove macros.
11731 (mips_cost): Remove.
11732 (struct mips_rtx_cost_data): Moved to mips.c.
11733 * config/mips/mips-protos.h (mips_register_move_cost): Remove.
11734 * config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h.
11735 (mips_cost): Make static.
11736 (mips_canonicalize_move_class): Change argument type to reg_class_t.
11737 Change result type to reg_class_t.
11738 (mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments
11739 type from enum reg_class to reg_class_t.
11740 (mips_register_move_cost): Make static. Change arguments
11741 type from enum reg_class to reg_class_t.
11742 (mips_memory_move_cost): New function.
11743 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
11744
6d1e1a26
RS
117452010-08-14 Richard Sandiford <rdsandiford@googlemail.com>
11746
11747 PR rtl-optimization/43358
11748 * ira-lives.c (process_single_reg_class_operands): Adjust the costs
11749 of a single hard register, using simplify_subreg_regno to decide
11750 what that register should be.
11751
a44ecea1
MX
117522010-08-14 Mingjie Xing <mingjie.xing@gmail.com>
11753
11754 * config/mips/mips.c (CODE_FOR_loongson_pmullh): Define.
11755 * config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete.
11756 (loongson_pmull<V_suffix>): Rename to...
11757 (mul<mode>3): ...this and use MULT instead of an UNSPEC.
11758
74164603 117592010-08-13 Jack Howarth <howarth@bromo.med.uc.edu>
1b2d4118 11760
eed023cc 11761 * configure.ac: Enable -fomit-frame-pointer on darwin
1b2d4118
JH
11762 which support dwarf2.
11763 * config/i386/i386.c (override_options): Same.
11764
9b821a09
JZ
117652010-08-13 Jie Zhang <jie@codesourcery.com>
11766
ef7e0035 11767 * config/arm/arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
9b821a09 11768
644fa7ac
JM
117692010-08-12 Joseph Myers <joseph@codesourcery.com>
11770
11771 * gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
11772 -MMD.
11773
3cb35c12
CF
117742010-08-12 Changpeng Fang <changpeng.fang@amd.com>
11775
11776 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
11777 up dot_prod pattern searching if a stmt is outside the loop.
11778
d79389af
L
117792010-08-12 H.J. Lu <hongjiu.lu@intel.com>
11780 Uros Bizjak <ubizjak@gmail.com>
11781
11782 * config.gcc: Handle --enable-frame-pointer.
11783
11784 * configure.ac: Add --enable-frame-pointer.
11785 * configure: Regenerated.
11786
11787 * config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
11788 (override_options): If not configured with --enable-frame-pointer,
11789 enable -fomit-frame-pointer (but not for TARGET_MACHO or when
11790 optimizing for size), -fasynchronous-unwind-tables and
11791 -maccumulate-outgoing-args by default.
11792
d2be8071
JJ
117932010-08-12 Jakub Jelinek <jakub@redhat.com>
11794
ef7e0035 11795 * builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
d2be8071 11796
a8c56818
JJ
11797 PR middle-end/45262
11798 * fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
11799 -a overflows. Normalize the range.
11800
2d698d3b
RG
118012010-08-12 Richard Guenther <rguenther@suse.de>
11802
11803 PR tree-optimization/45232
11804 * tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
11805 for types with undefined overflow.
11806 (reassociate_bb): Allow re-associating of bit and min/max
11807 operations for types with undefined overflow.
11808 * tree-ssa-forwprop.c (associate_plusminus): New function.
11809 (tree_ssa_forward_propagate_single_use_vars): Call it.
11810
1be38ccb
RG
118112010-08-12 Richard Guenther <rguenther@suse.de>
11812
11813 * tree-flow.h (struct ptr_info_def): Add align and misalign fields.
11814 * tree-ssa-alias.c (get_ptr_info): Move ...
11815 * tree-ssanames.c (get_ptr_info): ... here. Initialize
11816 align and misalign fields conservatively.
11817 * tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
11818 derive alignment information.
11819 (evaluate_stmt): Derive alignment information from memory
11820 allocation functions.
11821 * tree.h (get_pointer_alignment): Make unsigned.
11822 * builtins.c (get_object_alignment): Use alignment information we
11823 have computed for pointers.
11824 (get_pointer_alignment): Likewise. Make conservative, return
11825 and unsigned value.
11826 (expand_builtin_strlen): Adjust.
11827 (expand_builtin_memcmp): Likewise.
11828 (expand_builtin_strcmp): Likewise.
11829 (expand_builtin_strncmp): Likewise.
11830 (get_builtin_sync_mem): Use at least mode alignment.
11831 (fold_builtin_memset): Adjust.
11832 (fold_builtin_memory_op): Likewise.
11833 * gimple-pretty-print.c (dump_gimple_phi): Alongside alias
11834 information also dump pointer alignment knowledge.
11835 (dump_gimple_stmt): Likewise.
11836
a96ad348
UB
118372010-08-12 Uros Bizjak <ubizjak@gmail.com>
11838
11839 * config/i386/i386.c (LONG_TYPE_SIZE): Remove.
11840 (EMPTY_FIELD_BOUNDARY): Remove.
11841 * config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove.
11842
49b48605
JJ
118432010-08-12 Jakub Jelinek <jakub@redhat.com>
11844
11845 PR debug/45259
11846 * caller-save.c (save_call_clobbered_regs): Only swap notes with
11847 DEBUG_INSNs if n_regs_saved.
11848
3565ffed
WG
118492010-08-12 Wei Guozhi <carrot@google.com>
11850
11851 PR target/44999
11852 * config/arm/arm.md (andsi3): Change to zero extension if possible.
11853 * config/arm/thumb2.md (thumb2_zero_extendqisi2_v6): Change the name.
11854
183c87cd
VM
118552010-08-11 Vladimir Makarov <vmakarov@redhat.com>
11856
11857 * ira-int.h (ira_remove_allocno_copy_from_list): Remove.
11858
11859 * ira-build.c (ira_remove_allocno_copy_from_list): Remove.
11860
cb5da135 118612010-08-11 Sebastian Pop <sebastian.pop@amd.com>
9707eeb0
SP
11862
11863 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
11864 the case removed in the previous patch, when the only phi argument
11865 is defined in the same loop as the phi node itself. Handle it
11866 separately from the invariant case by both propagating it outside
11867 the region and replacing the phi node with an assign.
11868
cb5da135 118692010-08-11 Sebastian Pop <sebastian.pop@amd.com>
974335d6
SP
11870
11871 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
11872 constant phi nodes with one argument are is_gimple_min_invariant
11873 and SSA_NAME_IS_DEFAULT_DEF.
11874
cb5da135 118752010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
85437633
AS
11876
11877 * graphite-cloog-util.c (oppose_constraint):
11878 Extend loop counter's value range (CLOOG_ORG).
11879 (cloog_matrix_to_ppl_constraint): Same.
11880 (new_Constraint_System_from_Cloog_matrix): Same.
11881 * graphite-cloog-compat.h (matrix_num_type): New.
11882
cb5da135 118832010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
85437633
AS
11884
11885 * graphite.c (graphite_initialize): Do not initialize
11886 CLooG and initialize the Parma Polyhedra Library
11887 manually when using CLOOG_ORG.
11888 (graphite_finalize): Do not finalize CLooG and finalize
11889 the Parma Polyhedra Library manually when using CLOOG_ORG.
11890 * graphite-cloog-compat.h (cloog_initialize): Hide function
11891 when using CLOOG_ORG.
11892 (cloog_finalize): Same.
11893
cb5da135 118942010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
1461761b
AS
11895
11896 * graphite-clast-to-gimple.c (free_scattering): Change
11897 CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering
11898 (CLOOG_ORG).
11899 (build_cloog_prog): Same.
11900 * graphite-cloog-compat.h (cloog_domain): Removed.
11901 (cloog_scattering): New.
11902 (cloog_set_domain): Removed.
11903 (cloog_set_scattering): New.
11904 (cloog_next_domain): Removed.
11905 (cloog_next_scattering): New.
11906 (cloog_set_next_domain): Removed.
11907 (cloog_set_next_scattering): New.
11908 (CloogScatteringList): New.
11909 (CloogScattering): New.
11910 (cloog_scattering_free): New.
11911 (new_Cloog_Scattering_from_ppl_Polyhedron): New.
11912 * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron):
11913 New.
11914
cb5da135 119152010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
60f87855
AS
11916
11917 * graphite-clast-to-gimple.c (build_cloog_prog): Extend with
11918 CloogState.
11919 (set_cloog_options): Same.
11920 (print_clast_stmt): Same.
11921 (scop_to_clast): Same.
11922 (print_generated_program): Same.
11923 (gloog): Same.
11924 * graphite-clast-to-gimple.h: Include graphite-cloog-util.h.
11925 (scop_to_clast): Extend with CloogState.
11926 * graphite-cloog-util.c: Include graphite-cloog-compat.h
11927 (new_Cloog_Domain_from_ppl_Polyhedron):
11928 Extend with CloogState. Use cloog_domain_from_cloog_matrix (CLOOG_ORG).
11929 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState.
11930 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
11931 * graphite-cloog-util.h (build_cloog_prog): Same.
11932 * graphite-cloog-copat.h (build_cloog_prog): New.
11933 (CloogState): New.
11934 (cloog_state_malloc): New.
11935 (cloog_state_free): New.
11936 (cloog_loop_malloc): New.
11937 (cloog_options_malloc): New.
11938 (cloog_statement_alloc): New.
11939 (cloog_domain_from_cloog_matrix): New.
11940 (new_Cloog_Domain_from_ppl_Pointset_Powerset): New.
11941 (new_Cloog_Domain_from_ppl_Polyhedron): New.
11942
cb5da135 119432010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
4431102b
AS
11944
11945 * graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter
11946 type of NAME now depends on used CLooG version.
11947 (clast_to_gcc_expression): Replace expr_* with clast_expr_*.
11948 (gcc_type_for_clast_expr): Same.
11949 (print_clast_stmt): Replace pprint with clast_pprint.
11950 * graphite-cloog-compat.h: Provide compatibility macros for
11951 CLooG Legacy.
11952 (clast_name_p): New.
11953 (clast_expr_term): New.
11954 (clast_expr_red): New.
11955 (clast_expr_bin): New.
11956 (clast_pprint): New.
11957
cb5da135 119582010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
ac3b070a
AS
11959
11960 * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
11961 compatible to newer CLooG releases (CLOOG_ORG).
11962 (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
11963 (scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG).
11964 * graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy.
11965 (build_cloog_prog) : New.
11966 (cloog_program_extract_scalars): New.
11967 (cloog_program_scatter): New.
11968
cb5da135 119692010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2bbb190a
AS
11970
11971 * graphite-clast-to-gimple.c: Include graphite-cloog-compat.h
11972 conditionally (CLOOG_ORG).
11973 * graphite-cloog-compat.h: New. Include graphite-cloog-compat.h.
11974 (cloog_statement_usr): New.
11975 (cloog_domain): Same.
11976 (cloog_set_domain): Same.
11977 (cloog_next_domain): Same.
11978 (cloog_set_next_domain): Same.
11979 (cloog_program_nb_scattdims): Same.
11980 (cloog_program_set_nb_scattdims): Same.
11981 (cloog_program_names): Same.
11982 (cloog_program_set_names): Same.
11983 (cloog_program_set_context): Same.
11984 (cloog_program_set_loop): Same.
11985 (cloog_program_blocklist): Same.
11986 (cloog_program_set_blocklist): Same.
11987 (cloog_program_scaldims): Same.
11988 (cloog_program_set_scaldims): Same.
11989 (cloog_names_nb_parameters): Same.
11990 (cloog_names_set_nb_parameters): Same.
11991 (cloog_names_parameters): Same.
11992 (cloog_names_set_parameters): Same.
11993 (cloog_names_set_nb_iterators): Same.
11994 (cloog_names_set_iterators): Same.
11995 (cloog_names_set_nb_scattering): Same.
11996 (cloog_names_set_scattering): Same.
11997 (cloog_statement_set_usr): Same.
11998 (cloog_loop_set_next): Same.
11999 (cloog_loop_set_domain): Same.
12000 (cloog_loop_set_block): Same.
12001 (cloog_block_list_next): Same.
12002 (cloog_block_list_set_next):
12003 (cloog_block_list_set_block): Same.
12004
cb5da135 120052010-08-11 Sebastian Pop <sebastian.pop@amd.com>
5d737345
SP
12006
12007 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Returns
12008 a bool.
12009 (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
12010 (rewrite_commutative_reductions_out_of_ssa_loop): Same.
12011 (rewrite_cross_bb_scalar_deps_out_of_ssa): Call scev_reset_htab
12012 when something has been changed.
12013 (rewrite_commutative_reductions_out_of_ssa): Same.
12014
cb5da135 120152010-08-11 Sebastian Pop <sebastian.pop@amd.com>
4ee23fa8 12016
ab756588
SP
12017 * graphite-sese-to-poly.c (propagate_expr_outside_region): Also
12018 handle the case when def is in the sese region.
12019 (rewrite_close_phi_out_of_ssa): Call propagate_expr_outside_region
12020 for invariant expressions.
12021 (rewrite_cross_bb_phi_deps): Removed.
12022 (rewrite_cross_bb_scalar_deps): Also handle GIMPLE_PHI nodes.
12023 (rewrite_cross_bb_scalar_deps_out_of_ssa): Do not call
cb5da135 12024 rewrite_cross_bb_phi_deps.
ab756588 12025
cb5da135 120262010-08-11 Sebastian Pop <sebastian.pop@amd.com>
ab756588 12027
4ee23fa8
SP
12028 * graphite-sese-to-poly.c
12029 (rewrite_commutative_reductions_out_of_ssa_loop): Call
12030 scev_analyzable_p only on is_gimple_reg
12031
cb5da135 120322010-08-11 Sebastian Pop <sebastian.pop@amd.com>
1c2a7491
SP
12033
12034 * graphite-sese-to-poly.c (propagate_expr_outside_region): New.
12035 (rewrite_close_phi_out_of_ssa): Propagate constant values or
12036 parametric expressions outside the scop region.
12037 (rewrite_cross_bb_scalar_deps): Same.
12038 * sese.c (rename_uses): Use NULL_TREE instead of NULL for trees.
12039
cb5da135 120402010-08-11 Sebastian Pop <sebastian.pop@amd.com>
320532a8
SP
12041
12042 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
12043 SSA_NAME_DEF_STMT only on SSA_NAMEs.
12044
cb5da135 120452010-08-11 Sebastian Pop <sebastian.pop@amd.com>
2847388e
SP
12046
12047 * tree-scalar-evolution.c (instantiate_scev_name): Do not
12048 instantiate default definitions.
12049
cb5da135 120502010-08-11 Vladimir Kargov <kargov@gmail.com>
f4ce375d
VK
12051 Sebastian Pop <sebastian.pop@amd.com>
12052
12053 * cfgloop.c (is_loop_exit): Renamed loop_exits_to_bb_p.
12054 (loop_exits_from_bb_p): New.
12055 * cfgloop.h (is_loop_exit): Renamed loop_exits_to_bb_p.
12056 (loop_exits_from_bb_p): Declared.
12057 * graphite-scop-detection.c (scopdet_basic_block_info): Call
12058 loop_exits_to_bb_p.
12059
cb5da135 120602010-08-11 Sebastian Pop <sebastian.pop@amd.com>
a7d00e71
SP
12061
12062 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an
12063 extra parameter for the region. Call scev_analyzable_p.
12064 (rewrite_reductions_out_of_ssa): Update call to
12065 rewrite_close_phi_out_of_ssa.
12066 (rewrite_cross_bb_phi_deps): Same.
12067 (rewrite_commutative_reductions_out_of_ssa_loop): Add an extra
12068 parameter for the region. Call scev_analyzable_p.
12069 (rewrite_commutative_reductions_out_of_ssa): Update call to
12070 rewrite_commutative_reductions_out_of_ssa_loop.
12071
cb5da135 120722010-08-11 Sebastian Pop <sebastian.pop@amd.com>
6f23dd91
SP
12073
12074 * sese.c (rename_uses): Call unshare_expr before force_gimple_operand.
12075
cb5da135 120762010-08-11 Sebastian Pop <sebastian.pop@amd.com>
87b28340
SP
12077
12078 * graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
12079 SSA scalar phi nodes that can be scev_analyzable_p.
12080
cb5da135 120812010-08-11 Sebastian Pop <sebastian.pop@amd.com>
3dd2dd57
SP
12082
12083 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Correctly
12084 handle SSA_NAME_IS_DEFAULT_DEF.
12085
cb5da135 120862010-08-11 Sebastian Pop <sebastian.pop@amd.com>
a0dd1502
SP
12087
12088 * sese.c (rename_uses): Handl unconditionally gimple_debug statements.
12089
cb5da135 120902010-08-11 Sebastian Pop <sebastian.pop@amd.com>
8af6d9cd
SP
12091
12092 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special
12093 case non close-phi nodes with one argument.
12094
cb5da135 120952010-08-11 Sebastian Pop <sebastian.pop@amd.com>
f36fc876
SP
12096
12097 * sese.h (scev_analyzable_p): Scevs could be expressions without
12098 chrecs and still be scev_analyzable_p.
12099
cb5da135 121002010-08-11 Sebastian Pop <sebastian.pop@amd.com>
57fe3c87
SP
12101
12102 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
12103
cb5da135 121042010-08-11 Sebastian Pop <sebastian.pop@amd.com>
a0d1afb3
SP
12105
12106 * cfgloop.c (alloc_loop): Remove initialization of loop->single_iv.
12107 * cfgloop.h (struct loop): Remove single_iv field.
12108 * graphite-sese-to-poly.c (graphite_loop_normal_form): Removed.
12109 (scop_canonicalize_loops): Removed.
12110 (scop_ivs_can_be_represented): Do not use loop->single_iv. Iterate
12111 over all the loop phi nodes in loop->header.
12112 (build_poly_scop): Remove use of scop_canonicalize_loops.
12113
cb5da135 121142010-08-11 Sebastian Pop <sebastian.pop@amd.com>
dba9acfa
SP
12115
12116 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
12117 handle GIMPLE_CALL.
12118
cb5da135 121192010-08-11 Sebastian Pop <sebastian.pop@amd.com>
8b059232
SP
12120
12121 * tree-chrec.c (chrec_apply): Should only apply to the specified
12122 variable. Also handle multivariate chains of recurrences that
12123 satisfy evolution_function_is_affine_p. Also handle CASE_CONVERT.
12124
cb5da135 121252010-08-11 Sebastian Pop <sebastian.pop@amd.com>
2e286fd2
SP
12126
12127 * graphite-clast-to-gimple.c (debug_clast_name_index): Removed.
12128 (debug_clast_name_indexes_1): Removed.
12129 (debug_clast_name_indexes): Removed.
12130 (pbb_to_depth_to_oldiv): Removed.
12131 (build_iv_mapping): Replace the use of rename_map with iv_map.
12132 (translate_clast_user): Remove uses of rename_map. Allocate and
12133 free iv_map.
12134 (translate_clast_for_loop): Remove uses of rename_map.
12135 (translate_clast_for): Same.
12136 (translate_clast_guard): Same.
12137 (translate_clast): Same.
12138 (gloog): Same.
12139 * graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed.
12140 * graphite-sese-to-poly.c (scev_analyzable_p): Moved...
12141 * sese.c (set_rename): Now static.
12142 (rename_variables_in_stmt): Removed.
12143 (rename_uses): New.
12144 (is_parameter): Removed.
12145 (is_iv): Removed.
12146 (expand_scalar_variables_call): Removed.
12147 (expand_scalar_variables_ssa_name): Removed.
12148 (expand_scalar_variables_expr): Removed.
12149 (expand_scalar_variables_stmt): Removed.
12150 (expand_scalar_variables): Removed.
12151 (rename_variables): Removed.
12152 (remove_condition): Removed.
12153 (get_true_edge_from_guard_bb): Removed.
12154 (get_false_edge_from_guard_bb): Removed.
12155 (struct igp): Removed.
12156 (default_before_guard): Removed.
12157 (convert_for_phi_arg): Removed.
12158 (add_guard_exit_phis): Removed.
12159 (insert_guard_phis): Removed.
12160 (graphite_copy_stmts_from_block): Now also uses iv_map and a
12161 region. Do not copy conditions. Do not copy induction variables.
12162 Call rename_uses.
12163 (copy_bb_and_scalar_dependences): Allocate a local rename_map for
12164 the translated statement. Use the iv_map for the induction
12165 variable renaming.
12166 * sese.h (copy_bb_and_scalar_dependences): Update declaration.
12167 (set_rename): Removed declaration.
12168 (scev_analyzable_p): ...here.
12169 * tree-chrec.c (chrec_apply_map): New.
12170 * tree-chrec.h (chrec_apply_map): Declared.
12171
cb5da135 121722010-08-11 Sebastian Pop <sebastian.pop@amd.com>
e11d25e0
SP
12173
12174 * graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call
12175 insert_loop_close_phis.
12176 * sese.c (name_defined_in_loop_p): Removed.
12177 (expr_defined_in_loop_p): Removed.
12178 (alive_after_loop): Removed.
12179 (close_phi_not_yet_inserted_p): Removed.
12180 (struct alep): Removed.
12181 (add_loop_exit_phis): Removed.
12182 (insert_loop_close_phis): Removed.
12183
cb5da135 121842010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
61298f69
AS
12185
12186 * graphite-cloog-util.c
12187 (cloog_matrix_to_ppl_constraint): Fix flipped condition.
12188 * graphite-poly.c
12189 (psct_scattering_dim_for_loop_depth): Same.
12190
cb5da135 121912010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
a9c2ba8f
AS
12192
12193 * graphite-cloog-util.h: Added cloog.h.
12194 * graphite-blocking.c: Removed cloog.h.
12195 * graphite-dependences.c: Same.
12196 * graphite-interchange.c: Same.
12197 * graphite-poly.c: Same.
12198 * graphite-ppl.c: Same.
12199 * graphite-scop-detection.c: Same.
12200 * graphite-sese-to-poly.c:
12201 Removed cloog.h.
12202 Removed graphite-clast-to-gimple.h.
12203 (check_poly_representation): Removed (unused).
12204 * graphite-sese-to-poly.h
12205 (check_poly_representation): Removed (unused).
12206
cb5da135 122072010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
0647324a
AS
12208
12209 * Makefile.in (OBJS-common): Added graphite-cloog-util.o.
12210 (graphite-clast-to-gimple.o): Added graphite-cloog-util.h.
12211 (graphite-cloog-util.o): New.
12212 (graphite-ppl.o): Added graphite-cloog-util.h.
12213 * graphite-clast-to-gimple.c:
12214 Added graphite-cloog-util.h to include statements.
12215 * graphite-cloog-util.c: New.
12216 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c.
12217 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
12218 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
12219 (new_C_Polyhedron_from_Cloog_Matrix): Same.
12220 (insert_constraint_into_matrix): Same.
12221 (ppl_Constrain_System_number_of_constraints): Same.
12222 (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
12223 (oppose_constraint): Same.
12224 (cloog_matrix_to_ppl_constraint): Same.
12225 (new_Constraint_System_from_Cloog_Matrix): Same.
12226 * graphite-cloog-util.h: New.
12227 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h.
12228 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
12229 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
12230 (new_C_Polyhedron_from_Cloog_Matrix): Same.
12231 (insert_constraint_into_matrix): Same.
12232 * graphite-ppl.c:
12233 Added graphite-cloog-util.h to include statements.
12234 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c.
12235 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
12236 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
12237 (new_C_Polyhedron_from_Cloog_Matrix): Same.
12238 (insert_constraint_into_matrix): Same.
12239 (ppl_Constrain_System_number_of_constraints): Same.
12240 (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
12241 (oppose_constraint): Same.
12242 (cloog_matrix_to_ppl_constraint): Same.
12243 (new_Constraint_System_from_Cloog_Matrix): Same.
12244 * graphite-ppl.h:
12245 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to
12246 graphite-cloog-util.h.
12247 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
12248 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
12249 (new_C_Polyhedron_from_Cloog_Matrix): Same.
12250 (insert_constraint_into_matrix): Same.
12251
cb5da135 122522010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
589ac63c
AS
12253
12254 * graphite-clast-to-gimple.c
12255 (precision_for_value): Resolve value_* calls to matching mpz_* calls.
12256 (precision_for_interval): Same.
12257 (gcc_type_for_interval): Same.
12258 (compute_type_for_level): Same.
12259 * graphite-interchange.c
12260 (lst_interchange_profitable_p): Same.
12261 * graphite-poly.c
12262 (psct_scattering_dim_for_loop_depth): Same.
12263 * graphite-ppl.c
12264 (ppl_max_for_le_pointset): Same.
12265 (ppl_min_for_le_pointset): Same.
12266
cb5da135 122672010-08-11 Sebastian Pop <sebastian.pop@amd.com>
d3e7b889
SP
12268
12269 * graphite-sese-to-poly.c (rewrite_degenerate_phi): New.
12270 (rewrite_reductions_out_of_ssa): Call it for degenerate_phi_result.
12271
cb5da135 122722010-08-11 Sebastian Pop <sebastian.pop@amd.com>
aedede66
SP
12273
12274 * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Call
12275 rewrite_close_phi_out_of_ssa.
12276
cb5da135 122772010-08-11 Sebastian Pop <sebastian.pop@amd.com>
f2c51113
SP
12278
12279 * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Remove dead code.
12280
cb5da135 122812010-08-11 Sebastian Pop <sebastian.pop@amd.com>
32e68db9
SP
12282
12283 * graphite-clast-to-gimple.c (build_iv_mapping): Rename map with
12284 rename_map.
12285 * sese.c (debug_rename_map): Same.
12286 (get_rename): Same.
12287 (set_rename): Same.
12288 (rename_variables_in_stmt): Same.
12289 (expand_scalar_variables_call): Same.
12290 (expand_scalar_variables_ssa_name): Same.
12291 (expand_scalar_variables_expr): Same.
12292 (expand_scalar_variables_stmt): Same.
12293 (expand_scalar_variables): Same.
12294 (rename_variables): Same.
12295 (graphite_copy_stmts_from_block): Same.
12296 (copy_bb_and_scalar_dependences): Same.
12297
cb5da135 122982010-08-11 Sebastian Pop <sebastian.pop@amd.com>
8b164754
SP
12299
12300 * graphite-clast-to-gimple.c (copy_renames): Removed.
12301 (translate_clast_for): Do not call copy_renames.
12302 (translate_clast_guard): Same.
12303
cb5da135 123042010-08-11 Sebastian Pop <sebastian.pop@amd.com>
9773d730
SP
12305
12306 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Moved up.
12307 (rewrite_cross_bb_phi_deps): Split out of rewrite_cross_bb_scalar_deps.
12308 (rewrite_cross_bb_scalar_deps_out_of_ssa): Run rewrite_cross_bb_phi_deps
12309 before rewrite_cross_bb_scalar_deps.
12310
cb5da135 123112010-08-11 Sebastian Pop <sebastian.pop@amd.com>
cc588970
SP
12312
12313 * graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa):
12314 Early return in when flag_associative_math is not set.
12315
cb5da135 123162010-08-11 Sebastian Pop <sebastian.pop@amd.com>
4aa9a167
SP
12317
12318 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
12319 of SSA copies on edges except for loop->latch.
12320
cb5da135 123212010-08-11 Sebastian Pop <sebastian.pop@amd.com>
ee646fc6
SP
12322
12323 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps_out_of_ssa):
12324 Split out of rewrite_reductions_out_of_ssa.
12325 * graphite-sese-to-poly.h (rewrite_cross_bb_scalar_deps_out_of_ssa):
12326 Declared.
12327 * graphite.c (graphite_transform_loops): Call it.
12328
cb5da135 123292010-08-11 Sebastian Pop <sebastian.pop@amd.com>
6a7441f5
SP
12330
12331 * graphite.c (graphite_transform_loops): Add two more dbg_cnt calls.
12332
cb5da135 123332010-08-11 Alexander Monakov <amonakov@ispras.ru>
6a7441f5
SP
12334
12335 * dbgcnt.def (graphite_scop): New counter.
12336 * graphite.c: Include dbgcnt.h.
12337 (graphite_transform_loops): Use new counter to limit transformations.
12338 * Makefile.in (graphite.o): Depend on DBGCNT_H.
12339
cb5da135 123402010-08-11 Sebastian Pop <sebastian.pop@amd.com>
d4332d00
SP
12341
12342 * passes.c (init_optimization_passes): Add pass_graphite.
12343 Schedule a pass_copy_prop before pass_graphite_transforms.
12344 * timevar.def (TV_GRAPHITE): Declared.
12345 * tree-pass.h (pass_graphite): Declared.
12346 * tree-ssa-loop.c (pass_graphite): New.
12347
cb5da135 123482010-08-11 Sebastian Pop <sebastian.pop@amd.com>
14d0e129
SP
12349
12350 * graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter.
12351 Remove calls to rename_nb_iterations and rename_sese_parameters.
12352 * graphite-clast-to-gimple.h (gloog): Update declaration.
12353 * graphite.c (graphite_transform_loops): Update call to gloog.
12354 * sese.c (rename_variables_in_expr): Removed.
12355 (rename_nb_iterations): Removed.
12356 (rename_sese_parameters): Removed.
12357 * sese.h (rename_nb_iterations): Removed.
12358 (rename_sese_parameters): Removed.
12359
cb5da135 123602010-08-11 Sebastian Pop <sebastian.pop@amd.com>
d1ba0721
SP
12361
12362 * graphite-clast-to-gimple.c (gloog): Remove call to
12363 sese_adjust_liveout_phis.
12364 * graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an
12365 SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps.
12366 (rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call
12367 rewrite_phi_out_of_ssa.
12368 * sese.c (get_vdef_before_sese): Removed.
12369 (sese_adjust_vphi): Removed.
12370 (sese_adjust_liveout_phis): Removed.
12371 * sese.h (sese_adjust_liveout_phis): Removed.
12372
cb5da135 123732010-08-11 Sebastian Pop <sebastian.pop@amd.com>
5fed5769
SP
12374
12375 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Pass an extra
12376 argument for the place after which to insert the out of SSA copy.
12377 (rewrite_close_phi_out_of_ssa): Update calls to insert_out_of_ssa_copy.
12378 (rewrite_phi_out_of_ssa): Same.
12379 (rewrite_cross_bb_scalar_deps): Same.
12380 (insert_copyout): Removed.
12381 (insert_copyin): Removed.
12382 (translate_scalar_reduction_to_array): Call insert_out_of_ssa_copy and
12383 insert_out_of_ssa_copy_on_edge instead of insert_copyout and
12384 insert_copyin.
12385
cb5da135 123862010-08-11 Sebastian Pop <sebastian.pop@amd.com>
3a7086cc
SP
12387
12388 * graphite-sese-to-poly.c (build_scop_bbs): Not static anymore.
12389 (rewrite_reductions_out_of_ssa): Same.
12390 (rewrite_commutative_reductions_out_of_ssa): Same.
12391 (build_poly_scop): Do not call these functions.
12392 * graphite-sese-to-poly.h (build_poly_scop): Declared.
12393 (rewrite_reductions_out_of_ssa): Declared.
12394 (rewrite_commutative_reductions_out_of_ssa): Declared.
12395 * graphite.c (graphite_transform_loops): Call on every scop
12396 rewrite_commutative_reductions_out_of_ssa before calling
12397 rewrite_reductions_out_of_ssa and build_scop_bbs.
12398
cb5da135 123992010-08-11 Sebastian Pop <sebastian.pop@amd.com>
61ca46ce
SP
12400
12401 * graphite-dependences.c (dot_deps): Make system call to dotty run
12402 in background.
12403 (dot_deps_stmt): Same.
12404 * graphite-poly.c (dot_lst): Same.
12405
cb5da135 124062010-08-11 Sebastian Pop <sebastian.pop@amd.com>
159e4616
SP
12407
12408 * graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed
12409 phi_arg_in_outermost_loop.
12410 (remove_simple_copy_phi): Call phi_arg_in_outermost_loop.
12411 (remove_invariant_phi): Same.
12412
6cbd8875
AS
124132010-08-11 Anatoly Sokolov <aesok@post.ru>
12414
12415 * target.def (output_addr_const_extra): New hook.
12416 * doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document.
12417 * doc/tm.texi: Regenerate.
12418 * targhooks.c (default_asm_output_addr_const_extra): New function.
12419 * targhooks.h (default_asm_output_addr_const_extra): Declare.
cb1b497e 12420 * final.c (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
6cbd8875
AS
12421 target hook.
12422
12423 * config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
12424 * config/i386/i386-protos.h (output_addr_const_extra): Remove.
12425 * config/i386/i386.h (output_addr_const_extra): Rename to...
12426 (i386_asm_output_addr_const_extra): ...this. Make static.
12427 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
12428
51ba747a
RH
124292010-08-11 Richard Henderson <rth@redhat.com>
12430
12431 * config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.
12432
bfd71bc1
NC
124332010-08-11 Nick Clifton <nickc@redhat.com>
12434
12435 * config/stormy16/stormy16-lib2.c (__cmpsi2): New function.
12436 * config/stormy16/stormy16-lib2-cmpsi2.c: New file.
12437 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
12438 stormy16-lib2-cmpsi.c.
12439
12440 * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Change to
12441 -O2.
12442
481e1176
JM
124432010-08-11 Joseph Myers <joseph@codesourcery.com>
12444
12445 * opts.h (struct cl_option_handler_func): Make handler take
12446 cl_decoded_option structure as parameter, not individual elements.
12447 (struct cl_option_handlers): Make callbacks take cl_decoded_option
12448 structure as parameter, not individual elements.
12449 (handle_option): Take cl_decoded_option structure as parameter,
12450 not individual elements.
12451 (handle_generated_option): Declare.
12452 * opts-common.c (handle_option): Take cl_decoded_option structure
12453 as parameter, not individual elements. Update calls to callback
12454 and handler functions.
12455 (handle_generated_option): New.
12456 (read_cmdline_option): Update calls to callback functions and
12457 handle_option.
12458 * opts.c (common_handle_option, complain_wrong_lang,
12459 unknown_option_callback, post_handling_callback,
12460 lang_handle_option, target_handle_option): Take cl_decoded_option
12461 structure as parameter, not individual elements.
12462 (lang_handle_option, target_handle_option, common_handle_option):
12463 Assert option has at most one argument.
12464 (enable_warning_as_error): Call handle_generated_option instead of
12465 handle_option. Do not pass -Werror argument as argument of
12466 generated option.
12467
e5fbc9bf
JDA
124682010-08-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12469
12470 * config/pa/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
12471 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
12472 (SUBWORD_BOOL_CAS): Likewise.
12473 (SUBWORD_SYNC_OP): Likewise.
12474 (SUBWORD_TEST_AND_SET): Likewise.
12475 (FETCH_AND_OP_WORD): Parenthesise INF_OP
12476 (SUBWORD_SYNC_OP): Likewise.
12477 (OP_AND_FETCH_WORD): Likewise.
12478
d6fa2d17
XDL
124792010-08-10 Xinliang David Li <davidxl@google.com>
12480
12481 * tree-ssa-loop-ivopts.c (get_address_cost): Properly
12482 compute max/min offset in address.
12483
9995f209
VM
124842010-08-10 Vladimir Makarov <vmakarov@redhat.com>
12485
12486 * ira-live.c: Include sbitmap.h.
12487 (remove_some_program_points_and_update_live_ranges): Use sbitmaps.
12488 Compress live ranges even more.
12489
175a62b7
NF
124902010-08-10 Nathan Froyd <froydnj@codesourcery.com>
12491
12492 * coverage.c (ctr_labels): Delete.
12493
8f4c6e28
BS
124942010-08-10 Bernd Schmidt <bernds@codesourcery.com>
12495
12496 PR bootstrap/45177
12497 * config/arm/arm.c (multiple_operation_profitable_p): Move xscale
12498 test here from arm_gen_load_multiple_1.
12499 (arm_gen_load_multiple_1, arm_gen_store_multiple_1): Use
12500 multiple_operation_profitable_p.
12501
a72ae88a
NF
125022010-08-10 Nathan Froyd <froydnj@codesourcery.com>
12503
009c04bf 12504 * tree-ssa-pre.c (init_pre): Call alloc_aux_for_blocks.
a72ae88a
NF
12505 (fini_pre): Call free_aux_for_blocks. Delete unused bb variable.
12506
35b15a46
RH
125072010-08-10 Richard Henderson <rth@redhat.com>
12508
12509 * config/i386/i386.c (ix86_compute_frame_layout): Re-align stack
12510 after saving registers. Assert that SSE registers are only saved
12511 with a sufficiently aligned frame.
12512 (ix86_emit_save_reg_using_mov): Assert realigned only with DRAP;
12513 remove stack_realign_fp handling.
12514 (ix86_expand_prologue): Save int registers before stack_realign_fp,
12515 and do not mark the stack alignment as frame related.
12516 (ix86_expand_epilogue): SP is now invalid with stack_realign_fp.
12517
12518 * dwarf2out.c (dwarf2out_frame_debug_expr): Flush queued register
12519 saves when re-aligning the stack.
12520
a398224a
NF
125212010-08-10 Nathan Froyd <froydnj@codesourcery.com>
12522
12523 * basic-block.h (alloc_aux_for_block, alloc_aux_for_edge): Delete.
12524 * cfg.c (alloc_aux_for_block, alloc_aux_for_edge): Make static.
12525 (alloc_aux_for_blocks, clear_aux_for_blocks): Use FOR_ALL_BB.
12526
774038e6
NF
125272010-08-10 Nathan Froyd <froydnj@codesourcery.com>
12528
12529 * dwarf2out.c (struct die_struct): Move die_tag to the end.
12530
ceddf62c
SN
125312010-08-09 Sofiane Naci <sofiane.naci@arm.com>
12532
f6aa1e0f
RR
12533 * config/arm/iterators.md: New file.
12534 * config/arm/arm.md: Include iterators.md.
12535 (QHSI): Move to new file.
12536 (LTUGEU, cnb, optab, ior_xor): Likewise.
12537 * config/arm/iwmmxt.md (VMMX): Move to new file.
12538 (VSHFT, MMX_char): Likewise.
12539 * config/arm/neon.md (VD): Move to new file.
12540 (VDX, VDI, VQ, VQX, VQI, VQXMOV, VSTRUCT, VTAB, V_TAB_n, VW): Likewise.
12541 (VN, VDQ, VDQW, VDQIW, VCVTF, VCVTI, VMD, VMQ, VMDQ, VMDI): Likewise.
12542 (VMDQI, VX, VE, V64, V32, V_CVTTO, V_elem, V_ext): Likewise.
12543 (V_two_elem, V_three_elem, V_four_elem, V_req, V_widen): Likewise.
12544 (V_narrow, V_HALF, V_half,V_DOUBLE, V_double): Likewise.
12545 (V_double_width, V_cmp_result, V_if_elem, V_s_elem): Likewise.
12546 (V_u_elem, V_uf_sclr, V_sz_elem, VD_dup): Likewise.
12547 (V_PAIR, vqh_ops, vqhs_ops, VQH_mnem, VQH_sign, V_suf64): Likewise.
12548 (scalar_mul_constraint,Is_float_mode, Scalar_mul_8_16): Likewise.
12549 (Is_d_reg, V_mode_nunits): Likewise.
12550 * config/arm/vec-common.md (VALL): Move to new file.
12551 (VALLW, VINT, VINTW): Likewise.
ceddf62c 12552
5466d63d
BS
125532010-08-10 Bernd Schmidt <bernds@codesourcery.com>
12554
12555 PR middle-end/45182
12556 * combine.c (make_compound_operation): Don't try to convert
12557 shifts into multiplications for modes that aren't SCALAR_INT_MODE_P.
12558
e80c2726
RG
125592010-08-10 Richard Guenther <rguenther@suse.de>
12560
12561 * tree.h (get_object_alignment): Adjust prototype.
12562 * builtins.c (get_object_alignment): Return unsigned int,
12563 drop the align parameter. Handle MEM_REF, MISALIGNED_INDIRECT_REF
12564 and TARGET_MEM_REF properly.
12565 (get_pointer_alignment): Adjust.
12566 * emit-rtl.c (get_mem_align_offset): Adjust comment.
12567 (set_mem_attributes_minus_bitpos): Adjust.
12568 * tree-ssa-ccp.c (get_value_from_alignment): Adjust.
12569
a024390f
RG
125702010-08-10 Richard Guenther <rguenther@suse.de>
12571
12572 * tree-ssa-copy.c (set_copy_of_val): Use operand_equal_p.
12573 (copy_prop_visit_assignment): Simplify.
12574 (copy_prop_visit_stmt): Also visit assignments from
12575 constants.
12576 (copy_prop_visit_phi_node): Use operand_equal_p.
12577
ff61e417
NF
125782010-08-09 Nathan Froyd <froydnj@codesourcery.com>
12579
12580 * ipa-split.c (find_split_points): Free stack.
12581
5a351c3c
NF
125822010-08-09 Nathan Froyd <froydnj@codesourcery.com>
12583
12584 * tree.h (tree_node_kind) [perm_list_kind,temp_list_kind]: Delete.
12585 * tree.c (tree_node_kind): Delete corresponding entries.
12586
0c9510ab
L
125872010-08-09 H.J. Lu <hongjiu.lu@intel.com>
12588
12589 * alias.c (may_alias_p): Remove unused ret.
12590
c6ea834c
BM
125912010-08-09 Bingfeng Mei <bmei@broadcom.com>
12592
12593 * ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of
12594 alias_sets_conflict_p.
12595 (walk_mems_1): Moved from alias.c.
12596 (insns_may_alias_p): New function, originally insn_alias_sets_conflict_p
a96ad348 12597 in alias.c.
ef7e0035
UB
12598 (add_inter_loop_mem_dep): Use insns_may_alias_p now.
12599 * cse.c (cse_insn): New argument in calling nonoverlapping_memrefs_p.
12600 * alias.c (walk_mems_2): Moved to ddg.c.
c6ea834c
BM
12601 (walk_mems_1): Ditto.
12602 (insn_alias_sets_conflict_p): Renamed to insns_may_alias_p and moved
12603 to ddg.c.
12604 (nonoverlapping_memrefs_p): Add flag to guard offset-based memory
12605 disambiguation.
12606 *(may_alias_p): New function to check whether two memory expression
12607 may alias or not. Currently used in buidling inter-iteration memory
12608 dependence.
12609 *alias.h (nonoverlapping_memrefs_p): New flag as third argument.
12610 (insn_alias_sets_conflict_p): Removed
12611 *rtl.h (may_alias_p): New function prototype.
a96ad348 12612
72ac05b0
NF
126132010-08-09 Nathan Froyd <froydnj@codesourcery.com>
12614
12615 * tree.c (nreverse): Assert that we don't have a BLOCK.
12616
f38958e8
NF
126172010-08-09 Nathan Froyd <froydnj@codesourcery.com>
12618
12619 * builtins.c (fold_builtin_next_arg): Use stdarg_p.
12620 * config/arm/arm.c (arm_get_pcs_model): Likewise.
12621 * config/avr/avr.c (init_cumulative_args): Likewise.
12622 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
12623 * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
12624 * config/m68k/m68k.c (m68k_return_pops_args): Likewise.
12625 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
12626 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
12627 * config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
12628 * config/rs6000/rs6000.c (init_cumulative_args): Likewise.
12629 * dwarf2out.c (gen_subprogram_die): Likewise.
12630 * function.c (allocate_struct_function): Likewise.
12631 * c-aux-info.c (gen_formal_list_for_func_dec): Likewise.
12632 (deserves_ellipsis): Delete.
12633
ec64af64
RG
126342010-08-09 Richard Guenther <rguenther@suse.de>
12635
12636 * tree-ssa-copy.c (cached_last_copy_of): Remove.
12637 (valueize_val): New function.
12638 (get_last_copy_of): Remove.
12639 (set_copy_of_val): Simplify.
12640 (dump_copy_of): Likewise.
12641 (copy_prop_visit_cond_stmt): Use valueize_val.
12642 (copy_prop_visit_phi_node): Properly handle unvisited names.
12643 Drop code managing copy-of chains.
12644 (init_copy_prop): Adjust.
12645 (fini_copy_prop): Likewise.
12646 (execute_copy_prop): Remove obsolete comment.
12647
37609bf0
RG
126482010-08-09 Richard Guenther <rguenther@suse.de>
12649
12650 PR middle-end/44632
12651 * function.c (gimplify_parameters): Do not clear addressable
12652 bit of the original parameter.
12653
3e32c761
RG
126542010-08-09 Richard Guenther <rguenther@suse.de>
12655
12656 PR middle-end/45212
12657 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust
12658 alignment from MEM_REF offset only if we took it from the
12659 base object.
12660
74164603 126612010-08-09 Eric Fisher <joefoxreal@gmail.com>
cee00e22
EF
12662
12663 * doc/sourcebuild.texi (vect_int_mult): Remove duplicate entry.
12664
b3399d18
NF
126652010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12666
12667 * c-tree.h (build_arg_info): Declare.
12668 * c-decl.c (build_arg_info): Define.
12669 (get_parm_info): Call it. Delete initialization code.
12670 * c-parser.c (c_parser_parms_declarator): Likewise.
12671 (c_parser_parms_list_declaractor): Likewise.
12672
e60bf9d4
NF
126732010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12674
12675 * c-tree.h (c_arg_tag): Define. Define a VEC containing it.
12676 (struct c_arg_info): Change type of tags field.
12677 * c-decl.c (grokdeclarator): Update for changed type of tags field.
12678 (get_parm_info): Likewise.
12679 (store_parm_decls_newstyle): Likewise.
12680
e7c64c7d
NF
126812010-08-08 Nathan Froyd <froydnj@codesourcery.com>
12682
12683 * config/rs6000/rs6000.c (branch_island): Define. Define a VEC of it.
12684 (branch_island_list): Delete.
12685 (branch_islands): Declare.
12686 (add_compiler_branch_island): Adjust for branch_islands instead of
12687 branch_island_list.
12688 (macho_branch_islands): Likewise.
12689 (no_previous_def): Likewise.
12690 (get_prev_label): Likewise.
12691
cf00499e
JDA
126922010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12693
12694 PR boehm-gc/34544
12695 * gthr-posix.h (__gthread_start): Delete.
12696 (__gthread_active_init): Use pthread_default_stacksize_np instead of
12697 pthread_create to determine if hpux pthreads are active.
12698 * gthr-posix95.h (__gthread_start): Delete.
12699 (__gthread_active_init): Likewise use pthread_default_stacksize_np.
12700
1159da44
KT
127012010-08-08 Kai Tietz <kai.tietz@onevision.com>
12702
12703 * config/i386/mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define
12704 _WIN64 not expanded.
12705
f6ddf131
UB
127062010-08-07 Uros Bizjak <ubizjak@gmail.com>
12707 H.J. Lu <hongjiu.lu@intel.com>
12708
12709 PR target/45213
12710 * config/i386/i386.c (ix86_print_operand): Handle 'q' operand modifier
12711 to output 32bit SFmode immediate as 8 byte sign extended value.
12712
17fec01d
MS
127132010-08-07 Marcus Shawcroft <marcus.shawcroft@arm.com>
12714
12715 * config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
12716 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
12717 (SUBWORD_BOOL_CAS): Likewise.
12718 (SUBWORD_SYNC_OP): Likewise.
12719 (SUBWORD_TEST_AND_SET): Likewise.
12720 (FETCH_AND_OP_WORD): Parenthesise INF_OP
12721 (SUBWORD_SYNC_OP): Likewise.
12722 (OP_AND_FETCH_WORD): Likewise.
12723
b0c13111
RR
127242010-08-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12725
f6ddf131
UB
12726 * config/arm/cortex-a9.md: Rewrite VFP Pipeline description.
12727 * config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost.
12728 (arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise.
12729 (arm_adjust_cost): Split into xscale_sched_adjust_cost and a
12730 generic part.
12731 (cortex_a9_sched_adjust_cost): New function.
12732 (xscale_sched_adjust_cost): New function.
12733 * config/arm/arm-protos.h (struct tune_params): New field
12734 sched_adjust_cost.
12735 * config/arm/arm-cores.def: Adjust costs for cortex-a9.
b0c13111 12736
e0c7ff23
EB
127372010-08-06 Eric Botcazou <ebotcazou@adacore.com>
12738
12739 PR target/44942
12740 * config/sparc/sparc.c (function_arg_advance): Always take into account
12741 the padding, if any.
12742
0b4b14ac
RG
127432010-08-06 Richard Guenther <rguenther@suse.de>
12744
12745 * tree-ssa-ccp.c (struct prop_value_d): Add mask member.
12746 (dump_lattice_value): Dump it.
12747 (get_default_value): Adjust.
12748 (get_constant_value): Likewise.
12749 (set_value_varying): Likewise.
12750 (set_lattice_value): Make sure to not go up the lattice
12751 with bitwise constant values.
12752 (get_value_for_expr): Handle ADDR_EXPRs.
12753 (value_to_double_int): New function.
12754 (get_value_from_alignment): Likewise.
12755 (do_dbg_cnt): Adjust.
12756 (ccp_lattice_meet): Handle partially constant values.
12757 (bit_value_unop_1): New function.
12758 (bit_value_binop_1): Likewise.
12759 (bit_value_unop): Likewise.
12760 (bit_value_binop): Likewise.
12761 (evaluate_stmt): Track partially constant values if
12762 flag_tree_bit_ccp is set.
12763 (ccp_fold_stmt): Dump if we folded a predicate.
12764 (ccp_visit_stmt): Adjust.
12765 * common.opt (ftree-bit-ccp): New flag.
12766 * doc/invoke.texi (ftree-bit-ccp): Document.
12767 * opts.c (decode_options): Enable bit-CCP at -O1.
12768
4942323e
AM
127692010-08-06 Alan Modra <amodra@gmail.com>
12770
12771 * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
12772 and -mrelocatable-lib description.
12773
5444da31
BS
127742010-08-05 Bernd Schmidt <bernds@codesourcery.com>
12775
12776 From Martin Thuresson <martint@google.com>
12777 * postreload.c (reload_cse_simplify_operands): Use
12778 SET_REGNO_RAW instead of SET_REGNO.
12779 * caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
12780 SET_REGNO.
12781 * ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
12782 instead of SET_REGNO.
12783 * rtl.h (SET_REGNO_RAW): New macro.
12784
c04fc4f0
EB
127852010-08-05 Eric Botcazou <ebotcazou@adacore.com>
12786
12787 * rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
12788 computations. Fix formatting issues.
12789 (num_sign_bit_copies1): Likewise.
12790 (canonicalize_condition): Likewise.
12791
bd95721f
RH
127922010-08-05 Richard Henderson <rth@redhat.com>
12793
12794 * toplev.h (ctz_hwi, clz_hwi, ffs_hwi): New.
12795 (floor_log2): Use clz_hwi.
12796 (exact_log2): Use ctz_hwi.
12797 * toplev.c (ctz_hwi, clz_hwi, ffs_hwi): New.
12798 * builtins.c (fold_builtin_bitop): Use them.
12799 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
12800 * combine.c (get_pos_from_mask): Use ctz_hwi.
12801 * double-int.c (double_int_ctz): Likewise.
12802 * explow.c (force_reg): Likewise.
12803 * tree.h (SET_DECL_OFFSET_ALIGN): Use ffs_hwi.
12804
55b324a6
RH
128052010-08-05 Richard Henderson <rth@redhat.com>
12806
12807 PR target/45189
12808 * config/i386/i386.c (ix86_emit_save_reg_using_mov): Make sure
12809 the alignment constant is properly sign-extended.
12810
29e9efdf
RG
128112010-08-05 Richard Guenther <rguenther@suse.de>
12812
12813 * expr.c (store_expr): Use emit_block_move only if both
12814 source and target are MEMs. Use store_bit_field if only
12815 the target is a MEM.
12816
c3576fa7
RH
128172010-08-05 Richard Henderson <rth@redhat.com>
12818
55b324a6 12819 PR debug/45188
c3576fa7
RH
12820 * dwarf2out.c (DWARF2_UNWIND_INFO): Provide default definition.
12821 (INCOMING_RETURN_ADDR_RTX): Likewise.
12822 (dwarf2out_do_frame): Remove conditional compilation.
12823 (dwarf2out_frame_init): Likewise.
12824
acdb4da7
NS
128252010-08-05 Nicolas Setton <setton@adacore.com>
12826
12827 * gcov.c (flag_display_progress): New static variable.
12828 (main): Display progress info on standard output if requested.
12829 (options): Add -d/--display-progress.
12830 (print_usage): Print them.
12831 (process_args): Handle them.
12832 * doc/gcov.texi: Document them.
12833
3e66255c
MJ
128342010-08-05 Martin Jambor <mjambor@suse.cz>
12835
12836 * ipa-cp.c (ipcp_discover_new_direct_edges): New function.
12837 (ipcp_insert_stage): Redirect only edges not flagged with
12838 indirect_inlining_edge. Call ipcp_discover_new_direct_edges for all
12839 discovered constants.
12840
3949c4a7
MJ
128412010-08-05 Martin Jambor <mjambor@suse.cz>
12842
12843 * ipa-prop.h (enum ipa_lattice_type): Changed comments.
12844 (struct ipa_param_descriptor): New fields types and
12845 cannot_devirtualize.
12846 (ipa_param_cannot_devirtualize_p): New function.
12847 (ipa_param_types_vec_empty): Likewise.
12848 (ipa_make_edge_direct_to_target): Declare.
12849 * ipa-cp.c: Fixed first stage driver name in initial comment,
12850 described devirtualization there too.
12851 (ipcp_analyze_node): Call ipa_analyze_params_uses.
12852 (ipcp_print_all_lattices): Print devirtualization info.
12853 (ipa_set_param_cannot_devirtualize): New function.
12854 (ipcp_initialize_node_lattices): Set cannot_devirtualize when setting
12855 lattice to BOTTOM.
12856 (ipcp_init_stage): Merged into...
12857 (ipcp_generate_summary): ...its caller.
12858 (ipcp_change_tops_to_bottom): Also process type lists.
12859 (ipcp_add_param_type): New function.
12860 (ipcp_copy_types): Likewise.
12861 (ipcp_propagate_types): Likewise.
12862 (ipcp_propagate_stage): Also propagate types.
12863 (ipcp_need_redirect_p): Variable jump_func moved to its scope block.
12864 Also return true if propagated types require it.
12865 (ipcp_update_callgraph): Dump redirection info.
12866 (ipcp_process_devirtualization_opportunities): New function.
12867 (ipcp_const_param_count): Include known type information.
12868 (ipcp_insert_stage): Call ipcp_process_devirtualization_opportunities
12869 on new node. Fixed formatting.
12870 * ipa-prop.c (make_edge_direct_to_target): Renamed to
12871 ipa_make_edge_direct_to_target and changed all callers. Made
12872 externally visible.
12873 (ipa_node_duplication_hook): Duplicate types vector.
12874 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Also try to
12875 redirect outgoing calls for which we can't get a decl from the
12876 statement. Check that we can get a decl from the call statement.
12877 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
12878 ipa_analyze_params_uses only when ipa-cp is disabled.
12879 * tree-inline.c (get_indirect_callee_fndecl): Removed.
12880 (expand_call_inline): Do not call get_indirect_callee_fndecl.
12881 * params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): New parameter.
12882 * Makefile.in (ipa-cp.o): Add gimple.h to dependencies.
12883
4caa21a1
UB
128842010-08-05 Uros Bizjak <ubizjak@gmail.com>
12885
12886 * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
12887 temporary. Emit move from temporary to accum, so REG_EQUAL note will
12888 be attached to this insn in correct mode.
12889
a5b2e0ef
UB
128902010-08-05 Uros Bizjak <ubizjak@gmail.com>
12891
12892 * config/i386/i386.c (ix86_decompose_address): Check for SI_REG
12893 using REGNO of base_reg directly.
12894
36b86f4a
JZ
128952010-08-05 Jie Zhang <jie@codesourcery.com>
12896
12897 PR tree-optimization/45144
12898 * tree-sra.c (type_consists_of_records_p): Return false
12899 if the record contains bit-field.
12900
9bf40564
RH
129012010-08-04 Richard Henderson <rth@redhat.com>
12902
106c3c10
RH
12903 * config/i386/i386.c (struct ix86_frame): Remove padding and
12904 to_allocate members.
12905 (ix86_compute_frame_layout): Don't store them.
12906 (ix86_can_use_return_insn_p): Use a more direct and more obviously
12907 correct condition for the position of the stack pointer.
12908 (ix86_expand_prologue): Compute remaining stack allocation based
12909 on the ultimate stack pointer offset.
12910 (ix86_expand_epilogue): Use more obvious expressions testing for
12911 the stack pointer already pointing to the saved registers.
12912
87ec2632
RH
12913 * config/i386/i386.c (ix86_expand_epilogue): Eliminate code
12914 duplication deconstructing the frame pointer. Simplify
12915 deallocation of the local stack frame.
12916
c9f4c451
RH
12917 * reg-notes.def (CFA_EXPRESSION): New.
12918 * dwarf2out.c (dwarf2out_frame_debug): Handle it.
12919 (dwarf2out_frame_debug_cfa_expression): New.
12920 (dwarf2out_frame_debug_def_cfa): Handle simple MEMs.
12921
12922 * config/i386/i386.h (struct machine_frame_state): Add realigned flag.
12923 * config/i386/i386.c (ix86_expand_prologue): Set it.
12924 (ix86_expand_epilogue): Clear it.
12925 (ix86_emit_save_reg_using_mov): For registers saved in a realigned
12926 context, add REG_CFA_EXPRESSION notes.
12927
ec7ded37
RH
12928 * config/i386/i386.h (struct machine_frame_state): Rename from
12929 machine_cfa_state. Add members tracking SP and FP regardless
a5b2e0ef 12930 of the current CFA register.
ec7ded37
RH
12931 (ix86_cfa_state): Remove.
12932 * config/i386/i386.c (struct ix86_frame): Add reg_save_offset
12933 and sse_reg_save_offset members.
12934 (ix86_compute_frame_layout): Set them.
12935 (gen_push): Increment sp_offset too.
12936 (choose_baseaddr_len, choose_baseaddr): New.
12937 (ix86_emit_save_reg_using_mov): New.
12938 (ix86_emit_save_regs_using_mov): Use it.
12939 (ix86_emit_save_sse_regs_using_mov): Likewise.
12940 (ix86_add_cfa_restore_note): Take cfa_offset not red_offset argument;
12941 compare vs the saved red_zone_offset.
12942 (pro_epilogue_adjust_stack): Adjust sp_offset.
12943 (ix86_adjust_stack_and_probe): Likewise.
12944 (ix86_expand_prologue): Set up, use, and validate the new
12945 frame_state_info members. Use gen_frame_mem.
12946 (ix86_emit_restore_regs_using_pop): Remove red_offset parameter.
12947 (ix86_emit_restore_reg_using_pop): Likewise. Use and update the
12948 new frame_state_info members.
12949 (ix86_emit_leave): Likewise.
12950 (ix86_emit_restore_regs_using_mov): Likewise. Don't check for
12951 out-of-range stack pointer offsets here.
12952 (ix86_emit_restore_sse_regs_using_mov): Likewise.
12953 (ix86_expand_epilogue): Use and validate the new frame_state_info
12954 members. Break up and simplify the logic selecting the
12955 restore_regs_via_mov code path. Ensure that there will be no
12956 out-of-range stack pointer offsets.
12957
17959958
RH
12958 * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Remove.
12959
e8dc4658
RH
12960 * config/i386/i386.c (ix86_function_ms_hook_prologue): Fix
12961 argument name to reflect the expected tree; fix indentation.
12962 (ix86_asm_output_function_label): Output the entire 32-bit
12963 ms_hook here as bytes ...
12964 (ix86_expand_prologue): ... not here as insns. Attach the
12965 unwind info for the ms_hook to a blockage insn.
12966 (ix86_handle_fndecl_attribute): Don't check HAVE_AS_IX86_SWAP.
12967 (ix86_ms_bitfield_layout_p): Fix indentation.
12968 * config/i386/i386.md (UNSPECV_VSWAPMOV, vswapmov): Remove.
12969
25502041
RH
12970 * config/i386/i386.c (ix86_using_red_zone): New.
12971 (ix86_compute_frame_layout, ix86_add_cfa_restore_note,
12972 ix86_expand_prologue, ix86_force_to_memory): Use it.
12973
cdcb5f26
RH
12974 * config/i386/i386.c (ix86_expand_prologue): Simplify logic
12975 saving the int registers.
12976
9bf40564
RH
12977 * dwarf2out.c: Remove most of the DWARF2_DEBUGGING_INFO
12978 and DWARF2_UNWIND_INFO conditional compilation.
12979
e78f1a3f
RH
129802010-08-04 Richard Henderson <rth@redhat.com>
12981
12982 PR debug/45171
12983 * dwarf2out.c (gen_typedef_die): Don't re-generate the die of
12984 an is_naming_typedef_decl.
12985
fde157f2
BS
129862010-08-04 Bernd Schmidt <bernds@codesourcery.com>
12987
12988 PR rtl-optimization/45162
12989 * df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs.
12990 * dce.c (word_dce_process_block): Likewise.
12991
33974673
SE
129922010-08-04 Steve Ellcey <sje@cup.hp.com>
12993
12994 PR target/44583
12995 * config/ia64/constraints.md (Z): New.
12996 * config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New.
12997 (xfreg_or_signed_fp01_operand): New.
12998 * config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand
12999 with fr_reg_or_signed_fp01_operand and constraint G with Z.
13000 (subsf3): Ditto.
13001 (*maddsf4): Ditto.
13002 (*msubsf4): Ditto.
13003 (adddf3): Ditto.
13004 (adddf3_trunc): Ditto.
13005 (subdf3): Ditto.
13006 (*subdf3_trunc): Ditto.
13007 (*madddf4): Ditto.
13008 (*madddf4_trunc): Ditto.
13009 (*msubdf4): Ditto.
13010 (*msubdf4_trunc): Ditto.
13011 (addxf3): Replace xfreg_or_fp01_operand with
13012 xfreg_or_signed_fp01_operand and constraint G with Z.
13013 (*addxf3_truncsf): Ditto.
13014 (*addxf3_truncdf): Ditto.
13015 (subxf3): Ditto.
13016 (*subxf3_truncsf): Ditto.
13017 (*subxf3_truncdf): Ditto.
13018 (*maddxf4): Ditto.
13019 (*maddxf4_truncsf): Ditto.
13020 (*maddxf4_truncdf): Ditto.
13021 (*msubxf4): Ditto.
13022 (*msubxf4_truncsf): Ditto.
13023 (*msubxf4_truncdf): Ditto.
13024
55e3bc4c
RG
130252010-08-04 Richard Guenther <rguenther@suse.de>
13026
13027 * alias.c (rtx_refs_may_alias_p): Do not resort to TBAA
13028 if either alias-set is zero.
13029
455e6d5b
RG
130302010-08-04 Richard Guenther <rguenther@suse.de>
13031
13032 * tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ...
13033 * tree-ssa-ccp.c: ... here.
13034 * tree-ssa-copy.c: ... and here.
a5b2e0ef 13035 * tree-ssa-propagate.h (enum value_range_type, struct value_range_d,
455e6d5b
RG
13036 value_range_t): Move ...
13037 * tree-vrp.c: ... here.
13038 * tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef.
13039 (substitute_and_fold): Adjust prototype.
13040 * tree-ssa-propagate.c (replace_uses_in): Adjust.
13041 (replace_phi_args_in): Likewise.
13042 (substitute_and_fold): Take callback to query lattice instead
13043 of pointer to lattice. Replace SSA name defs with lattice
13044 values first.
13045 * tree-ssa-ccp.c (ccp_finalize): Adjust.
13046 * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust.
13047 (get_value): New function.
13048 (fini_copy_prop): Adjust.
13049 * tree-vrp.c (vrp_finalize): Adjust.
13050
48176d81
RG
130512010-08-04 Richard Guenther <rguenther@suse.de>
13052
13053 PR middle-end/45176
13054 * expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF
13055 points-to set for original MEM_REF.
13056
84d77ca6
RG
130572010-08-04 Richard Guenther <rguenther@suse.de>
13058
13059 * tree-ssa-ccp.c (get_constant_value): New function.
13060 (get_rhs_assign_op_for_ccp): Remove.
13061 (valueize_op): New function.
13062 (ccp_fold): Use get_constant_value and valueize_op.
13063 (fold_const_aggregate_ref): Likewise.
13064 (ccp_fold_stmt): Likewise.
13065 (visit_assignment): Simplify.
13066
552cbe64
RG
130672010-08-04 Richard Guenther <rguenther@suse.de>
13068
13069 * Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.
13070 * double-int.h (double_int_ctz): Declare.
13071 * double-int.c (double_int_ctz): New function.
13072
74164603 130732010-08-04 Hariharan Sandanagobalane <hariharan@picochip.com>
31af8367
HS
13074
13075 * config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
13076 Define.
13077 picochip_expand_movmemhi : Expand movmem pattern.
13078 * config/picochip/picochip-protos.h (picochip_expand_movmemhi) :
13079 Declare.
13080 * config/picochip/picochip.md (movmemhi) : New pattern.
13081
f39cd38b
UB
130822010-08-03 Uros Bizjak <ubizjak@gmail.com>
13083
13084 * config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.
13085
29b40d79
BS
130862010-08-03 Bernd Schmidt <bernds@codesourcery.com>
13087
13088 * simplify-rtx.c (simplify_binary_operation_1): Try to simplify away
13089 NEG as operand of a MULT by merging it with the other operand.
13090 * combine.c (make_compound_operation): Use trunc_int_for_mode when
13091 generating a MULT with constant. Canonicalize PLUS and MINUS involving
13092 MULT.
13093 * config/arm/constraints.md (M): Examine only 32 bits of a
13094 HOST_WIDE_INT.
13095 * config/arm/predicates.md (power_of_two_operand): Likewise.
13096
051de0eb
UW
130972010-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13098
13099 * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
13100 non-NOTE insns.
13101
241a2b9e
JH
131022010-08-03 Jan Hubicka <jh@suse.cz>
13103
13104 * ipa-split.c (struct split_point): Add split_part_set_retval.
13105 (find_retval): Forward declare.
13106 (test_nonssa_use, mark_nonssa_use): Special case return by reference.
13107 (consider_split): Compute current->split_part_set_retval.
13108 (visit_bb): Do not look into return value.
13109 (split_function): Handle !split_part_set_retval
13110
fc734382
MJ
131112010-08-03 Martin Jambor <mjambor@suse.cz>
13112
13113 * tree-sra.c (completely_scalarize_record): New parameter REF, create
13114 its own access->expr intead of using build_ref_for_offset.
13115
1890bccc
JM
131162010-08-03 Joseph Myers <joseph@codesourcery.com>
13117
13118 * config/alpha/alpha.h (SWITCH_TAKES_ARG): Define.
13119 * config/alpha/osf5.h (LIB_SPEC): Don't handle -a.
f39cd38b 13120 * config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G* options.
1890bccc
JM
13121 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework.
13122 * config/ia64/ia64.h (SWITCH_TAKES_ARG): Define.
13123 * config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove.
13124 * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using
13125 DEFAULT_SWITCH_TAKES_ARG.
13126 * config/rx/rx.opt (-patch=): Remove option.
13127 * config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_.
13128 * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib.
13129 * doc/invoke.texi (RX Options): Remove -patch=.
13130 * gcc.c (cc1_options): Pass -aux-info* instead of -a* options.
13131 (option_map): Remove --profile-blocks, --quiet and --silent.
13132
dc91d892
UB
131332010-08-03 Uros Bizjak <ubizjak@gmail.com>
13134
13135 * config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
13136 * config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove.
13137 (ix86_expand_branch): Add op0 and op1 arguments. Do not access
13138 ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
13139 Update calls to ix86_expand_compare and ix86_expand_branch.
13140 (ix86_expand_setcc): Add op0 and op1 arguments. Update calls to
13141 ix86_expand_compare.
13142 (ix86_expand_compare): Add op0 and op1 arguments. Do not access
13143 ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
13144 Make static.
13145 (ix86_expand_carry_flag_compare): Do not set ix86_compare_op0
13146 and ix86_compare_op1. Update calls to ix86_expand_compare.
13147 (ix86_expand_int_movcc): Ditto.
13148 (ix86_expand_fp_movcc): Ditto. Update calls to ix86_expand_setcc.
13149 * config/i386/i386-protos.h (ix86_expand_branch): Update prototype.
13150 (ix86_expand_setcc): Ditto.
13151 (ix86_expand_compare): Remove prototype.
13152 * config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set
13153 ix86_compare_op0 and ix86_compare_op1. Update calls
13154 to ix86_expand_branch to directly pass operands[1] and operands[2].
13155 (cbranchxf4): Ditto.
13156 (cbranch<MODEF:mode>4): Ditto.
13157 (cbranchcc4): Ditto.
13158 (cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1.
13159 Update calls to ix86_expand_setcc to directly pass operands[2] and
13160 operands[3].
13161 (cstorexf4): Ditto.
13162 (cstore<MODEF:mode>4): Ditto.
13163 (cstorecc4): Ditto.
13164
14292418
BS
131652010-08-02 Bernd Schmidt <bernds@codesourcery.com>
13166
13167 PR target/45063
13168 * caller-save.c (save_call_clobbered_regs): Remove regs from
13169 hard_regs_saved when they are set.
13170
fea8c257
UB
131712010-08-02 Uros Bizjak <ubizjak@gmail.com>
13172
13173 PR target/41089
13174 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
13175 as volatile.
13176
20769d5e
SP
131772010-08-02 Sebastian Pop <sebastian.pop@amd.com>
13178
13179 * common.opt (ftree-loop-distribute-patterns): New.
13180 * invoke.texi (-ftree-loop-distribute-patterns): Documented.
13181 * opts.c (decode_options): Enable flag_tree_loop_distribute_patterns
13182 at -O3.
13183 * tree-data-ref.c (stores_zero_from_loop): New.
13184 * tree-data-ref.h (stores_zero_from_loop): Declared.
13185 * tree-loop-distribution.c (tree_loop_distribution): Call
13186 stores_zero_from_loop.
13187 (tree_loop_distribution): Check flag_tree_loop_distribute_patterns.
13188
f37e278a
BS
131892010-08-02 Bernd Schmidt <bernds@codesourcery.com>
13190
13191 * postreload.c (reload_cse_simplify_operands): Take attribute enabled
13192 into account.
13193
906668bb
BS
13194 * final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
13195 * config/arm/arm.c (thumb1_code): New variable.
13196 (arm_override_options): Set it.
13197 (thumb1_final_prescan_insn): Keep track of condition code status.
13198 (arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
13199 jumps that depend on them.
13200 * config/arm/arm.h (thumb1_code): Declare variable.
13201 (struct machine_function): Guard with #ifndef GENERATOR_FILE. Add
13202 members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
13203 thumb1_cc_mode.
13204 (CC_STATUS_INIT): New macro.
13205 * config/arm/constraints.md (Pd): New constraint.
13206 * config/arm/predicates.md (noov_comparison_operator): New predicate.
13207 * config/arm/arm.md (is_thumb1): New define_attr.
13208 (conds): Set default to "clob" when generating Thumb1 code.
13209 (thumb1_bicsi3): Renamed from bicsi3. All uses changed. Condition
13210 code are set. Use two-operand assembly syntax.
13211 (thumb1_subsi3_insn): Condition codes are set. Now a properly named
13212 pattern.
13213 (thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
13214 codes are set. Use two-operand assembly syntax.
13215 (zero_extendhisi splitter): Remove constraints.
13216 (thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
13217 thumb1_movsf_insn): Set conds attribute as appropriate.
13218 (cbranchsi4_insn): Use condition code status from struct
13219 machine_function to determine whether the comparison can be eliminated.
13220 Discourage the alternative using high registers.
13221 (movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
13222 orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
13223 bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
13224 subsi3_cbranch): Delete.
13225 (movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
13226 one subtract and one cbranch insn.
13227
0bd44ba2
BS
13228 * config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn,
13229 thumb2_movdf_soft_insn): Delete patterns.
13230 * config/arm/arm.md (arm_pool_range, thumb2_pool_range,
13231 arm_neg_pool_range, thumb2_neg_pool_range): New attributes.
13232 (pool_range, neg_pool_range): Use them to define defaults.
13233 (movdi, arm_movsf_soft_insn, arm_movdf_soft_insn): Define them
13234 and allow for TARGET_32BIT.
13235
37119410
BS
13236 PR target/40457
13237 * config/arm/arm.h (arm_regs_in_sequence): Declare.
13238 * config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq,
13239 load_multiple_sequence, store_multiple_sequence): Delete
13240 declarations.
13241 (arm_gen_load_multiple, arm_gen_store_multiple): Adjust
13242 declarations.
13243 * config/arm/ldmstm.md: New file.
13244 * config/arm/arm.c (arm_regs_in_sequence): New array.
13245 (load_multiple_sequence): Now static. New args SAVED_ORDER,
13246 CHECK_REGS. All callers changed.
13247 If SAVED_ORDER is nonnull, copy the computed order into it.
13248 If CHECK_REGS is false, don't sort REGS. Handle Thumb mode.
13249 (store_multiple_sequence): Now static. New args NOPS_TOTAL,
13250 SAVED_ORDER, REG_RTXS and CHECK_REGS. All callers changed.
13251 If SAVED_ORDER is nonnull, copy the computed order into it.
13252 If CHECK_REGS is false, don't sort REGS. Set up REG_RTXS just
13253 like REGS. Handle Thumb mode.
13254 (arm_gen_load_multiple_1): New function, broken out of
13255 arm_gen_load_multiple.
13256 (arm_gen_store_multiple_1): New function, broken out of
13257 arm_gen_store_multiple.
13258 (arm_gen_multiple_op): New function, with code from
13259 arm_gen_load_multiple and arm_gen_store_multiple moved here.
13260 (arm_gen_load_multiple, arm_gen_store_multiple): Now just
13261 wrappers around arm_gen_multiple_op. Remove argument UP, all callers
13262 changed.
13263 (gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions.
13264 * config/arm/predicates.md (commutative_binary_operator): New.
13265 (load_multiple_operation, store_multiple_operation): Handle more
13266 variants of these patterns with different starting offsets. Handle
13267 Thumb-1.
13268 * config/arm/arm.md: Include "ldmstm.md".
13269 (ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2,
13270 ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1,
13271 stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related
13272 peepholes): Delete.
13273 * config/arm/ldmstm.md: New file.
13274 * config/arm/arm-ldmstm.ml: New file.
13275
13cc4787
BS
13276 * config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
13277 if statement which adds extra costs to frame-related expressions.
13278
0eeeef07
RR
132792010-08-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13280
13281 * config/arm/arm.c (COSTS_N_INSNS): Remove definition.
13282
22db1fbc
UB
132832010-08-01 Uros Bizjak <ubizjak@gmail.com>
13284
13285 PR target/45142
13286 * config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for
13287 alternative 2.
b146446c 13288 (vec_set<mode>_0 splitter): Use SSEMODE4S mode iterator to also
22db1fbc
UB
13289 split V4SI operands.
13290
501d087d
AS
132912010-08-01 Anatoly Sokolov <aesok@post.ru>
13292
13293 * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
13294 * config/mmix/mmix-protos.h (mmix_asm_output_source_filename): Remove.
13295 * config/mmix/mmix.c (mmix_asm_output_source_filename): Make static.
13296 (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
13297
da46381f
KT
132982010-07-31 Kai Tietz <kai.tietz@onevision.com>
13299
13300 * cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before
13301 LOCAL_INCLUDE_DIR.
13302
9eab7f91
RS
133032010-07-31 Richard Sandiford <rdsandiford@googlemail.com>
13304
13305 * tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type
13306 used in the call to optab_for_tree_code. Fix the second
13307 is_widening_mult_p call. Check that both unwidened operands
13308 have the same sign.
13309
6601202c
JT
133102010-07-31 John Tytgat <John.Tytgat@aaug.net>
13311
13312 * config/arm/arm.c (arm_function_arg): Remove superfluous test.
13313
08cbf291
AS
133142010-07-31 Anatoly Sokolov <aesok@post.ru>
13315
13316 * config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
13317
cf6521b4
DD
133182010-07-30 DJ Delorie <dj@redhat.com>
13319
13320 * config/rx/predicates.md (rx_constshift_operand): New.
13321 * config/rx/rx.md (zs_cond): New.
13322 (cbranchsi4): Remove mode.
13323 (*cbranchsi4_<code>): Likewise.
13324 (*tstbranchsi4_<code>): New.
13325 (*tstbranchsi4r_<code>): New.
13326 (*tstbranchsi4m_eq): New.
13327 (*tstbranchsi4m_ne): New.
13328 (cbranchsf4): Remove mode.
13329 (*cbranchsf4_<code>): Likewise.
13330
d4e0d036
BS
133312010-07-30 Bernd Schmidt <bernds@codesourcery.com>
13332
13333 * rtlanal.c (simplify_subreg_regno): Don't treat
13334 HARD_FRAME_POINTER_REGNUM specially.
13335
34251c0e
JM
133362010-07-30 Joseph Myers <joseph@codesourcery.com>
13337
13338 * common.opt (-G): Don't define option here.
13339 * config/g.opt: New.
13340 * config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips,
13341 rs6000/powerpc and score targets.
13342 * opts.c (common_handle_option): Don't handle -G here.
13343 * config/alpha/alpha.c (alpha_handle_option): Handle -G.
13344 * config/frv/frv.c (frv_handle_option): Handle -G.
13345 * config/ia64/ia64.c (ia64_handle_option): Handle -G.
22db1fbc 13346 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New.
34251c0e
JM
13347 * config/m32r/m32r.c (m32r_handle_option): Handle -G.
13348 * config/mips/mips.c (mips_handle_option): Handle -G.
13349 * config/rs6000/rs6000.c (rs6000_handle_option) Handle -G.
13350 * config/score/score.c (score_handle_option): Handle -G.
13351
2d5bfc67
AS
133522010-07-30 Anatoly Sokolov <aesok@post.ru>
13353
13354 * config/mmix/mmix.c: Include basic-block.h.
13355
f0fc0803
JJ
133562010-07-30 Jakub Jelinek <jakub@redhat.com>
13357
13358 PR debug/45055
13359 PR rtl-optimization/45137
13360 * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
13361 prototypes.
13362 * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
13363 New functions.
13364 * combine.c (next_nonnote_nondebug_insn): Removed.
13365 * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
13366 * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
13367 * sched-deps.c (sched_analyze_insn): Likewise.
13368 (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
13369 * rtlanal.c (canonicalize_condition): Likewise.
13370 * postreload.c (reload_combine_recognize_pattern): Likewise.
13371 (reload_cse_move2add): Use next_nonnote_nondebug_insn.
13372
f53ea4f0
UB
133732010-07-29 Uros Bizjak <ubizjak@gmail.com>
13374
13375 * config/i386/i386.md (int_cond): Remove code iterator.
13376 (fp_cond): Ditto.
13377 (cbranch<mode>4): Use ordered_comparison_operator predicate
13378 for operator0.
13379 (cstore<mode>4): Ditto for operator1.
8aadc2f3
UB
13380 (mov<SWIM:mode>cc and corresponding splitter): Ditto.
13381 (add<mode>cc): ditto.
f53ea4f0 13382
1f60f74e
RG
133832010-07-30 Richard Guenther <rguenther@suse.de>
13384
13385 PR middle-end/45141
13386 * expr.c (expand_expr_real_1): Check for not handled base address.
13387
4eb3f32c
RG
133882010-07-30 Richard Guenther <rguenther@suse.de>
13389
13390 * ipa-prop.c (ipa_modify_formal_parameters): Use
13391 build_distinct_type_copy.
13392
1242723c
AG
133932010-07-30 Anthony Green <green@moxielogic.com>
13394
13395 * config/moxie/rtems.h: New file.
13396 * config.gcc: Add moxie-rtems support.
13397
25aef556
BS
133982010-07-29 Bernd Schmidt <bernds@codesourcery.com>
13399
13400 * dce.c (run_word_dce): Take flag_dce into account. Clear and restore
13401 df flags as in run_fast_df_dce.
13402
0f953f83
JJ
134032010-07-29 Jakub Jelinek <jakub@redhat.com>
13404
13405 Revert:
f53ea4f0
UB
13406 2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
13407
0f953f83 13408 * rtl.def (NOTE): Swap operands 4 and 5.
f53ea4f0 13409 * rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK,
0f953f83
JJ
13410 NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND):
13411 Adjust accordingly.
f53ea4f0 13412 * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs.
0f953f83 13413
8b522bef
JJ
134142010-07-29 Jakub Jelinek <jakub@redhat.com>
13415
13416 PR debug/45110
13417 * dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer.
13418 (gen_formal_types_die): Add DW_AT_object_pointer in methods.
13419 (gen_subprogram_die): Likewise. Remove it when removing declaration's
13420 formal parameters.
13421 (gen_decl_die): Change return type to dw_die_ref, return what
13422 gen_formal_parameter_die returned.
13423
a1a6c2df
MJ
134242010-07-29 Martin Jambor <mjambor@suse.cz>
13425
13426 * dbgcnt.def (eipa_sra): New counter.
13427 * tree-sra.c (ipa_early_sra_gate): Also check eipa_sra debug counter.
13428
0c5bb946
XDL
134292010-07-29 Xinliang David Li <davidxl@google.com>
13430
13431 PR bootstrap/45119
13432 * tree-ssa-loop-ivopts.c (get_address_cost): Revert change
13433 in revision 162652.
13434
2c2fbff7
RG
134352010-07-29 Richard Guenther <rguenther@suse.de>
13436
13437 * timevar.def (TV_TREE_STORE_COPY_PROP): Remove.
13438 (TV_TREE_STORE_CCP): Likewise.
13439 (TV_TREE_REDPHI): Likewise.
13440
134412010-07-29 Richard Guenther <rguenther@suse.de>
950f7f45
RG
13442
13443 * double-int.h (double_int_and_not): New function.
13444 * combine.c (try_combine): Use it.
13445 * tree-vrp.c (simplify_bit_ops_using_ranges): Likewise.
13446
8d074192
BS
134472010-07-29 Bernd Schmidt <bernds@codesourcery.com>
13448
13449 PR rtl-optimization/42575
13450 * dce.c (word_dce_process_block): Renamed from byte_dce_process_block.
13451 Argument AU removed. All callers changed. Ignore artificial refs.
13452 Use return value of df_word_lr_simulate_defs to decide whether an insn
13453 is necessary.
13454 (fast_dce): Rename arg to WORD_LEVEL.
13455 (run_word_dce): Renamed from rest_of_handle_fast_byte_dce. No longer
13456 static.
13457 (pass_fast_rtl_byte_dce): Delete.
13458 * dce.h (run_word_dce): Declare.
13459 * df-core.c (df_print_word_regset): Renamed from df_print_byteregset.
13460 All callers changed. Simplify code to only deal with two-word regs.
13461 * df.h (DF_WORD_LR): Renamed from DF_BYTE_LR.
13462 (DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO.
13463 (DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN.
13464 (DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT.
13465 (struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info.
13466 (df_word_lr_mark_ref): Declare.
13467 (df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs,
13468 df_word_lr_simulate_uses): Declare or rename from byte variants.
13469 (df_byte_lr_simulate_artificial_refs_at_top,
13470 df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
13471 df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete
13472 declarations.
13473 (df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info.
13474 (enum df_mm): Delete.
13475 * df-byte-scan.c: Delete file.
13476 * df-problems.c (df_word_lr_problem_data): Renamed from
13477 df_byte_lr_problem_data, all members deleted except for
13478 WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS. Uses changed.
13479 (df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top,
13480 df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
13481 df_byte_lr_get_regno_len, df_byte_lr_check_regs,
13482 df_byte_lr_confluence_0): Delete functions.
13483 (df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all
13484 callers changed.
13485 (df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed.
13486 Don't initialize members that were deleted, don't try to discover data
13487 about registers. Ignore hard regs.
13488 (df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed.
13489 (df_word_lr_mark_ref): New function.
13490 (df_word_lr_bb_local_compute): Renamed from
13491 df_byte_bb_lr_local_compute; all callers changed. Use
13492 df_word_lr_mark_ref. Assert that artificial refs don't include
13493 pseudos. Ignore hard registers.
13494 (df_word_lr_local_compute): Renamed from df_byte_lr_local_compute.
13495 Assert that exit block uses don't contain pseudos.
13496 (df_word_lr_init): Renamed from df_byte_lr_init; all callers changed.
13497 (df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all
13498 callers changed. Ignore hard regs.
13499 (df_word_lr_transfer_function): Renamed from
13500 df_byte_lr_transfer_function; all callers changed.
13501 (df_word_lr_free): Renamed from df_byte_lr_free; all callers changed.
13502 (df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers
13503 changed.
13504 (df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all
13505 callers changed.
13506 (problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed;
13507 confluence operator 0 set to NULL.
13508 (df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all
13509 callers changed.
13510 (df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs.
13511 Return bool, true if bitmap changed or insn otherwise necessary.
13512 All callers changed. Simplify using df_word_lr_mark_ref.
13513 (df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses;
13514 all callers changed. Simplify using df_word_lr_mark_ref.
13515 * lower-subreg.c: Include "dce.h"
13516 (decompose_multiword_subregs): Call run_word_dce if df available.
13517 * Makefile.in (lower-subreg.o): Adjust dependencies.
13518 (df-byte-scan.o): Delete.
13519 * timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR.
13520
9b638c03
RG
135212010-07-29 Richard Guenther <rguenther@suse.de>
13522
13523 * tree.c (build_vector): Assert that the vector constant
13524 has enough elements.
13525 (build_vector_from_ctor): Pad with trailing zeros.
13526
1c09321c
RG
135272010-07-29 Richard Guenther <rguenther@suse.de>
13528
13529 PR tree-optimization/45120
13530 * tree-ssa-structalias.c (get_constraint_for_component_ref):
13531 Handle offset in DEREFs properly.
13532 (get_constraint_for_1): Handle MEM_REF offset properly.
13533
6befd6b0
RG
135342010-07-29 Richard Guenther <rguenther@suse.de>
13535
13536 PR middle-end/45034
13537 * convert.c (convert_to_integer): Always use an unsigned
13538 type for narrowed negate and bitwise not.
13539
61869cc9
IR
135402010-07-29 Ira Rosen <irar@il.ibm.com>
13541
13542 * tree-vect-loop.c (vect_create_epilog_for_reduction): Switch
f53ea4f0 13543 to outer loop when creating reduction epilogue for double reduction,
61869cc9
IR
13544 and switch back to the inner loop when updating the phi nodes.
13545 Update uses of outer loop exit phi nodes in double reduction (instead
13546 of uses of reduction).
13547
8119a6a6
MM
135482010-07-28 Michael Meissner <meissner@linux.vnet.ibm.com>
13549
13550 * config/rs6000/rs6000.c (rs6000_rtx_costs): Update costs for
13551 popcount on power7 and parity on power6 systems.
13552 (rs6000_emit_popcount): Rename gen_popcntwsi2 to gen_popcntddi2.
13553 (rs6000_emit_parity): Add support for power6 prtyd/prtyw
13554 instructions.
13555
13556 * config/rs6000/rs6000.md (UNSPEC_COPYSIGN): New unspec.
13557 (UNSPEC_PARITY): Ditto.
13558 (SFDF): New iterator for SF/DF.
13559 (rreg2): New mode attribute for floating register constraint.
13560 (TARGET_FLOAT): New mode attribute for whether single/double float
13561 is supported.
13562 (popcntd<mode>2): Combine popcntwsi2 and popcntddi2 into one
13563 pattern.
13564 (parity<mode>2_cmpb): New insn for parity on power6 and newer
13565 machines.
13566 (copysign<mode>3): Combine copysignsf3, copysigndf3 into one
13567 pattern. Add support for fcpsgn instruction added in power6.
13568 (copysignsf3): Delete.
13569 (copysigndf3): Delete.
13570 (copysign<mode>3_fcpsgn): New insn to generate fcpsgn. Use UNSPEC
13571 instead of if_then_else in RTL to avoid problems with -0.
13572
13573 * config/rs6000/vsx.md (vsx_copysign<mode>3): Use UNSPEC instead
13574 of if_then_else to mirror scalar code.
13575 (vsx_copysignsf3): Delete, use copysign<mode>3_fcpsgn in
13576 rs6000.md.
13577
13578 * config/rs6000/vector.md (vector_copysign<mode>3): Use UNSPEC
13579 instead of if_then_else.
13580
18081149
XDL
135812010-07-28 Xinliang David Li <davidxl@google.com>
13582
13583 * tree-ssa-loop-ivopts.c (avg_loop_niter): New function.
13584 (dump_cand): Dump var_before/after.
13585 (htab_inv_expr_eq): New function.
13586 (htab_inv_expr_hash): New function.
13587 (tree_ssa_iv_optimize_init): Support pseudo invariants.
13588 (add_candidate_1): consider base type precision.
13589 (set_use_iv_cost): New parameter.
13590 (adjust_setup_cost): Use profile information.
13591 (get_address_cost): Do not hard code width in computing address
13592 offset limits.
13593 (compare_aff_trees): New function.
13594 (get_loop_invariant_expr_id): New function.
13595 (get_computation_cost_at): New parameter and use profile information.
13596 (get_computation_cost): New parameter.
13597 (determine_use_iv_cost_generic): Pass new parameter.
13598 (determine_use_iv_cost_address): Ditto.
13599 (determine_use_iv_cost_condition): Ditto.
13600 (autoinc_possible_for_pair): Ditto.
13601 (determine_use_iv_costs): More dumps.
13602 (iv_ca_get_num_inv_exprs): New function.
13603 (iv_ca_recount_cost): Consider loop invariants in register pressure
13604 cost.
13605 (iv_ca_add_use): New parameter.
13606 (iv_ca_dump): Better dumping.
13607 (iv_ca_extend): New parameter.
13608 (try_add_cand_for): Attempt to get better partial solution.
13609 (try_improve_iv_set): Pass new parameter to iv_ca_extend.
13610 (create_new-ivs): More dumps.
13611 (rewrite_use_compare): Ditto.
13612 (free_loop_data): More cleanup.
13613 (treee_ssa_iv_optimize_finalize): Ditto.
13614
3c5273a9
KT
136152010-07-28 Kai Tietz <kai.tietz@onevision.com>
13616
13617 * config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
13618 * config/i386/i386.c (ix86_profile_before_prologue): New.
13619 (override_options): Add special handling for -mfentry.
13620 (ix86_function_regparm): Likewise.
13621 (ix86_function_sseregparm): Likewise.
13622 (ix86_frame_pointer_required): Likewise.
13623 (ix86_expand_prologue): Check for ms_hook_prologue.
13624 (x86_function_profiler): Adjust mcount output.
13625 (TARGET_PROFILE_BEFORE_PROLOGUE): Define hook.
13626 * config/i386/i386.opt (mfentry): New.
13627 * doc/invoke.texi (mfentry): Add documentation.
13628 * doc/tm.texi: Regenerated..
13629 * doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New.
13630 * final.c (final_start_function): Replace macro
13631 PROFILE_BEFORE_PROLOGUE by target hook.
13632 * function.c (thread_prologue_and_epilogue_insns): Likewise.
13633 * target.def (profile_before_prologue): New hook.
13634 * targhooks.c (default_profile_before_prologue): New.
13635 * targhooks.h (default_profile_before_prologue): New.
13636
652c4638
JJ
136372010-07-28 Jakub Jelinek <jakub@redhat.com>
13638
05b5ea34
JJ
13639 PR debug/45105
13640 * gcse.c (hoist_code): Use FOR_BB_INSNS macro.
13641
652c4638
JJ
13642 PR debug/45103
13643 * dwarf2out.c (dwarf2out_var_location): Always consider
13644 NOTE_DURING_CALL_P notes, even when not followed by real instructions.
13645
fb039b24
MK
136462010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
13647
13648 PR rtl-optimization/45107
13649 * gcse.c (hash_scan_set): Use max_distance for gcse-las.
13650
7a95d078
RG
136512010-07-28 Richard Guenther <rguenther@suse.de>
13652
13653 * tree-ssa-ccp.c: Remove comment regarding STORE-CCP.
13654 (set_lattice_value): Do not query an old default value.
13655 (get_value_for_expr): New function. Properly canonicalize
13656 float values.
13657 (ccp_visit_phi_node): Use it.
13658
12ffc7d5
CLT
136592010-07-28 Chung-Lin Tang <cltang@codesourcery.com>
13660
13661 * config/arm/arm.c (arm_pcs_default): Remove static.
13662 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or
13663 __ARM_PCS_VFP to indicate soft/hard-float calling convention.
13664 (arm_pcs_default): Declare.
13665
b2a0ce24
IS
136662010-07-28 Iain Sandoe <iains@gcc.gnu.org>
13667
f53ea4f0 13668 * config/rs6000/rs6000.c (rs6000_override_options):
b2a0ce24
IS
13669 Use TARGET_MACHO inline, move darwin_one_byte_bool from here...
13670 ... to darwin_rs6000_override_options.
13671 (rs6000_return_in_memory): Update preceding comment for darwin
13672 64 bit ABI. Use TARGET_MACHO inline.
13673 (rs6000_darwin64_struct_check_p): New.
13674 (function_arg_advance): Use rs6000_darwin64_struct_check_p.
13675 (function_arg): Likewise.
13676 (rs6000_arg_partial_bytes): Likewise.
13677 (rs6000_function_value): Likewise.
13678
74164603 136792010-07-28 Andi Kleen <ak@linux.intel.com>
c71eb2b7
AK
13680
13681 * lto-opts.c (lto_file_read_options): Add loop over all inputs.
13682
3abd6c1a
RG
136832010-07-28 Richard Guenther <rguenther@suse.de>
13684
13685 PR middle-end/44903
13686 * builtins.c (fold_builtin_memory_op): On STRICT_ALIGNMENT
13687 targets try harder to not generate unaligned accesses.
13688
4bcaf354
MK
136892010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
13690
13691 PR rtl-optimization/45101
13692 * gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
13693 for gcse-las.
13694
c2cf2f4a
EB
136952010-07-28 Eric Botcazou <ebotcazou@adacore.com>
13696
13697 PR tree-optimization/44885
13698 * tree-sra.c (find_param_candidates): Skip pointer types to arrays
13699 with non-aliased component.
13700
eea13ead
JM
137012010-07-28 Joseph Myers <joseph@codesourcery.com>
13702
13703 * config/darwin-driver.c (SWITCH_TAKES_ARG,
13704 WORD_SWITCH_TAKES_ARG): Remove.
13705 * cppspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
13706 * defaults.h (DEFAULT_SWITCH_TAKES_ARG,
13707 DEFAULT_WORD_SWITCH_TAKES_ARG): Move from gcc.h.
13708 (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move default
13709 definitions from gcc.c.
13710 * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move to
13711 defaults.h.
13712 * gcc.h (DEFAULT_SWITCH_TAKES_ARG, DEFAULT_WORD_SWITCH_TAKES_ARG):
13713 Move to defaults.h.
13714 * opts-common.c: Include tm.h.
13715 (decode_cmdline_option): Use SWITCH_TAKES_ARG and
13716 WORD_SWITCH_TAKES_ARG to count arguments to unknown options.
13717 Handle more than one argument. Set canonical_option_num_elements.
13718 (decode_cmdline_options_to_array): Set
13719 canonical_option_num_elements and trailing elements of
13720 canonical_option.
13721 * opts.h (struct cl_decoded_option): Allow four elements in
13722 canonical_option. Add field canonical_option_num_elements.
13723 * Makefile.in (opts-common.o): Update dependencies.
13724
b4351367
EB
137252010-07-28 Eric Botcazou <ebotcazou@adacore.com>
13726
13727 PR middle-end/44790
13728 PR middle-end/44993
13729 * expr.c (expand_expr_real_1) <MEM_REF>: Revert latest change. Make
13730 sure the base has address_mode before adding the offset.
13731
74164603 137322010-07-27 Xinliang David Li <davidxl@google.com>
b4351367 13733
880a1451
XDL
13734 * tree-flow.h (create_mem_ref): Add one new parameter.
13735 * tree-ssa-address.c (create_mem_ref): New parameter.
13736 (addr_to_parts): Ditto.
13737 (move_variant_to_index): New function.
13738 * tree-ssa-loop-ivopts.c (rewrite_use_address): Pass new argument.
13739
418e920f
BS
137402010-07-27 Bernd Schmidt <bernds@codesourcery.com>
13741
13742 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, NOTE): Swap operands
13743 4 and 5.
13744 * rtl.h (PATTERN, INSN_LOCATOR, NOTE_DATA, NOTE_DELETED_LABEL_NAME,
13745 NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION,
13746 NOTE_KIND, LABEL_NUSES, LABEL_REFS): Adjust accordingly.
13747 * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of
13748 CODE_LABELs and NOTEs.
13749 * caller-save.c (init_caller_save): Fix up gen_rtx_INSN call.
13750 * combine.c (try_combine): Likewise.
13751 * ira.c (setup_prohibited_mode_move_regs): Likewise.
13752 * print-rtl.c (print_rtx): Start REG_NOTES on a new line.
13753
5f20c657
JM
137542010-07-27 Joseph Myers <joseph@codesourcery.com>
13755
13756 * coretypes.h (struct cl_option_handlers): Declare.
13757 * hooks.c (hook_int_size_t_constcharptr_int_0): Remove.
13758 * hooks.h (hook_int_size_t_constcharptr_int_0): Remove.
13759 * langhooks-def.h (lhd_handle_option): Declare.
13760 (LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option.
13761 * langhooks.c (lhd_handle_option): New.
13762 * langhooks.h (struct lang_hooks): Update prototype and return
13763 value type of handle_option hook.
13764 * optc-gen.awk: Generate target_flags_explicit definition for the
13765 driver.
13766 * opts-common.c: Include diagnostic.h.
13767 (handle_option): Move from opts.c. Update prototype and return
13768 value type. Use handlers structure.
13769 (read_cmdline_option): Move from opts.c. Update prototype. Use
13770 handlers structure.
13771 (set_option): Move from opts.c.
13772 * opts.c (common_handle_option): Update prototype and return value
13773 type. Update calls to handle_option and enable_warning_as_error.
13774 (unknown_option_callback, post_handling_callback,
13775 lang_handle_option, target_handle_option): New.
13776 (handle_option, read_cmdline_option): Move to opts-common.c.
13777 (read_cmdline_options): Update prototype. Update call to
13778 read_cmdline_option.
13779 (decode_options): Initialize and use handlers structure.
13780 (set_option): Move to opts-common.c.
13781 (enable_warning_as_error): Update prototype. Update call to
13782 handle_option.
13783 * opts.h (struct cl_option_handler_func, struct
13784 cl_option_handlers): New.
13785 (handle_option, enable_warning_as_error): Update prototypes.
13786 (read_cmdline_option): Declare.
13787 * Makefile.in (opts-common.o): Update dependencies.
13788
ec3728ad
MK
137892010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13790
13791 * config/arm/arm.c (params.h): Include.
13792 (arm_override_options): Tune gcse-unrestricted-cost.
13793 * config/arm/t-arm (arm.o): Define dependencies.
13794
cad9aa15
MK
137952010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13796
13797 PR target/42495
13798 PR middle-end/42574
13799 * basic-block.h (get_dominated_to_depth): Declare.
13800 * dominance.c (get_dominated_to_depth): New function, use
13801 get_all_dominated_blocks as a base.
13802 (get_all_dominated_blocks): Use get_dominated_to_depth.
13803
13804 * gcse.c (occr_t, VEC (occr_t, heap)): Define.
13805 (hoist_exprs): Remove.
13806 (alloc_code_hoist_mem, free_code_hoist_mem): Update.
13807 (compute_code_hoist_vbeinout): Add debug print outs.
13808 (hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth.
13809
13810 * params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
13811 quadratic behavior.
13812 * params.h (MAX_HOIST_DEPTH): New macro.
13813 * doc/invoke.texi (max-hoist-depth): Document.
13814
9b9ee6d3
MK
138152010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13816
13817 PR rtl-optimization/40956
13818 * config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
13819 constants.
13820
d37c3c62
MK
138212010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13822
13823 PR target/42495
13824 PR middle-end/42574
13825 * config/arm/arm.c (legitimize_pic_address): Use
13826 gen_calculate_pic_address pattern to emit calculation of PIC address.
13827 (will_be_in_index_register): New function.
13828 (arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
13829 (thumb1_legitimate_address_p): Use it provided !strict_p.
13830 * config/arm/arm.md (calculate_pic_address): New expand and split.
13831
3393e880
MK
138322010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13833
13834 PR target/42495
13835 PR middle-end/42574
13836 * config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
13837 * config/arm/arm.md (define_split "J", define_split "K"): Make
13838 IRA/reload friendly.
13839
eae7938e
MK
138402010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13841
13842 * gcse.c (insert_insn_end_basic_block): Update signature, remove
13843 unused checks.
13844 (pre_edge_insert, hoist_code): Update.
13845
c7c910ce
MK
138462010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13847
13848 PR target/42495
13849 PR middle-end/42574
13850 * gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
13851
3d489bc7
MK
138522010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13853
13854 * gcse.c (hoist_code): Generate new pseudo for every new set insn.
13855
ce4c0015
MK
138562010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13857
13858 PR rtl-optimization/40956
13859 PR target/42495
13860 PR middle-end/42574
13861 * gcse.c (compute_code_hoist_vbeinout): Consider more expressions
13862 for hoisting.
13863 (hoist_code): Count occurences in current block too.
13864
20160347
MK
138652010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13866
13867 * gcse.c (struct expr:max_distance): New field.
13868 (doing_code_hoisting_p): New static variable.
13869 (want_to_gcse_p): Change signature. Allow constrained hoisting of
13870 simple expressions, don't change behavior for PRE. Set max_distance.
13871 (insert_expr_in_table): Set new max_distance field.
13872 (hash_scan_set): Update.
13873 (hoist_expr_reaches_here_p): Stop search after max_distance
13874 instructions.
13875 (find_occr_in_bb): New static function. Use it in ...
13876 (hoist_code): Calculate sizes of basic block before any changes are
13877 done. Pass max_distance to hoist_expr_reaches_here_p.
13878 (one_code_hoisting_pass): Set doing_code_hoisting_p.
13879
13880 * params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
13881 (PARAM_GCSE_UNRESTRICTED_COST): New parameters.
13882 * params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
13883 macros.
13884 * doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
13885 Document.
13886
9b774782
JL
138872010-07-27 Jeff Law <law@redhat.com>
13888 Maxim Kuvyrkov <maxim@codesourcery.com>
13889
13890 * gcse.c (compute_transpout, transpout): Remove, move logic
13891 to prune_expressions.
13892 (compute_pre_data): Move pruning of trapping expressions ...
13893 (prune_expressions): ... here. New static function.
13894 (compute_code_hoist_data): Use it.
13895 (alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.
13896
55791fcd
XDL
138972010-07-27 Xinliang David Li <davidxl@google.com>
13898
13899 * tree-ssa-loop-ivopts.c (adjust_iv_update_pos): New function.
13900 (rewrite_use_address): Adjust iv update position when needed.
13901
62a3f636
MK
139022010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
13903
13904 * dbgcnt.def (hoist_insn): New debug counter.
13905 * gcse.c (hoist_code): Use it.
13906
e2102efc
XDL
139072010-07-27 Xinliang David Li <davidxl@google.com>
13908
13909 * tree-ssa-loop-ivopts.c (niter_for_exit): New parameter.
13910 (niter_for_single_dom_exit): Passes additional parameter.
13911 (iv_period): Fix comments.
13912 (may_eliminate_iv): Handles multiple exit loops properly.
13913 (free_tree_niter_desc): New function.
13914 (free_loop_data): Frees up loop iteration descriptors.
13915
fea31288
JJ
139162010-07-27 Jakub Jelinek <jakub@redhat.com>
13917
f3184b4c
JJ
13918 PR target/44542
13919 * cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
13920 of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
13921 instead of MAX_SUPPORTED_STACK_ALIGNMENT.
13922 (expand_one_var): Don't consider DECL_ALIGN for variables for
13923 which expand_one_stack_var_at has been already called.
13924
fea31288
JJ
13925 PR testsuite/44701
13926 * doc/md.texi: Clarify m and es constraints on PowerPC and m and S
13927 constraints on IA-64.
13928
65e29588
JZ
139292010-07-27 Jie Zhang <jie@codesourcery.com>
13930
13931 PR target/44290
f53ea4f0 13932 Revert:
65e29588 13933 2010-07-23 Jie Zhang <jie@codesourcery.com>
f53ea4f0 13934
65e29588
JZ
13935 * tree-sra.c (ipa_sra_preliminary_function_checks): Return
13936 false if ! tree_versionable_function_p.
13937
9f39bd53
JJ
139382010-07-27 Jakub Jelinek <jakub@redhat.com>
13939
13940 * dwarf2out.c (add_data_member_location_attribute): Use
13941 add_AT_unsigned instead of add_AT_int if offset is non-negative.
13942
a78e242c
BS
139432010-07-27 Bernd Schmidt <bernds@codesourcery.com>
13944
13945 * postreload.c (try_replace_in_use): New static function.
13946 (reload_combine_recognize_const_pattern): Use it here. Allow
13947 substituting into a final add insn, and substituting into a memory
13948 reference in an insn that sets the reg.
13949
61ff2bdc
JM
139502010-07-27 Joseph Myers <joseph@codesourcery.com>
13951
13952 * common.opt (o): Add MissingArgError.
13953 * doc/options.texi (MissingArgError): Document.
13954 * hooks.c (hook_bool_constcharptr_size_t_false): Remove.
13955 * hooks.h (hook_bool_constcharptr_size_t_false): Remove.
13956 * langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
f53ea4f0 13957 (LANG_HOOKS_INITIALIZER): Remove missing_argument hook initializer.
61ff2bdc
JM
13958 * langhooks.h (struct lang_hooks): Remove missing_argument.
13959 * optc-gen.awk: Handle MissingArgError and output new structure
13960 field initializers.
13961 * opts.c (read_cmdline_option): Use missing_argument_error field
13962 instead of missing_argument langhook.
13963 * opts.h (struct cl_option): Add missing_argument_error field.
13964 * system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.
13965
4e98bcaf
IS
139662010-07-27 Iain Sandoe <iains@gcc.gnu.org>
13967
13968 PR target/29090
13969 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Special-case the
13970 Darwin64 ABI, for zero-sized objects.
13971
a9ab25e2
IS
139722010-07-27 Iain Sandoe <iains@gcc.gnu.org>
13973
13974 PR target/35491
13975 PR target/29090
13976
13977 Merge from Apple local 4.2.1.
13978 2005-05-11 Stan Shebs <shebs@apple.com>
13979 Fix 64-bit varargs for Darwin (Radar 4028089).
13980 * config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr.
13981 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
13982 Add argument, add case for 8-byte register half-filled with a float.
13983 (rs6000_darwin64_record_arg_advance_recurse): Detect and handle
13984 single-precision floats specially.
13985
2200fc49
IR
139862010-07-27 Ira Rosen <irar@il.ibm.com>
13987
13988 PR tree-optimization/44152
13989 * tree-vect-slp.c (vect_build_slp_tree): Collect nodes with
13990 complex numbers for further check.
f53ea4f0 13991 (vect_supported_load_permutation_p): Check nodes with
2200fc49
IR
13992 complex numbers.
13993
7a9bf9a4
JM
139942010-07-27 Joseph Myers <joseph@codesourcery.com>
13995
13996 * langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK,
13997 LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New.
13998 (LANG_HOOKS_INIT_OPTIONS): Update default definition.
13999 (LANG_HOOKS_INITIALIZER): Add new hooks.
14000 * langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New.
14001 * langhooks.h (struct lang_hooks): Add new hooks option_lang_mask
14002 and complain_wrong_lang_p. Update init_options prototype.
14003 * c-objc-common.c (c_initialize_diagnostics): First call
14004 c_common_initialize_diagnostics.
14005 * c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK,
14006 LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
a691bb08 14007 * coretypes.h (struct cl_option, struct cl_decoded_option): Declare.
7a9bf9a4
JM
14008 * hooks.c (hook_uint_uint_constcharptrptr_0): Remove.
14009 (hook_uint_void_0): New.
14010 * hooks.h (hook_uint_uint_constcharptrptr_0): Remove.
14011 (hook_uint_void_0): New.
14012 * opts-common.c (decode_cmdline_option,
a691bb08 14013 decode_cmdline_options_to_array): Also fill in canonical_option field.
7a9bf9a4
JM
14014 * opts.c (complain_wrong_lang): Use langhook to determine whether
14015 to complain instead of special-casing LTO.
14016 (decode_options): Separate lang_mask determination with
14017 option_lang_mask hook from call of init_options hook.
14018 * opts.h (struct cl_decoded_option): Add canonical_option.
14019
42694189
JJ
140202010-07-27 Jakub Jelinek <jakub@redhat.com>
14021
14022 PR tree-optimization/45083
14023 * tree-inline.c (add_local_variables): Also remap DECL_DEBUG_EXPR.
14024
62036819
BS
140252010-07-27 Bernd Schmidt <bernds@codesourcery.com>
14026
14027 * postreload.c (reload_combine_recognize_const_pattern): Move test
14028 for limiting the insn movement to the right scope.
14029
2b0cb007
BS
14030 PR rtl-optimization/45051
14031 * reload1.c (delete_output_reload): Use refers_to_regno_p rather
14032 than reg_mentioned_p.
14033
8b84c596
RH
140342010-07-26 Richard Henderson <rth@redhat.com>
14035
14036 PR target/44132
14037 * tree-emutls.c: New file.
14038 * Makefile.in (OBJS-common): Add it.
14039 * tree-pass.h (pass_ipa_lower_emutls): Declare.
14040 * passes.c (init_optimization_passes): Add it.
14041
14042 * dwarf2out.c (loc_list_from_tree): If emutls.debug_form_tls_address,
14043 pull the control variable from DECL_VALUE_EXPR, not emutls_decl.
14044 * expr.c (emutls_var_address): Delete.
14045 (expand_expr_addr_expr_1, expand_expr_real_1): Don't use it.
14046 * output.h (SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL): Delete.
14047 (emutls_finish): Delete.
14048 * toplev.c (compile_file): Don't call it.
14049 * tree.h (emutls_decl): Delete.
14050 * varasm.c (emutls_htab, DECL_EMUTLS_VAR_P): Delete.
14051 (emutls_finish, emutls_finalize_control_var): Delete.
14052 (emutls_object_type): Move to tree-emutls.c.
14053 (EMUTLS_SEPARATOR, prefix_name, get_emutls_object_name,
14054 default_emutls_var_fields, get_emutls_object_type,
14055 get_emutls_init_templ_addr, emutls_decl, emutls_common_1
14056 default_emutls_var_init): Likewise.
14057 (get_variable_section): Don't special case emutls.
14058 (assemble_variable, do_assemble_alias, categorize_decl_for_section,
14059 default_elf_select_section, default_unique_section,
14060 default_encode_section_info): Likewise.
14061 * varpool.c (decide_is_variable_needed): Likewise.
14062 * gimple-iterator.c (update_call_edge_frequencies): New
14063 (gsi_insert_on_edge_immediate): Use it.
14064 (gsi_insert_seq_on_edge_immediate): Likewise.
14065 (gsi_commit_one_edge_insert): Likewise.
14066
14067 * config/i386/i386.c (x86_64_elf_select_section): Don't handle
14068 SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL.
14069 (x86_64_elf_unique_section): Likewise.
14070
b7956a5b
JH
140712010-07-26 Jan Hubicka <jh@suse.cz>
14072
14073 * lto-streamer.h (struct lto_file_decl_data): Mark resolutions with
14074 GTY((skip)).
14075
b5f5d41d
AS
140762010-07-26 Anatoly Sokolov <aesok@post.ru>
14077
14078 * target.def (output_source_filename): New hook.
14079 * doc/tm.texi.in (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Document.
14080 * doc/tm.texi: Regenerate.
14081 * toplev.c (output_file_directive) Remove function.
14082 * toplev.h (output_file_directive) Remove.
14083 * output.h (default_asm_output_source_filename,
14084 output_file_directive): Declare.
14085 * varasm.h (default_asm_output_source_filename,
14086 output_file_directive): New functions.
14087
14088 * config/mips/mips.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
14089 * config/mips/mips-protos.h (mips_output_filename): Remove.
14090 * config/mips/mips.c (mips_output_filename): Make Static.
14091 (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
14092
7f8ac3d7
RG
140932010-07-26 Richard Guenther <rguenther@suse.de>
14094
14095 PR tree-optimization/43784
14096 * tree-nrv.c (dest_safe_for_nrv_p): It's not safe to NRV
14097 if the destination is used by the call.
14098
edc74207
RG
140992010-07-26 Richard Guenther <rguenther@suse.de>
14100
14101 PR middle-end/45073
14102 * gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize
14103 SSA updating on being in SSA form.
14104
bd422c4a
RG
141052010-07-26 Richard Guenther <rguenther@suse.de>
14106
14107 PR middle-end/45056
a691bb08 14108 * gimple-fold.c (fold_stmt_1): Also fold references in debug stmts.
bd422c4a 14109
e093ffe3
RG
141102010-07-26 Richard Guenther <rguenther@suse.de>
14111
14112 PR tree-optimization/45071
a691bb08 14113 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Always
e093ffe3
RG
14114 adjust op->opcode.
14115
223a9d64
N
141162010-07-26 Naveen.H.S <naveen.S@kpitcummins.com>
14117
14118 * config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31,
14119 save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31,
14120 save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31,
14121 save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31,
14122 save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31,
14123 save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31,
14124 save_r31, return_r31, save_interrupt, return_interrupt,
14125 save_all_interrupt, return_all_interrupt, L_save_r2_r31,
14126 L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt,
a691bb08 14127 L_save_##START##_r31c, L_callt_save_r31c): Updated as per the
223a9d64 14128 new ABI requirements.
a691bb08 14129 (save_r6_r9, L_callt_save_r6_r9): Remove.
223a9d64
N
14130 * config/v850/predicates.md (even_reg_operand, disp23_operand,
14131 const_float_1_operand const_float_0_operand): New Predicates.
14132 (pattern_is_ok_for_prepare, pattern_is_ok_for_prologue,
14133 pattern_is_ok_for_epilogue): Update as per the ABI requirements.
14134 * config/v850/t-v850: Update multilibs for new target variants.
14135 (save_varargs, callt_save_varargs, callt_save_r6_r9): Remove.
14136 * config/v850/t-v850e: Likewise.
14137 * config/v850/v850.c (v850_issue_rate): New.
14138 (v850_strict_argument_naming): New.
14139 (function_arg): Modify to generate a different ABI.
14140 (print_operand): Update case 'z' to support float modes.
14141 (output_move_single): Modify to generate appropriate and better
14142 assembly.
14143 (v850_float_z_comparison_operator, v850_select_cc_mode,
14144 v850_float_nz_comparison_operator, v850_gen_float_compare,
a691bb08 14145 v850_gen_compare): New functions to support comparison of float values.
223a9d64
N
14146 (ep_memory_offset): Add support for V850E2 targets.
14147 (INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update.
14148 (INTERRUPT_REGPARM_NUM): Remove.
a691bb08 14149 (compute_register_save_size): Add extra case to save/restore long call.
223a9d64
N
14150 (use_prolog_function): New function to support prologue.
14151 (expand_prologue): Add support for V850E2 targets and modified
14152 as per the current ABI requirements.
14153 (expand_epilogue): Likewise.
14154 (construct_restore_jr): Modify based on TARGET_LONG_CALLS.
14155 (construct_save_jarl): Likewise.
14156 (construct_dispose_instruction): Update as per the current ABI
14157 requirements.
14158 (construct_prepare_instruction): Likewise.
a691bb08 14159 * config/v850/v850.h (TARGET_CPU_DEFAULT): Add target predefines.
223a9d64
N
14160 (TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define
14161 (CPP_SPEC): Updated to support v850e2 targets.
14162 (STRICT_ALIGNMENT): Modified.
14163 (FIRST_PSEUDO_REGISTER): Updated to add even registers.
14164 (FIXED_REGISTERS): Likewise.
14165 (CALL_USED_REGISTERS): Likewise.
14166 (CONDITIONAL_REGISTER_USAGE): Updated.
14167 (HARD_REGNO_MODE_OK): Updated.
14168 (reg_class): Updated to add even registers.
14169 (REG_CLASS_NAMES): Likewise.
14170 (REG_CLASS_CONTENTS): Likewise.
14171 (REGNO_REG_CLASS): Updated for CC registers.
14172 (REG_CLASS_FROM_LETTER): Added support for even registers.
14173 (REGNO_OK_FOR_BASE_P): Updated for CC registers.
14174 (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM,
14175 ARG_POINTER_REGNUM): Updated.
14176 (FUNCTION_ARG_ADVANCE): Define.
14177 (REG_PARM_STACK_SPACE): Update as per the current ABI requirements.
14178 (OUTGOING_REG_PARM_STACK_SPACE): Remove.
14179 (EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement.
14180 (GO_IF_LEGITIMATE_ADDRESS): Updated.
14181 (SELECT_CC_MODE): Define.
14182 (REGISTER_NAMES): Updated to add psw and fcc registers.
14183 (ADDITIONAL_REGISTER_NAMES): Updated.
14184 (ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets.
14185 (JUMP_TABLES_IN_TEXT_SECTION): Updated.
14186 * config/v850/v850.md (define_constants): Define new constants.
14187 (type): Update store,bit1,macc,div,fpu and single attributes.
14188 (cpu): New attribute.
14189 (cc): Add set_z attribute.
14190 (unsign23byte_load, sign23byte_load, unsign23hword_load,
14191 sign23hword_load, 23word_load, 23byte_store, 23hword_store,
a691bb08 14192 23word_store): New instructions for 23-bit displacement load and store.
223a9d64
N
14193 (movqi_internal, movhi_internal): Update the attributes.
14194 (movsi, movsi_internal_v850e): Updated to support v850e2 targets.
14195 (movsi_internal_v850e, movsi_internal, movsf_internal): Update
14196 the attributes.
14197 (v850_tst1): Modified using CC_REGNUM.
14198 (tstsi): Remove.
14199 (cmpsi): Modified as define_expand from define_insn.
14200 (cmpsi_insn, cmpsf, cmpdf): New instructions.
14201 (addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4,
14202 udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3,
14203 v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3,
14204 one_cmplsi2): Clobber the CC_REGNUM register.
14205 (v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1,
14206 v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2,
a691bb08 14207 v850_not1_3, xorsi3, one_cmplsi2): Update the attributes accordingly.
223a9d64
N
14208 (setf_insn, set_z_insn, set_nz_insn): New instructions for
14209 v850e2v3 target.
14210 (movsicc_normal_cc, movsicc_reversed_cc): New instructions.
14211 (movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2
14212 targets.
14213 (sasf_1, sasf_2): Remove.
14214 (sasf): New instruction.
14215 (rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2
14216 targets. CC_REGNUM register is clobbered and attributes are
14217 updated.
14218 (branch_z_normal, branch_z_invert, branch_nz_normal,
14219 branch_nz_invert): New branch related instructions.
14220 (jump): Updated the attributes.
14221 (switch): Update to support new targets. CC_REGNUM register is
14222 clobbered and attributes are updated.
14223 (call_internal_short, call_internal_long, call_value_internal_short,
14224 call_value_internal_long): Updated the attributes.
14225 (zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is
14226 clobbered and attributes are updated.
14227 (extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2):
14228 Update to support new targets. CC_REGNUM register is clobbered.
14229 (ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift
14230 instructions.
14231 (lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes
14232 are updated.
14233 (ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3,
14234 divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2,
14235 negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2,
14236 floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2,
14237 rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4,
14238 cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn,
14239 cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn,
14240 cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr,
14241 movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn,
14242 movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating
14243 point instructions defined for V850e2v3 target.
14244 (callt_save_interrupt, callt_return_interrupt, return_interrupt):
14245 Add support for V850E2 targets and CC_REGNUM register is clobbered.
14246 (callt_save_all_interrupt, callt_restore_all_interrupt): Add
14247 support for new targets.
14248 * config/v850/v850-modes.def: New file.
14249 * config/v850/v850.opt(mstrict-align): Remove.
14250 (mno-strict-align, mjump-tables-in-data-section, mv850e2,
14251 mv850e2v3): New command line options for V850.
14252 * config.gcc: Update the newly added files.
14253 * doc/invoke.texi: Update the newly added command line options for
14254 V850 target.
14255
4e89a3fa
RG
142562010-07-26 Richard Guenther <rguenther@suse.de>
14257
14258 PR tree-optimization/45052
14259 * ipa-pure-const.c (check_stmt): Check volatileness.
14260
58e6223e
EB
142612010-07-25 Eric Botcazou <ebotcazou@adacore.com>
14262
14263 PR target/44707
14264 * config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New.
14265 * config/sparc/sparc.c: Include reload.h.
14266 (legitimize_tls_address): Rename into...
14267 (sparc_legitimize_tls_address): ...this.
14268 (legitimize_pic_address): Rename into...
14269 (sparc_legitimize_pic_address): ...this.
14270 (sparc_expand_move): Adjust to above renaming.
14271 (sparc_tls_referenced_p): Likewise.
14272 (sparc_legitimize_tls_address): Likewise.
14273 (sparc_legitimize_pic_address): Likewise.
14274 (sparc_legitimize_address): Likewise.
14275 (sparc_output_mi_thunk): Likewise.
14276 (sparc_legitimize_reload_address): New global function. Recognize
14277 (lo_sum (high ...) ...) patterns generated by earlier passes.
14278 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function.
14279
bfb7cccf
EB
142802010-07-25 Eric Botcazou <ebotcazou@adacore.com>
14281
14282 PR target/44484
14283 * config/sparc/predicates.md (memory_reg_operand): Delete.
14284 * config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
14285 (*sync_compare_and_swap): Encode the address form in the pattern.
14286 (*sync_compare_and_swapdi_v8plus): Likewise.
14287
aac91b74
GP
142882010-07-24 Gerald Pfeifer <gerald@pfeifer.com>
14289
a691bb08
UB
14290 * doc/install.texi (Specific, *-*-freebsd*): Adjust to recent changes.
14291 Streamline paragraph on compatibility with the system compiler.
aac91b74 14292
a522de15
SB
142932010-07-24 Steven Bosscher <steven@gcc.gnu.org>
14294
14295 PR middle-end/45035
14296 * alias.c (true_dependence_1): Fix thinko in merge of old
14297 true_dependence and canon_true_dependence.
14298
5d7f4d9c
JH
142992010-07-23 Jan Hubicka <jh@suse.cz>
14300
14301 * lto-streamer-out.c (write_symbol): Fix visibilities of external
14302 references.
14303
3d07b7cd
LCW
143042010-07-23 Le-Chun Wu <lcwu@google.com>
14305
14306 * omega.c (omega_eliminate_redundant): Remove a self-assign statement.
14307 * tree-ssa-ccp.c (ccp_lattice_meet): Remove a self-assign statement
14308 and an unnecessary assignment.
14309 * dbxout.c (DEBUGGER_ARG_OFFSET): Change OFFSET to OFFSET+0 to avoid
14310 self-assign warning.
14311 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Remove
14312 unnecessary self-init.
14313
aff08b12
RG
143142010-07-23 Richard Guenther <rguenther@suse.de>
14315
14316 PR lto/43071
14317 * gcc.c (LINK_COMMAND_SPEC): Filter out -fcompare-debug
14318 for -flto and -fwhopr.
14319
9b91e436
KT
143202010-07-23 Kai Tietz <kai.tietz@onevision.com>
14321
14322 PR target/41943
a691bb08 14323 * Makefile.in (USER_H_INC_NEXT_PRE, USER_H_INC_NEXT_POST): New.
9b91e436
KT
14324 (stmp-int-hdrs): Prefix/postfix headers by include_next.
14325 * config.gcc (user_headers_inc_next_pre): New.
14326 (user_headers_inc_next_post): Likewise.
14327 (*-w64-mingw*): Use for float.h post-fixing, and for
14328 stddef.h/stdarg.h pre-fixing by include_next.
14329 * configure.ac (user_headers_inc_next_post): New.
14330 (user_headers_inc_next_pre): New.
14331 * configure: Regenerated.
14332
16c9d3b1
RO
143332010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14334
14335 * configure.ac: Don't disable TLS on Solaris 8/9 by default
14336 Set tga_func for Solaris 2/x86 resp. SPARC.
14337 Remove duplicate parts of sparc*-sun-solaris2.* TLS check.
14338 (LIB_THREAD_LDFLAGS_SPEC): Define.
a691bb08 14339 (LIB_TLS_SPEC): Define. Check for required Sun ld version.
16c9d3b1
RO
14340 * configure: Regenerate.
14341 * config.in: Regenerate.
14342 * config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with
14343 -pthread, -threads, LIB_TLS_SPEC with -pthread.
14344 * doc/install.texi (Specific, *-*-solaris2*): Document use of
14345 alternate thread libraries on Solaris 8.
14346 Document TLS patch requirements.
14347 * doc/sourcebuild.texi (Add Options): Sort alphabetically.
14348 Document tls.
14349
14350 PR target/18788
14351 * config/sol2.h (LIB_SPEC): Link with thread libraries even with
14352 -shared.
14353
cd3f04c8
JJ
143542010-07-23 Jakub Jelinek <jakub@redhat.com>
14355
14356 * tree.h (struct tree_base): Add nameless_flag bitfield.
14357 (TYPE_NAMELESS, DECL_NAMELESS): Define.
14358 * omp-low.c (create_omp_child_function, scan_omp_parallel,
14359 scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or
14360 DECL_ARTIFICIAL where needed.
14361 * dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS.
14362 (type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL
14363 has DECL_NAMELESS set.
14364
556ede65
MJ
143652010-07-23 Martin Jambor <mjambor@suse.cz>
14366
14367 PR tree-optimization/44915
14368 * ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
14369 * ipa-inline.c (cgraph_mark_inline_edge): Likewise.
14370 (analyze_function): Likewise.
14371
8cbeddcc
MJ
143722010-07-23 Martin Jambor <mjambor@suse.cz>
14373
14374 PR tree-optimization/44914
14375 * tree-sra.c (sra_modify_function_body): Return true if CFG was
14376 changed, add purging dead eh edges.
14377 (ipa_sra_modify_function_body): Return true if CFG was changed,
14378 simplify purging dead eh edges.
14379 (modify_function): Return true if CFG was changed.
14380 (perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG
14381 was changed.
14382 (ipa_early_sra): Likewise.
14383
61044492
JZ
143842010-07-23 Jie Zhang <jie@codesourcery.com>
14385
14386 PR target/44290
14387 * attribs.c (decl_attributes): Insert "noinline" and "noclone"
14388 if "naked".
14389 * tree-sra.c (ipa_sra_preliminary_function_checks): Return
14390 false if ! tree_versionable_function_p.
14391
c59a0a1d
NF
143922010-07-23 Nathan Froyd <froydnj@codesourcery.com>
14393
14394 * builtins.def (BUILT_IN_ARGS_INFO): Remove.
14395 * ipa-pure-const.c (special_builtlin_state): Remove
14396 BUILT_IN_ARGS_INFO case.
14397 * tree-stdarg.c (execute_optimize_stdarg): Likewise.
14398 * builtins.c (expand_builtin): Likewise.
14399 (expand_builtin_args_info): Remove.
14400 * doc/tm.texi (__builtin_args_info): Remove.
14401 (__builtin_next_arg): Adjust to not refer to __builtin_args_info.
14402 * doc/tm.text.in: Likewise.
14403
c4fcd06a
RG
144042010-07-23 Richard Guenther <rguenther@suse.de>
14405
a691bb08 14406 * lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
c4fcd06a
RG
14407 (lto_symtab_merge_decls_2): Likewise.
14408 * tree-ssa.c (useless_type_conversion_p): Likewise.
14409 * lto-streamer-in.c (input_gimple_stmt): Likewise.
14410 * gimple.c (gtc_visited2, gtc_ob2): Remove.
14411 (struct type_pair_d): Make same_p an array indexed by mode.
14412 Update comment.
14413 (lookup_type_pair): Update initialization.
14414 (struct sccs): Adjust same_p type.
14415 (gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p):
14416 Adjust.
14417 (print_gimple_types_stats): Likewise.
14418 * gimple.h (enum gtc_mode): New.
14419 (gimple_types_compatible_p): Adjust prototype.
14420
6afb52d3
DJ
144212010-07-23 Daniel Jacobowitz <dan@codesourcery.com>
14422
14423 * dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
14424 again after processing insn.
14425
a23c4464
JZ
144262010-07-23 Jie Zhang <jie@codesourcery.com>
14427
14428 * tree-sra.c (ipa_sra_preliminary_function_checks): Dump
14429 proper words when !tree_versionable_function_p.
14430
97a73876
RG
144312010-07-23 Richard Guenther <rguenther@suse.de>
14432
14433 PR tree-optimization/45037
14434 * tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base.
14435
ed3100b2
JZ
144362010-07-23 Jie Zhang <jie@codesourcery.com>
14437
a691bb08
UB
14438 * doc/extend.texi: Remove IP2K from the description of naked attribute.
14439 Add MCORE instead.
ed3100b2 14440
a691bb08 144412010-07-10 Andi Kleen <ak@linux.intel.com>
73ce4d1e
AK
14442
14443 PR lto/44992
a691bb08 14444 * lto-opts.c (lto_write_options): Add NULL file_data argument to
73ce4d1e
AK
14445 lto_get_section_name.
14446 * lto-section-out.c (lto_destroy_simple_output_block): Likewise.
14447 * lto-streamer-out.c (produce_asm): Likewise.
14448 (copy_function): Likewise.
14449 (produce_symtab): Likewise.
14450 (produce_asm_for_decls): Likewise.
14451 * lto-streamer.c (lto_get_section_name): Add file_data argument.
14452 Rewrite to add random postfix to LTO sections.
14453 * lto-streamer.h (lto_file_decl_data): Add next, id, resolutions.
14454 (lto_get_section_name): Add file_data argument to prototype.
14455
a691bb08 144562010-07-10 Andi Kleen <ak@linux.intel.com>
2994ee14
AK
14457
14458 * lto-section-in.c (lto_section_name): Synchronize names
14459 with lto_get_section_name.
14460
a691bb08 144612010-07-10 Andi Kleen <ak@linux.intel.com>
090fc3f4
AK
14462
14463 * lto-opts.c (lto_read_file_options): Check for missing section.
14464
8cfd82bf
BS
144652010-07-22 Bernd Schmidt <bernds@codesourcery.com>
14466
14467 * ira.c (check_allocation): Correctly handle the case where an allocno
14468 with two objects was allocated to a single reg.
14469
1a39adae
RS
144702010-07-22 Richard Sandiford <rdsandiford@googlemail.com>
14471
14472 * tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
14473 (is_widening_mult_p): Likewise.
14474 (convert_to_widen): Use them.
14475 (convert_plusminus_to_widen): Likewise. Handle fixed-point types as
14476 well as integer ones.
14477
9362286d
SB
144782010-07-22 Steven Bosscher <steven@gcc.gnu.org>
14479
14480 * alias.c (true_dependence_1): New function, merged version of
14481 true_dependence and canon_true_dependence.
14482 (true_dependence): Simplify.
14483 (canon_true_dependence): Simplify.
14484
b78cb618
RH
144852010-07-22 Richard Henderson <rth@redhat.com>
14486
14487 PR target/45027
14488 * config/i386/i386.c (setup_incoming_varargs_64): Force the use
14489 of V4SFmode for the SSE saves; increase stack alignment if needed.
14490 (ix86_gimplify_va_arg): Don't increase stack alignment here.
14491
828f2c8b
JJ
144922010-07-22 Jakub Jelinek <jakub@redhat.com>
14493
14494 PR bootstrap/45028
14495 * recgprop.c (copyprop_hardreg_forward_1): If changed is true,
14496 call cprop_find_used_regs again via note_uses.
14497
7be7d292
EB
144982010-07-22 Eric Botcazou <ebotcazou@adacore.com>
14499
14500 * alias.c (get_alias_set): Fix formatting issues.
14501
426d6333
SE
145022010-07-22 Steve Ellcey <sje@cup.hp.com>
14503
14504 PR middle-end/44878
14505 * stmt.c (expand_value_return): Call promote_function_mode with
14506 a for_return argument of 2 when returning by reference.
14507
35ea1c5a
DS
145082010-07-22 Dodji Seketeli <dodji@redhat.com>
14509
14510 PR debug/45024
14511 * dwarf2out.c (scope_die_for): Don't fall back to the compilation
14512 unit DIE if we can find the scope DIE.
14513
ac0ab4f7
BS
145142010-07-22 Bernd Schmidt <bernds@codesourcery.com>
14515
bd3a5d17
UB
14516 * ira-build.c (ira_create_object): New arg SUBWORD; all callers
14517 changed. Initialize OBJECT_SUBWORD.
ac0ab4f7
BS
14518 (ira_create_allocno): Clear ALLOCNO_NUM_OBJECTS.
14519 (ira_create_allocno_objects): Renamed from ira_create_allocno_object;
14520 all callers changed.
14521 (merge_hard_reg_conflicts): Iterate over allocno subobjects.
14522 (finish_allocno): Likewise.
14523 (move_allocno_live_ranges, copy_allocno_live_ranges): Likewise.
14524 (remove_low_level_allocnos): Likewise.
14525 (update_bad_spill_attribute): Likewise.
14526 (setup_min_max_allocno_live_range_point): Likewise.
14527 (sort_conflict_id_map): Likewise.
14528 (ira_flattening): Likewise. Use ior_hard_reg_conflicts.
14529 (ior_hard_reg_conflicts): New function.
14530 (ior_allocate_object_conflicts): Renamed first argument to OBJ.
14531 (compress_conflict_vecs): Iterate over objects, not allocnos.
14532 (ira_add_live_range_to_object): New function.
14533 (object_range_compare_func): Renamed from allocno_range_compare_func.
14534 All callers changed.
14535 (setup_min_max_conflict_allocno_ids): For allocnos with multiple
14536 subobjects, widen the min/max range of the lowest-order object to
14537 potentially include all other such low-order objects.
14538 * ira.c (ira_bad_reload_regno_1): Iterate over allocno subobjects.
14539 (check_allocation): Likewise. Use more fine-grained tests for register
14540 conflicts.
14541 * ira-color.c (allocnos_have_intersected_live_ranges_p): Iterate over
14542 allocno subobjects.
14543 (assign_hard_reg): Keep multiple sets of conflicts. Make finer-grained
14544 choices about which bits to set in each set. Don't use
14545 ira_hard_reg_not_in_set_p, perform a more elaborate test for conflicts
14546 using the multiple sets we computed.
14547 (push_allocno_to_stack): Iterate over allocno subobjects.
14548 (all_conflicting_hard_regs_coalesced): New static function.
14549 (setup_allocno_available_regs_num): Use it.
14550 (setup_allocno_left_conflicts_size): Likewise. Iterate over allocno
14551 subobjects.
14552 (coalesced_allocno_conflict): Test subobject 0 in each allocno.
14553 (setup_allocno_priorities): Divide ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
14554 by ALLOCNO_NUM_OBJECTS.
14555 (calculate_spill_cost): Likewise.
14556 (color_pass): Express if statement in a more normal way.
14557 (ira_reassign_conflict_allocnos): Iterate over allocno subobjects.
14558 (slot_coalesced_allocno_live_ranges_intersect_p): Likewise.
14559 (setup_slot_coalesced_allocno_live_ranges): Likewise.
14560 (allocno_reload_assign): Likewise.
14561 (ira_reassign_pseudos): Likewise.
14562 (fast_allocation): Likewise.
14563 * ira-conflicts.c (build_conflict_bit_table): Likewise.
14564 (print_allocno_conflicts): Likewise.
14565 (ira_build_conflicts): Likewise.
14566 (allocnos_conflict_for_copy_p): Renamed from allocnos_conflict_p. All
14567 callers changed. Test subword 0 of each allocno for conflicts.
14568 (build_object_conflicts): Renamed from build_allocno_conflicts. All
14569 callers changed. Iterate over allocno subobjects.
14570 * ira-emit.c (modify_move_list): Iterate over allocno subobjects.
bd3a5d17
UB
14571 * ira-int.h (struct ira_allocno): New member: num_objects.
14572 Rename object to objects and change it into an array.
ac0ab4f7
BS
14573 (ALLOCNO_OBJECT): Add new argument N.
14574 (ALLOCNO_NUM_OBJECTS, OBJECT_SUBWORD): New macros.
14575 (ira_create_allocno_objects): Renamed from ira_create_allocno_object.
14576 (ior_hard_reg_conflicts): Declare.
14577 (ira_add_live_range_to_object): Declare.
14578 (ira_allocno_object_iterator): New.
14579 (ira_allocno_object_iter_init, ira_allocno_object_iter_cond): New.
14580 (FOR_EACH_ALLOCNO_OBJECT): New macro.
bd3a5d17
UB
14581 * ira-lives.c (objects_live): Renamed from allocnos_live; all
14582 uses changed.
ac0ab4f7 14583 (allocnos_processed): New sparseset.
bd3a5d17
UB
14584 (make_object_born): Renamed from make_allocno_born; take an
14585 ira_object_t argument. All callers changed.
14586 (make_object_dead): Renamed from make_allocno_dead; take an
14587 ira_object_t argument. All callers changed.
ac0ab4f7
BS
14588 (update_allocno_pressure_excess_length): Take an ira_obejct_t argument.
14589 All callers changed.
14590 (mark_pseudo_regno_live): Iterate over allocno subobjects.
14591 (mark_pseudo_regno_dead): Likewise.
14592 (mark_pseudo_regno_subword_live, mark_pseudo_regno_subword_dead): New
14593 functions.
14594 (mark_ref_live): Detect subword accesses and call
14595 mark_pseudo_regno_subword_live as appropriate.
14596 (mark_ref_dead): Likewise for mark_pseudo_regno_subword_dead.
14597 (process_bb_nodes_live): Deal with object-related updates first; set
14598 and test bits in allocnos_processed to avoid computing allocno
14599 statistics more than once.
14600 (create_start_finish_chains): Iterate over objects, not allocnos.
14601 (print_object_live_ranges): New function.
14602 (print_allocno_live_ranges): Use it.
14603 (ira_create_allocno_live_ranges): Allocate and free allocnos_processed
14604 and objects_live.
14605
d4398a43
RG
146062010-07-22 Richard Guenther <rguenther@suse.de>
14607
14608 PR lto/42451
14609 * gimple.c (gtc_next_dfs_num): New global.
14610 (struct sccs): Make value a union, add integer same_p member.
14611 (gtc_visit): New function.
14612 (gimple_types_compatible_p_1): New function, split out from ...
14613 (gimple_types_compatible_p): ... here. Start a DFS walk here.
14614 (iterative_hash_gimple_type): Adjust for sccs change.
14615
56a42add
MJ
146162010-07-22 Martin Jambor <mjambor@suse.cz>
14617
14618 PR tree-optimization/44891
14619 * tree-sra.c: Include gimple-pretty-print.h.
14620 (replace_uses_with_default_def_ssa_name): Renamed to
14621 get_repl_default_def_ssa_name, return the new SSA name instead of
14622 replacing the old one.
14623 (sra_modify_assign): Dump a message when removing a load, if the LHS
14624 is an SSA_NAME, do not do any propagation, just set the RHS to a
14625 default definition SSA NAME, type convert if necessary.
14626 * Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.
14627
5ccbfc1f
RG
146282010-07-22 Richard Guenther <rguenther@suse.de>
14629
14630 PR tree-optimization/45017
14631 * tree-ssa-sccvn.c (vn_reference_eq): Make sure we honor
14632 TYPE_PRECISION of integral types in addition to size.
14633
14ee5f0a
MK
146342010-07-22 Maxim Kuvyrkov <maxim@codesourcery.com>
14635
14636 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Default to GLIBC
14637 when no C library is specified.
14638
93c594a3
MJ
146392010-07-22 Martin Jambor <mjambor@suse.cz>
14640
14641 * ipa-prop.h (struct ipa_node_params): Updated comment.
14642 (struct ipa_edge_args): Likewise.
14643 * Makefile.in (ipa-prop.o): Remove bogus $(GIMPLE_FOLD_H) dependency.
14644
02ec6988
MJ
146452010-07-22 Martin Jambor <mjambor@suse.cz>
14646
14647 * cgraphunit.c (verify_edge_count_and_frequency): New function.
14648 (verify_cgraph_node): Verify frequencies of indirect edges.
14649 * tree-inline.c (tree_function_versioning): Update frequencies of
14650 indirect edges.
14651
f67325e8
RR
146522010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14653
a557f9cc 14654 PR target/43698
a691bb08
UB
14655 * config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev.
14656 Set *arm_rev to be predicable.
f67325e8 14657
50eb566f
IS
146582010-07-22 Iain Sandoe <iains@gcc.gnu.org>
14659
14660 * config/darwin.h (LINK_COMMAND_SPEC): Split into...
14661 (LINK_COMMAND_SPEC_A): New.
14662 (DSYMUTIL): New.
14663 (DSYMUTIL_SPEC): New.
14664 * config/darwin9.h (LINK_COMMAND_SPEC): Remove.
14665 (DSYMUTIL_SPEC): Update for darwin >= 9 requirements.
14666
3b2ee170
IS
146672010-07-22 Iain Sandoe <iains@gcc.gnu.org>
14668
14669 * calls.c (load_register_parameters): Move check for zero
bd3a5d17 14670 sized items so that only the call to
3b2ee170
IS
14671 mem_overlaps_already_clobbered_arg_p () is protected.
14672
37512c66
JH
146732010-07-22 Jan Hubicka <jh@suse.cz>
14674
14675 * ipa-pure-const.c (varying_state): Break out from ...
14676 (get_function_state): ... here; always return varying_state
14677 when state would be NULL otherwise.
14678 (remove_node_data): Do not free varying state.
14679
08bd6876
BS
146802010-07-22 Bernd Schmidt <bernds@codesourcery.com>
14681
14682 PR bootstrap/44970
14683 PR middle-end/45009
14684 * postreload.c: Include "target.h".
14685 (reload_combine_closest_single_use): Don't take DEBUG_INSNs
14686 into account.
14687 (fixup_debug_insns): Don't copy the rtx.
a691bb08
UB
14688 (reload_combine_recognize_const_pattern): DEBUG_INSNs can't have uses.
14689 Don't copy when replacing. Call fixup_debug_insns in the case where
14690 we merged one add with another.
14691 (reload_combine_recognize_pattern): Fail if there aren't any uses.
14692 Try harder to determine whether we're picking a valid index register.
14693 Don't set store_ruid for an insn we're going to scan in the
14694 next iteration.
08bd6876
BS
14695 (reload_combine): Remove unused code.
14696 (reload_combine_note_use): When updating use information for
14697 an old insn, ignore a use that occurs after store_ruid.
14698 * Makefile.in (postreload.o): Update dependencies.
14699
dbb94435
BS
14700 * function.c (record_hard_reg_sets): Restrict the previous change
14701 to cases where the incoming nominal mode is the same as the
14702 incoming promoted mode and everything happens in MODE_INT.
14703
fcc71c6c
JJ
147042010-07-21 Jakub Jelinek <jakub@redhat.com>
14705
14706 PR debug/45015
14707 * var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
14708 ASM_OPERANDS_OUTPUT_IDX.
14709 (adjust_insn): For inline asm with multiple sets ensure first
14710 ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
14711 the insn.
14712
650b5329
RH
147132010-07-21 Richard Henderson <rth@redhat.com>
14714
14715 * config/i386/i386.c (setup_incoming_varargs_64): Emit a simple
14716 comparison for avoiding xmm register saves. Emit the xmm register
14717 saves explicitly.
14718 * config/i386/i386.md (UNSPEC_SSE_PROLOGUE_SAVE): Remove.
14719 (UNSPEC_SSE_PROLOGUE_SAVE_LOW): Remove.
14720 (sse_prologue_save, sse_prologue_save_insn1, sse_prologue_save_insn):
14721 Remove patterns and the associated splitters.
14722
7c6dafac
CF
147232010-07-21 Changpeng Fang <changpeng.fang@amd.com>
14724
14725 * tree-ssa-loop-prefetch.c (analyze_ref): Strip off the real
14726 and imagine parts of a complex, so that they can have the same
14727 base and fall into the same group.
14728
60f6be5a
RG
147292010-07-21 Richard Guenther <rguenther@suse.de>
14730
14731 PR lto/45018
14732 * tree.c (find_decls_types_r): Do not follow TREE_CHAIN
14733 of TYPE_DECLs. Do not follow TYPE_NEXT_VARIANT,
14734 TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL.
14735
75a75e91
MJ
147362010-07-21 Martin Jambor <mjambor@suse.cz>
14737
14738 PR tree-optimization/44900
14739 * tree-sra.c (load_assign_lhs_subreplacements): Updated comments.
14740 (sra_modify_assign): Move gsi to the next statmenent unconditionally.
14741
426797b2
BS
147422010-07-21 Bernd Schmidt <bernds@codesourcery.com>
14743
14744 PR middle-end/44738
14745 * tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message.
14746
35e3a6e9
RG
147472010-07-21 Richard Guenther <rguenther@suse.de>
14748
14749 PR middle-end/45013
14750 * tree-ssa.c (useless_type_conversion_p): Dispatch to
14751 gimple_types_compatible_p only when in lto.
14752 * gimple.c (gimple_types_compatible_p): Use canonical types
14753 to speed up comparison.
14754
3f2930d8
RG
147552010-07-21 Richard Guenther <rguenther@suse.de>
14756
14757 * tree-flow.h (referenced_var): Move define ...
14758 * tree-flow-inline.h (referenced_var): ... here as an inline
14759 function. Assert here ...
14760 * tree-dfa.c (referenced_var_lookup): ... instead of here.
14761 * tree-ssa.c (maybe_optimize_var): Check if the variable
14762 is in referenced vars.
14763 (execute_update_addresses_taken): Remove old broken check.
14764 * gimple-pretty-print.c (pp_points_to_solution): Use
14765 referenced_var_lookup.
14766 * tree-into-ssa.c (dump_decl_set): Likewise.
14767
370ae599
JJ
147682010-07-21 Jakub Jelinek <jakub@redhat.com>
14769
14770 PR debug/45003
a691bb08 14771 * var-tracking.c (reverse_op): Also handle {SIGN,ZERO}_EXTEND of a MEM.
370ae599
JJ
14772 * dwarf2out.c (loc_descriptor): Don't handle SIGN_EXTEND nor
14773 ZERO_EXTEND here.
14774
7703295f
RH
147752010-07-20 Richard Henderson <rth@redhat.com>
14776
14777 * vxworks.c (vxworks_emutls_var_fields): Pass locus to build_decls.
14778
16737e76
BS
147792010-07-20 Bernd Schmidt <bernds@codesourcery.com>
14780
14781 * config/arm/arm.md (thumb1_addsi3): Add alternative and split for
14782 computing the sum of the stack pointer and a large constant.
14783 * config/arm/constraints.md (M): Remove superfluous parentheses.
14784 (Pc): New constraint.
14785
1b47fe3f
JJ
147862010-07-20 Jakub Jelinek <jakub@redhat.com>
14787
14788 PR debug/45006
14789 * cfgexpand.c (expand_debug_expr): Only look at TYPE_UNSIGNED of
14790 operand's type if exp is tcc_unary class tree.
14791
97c56ee3
NF
147922010-07-20 Nathan Froyd <froydnj@codesourcery.com>
14793
14794 * config/rs6000/rs6000.md (abs<mode>2_isel, nabs<mode>2_isel):
14795 Reverse sense of if_then_else condition.
14796
d95016e0
NF
147972010-07-20 Nathan Froyd <froydnj@codesourcery.com>
14798
14799 * config/rs6000/rs6000.opt (mblock-move-inline-limit): New option.
14800 * config/rs6000/rs6000.c (rs6000_override_options): Set
14801 rs6000_block_move_inline_limit appropriately.
14802 (expand_block_move): Use rs6000_block_move_inline_limit.
14803 * doc/invoke.texi (mblock-move-inline-limit): Document.
14804
caa4a250
BS
148052010-07-20 Bernd Schmidt <bernds@codesourcery.com>
14806
14807 * postreload.c (fixup_debug_insns): Remove arg REGNO. New args
14808 FROM and TO. All callers changed. Don't look for tracked uses,
14809 just scan the RTL for DEBUG_INSNs and substitute.
14810 (reload_combine_recognize_pattern): Call fixup_debug_insns.
14811 (reload_combine): Ignore DEBUG_INSNs.
14812
68eaf35c
JJ
148132010-07-20 Jakub Jelinek <jakub@redhat.com>
14814
d2d57152
JJ
14815 * var-tracking.c (vt_expand_loc, vt_expand_loc_dummy): Bump maximum
14816 depth to 8 from 5.
14817
68eaf35c
JJ
14818 PR debug/45003
14819 * cfgexpand.c (expand_debug_expr) <case NOP_EXPR>: Use ZERO_EXTEND
14820 or SIGN_EXTEND depending on TYPE_UNSIGNED of the operand's type
14821 instead of the result's type.
14822
720151ca
RG
148232010-07-20 Richard Guenther <rguenther@suse.de>
14824
14825 PR tree-optimization/44977
14826 * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid
14827 SSA form.
14828
f5d6836a
RG
148292010-07-20 Richard Guenther <rguenther@suse.de>
14830
14831 * lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p.
14832 (lto_symtab_merge_decls_2): Likewise.
14833 * gimple.h (gimple_types_compatible_p): Declare.
14834 * gimple.c (gimple_queue_type_fixup): Remove.
14835 (gimple_fixup_complete_and_incomplete_subtype_p): Likewise.
bd3a5d17 14836 (gimple_compatible_complete_and_incomplete_type_p): New function.
f5d6836a
RG
14837 (gimple_types_compatible_p): Adjust.
14838 (gimple_register_type): Remove type fixup code.
14839 (print_gimple_types_stats): Adjust.
14840 (free_gimple_type_tables): Likewise.
14841 * lto-streamer-in.c (input_gimple_stmt): Use gimple_types_compatible_p.
14842 * tree-ssa.c (useless_type_conversion_p): Likewise.
14843
ad650c92
RG
148442010-07-20 Richard Guenther <rguenther@suse.de>
14845
14846 PR middle-end/44971
14847 PR middle-end/44988
14848 * tree-ssa.c (maybe_optimize_var): New function split out from ...
14849 (execute_update_addresses_taken): ... here.
14850 (non_rewritable_mem_ref_base): Likewise.
14851 (execute_update_addresses_taken): Do not iterate over all referenced
14852 vars but just all local decls and parms.
14853 Properly check call and asm arguments and rewrite call arguments.
14854
2c8f43e6
MK
148552010-07-20 Maxim Kuvyrkov <maxim@codesourcery.com>
14856
14857 * config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constants
14858 to top level.
14859 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific
14860 definitions ...
14861 * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here.
14862 New macro.
14863 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it.
14864
b08e0339
RS
148652010-07-19 Richard Sandiford <rdsandiford@googlemail.com>
14866
14867 * gengtype.c (start_root_entry): New function, split out from
14868 write_root. Check whether V is null and raise an error if so.
14869 (write_field_root): Check for V being null. Don't raise an error here;
14870 set V to null instead.
14871 (write_root): Update comment above function. Use start_root_entry.
14872
e74780a3
XDL
148732010-07-19 Xinliang David Li <davidxl@google.com>
14874
14875 PR testsuite/44932
bd3a5d17
UB
14876 * tree-ssa-uninit.c (collect_phi_def_edges): Fix bug collecting
14877 def edges.
e74780a3
XDL
14878 (find_uninit_use): Add dump.
14879 (is_use_properly_guarded): Ditto.
14880 (warn_uninitialized_phi): Ditto.
14881 (execute_late_warn_uninitialized): Ditto.
14882
8b4c365c
RG
148832010-07-19 Richard Guenther <rguenther@suse.de>
14884
14885 PR middle-end/44941
14886 * expr.c (emit_block_move_hints): Move zero size check first.
14887 Move asserts to more useful places.
14888 * calls.c (load_register_parameters): Check for zero size.
14889
157be8f6
RH
148902010-07-19 Richard Henderson <rth@redhat.com>
14891
14892 * tree-optimize.c (execute_all_early_local_passes): New. Change
14893 cgraph_state here ...
14894 (execute_early_local_optimizations): ... not here. Remove.
14895 (pass_early_local_passes, pass_all_early_optimizations): Update.
14896
b1d5eee8
BS
148972010-07-19 Bernd Schmidt <bernds@codesourcery.com>
14898
14899 * postreload.c (reload_combine_closest_single_use): Ignore the
14900 number of uses for DEBUG_INSNs.
14901 (fixup_debug_insns): New static function.
14902 (reload_combine_recognize_const_pattern): Use it. Don't let the
14903 main loop be affected by DEBUG_INSNs.
14904 Really disallow moving adds past a jump insn.
14905 (reload_combine_recognize_pattern): Don't update use_ruid here.
14906 (reload_combine_note_use): Do it here.
14907 (reload_combine): Use control_flow_insn_p rather than JUMP_P.
14908
0be955e7 149092010-07-19 Bingfeng Mei <bmei@broadcom.com>
157be8f6 14910
0be955e7 14911 * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
bd3a5d17
UB
14912 of a loop.
14913 * loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
0be955e7 14914
9005471b
IS
149152010-07-19 Iain Sandoe <iains@gcc.gnu.org>
14916
14917 * config/i386/darwin.h: Define darwin_emit_branch_islands.
14918 (TARGET_MACHO_BRANCH_ISLANDS): New.
14919 (FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS.
14920 * config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a
14921 default value.
14922 * config/i386/i386.c (output_pic_addr_const): Do not emit
14923 branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set.
14924 (x86_output_mi_thunk): Adjust symbol creation.
14925 * config/rs6000/darwin.h: Define darwin_emit_branch_islands.
14926 Remove out of date comment.
14927 * config/rs6000/rs6000.c (print_operand): Adjust symbol.
bd3a5d17
UB
14928 (DARWIN_LINKER_GENERATES_ISLANDS): Remove.
14929 (DARWIN_GENERATE_ISLANDS): Ditto.
9005471b
IS
14930 (output_call): Do not emit branch islands unless
14931 darwin_emit_branch_islands is set.
14932 * config/darwin.c: Declare darwin_emit_branch_islands.
14933 (machopic_indirect_data_reference): Do not emit unless
14934 darwin_emit_branch_islands is set.
14935 (darwin_override_options): Set darwin_emit_branch_islands
14936 where it is needed.
bd3a5d17 14937 * config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Remove.
9005471b 14938
39354b3b
RO
149392010-07-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14940
14941 * doc/sourcebuild.texi (Effective-Target Keywords): Document
14942 sse_runtime, sse2_runtime.
14943
93f63c68
RS
149442010-07-18 Richard Sandiford <rdsandiford@googlemail.com>
14945
14946 * config/mips/mips.c (mips16_build_call_stub): Zero-extend the
14947 low half of a single-register SCmode return value before ORing
14948 it with the high half.
14949 * config/mips/mips16.S (MERGE_GPRf): Likewise.
14950
84aa7cea
JDA
149512010-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14952
14953 PR target/44805
14954 * config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD
14955 on all targets.
14956
dc0d5a57
BS
149572010-07-17 Bernd Schmidt <bernds@codesourcery.com>
14958
14959 PR target/42235
14960 * postreload.c (reload_cse_move2add): Return bool, true if anything.
14961 changed. All callers changed.
14962 (move2add_use_add2_insn): Likewise.
14963 (move2add_use_add3_insn): Likewise.
14964 (reload_cse_regs): If reload_cse_move2add changed anything, rerun
14965 reload_combine.
14966 (RELOAD_COMBINE_MAX_USES): Bump to 16.
14967 (last_jump_ruid): New static variable.
14968 (struct reg_use): New members CONTAINING_MEM and RUID.
14969 (reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
14970 (reload_combine_split_one_ruid, reload_combine_split_ruids,
14971 reload_combine_purge_insn_uses, reload_combine_closest_single_use
14972 reload_combine_purge_reg_uses_after_ruid,
14973 reload_combine_recognize_const_pattern): New static functions.
14974 (reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
14975 is true for our reg and that we have available index regs.
14976 (reload_combine_note_use): New args RUID and CONTAINING_MEM. All
14977 callers changed. Use them to initialize fields in struct reg_use.
14978 (reload_combine): Initialize last_jump_ruid. Be careful when to
14979 take PREV_INSN of the scanned insn. Update REAL_STORE_RUID fields.
14980 Call reload_combine_recognize_const_pattern.
14981 (reload_combine_note_store): Update REAL_STORE_RUID field.
14982
d4404fee
JM
149832010-07-16 Jason Merrill <jason@redhat.com>
14984
14985 * Makefile.in (opts-common.o): Depend on options.h.
14986
6a4825bd
NF
149872010-07-16 Nathan Froyd <froydnj@codesourcery.com>
14988
14989 * tree.c (build_common_builtin_nodes): Use build_function_type_list
14990 instead of build_function_type.
14991 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
14992 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
14993
c5af628d
NF
149942010-07-16 Nathan Froyd <froydnj@codesourcery.com>
14995
14996 * config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
14997 do all the work.
14998 (rs6000_emit_int_cmove): Use function pointers for insn generation.
14999 Don't force values into registers unnecessarily.
15000 (output_isel): Assert that we're not given conditions we can't handle.
15001 Delete corresponding code.
15002 * config/rs6000/rs6000.md (isel_signed_<mode>): Use
15003 scc_comparison_operator constraint. Permit 0 for the consequent
15004 operand. Permit any GPR for the alternative operand.
15005 (isel_unsigned_<mode>): Likewise.
15006
88ad03c2
JJ
150072010-07-16 Jakub Jelinek <jakub@redhat.com>
15008
15009 PR target/44942
15010 * config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
15011 argument to const_tree.
15012 * config/i386/i386.c (function_arg_advance): If padding needs to be
15013 inserted before argument, increment cum->words by number of padding
15014 words as well.
15015 (contains_aligned_value_p): Change argument to const_tree.
15016 (ix86_function_arg_boundary): Change second argument to const_tree.
15017
71008de4
BS
150182010-07-16 Bernd Schmidt <bernds@codesourcery.com>
15019
15020 PR target/42235
15021 * function.c (record_hard_reg_sets): New static function.
15022 (assign_parm_setup_reg): If an optab for extending exists and the
15023 generated code clobbbers no hard regs, emit the insn directly and
15024 create a REG_EQUIV note.
15025
f7587ed0
NF
150262010-07-15 Nathan Froyd <froydnj@codesourcery.com>
15027
15028 * c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of
15029 TREE_CHAIN.
15030 * c-typeck.c (push_init_level): Likewise.
15031 (process_init_element): Likewise.
15032
9a9d280e
AS
150332010-07-15 Anatoly Sokolov <aesok@post.ru>
15034
15035 * tree.h (enum tree_index): Add TI_INTEGER_THREE.
15036 (integer_three_node): Add.
15037 * tree.c (build_common_tree_nodes_2): Use integer_type_node insead of
15038 NULL_TREE in build_int_cst calls. Initialize the integer_three_node.
15039 * builtins.c (expand_builtin_prefetch): Use common tree nodes instead
15040 of call build_int_cst.
15041 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto.
15042 * tree-ssa-loop-ivopts.c (idx_find_step): Ditto.
15043 (find_interesting_uses_address): Ditto.
15044 * tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto.
15045 * tree-eh.c (lower_eh_constructs_2): Ditto.
15046 * tree-vect-loop.c (get_initial_def_for_induction): Ditto.
15047 * c-typeck.c (really_start_incremental_init, push_init_level): Ditto.
15048 * expmed.c (expand_divmod): Ditto.
15049 * tree-mudflap.c (mx_register_decls): Ditto.
15050 * varasm.c (array_size_for_constructor): Ditto.
15051 * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
15052 * c-parser.c (c_parser_postfix_expression): Ditto.
15053
67bb0206
BS
150542010-07-15 Bernd Schmidt <bernds@codesourcery.com>
15055
15056 * postreload.c (last_label_ruid, first_index_reg, last_index_reg):
15057 New static variables.
15058 (reload_combine_recognize_pattern): New static function, broken out
15059 of reload_combine.
15060 (reload_combine): Use it. Only initialize first_index_reg and
15061 last_index_reg once.
15062
c5f77dcb
RH
150632010-07-15 Richard Henderson <rth@redhat.com>
15064
15065 * cgraphunit.c (cgraph_build_static_cdtor): Clear current_function_decl
15066 when done.
15067
ef8fc6c2
JH
150682010-07-15 Jan Hubicka <jh@suse.cz>
15069
bd3a5d17
UB
15070 * lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling
15071 comdats for broken gold.
15072 (lto_sy mtab_merge_decls_1): Set used_from_object_file correctly.
ef8fc6c2 15073
3d894a8e
NF
150742010-07-15 Nathan Froyd <froydnj@codesourcery.com>
15075
15076 * tree.h (TREE_RTL_OPERAND_CHECK): Delete.
15077
910ad8de
NF
150782010-07-15 Nathan Froyd <froydnj@codesourcery.com>
15079
15080 * tree.h (DECL_CHAIN): Define.
15081 * alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
15082 * c-decl.c: Likewise.
15083 * c-parser.c: Likewise.
15084 * c-typeck.c: Likewise.
15085 * cfgexpand.c: Likewise.
15086 * cgraph.c: Likewise.
15087 * cgraphunit.c: Likewise.
15088 * combine.c: Likewise.
15089 * config/alpha/alpha.c: Likewise.
15090 * config/arm/arm.c: Likewise.
15091 * config/frv/frv.c: Likewise.
15092 * config/i386/i386.c: Likewise.
15093 * config/i386/winnt-cxx.c: Likewise.
15094 * config/ia64/ia64.c: Likewise.
15095 * config/iq2000/iq2000.c: Likewise.
15096 * config/mep/mep.c: Likewise.
15097 * config/mips/mips.c: Likewise.
15098 * config/pa/som.h: Likewise.
15099 * config/rs6000/rs6000.c: Likewise.
15100 * config/s390/s390.c: Likewise.
15101 * config/sh/sh.c: Likewise.
15102 * config/sh/symbian-cxx.c: Likewise.
15103 * config/sparc/sparc.c: Likewise.
15104 * config/spu/spu.c: Likewise.
15105 * config/stormy16/stormy16.c: Likewise.
15106 * config/vxworks.c: Likewise.
15107 * config/xtensa/xtensa.c: Likewise.
15108 * coverage.c: Likewise.
15109 * dbxout.c: Likewise.
15110 * dwarf2out.c: Likewise.
15111 * emit-rtl.c: Likewise.
15112 * expr.c: Likewise.
15113 * function.c: Likewise.
15114 * gimple-low.c: Likewise.
15115 * gimple-pretty-print.c: Likewise.
15116 * gimplify.c: Likewise.
15117 * integrate.c: Likewise.
15118 * ipa-inline.c: Likewise.
15119 * ipa-prop.c: Likewise.
15120 * ipa-split.c: Likewise.
15121 * ipa-struct-reorg.c: Likewise.
15122 * ipa-type-escape.c: Likewise.
15123 * langhooks.c: Likewise.
15124 * lto-cgraph.c: Likewise.
15125 * omp-low.c: Likewise.
15126 * stor-layout.c: Likewise.
15127 * tree-cfg.c: Likewise.
15128 * tree-complex.c: Likewise.
15129 * tree-dfa.c: Likewise.
15130 * tree-dump.c: Likewise.
15131 * tree-inline.c: Likewise.
15132 * tree-mudflap.c: Likewise.
15133 * tree-nested.c: Likewise.
15134 * tree-object-size.c: Likewise.
15135 * tree-pretty-print.c: Likewise.
15136 * tree-sra.c: Likewise.
15137 * tree-ssa-live.c: Likewise.
15138 * tree-ssa-loop-niter.c: Likewise.
15139 * tree-ssa-math-opts.c: Likewise.
15140 * tree-ssa-reassoc.c: Likewise.
15141 * tree-ssa-sccvn.c: Likewise.
15142 * tree-ssa-structalias.c: Likewise.
15143 * tree-tailcall.c: Likewise.
15144 * tree-vrp.c: Likewise.
15145 * tree.c: Likewise.
15146 * var-tracking.c: Likewise.
15147 * varasm.c: Likewise.
15148
643afedb
UW
151492010-07-15 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15150
15151 PR target/44877
15152 * config/spu/spu.c (spu_expand_builtin_1): Allow references
15153 (as well as pointers) as argument to mask_for_load builtins.
15154
0ba0772b
RB
151552010-07-15 Richard Guenther <rguenther@suse.de>
15156
15157 PR tree-optimization/44946
15158 * tree-ssa-structalias.c (get_constraint_for_component_ref): Deal
15159 with accessing only padding properly.
15160
02ee7bea
JH
151612010-07-15 Jan Hubicka <jh@suse.cz>
15162
0ba0772b
RB
15163 * ipa.c (function_and_variable_visibility): Variables marked as used
15164 should not be localized.
02ee7bea 15165
99fecd47
JH
151662010-07-15 Jan Hubicka <jh@suse.cz>
15167
15168 * cgraph.c: Include lto-streamer.h
15169 (change_decl_assembler_name): Work when assembler name hash is at place.
bd3a5d17
UB
15170 (cgraph_make_decl_local): When localizing COMDAT symbol at WPA stage,
15171 be sure to rename it to avoid name clash.
99fecd47
JH
15172 * ipa.c (cgraph_externally_visible_p, function_and_variable_visibility):
15173 Localize hidden symbols only when locally defined.
15174
53f00dde
UB
151752010-07-15 Uros Bizjak <ubizjak@gmail.com>
15176
15177 * config/i386/i386.h (SHIFT_COUNT_TRUNCATED): Expand comment.
15178
8ffadef9
MG
151792010-07-15 Magnus Granberg <zorry@gentoo.org>
15180 Kevin F. Quinn <kevquinn@gentoo.org>
15181
53f00dde
UB
15182 * builtins.c (expand_builtin_init_trampoline): Warn for -Wtrampolines.
15183 * common.opt: Add -Wtrampolines.
15184 * doc/invoke.texi: Add -Wtrampolines.
8ffadef9 15185
5cb55204
JZ
151862010-07-15 Jie Zhang <jie@codesourcery.com>
15187
15188 * config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve
15189 cortex_a8_issue_ls.
15190
4c4837a3
DK
151912010-07-15 Dave Korn <dave.korn.cygwin@gmail.com>
15192
15193 * config/i386/cygwin.h (LIBGCJ_SONAME): Update.
15194 * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
15195
588c71da
UW
151962010-07-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15197
15198 * config/spu/spu.c (reg_names): Remove prototype.
15199 (call_used_regs): Likewise.
15200
a9c5db80
DK
152012010-07-14 Dave Korn <dave.korn.cygwin@gmail.com>
15202
15203 * config/i386/cygming-crtend.c (__FRAME_END__): Replace attribute
15204 "unused" with attribute "used".
15205 (__JCR_END__): Likewise.
15206 * config/i386/cygming-crtbegin.c (__EH_FRAME_BEGIN__): Add missing
15207 "used" attribute.
15208 (__JCR_LIST__): Replace attribute "unused" with attribute "used".
15209
61593e5e
RG
152102010-07-14 Richard Guenther <rguenther@suse.de>
15211
15212 * lto-streamer-in.c (maybe_fixup_handled_component): Remove.
15213 (maybe_fixup_decls): Likewise.
15214 (input_gimple_stmt): Do not fixup anything.
15215 * lto-streamer-out.c (output_gimple_stmt): Make sure all
15216 non-automatic variable uses are wrapped inside a MEM_REF.
15217
fc7fcda1
RH
152182010-07-14 Richard Henderson <rth@redhat.com>
15219
15220 * passes.c (rest_of_decl_compilation): Do not call assemble_variable
15221 for functions.
15222 * varasm.c (assemble_variable): Remove early exit for functions;
15223 assert that we're given a variable.
15224
eab3f92e
JZ
152252010-07-14 Jie Zhang <jie@codesourcery.com>
15226
15227 * config/arm/cortex-a8.md (cortex_a8_alu): Don't use
15228 cortex_a8_default when neon_type is not none.
15229
402464a0
BS
152302010-07-14 Bernd Schmidt <bernds@codesourcery.com>
15231
15232 * lower-subreg.c (subreg_context): New static bitmap.
15233 (decompose_multiword_subregs): Allocate and free it.
15234 (find_decomposable_subregs): Set a bit in it for a register that
15235 occurs in a subreg that changes mode but not size.
15236 (can_decompose_p): Test it instead of non_decomposable_context.
15237
bf9899d4
RG
152382010-07-14 Richard Guenther <rguenther@suse.de>
15239
15240 PR tree-optimization/44824
15241 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Use
15242 is_gimple_mem_ref_addr.
15243 (tree_ssa_forward_propagate_single_use_vars): Do not propagate
15244 non-decl_address_invariant_p addresses.
15245
b1c8622e
BS
152462010-07-14 Bernd Schmidt <bernds@codesourcery.com>
15247
15248 * reload.c (find_reloads): Revert code to penalize small register
15249 classes that was brought in with the IRA merge.
15250
2bd6311d
RG
152512010-07-14 Richard Guenther <rguenther@suse.de>
15252
15253 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle MEM_REF
15254 as base of ARRAY_REFs.
15255
f051cb5d
RG
152562010-07-14 Richard Guenther <rguenther@suse.de>
15257
15258 PR middle-end/44930
15259 * tree-pretty-print.c (do_niy): Do not print a newline.
15260
a49ae217
BS
152612010-07-14 Bernd Schmidt <bernds@codesourcery.com>
15262
15263 * ira-int.h (struct ira_object): New.
53f00dde 15264 (ira_object_t): New typedef. Add DEF_VEC_P and DEF_VEC_ALLOC_P for it.
a49ae217
BS
15265 (struct ira_allocno): Remove members min, max,
15266 conflict_allocno_array, conflict_id, conflict_allocno_array_size,
15267 conflict_allocnos_num and conflict_vec_p. Add new member object.
15268 (OBJECT_CONFLICT_ARRAY, OBJECT_CONFLICT_VEC_P,
15269 OBJECT_NUM_CONFLICTS, OBJECT_CONFLICT_ARRAY_SIZE,
15270 OBJECT_CONFLICT_HARD_REGS, OBJECT_TOTAL_CONFLICT_HARD_REGS,
15271 OBJECT_MIN, OBJECT_MAX, OBJECT_CONFLICT_ID): Renamed from
15272 ALLOCNO_CONFLICT_ALLOCNO_ARRAY, ALLOCNO_CONFLICT_VEC_P,
15273 ALLOCNO_CONFLICT_ALLOCNOS_NUM, ALLOCNO_CONFLICT_ALLOCNO_ARRAY_SIZE,
15274 ALLOCNO_CONFLICT_HARD_REGS, ALLOCNO_TOTAL_CONFLICT_HARD_REGS)
15275 ALLOCNO_MIN, ALLOCNO_MAX, and ALLOCNO_CONFLICT_ID; now operate on
15276 an ira_object_t rather than ira_allocno_t. All uses changed.
15277 (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
15278 contains a vector of ira_object_t; all uses changed.
15279 (ira_objects_num): Declare variable.
15280 (ira_create_allocno_object): Declare function.
15281 (ira_conflict_vector_profitable_p): Adjust prototype.
15282 (ira_allocate_conflict_vec): Renamed from
15283 ira_allocate_allocno_conflict_vec; first arg now ira_object_t.
15284 (ira_allocate_object_conflicts): Renamed from
15285 ira_allocate_allocno_conflicts; first arg now ira_object_t.
15286 (struct ira_object_iterator): New.
15287 (ira_object_iter_init, ira_object_iter_cond, FOR_EACH_OBJECT): New.
15288 (ira_allocno_conflict_iterator): Renamed member allocno_conflict_vec_p
15289 to conflict_vec_p. All uses changed.
15290 (ira_allocno_conflict_iter_init, ira_allocno_conflict_iter_cond):
15291 Changed to take into account that conflicts are now tracked for
15292 objects.
53f00dde
UB
15293 * ira-conflicts.c (OBJECTS_CONFLICT_P): Renamed from CONFLICT_ALLOCNO_P.
15294 Args changed to accept ira_object_t. All uses changed.
a49ae217
BS
15295 (allocnos_conflict_p): New static function.
15296 (collected_conflict_objects): Renamed from collected_allocno_objects;
15297 now a vector of ira_object_t. All uses changed.
15298 (build_conflict_bit_table): Changed to take into account that
15299 conflicts are now tracked for objects.
15300 (process_regs_for_copy, propagate_copies, build_allocno_conflicts)
15301 (print_allocno_conflicts, ira_build_conflicts): Likewise.
15302 * ira-color.c (assign_hard_reg, setup_allocno_available_regs_num)
15303 setup_allocno_left_conflicts_size, allocno_reload_assign,
15304 fast_allocation): Likewise.
15305 * ira-lives.c (make_hard_regno_born, make_allocno_born)
15306 process_single_reg_class_operands, process_bb_node_lives): Likewise.
15307 * ira-emit.c (modify_move_list, add_range_and_copies_from_move_list):
15308 Likewise.
15309 * ira-build.c (ira_objects_num): New variable.
15310 (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
15311 contains a vector of ira_object_t; all uses changed.
15312 (ira_object_id_map_vec): Corresponding change.
15313 (object_pool): New static variable.
15314 (initiate_allocnos): Initialize it.
15315 (finish_allocnos): Free it.
15316 (ira_create_object, ira_create_allocno_object, create_allocno_objects):
15317 New functions.
15318 (ira_create_allocno): Don't set members that were removed.
15319 (ira_set_allocno_cover_class): Don't change conflict hard regs.
15320 (merge_hard_reg_conflicts): Changed to take into account that
15321 conflicts are now tracked for objects.
15322 (ira_conflict_vector_profitable_p, ira_allocate_conflict_vec,
15323 allocate_conflict_bit_vec, ira_allocate_object_conflicts,
15324 compress_conflict_vecs, remove_low_level_allocnos, ira_flattening,
15325 setup_min_max_allocno_live_range_point, allocno_range_compare_func,
15326 setup_min_max_conflict_allocno_ids, ): Likewise.
53f00dde 15327 (add_to_conflicts): Renamed from add_to_allocno_conflicts, args changed
a49ae217
BS
15328 to ira_object_t; all callers changed.
15329 (ira_add_conflict): Renamed from ira_add_allocno_conflict, args changed
15330 to ira_object_t, all callers changed.
15331 (clear_conflicts): Renamed from clear_allocno_conflicts, arg changed
15332 to ira_object_t, all callers changed.
15333 (conflict_check, curr_conflict_check_tick): Renamed from
15334 allocno_conflict_check and curr_allocno_conflict_check_tick; all uses
15335 changed.
15336 (compress_conflict_vec): Renamed from compress_allocno_conflict_vec,
15337 arg changed to ira_object_t, all callers changed.
15338 (create_cap_allocno): Call ira_create_allocno_object.
15339 (finish_allocno): Free the corresponding object.
15340 (sort_conflict_id_map): Renamed from sort_conflict_id_allocno_map; all
15341 callers changed. Adjusted for dealing with objects.
15342 (ira_build): Call create_allocno_objects after ira_costs. Adjusted for
15343 dealing with objects.
15344 * ira.c (ira_bad_reload_regno_1): Adjusted for dealing with objects.
15345
53f00dde
UB
15346 * ira-int.h (struct live_range): Rename allocno member to object
15347 and change type to ira_object_t.
9140d27b
BS
15348 (struct ira_object): New member live_ranges.
15349 (struct ira_allocno): Remove member live_ranges.
15350 (ALLOCNO_LIVE_RANGES): Remove.
15351 (OBJECT_LIVE_RANGES): New macro.
15352 (ira_create_live_range, ira_copy_live_range_list,
15353 ira_merge_live_range_list, ira_live_ranges_intersect_p,
15354 ira_finish_live_range, ira_finish_live_range_list): Adjust declarations.
15355 * ira-build.c (ira_create_object): Initialize live ranges here.
15356 (ira_create_allocno): Not here.
15357 (ira_create_live_range): Rename from ira_create_allocno_live_range, arg
15358 changed to ira_object_t, all callers changed.
15359 (copy_live_range): Rename from copy_allocno_live_range, all callers
15360 changed.
53f00dde
UB
15361 (ira_copy_live_range_list): Rename from
15362 ira_copy_allocno_live_range_list, all callers changed.
9140d27b
BS
15363 (ira_merge_live_ranges): Rename from ira_merge_allocno_live_range_list,
15364 all callers changed.
15365 (ira_live_ranges_intersect_p): Rename from
15366 ira_allocno_live_ranges_intersect_p, all callers changed.
15367 (ira_finish_live_range): Rename from ira_finish_allocno_live_range, all
15368 callers changed.
15369 (ira_finish_live_range_list): Rename from
15370 ira_finish_allocno_live_range_list, all callers changed.
15371 (change_object_in_range_list): Rename from change_allocno_in_range_list,
15372 last arg changed to ira_object_t, all callers changed.
15373 (finish_allocno): Changed to expect live ranges in the allocno's object.
15374 (move_allocno_live_ranges, copy_allocno_live_ranges,
15375 update_bad_spill_attribute, setup_min_max_allocno_live_range_point,
15376 ira_flattening, ira_build): Likewise.
15377 * ira-color.c (allocnos_have_intersected_live_ranges_p,
15378 slot_coalesced_allocno_live_ranges_intersect,
15379 setup_slot_coalesced_allocno_live_ranges, fast_allocation): Likewise.
15380 * ira-conflicts.c (build_conflict_bit_table): Likewise.
15381 * ira-emit.c (add_range_and_copies_from_move_list): Likewise.
15382 * ira-lives.c (make_allocno_born, update_allocno_pressure_excess_length,
15383 make_allocno_dead, create_start_finish_chains,
15384 remove_some_program_points_and_update_live_ranges,
15385 ira_debug_live_range_list): Likewise.
15386
fa86d337
BS
15387 * ira-int.h (ira_object_conflict_iterator): Rename from
15388 ira_allocno_conflict_iterator.
15389 (ira_object_conflict_iter_init): Rename from
15390 ira_allocno_conflict_iter_init, second arg changed to
15391 * ira.c (check_allocation): Use FOR_EACH_OBJECT_CONFLICT rather than
15392 FOR_EACH_ALLOCNO_CONFLICT.
15393 * ira-color.c (assign_hard_reg, push_allocno_to_stack)
15394 setup_allocno_left_conflicts_size, coalesced_allocno_conflict_p,
15395 ira_reassign_conflict_allocnos, ira_reassign_pseudos): Likewise.
15396 * ira-conflicts.c (print_allocno_conflicts): Likewise.
15397
c31c32f9
JR
153982010-07-13 Joern Rennecke <joern.rennecke@embecosm.com>
15399
15400 PR other/44874
15401 * tree-dump.c (dump_options): Add enumerate_locals entry.
15402 Add TDF_NOID exclusion to all entry.
15403 * tree-dump.h (dump_enumerated_decls): Declare.
15404 * tree-pretty-print.c (dump_generic_node): For TDF_NOID,
15405 Don't display type uid.
15406 (print_declaration): Don't crash on TREE_TYPE (t) == 0.
15407 * tree-pass.h (TDF_ENUMERATE_LOCALS): Define.
15408 * tree-ssa-live.c: Include gimple.h.
15409 (numbered_tree_d): New struct.
15410 (numbered_tree): New typedef.
15411 (DEF_VEC_O (numbered_tree): New.
15412 (DEF_VEC_ALLOC_O (numbered_tree, heap)): Likewise.
15413 (compare_decls_by_uid, dump_enumerated_decls_push): New functions.
15414 (dump_enumerated_decls): Likewise.
15415 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): If comparing
15416 debug info and flag_dump_final_insns, call dump_enumerated_decls.
15417 * tree-cfg.c (dump_function_to_file): Call dump_enumerated_decls.
15418 * Makefile.in (tree-ssa-live.o): Depend on $(GIMPLE_H).
15419
d1465187
RS
154202010-07-13 Richard Sandiford <rdsandiford@googlemail.com>
15421
15422 * expmed.h (MAX_BITS_PER_WORD): Move to...
15423 * defaults.h (MAX_BITS_PER_WORD): ...here.
15424
0685e770
DD
154252010-07-13 DJ Delorie <dj@redhat.com>
15426
15427 * config/h8300/h8300.c (h8300_init_once): Default to
15428 -fstrict_volatile_bitfields.
15429
15430 * config/sh/sh.c (sh_override_options): Default to
15431 -fstrict_volatile_bitfields.
15432
15433 * config/rx/rx.c (rx_option_override): New.
15434
15435 * config/m32c/m32c.c (m32c_override_options): Default to
15436 -fstrict_volatile_bitfields.
15437
3bb06db4
NF
154382010-07-13 Nathan Froyd <froydnj@codesourcery.com>
15439
15440 * tree.h (build_function_call_expr): Delete.
15441 (build_call_expr_loc_array): New function.
15442 (build_call_expr_loc_vec): New function.
15443 * tree-flow.h (struct omp_region): Change type of ws_args field
15444 to a VEC.
15445 * builtins.c (build_function_call_expr): Delete.
15446 (build_call_expr_loc_array): New function.
15447 (build_call_expr_loc): Call it. Use XALLOCAVEC.
15448 (build_call_expr): Likewise.
15449 (build_call_expr_loc_vec): New function.
15450 * cgraphunit.c (build_cdtor): Call build_call_expr instead of
15451 build_function_call_expr.
15452 * expr.c (emutls_var_address): Likewise.
15453 * varasm.c (emutls_common_1): Likewise.
15454 * omp-low.c (expand_omp_atomic_mutex): Likewise.
15455 (expand_omp_taskreg): Adjust for new type of region->ws_args.
15456 (get_ws_args_for): Return a VEC instead of a tree.
15457 (expand_parallel_call): Call build_call_expr_loc_vec instead of
15458 build_function_call_expr.
15459 * stor-layout.c (self_referential_size): Likewise.
15460
c55c061a
JJ
154612010-07-13 Jakub Jelinek <jakub@redhat.com>
15462
15463 PR testsuite/44701
15464 * recog.c (constrain_operands): Allow side-effects in memory
15465 operands if either < or > constraint is used, rather than if
15466 both < and > is used.
15467
2eb0b984
RG
154682010-07-13 Richard Guenther <rguenther@suse.de>
15469
15470 PR middle-end/44911
15471 * tree-pretty-print.c (dump_generic_node): Use TDF_SLIM for
15472 MEM_REF pointer type dumping. Avoid recursing for TYPE_DECLs
15473 without name.
15474
535b951f
KK
154752010-07-13 Kaz Kojima <kkojima@gcc.gnu.org>
15476
15477 PR target/44761
15478 * mode-switching.c (optimize_mode_switching): Add ATTRIBUTE_UNUSED
15479 to variable emited.
15480 * config/sh/sh.c (sh_expand_epilogue): Remove unused variable.
15481 * config/sh/sh.md (symGOT_load): Likewise.
15482 (symDTPOFF2reg): Likewise.
15483 (symTPOFF2reg): Likewise.
15484
6d06590d
RR
154852010-07-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15486
15487 * expmed.c (MAX_BITS_PER_WORD): Moved to expmed.h.
15488 * expmed.h (MAX_BITS_PER_WORD): Moved from expmed.c.
15489
ea2d8f12
RO
154902010-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15491
15492 * config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
15493 explanation.
15494 Find ucontext_t * on Solaris 11.
15495 (x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
15496 Handle new Solaris 11 __sighndlr patterns.
15497
2fed2012
JJ
154982010-07-13 Jakub Jelinek <jakub@redhat.com>
15499
15500 PR debug/44901
15501 * vec.h (VEC_block_remove): Fix comment.
15502 * tree-ssa-live.c (remove_unused_locals): Don't use
15503 VEC_unordered_remove on local_decls, instead replace a single
15504 vector element in each iteration if at least one element had
15505 to be removed and VEC_truncate at the end.
15506 * omp-low.c (expand_omp_taskreg): Likewise.
15507
cc343f65
MLI
155082010-07-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
15509
15510 * c-decl.c (finish_function): Fix typo in comment.
a691bb08 15511
5676e87d
L
155122010-07-12 H.J. Lu <hongjiu.lu@intel.com>
15513
15514 PR bootstrap/44921
15515 * postreload.c (move2add_use_add3_insn): Silence gcc warning
15516 on min_regno.
15517
8556f58f
JJ
155182010-07-12 Jakub Jelinek <jakub@redhat.com>
15519
15520 * tree-vrp.c (simplify_bit_ops_using_ranges): New function.
15521 (simplify_stmt_using_ranges): Use it.
15522
8dc9f5bd
UW
155232010-07-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15524
15525 * config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
15526 member. Do not mark as GTY(()).
15527 * config/spu/spu.c (spu_builtins): Remove FNDECL initializer elements.
15528 (spu_builtin_decls): New static variable.
15529 (spu_builtin_decl): Use it instead of spu_builtins[].fndecl.
15530 (spu_init_builtins): Likewise.
15531 (spu_builtin_mul_widen_even): Likewise.
15532 (spu_builtin_mul_widen_odd): Likewise.
15533 (spu_builtin_mask_for_load): Likewise.
15534 (spu_builtin_vec_perm): Likewise.
15535 * config/spu/spu-c.c: Include "target.h".
15536 (spu_resolve_overloaded_builtin): Call targetm.builtin_decl instead
15537 of using spu_builtins[].fndecl.
15538
ac9b0eea
RS
155392010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15540
15541 * config/mips/mips.c (mips_override_options): Make -mflip-mips16
15542 imply -minterlink-mips16.
15543
5aa62249
RS
155442010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15545
15546 * config/mips/mips.h (mips16_globals): Declare.
15547 (SWITCHABLE_TARGET): Define.
15548 * config/mips/mips.c: Include target-globals.h.
15549 (mips16_globals): New variable.
15550 (mips_set_mips16_mode): Use save_target_globals and
15551 restore_target_globals instead of target_reinit.
15552
77f55879
RS
155532010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15554
15555 * reginfo.c (init_reg_sets): Don't zero globals here. Update comment
15556 to say that the function can be called more than once.
15557 * target-globals.c (save_target_globals): Call init_reg_sets.
15558
76ee381a
RS
155592010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15560
15561 * Makefile.in (bb-reorder.o, target-globals.o): Depend on bb-reorder.h
15562 * bb-reorder.h: New file.
15563 * bb-reorder.c (default_target_bb_reorder): New variable.
15564 (this_target_bb_reorder): New conditional variable.
15565 (uncond_jump_length): Redefine as a macro.
15566 * target-globals.h (this_target_bb_reorder): Declare.
15567 (target_globals): Add a bb_reorder field.
15568 (restore_target_globals): Copy the bb_reorder field to
15569 this_target_bb-reorder.
15570 * target-globals.c: Include bb-reorder.h.
15571 (default_target_globals): Initialize the bb_reorder field.
15572 (save_target_globals): Likewise.
15573
7c6811fe
RS
155742010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15575
15576 * Makefile.in (gcse.o, target-globals.o): Depend on gcse.h..
15577 * gcse.h: New file.
15578 * gcse.c: Include gcse.h.
15579 (default_target_gcse): New variable.
15580 (this_target_gcse): New conditional variable.
15581 (can_copy): Redefine as a macro.
15582 (can_copy_init_p): New macro.
15583 (can_copy_p): Remove can_copy_init_p.
15584 * target-globals.h (this_target_gcse): Declare.
15585 (target_globals): Add a gcse field.
53f00dde 15586 (restore_target_globals): Copy the gcse field to this_target_gcse.
7c6811fe
RS
15587 * target-globals.c: Include gcse.h.
15588 (default_target_globals): Initialize the gcse field.
15589 (save_target_globals): Likewise.
15590
15e7b94f
RS
155912010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15592
15593 * ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs
15594 and x_ira_prohibited_mode_move_regs_initialized_p.
15595 (ira_prohibited_mode_move_regs): Redefine as a macro.
15596 * ira.c (ira_prohibited_mode_move_regs): Delete.
15597 (ira_prohibited_mode_move_regs_initialized_p): Redefine as a macro.
15598
cc14227f
RS
155992010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15600
15601 * reload.h (target_reload): Add x_cached_reg_save_code and
15602 x_cached_reg_restore_code.
15603 * caller-save.c (cached_reg_save_code, cached_reg_restore_code):
15604 Redefine as macros.
15605
fa19795e
RS
156062010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15607
15608 * Makefile.in (target-globals.o): Depend on builtins.h.
15609 * builtins.h: New file.
15610 * builtins.c: Include builtins.h.
15611 (default_target_builtins): New variable.
15612 (this_target_builtins): New conditional variable.
15613 (apply_args_mode, apply_result_mode): Redefine as macros.
15614 * target-globals.h (this_target_builtins): Declare.
15615 (target_globals): Add a builtins field.
15616 (restore_target_globals): Copy the builtins field to
15617 this_target_builtins.
15618 * target-globals.c: Include builtins.h.
15619 (default_target_globals): Initialize the builtins field.
15620 (save_target_globals): Likewise.
15621
c371bb73
RS
156222010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15623
15624 * expmed.h (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST)
15625 (algorithm, alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved
15626 from expmed.c.
15627 (target_expmed): Add x_alg_hash and x_alg_hash_used_p.
15628 (alg_hash, alg_hash_used_p): New macros.
15629 * expmed.c (init_expmed): Clear alg_hash if reinitializing.
15630 (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST, algorithm)
15631 (alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved to expmed.h.
15632
aa1c5d72
RS
156332010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15634
15635 * ira-int.h (target_ira_int): Add x_max_struct_costs_size, x_init_cost,
15636 x_temp_costs, x_op_costs, x_this_op_costs and x_cost_classes.
15637 * ira-costs.c (max_struct_costs_size, init_cost, temp_costs, op_costs)
15638 (this_op_costs, costs_classes): Redefine as macros.
15639 (record_reg_classes): Don't take op_costs as a parameter.
15640 (record_operand_costs): Likewise. Update calls to record_reg_classes.
15641 (scan_one_insn): Update call to record_operand_costs.
15642
afcc66c4
RS
156432010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15644
15645 * Makefile.in (target-globals.o): Depend on $(IRA_INT_H).
15646 * ira-int.h (ira_max_nregs, ira_important_class_nums): Delete.
15647 (target_ira_int): New structure.
15648 (default_target_ira_int): Declare.
15649 (this_target_ira_int): Declare as a variable or define as a macro.
15650 (ira_reg_mode_hard_regset, ira_register_move_cost)
15651 (ira_may_move_in_cost, ira_may_move_out_cost, ira_class_subset_p)
15652 (ira_non_ordered_class_hard_regs, ira_class_hard_reg_index)
15653 (prohibited_class_mode_regs, ira_important_classes_num)
15654 (ira_important_classes, ira_reg_class_intersect)
15655 (ira_reg_classes_intersect_p, ira_reg_class_super_classes)
15656 (ira_reg_class_union): Redefine as macros.
15657 * ira.h (target_ira): New structure.
15658 (default_target_ira): Declare.
15659 (this_target_ira): Declare as a variable or define as a macro.
15660 (ira_available_class_regs, ira_hard_regno_cover_class)
15661 (ira_reg_class_cover_size, ira_reg_class_cover, ira_class_translate)
15662 (ira_reg_class_nregs, ira_memory_move_cost, ira_class_hard_regs)
15663 (ira_class_hard_regs_num): Redefine as macros.
15664 * ira.c (default_target_ira, default_target_ira_int): New variables.
15665 (this_target_ira, this_target_ira_int): New conditional variables.
15666 (ira_reg_mode_hard_regset, ira_memory_move_cost)
15667 (ira_register_move_cost, ira_may_move_in_cost, ira_may_move_out_cost)
15668 (ira_class_subset_p): Delete.
15669 (no_unit_alloc_regs): Redefine as a macro.
15670 (ira_class_hard_regs, ira_non_ordered_class_hard_regs)
15671 (ira_class_hard_regs_num, ira_class_hard_reg_index)
15672 (ira_available_class_regs): Delete.
15673 (alloc_reg_class_subclasses): Redefine as a macro.
15674 (ira_reg_class_cover_size, ira_reg_class_cover)
15675 (ira_important_classes_num, ira_important_classes)
15676 (ira_important_class_nums, ira_class_translate): Delete.
15677 (cover_class_order): Document the variable's lifetime.
15678 (reorder_important_classes): Don't set ira_important_class_nums.
15679 (ira_reg_class_intersect, ira_reg_classes_intersect_p)
15680 (ira_reg_class_super_classes, ira_reg_class_union)
15681 (ira_hard_regno_cover_class, ira_reg_class_nregs, ira_max_nregs):
15682 Delete.
15683 (setup_reg_class_nregs): Don't set ira_max_regs.
15684 (prohibited_class_mode_regs): Delete.
15685 * target-globals.h (this_target_ira, this_target_ira_int): Declare.
15686 (target_globals): Add ira and ira_int fields.
15687 (restore_target_globals): Copy the ira field to this_target_ira
15688 and the ira_int field to this_target_ira_int.
15689 * target-globals.c: Include ira-int.h.
15690 (default_target_globals): Initialize the ira and ira_int fields.
15691 (save_target_globals): Likewise.
15692
4391924a
RS
156932010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15694
15695 * Makefile.in (target-globals.o): Depend on $(CFGLOOP_H).
15696 * cfgloop.h (target_cfgloop): New structure.
15697 (default_target_cfgloop): Declare.
15698 (this_target_cfgloop): Declare as a variable or define as a macro.
15699 (target_avail_regs, target_clobbered_regs, target_res_regs)
15700 (target_reg_cost, target_spill_cost): Redefine as macros.
15701 * cfgloopanal.c (default_target_cfgloop): New variable.
15702 (this_target_cfgloop): New conditional variable.
15703 (target_avail_regs, target_clobbered_regs, target_res_regs)
15704 (target_reg_cost, target_spill_cost): Delete.
15705 * target-globals.h (this_target_cfgloop): Declare.
15706 (target_globals): Add a cfgloop field.
15707 (restore_target_globals): Copy the cfgloop field to
15708 this_target_cfgloop.
15709 * target-globals.c: Include cfgloop.h.
15710 (default_target_globals): Initialize the cfgloop field.
15711 (save_target_globals): Likewise.
15712
9d86796b
RS
157132010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15714
15715 * regs.h (target_regs): Add x_direct_load, x_direct_store and
15716 x_float_extend_from_mem.
15717 (direct_load, direct_store, float_extend_from_mem): New macros.
15718 * expr.c (direct_load, direct_store, float_extend_from_mem): Delete.
15719
3e9c326a
RS
157202010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15721
15722 * Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H).
15723 (target-globals.o): Depend on $(LIBFUNCS_H).
15724 * libfuncs.h: Include hashtab.h.
15725 (libfunc_entry): Moved from optabs.c.
15726 (target_libfuncs): New structure.
15727 (default_target_libfuncs): Declare.
15728 (this_target_libfuncs): Declare as a variable or define as a macro.
15729 (libfunc_table): Redefine as a macro.
15730 * optabs.c (default_target_libfuncs): New variable.
15731 (this_target_libfuncs): New conditional variable.
15732 (libfunc_table): Delete.
15733 (libfunc_entry): Moved to optabs.h.
15734 (libfunc_hash): Redefine as a macro.
15735 (hash_libfunc, eq_libfunc): Fix comments.
15736 (init_optabs): Use libfunc_hash to detect cases where the function
15737 has already been called. Clear the hash table instead of
15738 recreating it.
15739 * target-globals.h (this_target_libfuncs): Declare.
15740 (target_globals): Add a libfuncs field.
15741 (restore_target_globals): Copy the libfuncs field to
15742 this_target_libfuncs.
15743 * target-globals.c: Include libfuncs.h.
15744 (default_target_globals): Initialize the libfuncs field.
15745 (save_target_globals): Likewise.
15746
9f7f1892
RS
157472010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15748
15749 * Makefile.in (LIBFUNCS_H): New variable. Use instead of libfuncs.h
15750 in all dependency lists.
15751
4bcbfa03
RS
157522010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15753
15754 * Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
15755 * optabs.h (target_optabs): New structure.
15756 (default_target_optabs): Declare.
15757 (this_target_optabs): Declare as a variable or define as a macro.
15758 (optab_table, convert_optab_table, direct_optab_table): Redefine
15759 as macros.
15760 * optabs.c (default_target_optabs): New variable.
15761 (this_target_optabs): New conditional variable.
15762 (optab_table, convert_optab_table, direct_optab_table): Delete.
15763 * target-globals.h (this_target_optabs): Declare.
15764 (target_globals): Add a optabs field.
15765 (restore_target_globals): Copy the optabs field to
15766 this_target_optabs.
15767 * target-globals.c: Include expr.h and optabs.h.
15768 (default_target_globals): Initialize the optabs field.
15769 (save_target_globals): Likewise.
15770
b6609375
RS
157712010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15772
15773 * flags.h (target_flagstate): Add x_flag_excess_precision.
15774 (flag_excess_precision): Redefine as a macro.
15775 * toplev.c (flag_excess_precision): Delete.
15776
bcbaaba1
RS
157772010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15778
15779 * defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined.
15780 * libgcc2.c (MIN_UNITS_PER_WORD): Delete.
15781 * hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set.
15782 (no_caller_save_reg_set): Redefine as a macro.
15783 * reload.h (target_reload): Add x_caller_save_initialized_p and
15784 x_regno_save_mode.
15785 (caller_save_initialized_p): Redefine as a macro.
15786 * caller-save.c (caller_save_initialized_p, no_caller_save_reg_set)
15787 (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete.
15788 (regno_save_mode): Redefine as a macro.
15789
462f85ce
RS
157902010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15791
15792 * Makefile.in (expmed.o, target-globals.o): Depend on expmed.h.
15793 * expmed.h: New file.
15794 * expmed.c (default_target_costs): New variable.
15795 (this_target_costs): New conditional variable.
15796 (sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost, neg_cost)
15797 (shift_cost, shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost)
15798 (sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete.
15799 * target-globals.h (this_target_expmed): Declare.
15800 (target_globals): Add a expmed field.
15801 (restore_target_globals): Copy the expmed field to
15802 this_target_expmed.
15803 * target-globals.c: Include expmed.h.
15804 (default_target_globals): Initialize the expmed field.
15805 (save_target_globals): Likewise.
15806
d474db84
RS
158072010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15808
15809 * Makefile.in (target-globals.o): Depend on reload.h.
15810 * reload.h (target_reload): New structure.
15811 (default_target_reload): Declare.
15812 (this_target_reload): Declare as a variable or define as a macro.
15813 (indirect_symref_ok, double_reg_address_ok): Redefine as macros.
15814 * reload1.c (default_target_reload): New variable
15815 (this_target_reload): New conditional variable.
15816 (indirect_symref_ok, double_reg_address_ok): Delete.
15817 (spill_indirect_levels): Redefine as a macro.
15818 * target-globals.h (this_target_reload): Declare.
15819 (target_globals): Add a reload field.
15820 (restore_target_globals): Copy the reload field to
15821 this_target_reload.
15822 * target-globals.c: Include hard-reg-set.h.
15823 (default_target_globals): Initialize the reload field.
15824 (save_target_globals): Likewise.
15825
7bf84454
RS
158262010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15827
15828 * rtl.h (target_rtl): Add x_static_reg_base_value.
15829 * alias.c (static_reg_base_value): Redefine as a macro.
15830
360d045b
RS
158312010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15832
15833 * Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
15834 (GTFILES): Remove reginfo.c.
15835 * rtl.h (target_rtl): Add x_top_of_stack.
15836 (top_of_stack): New macro.
15837 * reginfo.c: Don't include ggc.h or gt-reginfo.h.
15838 (top_of_stack): Delete.
15839
55e78c8c
RS
158402010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15841
53f00dde
UB
15842 * regs.h (target_regs): Add x_hard_regs_of_mode,
15843 x_contains_reg_of_mode, x_move_cost, x_may_move_in_cost,
15844 x_may_move_out_cost and x_last_mode_for_init_move_cost.
55e78c8c
RS
15845 (have_regs_of_mode, contains_reg_of_mode, move_cost)
15846 (may_move_in_cost, may_move_out_cost): Redefine as macros.
15847 * reginfo.c (have_regs_of_mode, contains_reg_of_mode, move_cost)
15848 (may_move_in_cost, may_move_out_cost): Delete.
15849 (last_mode_for_init_move_cost): Redefine as a macro.
15850
6642445b
RS
158512010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15852
15853 * hard-reg-set.h (target_hard_regs): New structure.
15854 (default_target_hard_regs): Declare.
15855 (this_target_hard_regs): Declare as a variable or define as a macro.
15856 (fixed_regs, fixed_reg_set, call_used_regs, call_really_used_regs)
15857 (call_used_reg_set, call_fixed_reg_set, regs_invalidated_by_call)
15858 (reg_alloc_order, inv_reg_alloc_order, reg_class_contents)
15859 (reg_class_size, reg_class_subclasses, reg_class_subunion)
15860 (reg_class_superunion, reg_names): Redefine as macros.
15861 * reginfo.c (fixed_regs, fixed_reg_set, call_used_regs)
15862 (call_used_reg_set, call_really_used_regs, call_fixed_reg_set)
15863 (regs_invalidated_by_call, reg_alloc_order, inv_reg_alloc_order)
15864 (reg_class_contents, reg_class_size, reg_class_subclasses)
15865 (reg_class_subunion, reg_class_superunion, reg_names): Delete.
15866 (default_target_hard_regs): New variable
15867 (this_target_hard_regs, initial_call_really_used_regs)
15868 (initial_reg_alloc_order): New conditional variables.
15869 (initial_reg_names): New variable.
15870 (init_reg_sets): Assert that initial_call_really_used_regs,
15871 initial_reg_alloc_order and initial_reg_names
15872 are all the same size as their variable counterparts. Use them to
15873 initialize those counterparts.
15874 * target-globals.h (this_target_hard_regs): Declare.
15875 (target_globals): Add a hard_regs field.
15876 (restore_target_globals): Copy the hard_regs field to
15877 this_target_hard_regs.
15878 * target-globals.c: Include hard-reg-set.h.
15879 (default_target_globals): Initialize the hard_regs field.
15880 (save_target_globals): Likewise.
15881
5fb0e246
RS
158822010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15883
15884 * Makefile.in (target-globals.o): Depend on $(RTL_H).
bd3a5d17 15885 * rtl.h (target_rtl): New structure.
5fb0e246
RS
15886 (default_target_rtl): Declare.
15887 (this_target_rtl): Declare as a variable or define as a macro.
15888 (global_rtl, pic_offset_table_rtx, return_address_pointer_rtx):
15889 Redefine as macros.
15890 * emit-rtl.c (default_target_rtl): New variable.
15891 (this_target_rtl): New conditional variable.
15892 (global_rtl, static_regno_reg_rtx, pic_offset_table_rtx)
15893 (return_address_pointer_rtx): Delete.
15894 (initial_regno_reg_rtx): New macro.
15895 (init_emit): Use initial_regno_reg_rtx instead of static_regno_reg_rtx.
15896 (init_emit_regs): Likewise.
15897 * target-globals.h (this_target_rtl): Declare.
15898 (target_globals): Add a rtl field.
15899 (restore_target_globals): Copy the rtl field to this_target_rtl.
15900 * target-globals.c: Include rtl.h.
15901 (default_target_globals): Initialize the rtl field.
15902 (save_target_globals): Likewise.
15903
939dcd0d
RS
159042010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15905
15906 * Makefile.in (target-globals.o): Depend on $(REGS_H).
15907 * regs.h (target_reg_modes): New structure.
15908 (default_target_reg_modes): Declare.
15909 (this_target_reg_modes): Declare as a variable or define as a macro.
15910 (hard_regno_nregs, reg_raw_mode): Redefine as macros.
15911 * reginfo.c (default_target_reg_modes): New variable.
15912 (this_target_reg_modes): New conditional variable.
15913 (hard_regno_nregs, reg_raw_mode): Delete.
15914 * target-globals.h (this_target_regs): Declare.
15915 (target_globals): Add a regs field.
15916 (restore_target_globals): Copy the regs field to this_target_regs.
15917 * target-globals.c: Include regs.h.
15918 (default_target_globals): Initialize the regs field.
15919 (save_target_globals): Likewise.
15920
3bd36029
RS
159212010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
15922
15923 * doc/tm.texi.in (SWITCHABLE_TARGET): Document.
15924 * doc/tm.texi: Regenerate.
15925 * Makefile.in (OBJS-common): Add target-globals.o.
15926 (gtype-desc.o): Depend on $(IPA_PROP_H), $(LTO_STREAMER_H)
15927 and target-globals.h.
15928 (target-globals.o): New rule.
15929 (GTFILES): Include $(srcdir)/target-globals.h.
15930 * defaults.h (SWITCHABLE_TARGET): Define.
15931 * gengtype.c (open_base_files): Add target-globals.h to the
15932 list of includes.
15933 * target-globals.h: New file.
15934 * target-globals.c: Likewise.
15935
15936 * Makefile.in (target-globals.o): Depend on $(FLAGS_H).
15937 * flags.h (target_flag_state): New structure.
15938 (default_target_flag_state): Declare.
15939 (this_target_flag_state): Declare as a variable or define as a macro.
15940 (align_loops_log): Redefine as a macro.
15941 (align_loops_max_skip, align_jumps_log): Likewise.
15942 (align_jumps_max_skip, align_labels_log): Likewise.
15943 (align_labels_max_skip, align_functions_log): Likewise.
15944 * toplev.c (default_target_flag_state): New variable.
15945 (this_target_flag_state): New conditional variable.
15946 (align_loops_log): Delete.
15947 (align_loops_max_skip, align_jumps_log): Likewise.
15948 (align_jumps_max_skip, align_labels_log): Likewise.
15949 (align_labels_max_skip, align_functions_log): Likewise.
15950 * target-globals.h (this_target_flag_state): Declare.
15951 (target_globals): Add a flag_state field.
15952 (restore_target_globals): Copy the flag_state field to
15953 this_target_flag_state.
15954 * target-globals.c: Include flags.h.
15955 (default_target_globals): Initialize the flag_state field.
15956 (save_target_globals): Likewise.
15957
7beb0596
JZ
159582010-07-12 Jie Zhang <jie@codesourcery.com>
15959
15960 * postreload.c (reg_symbol_ref[]): New.
15961 (move2add_use_add2_insn): New.
15962 (move2add_use_add3_insn): New.
15963 (reload_cse_move2add): Handle SYMBOL + OFFSET case.
15964 (move2add_note_store): Likewise.
15965
ea19b1ec
JR
159662010-07-12 Joern Rennecke <joern.rennecke@embecosm.com>
15967
15968 PR rtl-optimization/44752
15969 * genautomata.c (main): Don't emit an empty file even if there
15970 is no automaton.
15971
e2b4f103
RO
159722010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15973
15974 * config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
15975 ix86_solaris_return_in_memory.
15976 * config/i386-protos.h: Reflect this.
15977 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
15978 * config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
15979 Move ...
15980 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.
15981
fb2f8cf8
JZ
159822010-07-12 Jie Zhang <jie@codesourcery.com>
15983
15984 * config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
15985 align the stack when it's going to be saved.
15986
8f89ba7c
RO
159872010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15988
15989 PR pch/14940
15990 * config/host-solaris.c (mmap_fixed): New function.
15991 (sol_gt_pch_get_address): Use it.
15992 (sol_gt_pch_use_address): Likewise.
15993
ae6a0535
RO
159942010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15995
15996 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
15997 pentiumpro on Solaris 8 and 9/x86.
15998 * doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
15999 Document SSE/SSE2 support.
16000 * doc/sourcebuild.texi (Effective-Target Keywords): Document sse.
16001
e56d9a76
AK
160022010-07-12 Andi Kleen <ak@linux.intel.com>
16003
16004 * lto-symtab.c (lto_symtab_merge_decls_1): Use fatal_error
16005 instead of gcc_assert to print better error message for multiple
16006 prevailing defs.
16007
9db335b9
UB
160082010-07-12 Uros Bizjak <ubizjak@gmail.com>
16009
16010 * config/i386/i386.c (ix86_asm_output_function_label): Change format
16011 string placeholder from 0x%x to %#x.
16012 (ix86_code_end): Use putc to output '\n'.
16013 (ix86_print_operand) <case ';'>: Use putc to output ';'.
16014
23b488ad
KT
160152010-07-11 Kai Tietz <kai.tietz@onevision.com>
16016
16017 * config/i386/winnt.c (i386_pe_file_end): Quote symbol name
16018 in directive -export.
16019
a56b31ca
AS
160202010-07-10 Anatoly Sokolov <aesok@post.ru>
16021
16022 * reginfo.h (reg_classes_intersect_p): Change arguments type to
16023 reg_class_t.
16024 * rtl.h (reg_classes_intersect_p): Adjust prototype.
16025
16026 * config/rs6000/rs6000.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
16027 Remove macros.
16028 * config/rs6000/rs6000-protos.h (rs6000_register_move_cost,
16029 rs6000_memory_move_cost): Remove
16030 * config/rs6000/rs6000.c (TARGET_REGISTER_MOVE_COST,
16031 TARGET_MEMORY_MOVE_COST): Define.
16032 (rs6000_register_move_cost): Make static. Change arguments type from
16033 enum reg_class to reg_class_t. Adjust rs6000_memory_move_cost calls.
16034 (rs6000_memory_move_cost): Make static. Change arguments type from
16035 'enum reg_class' to reg_class_t.
16036
bec922f0
SL
160372010-07-10 Sandra Loosemore <sandra@codesourcery.com>
16038
16039 PR middle-end/42505
16040 * tree-inline.c (estimate_num_insns): Refactor builtin complexity
16041 lookup code into....
16042 * builtins.c (is_simple_builtin, is_inexpensive_builtin): ...these
16043 new functions.
16044 * tree.h (is_simple_builtin, is_inexpensive_builtin): Declare.
16045 * cfgloopanal.c (target_clobbered_regs): Define.
16046 (init_set_costs): Initialize target_clobbered_regs.
16047 (estimate_reg_pressure_cost): Add call_p argument. When true,
16048 adjust the number of available registers to exclude the
16049 call-clobbered registers.
16050 * cfgloop.h (target_clobbered_regs): Declare.
16051 (estimate_reg_pressure_cost): Adjust declaration.
16052 * tree-ssa-loop-ivopts.c (struct ivopts_data): Add body_includes_call.
16053 (ivopts_global_cost_for_size): Pass it to estimate_reg_pressure_cost.
16054 (determine_set_costs): Dump target_clobbered_regs.
16055 (loop_body_includes_call): New function.
16056 (tree_ssa_iv_optimize_loop): Use it to initialize new field.
16057 * loop-invariant.c (gain_for_invariant): Adjust arguments to pass
16058 call_p flag through.
16059 (best_gain_for_invariant): Likewise.
16060 (find_invariants_to_move): Likewise.
16061 (move_single_loop_invariants): Likewise, using already-computed
16062 has_call field.
16063
ccf134c7
RG
160642010-07-10 Richard Guenther <rguenther@suse.de>
16065 Joern Rennecke <joern.rennecke@embecosm.com>
16066
16067 PR debug/44832
9db335b9 16068 * tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for LABEL_DECL.
ccf134c7
RG
16069 (remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs
16070 unless they have DECL_IGNORED_P set.
16071
bcee752e
RG
160722010-07-10 Richard Guenther <rguenther@suse.de>
16073
16074 PR lto/44889
16075 * gimple.c (gimple_fixup_complete_and_incomplete_subtype_p): New
16076 helper function.
16077 (gimple_types_compatible_p): Similar to pointed-to
16078 types allow and merge a mix of complete and incomplete aggregate.
16079 Use gimple_fixup_complete_and_incomplete_subtype_p for that.
16080 (iterative_hash_gimple_type): Adjust for that.
16081
7e9b9697
RS
160822010-07-10 Richard Sandiford <r.sandiford@uk.ibm.com>
16083
16084 * tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.
16085
058bfe53
IS
160862010-07-10 Iain Sandoe <iains@gcc.gnu.org>
16087
16088 PR objc/44140
16089 * config/darwin.c (output_objc_section_asm_op): Save and restore
16090 section when outputting ObjC section list.
16091
b772114c
JH
160922010-07-09 Jan Hubicka <jh@suse.cz>
16093
9db335b9
UB
16094 * lto-streamer-out.c (produce_symtab): Do not write alias
16095 cgraph/varpool nodes.
b772114c 16096
7e97ee1a
JH
160972010-07-09 Jan Hubicka <jh@suse.cz>
16098
16099 * tree-inline.c (declare_return_variable): Fix ICE while
16100 inlining DECL_BY_VALUE function not in SSA form
16101
0bbe50f6
CF
161022010-07-09 Changpeng Fang <changpeng.fang@amd.com>
16103
16104 PR tree-optimization/44576
16105 * tree-ssa-loop-prefetch.c (trip_count_to_ahead_ratio_too_small_p):
16106 New. Pull out from is_loop_prefetching_profitable to implement
16107 the trip count to ahead ratio heuristic.
16108 (mem_ref_count_reasonable_p): New. Pull out from
16109 is_loop_prefetching_profitable to implement the instruction to
16110 memory reference ratio heuristic. Also consider not reasonable if
16111 the memory reference count is above a threshold (to avoid
16112 explosive compilation time.
16113 (insn_to_prefetch_ratio_too_small_p): New. Pull out from
16114 is_loop_prefetching_profitable to implement the instruction to
16115 prefetch ratio heuristic.
16116 (is_loop_prefetching_profitable): Removed.
16117 (loop_prefetch_arrays): Distribute the cost analysis across the
16118 function to allow early exit of the prefetch analysis.
16119 is_loop_prefetching_profitable is splitted into three functions,
16120 with each one called as early as possible.
16121 (PREFETCH_MAX_MEM_REFS_PER_LOOP): New. Threshold above which the
16122 number of memory references in a loop is considered too many.
16123
c033690d
BS
161242010-07-09 Bernd Schmidt <bernds@codesourcery.com>
16125
9db335b9
UB
16126 * reload.c (find_reloads): Don't clear badop if we have a winreg
16127 alternative, but not win, and the class only has fixed regs.
c033690d
BS
16128 * hard-reg-set.h (class_only_fixed_regs): Declare.
16129 * reginfo.c (class_only_fixed_regs): New array.
16130 (init_reg_sets_1): Initialize it.
16131 * config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
16132 discourage alternatives using the stack pointer.
16133
0879e7b3
BS
16134 * config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
16135
1744c800
BS
16136 * config/arm/arm.md (Thumb-1 ldrsb peephole): New.
16137
95da5cf9
BS
16138 * config/arm/arm.md (cbranchqi4): Fix array size.
16139 (addsi3_cbranch): Also andle alternative 2 like alternative 3 when
16140 calculating length.
16141
e8edaf95
RG
161422010-07-09 Richard Guenther <rguenther@suse.de>
16143
16144 * gimple.c (struct type_fixup_s): New struct and VEC type.
16145 (gimple_register_type_fixups): New static global.
16146 (gimple_queue_type_fixup): New function.
16147 (gimple_types_compatible_p): Queue type fixups instead of
16148 applying them here.
16149 (gimple_register_type): Apply queued fixups for the
16150 canonical type. Empty the type fixup queue.
16151
7085bfb6
UB
161522010-07-09 Uros Bizjak <ubizjak@gmail.com>
16153
16154 * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
16155 * configure: Regenerate.
abcb0bd9 16156 * config.in: Ditto.
7085bfb6 16157
85e693aa
JJ
161582010-07-09 Jakub Jelinek <jakub@redhat.com>
16159 Denys Vlasenko <dvlasenk@redhat.com>
16160 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
16161
16162 PR tree-optimization/28632
16163 * tree-vrp.c (zero_nonzero_bits_from_vr): New function.
16164 (extract_range_from_binary_expr): Further optimize
16165 BIT_AND_EXPR and BIT_IOR_EXPR.
16166
59ee2304
SP
161672010-07-09 Sebastian Pop <sebastian.pop@amd.com>
16168
16169 * tree-if-conv.c (fold_or_predicates): New.
16170 (add_to_predicate_list): Call it.
16171
38a178dd
RG
161722010-07-09 Richard Guenther <rguenther@suse.de>
16173
16174 PR middle-end/44890
16175 * tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
16176 if base is a pointer.
16177 * tree-cfg.c (verify_expr): Update MEM_REF checking.
16178
c8aa02cc
MM
161792010-07-08 Michael Meissner <meissner@linux.vnet.ibm.com>
16180
16181 PR target/44877
16182 * config/rs6000/rs6000.c (rs6000_expand_builtin): Use
16183 POINTER_TYPE_P instead of checking only for POINTER_TYPE for the
16184 builtin mask for load/store builtins.
16185
4bade865
UB
161862010-07-09 Uros Bizjak <ubizjak@gmail.com>
16187
16188 * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
16189 for "lock addl".
16190 * configure: Regenerate.
16191 * config/i386/i386.c (ix86_print_operand) <case ';'>:
16192 Remove TARGET_MACHO.
16193
2c9ccc21
PB
161942010-07-09 Peter Bergner <bergner@vnet.ibm.com>
16195
16196 * config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
16197 default ISA flags.
16198 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mvsx.
16199
5c9fae0d
TV
162002010-07-09 Tom de Vries <tjvries@xs4all.nl>
16201
16202 * tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
16203
7085bfb6 162042010-07-09 Hariharan Sandanagobalane <hariharan@picochip.com>
099379da
HS
16205
16206 * config/picochip/picochip.md (commsTestPort): Emit more
16207 efficient sequence for tstport instruction.
16208
f55a7cbc
UB
162092010-07-09 Uros Bizjak <ubizjak@gmail.com>
16210
16211 * config/i386/i386.c (ix86_veclib_handler): Make static.
16212
dbfcc059
RG
162132010-07-09 Richard Guenther <rguenther@suse.de>
16214
16215 PR tree-optimization/44852
16216 * tree-ssa-alias.c: Include toplev.h for exact_log2.
16217 (indirect_ref_may_alias_decl_p): Properly handle negative offsets
16218 in MEM_REF.
16219 (indirect_refs_may_alias_p): Likewise.
16220 * Makefile.in (tree-ssa-alias.o): Add $(TOPLEV_H).
16221
ca1316d2
RG
162222010-07-09 Richard Guenther <rguenther@suse.de>
16223
16224 PR tree-optimization/44882
16225 * tree-vect-stmts.c (vectorizable_store): Do not assert alias
16226 sets do conflict.
16227 (vectorizable_load): Likewise.
16228
e784c52c
BS
162292010-07-09 Bernd Schmidt <bernds@codesourcery.com>
16230
16231 PR target/40657
16232 * config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
16233 All callers changed.
16234 Handle the case when we're called for the epilogue.
16235 (thumb_unexpanded_epilogue): Use it.
16236 (thumb1_expand_epilogue): Likewise.
16237
ac285648
JJ
162382010-07-09 Jakub Jelinek <jakub@redhat.com>
16239
16240 * tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
16241 both ranges are range_int_cst_p with non-negative minimum,
16242 try harder to derive smaller range.
16243
79a3f089
MLI
162442010-07-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
16245
16246 * genrecog.c: Include diagnostic-core.h before toplev.h.
16247 * genoutput.c: Likewise.
16248 * genextract.c: Likewise.
16249 * genautomata.c: Likewise.
16250 * genemit.c: Likewise.
16251 * genpeep.c: Likewise.
16252 * genattrtab.c: Likewise.
16253 * genconditions.c: Likewise.
16254 * genpreds.c: Likewise.
16255
f55a7cbc 162562010-07-08 Andi Kleen <ak@linux.intel.com>
1df15c3d
AK
16257
16258 * lto-section-in.c (lto_section_name): Add missing comma.
16259
930572b9
AS
162602010-07-08 Anatoly Sokolov <aesok@post.ru>
16261
16262 * config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
16263 * config/ia64/ia64-protos.h (ia64_override_options): Remove.
16264 * config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
16265 (ia64_override_options): Rename to...
16266 (ia64_option_override): ... this one. Make static.
16267
5951297a
EB
162682010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16269
16270 PR middle-end/44843
16271 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not rely on the
16272 pointed-to type of the offset in a MEM_REF to compute the alignment.
16273
135a687e
KT
162742010-07-08 Kai Tietz <kai.tietz@onevision.com>
16275
2784ed9c
KT
16276 * final.c (final_scan_insn): Replace
16277 TARGET_UNWIND_INFO macro check by unwind_emit
16278 hook NULL check.
16279 * targhooks.c (default_unwind_emit): Removed.
16280 * targhooks.h (default_unwind_emit): Likewise.
16281 * target.def (unwind_emit): Set default value to NULL.
16282
135a687e
KT
16283 * config/i386/i386-protos.h (ix86_asm_output_function_label):
16284 New prototype.
16285 * config/i386/i386.c (ix86_function_ms_hook_prologue): Check
16286 for NULL fntype argument and allow 64-bit targets.
16287 (ix86_asm_output_function_label): New function.
16288 (ix86_expand_prologue): Handle 64-bit ms hook prologue.
16289 (ix86_handle_fndecl_attribute): Likewise.
16290 * doc/extend.texi (ms_hook_prologue): Adjust documentation.
16291 * doc/doc/tm.texi: Regenerated.
16292 * doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
16293 (ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
16294 * defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
16295 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
16296 ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
16297 * config/elfos.h: Likewise.
16298 * config/i386/cygming.h: Likewise.
16299 * config/netbsd-aout.h: Likewise.
16300 * config/openbsd.h: Likewise.
16301 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
16302 by ix86_asm_output_function_label function call.
16303 * varasm.c (assemble_start_function): Use
16304 ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
16305
09411461
JH
163062010-07-08 Jan Hubicka <jh@suse.cz>
16307
16308 * cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
16309 New function.
16310 * cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
16311 Declare.
16312 * ipa-cp.c (ipcp_estimate_growth): Use it.
16313 * ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
16314 Likewise.
16315
72109b25
JH
163162010-07-08 Jan Hubicka <jh@suse.cz>
16317
16318 * tree-inline.c (declare_return_variable): Allocate annotation for new
16319 temporary.
16320
d89e5e20
SP
163212010-07-08 Sebastian Pop <sebastian.pop@amd.com>
16322
16323 PR tree-optimization/44710
16324 * tree-if-conv.c (parse_predicate): New.
16325 (add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
16326 Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.
16327
384a5197
SP
163282010-07-08 Sebastian Pop <sebastian.pop@amd.com>
16329
16330 * common.opt (ftree-loop-if-convert): New flag.
16331 * doc/invoke.texi (ftree-loop-if-convert): Documented.
16332 * tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
16333 when flag_tree_loop_if_convert is set.
16334
f8e1995a
UB
163352010-07-08 Uros Bizjak <ubizjak@gmail.com>
16336
16337 * config/i386/i386.c: Use short syntax for function calls
16338 through function pointers.
16339 * config/i386/i386.md: Ditto.
16340
a80903ff
EB
163412010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16342
16343 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
16344
d0c422cb
RG
163452010-07-08 Richard Guenther <rguenther@suse.de>
16346
16347 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
16348 stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
16349
b298f924
JJ
163502010-07-08 Jakub Jelinek <jakub@redhat.com>
16351
16352 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
16353 instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
16354 (loc_list_from_tree): Likewise.
16355 (output_loc_operands): Handle outputting DW_OP_const[48]u
16356 with loc->dtprel set.
16357 (resolve_addr_in_expr): Handle loc->dtprel like DW_OP_addr.
16358
5dde3b01
JH
163592010-07-08 Jan Hubicka <jh@suse.cz>
16360
16361 * ipa.c: Include pointer-set.h
16362 (cgraph_externally_visible_p): New attribute ALIASED;
16363 when in LTO, hidden symbols are local unless they are aliased.
16364 (function_and_variable_visibility): Compute aliased nodes;
16365 handle LTO and hidden symbol on functions and vars.
16366 * cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
16367 for COMDAT symbols; handle COMDAT_GROUPS also at vars.
16368
2de710b9
EB
163692010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16370
16371 * config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
16372 * config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
16373 * config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
16374 * config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
16375 * config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
16376 * config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable.
16377 (ix86_gen_probe_stack_range): Likewise.
16378 (override_options): Set them.
16379 (ix86_target_stack_probe): New function.
16380 (ix86_compute_frame_layout): Force use of push instructions to
16381 save registers if stack checking with probes is enabled.
16382 (get_scratch_register_on_entry): New function.
16383 (release_scratch_register_on_entry): Likewise.
16384 (ix86_adjust_stack_and_probe): Likewise.
16385 (output_adjust_stack_and_probe): Likewise.
16386 (ix86_emit_probe_stack_range): Likewise.
16387 (output_probe_stack_range): Likewise.
16388 (ix86_expand_prologue): Emit stack checking code if static built-in
16389 stack checking is enabled.
16390 Test ix86_target_stack_probe instead of TARGET_STACK_PROBE.
16391 * config/i386/i386-protos.h (ix86_target_stack_probe): Declare.
16392 (output_adjust_stack_and_probe): Likewise.
16393 (output_probe_stack_range): Likewise.
16394 * config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant.
16395 (allocate_stack_worker_32): Test ix86_target_stack_probe instead of
16396 TARGET_STACK_PROBE.
16397 (allocate_stack_worker_64): Likewise.
16398 (allocate_stack): Likewise.
16399 (adjust_stack_and_probe): New insn.
16400 (probe_stack_range): Likewise.
16401
f076deba
RG
164022010-07-08 Richard Guenther <rguenther@suse.de>
16403
16404 PR tree-optimization/44831
16405 * tree-ssa-phiprop.c (phiprop_insert_phi): Properly build
16406 a MEM_REF preserving TBAA info of the original dereference.
4bade865 16407 Dereference the original pointer if the address is not invariant.
f076deba
RG
16408 (propagate_with_phi): Fixup type checks wrt MEM_REFs. Require
16409 at least one invariant address that we are going to dereference.
16410
20ede5c6
RG
164112010-07-08 Richard Guenther <rguenther@suse.de>
16412
16413 PR tree-optimization/44861
16414 * tree-vect-stmts.c (vectorizable_store): Preserve TBAA
16415 information when building MEM_REFs.
16416 (vectorizable_load): Likewise.
16417 * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
16418
80edb36c
EB
164192010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16420
16421 * config/sol2-c.c: Do not include diagnostic-core.h.
16422
2e1ec94f
RR
164232010-07-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16424
1df15c3d 16425 PR bootstrap/44768
2e1ec94f
RR
16426 * cfgexpand.c (estimated_stack_frame_size): Make self-contained
16427 with respect to current_function_decl. Pass decl of the function.
16428 * tree-inline.h (estimated_stack_frame_size): Adjust prototype.
16429 * ipa-inline.c (compute_inline_parameters): Pass decl to
16430 estimated_stack_frame_size.
16431
a03a9774
RG
164322010-07-08 Richard Guenther <rguenther@suse.de>
16433
16434 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
16435 New function.
16436 (valueize_refs): Call it.
16437
e73cfe5d
RG
164382010-07-08 Richard Guenther <rguenther@suse.de>
16439
16440 PR rtl-optimization/44838
16441 * tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
16442 SSA form do not use pointer equivalence.
16443
51d49bc2
EB
164442010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16445
16446 * dwarf2out.c (AT_linkage_name): Delete.
16447 (add_linkage_attr): New function.
16448 (add_linkage_name): Call it to emit the linkage attribute.
16449 (dwarf2out_finish): Likewise.
16450 (move_linkage_attr): Explicitly accept both attribute variants.
16451
718f9c0f
MLI
164522010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
16453
16454 * toplev.h: Do not include diagnostic-core.h.
16455 Include diagnostic-core.h in every file that includes toplev.h.
16456 * c-tree.h: Do not include toplev.h.
16457 * pretty-print.h: Update comment.
16458 * Makefile.in: Update dependencies.
16459 * alias.c: Include diagnostic-core.h in every file that includes
16460 toplev.h.
16461 * attribs.c: Likewise.
16462 * auto-inc-dec.c: Likewise.
16463 * bb-reorder.c: Likewise.
16464 * bt-load.c: Likewise.
16465 * caller-save.c: Likewise.
16466 * calls.c: Likewise.
16467 * cfg.c: Likewise.
16468 * cfganal.c: Likewise.
16469 * cfgbuild.c: Likewise.
16470 * cfgcleanup.c: Likewise.
16471 * cfghooks.c: Likewise.
16472 * cfgloop.c: Likewise.
16473 * combine.c: Likewise.
16474 * config/alpha/alpha.c: Likewise.
16475 * config/arc/arc.c: Likewise.
16476 * config/arm/arm.c: Likewise.
16477 * config/arm/pe.c: Likewise.
16478 * config/avr/avr.c: Likewise.
16479 * config/bfin/bfin.c: Likewise.
16480 * config/cris/cris.c: Likewise.
16481 * config/crx/crx.c: Likewise.
16482 * config/darwin-c.c: Likewise.
16483 * config/darwin.c: Likewise.
16484 * config/fr30/fr30.c: Likewise.
16485 * config/frv/frv.c: Likewise.
16486 * config/h8300/h8300.c: Likewise.
16487 * config/host-darwin.c: Likewise.
16488 * config/i386/i386.c: Likewise.
16489 * config/i386/netware.c: Likewise.
16490 * config/i386/nwld.c: Likewise.
16491 * config/i386/winnt-cxx.c: Likewise.
16492 * config/i386/winnt-stubs.c: Likewise.
16493 * config/i386/winnt.c: Likewise.
16494 * config/ia64/ia64-c.c: Likewise.
16495 * config/ia64/ia64.c: Likewise.
16496 * config/iq2000/iq2000.c: Likewise.
16497 * config/lm32/lm32.c: Likewise.
16498 * config/m32c/m32c-pragma.c: Likewise.
16499 * config/m32c/m32c.c: Likewise.
16500 * config/m32r/m32r.c: Likewise.
16501 * config/m68hc11/m68hc11.c: Likewise.
16502 * config/m68k/m68k.c: Likewise.
16503 * config/mcore/mcore.c: Likewise.
16504 * config/mep/mep-pragma.c: Likewise.
16505 * config/mep/mep.c: Likewise.
16506 * config/mmix/mmix.c: Likewise.
16507 * config/mn10300/mn10300.c: Likewise.
16508 * config/moxie/moxie.c: Likewise.
16509 * config/pa/pa.c: Likewise.
16510 * config/pdp11/pdp11.c: Likewise.
16511 * config/picochip/picochip.c: Likewise.
16512 * config/rs6000/rs6000-c.c: Likewise.
16513 * config/rs6000/rs6000.c: Likewise.
16514 * config/rx/rx.c: Likewise.
16515 * config/s390/s390.c: Likewise.
16516 * config/score/score.c: Likewise.
16517 * config/score/score3.c: Likewise.
16518 * config/score/score7.c: Likewise.
16519 * config/sh/sh.c: Likewise.
16520 * config/sh/symbian-base.c: Likewise.
16521 * config/sh/symbian-c.c: Likewise.
16522 * config/sh/symbian-cxx.c: Likewise.
16523 * config/sol2-c.c: Likewise.
16524 * config/sol2.c: Likewise.
16525 * config/sparc/sparc.c: Likewise.
16526 * config/spu/spu.c: Likewise.
16527 * config/stormy16/stormy16.c: Likewise.
16528 * config/v850/v850-c.c: Likewise.
16529 * config/v850/v850.c: Likewise.
16530 * config/vax/vax.c: Likewise.
16531 * config/vxworks.c: Likewise.
16532 * config/xtensa/xtensa.c: Likewise.
16533 * convert.c: Likewise.
16534 * cse.c: Likewise.
16535 * cselib.c: Likewise.
16536 * dbgcnt.c: Likewise.
16537 * dbxout.c: Likewise.
16538 * ddg.c: Likewise.
16539 * dominance.c: Likewise.
16540 * emit-rtl.c: Likewise.
16541 * explow.c: Likewise.
16542 * expmed.c: Likewise.
16543 * fixed-value.c: Likewise.
16544 * fold-const.c: Likewise.
16545 * fwprop.c: Likewise.
16546 * gcse.c: Likewise.
16547 * ggc-common.c: Likewise.
16548 * ggc-page.c: Likewise.
16549 * ggc-zone.c: Likewise.
16550 * gimple-low.c: Likewise.
16551 * gimplify.c: Likewise.
16552 * graph.c: Likewise.
16553 * haifa-sched.c: Likewise.
16554 * ifcvt.c: Likewise.
16555 * implicit-zee.c: Likewise.
16556 * integrate.c: Likewise.
16557 * ira-build.c: Likewise.
16558 * ira-color.c: Likewise.
16559 * ira-conflicts.c: Likewise.
16560 * ira-costs.c: Likewise.
16561 * ira-lives.c: Likewise.
16562 * ira.c: Likewise.
16563 * lists.c: Likewise.
16564 * loop-doloop.c: Likewise.
16565 * loop-iv.c: Likewise.
16566 * lto-opts.c: Likewise.
16567 * lto-symtab.c: Likewise.
16568 * main.c: Likewise.
16569 * modulo-sched.c: Likewise.
16570 * optabs.c: Likewise.
16571 * params.c: Likewise.
16572 * plugin.c: Likewise.
16573 * postreload-gcse.c: Likewise.
16574 * postreload.c: Likewise.
16575 * predict.c: Likewise.
16576 * profile.c: Likewise.
16577 * real.c: Likewise.
16578 * regcprop.c: Likewise.
16579 * reginfo.c: Likewise.
16580 * regmove.c: Likewise.
16581 * reorg.c: Likewise.
16582 * resource.c: Likewise.
16583 * rtl.c: Likewise.
16584 * rtlanal.c: Likewise.
16585 * sched-deps.c: Likewise.
16586 * sched-ebb.c: Likewise.
16587 * sched-rgn.c: Likewise.
16588 * sdbout.c: Likewise.
16589 * sel-sched-dump.c: Likewise.
16590 * sel-sched-ir.c: Likewise.
16591 * simplify-rtx.c: Likewise.
16592 * stmt.c: Likewise.
16593 * stor-layout.c: Likewise.
16594 * store-motion.c: Likewise.
16595 * targhooks.c: Likewise.
16596 * tree-cfg.c: Likewise.
16597 * tree-cfgcleanup.c: Likewise.
16598 * tree-dump.c: Likewise.
16599 * tree-eh.c: Likewise.
16600 * tree-inline.c: Likewise.
16601 * tree-nomudflap.c: Likewise.
16602 * tree-object-size.c: Likewise.
16603 * tree-optimize.c: Likewise.
16604 * tree-outof-ssa.c: Likewise.
16605 * tree-phinodes.c: Likewise.
16606 * tree-profile.c: Likewise.
16607 * tree-ssa-ccp.c: Likewise.
16608 * tree-ssa-coalesce.c: Likewise.
16609 * tree-ssa-live.c: Likewise.
16610 * tree-ssa-loop-niter.c: Likewise.
16611 * tree-ssa-loop-prefetch.c: Likewise.
16612 * tree-ssa-loop.c: Likewise.
16613 * tree-ssa-structalias.c: Likewise.
16614 * tree-ssa-uninit.c: Likewise.
16615 * tree-ssa.c: Likewise.
16616 * tree-vect-data-refs.c: Likewise.
16617 * tree-vect-loop-manip.c: Likewise.
16618 * tree-vect-loop.c: Likewise.
16619 * tree-vect-patterns.c: Likewise.
16620 * tree-vect-stmts.c: Likewise.
16621 * tree-vrp.c: Likewise.
16622 * varasm.c: Likewise.
16623 * vec.c: Likewise.
16624 * web.c: Likewise.
16625 * xcoffout.c: Likewise.
16626
647565f6
RS
166272010-07-07 Richard Sandiford <rdsandiford@googlemail.com>
16628
16629 * gengtype.c (write_field_root): New function.
16630 (write_root): Use it.
16631
88c1612f
WG
166322010-07-07 Wei Guozhi <carrot@google.com>
16633
16634 * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
16635 of lowest bits to lshift/compare): Add a missing line.
16636
ece53c91
WG
166372010-07-07 Wei Guozhi <carrot@google.com>
16638
16639 * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
16640 of lowest bits to lshift/compare): New.
16641
9730bc27
TT
166422010-07-07 Tom Tromey <tromey@redhat.com>
16643
16644 * doc/tm.texi: Update.
16645 * doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>:
16646 Add @hook.
16647 * target.def (want_debug_pub_sections): New hook.
16648 * config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define.
16649 * dwarf2out.c (add_pubname_string): Check
16650 targetm.want_debug_pub_sections.
16651 (add_pubname): Likewise.
16652 (add_pubtype): Likewise.
16653
f5d5226b
JZ
166542010-07-07 Jie Zhang <jie@codesourcery.com>
16655
16656 * genautomata.c (output_automata_list_min_issue_delay_code):
16657 Correctly decompress min_issue_delay.
16658
71df5a7e
BS
166592010-07-07 Bernd Schmidt <bernds@codesourcery.com>
16660
16661 PR rtl-optimization/44404
16662 * auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
16663 possible, use reg_overlap_mentioned_p instead.
16664
f625098e
DS
166652010-07-07 Duncan Sands <baldrick@free.fr>
16666
16667 PR middle-end/41355
16668 * tree.c (build_function_type_skip_args): Copy the original type using
1df15c3d 16669 build_distinct_type_copy rather than copy_node.
f625098e 16670
ab33bd5c
L
166712010-07-07 H.J. Lu <hongjiu.lu@intel.com>
16672
16673 PR target/44850
16674 * config/i386/i386.c (ix86_function_ms_hook_prologue): Revert
16675 revision 161876.
16676 (ix86_expand_prologue): Likewise.
16677 (ix86_handle_fndecl_attribute): Likewise.
16678 (ix86_asm_declare_function_name): Likewise.
16679 * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
16680 * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
16681 (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): Likewise.
4bade865 16682 * config/i386/i386-protos.h (ix86_asm_declare_function_name): Likewise.
ab33bd5c
L
16683 * doc/extend.texi: Likewise.
16684
5e86e540
L
166852010-07-07 H.J. Lu <hongjiu.lu@intel.com>
16686
16687 PR target/44844
16688 * config/i386/i386.md (rdrand<mode>): Changed to expand to
16689 retry if the carry flag isn't valid.
16690 (rdrand<mode>_1): New.
16691
0ee95c43
RG
166922010-07-07 Richard Guenther <rguenther@suse.de>
16693
16694 PR middle-end/44790
16695 * expr.c (expand_expr_real_1): Go the POINTER_PLUS_EXPR path
16696 for expanding the constant offset for MEM_REFs.
16697
523968bf
RG
166982010-07-07 Richard Guenther <rguenther@suse.de>
16699
16700 * tree-ssa-propagate.h (valid_gimple_call_p): Remove.
16701 * tree-ssa-propagate.c (valid_gimple_call_p): Make static. Fix.
16702 * gimple.h (is_gimple_operand): Remove.
16703 * gimple.c (is_gimple_operand): Likewise.
16704 (walk_gimple_op): Fix wi->val_only setting for calls.
16705 * tree-cfg.c (verify_gimple_call): Fix argument validation.
16706 * tree-profile.c (tree_gen_ic_func_profiler): Do not create
16707 invalid gimple calls.
16708
86353474
JH
167092010-07-06 Jan Hubicka <jh@suse.cz>
16710
16711 * lto-cgraph.c (output_cgraph): Add missing declaration.
16712
b0d9e663
JH
167132010-07-06 Jan Hubicka <jh@suse.cz>
16714
16715 * lto-cgraph.c (output_cgraph): Output toplevel asms only into first
16716 partition.
16717
38be945b
AO
167182010-07-06 Alexandre Oliva <aoliva@redhat.com>
16719
16720 * doc/gimple.texi (GIMPLE_DEBUG): Document.
16721 * doc/rtl.texi (Debug Information): New node.
16722 (NOTE_INSN_VAR_LOCATION): Document.
16723 (debug_insn): Likewise.
16724 * doc/generic.texi (DEBUG_EXPR_DECL): Document.
16725
6938f93f
JH
167262010-07-07 Jan Hubicka <jh@suse.cz>
16727
4bade865 16728 With parts by Richard Guenther.
6938f93f
JH
16729
16730 PR middle-end/44813
16731 * tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
16732 for functions passed by reference.
16733 * tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
16734 in memory when passed by reference.
16735 * tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
16736 beggining.
16737 * ipa-split.c (split_function): Cleanup way return value is passed;
16738 handle SSA DECL_BY_REFERENCE retvals.
16739 * tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
16740 DECL_BY_REFERENCE is set.
16741 * tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
16742 find_what_p_points_to): Handle RESULT_DECL.
16743 * tree-inline.c (declare_return_variable): Get new entry_block argument;
16744 when passing by reference ensure that RESULT_DECL is gimple_val.
16745 (remap_gimple_op_r): Remap RESULT_DECL ssa name.
16746 (remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
16747
325d7997
BS
167482010-07-07 Bernd Schmidt <bernds@codesourcery.com>
16749
16750 PR rtl-optimization/44787
16751 * config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
16752 * config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
16753
e10aaec0
JH
167542010-07-06 Jan Hubicka <jh@suse.cz>
16755
16756 * lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
16757 (lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
16758 with body can prevail.
16759 (lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
16760 (lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
16761 * cgraph.c (cgraph_get_node_or_alias): New function.
16762 * cgraph.h (cgraph_get_node_or_alias): Declare.
16763
4bbf141c
KT
167642010-07-06 Kai Tietz <kai.tietz@onevision.com>
16765
16766 * config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
16767 support.
16768 (ix86_expand_prologue): Likewise.
16769 (ix86_handle_fndecl_attribute): Likewise.
16770 (ix86_asm_declare_function_name): New function for
16771 ASM_DECLARE_FUNCTION_NAME.
16772 * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
16773 * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
16774 (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
16775 * config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
16776 * doc/extend.texi: Adjust documentation about ms_hook_prologue
16777 attribute.
16778
9aa5922d
UB
167792010-07-06 Uros Bizjak <ubizjak@gmail.com>
16780
16781 * config/i386/i386.md (immediate_operand): New mode attribute.
f8e1995a 16782
9aa5922d
UB
16783 (pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
16784 pro_epilogue_adjust_stack and pro_epilogue_adjust_stack_rex64
16785 using P mode iterator.
16786 (pro_epilogue_adjust_stack_di_2): Rename from
16787 pro_epilogue_adjust_stack_rex64_2.
16788
16789 * config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.
16790
167912010-07-06 Uros Bizjak <ubizjak@gmail.com>
16792
16793 * config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
16794 through gen_mov_insv_1 function pointer.
16795 (fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
16796 gen_truncxf<mode>2 through gen_truncxf function pointer.
16797 (remainder<mode>3): Ditto.
16798 (cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
16799 (allocate_stack): Call gen_allocate_stack_worker_64 or
16800 gen_allocate_stack_worker_32 through gen_allocate_stack_worker
16801 function pointer.
16802 (probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
16803 function pointer.
16804
168052010-07-06 Uros Bizjak <ubizjak@gmail.com>
16806
16807 * config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
16808 operand constraint instead of <r><i>m.
16809
dfb88126
RG
168102010-07-06 Richard Guenther <rguenther@suse.de>
16811
16812 PR middle-end/44828
16813 * convert.c (convert_to_integer): Watch out for overflowing
16814 MULT_EXPR as well.
16815
c5d1f058
JH
168162010-07-05 Jan Hubicka <jh@suse.cz>
16817
16818 * lto-streamer.c (write_symbol_vec): Rename to ...
16819 (write_symbol) ... this one; write only symbol given and when
16820 present in cache. Sanity check that what is defined is present
16821 in cgraph/varpool with body/finalized decl.
16822 (write_symbols_of_kind): Remove.
16823 (produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
16824 pairs to produce symtab.
16825 (produce_asm_for_decls): Update call of produce_symtab; don't do so
16826 when doing WPA streaming.
16827
6e4da084
JH
168282010-07-05 Jan Hubicka <jh@suse.cz>
16829
16830 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
16831 function is still available to fold into.
16832
c021f10b
NF
168332010-07-05 Nathan Froyd <froydnj@codesourcery.com>
16834
16835 * vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
16836 * function.h (struct_function): Change type of local_decls field
16837 to a VEC.
16838 (add_local_decl): New function.
16839 (FOR_EACH_LOCAL_DECL): New macro.
16840 * cfgexpand.c (init_vars_expansion): Adjust for new type of
16841 cfun->local_decls.
16842 (estimated_stack_frame_size): Likewise.
16843 (expand_used_vars): Likewise.
16844 * cgraphbuild.c (build_cgraph_edges): Likewise.
16845 * function.c (instantiate_decls_1): Likewise.
16846 * ipa-struct-reorg.c (build_data_structure): Likewise.
16847 * ipa-type-escape.c (analyze_function): Likewise.
16848 * lto-streamer-in.c (input_function): Likewise.
16849 * lto-streamer-out.c (output_function): Likewise.
16850 * tree-ssa-live.c (remove_unused_locals): Likewise.
16851 * tree.c (free_lang_data_in_decl): Likewise.
16852 (find_decls_types_in_node): Likewise.
16853 * omp-low.c (remove_exit_barrier): Likewise.
16854 (expand_omp_taskreg): Likewise.
16855 (list2chain): Rename to...
16856 (vec2chain): ...this. Adjust.
16857 * cgraphunit.c (assemble_thunk): Call add_local_decl.
16858 * tree-cfg.c (replace_by_duplicate_decl): Likewise.
16859 * gimple-low.c (record_vars_into): Likewise.
16860 * tree-inline.c (remap_decls): Likewise.
16861 (declare_return_variable): Likewise.
16862 (declare_inline_vars): Likewise.
16863 (copy_forbidden): Adjust for new type of cfun->local_decls.
16864 (add_local_variables): New function.
16865 (expand_call_inline): Call it.
16866 (tree_function_versioning): Likewise.
16867
4ee89d5f
L
168682010-07-05 H.J. Lu <hongjiu.lu@intel.com>
16869
16870 AVX Programming Reference (June, 2010)
16871 * config/i386/cpuid.h (bit_F16C): New.
16872 (bit_RDRND): Likewise.
16873 (bit_FSGSBASE): Likewise.
16874
16875 * config/i386/i386-builtin-types.def: Add
16876 "DEF_FUNCTION_TYPE (UINT16)", function types for
16877 float16 <-> float conversions and
16878 "DEF_FUNCTION_TYPE (VOID, UINT64)".
16879
16880 * config/i386/i386-c.c (ix86_target_macros_internal): Support
16881 OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
16882 OPTION_MASK_ISA_F16C.
16883
16884 * config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
16885 (OPTION_MASK_ISA_RDRND_SET): Likewise.
16886 (OPTION_MASK_ISA_F16C_SET): Likewise.
16887 (OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
16888 (OPTION_MASK_ISA_RDRND_UNSET): Likewise.
16889 (OPTION_MASK_ISA_F16C_UNSET): Likewise.
16890 (OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
9aa5922d 16891 (ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and OPT_mf16c.
4ee89d5f
L
16892 (ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
16893 (pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
16894 (override_options): Handle them.
9aa5922d 16895 (ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd and f16c.
4ee89d5f
L
16896 (ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
16897 IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
16898 IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
16899 IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
16900 IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
16901 IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
16902 IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
16903 IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
16904 (bdesc_args): Likewise.
16905 (ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
16906 V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
16907 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
16908 VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
16909 Handle non-memory store.
16910
16911 * config/i386/i386.h (TARGET_FSGSBASE): New.
16912 (TARGET_RDRND): Likewise.
16913 (TARGET_F12C): Likewise.
16914
16915 * config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
16916 (UNSPEC_VCVTPS2PH): Likewise.
16917 (UNSPECV_RDFSBASE): Likewise.
16918 (UNSPECV_RDGSBASE): Likewise.
16919 (UNSPECV_WRFSBASE): Likewise.
16920 (UNSPECV_WRGSBASE): Likewise.
16921 (UNSPECV_RDRAND): Likewise.
16922 (rdfsbase<mode>): Likewise.
16923 (rdgsbase<mode>): Likewise.
16924 (wrfsbase<mode>): Likewise.
16925 (wrgsbase<mode>): Likewise.
16926 (rdrand<mode>): Likewise.
16927
16928 * config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.
16929
16930 * config/i386/immintrin.h (_rdrand_u16): New.
16931 (_rdrand_u32): Likewise.
16932 (_readfsbase_u32): Likewise.
16933 (_readfsbase_u64): Likewise.
16934 (_readgsbase_u32): Likewise.
16935 (_readgsbase_u64): Likewise.
16936 (_writefsbase_u32): Likewise.
16937 (_writefsbase_u64): Likewise.
16938 (_writegsbase_u32): Likewise.
16939 (_writegsbase_u64): Likewise.
16940 (_rdrand_u64): Likewise.
16941 (_cvtsh_ss): Likewise.
16942 (_mm_cvtph_ps): Likewise.
16943 (_mm256_cvtph_ps): Likewise.
16944 (_cvtss_sh): Likewise.
16945 (_mm_cvtps_ph): Likewise.
16946 (_mm256_cvtps_ph): Likewise.
16947
16948 * config/i386/sse.md (vcvtph2ps): New.
16949 (*vcvtph2ps_load): Likewise.
16950 (vcvtph2ps256): Likewise.
16951 (vcvtps2ph): Likewise.
16952 (*vcvtps2ph): Likewise.
16953 (*vcvtps2ph_store): Likewise.
16954 (vcvtps2ph256): Likewise.
16955
16956 * doc/extend.texi: Document FSGSBASE and RDRND built-in functions.
16957
16958 * doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.
16959
3341aeda
JR
169602010-07-05 Joern Rennecke <joern.rennecke@embecosm.com>
16961
16962 PR bootstrap/44512
16963 * genenums.c (main): Output include of insn-constants.h
16964 * Makefile.in (insn-enums.o): Depend on insn-constants.h.
16965
71b2fd74
UB
169662010-07-05 Uros Bizjak <ubizjak@gmail.com>
16967
16968 * config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
16969 (override_options): Initialize it.
16970 (ix86_expand_prologue): Use it.
16971
938650d8
JJ
169722010-07-05 Jakub Jelinek <jakub@redhat.com>
16973
16974 * tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
16975
88e06841
AS
169762010-07-05 Anatoly Sokolov <aesok@post.ru>
16977
16978 * double-int.h (fit_double_type): Remove declaration.
16979 * double-int.c (fit_double_type): Remove function.
16980 * tree.h (int_fits_type_p): Adjust prototype.
16981 * tree.c (int_fits_type_p): Return bool. Use double_int_fits_to_tree_p
16982 instead of fit_double_type.
16983 (build_int_cst_type): Use double_int_to_tree and shwi_to_double_int
16984 instead of fit_double_type and build_int_cst_wide.
16985 * builtins.c (): Use double_int_fits_to_tree_p and double_int_to_tree
16986 instead of fit_double_type and build_int_cst_wide.
16987 (fold_builtin_object_size): Use double_int_fits_to_tree_p instead
16988 of fit_double_type.
16989
92eb4438
JH
169902010-07-05 Jan Hubicka <jh@suse.cz>
16991
16992 * cgraph.h (cgraph_node, cgraph_varpool_node): Update docmentation of
16993 in_other_partition.
16994 * lto-cgraph.c (referenced_from_other_partition_p,
16995 reachable_from_other_partition_p): Use in_other_partition flags.
16996 (output_node, output_varpool_node): COMDAT nodes always have private
16997 copies and thus are never used from other partition.
16998
69e18c09
AS
169992010-07-05 Anatoly Sokolov <aesok@post.ru>
17000
17001 * config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
17002 * config/ia64/t-ia64 (ia64.o): Depend on reload.h.
17003 * config/ia64/ia64.c Include reload.h.
17004 (ia64_memory_move_cost): New function.
17005 (TARGET_MEMORY_MOVE_COST): Define.
17006 (ia64_register_move_cost): Replace MEMORY_MOVE_COST with
17007 memory_move_cost.
17008
16ad8025
SL
170092010-07-05 Sandra Loosemore <sandra@codesourcery.com>
17010
17011 PR middle-end/42505
16ad8025
SL
17012 * tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
17013 comments about cost model.
17014 (try_add_cand_for): Add second strategy for choosing initial set
17015 based on original IVs, controlled by ORIGINALP argument.
17016 (get_initial_solution): Add ORIGINALP argument.
17017 (find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
17018 (find_optimal_iv_set): Try two different strategies for choosing
17019 the IV set, and return the one with lower cost.
17020
bdf0f819
RG
170212010-07-05 Richard Guenther <rguenther@suse.de>
17022
9aa5922d 17023 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
bdf0f819 17024
a41e5e86
RG
170252010-07-05 Richard Guenther <rguenther@suse.de>
17026
17027 * tree.c (reference_alias_ptr_type): New function.
17028 * tree.h (reference_alias_ptr_type): Declare.
17029 * tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to
17030 allow non-TARGET_MEM_REF new refs.
94dbbc81 17031 (rewrite_use_address): Pass old alias pointer type to create_mem_ref.
a41e5e86
RG
17032 * tree-ssa-address.c (create_mem_ref_raw): Get alias pointer type.
17033 Build a MEM_REF instead of a TARGET_MEM_REF if possible.
17034 (create_mem_ref): Get alias pointer type. Adjust calls to
17035 create_mem_ref_raw.
17036 (maybe_fold_tmr): Likewise.
17037 * tree-flow.h (create_mem_ref): Adjust prototype.
17038
f2896bc9
JJ
170392010-07-05 Jakub Jelinek <jakub@redhat.com>
17040
17041 PR c++/44808
17042 * gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if
17043 *from_p is VAR_DECL.
17044
cfe6dea2
NF
170452010-07-05 Nathan Froyd <froydnj@codesourcery.com>
17046
17047 * tree.h (build_call_list): Remove.
17048 * tree.c (build_call_list): Remove.
17049
e22f7f31
RB
170502010-07-05 Richard Guenther <rguenther@suse.de>
17051
17052 * double-int.h (double_int_sub): Declare.
17053 * double-int.c (double_int_sub): New function.
17054 * dwarf2out.c (field_byte_offset): Use it.
17055 * fixed-value.c (do_fixed_add): Likewise.
17056 (do_fixed_multiply): Likewise.
17057 (do_fixed_divide): Likewise.
17058 * tree-predcom.c (add_ref_to_chain): Likewise.
17059 (determine_roots_comp): Likewise.
17060 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
17061
989ea525
NF
170622010-07-05 Nathan Froyd <froydnj@codesourcery.com>
17063
17064 * vec.h (VEC_splice, VEC_safe_splice): New macros. Add function
17065 implementations.
17066
7ec6356e
BS
170672010-07-05 Bernd Schmidt <bernds@codesourcery.com>
17068
17069 * config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
17070 * arm-modes.def (CC_NOTB): Don't define.
17071 * config/arm/arm.md (arm_adddi3): Generate canonical RTL.
17072 (adddi_sesidi_di, adddi_zesidi_di): Likewise.
17073 (LTUGEU): New code_iterator.
17074 (cnb, optab): New corresponding code_attrs.
17075 (addsi3_carryin_<optab>): Renamed from addsi3_carryin. Change pattern
17076 to canonical form. Operands 1 and 2 are commutative. Parametrize
17077 using LTUGEU.
17078 (addsi3_carryin_shift_<optab>): Likewise.
17079 (addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
17080 Operands 1 and 2 are commutative. Parametrize using LTUGEU.
17081 (addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
94dbbc81
UB
17082 (subsi3_compare): Renamed from subsi3_compare0_c.
17083 Change CC_NOTB to CC.
7ec6356e
BS
17084 (arm_subsi3_insn): Allow constants for operand 0.
17085 (compare_scc peephole for eq case): New.
17086 (compare_scc splitters): Change CC_NOTB to CC.
17087
75421dcd
RG
170882010-07-05 Richard Guenther <rguenther@suse.de>
17089
17090 * tree-ssa-loop-im.c (for_each_index): Do not handle
17091 ALIGN_INDIRECT_REF.
17092 (gen_lsm_tmp_name): Likewise.
17093 * tree-dump.c (dequeue_and_dump): Likewise.
17094 * tree-pretty-print.c (dump_generic_node): Likewise.
17095 (op_code_prio): Likewise.
17096 (op_symbol_code): Likewise.
17097 * tree.c (staticp): Likewise.
17098 (build1_stat): Likewise.
17099 * tree.h (INDIRECT_REF_P): Likewise.
17100 * fold-const.c (maybe_lvalue_p): Likewise.
17101 (operand_equal_p): Likewise.
17102 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
17103 (ao_ref_init_from_vn_reference): Likewise.
17104 * tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
17105 (find_interesting_uses_address): Likewise.
17106 * dwarf2out.c (loc_list_from_tree): Likewise.
17107 * gimplify.c (gimplify_expr): Likewise.
17108 * tree-eh.c (tree_could_trap_p): Likewise.
17109 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
17110 * cfgexpand.c (expand_debug_expr): Likewise.
17111 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
17112 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
17113 * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
17114 * config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
17115 * tree-ssa-operands.c (get_expr_operands): Likewise.
17116 * expr.c (safe_from_p): Likewise.
17117 (expand_expr_real_1): Likewise. TER BIT_AND_EXPRs into MEM_REFs.
17118 * tree-vect-data-refs.c (vect_setup_realignment): Build
17119 BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
17120 * tree-vect-stmts.c (vectorizable_load): Likewise.
17121 * tree.def (ALIGN_INDIRECT_REF): Remove.
17122
5d657263
RG
171232010-07-05 Richard Guenther <rguenther@suse.de>
17124
17125 PR tree-optimization/44784
17126 * tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
17127 for inserted stmts.
17128 (find_or_generate_expression): Fix SCCVN insertion check.
17129
3cd0d4fa
NS
171302010-07-05 Nathan Sidwell <nathan@codesourcery.com>
17131
17132 * config/rs6000/e500crtsavg64gprctr.asm: Correct done label name.
17133 * config/rs6000/e500crtsav64gprctr.asm: Likewise.
17134 * config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END
17135 directives.
17136
9940b13c
IR
171372010-07-05 Ira Rosen <irar@il.ibm.com>
17138
17139 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip
17140 statements that are not vectorized.
17141 * tree-vect-stmts.c (vect_get_load_cost): Update the value stored
94dbbc81 17142 in INSIDE_COST.
9940b13c 17143
e4dde839
MP
171442010-07-05 Mikael Pettersson <mikpe@it.uu.se>
17145
17146 PR bootstrap/44820
17147 * config/arm/arm.c (arm_attr_length_move_neon): Delete regno.
17148
e3061843
RB
171492010-07-05 Richard Guenther <rguenther@suse.de>
17150
17151 * tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE
17152 RESULT_DECLs properly.
17153
c2a78352
L
171542010-07-04 H.J. Lu <hongjiu.lu@intel.com>
17155
17156 PR rtl-optimization/44695
17157 * config/i386/i386.md (extract_code): Removed.
17158 (<u>divmodqi4): Likewise.
17159 (divmodqi4): New.
17160 (udivmodqi4): Likewise.
94dbbc81 17161 (divmodhiqi3): Change div/mod to HImode and extend operand 2 to HImode.
c2a78352
L
17162 (udivmodhiqi3): Likewise.
17163
4aa1c0d5
JH
171642010-07-04 Jan Hubicka <jh@suse.cz>
17165
17166 * lto-cgraph.c (input_edge): Do not care about resolution decisions.
17167
a05541a9
JH
171682010-07-04 Jan Hubicka <jh@suse.cz>
17169
94dbbc81
UB
17170 * cgraphunit.c (init_cgraph): Only initialize dump file if it
17171 is not already initialized.
a05541a9 17172
f9621cc4
RS
171732010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
17174
17175 * optabs.h (reload_in_optab, reload_out_optab, code_to_optab)
17176 (vcond_gen_code, vcondu_gen_code, movmem_optab, setmem_optab)
17177 (cmpstr_optab, cmpstrn_optab, cmpmem_optab, sync_add_optab)
17178 (sync_sub_optab, sync_ior_optab, sync_and_optab, sync_xor_optab)
17179 (sync_nand_optab, sync_old_add_optab, sync_old_sub_optab)
17180 (sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab)
17181 (sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab)
17182 (sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab)
17183 (sync_new_nand_optab): Redefine as macros.
17184 (sync_compare_and_swap, sync_lock_test_and_set, sync_lock_release):
17185 Delete.
17186 (direct_optab_index): New enum.
17187 (direct_optab_d): New structure.
17188 (direct_optab): New typedef.
17189 (direct_optab_table): Declare.
17190 (direct_optab_handler, set_direct_optab_handler): New functions.
17191 (sync_compare_and_swap_optab, sync_lock_test_and_set_optab)
17192 (sync_lock_release_optab): New macros.
17193 * optabs.c (direct_optab_table): New variable.
17194 (movcc_gen_code, vcond_gen_code, vcondu_gen_code): Delete.
17195 (prepare_cmp_insn): Use direct_optab_handler for cmpmem_optab,
17196 cmpstr_optab and cmpstrn_optab.
17197 (emit_conditional_move): Likewise for movcc_optab.
17198 (can_conditionally_move_p): Likewise for movcc_gen_code.
17199 (init_insn_codes): Clear direct_optab_table.
17200 (init_optabs): Don't initialize the new "direct optabs" here.
17201 (get_vcond_icode): Use direct_optab_handler for vcondu_gen_code and
17202 vcond_gen_code.
17203 (expand_val_compare_and_swap): Likewise sync_compare_and_swap_optab.
17204 (expand_bool_compare_and_swap): Likewise sync_compare_and_swap_optab.
17205 (expand_compare_and_swap_loop): Likewise sync_compare_and_swap_optab.
17206 (expand_sync_operation): Likewise other sync_*_optabs.
17207 (expand_sync_fetch_operation): Likewise. Rename sync_compare_and_swap
17208 to sync_compare_and_swap_optab.
17209 (expand_sync_lock_test_and_set): Use direct_optab_handler for
17210 sync_lock_test_and_set and sync_compare_and_swap, adding "_optab"
17211 to the names of both.
17212 * builtins.c (expand_builtin_strcmp): Use direct_optab_handler for
17213 cmpstr_optab and cmpstrn_optab.
17214 (expand_builtin_lock_release): Likewise sync_lock_release.
17215 * expr.c (movmem_optab, setmem_optab, cmpstr_optab, cmpstrn_optab)
17216 (cmpmem_optab, sync_add_optab, sync_sub_optab, sync_ior_optab)
17217 (sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab)
17218 (sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab)
17219 (sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab)
17220 (sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab)
17221 (sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap)
17222 (sync_lock_test_and_set, sync_lock_release): Delete.
17223 (emit_block_move_via_movmem): Use direct_optab_handler for movmem_optab.
17224 (emit_block_move_via_setmem): Use direct_optab_handler for setmem_optab.
17225 * genopinit.c (optabs): Use set_direct_optab_handler for the new
17226 macro optabs.
17227 * omp-low.c (expand_omp_atomic_fetch_op): Update the type of
17228 the "optab" local variable. Use direct_optab_handler for optab and
17229 sync_compare_and_swap_optab.
17230 * reload1.c (reload_in_optab, reload_out_optab): Delete.
17231 * targhooks.c (default_secondary_reload): Use direct_optab_handler for
17232 reload_in_optab and reload_out_optab.
17233 * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
17234 * config/frv/frv.c (frv_alloc_temp_reg): Likewise.
17235 * config/pa/pa.c (pa_secondary_reload): Likewise.
17236 * java/builtins.c (compareAndSwapInt_builtin): Use direct_optab_handler
17237 for sync_compare_and_swap, renaming it to sync_compare_and_swap_optab.
17238 (compareAndSwapLong_builtin, compareAndSwapObject_builtin): Likewise.
17239 (VMSupportsCS8_builtin): Likewise.
17240
596455ce
RS
172412010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
17242
17243 * optabs.h (optab_handlers): Change type of insn_code to int.
17244 (optab_handler, set_optab_handler, convert_optab_handler)
17245 (set_convert_optab_handler): Treat the insn_code field as "insn_code -
17246 CODE_FOR_nothing".
17247 * optabs.c (optab_table, convert_optab_table): Always zero-initialize.
17248 (init_insn_codes): Zero both the above arrays.
17249 (init_optabs): Never call init_insn_codes first time around.
17250
947131ba
RS
172512010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
17252
17253 * optabs.h (optab_handler, convert_optab_handler): Turn into
17254 inline functions that return an insn code.
17255 (set_optab_handler, set_convert_optab_handler): New functions.
17256 * builtins.c: Replace optab_handler(X)->insn_code with
17257 optab_handler or set_optab_handler thoughout. Likewise
17258 convert_optab_handler(X)->insn_code with convert_optab_handler
17259 and set_convert_optab_handler.
17260 * expmed.c, expr.c, genopinit.c, ifcvt.c, optabs.c, reload.c,
17261 reload1.c, stmt.c, targhooks.c, tree-ssa-loop-prefetch.c,
17262 tree-ssa-math-opts.c, tree-vect-data-refs.c, tree-vect-generic.c,
17263 tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
17264 tree-vect-stmts.c, config/m32c/m32c.c, config/rs6000/rs6000.c,
17265 config/spu/spu.c: Likewise.
17266
47e5ff44
KK
172672010-07-04 Kaz Kojima <kkojima@gcc.gnu.org>
17268
17269 PR target/44531
17270 * config.gcc (sh*-*-*): Use regular expressions instead of
17271 the 'i' modifier for sed substitutions.
17272
abbd64b9
JS
172732010-07-04 Jeremie Salvucci <jeremie.salvucci@free.fr>
17274
17275 * gimple.c (gimple_body): Comments added.
17276
7f5ad6d7
RG
172772010-07-04 Richard Guenther <rguenther@suse.de>
17278
17279 PR middle-end/44809
17280 * gimplify.c (gimplify_expr): Properly build a MEM_REF instead
17281 of an INDIRECT_REF.
17282
17fc049f
RG
172832010-07-04 Richard Guenther <rguenther@suse.de>
17284
17285 PR tree-optimization/44479
17286 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
17287 extra SSA name copy statements which preserves points-to
17288 information.
17289 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
17290 Copy points-to information for all pointers. Properly handle
17291 MEM_REFs.
17292 (vect_create_data_ref_ptr): Likewise. Avoid extra SSA name
17293 copy statements.
17294 * Makefile.in (tree-ssa-loop-ivopts.o): Add tree-ssa-propagate.h
17295 dependency.
17296
72aa3dca
RG
172972010-07-04 Richard Guenther <rguenther@suse.de>
17298
17299 PR middle-end/44785
17300 * tree-inline.c (initialize_inlined_parameters): Do not
17301 re-use pointer-map slot over remap_type call.
17302
ef2a9157
RG
173032010-07-04 Richard Guenther <rguenther@suse.de>
17304
17305 * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.
17306
4fa4929e
RG
173072010-07-04 Richard Guenther <rguenther@suse.de>
17308
17309 PR tree-optimization/44656
17310 * tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
17311 again after value-replacing in the defintions lhs.
17312
720f5239
IR
173132010-07-04 Ira Rosen <irar@il.ibm.com>
17314 Revital Eres <eres@il.ibm.com>
17315
94dbbc81 17316 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
720f5239
IR
17317 Document new arguments.
17318 * doc/tm.texi: Regenerate.
17319 * targhooks.c (default_builtin_vectorization_cost): Add new arguments.
17320 Handle unaligned store.
17321 * targhooks.h (default_builtin_vectorization_cost): Add new arguments.
17322 * target.def (builtin_vectorization_cost): Add new arguments.
17323 * target.h (enum vect_cost_for_stmt): Add unaligned_store.
17324 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Take number
17325 of iterations of prolog loop directly from LOOP_PEELING_FOR_ALIGNMENT.
17326 (vect_vfa_segment_size): Fix indentation.
17327 * tree-vectorizer.h (struct _vect_peel_info): New.
17328 (struct _vect_peel_extended_info): New.
17329 (struct _loop_vec_info): Add new field for peeling hash table and a
17330 macro for its access.
17331 (VECT_MAX_COST): Define.
17332 (vect_get_load_cost): Declare.
94dbbc81 17333 (vect_get_store_cost, vect_get_known_peeling_cost,
720f5239
IR
17334 vect_get_single_scalar_iteraion_cost): Likewise.
17335 (vect_supportable_dr_alignment): Add new argument.
17336 * tree-vect-loop.c (new_loop_vec_info): Initialize peeling hash table
17337 field.
17338 (destroy_loop_vec_info): Free peeling hash table.
17339 (vect_analyze_loop_form): Update call to builtin_vectorization_cost.
17340 (vect_analyze_loop): Move vect_enhance_data_refs_alignment before
17341 vect_analyze_slp. Fix indentation.
17342 (vect_get_single_scalar_iteraion_cost): New function.
17343 (vect_get_known_peeling_cost): Likewise.
94dbbc81
UB
17344 (vect_estimate_min_profitable_iters): Rename byte_misalign to npeel.
17345 Call vect_get_single_scalar_iteraion_cost instead of cost_for_stmt per
720f5239
IR
17346 statement. Move outside cost calculation inside unknown peeling case.
17347 Call vect_get_known_peeling_cost for known amount of peeling.
17348 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Add data
17349 reference to the print message of forced alignment.
94dbbc81 17350 (vect_verify_datarefs_alignment): Update call to
720f5239
IR
17351 vect_supportable_dr_alignment.
17352 (vect_get_data_access_cost): New function.
17353 (vect_peeling_hash, vect_peeling_hash_eq, vect_peeling_hash_insert,
17354 vect_peeling_hash_get_most_frequent, vect_peeling_hash_get_lowest_cost,
17355 vect_peeling_hash_choose_best_peeling): Likewise.
17356 (vect_enhance_data_refs_alignment): Fix documentation. Use hash table
17357 to store all the accesses in the loop and find best possible access to
17358 align using peeling for known alignment case. For unknown alignment
17359 check if stores are preferred or if peeling is worthy.
17360 (vect_find_same_alignment_drs): Analyze pairs of loads too.
17361 (vect_supportable_dr_alignment): Add new argument and check aligned
94dbbc81 17362 accesses according to it.
720f5239 17363 * tree-vect-stmts.c (vect_get_stmt_cost): New function.
94dbbc81 17364 (cost_for_stmt): Call vect_get_stmt_cost.
720f5239 17365 (vect_model_simple_cost): Likewise.
94dbbc81 17366 (vect_model_store_cost): Call vect_get_stmt_cost. Call
720f5239
IR
17367 vect_get_store_cost to calculate the cost of the statement.
17368 (vect_get_store_cost): New function.
94dbbc81 17369 (vect_model_load_cost): Call vect_get_stmt_cost. Call
720f5239
IR
17370 vect_get_load_cost to calculate the cost of the statement.
17371 (vect_get_load_cost): New function.
17372 (vectorizable_store): Update call to vect_supportable_dr_alignment.
17373 (vectorizable_load): Likewise.
94dbbc81 17374 * config/spu/spu.c (spu_builtin_vectorization_cost): Add new arguments.
720f5239
IR
17375 * config/i386/i386.c (ix86_builtin_vectorization_cost): Add new
17376 arguments. Handle unaligned store.
17377 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): New.
17378 (rs6000_builtin_support_vector_misalignment): Return true for word and
17379 double word alignments for VSX.
94dbbc81 17380 * tree-vect-slp.c (vect_build_slp_tree): Update calls to
720f5239
IR
17381 vect_supportable_dr_alignment and builtin_vectorization_cost.
17382
d3ca3d6b
JDA
173832010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17384
17385 PR target/44597
17386 * config/pa/predicates.md (prefetch_cc_operand): Remove.
17387 (prefetch_nocc_operand): Likewise.
17388 * config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
17389 (prefetch_20): New insn.
17390 (prefetch_cc): Remove.
17391 (prefetch_nocc): Likewise.
17392
4d451982
MLI
173932010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
17394
17395 * expr.c (vector_mode_valid_p): Move to c-common.c.
17396 * expr.h (vector_mode_valid_p): Do not declare here.
17397 * system.h: Poison GCC_EXPR_H in front-ends.
17398 * Makefile.in: Update dependencies.
17399
3a0c7e3a
JDA
174002010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17401
17402 PR target/44705
17403 * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.
17404
f029db69
JH
174052010-07-03 Jan Hubicka <jh@suse.cz>
17406
17407 * timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
17408 TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
17409 * cfgexpand.c (gimple_expand_cfg): Use new timevars.
17410 * var-tracking.c (vt_find_locations, variable_tracking_main_1):
17411 Likewise.
17412
17413 * lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
17414 Update timevars.V
17415 * timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
17416 (TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
17417 TV_IPA_LTO_DECL_OUT): New.
17418 * lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.
17419
9b8051b4
JH
174202010-07-03 Jan Hubicka <jh@suse.cz>
17421
17422 * ipa-inline.c (update_edge_key): Break out from ...
17423 update_callers_keys): ... here;
17424 (update_callee_keys): Update only the edges from caller to callee.
17425 (update_all_calle_keys): Do what update_calle_keys did.
17426 (decide_inlining_of_small_functions): Avoid recomputing of all
17427 callees when badness increase.
17428
7c4f0041
JZ
174292010-07-03 Jie Zhang <jie@codesourcery.com>
17430
17431 * config/arm/arm.c (arm_attr_length_move_neon): New.
17432 * config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
17433 * config/arm/neon.md (define_mode_attr V_slen): Remove.
17434 (neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
17435 to compute length attribute.
17436
4e6f5666
JZ
174372010-07-03 Jie Zhang <jie@codesourcery.com>
17438
17439 * config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
17440 as predicate for operand 1 and remove its constraint.
17441 * config/arm/predicates.md (vfp_register_operand): New.
94dbbc81 17442 * config/arm/arm.md (*push_multi): Remove the constraint of operand 1.
4e6f5666
JZ
17443 (*push_fp_multi): Likewise.
17444
6687b740
EB
174452010-07-03 Eric Botcazou <ebotcazou@adacore.com>
17446
17447 * gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.
17448
174492010-07-03 Jan Hubicka <jh@suse.cz>
bd7f30a1
JH
17450
17451 * config/i386/i386.c (override_options): Revert accidental commit.
17452
3f59fa1c
LCW
174532010-07-02 Le-Chun Wu <lcwu@google.com>
17454
e2cb8da2 17455 PR c++/44128
3f59fa1c
LCW
17456 * doc/invoke.texi: Update documentation of -Wshadow.
17457
73160ba9
DJ
174582010-07-02 Daniel Jacobowitz <dan@codesourcery.com>
17459 Julian Brown <julian@codesourcery.com>
74164603 17460 Sandra Loosemore <sandra@codesourcery.com>
73160ba9
DJ
17461
17462 * config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
17463 comparisons. Adjust to take both operands.
17464 (arm_select_cc_mode): Handle DImode comparisons.
17465 (arm_gen_compare_reg): Generate a scratch register for DImode
17466 comparisons which require one. Use xor for Thumb equality checks.
17467 (arm_const_double_by_immediates): New.
17468 (arm_print_operand): Allow 'Q' and 'R' for constants.
17469 (get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
17470 * config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
17471 arm_canonicalize_comparison.
17472 * config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
17473 * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
17474 prototype.
17475 (arm_const_double_by_immediates): Declare.
17476 * config/arm/constraints.md (Di): New constraint.
17477 * config/arm/predicates.md (arm_immediate_di_operand)
17478 (arm_di_operand, cmpdi_operand): New.
17479 * config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
17480 (*arm_cmpdi_insn, *arm_cmpdi_unsigned)
17481 (*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
17482 (cstoredi4): Handle non-Cirrus also.
17483
400cfcf5 174842010-07-02 Julian Brown <julian@codesourcery.com>
74164603 17485 Sandra Loosemore <sandra@codesourcery.com>
400cfcf5
JB
17486
17487 PR target/43703
400cfcf5
JB
17488 * config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3)
17489 (smax<mode>3): Disable for NEON float modes when
17490 flag_unsafe_math_optimizations is false.
17491 * config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon)
17492 (*mul<mode>3_neon)
17493 (mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon)
17494 (reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable
17495 for NEON float modes when flag_unsafe_math_optimizations is false.
94dbbc81
UB
17496 (quad_halves_<code>v4sf): Only enable if
17497 flag_unsafe_math_optimizations is true.
400cfcf5
JB
17498 * doc/invoke.texi (ARM Options): Add note about floating point
17499 vectorization requiring -funsafe-math-optimizations.
17500
bab53516
SL
175012010-07-02 Sandra Loosemore <sandra@codesourcery.com>
17502 Julian Brown <julian@codesourcery.com>
17503
17504 * config/arm/neon.md (UNSPEC_VABA): Delete.
17505 (UNSPEC_VABAL): Delete.
17506 (UNSPEC_VABS): Delete.
17507 (UNSPEC_VMUL_N): Delete.
17508 (adddi3_neon): New.
17509 (subdi3_neon): New.
17510 (mul<mode>3add<mode>_neon): Make the pattern named.
17511 (mul<mode>3neg<mode>add<mode>_neon): Likewise.
17512 (neon_vadd<mode>): Replace with define_expand, and move the remaining
17513 unspec parts...
17514 (neon_vadd<mode>_unspec): ...to this.
17515 (neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
17516 (neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
17517 (neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
17518 (neon_vaba<mode>): Rewrite in terms of vabd.
17519 (neon_vabal<mode>): Rewrite in terms of vabdl.
17520 (neon_vabs<mode>): Rewrite without unspec.
17521 * config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
17522 (*arm_subdi3): Likewise.
17523 * config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
17524 No_op attribute to disable assembly output checks.
17525 * config/arm/arm_neon.h: Regenerated.
17526 * doc/arm-neon-intrinsics.texi: Regenerated.
17527
556e9ba0
JH
175282010-07-02 Jan Hubicka <jh@suse.cz>
17529
e2cb8da2
EB
17530 * ipa-split.c (split_function): For aggregate values, set the return
17531 slot optimization bit. When passing DECL_BY_REFERENCE, produce
a557f9cc 17532 *<retval> = fncall.part ().
556e9ba0
JH
17533 (execute_split_functions): Do not care about DECL_BY_REFERENCE.
17534
b3b7bbce
SL
175352010-07-02 Sandra Loosemore <sandra@codesourcery.com>
17536
17537 * config/arm/neon.md (UNSPEC_VAND): Delete.
17538 (UNSPEC_VBIC): Delete.
17539 (UNSPEC_VCLZ): Delete.
17540 (UNSPEC_VCNT): Delete.
17541 (UNSPEC_VEOR): Delete.
17542 (UNSPEC_VORN): Delete.
17543 (UNSPEC_VORR): Delete.
17544 (iordi3_neon): Rewrite RTL without unspec. Add alternatives to handle
17545 core registers too.
17546 (anddi3_neon): Likewise.
17547 (orndi3_neon): Likewise.
17548 (bicdi3_neon): Likewise.
17549 (xordi3_neon): Likewise.
17550 (neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
17551 rid of unspec and handle unused operand.
17552 (neon_vcnt<mode>): Similarly, with popcount<mode>2.
17553 * config/arm/predicates.md (imm_for_neon_logic_operand):
17554 Require TARGET_NEON.
17555 (imm_for_neon_inv_logic_operand): Likewise.
94dbbc81 17556 * config/arm/arm.md (define_split for logical_binary_operator):
b3b7bbce
SL
17557 Disable for NEON registers.
17558 (anddi3): Add new define_expand, and rename the insn. Disable
17559 this insn for NEON, where anddi3_neon now applies.
17560 (*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
17561 (iordi3): As for anddi3.
17562 (xordi3): Likewise.
17563 * config/arm/neon.ml (Vand): Split DImode variants and mark them
17564 as No_op to disable testing for exact instruction match.
17565 (Vorr): Likewise.
17566 (Veor): Likewise.
17567 (Vbic): Likewise.
17568 (Vorn): Likewise.
17569 * config/arm/arm_neon.h: Regenerated.
17570 * doc/arm-neon-intrinsics.texi: Regenerated.
17571
260c8ba3
EB
175722010-07-02 Eric Botcazou <ebotcazou@adacore.com>
17573
17574 * expr.h (emit_stack_probe): Declare.
17575 * explow.c (emit_stack_probe): Make global.
17576 (anti_adjust_stack_and_probe): Fix comments.
17577 * config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
17578 * config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
17579 * config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
17580 * config/sparc/sparc.c: Include except.h.
17581 (sparc_emit_probe_stack_range): New function.
17582 (output_probe_stack_range): Likewise.
17583 (sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static
17584 built-in stack checking is enabled.
17585 * config/sparc/sparc-protos.h (output_probe_stack_range): Declare.
17586 * config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant.
17587 (probe_stack_range): New insn.
17588
e4f1aef1
RG
175892010-07-02 Richard Guenther <rguenther@suse.de>
17590
17591 PR target/43958
17592 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
17593 for argument alignment.
17594
2094f1fc
JH
175952010-07-02 Jan Hubicka <jh@suse.cz>
17596
e2cb8da2
EB
17597 * ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS
17598 walk backwards from entry_bb to check only those basic block of header
2094f1fc
JH
17599 that might lead to execution of split part.
17600 (consider_split) ... here.
17601 (find_return_bb): Allow assignment in return BB.
17602 (find_retval): New.
260c8ba3
EB
17603 (split_function): Fix name of cloned function; take care of updating
17604 return value in return_bb containing move.
2094f1fc 17605
2dc8bd76
AS
176062010-07-02 Andreas Schwab <schwab@linux-m68k.org>
17607
17608 PR target/44771
17609 * config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
17610 used variable insn.
17611
0acba2b4
EB
176122010-07-02 Eric Botcazou <ebotcazou@adacore.com>
17613
17614 * implicit-zee.c (combine_reaching_defs): Fix long lines.
17615 (is_set_with_extension_DI): Delete.
17616 (struct zero_extend_info): New structure.
f4a4b582 17617 (add_removable_zero_extend): New function.
0acba2b4
EB
17618 (find_removable_zero_extends): Use note_stores to find SETs.
17619 (find_and_remove_ze): Fix long line, remove superfluous parentheses.
17620
14e444c3
CF
176212010-07-02 Changpeng Fang <changpeng.fang@amd.com>
17622
17623 * tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
17624 is_miss_rate_acceptable. Pull total_positions computation
17625 out of the loops. Early return if miss_positions exceeds
17626 the acceptable threshold.
17627 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
17628 is_miss_rate_acceptable after renaming of compute_miss_rate.
17629
a245c04b
CF
176302010-07-02 Changpeng Fang <changpeng.fang@amd.com>
17631
17632 PR middle-end/44576
17633 * tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
17634 of 1000) for miss rate if the address diference is greater than or
17635 equal to the cache line size (the two reference will never hit the
17636 same cache line).
17637
18e8200f
BS
176382010-07-02 Bernd Schmidt <bernds@codesourcery.com>
17639
17640 PR target/42835
17641 * config/arm/arm-modes.def (CC_NOTB): New mode.
17642 * config/arm/arm.c (get_arm_condition_code): Handle it.
17643 * config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
17644 * config/arm/arm.md (subsi3_compare0_c): New pattern.
17645 (compare_scc): Now a define_and_split. Add a number of extra
17646 splitters before it.
17647
e4c6a07a
BS
17648 PR target/42172
17649 * config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
17650 and ZERO_EXTEND.
17651 (arm_rtx_costs_1): Likewise.
17652 (arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
17653 * config/arm/arm.md (is_arch6): New attribute.
17654 (zero_extendhisi2, zero_extendqisi2, extendhisi2,
17655 extendqisi2): Tighten the code somewhat, avoiding invalid
17656 RTL to occur in the expander patterns.
17657 (thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
17658 (thumb1_zero_extendhisi2_v6): Delete.
17659 (thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
17660 (thumb1_extendhisi2_v6): Delete.
17661 (thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
17662 (thumb1_extendqisi2_v6): Delete.
17663 (zero_extendhisi2 for register input splitter): New.
17664 (zero_extendqisi2 for register input splitter): New.
17665 (thumb1_extendhisi2 for register input splitter): New.
17666 (extendhisi2 for register input splitter): New.
17667 (extendqisi2 for register input splitter): New.
17668 (TARGET_THUMB1 extendqisi2 for memory input splitter): New.
17669 (arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
17670 and add support for a register alternative requiring a split.
17671 (thumb1_zero_extendqisi2): Likewise.
17672 (arm_zero_extendqisi2): Likewise.
17673 (arm_extendhisi2): Likewise.
17674 (arm_extendqisi2): Likewise.
17675
a277dd9b
SL
176762010-07-02 Sandra Loosemore <sandra@codesourcery.com>
17677
17678 * config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL
17679 instead of an unspec.
17680 (neon_expand_vector_init): Likewise.
17681 * config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
17682 (UNSPEC_VDUP_LANE): Delete.
17683 (UNSPEC VDUP_N): Delete.
17684 (UNSPEC_VGET_HIGH): Delete.
17685 (UNSPEC_VGET_LANE): Delete.
17686 (UNSPEC_VGET_LOW): Delete.
17687 (UNSPEC_VMVN): Delete.
17688 (UNSPEC_VSET_LANE): Delete.
17689 (V_double_vector_mode): New.
17690 (vec_set<mode>_internal): Make code emitted match that for the
17691 corresponding intrinsics.
17692 (vec_setv2di_internal): Likewise.
17693 (neon_vget_lanedi): Rewrite to expand into emit_move_insn.
17694 (neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
17695 (neon_vset_lane<mode>): Combine double and quad patterns and
17696 expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE.
17697 (neon_vset_lanedi): Rewrite to expand into emit_move_insn.
17698 (neon_vdup_n<mode>): Rewrite RTL without unspec.
17699 (neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
17700 (neon_vdup_nv2di): Rewrite RTL without unspec and merge with
17701 with neon_vdup_lanev2di, adjusting the pattern from the latter
17702 to be predicable for consistency.
17703 (neon_vdup_lane<mode>_internal): New.
17704 (neon_vdup_lane<mode>): Turn into a define_expand and rewrite
17705 to avoid using an unspec.
17706 (neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
17707 (neon_vdup_lanev2di): Turn into a define_expand.
17708 (neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.
17709 (neon_vget_high<mode>): Replace with....
17710 (neon_vget_highv16qi): New pattern using canonical RTL.
17711 (neon_vget_highv8hi): Likewise.
17712 (neon_vget_highv4si): Likewise.
17713 (neon_vget_highv4sf): Likewise.
17714 (neon_vget_highv2di): Likewise.
17715 (neon_vget_low<mode>): Replace with....
17716 (neon_vget_lowv16qi): New pattern using canonical RTL.
17717 (neon_vget_lowv8hi): Likewise.
17718 (neon_vget_lowv4si): Likewise.
17719 (neon_vget_lowv4sf): Likewise.
17720 (neon_vget_lowv2di): Likewise.
17721
17722 * config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress
17723 test for this emitting vmov.
17724 (Vset_lane): Likewise.
17725 (Vdup_n): Likewise.
17726 (Vmov_n): Likewise.
17727
17728 * doc/arm-neon-intrinsics.texi: Regenerated.
17729
8c98c2a6
SL
177302010-07-02 Sandra Loosemore <sandra@codesourcery.com>
17731
17732 * config/arm/neon.md (vec_extractv2di): Correct error in register
17733 numbering to reconcile with neon_vget_lanev2di.
17734
90fa9e17
RG
177352010-07-02 Richard Guenther <rguenther@suse.de>
17736
17737 * tree-ssa-structalias.c (pt_solution_set_var): New function.
17738 * tree-ssa-alias.h (pt_solution_set_var): Declare.
17739 * tree-ssa-loop-ivopts.c (copy_ref_info): Also copy or create
17740 points-to information.
17741
c3ac3ddf
CB
177422010-07-02 Christian Borntraeger <borntraeger@de.ibm.com>
17743
17744 * config/s390/s390.c (override_options): Adopt prefetching
17745 at -O3 to handle flag_prefetch_loop_arrays as a tristate.
17746
b144ba9d
JH
177472010-07-02 Jan Hubicka <jh@suse.cz>
17748
17749 * df-problems.c (df_kill_notes): Do not collect dead notes.
17750 (df_set_note): Just call add_reg_note.
17751 (df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
17752 df_create_unused_note): Do not deal with lists of old notes.
17753 (df_note_bb_compute): Likewise.
17754
fca821b5
RG
177552010-07-02 Richard Guenther <rguenther@suse.de>
17756
17757 * tree-ssa-structalias.c (find_func_aliases): Handle
17758 pointer alignment via BIT_AND_EXPR.
17759 * tree-vrp.c (extract_range_from_binary_expr): Likewise.
17760
19368333
RG
177612010-07-02 Richard Guenther <rguenther@suse.de>
17762
17763 * tree-data-ref.c (initialize_data_dependence_relation): Handle
17764 mismatching number of dimensions properly.
17765
1a4fc49d
UW
177662010-07-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
17767
17768 PR target/44707
17769 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize
17770 (lo_sum (high ...) ...) patterns generated by earlier passes.
17771
c18dc5cc
RO
177722010-07-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17773
17774 * doc/install.texi (Prerequisites): Document Perl requirement on
17775 Solaris 2.
17776 (Specific, *-*-solaris2*): Document GNU c++filt requirement.
17777
7dd536f1
RG
177782010-07-02 Richard Guenther <rguenther@suse.de>
17779
17780 PR middle-end/44777
17781 * tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.
17782
450997ef
JH
177832010-07-02 Jan Hubicka <jh@suse.cz>
17784
17785 PR middle-end/44706
17786 * predict.c (predict_paths_for_bb): Handle case when control dependence
17787 BB has only abnormal edges.
17788
3fa39831
RG
177892010-07-02 Richard Guenther <rguenther@suse.de>
17790
17791 PR tree-optimization/44748
17792 * tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle
17793 the embedded conversion in MEM_REFs.
17794
5a5bd694
MLI
177952010-07-01 López-Ibáñez <manu@gcc.gnu.org>
17796
17797 * reload.c: Include toplev.h.
17798 * recog.c: Likewise.
17799 * Makefile.in: Adjust dependencies.
17800
3aa05bb6
JJ
178012010-07-01 Jakub Jelinek <jakub@redhat.com>
17802
17803 PR debug/44694
17804 * dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx
17805 or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value.
17806
e3ccfc8b
RG
178072010-07-01 Richard Guenther <rguenther@suse.de>
17808
17809 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned
17810 types for offsets.
17811
c689f757
JR
178122010-07-01 Joern Rennecke <joern.rennecke@embecosm.com>
17813
17814 PR target/44732
17815 * config/ia64/ia64.c (ia64_register_move_cost): Remove stray '{'.
94dbbc81 17816 Fix argument types.
c21fc181 17817
cc9568ba
BS
178182010-07-01 Bernd Schmidt <bernds@codesourcery.com>
17819
17820 PR target/44727
17821 * config/i386/i386.md (peephole2 for arithmetic ops with memory):
17822 Make sure operand 0 dies.
17823
70f34814
RG
178242010-07-01 Richard Guenther <rguenther@suse.de>
17825
17826 PR middle-end/42834
17827 PR middle-end/44468
17828 * doc/gimple.texi (is_gimple_mem_ref_addr): Document.
17829 * doc/generic.texi (References to storage): Document MEM_REF.
17830 * tree-pretty-print.c (dump_generic_node): Handle MEM_REF.
17831 (print_call_name): Likewise.
17832 * tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF.
17833 (build_simple_mem_ref_loc): New function.
17834 (mem_ref_offset): Likewise.
17835 * tree.h (build_simple_mem_ref_loc): Declare.
17836 (build_simple_mem_ref): Define.
17837 (mem_ref_offset): Declare.
17838 * fold-const.c: Include tree-flow.h.
17839 (operand_equal_p): Handle MEM_REF.
17840 (build_fold_addr_expr_with_type_loc): Likewise.
17841 (fold_comparison): Likewise.
17842 (fold_unary_loc): Fold
17843 VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>.
17844 (fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2],
17845 fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2].
17846 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF.
17847 (ptr_deref_may_alias_ref_p_1): Likewise.
17848 (ao_ref_base_alias_set): Properly differentiate base object for
17849 offset and TBAA.
17850 (ao_ref_init_from_ptr_and_size): Use MEM_REF.
17851 (indirect_ref_may_alias_decl_p): Handle MEM_REFs properly.
17852 (indirect_refs_may_alias_p): Likewise.
17853 (refs_may_alias_p_1): Likewise. Remove pointer SSA name def
17854 chasing code.
17855 (ref_maybe_used_by_call_p_1): Handle MEM_REF.
17856 (call_may_clobber_ref_p_1): Likewise.
17857 * dwarf2out.c (loc_list_from_tree): Handle MEM_REF.
17858 * expr.c (expand_assignment): Handle MEM_REF.
17859 (store_expr): Handle MEM_REFs from STRING_CSTs.
17860 (store_field): If expanding a MEM_REF of a non-addressable
17861 decl use bitfield operations.
17862 (get_inner_reference): Handle MEM_REF.
17863 (expand_expr_addr_expr_1): Likewise.
17864 (expand_expr_real_1): Likewise.
17865 * tree-eh.c (tree_could_trap_p): Handle MEM_REF.
17866 * alias.c (ao_ref_from_mem): Handle MEM_REF.
17867 (get_alias_set): Likewise. Properly handle VIEW_CONVERT_EXPRs.
17868 * tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF.
17869 (dr_analyze_indices): Likewise.
17870 (dr_analyze_alias): Likewise.
17871 (object_address_invariant_in_loop_p): Likewise.
17872 * gimplify.c (mark_addressable): Handle MEM_REF.
17873 (gimplify_cond_expr): Build MEM_REFs.
17874 (gimplify_modify_expr_to_memcpy): Likewise.
17875 (gimplify_init_ctor_preeval_1): Handle MEM_REF.
17876 (gimple_fold_indirect_ref): Adjust.
17877 (gimplify_expr): Handle MEM_REF. Gimplify INDIRECT_REF to MEM_REF.
17878 * tree.def (MEM_REF): New tree code.
17879 * tree-dfa.c: Include toplev.h.
17880 (get_ref_base_and_extent): Handle MEM_REF.
17881 (get_addr_base_and_unit_offset): New function.
17882 * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF.
17883 * gimple-fold.c (may_propagate_address_into_dereference): Handle
17884 MEM_REF.
17885 (maybe_fold_offset_to_array_ref): Allow possibly out-of bounds
17886 accesses if the array has just one dimension. Remove always true
17887 parameter. Do not require type compatibility here.
17888 (maybe_fold_offset_to_component_ref): Remove.
17889 (maybe_fold_stmt_indirect): Remove.
17890 (maybe_fold_reference): Remove INDIRECT_REF handling.
17891 Fold back to non-MEM_REF.
17892 (maybe_fold_offset_to_address): Simplify. Deal with type
17893 mismatches here.
17894 (maybe_fold_reference): Likewise.
17895 (maybe_fold_stmt_addition): Likewise. Also handle
17896 &ARRAY + I in addition to &ARRAY[0] + I.
17897 (fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs.
17898 (gimple_get_relevant_ref_binfo): Handle MEM_REF.
17899 * cfgexpand.c (expand_debug_expr): Handle MEM_REF.
17900 * tree-ssa.c (useless_type_conversion_p): Make most pointer
17901 conversions useless.
17902 (warn_uninitialized_var): Handle MEM_REF.
17903 (maybe_rewrite_mem_ref_base): New function.
17904 (execute_update_addresses_taken): Implement re-writing of MEM_REFs
17905 to SSA form.
17906 * tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove
17907 INDIRECT_REF handling.
17908 (copy_tree_body_r): Handle MEM_REF.
17909 * gimple.c (is_gimple_addressable): Adjust.
17910 (is_gimple_address): Likewise.
17911 (is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with
17912 invariant base are invariant.
17913 (is_gimple_min_lval): Adjust.
17914 (is_gimple_mem_ref_addr): New function.
17915 (get_base_address): Handle MEM_REF.
17916 (count_ptr_derefs): Likewise.
17917 (get_base_loadstore): Likewise.
17918 * gimple.h (is_gimple_mem_ref_addr): Declare.
17919 (gimple_call_fndecl): Handle invariant MEM_REF addresses.
17920 * tree-cfg.c (verify_address): New function, split out from ...
17921 (verify_expr): ... here. Use for verifying ADDR_EXPRs and
17922 the address operand of MEM_REFs. Verify MEM_REFs. Reject
17923 INDIRECT_REFs.
17924 (verify_types_in_gimple_min_lval): Handle MEM_REF. Disallow
17925 INDIRECT_REF. Allow conversions.
17926 (verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of
17927 a register does not change its size.
17928 (verify_types_in_gimple_reference): Verify MEM_REF.
17929 (verify_gimple_assign_single): Disallow INDIRECT_REF.
17930 Handle MEM_REF.
17931 * tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable):
17932 New.
17933 (mark_address_taken): Handle MEM_REF.
17934 (get_indirect_ref_operands): Pass through opf_not_non_addressable.
17935 (get_asm_expr_operands): Pass opf_not_non_addressable.
17936 (get_expr_operands): Handle opf_[not_]non_addressable.
17937 Handle MEM_REF. Remove INDIRECT_REF handling.
bd3a5d17 17938 * tree-vrp.c (check_array_ref): Handle MEM_REF.
70f34814
RG
17939 (search_for_addr_array): Likewise.
17940 (check_array_bounds): Likewise.
17941 (vrp_stmt_computes_nonzero): Adjust for MEM_REF.
17942 * tree-ssa-loop-im.c (for_each_index): Handle MEM_REF.
17943 (ref_always_accessed_p): Likewise.
17944 (gen_lsm_tmp_name): Likewise. Handle ADDR_EXPR.
17945 * tree-complex.c (extract_component): Do not handle INDIRECT_REF.
17946 Handle MEM_REF.
17947 * cgraphbuild.c (mark_load): Properly check for NULL result
17948 from get_base_address.
17949 (mark_store): Likewise.
17950 * tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF.
17951 * tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF
17952 handling for MEM_REF.
17953 * tree-scalar-evolution.c (follow_ssa_edge_expr): Handle
17954 &MEM[ptr + CST] similar to POINTER_PLUS_EXPR.
17955 * builtins.c (stabilize_va_list_loc): Use the function ABI
17956 valist type if we couldn't canonicalize the argument type.
17957 Always dereference with the canonical va-list type.
17958 (maybe_emit_free_warning): Handle MEM_REF.
17959 (fold_builtin_memory_op): Simplify and handle MEM_REFs in folding
17960 memmove to memcpy.
17961 * builtins.c (fold_builtin_memory_op): Use ref-all types
17962 for all memcpy foldings.
17963 * omp-low.c (build_receiver_ref): Adjust for MEM_REF.
17964 (build_outer_var_ref): Likewise.
17965 (scan_omp_1_op): Likewise.
17966 (lower_rec_input_clauses): Likewise.
17967 (lower_lastprivate_clauses): Likewise.
17968 (lower_reduction_clauses): Likewise.
17969 (lower_copyprivate_clauses): Likewise.
17970 (expand_omp_atomic_pipeline): Likewise.
17971 (expand_omp_atomic_mutex): Likewise.
17972 (create_task_copyfn): Likewise.
17973 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF.
17974 Remove old union trick. Initialize constant offsets.
17975 (ao_ref_init_from_vn_reference): Likewise. Do not handle
17976 INDIRECT_REF. Init base_alias_set properly.
94dbbc81 17977 (vn_reference_lookup_3): Replace INDIRECT_REF handling with MEM_REF.
70f34814
RG
17978 (vn_reference_fold_indirect): Adjust for MEM_REFs.
17979 (valueize_refs): Fold MEM_REFs. Re-evaluate constant offset
17980 for ARRAY_REFs.
17981 (may_insert): Remove.
17982 (visit_reference_op_load): Do not test may_insert.
17983 (run_scc_vn): Remove parameter, do not fiddle with may_insert.
17984 * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
17985 a field to store the constant offset this op applies.
17986 (run_scc_vn): Adjust prototype.
17987 * cgraphunit.c (thunk_adjust): Adjust for MEM_REF.
17988 * tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with
17989 MEM_REF. Propagate &foo + CST as &MEM[&foo, CST]. Do not
17990 bother about volatile qualifiers on pointers.
17991 (fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF.
17992 * tree-ssa-loop-ivopts.c
94dbbc81 17993 * tree-ssa-loop-ivopts.c (determine_base_object): Adjust for MEM_REF.
70f34814
RG
17994 (strip_offset_1): Likewise.
17995 (find_interesting_uses_address): Replace INDIRECT_REF handling with
17996 MEM_REF handling.
17997 (get_computation_cost_at): Likewise.
17998 * ipa-pure-const.c (check_op): Handle MEM_REF.
17999 * tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF.
18000 * tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF
18001 and constants.
18002 * ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF.
18003 * tree-parloops.c (take_address_of): Adjust for MEM_REF.
18004 (eliminate_local_variables_1): Likewise.
18005 (create_call_for_reduction_1): Likewise.
18006 (create_loads_for_reductions): Likewise.
18007 (create_loads_and_stores_for_name): Likewise.
18008 * matrix-reorg.c (may_flatten_matrices_1): Sanitize.
18009 (ssa_accessed_in_tree): Handle MEM_REF.
18010 (ssa_accessed_in_assign_rhs): Likewise.
18011 (update_type_size): Likewise.
18012 (analyze_accesses_for_call_stmt): Likewise.
18013 (analyze_accesses_for_assign_stmt): Likewise.
18014 (transform_access_sites): Likewise.
18015 (transform_allocation_sites): Likewise.
18016 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF.
18017 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
18018 not handle INDIRECT_REF.
18019 * tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF.
18020 (cond_store_replacement): Likewise.
18021 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
18022 MEM_REF, no not handle INDIRECT_REFs.
18023 (insert_into_preds_of_block): Properly initialize avail.
18024 (phi_translate_1): Fold MEM_REFs. Re-evaluate constant offset
18025 for ARRAY_REFs. Properly handle reference lookups that
18026 require a bit re-interpretation.
18027 (can_PRE_operation): Do not handle INDIRECT_REF. Handle MEM_REF.
70f34814
RG
18028 * tree-sra.c (build_access_from_expr_1): Handle MEM_REF.
18029 (build_ref_for_offset_1): Remove.
18030 (build_ref_for_offset): Build MEM_REFs.
18031 (gate_intra_sra): Disable for now.
18032 (sra_ipa_modify_expr): Handle MEM_REF.
18033 (ipa_early_sra_gate): Disable for now.
18034 * tree-sra.c (create_access): Swap INDIRECT_REF handling for
18035 MEM_REF handling.
18036 (disqualify_base_of_expr): Likewise.
18037 (ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for
18038 MEM_REF handling.
18039 (sra_ipa_modify_expr): Remove INDIRECT_REF handling.
18040 Use mem_ref_offset. Remove bogus folding.
94dbbc81 18041 (build_access_from_expr_1): Properly handle MEM_REF for non IPA-SRA.
70f34814
RG
18042 (make_fancy_name_1): Add support for MEM_REF.
18043 * tree-predcom.c (ref_at_iteration): Handle MEM_REFs.
18044 * tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF.
18045 * ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF.
18046 (compute_complex_ancestor_jump_func): Likewise.
18047 (ipa_analyze_virtual_call_uses): Likewise.
18048 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace
18049 INDIRECT_REF folding with more generalized MEM_REF folding.
18050 (tree_ssa_forward_propagate_single_use_vars): Adjust accordingly.
18051 (forward_propagate_addr_into_variable_array_index): Also handle
18052 &ARRAY + I in addition to &ARRAY[0] + I.
18053 * tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF.
18054 * tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that
18055 creates assignments with overlap.
18056 * tree-nested.c (get_static_chain): Adjust for MEM_REF.
18057 (get_frame_field): Likewise.
18058 (get_nonlocal_debug_decl): Likewise.
18059 (convert_nonlocal_reference_op): Likewise.
18060 (struct nesting_info): Add mem_refs pointer-set.
18061 (create_nesting_tree): Allocate it.
18062 (convert_local_reference_op): Insert to be folded mem-refs.
18063 (fold_mem_refs): New function.
94dbbc81 18064 (finalize_nesting_tree_1): Perform defered folding of mem-refs
70f34814
RG
18065 (free_nesting_tree): Free the pointer-set.
18066 * tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF.
18067 (vectorizable_load): Likewise.
18068 * tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF.
18069 (propagate_with_phi): Likewise.
18070 * tree-object-size.c (addr_object_size): Handle MEM_REFs
18071 instead of INDIRECT_REFs.
18072 (compute_object_offset): Handle MEM_REF.
18073 (plus_stmt_object_size): Handle MEM_REF.
18074 (collect_object_sizes_for): Dispatch to plus_stmt_object_size
18075 for &MEM_REF.
18076 * tree-flow.h (get_addr_base_and_unit_offset): Declare.
18077 (symbol_marked_for_renaming): Likewise.
18078 * Makefile.in (tree-dfa.o): Add $(TOPLEV_H).
18079 (fold-const.o): Add $(TREE_FLOW_H).
18080 * tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF.
18081 (find_func_clobbers): Likewise.
18082 * ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF.
18083 (decompose_access): Likewise.
18084 (replace_field_acc): Likewise.
18085 (replace_field_access_stmt): Likewise.
18086 (insert_new_var_in_stmt): Likewise.
18087 (get_stmt_accesses): Likewise.
18088 (reorg_structs_drive): Disable.
18089 * config/i386/i386.c (ix86_va_start): Adjust for MEM_REF.
18090 (ix86_canonical_va_list_type): Likewise.
18091
a87cf97e
JR
180922010-06-30 Joern Rennecke <joern.rennecke@embecosm.com>
18093
18094 PR other/44566
18095 * coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define.
18096 * target.def (struct gcc_target): Replace enum reg_class with
18097 reg_class_t in hook argument / return types.
18098 * doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise.
18099 (TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise.
18100 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
18101 * targhooks.h (default_branch_target_register_class): Likewise.
18102 (default_ira_cover_classes, default_secondary_reload): Likewise.
18103 (default_memory_move_cost, default_register_move_cost): Likewise.
18104 * targhooks.c (default_branch_target_register_class): Likewise.
18105 (default_ira_cover_classes, default_secondary_reload): Likewise.
18106 (default_memory_move_cost, default_register_move_cost): Likewise.
18107 * reload.c (push_secondary_reload, secondary_reload_class): Likewise.
18108 * bt-load.c (branch_target_load_optimize): Likewise.
18109 * ira.c (setup_cover_and_important_classes): Likewise.
18110 * ira-costs.c (copy_cost): Likewise.
18111 * reload1.c (emit_input_reload_insns): Likewise.
18112 * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
18113 * config/frv/frv.c (frv_secondary_reload): Likewise.
18114 * config/s390/s390.c (s390_secondary_reload): Likewise.
18115 * config/i386/i386.c (i386_ira_cover_classes): Likewise.
18116 (ix86_secondary_reload, ix86_memory_move_cost): Likewise.
18117 (ix86_register_move_cost): Likewise.
18118 * config/sh/sh-protos.h (sh_secondary_reload): Likewise.
18119 * config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise.
18120 * config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise.
18121 * config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise.
18122 * config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise.
18123 (rs6000_ira_cover_classes): Likewise.
18124 * config/picochip/picochip.c (picochip_secondary_reload): Likewise.
18125 * config/picochip/picochip-protos.h (picochip_secondary_reload):
18126 Likewise.
18127 * config/pa/pa.c (pa_secondary_reload): Likewise.
18128 * config/mips/mips.c (mips_ira_cover_classes): Likewise.
18129 * config/bfin/bfin.c (bfin_secondary_reload): Likewise.
18130 * config/ia64/ia64.c (ia64_register_move_cost): Likewise.
18131 * doc/tm.texi: Regenerate.
18132
6e44d26e
SP
181332010-06-30 Sebastian Pop <sebastian.pop@amd.com>
18134
18135 PR bootstrrap/44726
18136 * graphite-sese-to-poly.c (build_poly_dr): Avoid uninitialized
18137 use.
18138 (build_alias_set_optimal_p): Likewise.
18139 (build_base_obj_set_for_drs): Likewise.
18140
f6170701
JR
181412010-06-30 Joern Rennecke <joern.rennecke@embecosm.com>
18142
18143 * target.def: Remove comment about licensing problems of function
18144 declarations.
18145
ad78130c
JR
18146 * target.def (declare_constant_name): Change exp to expr. Use DEFHOOK.
18147 * doc/tm.texi.in (TARGET_ASM_DECLARE_CONSTANT_NAME): Use @hook.
18148 * doc/tm.texi: Regenerate.
18149
89356d17
JR
18150 * target.def (builtin_reciprocal): Change tm_fn to md_fn. Use DEFHOOK.
18151 * doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook.
18152
07a5b2bc
JR
18153 * target.def (enum_va_list_p): Use DEFHOOK.
18154 * doc/tm.texi.in (TARGET_ENUM_VA_LIST_P): Use @hook.
18155 Rename ptype to ptree.
18156 * doc/tm.texi: Regenerate.
18157
08914aaa
JR
18158 * target.def (fold_builtin): Rename nargs to n_args. Use DEFHOOK.
18159 * doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook.
18160 * doc/tm.texi: Regenerate.
18161
911852ff
JR
18162 * target.def (memory_move_cost): Use DEFHOOK.
18163 * doc/tm.texi.in (TARGET_MEMORY_MOVE_COST): Use @hook.
18164 Rename regclass AKA class to rclass.
18165 * doc/tm.texi: Regenerate.
18166
56cb42ea
JR
18167 * target.def (pragma_parse): Use DEFHOOK.
18168 * doc/tm.texi.in (TARGET_OPTION_PRAGMA_PARSE): Use @hook.
18169 s/TARGET_VALID_OPTION_ATTRIBUTE_P/TARGET_OPTION_VALID_ATRIBUTE_P/ .
18170 * doc/tm.texi: Regenerate.
18171
ec9f85e5
JR
18172 * target.def (pass_by_reference): Use DEFHOOK.
18173 * doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook.
18174 * doc/tm.texi: Regenerate.
18175
d66f5459
JR
18176 * target.def (resolve_overloaded_builtin): Rename params to arglist.
18177 Use DEFHOOK.
18178 * doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook.
18179 * doc/tm.texi: Regenerate.
18180
893d13d5
JR
18181 * target.def (return_pops_args): Use DEFHOOK.
18182 * doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook.
18183 Rename stack-size to size.
18184 * doc/tm.texi: Regenerate.
18185
c06bbdf7
JR
18186 * target.def (dfa_new_cycle): Use DEFHOOK. Rename dump_file to dump,
18187 last-sched_cycle to last_clock, cur_cycle to clock.
18188 * doc/tm.texi.in: Use @hook.
18189 * doc/tm.texi: Regenerate.
18190
4d00d5dd
JR
18191 * target.def (print_operand, print_operand_address): Update comment.
18192 (print_operand_punct_valid_p): Likewise.
18193
0cbd9993
MLI
181942010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
18195
18196 * toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations
18197 to rtl.h.
18198 (error_for_asm, warning_for_asm): Move declarations to rtl-error.h.
94dbbc81 18199 * rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations here.
0cbd9993
MLI
18200 * rtl-error.h: New.
18201 * regrename.c: Do not include toplev.h. Include rtl-error.h.
18202 * rtl-error.c: Likewise.
18203 * reload.c: Likewise.
18204 * recog.c: Likewise.
18205 * sel-sched.c: Likewise.
18206 * function.c: Likewise.
18207 * reg-stack.c: Likewise.
18208 * cfgrtl.c: Likewise.
18209 * reload1.c: Likewise.
18210 * final.c: Include rtl-error.
18211 * Makefile.in: Adjust dependencies.
18212
8a9c1ae6
JH
182132010-06-30 Jan Hubicka <jh@suse.cz>
18214
18215 PR middle-end/PR44706
18216 * ipa-split (split_function): Refine conditions when to use DECL_RESULT
18217 to return the value.
18218
8a1561bc
MM
182192010-06-30 Michael Matz <matz@suse.de>
18220
18221 PR bootstrap/44699
18222 * tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names.
18223 * gimple-fold.c (gimplify_and_update_call_from_tree): If LHS is
18224 a gimple reg, attach the original VDEF to the last store in the
18225 sequence.
18226
8a1dabd5
IS
182272010-06-30 Iain Sandoe <iains@gcc.gnu.org>
18228
18229 PR other/44034
18230 * config/darwin.c (darwin_override_options): Use renamed
18231 targetm.asm_out.emit_unwind_label.
18232
dcad005d
BS
182332010-06-30 Bernd Schmidt <bernds@codesourcery.com>
18234
18235 PR tree-optimization/39799
18236 * tree-inline.c (remap_ssa_name): Initialize variable only if
18237 SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
18238
1d468b06
NF
182392010-06-30 Nathan Froyd <froydnj@codesourcery.com>
18240
18241 * c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.
18242
501d1a70
RG
182432010-06-30 Richard Guenther <rguenther@suse.de>
18244
18245 PR target/44722
18246 * config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard
18247 against oscillation with reverse peephole2.
18248
ed1db000
L
182492010-06-30 H.J. Lu <hongjiu.lu@intel.com>
18250
18251 PR target/44721
18252 * config/i386/i386.md (peephole2 for arithmetic ops with memory):
18253 Fix last commit.
18254
aea8fc97
NC
182552010-06-30 Nick Clifton <nickc@redhat.com>
18256
18257 * config/rx/rx-modes.def: New file.
18258 * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
18259 (CC_REGNUM): Define.
18260 (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
18261 register.
18262 (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
18263 (SELECT_CC_MODE): Define.
18264 * config/rx/rx.md (CC_REG): Define. Update all patterns to use
18265 (reg:CC CC_REG) instead of (cc0).
18266 (attr "cc"): Delete.
18267 (cbranchsi4): Do not split compare and branch here. Instead move
18268 it to...
18269 (cbranchsi4_<code>): ... here. New patterns.
18270 (cmpsi): Call rx-compare_redundant to find out if it is necessary
18271 to emit the compare instruction.
18272 * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
18273 cc_status flags.
18274 (rx_get_stack_layout): Iterate up to before CC_REGNUM not
18275 FIRST_PSEUDO_REGNUM.
18276 (rx_expand_prologue, rx_expand_epilogue): Likewise.
18277 (rx_notice_update_cc): Delete.
18278 (rx_cc_modes_compatible): New function.
18279 (flags_needed_for_conditional): New function.
18280 (flags_from_mode): New function.
18281 (rx_compare_redundant): New function - scans backwards through
94dbbc81 18282 insn list to find out if condition flags are already set correctly.
aea8fc97
NC
18283 (TARGET_CC_MODES_COMPATIBLE): Define.
18284 * config/rx/rx-protos.h (rx_compare_redundant): Prototype.
18285
18286 * config/rx/rx.h (BRANCH_COST): Define.
18287 (REGISTER_MOVE_COST): Define.
94dbbc81 18288 * config/rx/predicates (rx_source_operand): Allow all constant types.
aea8fc97
NC
18289 * config/rx/rx.md (addsi3): Add alternative for swapped operands.
18290 (tstsi4): New pattern.
18291 * config/rx/rx.c (rx_memory_move_cost): Define.
18292 (TARGET_MEMORY_MOVE_COST): Define.
18293
6662d794
MLI
182942010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
18295
18296 * tree.h (block_may_fallthru): Declare here.
18297 * tree-flow.h (block_may_fallthru): Do not declare here.
18298 * c-typeck.c: Do not include tree-flow.h. Include gimple.h and
18299 bitmap.h
18300 * Makefile.in (c-typeck.o): Update dependencies.
18301
9de9cbaf
JJ
183022010-06-30 Jakub Jelinek <jakub@redhat.com>
18303
18304 PR debug/44694
18305 * cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
18306 * cselib.c (cfa_base_preserved_regno): New static variable.
18307 (cselib_reset_table): Don't reset cfa_base_preserved_regno instead
18308 of REGNO (cfa_base_preserved_val->locs->loc).
18309 (cselib_preserve_cfa_base_value): Add regno argument, set
18310 cfa_base_preserved_regno to it.
18311 (cselib_invalidate_regno): Allow removal of registers other than
18312 cfa_base_preserved_regno from cfa_base_preserved_val.
18313 (cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
18314 * var-tracking.c (adjust_mems): Replace sp or hfp even outside
18315 of MEM addresses, if not on LHS.
18316 (reverse_op): Don't add reverse ops for cfa_base_rtx.
18317 (vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.
18318
ee932b8f
BS
183192010-06-30 Bernd Schmidt <bernds@codesourcery.com>
18320
18321 * recog.c (peep2_do_rebuild_jump_labels, peep2_do_cleanup_cfg): New
18322 static variables.
18323 (peep2_buf_position): New static function.
18324 (peep2_regno_dead_p, peep2_reg_dead_p, peep2_find_free_register,
18325 peephole2_optimize): Use it.
18326 (peep2_attempt, peep2_update_life): New static functions, broken out
18327 of peephole2_optimize.
18328 (peep2_fill_buffer): New static function.
18329 (peephole2_optimize): Change the main loop to try to fill the buffer
18330 with the maximum number of insns before matching them against
18331 peepholes. Use a forward scan. Remove special case for targets with
18332 conditional execution.
18333 * genrecog.c (change_state): Delete dead code.
18334 * config/i386/i386.md (peephole2 for arithmetic ops with memory):
18335 Rewrite so as not to expect the second insn to have had a peephole
18336 applied yet.
18337
4d64faec
NF
183382010-06-29 Nathan Froyd <froydnj@codesourcery.com>
18339
18340 * genhooks.c (emit_findices): Cast field precision to int.
18341 (emit_documentation): Likewise.
18342
0287000a
JJ
183432010-06-29 Jakub Jelinek <jakub@redhat.com>
18344
087fa34b
JJ
18345 PR tree-optimization/43801
18346 * cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
18347 if old_decl was DECL_ONE_ONLY.
18348
0287000a
JJ
18349 PR debug/44668
18350 * dwarf2out.c (add_accessibility_attribute): New function.
18351 (gen_subprogram_die, gen_variable_die, gen_field_die): Use it
18352 instead of adding DW_AT_accessibility manually.
18353 (gen_enumeration_type_die, gen_struct_or_union_type_die,
18354 gen_typedef_die): Use it.
18355
6a07b007
DR
183562010-06-29 Douglas B Rupp <rupp@gnat.com>
18357
18358 * vmsdbgout.c (full_name): Just output the file name if not native.
18359
6ca45368
DR
183602010-06-29 Douglas B Rupp <rupp@gnat.com>
18361
18362 * vmsdbgout.c (func_table): Replace with VEC func{nam,num}_tables.
18363 (funcnam_table): New static table.
18364 (funcnum_table): New static table.
18365 (write_rtnbeg): Write value saved in funcnum_table.
18366 (write_rtnend): Write value saved in funcnum_table.
18367 (vmsdbgout_begin_function): Save current function info in
18368 (vmsdbgout_init): Initialize func{nam,num}_tables. Minor reformatting.
18369 (vmsdbgout_finish): Iterate over funcnum_table.
18370
528b7aa4
DR
183712010-06-29 Douglas B Rupp <rupp@gnat.com>
18372
18373 * vmsdbgout.c (vmsdbgout_begin_epilogue): Declare
18374 (vmsdbgout_type_decl): Declare
18375 (vmsdbg_debug_hooks): Add entry for type_decl and begin_epilogue.
18376 (FUNC_EPILOGUE_LABEL): New macro
18377 (vmsdbgout_begin_epilogue): New function.
18378 (vmsdbgout_type_decl): New function.
18379
cb488ce1
DR
183802010-06-29 Douglas B Rupp <rupp@gnat.com>
18381
18382 * vmsdbg.h: Update copyright.
18383
b313b165
DR
183842010-06-29 Douglas B Rupp <rupp@gnat.com>
18385
18386 * vmsdbg.h (DST_K_TBG): New DST constant.
18387 * vmsdbgout.c (addr_const_to_string): Removed, not referenced.
18388 (write_modbeg): Cast module_language to avoid warning.
18389 (write_rtnbeg): Use DST_K_TBG vice magic mystery number.
18390
38f8b050
JR
183912010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
18392
18393 PR other/44034
18394 * target.def, doc/tm.texi.in, genhooks.c: New files.
18395 * target.h: Instead of defining individual hook members,
18396 define DEFHOOKPOD / DEFHOOK / DEFHOOK_UNDOC / HOOKSTRUCT and
18397 include target.def.
18398 * target-def.h: Instead of defining individual hook initializers,
18399 include target-hooks-def.h.
18400 * df-scan.c, haifa-sched.c, sel-sched.c: Rename targetm members:
18401 targetm.live_on_entry -> targetm.extra_live_on_entry
18402 targetm.sched.md_finish ->targetm.sched.finish
18403 targetm.sched.md_init -> targetm.sched.init
18404 targetm.sched.md_init_global -> targetm.sched.init_global
18405 targetm.asm_out.unwind_label -> targetm.asm_out.emit_unwind_label
18406 targetm.asm_out.except_table_label ->
18407 targetm.asm_out.emit_except_table_label
18408 targetm.asm_out.visibility -> targetm.asm_out.assemble_visibility
18409 targetm.target_help -> targetm.help
18410 targetm.vectorize.builtin_support_vector_misalignment ->
18411 targetm.vectorize.support_vector_misalignment
18412 targetm.file_start_app_off -> targetm.asm_file_start_app_off
18413 targetm.file_start_file_directive ->
18414 targetm.asm_file_start_file_directive
18415 * dwarf2out.c, opts.c, tree-vect-data-refs.c, except.c: Likewise.
18416 * varasm.c, config/alpha/alpha.c, config/cris/cris.c: Likewise.
eed023cc 18417 * config/spu/spu.c, config/ia64/ia64.c: Rename target macros:
38f8b050
JR
18418 TARGET_VECTOR_ALIGNMENT_REACHABLE ->
18419 TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE
18420 TARGET_SUPPORT_VECTOR_MISALIGNMENT ->
18421 TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT
18422 TARGET_UNWIND_EMIT -> TARGET_ASM_UNWIND_EMIT
18423 * config/rs6000/rs6000.c, config/arm/arm.c: Likewise.
18424 * Makefile.in (TARGET_H): Depend on target.def.
18425 (TARGET_DEF_H): Depend on target-hooks-def.h.
18426 (target-hooks-def.h, tm.texi, s-target-hooks-def-h): New rules.
18427 (s-tm-texi, build/genhooks.o, build/genhooks): Likewise.
18428 * doc/tm.texi: Regenerate.
18429
e82a40fc
JR
18430 * Makefile.in (s-tm-texi): Remove stray tab / rule.
18431
7ecb00a6
JR
18432 * config/m68k/m68k.c (targetm.sched.init_global): Update comment.
18433 (targetm.sched.init): Likewise.
18434
3fc7cd18
NF
184352010-06-29 Nathan Froyd <froydnj@codesourcery.com>
18436
18437 PR bootstrap/44713
18438 * config/i386/i386.c (type_natural_mode): Const-ify CUM parameter.
18439 (function_arg_advance_32): Const-ify TYPE parameter.
18440 (function_arg_advance_64): Likewise. Change type of NAMED to bool.
18441 (ix86_function_arg_advance): Change type of NAMED to bool.
18442 (function_arg_32): Const-ify CUM and TYPE parameters.
18443 (function_arg_64): Likewise. Change type of NAMED to bool.
18444 (function_arg_ms_64): Const-ify CUM parameter. Change type of NAMED
18445 to bool.
18446 (ix86_function_arg): Change type of NAMED to bool.
18447 (ix86_setup_incoming_varargs): Call ix86_function_arg_advance. Pass
18448 last argument as a bool.
18449
74f7912a
JR
184502010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
18451
18452 * doc/tm.texi (TARGET_OPTION_OVERRIDE): Document.
18453 (OVERRIDE_OPTIONS): Add note of obsolescence.
18454 Replace references with references to TARGET_OPTION_OVERRIDE.
18455 (Except for C_COMMON_OVERRIDE_OPTIONS, which remains similar to
18456 the macro).
18457 * targhooks.c (default_target_option_override): New function.
18458 * targhooks.h (default_target_option_override): Declare.
18459 * target.h (struct gcc_target): Add override member to
9afcc09d 18460 target_option member.
74f7912a
JR
18461 * toplev.c (process_options): Replace OVERRIDE_OPTIONS use with
18462 targetm.target_option.override call.
18463 * target-def.h (TARGET_OPTION_OVERRIDE): Define.
18464 (TARGET_OPTION_HOOKS): Add TARGET_OPTION_OVERRIDE.
18465
20a6bb58
JH
184662010-06-29 Jan Hubicka <jh@suse.cz>
18467
18468 * tree-inline.c: Replace incomming by incomin and clonning by cloning.
18469
b35366ce
JH
184702010-06-29 Jan Hubicka <jh@suse.cz>
18471
18472 * predict.c (propagate_freq): Clear EXIT_BLOCK_PTR frequency if it is
18473 unreachable.
18474 (rebuild_frequencies): New function.
18475 * predict.h (rebuild_frequencies): Declare.
18476 * tree-inline.c (copy_cfg_body): Compute properly count & frequency of
18477 entry block and edge reaching new_entry.
94dbbc81
UB
18478 (tree_function_versioning): When doing partial cloning, rebuild
18479 frequencies when done.
b35366ce
JH
18480 * passes.c (execute_function_todo): Use rebild_frequencies.
18481
50b56694
RG
184822010-06-29 Richard Guenther <rguenther@suse.de>
18483
18484 * tree-dfa.c (dump_variable): Remove noalias_state dumping.
18485 * tree-flow.h (enum noalias_state): Remove.
18486 (struct var_ann_d): Remove noalias_state member.
18487
810c4bf4
BS
184882010-06-29 Bernd Schmidt <bernds@codesourcery.com>
18489
18490 PR target/43902
18491 * config/arm/arm.md (maddsidi4, umaddsidi4): New expanders.
18492 (maddhisi4): Renamed from mulhisi3addsi. Operands renumbered.
18493 (maddhidi4): Likewise.
18494
3df41baf
BS
18495 Revert parts of the change for PR25130.
18496 * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
18497 MEM_ALIAS_SET.
18498
3c07301f
NF
184992010-06-29 Nathan Froyd <froydnj@codesourcery.com>
18500
18501 * calls.c, dse.c, expr.c, function.c: Call targetm.calls.function_arg,
18502 targetm.calls.function_incoming_arg, and
18503 targetm.calls.function_arg_advance instead of FUNCTION_ARG,
18504 FUNCTION_INCOMING_ARG, and FUNCTION_ARG_ADVANCE, respectively.
18505 * target.h (struct gcc_target): Add function_arg_advance,
18506 function_arg, and function_incoming_arg fields.
18507 * target-def.h (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG):
18508 (TARGET_FUNCTION_INCOMING_ARG): Define.
18509 (TARGET_CALLS): Add TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG,
18510 and TARGET_FUNCTION_INCOMING_ARG.
18511 * targhooks.h (default_function_arg_advance): Declare.
18512 (default_function_arg, default_function_incoming_arg): Declare.
18513 * targhooks.c (default_function_arg_advance): New function.
18514 (default_function_arg, default_function_incoming_arg): New function.
18515 * config/i386/i386.c (function_arg_advance): Rename to...
18516 (ix86_function_arg_advance): ...this. Make static.
18517 (function_arg): Rename to...
18518 (ix86_function_arg): ...this. Make static.
18519 (TARGET_FUNCTION_ARG_ADVANCE): Define.
18520 (TARGET_FUNCTION_ARG): Define.
18521 * config/i386/i386.h (FUNCTION_ARG_ADVANCE): Delete.
18522 (FUNCTION_ARG): Delete.
18523 * config/i386/i386-protos.h (function_arg_advance): Delete prototype.
18524 (function_arg): Delete prototype.
18525
079e7538
NF
185262010-06-29 Nathan Froyd <froydnj@codesourcery.com>
18527
18528 * reginfo.c (init_reg_sets_1): Adjust comments.
18529 * combine-stack-adj.c (rest_of_handle_stack_adjustments): Likewise.
18530 * calls.c (prepare_call_address): Likewise.
18531 (emit_call_1): Use targetm.calls.return_pops_args.
18532 (expand_call): Likewise.
18533 * function.c (assign_parms): Likewise.
18534 * system.h (RETURN_POPS_ARGS): Add to #pragma poison list.
18535 * target.h (struct gcc_target) [struct calls]: Add
18536 return_pops_args field.
18537 * targhooks.h (default_return_pops_args): Declare.
18538 * targhooks.c (default_return_pops_args): Define.
18539 * target-def.h (TARGET_RETURN_POPS_ARGS): Define.
18540 (TARGET_CALLS): Add TARGET_RETURN_POPS_ARGS.
18541 * doc/tm.texi (RETURN_POPS_ARGS): Rename to...
18542 (TARGET_RETURN_POPS_ARGS): ...this. Use deftypefn. Adjust
18543 documentation.
18544 * config/alpha/alpha.h (RETURN_POPS_ARGS): Delete.
18545 * config/arc/arc.h (RETURN_POPS_ARGS): Likewise.
18546 * config/arm/arm.h (RETURN_POPS_ARGS): Likewise.
18547 * config/avr/avr.h (RETURN_POPS_ARGS): Likewise.
18548 * config/bfin/bfin.h (RETURN_POPS_ARGS): Likewise.
18549 * config/cris/cris.h (RETURN_POPS_ARGS): Likewise.
18550 * config/crx/crx.h (RETURN_POPS_ARGS): Likewise.
18551 * config/fr30/fr30.h (RETURN_POPS_ARGS): Likewise.
18552 * config/frv/frv.h (RETURN_POPS_ARGS): Likewise.
18553 * config/h8300/h8300.h (RETURN_POPS_ARGS): Likewise.
18554 * config/ia64/ia64.h (RETURN_POPS_ARGS): Likewise.
18555 * config/iq2000/iq2000.h (RETURN_POPS_ARGS): Likewise.
18556 * config/lm32/lm32.h (RETURN_POPS_ARGS): Likewise.
18557 * config/m32c/m32c.h (RETURN_POPS_ARGS): Likewise.
18558 * config/m32r/m32r.h (RETURN_POPS_ARGS): Likewise.
18559 * config/m68hc11/m68hc11.h (RETURN_POPS_ARGS): Likewise.
18560 * config/mcore/mcore.h (RETURN_POPS_ARGS): Likewise.
18561 * config/mep/mep.h (RETURN_POPS_ARGS): Likewise.
18562 * config/mips/mips.h (RETURN_POPS_ARGS): Likewise.
18563 * config/mmix/mmix.h (RETURN_POPS_ARGS): Likewise.
18564 * config/mn10300/mn10300.h (RETURN_POPS_ARGS): Likewise.
18565 * config/moxie/moxie.h (RETURN_POPS_ARGS): Likewise.
18566 * config/pa/pa.h (RETURN_POPS_ARGS): Likewise.
18567 * config/pdp11/pdp11.h (RETURN_POPS_ARGS): Likewise.
18568 * config/picochip/picochip.h (RETURN_POPS_ARGS): Likewise.
18569 * config/rs6000/rs6000.h (RETURN_POPS_ARGS): Likewise.
18570 * config/rx/rx.h (RETURN_POPS_ARGS): Likewise.
18571 * config/s390/s390.h (RETURN_POPS_ARGS): Likewise.
18572 * config/score/score.h (RETURN_POPS_ARGS): Likewise.
18573 * config/sh/sh.h (RETURN_POPS_ARGS): Likewise.
18574 * config/sparc/sparc.h (RETURN_POPS_ARGS): Likewise.
18575 * config/spu/spu.h (RETURN_POPS_ARGS): Likewise.
18576 * config/stormy16/stormy16.h (RETURN_POPS_ARGS): Likewise.
18577 * config/v850/v850.h (RETURN_POPS_ARGS): Likewise.
18578 * config/xtensa/xtensa.h (RETURN_POPS_ARGS): Likewise.
18579 * config/i386/i386-protos.h (ix86_return_pops_args): Delete.
18580 * config/i386/i386.h (RETURN_POPS_ARGS): Delete.
18581 * config/i386/i386.c (ix86_return_pops_args): Make static.
18582 Constify arguments.
18583 (TARGET_RETURN_POPS_ARGS): Define.
18584 * config/m68k/m68k.h (RETURN_POPS_ARGS): Move to...
18585 * config/m68k/m68k.c (m68k_return_pops_args): ...here. New function.
18586 (TARGET_RETURN_POPS_ARGS): Define.
18587 * config/vax/vax.h (RETURN_POPS_ARGS): Move to...
18588 * config/vax/vax.c (vax_return_pops_args): ...here. New function.
18589 (TARGET_RETURN_POPS_ARGS): Define.
18590
ea184343
RG
185912010-06-29 Richard Guenther <rguenther@suse.de>
18592
18593 PR middle-end/44667
18594 * tree-inline.c (initialize_inlined_parameters): Make sure
18595 to remap the inlined parameter variable substitutions types.
18596
5dfebe0a
EB
185972010-06-29 Eric Botcazou <ebotcazou@adacore.com>
18598
18599 PR rtl-optimization/44659
18600 * combine.c (make_compound_operation) <SUBREG>: Do not return the
18601 result of force_to_mode if it partially re-expanded the compound.
18602
6b5c2d6c
JH
186032010-06-28 Jan Hubicka <jh@suse.cz>
18604
18605 PR middle-end/44671
5dfebe0a
EB
18606 * ipa-split.c (test_nonssa_use, mark_nonssa_use): Check also uses of
18607 RESULT_DECL.
6b5c2d6c 18608
9589f23e
AS
186092010-06-28 Anatoly Sokolov <aesok@post.ru>
18610
18611 * double-int.h (force_fit_type_double): Remove declaration.
18612 * double-int.c (force_fit_type_double): Move to tree.c.
18613 * tree.h (force_fit_type_double): Declare.
18614 * tree.h (force_fit_type_double): Moved from double-int.c. Use
18615 double_int type for 'cst' argument. Use double_int_fits_to_tree_p and
18616 double_int_to_tree instead of fit_double_type and build_int_cst_wide.
18617 * convert.c (convert_to_pointer): Adjust call to
18618 force_fit_type_double.
18619 * tree-vrp.c (extract_range_from_assert,
18620 extract_range_from_unary_expr): Adjust call to force_fit_type_double.
18621 * fold-const.c: Update comment.
18622 (int_const_binop, fold_convert_const_int_from_int,
18623 fold_convert_const_int_from_real, fold_convert_const_int_from_fixed,
18624 extract_muldiv_1, fold_div_compare, fold_sign_changed_comparison,
18625 fold_unary_loc, fold_negate_const, fold_abs_const, fold_not_const,
18626 round_up_loc): Adjust call to force_fit_type_double.
18627
5dfebe0a 186282010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
dfecaf59
PT
18629
18630 * config/rs6000/rs6000.h (PROCESSOR_TITAN): Declare.
18631
bb8e5dca
MJ
186322010-06-28 Martin Jambor <mjambor@suse.cz>
18633
18634 * tree-sra.c (convert_callers): New parameter, change fndecls of
18635 recursive calls.
18636 (modify_function): Pass the old decl to convert_callers.
18637
f5d3b855
MJ
186382010-06-28 Martin Jambor <mjambor@suse.cz>
18639
18640 * ipa-cp.c (ipcp_init_cloned_node): Replace calls to
18641 ipa_check_create_node_params and ipa_initialize_node_params with
18642 checking asserts they are not necessary.
18643
4021f4a1
JH
186442010-06-28 Jan Hubicka <jh@suse.cz>
18645
18646 PR tree-optimization/44687
18647 * ipa-split.c (split_function): Use DECL_RESULT to store return value.
18648
621f4189
MJ
186492010-06-28 Martin Jambor <mjambor@suse.cz>
18650
18651 PR c++/44535
18652 * gimple-fold.c (get_first_base_binfo_with_virtuals): New function.
18653 (gimple_get_relevant_ref_binfo): Use get_first_base_binfo_with_virtuals
18654 instead of BINFO_BASE_BINFO.
18655
fe2ef088
MM
186562010-06-28 Michael Matz <matz@suse.de>
18657
18658 PR middle-end/44592
18659 * gimple-fold.c (gimplify_and_update_call_from_tree): Maintain
18660 proper VDEF chain for intermediate stores in the sequence.
18661
f0cc75e0
JH
186622010-06-28 Jan Hubicka <jh@suse.cz>
18663
18664 PR tree-optimization/44357
94dbbc81
UB
18665 * ipa-inline.c (add_new_edges_to_heap): Do not add edges to
18666 uninlinable functions.
f0cc75e0 18667
5dfebe0a 186682010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3c005e6c
PT
18669
18670 * config.gcc (powerpc*-*-*): Handle titan.
18671 * config/rs6000/rs6000.c (titan_cost): New costs.
18672 (rs6000_override_options): Add "titan" to processor_target_table.
18673 Add Titan to branch alignment logic.
18674 Correctly set rs6000_cost for titan.
18675 * config/rs6000/rs6000.md (cpu): Add titan. Include "titan.md".
18676 * config/rs6000/titan.md: New file.
18677 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=titan.
94dbbc81 18678
40523581
NF
186792010-06-28 Nathan Froyd <froydnj@codesourcery.com>
18680
18681 * tree-browser.c (TB_history_stack): Convert to a VEC.
18682 (TB_SET_HEAD): Adjust for new type of TB_history_stack.
18683 (TB_history_prev): Likewise.
18684
04924d6a
NF
186852010-06-28 Nathan Froyd <froydnj@codesourcery.com>
18686
18687 * vec.h (vec_heap_free): Add parentheses around free.
18688
3b06d379
SB
186892010-06-28 Steven Bosscher <steven@gcc.gnu.org>
18690
18691 * system.h: Poison GCC_EXCEPT_H for front-end files.
18692
18693 * langhooks.h (struct lang_hooks): Add eh_protect_cleanup_actions
18694 langhook.
18695 * langhooks-def.h (LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS) New.
18696 Define to NULL by default.
18697 * except.h: Define GCC_EXCEPT_H.
18698 (doing_eh): Remove prototype.
18699 (init_eh, init_eh_for_function): Move prototypes to toplev.h.
18700 (lang_protect_cleanup_actions): Remove.
18701 * except.c (lang_protect_cleanup_actions): Remove.
18702 (doing_eh): Remove.
18703 (gen_eh_region): Don't check doing_eh here.
18704 * toplev.h (init_eh, init_eh_for_function_): Moved from except.h.
18705 * tree-eh.c (honor_protect_cleanup_actions): Use new langhook
18706 instead of lang_protect_cleanup_actions.
18707 * omp-low.c (maybe_catch_exception): Likewise.
18708 * Makefile.in: Update dependencies.
18709
5dfebe0a 187102010-06-28 Bingfeng Mei <bmei@broadcom.com>
6d41cd02 18711
94dbbc81
UB
18712 * cgraph.h (struct varpool_node): new used_from_object_file flag.
18713 (struct cgraph_local_info): new used_from_object_file flag.
18714 * cgraph.c (dump_cgraph_node): dump used_from_object_file flag.
18715 (cgraph_clone_node): initialize used_from_object_file.
18716 (cgraph_create_virtual_clone): initialize used_from_object_file.
18717 * lto-symbtab.c (lto_symtab_merge_decls_1): Set
18718 used_from_object_file flags for symbols of LDPR_PREVAILING_DEF
18719 when compiling with -fwhole-program.
18720 (lto_symtab_resolve_symbols) Use LDPR_PREVAILING_DEF_IRONLY for
6d41cd02 18721 internal resolver.
94dbbc81
UB
18722 * ipa.c (function_and_variable_visibility): Set externally_visible
18723 flag of varpool_node if used_from_object_file flag is set.
18724 (cgraph_externally_visible_p): check used_from_object_file flag.
18725 * doc/invoke.texi (-fwhole-program option): Change description of
18726 externally_visible attribute accordingly.
18727 * doc/extend.texi (externally_visible): Ditto.
6d41cd02 18728
7802ca7c
JH
187292010-06-27 Jan Hubicka <jh@suse.cz>
18730
18731 * params.def (max-inline-insns-auto): Default to 40.
18732 * doc/invoke.texi (max-inline-insns-auto): Document the change.
18733
d402c33d
JH
187342010-06-27 Jan Hubicka <jh@suse.cz>
18735
18736 PR middle-end/44671
18737 PR middle-end/44686
5dfebe0a
EB
18738 * tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on
18739 signature change.
d402c33d
JH
18740 * ipa-split.c (split_function): Always clear DECL_BUILT_IN.
18741 * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
18742
de8f4b07
AS
187432010-06-27 Anatoly Sokolov <aesok@post.ru>
18744
18745 * target.h (struct gcc_target): Add register_move_cost field.
18746 * target-def.h (TARGET_REGISTER_MOVE_COST): New.
18747 (TARGET_INITIALIZER): Use TARGET_REGISTER_MOVE_COST.
18748 * targhooks.c (default_register_move_cost): New function.
18749 * targhooks.h (default_register_move_cost): Declare function.
18750 * defaults.h (REGISTER_MOVE_COST): Delete.
18751 * ira-int.h (ira_register_move_cost): Update comment.
bd3a5d17 18752 * ira.c (ira_register_move_cost): Update comment.
de8f4b07
AS
18753 * reload.h (register_move_cost): Declare.
18754 * reginfo.c (register_move_cost): New function.
18755 (move_cost): Update comment.
18756 (init_move_cost, memory_move_secondary_cost): Replace
18757 REGISTER_MOVE_COST with register_move_cost.
18758 * postreload.c (reload_cse_simplify_set): (Ditto.).
18759 * reload.c (find_valid_class, find_reloads): (Ditto.).
18760 * reload1.c (choose_reload_regs): (Ditto.).
18761 * doc/tm.texi (TARGET_REGISTER_MOVE_COST): New.
18762 (REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Update documentation.
18763 * doc/md.texi (can_create_pseudo_p): Update documentation.
18764
18765 * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
18766 * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
18767 * config/i386/i386.h (ix86_memory_move_cost): Make static.
18768 (TARGET_MEMORY_MOVE_COST): Define.
18769
18770 * config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
18771 * config/ia64/ia64-protos.h (int ia64_memory_move_cost): Remove.
18772 * config/ia64/ia64.h (ia64_memory_move_cost): Make static.
18773 (TARGET_MEMORY_MOVE_COST): Define.
18774
533e50f6
RG
187752010-06-27 Richard Guenther <rguenther@suse.de>
18776
18777 PR tree-optimization/44683
18778 * tree-ssa-dom.c (record_edge_info): Record equivalences for the
18779 false edge from the inverted condition.
18780
11af16ef
RG
187812010-06-27 Richard Guenther <rguenther@suse.de>
18782
18783 PR middle-end/44684
18784 * tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
18785 (stmt_may_clobber_ref_p_1): Do not bother to call the oracle
18786 for register LHS. Or non-store assignments.
18787
d9816849
EB
187882010-06-26 Eric Botcazou <ebotcazou@adacore.com>
18789
18790 * config/sparc/sparc.c (sparc_emit_set_const32): Make static.
18791 (sparc_emit_set_const64): Likewise. Remove disabled code.
18792 * config/sparc/sparc-protos.h (sparc_emit_set_const32): Delete.
18793 (sparc_emit_set_const64): Likewise.
18794
2639084e
CM
187952010-06-26 Catherine Moore <clm@codesourcery.com>
18796
18797 * config/mips/mips.md (alu_type): New attribute.
18798 (type): Infer type from alu_type.
18799 (*add<mode>3, *add<mode>3_mips16, *addsi3_extended,
18800 *baddu_si_eb, *baddu_si_el, *baddu_di, sub<mode>3,
18801 *subsi3_extended, negsi2, negdi2, *low<mode>,
18802 *low<mode>_mips16, *ior<mode>3, *ior<mode>3_mips16,
18803 xor<mode>3, *nor<mode>3,
18804 *zero_extend<GPR:mode>_trunc<SHORT:mode>,
18805 *zero_extendhi_truncqi): Set alu_type instead of type.
18806
df453731
DR
188072010-06-26 Douglas B Rupp <rupp@gnat.com>
18808
18809 * config/alpha/alpha.c (alpha_need_linkage): Adjust
6a02864a 18810 splay_tree_new_ggc call.
df453731
DR
18811 (alpha_use_linkage): Likewise.
18812
d5d8b111
JM
188132010-06-26 Joseph Myers <joseph@codesourcery.com>
18814
18815 * collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
18816 * doc/tm.texi (SWITCHES_NEED_SPACES): Don't document.
18817 * gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove.
18818 (static_specs): Remove switches_need_spaces.
18819 (process_command, do_self_spec): Hardcode handling "-o" instead of
18820 checking switches_need_spaces.
18821 * system.h (SWITCHES_NEED_SPACES): Poison.
18822
2706a615
RG
188232010-06-26 Richard Guenther <rguenther@suse.de>
18824
18825 PR tree-optimization/44393
18826 * tree-loop-distribution.c (generate_loops_for_partition): Fix
18827 stmt removal and VOP renaming.
18828 (generate_memset_zero): Remove redundant stmt updating.
18829 * tree-flow.h (mark_virtual_ops_in_bb): Remove.
18830 * tree-cfg.c (mark_virtual_ops_in_bb): Likewise.
18831
8b3057b3
JH
188322010-06-26 Jan Hubicka <jh@suse.cz>
18833
18834 * ipa-split.c (consider_split): PHI in entry block is OK as long as all
18835 edges comming from header are equivalent.
18836 (visit_bb): Handle PHIs correctly.
18837 * tree-inline.c (copy_phis_for_bb): Be able to copy
18838 PHI from entry edge.
94dbbc81 18839 (copy_cfg_body): Produce edge from entry BB before copying PHIs.
8b3057b3 18840
6bfd4302
RB
188412010-06-26 Richard Guenther <rguenther@suse.de>
18842
18843 PR middle-end/44674
18844 * tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
18845 decls. Handle LABEL_DECLs like FUNCTION_DECLs.
18846
922e1882
JM
188472010-06-26 Joseph Myers <joseph@codesourcery.com>
18848
18849 * gcc.c (n_switches_alloc, n_infiles_alloc, alloc_infile,
18850 add_infile, alloc_switch): New.
18851 (process_command): Remove variable lang_n_infiles. Process
18852 options in a single pass. Use new functions for allocating
18853 infiles and switches arrays. Properly skip operands of
18854 -Xpreprocessor and -Xassembler.
18855
8cf9feca
JH
188562010-06-26 Jan Hubicka <jh@suse.cz>
18857
18858 PR middle-end/44671
6bfd4302
RB
18859 * cgraphunit.c (cgraph_function_versioning): Remove wrong
18860 cgraph_make_decl_local call; fix typo copying RTL data.
8cf9feca 18861
f6052f86
DD
188622010-06-25 DJ Delorie <dj@redhat.com>
18863
18864 * config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
18865 (m32c_output_aligned_common): Likewise.
18866 * config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
18867 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
18868 * config/m32c/m32c-pragma.c (m32c_pragma_address): New.
18869 (m32c_register_pragmas): Register it.
18870 * config/m32c/m32c.c (m32c_get_pragma_address): New.
18871 (m32c_insert_attributes): Set #pragma address decls volatile.
18872 (pragma_entry_eq): New.
18873 (pragma_entry_hash): New.
18874 (m32c_note_pragma_address): New.
18875 (m32c_get_pragma_address): New.
18876 (m32c_output_aligned_common): New.
18877 * doc/extend.texi: Document the new pragma.
18878
18879 * config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs
18880 also.
18881 * config/m32c/predicates.md (m32c_any_operand): Check the code
18882 instead of memory_operand so as to allow matching volatile MEMs.
18883 (m32c_nonimmediate_operand): Likewise.
18884 (mra_operand): Allow volatiles.
18885
e0a80069
AO
188862010-06-25 Alexandre Oliva <aoliva@redhat.com>
18887
18888 PR debug/44610
18889 * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
18890 address if the offset is unknown.
18891
8e7745dc
DR
188922010-06-25 Douglas B Rupp <rupp@gnat.com>
18893
18894 * dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
18895 * dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
18896 * config/ia64/ia64-protos.h (ia64_start_function): Declare.
18897 * config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
18898 to ia64_start_function. Invoke it.
18899 * config/ia64/ia64.c (ia64_start_function): Call new function
18900 dwarf2out_vms_debug_main_pointer.
18901
5c8b27d7
SP
189022010-06-25 Sebastian Pop <sebastian.pop@amd.com>
18903
18904 * tree-if-conv.c (insert_gimplified_predicates): Do not insert
18905 statements computing the true predicate.
18906
29caa68a
SP
189072010-06-25 Sebastian Pop <sebastian.pop@amd.com>
18908
18909 * tree-if-conv.c (init_bb_predicate): Initialize the predicate
18910 to boolean_true_node.
18911 (reset_bb_predicate): New.
18912 (predicate_bbs): Call reset_bb_predicate.
18913
0f741287
SP
189142010-06-25 Sebastian Pop <sebastian.pop@amd.com>
18915
18916 * tree-if-conv.c (combine_blocks): Remove FIXME comment.
18917 (tree_if_conversion): Returns true when something has been changed.
18918 (main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
18919 changed something.
18920
53aa40a8
SP
189212010-06-25 Sebastian Pop <sebastian.pop@amd.com>
18922
18923 * Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
18924 * dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
18925 * tree-if-conv.c: Include dbgcnt.h.
18926 (tree_if_conversion): Use if_conversion_tree to count the number of
18927 if-convertible loops.
18928
1fbb509a
CF
189292010-06-25 Changpeng Fang <changpeng.fang@amd.com>
18930
18931 * common.opt (fprefetch-loop-arrays): Re-define
18932 -fprefetch-loop-arrays as a tri-state option with the initial
18933 value of -1.
18934 * tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch
18935 pass only when flag_prefetch_loop_arrays > 0.
18936 * toplev.c (process_options): Note that, with tri-states,
18937 flag_prefetch_loop_arrays>0 means prefetching is enabled.
18938 * config/i386/i386.c (override_options): Enable prefetching at -O3
18939 for a set of CPUs that sw prefetching is helpful.
18940 (software_prefetching_beneficial_p): New. Return TRUE if software
18941 prefetching is beneficial for the given CPU.
18942
97f43086
L
189432010-06-25 H.J. Lu <hongjiu.lu@intel.com>
18944
18945 PR rtl-optimization/44326
18946 * implicit-zee.c (find_removable_zero_extends): Replace
18947 INSN_P with NONDEBUG_INSN_P.
18948
062c604f
MJ
189492010-06-25 Martin Jambor <mjambor@suse.cz>
18950
18951 * ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
18952 (struct ipa_node_params): Removed the modification_analysis_done flag.
18953 (ipa_is_param_modified): Removed.
18954 (ipa_analyze_node): Declare.
18955 (ipa_compute_jump_functions): Remove declaration.
18956 (ipa_count_arguments): Likewise.
18957 (ipa_detect_param_modifications): Likewise.
18958 (ipa_analyze_params_uses): Likewise.
18959 * ipa-prop.c (struct param_analysis_info): New type.
18960 (visit_store_addr_for_mod_analysis): Removed.
18961 (visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis,
18962 moved down in the file.
18963 (ipa_detect_param_modifications): Merged into ipa_analyze_params_uses.
18964 (ipa_count_arguments): Made static.
18965 (mark_modified): New function.
18966 (is_parm_modified_before_call): New function.
18967 (compute_pass_through_member_ptrs): New parameter parms_info, call
18968 is_parm_modified_before_call instead of ipa_is_param_modified.
18969 (ipa_compute_jump_functions_for_edge): New parameter parms_info, pass
18970 it to compute_pass_through_member_ptrs.
18971 (ipa_compute_jump_functions): New parameter parms_info, pass it to
18972 ipa_compute_jump_functions_for_edge. Call ipa_initialize_node_params
18973 on the callee if it is analyzed. Made static.
18974 (ipa_analyze_indirect_call_uses): New parameter parms_info, call
18975 is_parm_modified_before_call instead of ipa_is_param_modified.
18976 (ipa_analyze_call_uses): New parameter parms_info, pass it to
18977 ipa_analyze_indirect_call_uses.
18978 (ipa_analyze_stmt_uses): New parameter parms_info, pass it to
18979 ipa_analyze_call_uses.
18980 (ipa_analyze_params_uses): New parameter parms_info, pass it to
18981 ipa_analyze_stmt_uses. Also perform the used analysis. Made static.
18982 (ipa_analyze_node): New function.
18983 (ipa_print_node_params): Do not dump the modified flag.
18984 (ipa_write_node_info): Assert uses_analysis_done rather than streaming
18985 it. Do not stream the modified parameter flag.
18986 (ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming
18987 it. Do not stream the modified parameter flag.
18988 * ipa-cp.c (ipcp_analyze_node): Removed.
18989 (ipcp_init_stage): Iterate only once over the nodes, analyze each one
18990 with only a call to ipa_analyze_node.
18991 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
18992 node with only a call to ipa_analyze_node.
53aa40a8 18993
212580ff
MLI
189942010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
18995
18996 * doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.
53aa40a8 18997
3e485f62
JH
189982010-06-25 Jan Hubicka <jh@suse.cz>
18999
19000 * tree-pass.h (pass_split_functions): Declare.
19001 * opts.c (decode_options): Enable function splitting at -O2
19002 * timevar.def (TV_IPA_FNSPLIT): New macro.
19003 * ipa-split.c: New file.
19004 * common.opt (-fpartial-inlining): New flag.
19005 * Makefile.in (ipa-split.o): New object file.
19006 * passes.c (init_optimization_passes): Add ipa-split.
19007 * params.def (partial-inlining-entry-probability): New parameters.
19008 * doc/invoke.texi (-fpartial-inlining): New.
19009
12947319
MLI
190102010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
19011
19012 PR 44665
19013 * tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
19014 * gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
19015 (gimplify_expr): Likewise.
53aa40a8 19016
8aa29647
MJ
190172010-06-25 Martin Jambor <mjambor@suse.cz>
19018
19019 * ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering
19020 statements instead of bailing out on them.
19021 (ipa_analyze_indirect_call_uses): Do not require that loads from the
19022 parameter are in the same BB as the condition. Update comments.
19023
8ba0479e
JJ
190242010-06-25 Jakub Jelinek <jakub@redhat.com>
19025
7a2eceff
JJ
19026 PR middle-end/43866
19027 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
19028 true or always false, return NULL_TREE.
19029 (tree_unswitch_single_loop): Optimize conditions even when reaching
19030 max-unswitch-level parameter. If num > 0, optimize first all conditions
19031 using entry checks, then do still reachable block discovery and consider
19032 only conditions in still reachable basic blocks in the loop.
19033
8ba0479e
JJ
19034 PR tree-optimization/44539
19035 * tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when
19036 the call doesn't have LHS, but has VDEF.
19037
d6841109
JM
190382010-06-25 Joseph Myers <joseph@codesourcery.com>
19039
19040 * config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
19041 * doc/tm.texi (MODIFY_TARGET_NAME): Don't document.
94dbbc81 19042 * gcc.c (enum add_del, struct modify_target, modify_target): Remove.
d6841109
JM
19043 (process_command): Remove code conditional on MODIFY_TARGET_NAME.
19044 * system.h (MODIFY_TARGET_NAME): Poison.
19045
4c9d416e
AM
190462010-06-25 Alan Modra <amodra@gmail.com>
19047
19048 * doc/invoke.texi: Delete mcmodel=medium from powerpc options.
19049 * config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM.
19050 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
19051 CMODEL_LARGE as default.
19052 * config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium.
19053 (offsettable_ok_by_alignment): Delete.
19054 (rs6000_emit_move): Remove mcmodel=medium optimization.
19055
0354c0c7
BS
190562010-06-25 Bernd Schmidt <bernds@codesourcery.com>
19057
19058 With large parts from Jim Wilson:
19059 PR target/43902
19060 * tree-pretty-print.c (dump_generic_node, op_code_prio): Add
19061 WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
19062 * optabs.c (optab_for_tree_code): Likewise.
19063 (expand_widen_pattern_expr): Likewise.
19064 * tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
19065 out of execute_optimize_widening_mul.
19066 (convert_plusminus_to_widen): New function.
19067 (execute_optimize_widening_mul): Use the two new functions.
19068 * expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
19069 Remove code to generate widening multiply-accumulate. Add support
19070 for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
19071 * gimple-pretty-print.c (dump_ternary_rhs): New function.
19072 (dump_gimple_assign): Call it when appropriate.
19073 * tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
19074 * cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
19075 (expand_gimple_stmt_1): Likewise.
19076 (expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
19077 WIDEN_MULT_MINUS_EXPR.
19078 * tree-ssa-operands.c (get_expr_operands): Likewise.
19079 * tree-inline.c (estimate_operator_cost): Likewise.
19080 * gimple.c (extract_ops_from_tree_1): Renamed from
19081 extract_ops_from_tree. Add new arg for a third operand; fill it.
19082 (gimple_build_assign_stat): Support operations with three operands.
19083 (gimple_build_assign_with_ops_stat): Likewise.
19084 (gimple_assign_set_rhs_from_tree): Likewise.
19085 (gimple_assign_set_rhs_with_ops_1): Renamed from
19086 gimple_assign_set_rhs_with_ops. Add new arg for a third operand.
19087 (get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
19088 (get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
19089 WIDEN_MULT_MINUS_EXPR.
19090 * gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
19091 (extract_ops_from_tree_1): Adjust declaration.
19092 (gimple_assign_set_rhs_with_ops_1): Likewise.
19093 (gimple_build_assign_with_ops): Pass NULL for last operand.
19094 (gimple_build_assign_with_ops3): New macro.
19095 (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
19096 gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
19097 functions.
19098 * tree-cfg.c (verify_gimple_assign_ternary): New static function.
19099 (verify_gimple_assign): Call it.
19100 * doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
19101 (Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
19102 functions for dealing with three-operand statements.
19103 * tree.c (commutative_ternary_tree_code): New function.
19104 * tree.h (commutative_ternary_tree_code): Declare it.
5dfebe0a
EB
19105 * tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for
19106 ternary statements.
0354c0c7
BS
19107 (gimple_assign_nonzero_warnv_p): Likewise.
19108 * tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
19109 * tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
19110 (ccp_fold): Use it. Handle GIMPLE_TERNARY_RHS.
19111 * tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
19112 (struct hashtable_expr): New member ternary in the union.
19113 (initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
19114 (hashable_expr_equal_p): Fix indentation. Handle EXPR_TERNARY.
19115 (iterative_hash_hashable_expr): Likewise.
19116 (print_expr_hash_elt): Handle EXPR_TERNARY.
19117 * gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
19118 * tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
19119 statements. Handle GIMPLE_TERNARY_RHS.
19120
38f78b0c
JH
191212010-06-25 Jan Hubicka <jh@suse.cz>
19122
19123 * doc/invoke.texi (-Wsuggest-attribute): Add noreturn.
19124
09a1e889
SZ
191252010-06-25 Shujing Zhao <pearly.zhao@oracle.com>
19126
19127 PR c/44517
19128 * c-parser.c (c_parser_parms_list_declarator): Return NULL if one of
19129 parameters are not good.
19130 (c_parser_parameter_declaration): Error unknown type name if the type
19131 name can't start declaration specifiers.
19132
418f840c
JM
191332010-06-25 Joseph Myers <joseph@codesourcery.com>
19134
19135 * gcc.c (translate_options): Don't mention +e in comment.
19136 (process_command): Don't handle +e specially.
19137
dd2e0807
BS
191382010-06-25 Bernd Schmidt <bernds@codesourcery.com>
19139
19140 * ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.
19141
3c55880a
BS
19142 * ira-build.c (merge_hard_reg_conflicts): New function.
19143 (create_cap_allocno, copy_info_to_removed_store_destinations,
19144 propagate_some_info_from_allocno, propagate_allocno_info): Use it.
19145 (move_allocno_live_ranges, copy_allocno_live_ranges): New functions.
19146 (remove_unnecessary_allocnos, remove_low_level_allocnos)
19147 copy_nifo_to_removed_store_destination): Use them.
19148 * ira-lives.c (make_hard_regno_born): New function, split out of
19149 make_regno_born.
19150 (make_allocno_born): Likewise.
19151 (make_hard_regno_dead): New function, split out of make_regno_dead.
19152 (make_allocno_dead): Likewise.
19153 (inc_register_pressure): New function, split out of set_allocno_live.
19154 (dec_register_pressure): New function, split out of clear_allocno_live.
19155 (mark_pseudo_regno_live): New function, split out of mark_reg_live.
19156 (mark_hard_reg_live): Likewise. Use inc_register_pressure.
19157 (mark_pseudo_regno_dead): New function, split out of mark_reg_dead.
19158 (mark_hard_reg_dead): Likewise. Use dec_register_pressure.
19159 (make_pseudo_conflict): Use mark_pseudo_regno_dead and
19160 mark_pseudo_regno_live.
19161 (process_bb_node_lives): Use mark_pseudo_regno_live,
19162 make_hard_regno_born and make_allocno_dead.
19163 (make_regno_born, make_regno_dead, mark_reg_live, mark_reg_dead,
19164 set_allocno_live, clear_allocno_live): Delete functions.
19165
029da7d4
BS
19166 * ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare.
19167 * ira-build.c (ira_parent_allocno, ira_parent_or_cap_allocno): New
19168 functions.
19169 (ira_flattening): Use ira_parent_allocno.
19170 * ira-conflicts.c (process_regs_for_copy, propagate_copies)
19171 build_allocno_conflicts): Use ira_parent_or_cap_allocno.
19172
6300cb73
BS
19173 * ira-color.c (assign_hard_reg): Improve formatting of multi-line for
19174 statement.
19175
42ce1cc4
BS
19176 * ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT,
19177 TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init,
19178 minmax_set_iter_cond, minmax_set_iter_next,
19179 FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT,
19180 CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator,
19181 ira_allocno_set_iter_init, ira_allocno_set_iter_cond,
19182 ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET. All
19183 uses changed.
19184
b14151b5
BS
19185 * ira-int.h (struct live_range, live_range_t): Renamed from struct
19186 ira_allocno_live_range and allocno_live_range_t; all uses changed.
19187 * ira-build.c (live_range_pool): Renamed from allocno_live_range_pool.
19188 All uses changed.
19189
8850383b
RE
191902010-06-24 Richard Earnshaw <rearnsha@arm.com>
19191
19192 * thumb2.md (thumb2_tlobits_cbranch): Delete.
19193 (peephole2 to convert zero_extract/compare of single bit to
19194 lshift/compare): New.
19195
43a5d30b
AS
191962010-06-24 Anatoly Sokolov <aesok@post.ru>
19197
19198 * fold-const.c (const_binop): Remove 'notrunc' argement. Adjust
19199 recursive call and call to 'int_const_binop'.
19200 (build_range_check, fold_cond_expr_with_comparison, unextend,
19201 fold_truthop, extract_muldiv_1, fold_comparison, fold_binary_loc,
19202 multiple_of_p): Adjust call to const_binop.
19203
b1c6d018
UB
192042010-06-24 Uros Bizjak <ubizjak@gmail.com>
19205
19206 * config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to
19207 determine size of XFmode operand.
19208 (XFmode extended DFmode push splitter): Ditto.
19209 (XFmode extended SFmode push splitter): Ditto.
19210
da0ae970
L
192112010-06-24 H.J. Lu <hongjiu.lu@intel.com>
19212
19213 PR target/44588
19214 * config/i386/i386.md (extract_code): New.
19215 (<u>divmodqi4): Likewise.
19216 (divmodhiqi3): Likewise.
19217 (udivmodhiqi3): Likewise.
19218 (<u>divqi3): Remvoved.
19219
54f044eb
JJ
192202010-06-24 Jakub Jelinek <jakub@redhat.com>
19221
19222 PR middle-end/44492
19223 * recog.h (struct recog_data): Add is_asm field.
19224 * recog.c (asm_operand_ok, constrain_operands): If neither < nor > is
19225 present in constraints of inline-asm operand and memory operand
19226 contains {PRE,POST}_{INC,DEC,MODIFY}, return 0.
19227 (extract_insn): Initialize recog_data.is_asm.
19228 * doc/md.texi (Constraints): Document operand side-effect rules.
19229
d166d4c3
AK
192302010-06-24 Andi Kleen <ak@linux.intel.com>
19231
b1c6d018
UB
19232 * c-parser.c (c_parser_conditional_expression): Call
19233 warn_for_omitted_condop.
19234 * doc/invoke.texi: Document omitted condop warning.
d166d4c3 19235
b27c1cde
NC
192362010-06-24 Nick Clifton<nickc@redhat.com>
19237
19238 * loop-unswitch.c (compare_and_jump_seq): Assert that the last
19239 insn in the sequence is a jump insn before setting its label.
19240
2dcef31e
AM
192412010-06-24 Alan Modra <amodra@gmail.com>
19242
19243 * collect2.c (main): Match exactly --version and --help.
19244
5f4a67a5
DD
192452010-06-24 DJ Delorie <dj@redhat.com>
19246
19247 * config/m32c/m32c-pragma.c: Don't include rtl.h.
19248
bc051083
UB
192492010-06-23 Uros Bizjak <ubizjak@gmail.com>
19250
b1c6d018 19251 * config/i386/i386.md (mov<mode>): Macroize expander from mov{sf,df,xf}
bc051083
UB
19252 using X87MODEF mode iterator.
19253 (pushsf splitter): Macroize splitter using P mode iterator.
19254 (*swap<mode>): Macroize insn from *swap{sf,df} using MODEF
19255 mode iterator.
19256
19257 (*movxf_internal): Rename from *movxf_integer.
19258 (*movxf_internal_nointeger): Rename from *movxf_nointeger.
19259 (*movdf_internal_rex64): Rename from *movdf_integer_rex64.
19260 (*movdf_internal): Rename from *movdf_integer.
19261 (*movdf_internal_nointeger): Rename from *movdf_nointeger.
19262 (*movsf_internal): Rename from *movdf_1.
19263
cde8534c
BS
192642010-06-23 Basile Starynkevitch <basile@starynkevitch.net>
19265
bd3a5d17 19266 * coretypes.h (gimple_seq_node_d, gimple_seq_node)
cde8534c
BS
19267 (const_gimple_seq_node): Removed typedefs.
19268
bd3a5d17 19269 * gimple.h (gimple_seq_node_d, gimple_seq_node)
cde8534c
BS
19270 (const_gimple_seq_node): Added typedefs moved from coretypes.h.
19271
9b2133cd
L
192722010-06-23 H.J. Lu <hongjiu.lu@intel.com>
19273
19274 * config/i386/i386.c (bdesc_args): Replace CODE_FOR_avx_si_si256,
19275 CODE_FOR_avx_ps_ps256 and CODE_FOR_avx_pd_pd256 with
19276 CODE_FOR_vec_extract_lo_v8si, CODE_FOR_vec_extract_lo_v8sf
19277 and CODE_FOR_vec_extract_lo_v4df.
19278
19279 * config/i386/sse.md (vec_extract_lo_<AVX256MODE4P:mode>):
19280 Changed to define_insn_and_split.
19281 (vec_extract_lo_<AVX256MODE8P:mode>): Likewise.
19282 (vec_extract_lo_v16hi): Likewise.
19283 (vec_extract_lo_v32qi): Likewise.
19284 (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>): Likewise.
19285 (avx_<avxmodesuffixp>_<avxmodesuffixp><avxmodesuffix>): Removed.
19286
82c0295a
JR
192872010-06-23 Joern Rennecke <joern.rennecke@embecosm.com>
19288
f52d94aa 19289 PR target/44640
82c0295a
JR
19290 * config/spu/spu-protos.h (spu_expand_epilogue) Use bool.
19291 * config/spu/spu.c (spu_scalar_mode_supported_p): Declare with bool.
19292 (spu_vector_mode_supported_p, spu_handle_fndecl_attribute): Likewise.
19293 (spu_handle_vector_attribute, spu_pass_by_reference): Likewise.
19294 (spu_rtx_costs, spu_function_ok_for_sibcall): Likewise.
19295
f52d94aa 19296 PR target/44640
bec02c18
JR
19297 * config/spu/spu.c (ea_load_store_inline): Use add_reg_note.
19298
f12c802a
JR
19299 PR other/44644
19300 * df-core.c (struct df): Rename to df_d.
19301 * df.h (struct df): Likewise.
19302 * dse.h (struct df): Remove forward declaration.
19303 * recog.h (struct insn_data): Rename to:
19304 (struct_insn_data_d). Adjusted all users.
19305
1004318e
AC
193062010-06-23 Arnaud Charlet <charlet@adacore.com
19307
422f3939 19308 PR ada/22220
1004318e
AC
19309 * doc/install.texi: Update requirements to build GNAT.
19310
f878882b
AS
193112010-06-22 Andreas Schwab <schwab@linux-m68k.org>
19312
19313 * config/m68k/m68k.c (m68k_output_addr_const_extra): Add cast to
19314 enum type.
19315 (m68k_sched_attr_opx_type): Remove unreachable return.
19316 (m68k_sched_attr_opy_type): Likewise.
19317 (m68k_sched_attr_size): Likewise.
19318 (sched_get_opxy_mem_type): Likewise.
19319 (m68k_sched_attr_op_mem): Likewise.
19320
8d2adc24
EB
193212010-06-22 Eric Botcazou <ebotcazou@adacore.com>
19322
19323 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
19324 new statement and adjust VDEF only if necessary. Remove superfluous
19325 call to maybe_clean_or_replace_eh_stmt.
19326 * gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
19327 copy the flags.
19328 * gimple-iterator.c (gsi_replace): Clear BB of old statement here...
19329 * tree-inline.c (copy_bb): ...and not there.
19330
ca3e07b4
CC
193312010-06-22 Cary Coutant <ccoutant@google.com>
19332
19333 * dwarf2out.c (is_nested_in_subprogram): New function.
19334 (should_move_die_to_comdat): Use it.
19335 (copy_ancestor_tree): Don't mark DIEs here.
19336 (copy_decls_walk): Start walk from root of newly-added tree;
19337 mark DIEs here instead.
19338
153b6955
L
193392010-06-22 H.J. Lu <hongjiu.lu@intel.com>
19340
19341 * config/i386/i386.md (unit): Also check sseishft1.
19342
b074e783
JH
193432010-06-22 Jan Hubicka <jh@suse.cz>
19344
8d2adc24
EB
19345 * gimple.h (gimple_expr_code): Do checking on when gimple checking is
19346 enabled.
b074e783 19347
1a0f3fa1
JH
193482010-06-22 Jan Hubicka <jh@suse.cz>
19349
8d2adc24
EB
19350 * df-problems.c (df_rd_confluence_n, df_lr_confluence_n,
19351 df_live_confluence_n, df_byte_lr_confluence_n, df_md_confluence_n):
19352 Return true if something changed.
1a0f3fa1 19353 * df.h (df_confluence_function_n): Return bool.
8d2adc24
EB
19354 * df-core.c (df_worklist_propagate_forward,
19355 df_worklist_propagate_backward): Track changes and ages.
1a0f3fa1
JH
19356 (df_worklist_dataflow_doublequeue): Use bitmap iterator for main walk;
19357 track ages.
19358 * dse.c (dse_confluence_n): Return always true.
19359
193602010-06-22 Jan Hubicka <jh@suse.cz>
07309d58
UB
19361
19362 * bitmap.c (bitmap_clear_bit): Micro optimize.
19363
a8ecfc9f
UB
193642010-06-22 Uros Bizjak <ubizjak@gmail.com>
19365
19366 * config/i386/i386.md (SWI1248x): New mode iterator.
19367 (SWI48x): Ditto.
19368 (SWI12): Ditto.
19369 (SWI24): Ditto.
bc051083 19370
a8ecfc9f
UB
19371 (mov<mode>): Macroize expander from mov{qi,hi,si,di} using
19372 SWI1248x mode iterator.
19373 (*push<mode>2_rex64): Macroize insn from *push{qi,hi,si}_rex64
19374 using SWI124 mode iterator.
19375 (*push<mode>2): Macroize insn from *push{qi,hi} using SWI12
19376 mode iterator.
19377 (*push<mode>2_prologue): Macroize insn from *pushsi2_prologue and
19378 *pushdi2_prologue_rex64 using P mode iterator.
19379 (*mov<mode>_xor): Macroize insn from *movsi_xor and *movdi_xor_rex64
19380 using SWI48 mode iterator.
19381 (*mov<mode>_or): Ditto from *movsi_or and *movdi_or_rex64.
19382 (*movabs<mode>_1): Macroize insn from *movabs{qi,hi,si,di}_1_rex64
19383 using SWI1248x mode iterator.
19384 (*movabs<mode>_2): Ditto from *movabs{qi,hi,si,di}_1_rex64.
19385 (*swap<mode>): Macroize insn from *swapsi and *swapdi_rex64 using
19386 SWI48 mode iterator.
19387 (*swap<mode>_1): Macroize insn from *swap{qi,hi}_1 using SWI12 mode
19388 iterator.
19389 (*swap<mode>_2): Ditto from *swap{qi,hi}_2.
19390 (movstrict<mode>): Macroize expander from movstrict{qi,hi} using
19391 SWI12 mode iterator.
19392 (*movstrict<mode>_1): Macroize insn from *movstrict{qi,hi}_1 using
19393 SWI12 mode iterator.
19394 (*movstrict<mode>_xor): Ditto from *movstrict{qi,hi}_xor.
19395 (*mov<mode>_extv_1): Macroize insn from *mov{hi,si}_extv_1 using
19396 SWI24 mode iterator.
19397 (*mov<mode>_extzv_1): Macroize insn from *mov{si,di}_extzv_1 using
19398 SWI48 mode iterator.
19399 (mov<mode>_insn_1): New expander.
19400 (*mov<mode>_insv_1_rex64): Macroize insn from *mov{si,di}_insv_1_rex64
19401 using SWI48x mode iterator.
19402
19403 (*movoi_internal_avx): Rename from *movoi_internal.
19404 (*movti_internal_rex64): Rename from *movti_rex64.
19405 (*movti_internal_sse): Rename from *movti_sse.
19406 (*movdi_internal_rex64): Rename from *movdi_1_rex64.
19407 (*movdi_internal): Rename from *movdi_2.
19408 (*movsi_internal): Rename from *movsi_1.
19409 (*movhi_internal): Rename from *movhi_1.
19410 (*movqi_internal): Rename from *movqi_1.
19411
19412 (insv): Update the call to gen_movsi_insv_1 for rename.
19413 * config/i386/i386.c (promote_duplicated_reg): Ditto.
19414
0d6a035d
JH
194152010-06-22 Jan Hubicka <jh@suse.cz>
19416
19417 * passes.c (execute_function_todo): Move call of statistics_fini_pass
19418 to ...
19419 (execute_todo) ... this one.
19420
8d2547f2
AM
194212010-06-22 Alan Modra <amodra@gmail.com>
19422
19423 PR target/44364
19424 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
19425 * caller-save.c (insert_restore, insert_save): Use non-validate
19426 form of adjust_address.
19427
e92abd50
JDA
194282010-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19429
19430 PR target/39690
a181e869 19431 * config/pa/pa.c (override_options): Disable
e92abd50
JDA
19432 -freorder-blocks-and-partition.
19433
c1b157a6
L
194342010-06-21 H.J. Lu <hongjiu.lu@intel.com>
19435
19436 PR target/44615
19437 * config/i386/atom.md (atom_sseishft_2): Also check sseishft1.
19438
19439 * config/i386/i386.md (type): Add sseishft1
19440
19441 * config/i386/ppro_insn (ppro_insn): Also check sseishft1.
19442 (ppro_insn_load): Likewise.
19443 (ppro_insn_store): Likewise.
19444 (ppro_insn_both): Likewise.
19445
19446 * config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
19447 (*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
19448 for type.
19449 (*vec_extractv2di_1_avx): Likewise.
19450 (*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
19451 type. Remove atom_unit.
19452 (*vec_extractv2di_1_sse2): Likewise.
19453
cd7fe53b
DD
194542010-06-21 DJ Delorie <dj@redhat.com>
19455
19456 * diagnostic.h (diagnostic_classification_change_t): New.
19457 (diagnostic_context): Add history and push/pop list.
19458 (diagnostic_push_diagnostics): Declare.
19459 (diagnostic_pop_diagnostics): Declare.
19460 * diagnostic.c (diagnostic_classify_diagnostic): Store changes
19461 from pragmas in a history chain instead of the global table.
19462 (diagnostic_push_diagnostics): New.
19463 (diagnostic_pop_diagnostics): New.
19464 (diagnostic_report_diagnostic): Scan history chain to find state
19465 of diagnostics as of the diagnostic location.
19466 * opts.c (set_option): Pass UNKNOWN_LOCATION to
19467 diagnostic_classify_diagnostic.
19468 (enable_warning_as_error): Likewise.
19469 * diagnostic-core.h (DK_POP): Add after "real" diagnostics, for
19470 use in the history chain.
cd7fe53b
DD
19471 * doc/extend.texi: Document pragma GCC diagnostic changes.
19472
d34b4f64
JJ
194732010-06-21 Jakub Jelinek <jakub@redhat.com>
19474
5ec96609
JJ
19475 * dwarf2out.c (add_linkage_name): New function. Don't add
19476 anything to DW_TAG_member DIEs.
19477 (add_name_and_src_coords_attributes): Use it.
19478 (gen_variable_die): Call it for C++ static data members if
19479 specification is DW_TAG_member.
19480
f0057424
JJ
19481 * dwarf2out.c (base_type_die): Use DW_ATE_UTF for
19482 C++ char16_t and char32_t.
19483
2e1e8c5d
JJ
19484 * Makefile.in (build/genattrtab.o): Depend on vecprim.h.
19485 * genattrtab.c: Include vecprim.h.
19486 (cached_attrs, cached_attr_count, attrs_seen_once,
19487 attrs_seen_more_than_once, attrs_to_cache, attrs_cached_inside,
19488 attrs_cached_after): New variables.
19489 (find_attrs_to_cache): New function.
19490 (FLG_BITWISE, FLG_AFTER, FLG_INSIDE, FLG_OUTSIDE_AND): Define.
19491 (write_test_expr): Add attrs_cached argument, return it too,
19492 attempt to cache non-const attributes used more than once in
19493 a single case handling.
19494 (write_attr_get): Use find_attrs_to_cache, for caching candidates
19495 emit cached_* variables. Adjust write_attr_set callers.
19496 (write_attr_set): Add attrs_cached attribute, use find_attrs_to_cache
19497 to find attributes that should be cached in this block. Adjust
19498 write_test_expr callers.
19499 (write_attr_case): Clear attrs_to_cache. Adjust write_attr_set
19500 callers.
19501 (make_automaton_attrs): Adjust write_test_expr caller.
19502
2b21299c
JJ
19503 * Makefile.in (cfgexpand.o): Depend on $(INSN_ATTR_H).
19504 * genattrtab.c (check_tune_attr, find_tune_attr): New functions.
19505 (make_automaton_attrs): If find_tune_attr returns non-NULL,
19506 write separate internal_dfa_insn_code_* and insn_default_latency_*
19507 functions for each attribute's value and emit init_sched_attrs
19508 function and function pointers.
19509 * genattr.c (const_attrs, reservations): New variables.
19510 (gen_attr): Add const attributes to const_attrs vector.
19511 (check_tune_attr, find_tune_attr): New functions.
19512 (main): Add reservations to reservations vector. If find_tune_attr
19513 returns true, add prototype for init_sched_attrs and make
19514 internal_dfa_insn_code and insn_default_latency function pointers,
19515 otherwise define init_sched_attrs as dummy macro.
19516 * cfgexpand.c: Include insn-attr.h.
19517 (gimple_expand_cfg): Call init_sched_attrs.
19518
5e88be0d 19519 * stmt.c (resolve_asm_operand_names): Fix handling of %%.
d34b4f64 19520
529e5fc9
JJ
19521 PR target/44575
19522 * config/i386/i386.c (ix86_gimplify_va_arg): When copying
19523 va_arg from a set of register save slots into a temporary,
19524 if the container is bigger than type size, do the copying
19525 using smaller mode or using memcpy.
19526
67477881
JJ
19527 PR bootstrap/44426
19528 * sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove
19529 prototype.
19530 (sel_print_to_dot): Remove macro.
19531 (sel_print): Likewise. New prototype.
19532 * sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static.
19533 (sel_print): New function.
19534
babc4728
RO
195352010-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19536
19537 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define
19538 __STDC_VERSION__=199901L, _XOPEN_SOURCE=600 for C++.
19539
31e727b0
NC
195402010-06-21 Nick Clifton <nickc@redhat.com>
19541
19542 * config/rx/rx.h (PTRDIFF_TYPE): Define.
19543 (SMALL_REGISTER_CLASS): Define (to zero).
19544 (PRINT_OPERAND): Delete.
19545 (PRINT_OPERAND_ADDRESS): Delete.
19546 * config/rx/rx-protos.h (rx_print_operand): Delete prototype.
19547 (rx_print_operand_address): Delete prototype.
19548 * config/rx/rx.c (rx_print_operand): Make static.
19549 Allow %H and %L to handle CONST_DOUBLEs.
19550 (rx_print_operand_address): Make static.
19551 (rx_gen_move_template): Rename local variable 'template' to
19552 out_template.
5e88be0d 19553 (rx_function_arg): Do not pass unknown sized objects in registers.
31e727b0
NC
19554 (TARGET_PRINT_OPERAND): Define.
19555 (TARGET_PRINT_OPERAND_ADDRESS): Define.
19556
b361b153
JK
195572010-06-21 Jan Kratochvil <jan.kratochvil@redhat.com>
19558
19559 * Makefile.in (POD2MAN): Provide --date from $(DATESTAMP).
19560
7916a546
KT
195612010-06-21 Kai Tietz <kai.tietz@onevision.com>
19562
19563 * config/i386/i386.c (ix86_compute_frame_layout): Avoid
19564 stack-alignment for simple leaf-functions.
19565
339325b3
AO
195662010-06-20 Alexandre Oliva <aoliva@redhat.com>
19567
19568 * doc/install.texi: Document bootstrap-lto.
19569
7254364e
AO
195702010-06-20 Alexandre Oliva <aoliva@redhat.com>
19571
19572 PR debug/44248
19573 * lto-streamer-in.c (input_bb): Leave debug stmts alone.
19574 (input_function): Drop them here, if VTA is disabled.
19575
dedd9d05
UB
195762010-06-20 Uros Bizjak <ubizjak@gmail.com>
19577
19578 PR target/44546
19579 * config/i386/predicates.md (ix86_swapped_fp_comparsion_operator):
19580 New predicate.
5e88be0d 19581 * config/i386/i386.md (*fp_jcc_8<mode>_387 and splitters): Use
dedd9d05
UB
19582 ix86_swapped_fp_comparsion_operator instead of
19583 ix86_fp_comparison_operator.
19584
19585 (*fp_jcc_1_387): Rename from *fp_jcc_3_387.
19586 (*fp_jcc_1r_387): Rename from *fp_jcc_4_387.
19587 (*fp_jcc_2_387): Rename from *fp_jcc_5_387.
19588 (*fp_jcc_2r_387): Rename from *fp_jcc_6_387.
19589 (*fp_jcc_3_387): Rename from *fp_jcc_7_387.
19590 (*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387.
19591
6e2f1956
JM
195922010-06-20 Joseph Myers <joseph@codesourcery.com>
19593
19594 PR other/32998
19595 * opth-gen.awk: Generate definitions of OPT_SPECIAL_unknown,
19596 OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
19597 * opts-common.c (find_opt): Return OPT_SPECIAL_unknown on failure.
19598 (decode_cmdline_option): Update for this return value. Set
19599 orig_option_with_args_text field. Set arg field for unknown
19600 options. Make static.
19601 (decode_cmdline_options_to_array): New.
19602 (prune_options): Update handling of find_opt return value.
19603 * opts.c (read_cmdline_option): Take decoded option. Return void.
19604 (read_cmdline_options): Take decoded options.
19605 (decode_options): Add parameters for decoded options. Use
19606 decode_cmdline_options_to_array. Use decoded options for -O
19607 scan. Use integral_argument for -O parameters. Update call to
19608 read_cmdline_options.
dedd9d05 19609 (enable_warning_as_error): Update handling of find_opt return value.
6e2f1956
JM
19610 * opts.h: Update comment on unknown options.
19611 (struct cl_decoded_option): Update comments on opt_index and arg.
19612 Add orig_option_with_args_text.
19613 (decode_cmdline_option): Remove.
19614 (decode_cmdline_options_to_array): Declare.
19615 (decode_options): Update prototype.
19616 * toplev.c (save_argv): Remove.
19617 (save_decoded_options, save_decoded_options_count): New.
19618 (read_integral_parameter): Remove.
19619 (print_switch_values): Use decoded options.
dedd9d05 19620 (toplev_main): Don't set save_argv. Update call to decode_options.
6e2f1956 19621 * toplev.h (read_integral_parameter): Remove.
dedd9d05 19622 * varasm.c (elf_record_gcc_switches): Don't handle holding back names.
6e2f1956 19623
e6bfe8a2
RE
196242010-06-19 Richard Earnshaw <rearnsha@arm.com>
19625
19626 PR target/44072
19627 * arm.md (cmpsi2_addneg): Prefer emitting adds to subs with a negative
19628 immediate.
19629 * constraints.md (Pw, Px): New constraints.
19630 * thumb2.md (cmpsi2_addneg peephole2): New peepholes.
19631
1c154a23
L
196322010-06-19 H.J. Lu <hongjiu.lu@intel.com>
19633
19634 * config/i386/sse.md (fma4modesuffixf4): Removed.
19635 (ssemodesuffixf2s): Likewise.
19636 (ssemodesuffixf4): Likewise.
19637 (ssemodesuffixf2c): Likewise.
19638 (ssescalarmodesuffix2s): Likewise.
19639 (avxmodesuffixf2c): Likewise.
19640 (ssemodesuffix): New.
19641 (ssescalarmodesuffix): Likewise.
19642 Update patterns with ssemodesuffix and ssescalarmodesuffix.
19643
5a2983ce
PH
196442010-06-19 Philip Herron <herron.philip@googlemail.com>
19645
a8ecfc9f 19646 * c-decl.c (c_write_global_declarations): Don't check flag_syntax_only.
5a2983ce 19647
fae76410
L
196482010-06-18 H.J. Lu <hongjiu.lu@intel.com>
19649
19650 * stor-layout.c (debug_rli): Remove unused local variables.
19651
d36d83e9
EB
196522010-06-18 Eric Botcazou <ebotcazou@adacore.com>
19653
19654 PR rtl-optimization/40900
19655 * expr.c (expand_expr_real_1) <SSA_NAME>: Fix long line. Save the
19656 original expression for later reuse.
19657 <expand_decl_rtl>: Use promote_function_mode to compute the signedness
19658 of the promoted RTL for a SSA_NAME on the LHS of a call statement.
19659
fd7de64c
AS
196602010-06-18 Anatoly Sokolov <aesok@post.ru>
19661
19662 * double-int.h (double_int_to_shwi, double_int_to_uhwi,
19663 double_int_fits_in_uhwi_p): Implement as static inline.
19664 (double_int_xor): New inline function.
19665 (double_int_lrotate, double_int_rrotate, double_int_max,
19666 double_int_umax, double_int_smax, double_int_min, double_int_umin,
19667 double_int_smin): Declare.
19668 (lrotate_double, rrotate_double): Remove declaration.
19669 * double-int.c (double_int_fits_in_uhwi_p, double_int_to_shwi,
19670 double_int_to_uhwi, lrotate_double, rrotate_double): Remove function.
19671 (double_int_lrotate, double_int_rrotate, double_int_max,
19672 double_int_umax, double_int_smax, double_int_min, double_int_umin,
19673 double_int_smin): New function.
19674 * fold-const.c (int_const_binop): Clean up, use double_int_*
19675 functions.
19676 * simplify-rtx.c (simplify_const_binary_operation): Clean up, use
19677 double_int_* and immed_double_int_const functions.
19678
bc87224e
NF
196792010-06-18 Nathan Froyd <froydnj@codesourcery.com>
19680
19681 * function.h (types_used_by_cur_var_decl): Change type to a VEC.
19682 * function.c (types_used_by_cur_var_decl): Likewise.
a8ecfc9f 19683 (used_types_insert): Adjust for new type of types_used_by_cur_var_decl.
bc87224e 19684
76d971cc
NF
196852010-06-18 Nathan Froyd <froydnj@codesourcery.com>
19686
19687 * tree.h (record_layout_info): Change type of pending_statics field
19688 to a VEC.
19689 * stor-layout.c (start_record_layout): Store NULL into
19690 pending_statics.
19691 (debug_rli): Call debug_vec_tree instead of debug_tree.
19692 (place_field): Likewise.
19693 (finish_record_layout): Likewise.
19694
9628d8f6
AM
196952010-06-18 Alan Modra <amodra@gmail.com>
19696
19697 * config/rs6000/linux64.h (SET_CMODEL): Don't expand to empty.
19698
8ccfe1ab
JDA
196992010-06-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19700
19701 PR target/43740
dedd9d05
UB
19702 * config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag
19703 for SET source operand from SET destination operand.
8ccfe1ab 19704
60de8907
BS
197052010-06-17 Bernd Schmidt <bernds@codesourcery.com>
19706
19707 PR rtl-optimization/39871
19708 * reload1.c (init_eliminable_invariants): For flag_pic, disable
19709 equivalences only for constants that aren't LEGITIMATE_PIC_OPERAND_P.
19710 (function_invariant_p): Rule out a plus of frame or arg pointer with
19711 a SYMBOL_REF.
19712 * ira.c (find_reg_equiv_invariant_const): Likewise.
19713
d398d903
GN
197142010-06-17 Gunther Nikl <gnikl@users.sourceforge.net>
19715
19716 * config/rs6000/rs6000.c (print_operand) <'K'>: Also use
19717 print_operand_address and puts to output the operand for CONST.
19718
654bbfea
JJ
197192010-06-17 Jakub Jelinek <jakub@redhat.com>
19720
19721 PR debug/44572
19722 * dwarf2out.c (dwarf2out_debug_hooks): Add entry for begin_epilogue
19723 hook.
19724
11d259f0
NF
197252010-06-17 Nathan Froyd <froydnj@codesourcery.com>
19726
19727 * v850-protos.h (print_operand): Delete.
19728 (print_operand_address): Delete.
19729 * v850.h (PRINT_OPERAND): Delete.
19730 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
19731 (PRINT_OPERAND_ADDRESS): Delete.
19732 * v850.c (print_operand_address): Rename to...
19733 (v850_print_operand_address): ...this. Make static. Call
19734 v850_print_operand.
19735 (print_operand): Rename to...
19736 (v850_print_operand): ...this. Make static. Call
19737 v850_print_operand_address.
19738 (v850_print_operand_punct_valid_p): New function.
19739 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
19740 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
19741
9e94b957
NF
197422010-06-17 Nathan Froyd <froydnj@codesourcery.com>
19743
19744 * config/sh/sh-protos.h (print_operand): Delete.
19745 (print_operand_address): Delete.
19746 * config/sh/sh.h (PRINT_OPERAND): Delete.
19747 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
19748 (PRINT_OPERAND_ADDRESS): Delete.
19749 * config/sh/sh.c (sh_print_operand_address): Make static.
19750 (sh_print_operand): Make static. Call sh_print_operand_address
19751 and sh_print_operand.
19752 (sh_print_operand_punct_valid_p): New function.
19753 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
19754 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
19755
349f851e
NF
197562010-06-17 Nathan Froyd <froydnj@codesourcery.com>
19757
19758 * config/mcore/mcore-protos.h (mcore_print_operand): Delete.
19759 (mcore_print_operand_address): Delete.
19760 * config/mcore/mcore.h (PRINT_OPERAND): Delete.
19761 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
19762 (PRINT_OPERAND_ADDRESS): Delete.
19763 * config/mcore/mcore.c (mcore_print_operand_address): Make static.
19764 (mcore_print_operand): Make static.
19765 (mcore_print_operand_punct_valid_p): New function.
19766 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define
19767 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
19768
efe554e4
NF
197692010-06-17 Nathan Froyd <froydnj@codesourcery.com>
19770
19771 * config/m68hc11/m68hc11-protos.h (print_operand): Delete.
19772 (print_operand_address): Delete.
19773 * config/m68hc11/m68hc11.h (PRINT_OPERAND): Delete.
19774 (PRINT_OPERAND_ADDRESS): Delete.
19775 * config/m68hc11/m68hc11.c (m68hc11_print_operand_address): Make
19776 static.
19777 (m68hc11_print_operand): Make static.
19778 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
19779
c73035c7
NF
197802010-06-17 Nathan Froyd <froydnj@codesourcery.com>
19781
19782 * config/m32r/m32r-protos.h (m32r_print_operand): Delete.
19783 (m32r_print_operand_address): Delete.
19784 * config/m32r/m32r.h (m32r_punct_chars): Delete.
19785 (PRINT_OPERAND): Delete.
19786 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
19787 (PRINT_OPERAND_ADDRESS): Delete.
19788 * config/m32r/m32r.c (m32r_punct_chars): Make static.
19789 (m32r_print_operand_address): Make static.
19790 (m32r_print_operand): Make static.
19791 (m32r_print_operand_punct_valid_p): New function.
19792 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
19793 (TARGET_PRINT_OPERAND_ADDRESS): Define.
19794
bf7c1408
NF
197952010-06-17 Nathan Froyd <froydnj@codesourcery.com>
19796
19797 * config/iq2000/iq2000-protos.h (print_operand): Delete.
19798 (print_operand_address): Delete.
19799 * config/iq2000/iq2000.h (PRINT_OPERAND): Delete.
19800 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
19801 (PRINT_OPERAND_ADDRESS): Delete.
19802 (iq2000_print_operand_punct): Delete.
19803 * config/iq2000/iq2000.c (iq2000_print_operand_punct): Make static.
19804 (iq2000_print_operand_address): Make static.
19805 (iq2000_print_operand): Make static.
19806 (iq2000_print_operand_punct_valid_p): New function.
19807 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
19808 (TARGET_PRINT_OPERAND_ADDRESS): Define.
19809
0fb30cb7
NF
198102010-06-17 Nathan Froyd <froydnj@codesourcery.com>
19811
19812 * config/frv/frv-protos.h (frv_print_operand): Delete.
19813 (frv_print_operand_address): Delete.
19814 * config/frv/frv.h (PRINT_OPERAND): Delete.
19815 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
19816 (PRINT_OPERAND_ADDRESS): Delete.
19817 * config/frv/frv.c (frv_print_operand_address): Make static.
19818 (frv_print_operand): Make static.
19819 (frv_print_operand_punct_valid_p): New function.
19820 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
19821 (TARGET_PRINT_OPERAND_ADDRESS): Define.
19822
bfdb7b70
NF
198232010-06-17 Nathan Froyd <froydnj@codesourcery.com>
19824
19825 * tree.h (vec_member): Declare.
19826 * tree.c (vec_member): Define.
19827
3a620661
RG
198282010-06-17 Richard Guenther <rguenther@suse.de>
19829
19830 * tree-flow-inline.h (array_ref_contains_indirect_ref): Remove.
19831 * tree-flow.h (array_ref_contains_indirect_ref): Likewise.
19832
498c378f
RG
198332010-06-17 Richard Guenther <rguenther@suse.de>
19834
19835 * tree-inline.c (declare_return_variable): Remove bogus code.
19836
bd2e63a1
RG
198372010-06-17 Richard Guenther <rguenther@suse.de>
19838
19839 * gimplify.c (gimplify_bind_expr): Always promote complex
19840 and vector variables to registers if possible.
19841
7fa5296e
RG
198422010-06-17 Richard Guenther <rguenther@suse.de>
19843
19844 * expr.c (get_inner_reference): Use double_int for bit_offset
19845 calculation.
19846
6a78b724
DD
198472010-06-16 DJ Delorie <dj@redhat.com>
19848
19849 * common.opt (-fstrict-volatile-bitfields): new.
19850 * doc/invoke.texi: Document it.
19851 * fold-const.c (optimize_bit_field_compare): For volatile
19852 bitfields, use the field's type to determine the mode, not the
19853 field's size.
19854 * expr.c (expand_assignment): Likewise.
19855 (get_inner_reference): Likewise.
19856 (expand_expr_real_1): Likewise.
19857 * expmed.c (store_fixed_bit_field): Likewise.
19858 (extract_bit_field_1): Likewise.
19859 (extract_fixed_bit_field): Likewise.
19860
f1071b12
RG
198612010-06-16 Richard Guenther <rguenther@suse.de>
19862
dedd9d05 19863 * tree-inline.c (remap_gimple_op_r): Recurse using remap_gimple_op_r.
f1071b12 19864
67ad2ae7
DR
198652010-06-16 Douglas B Rupp <rupp@gnat.com>
19866
19867 * config/ia64/vms.h (ASM_OUTPUT_DWARF_DELTA_UNITS): Remove.
19868 (ASM_OUTPUT_DWARF_VMS_DELTA: Define new macro.
19869 * dbxout.c (gcc_debug_hooks): New entry begin_epilogue.
19870 * debug.c: Likewise.
19871 * sdbout.c: Likewise.
19872 * vmsdbgout.c: Likewise.
19873 * debug.h: Likewise. (dwarf2out_vms_{begin,end}_prologue): Declare.
19874 * doc/tm.texi (ASM_OUTPUT_DWARF_VMS_DELTA): Document.
19875 * dwarf2asm.c (dw2_asm_output_vms_delta): New function.
19876 (ASM_OUTPUT_DWARF_VMS_DELTA): Call it.
19877 * dwarf2asm.h (dw2_asm_output_vms_delta): Declare.
19878 * dwarf2out.c (dw_fde_struct): New fields
19879 dw_fde_vms_{end,begin}_prologue.
19880 (PROLOGUE_END_LABEL, EPILOGUE_BEGIN_LABEL): New macros.
19881 (dwarf2out_begin_prologue): Set dw_fde_struct defaults for above.
19882 (dwarf2out_vms_end_prologue): New function.
19883 (dwarf2out_vms_begin_epilogue): New function.
19884 (dw_val_struct): New value dw_val_class_vms_delta.
19885 (gcc_debug_hooks): New entry begin_epilogue. Set end_prologue,
19886 begin_epilogue for VMS.
19887 (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): Declare
19888 new static functions.
19889 (dwarf_attr_name): New cases DW_AT_HP_{prologue,epilogue}.
dedd9d05 19890 (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): New
67ad2ae7
DR
19891 static functions.
19892 (print_die): New case dw_val_class_vms_delta.
19893 (attr_checksum): Likewise.
19894 (same_dw_val_p: Likewise.
19895 (size_of_die): Likewise.
19896 (value_format): Likewise.
19897 (output_die): Likewise.
19898 (gen_subprogram_die): Call add_AT_vms_delta on VMS.
19899 (dwarf2out_begin_epilogue): Rename to dwarf2out_cfi_begin_epilogue
19900 * dwarf2out.h (dwarf2out_begin_epilogue): Rename to
19901 dwarf2out_cfi_begin_epilogue
19902 * final.c (final_scan_insn): Likewise. Call begin_epilogue.
19903
ed5c4a10
NF
199042010-06-16 Nathan Froyd <froydnj@codesourcery.com>
19905
19906 * config/cris/cris-protos.h (cris_print_operand): Delete.
19907 (cris_print_operand_address): Delete.
19908 * config/cris/cris.h (PRINT_OPERAND): Delete.
19909 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
19910 (PRINT_OPERAND_ADDRESS): Delete.
19911 * config/cris/cris.c (cris_print_operand_address): Make static.
19912 (cris_print_operand): Make static.
19913 (cris_print_operand_punct_valid_p): New function.
19914 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
19915 (TARGET_PRINT_OPERAND_ADDRESS): Define.
19916
616c557d
NF
199172010-06-16 Nathan Froyd <froydnj@codesourcery.com>
19918
19919 * config/arm/arm-protos.h (arm_print_operand): Delete.
19920 (arm_print_operand_address): Delete.
19921 * config/arm/arm.h (PRINT_OPERAND): Delete.
19922 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
19923 (PRINT_OPERAND_ADDRESS, ARM_PRINT_OPERAND_ADDRESS):
19924 (THUMB_PRINT_OPERAND_ADDRESS): Delete and move code to...
a8ecfc9f 19925 * config/arm/arm.c (arm_print_operand_address): ...here. New function.
616c557d
NF
19926 (arm_print_operand): Make static.
19927 (arm_print_operand_punct_valid_p): New function.
19928 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
19929 (TARGET_PRINT_OPERAND_ADDRESS): Define.
19930
c249a7bc
NC
199312010-06-16 Nick Clifton <nickc@redhat.com>
19932
19933 * config/rx/constraints.md (NEGint4): New constraint.
19934 * config/rx/rx.md (attr cc): Add set_zsc.
19935 (cbranchsf4): Only test for -fnon-call-exceptions if cfun has been
19936 initialised.
19937 (cmpsf): Likewise.
19938 (call_internal): Clobber the cc0 register.
19939 (call_value_internal): Likewise.
19940 (cstoresi4): Likewise.
19941 (movsieq): Likewise.
19942 (movsine): Likewise.
19943 (addsi3): Add alternative to handle small negative constants.
19944 (sunsi3): Likewise.
19945 (addsi3): Do not set the O bit in the cc0 register.
19946 (adddi3): Likewise.
19947 (subsi3): Likewise.
19948 (subdi3): Likewise.
19949 (andsi3): Reorder alternatives to prefer shorter forms.
19950 (mulsi3): Likewise.
19951 (iorsi3): Likewise.
19952 (negsi2): Note that the cc0 flags are set.
19953 (rotlsi3): Note that only the Z and S bits are set in cc0.
19954 (lshrsi3): Likewise.
19955 (ashlsi3): Likewise.
19956 (subsf3): Use %Q for the MEM operand.
19957 (fix_truncsfsi2): Likewise.
19958 (floatsisf2): Likewise.
19959 (bitset): Remove early clobber from destination.
19960 (bitset_in_memory): Likewise.
19961 (lrintsf2): Clobber the cc0 register.
dedd9d05 19962 * config/rx/rx.c (rx_notice_update_cc): Handle CC_SET_ZSC.
c249a7bc
NC
19963 (rx_print_operand): Handle %N.
19964
f75aa51c
JH
199652010-06-16 Jan Hubicka <jh@suse.cz>
19966
19967 * df-core.c (df_compact_blocks): Free problem_temps vector.
19968
29be3835
MJ
199692010-06-16 Martin Jambor <mjambor@suse.cz>
19970
19971 PR tree-optimization/43905
19972 * tree-sra.c: Include tree-inline.h.
19973 (create_abstract_origin): Removed.
19974 (modify_function): Version the call graph node instead of creating
19975 abstract origins and dealing with same_body aliases.
19976 * tree-sra.c (ipa_sra_preliminary_function_checks): Check whether the
19977 function is versionable.
19978 * Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies.
19979
e7bfcf35
MK
199802010-06-16 Maxim Kuvyrkov <maxim@codesourcery.com>
19981
19982 * config/mips/linux64.h (BIONIC_DYNAMIC_LINKERN32): Define.
19983 (CHOOSE_DYNAMIC_LINKER): Update.
19984
f582a3aa
UB
199852010-06-15 Uros Bizjak <ubizjak@gmail.com>
19986
19987 * config/i386/i386.c (*prefetch_sse_<mode>): Macroize insn from
19988 *prefetch_sse and *prefetch_sse_rex using P mode iterator.
19989 (*prefetch_3dnow_<mode>): Ditto from *prefetch_3dnow and
19990 *prefetch_3dnow_rex.
19991
e4f7c483
AS
199922010-06-15 Anatoly Sokolov <aesok@post.ru>
19993
19994 * target.h (struct asm_out):Add declare_constant_name field.
19995 * target-def.h (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
19996 (TARGET_INITIALIZER): Use TARGET_ASM_DECLARE_CONSTANT_NAME.
19997 * output.h (default_asm_declare_constant_name): Declare.
19998 (assemble_label): Update prototype.
19999 * varasm.c (assemble_constant_contents): Use
20000 targetm.asm_out.declare_constant_name target hook.
20001 (assemble_label): Add 'file' argument.
20002 (default_asm_declare_constant_name): New function.
20003 * system.h (ASM_DECLARE_CONSTANT_NAME): Poison.
20004 * doc/tm.texi (ASM_DECLARE_CONSTANT_NAME): Remove.
20005 (TARGET_ASM_DECLARE_CONSTANT_NAME): Document it.
20006
20007 * config/darwin-protos.h (darwin_asm_declare_constant_name): Declare.
20008 * config/darwin.c (darwin_asm_declare_constant_name): New function.
20009 (machopic_output_indirection): Update assemble_label argument list.
20010 * config/darwin.h (ASM_DECLARE_CONSTANT_NAME): Remove.
20011 (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
20012
6ab4e307
SP
200132010-06-15 Sebastian Pop <sebastian.pop@amd.com>
20014
20015 PR middle-end/44391
20016 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
20017 size_one_node for pointer types. Do not call gmp_cst_to_tree.
20018
7fc1dad6
RG
200192010-06-15 Richard Guenther <rguenther@suse.de>
20020
20021 * tree-ssa-pre.c (eliminate): Handle PHI elimination to constants.
20022
50416c61 200232010-06-15 Paul Brook <paul@codesourcery.com>
6ab4e307 20024
50416c61
PB
20025 * config/arm/arm.c (use_vfp_abi): Add sorry() for Thumb-1
20026 hard-float ABI.
20027
15bbc165
AO
200282010-06-15 Alexandre Oliva <aoliva@redhat.com>
20029
20030 * tree-vect-patterns.c (vect_pattern_recog_1): Bail out if we
20031 don't get a vector type for output.
20032
79943d19
JJ
200332010-06-15 Jakub Jelinek <jakub@redhat.com>
20034
20035 PR fortran/44536
20036 * langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl.
20037 * langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define.
20038 (LANG_HOOKS_DECLS): Add it.
20039 * gimplify.c (omp_notice_variable): Call
20040 lang_hooks.decls.omp_report_decl.
20041
eed5f58a
MJ
200422010-06-15 Martin Jambor <mjambor@suse.cz>
20043
20044 PR lto/44464
20045 * tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
20046 on the newly dead SSA name.
20047
070b27da
AM
200482010-06-15 Alan Modra <amodra@gmail.com>
20049
20050 * doc/invoke.texi: Add mcmodel to powerpc options.
20051 * configure.ac: Add HAVE_LD_LARGE_TOC test.
20052 * configure: Regenerate.
20053 * config.in: Regenerate.
20054 * config/rs6000/linux64.opt (mcmodel): New.
20055 * config/rs6000/linux64.h (TARGET_USES_LINUX64_OPT): Define.
9628d8f6 20056 (TARGET_CMODEL, SET_CMODEL): Define.
070b27da
AM
20057 (SUBSUBTARGET_OVERRIDE_OPTIONS): Check user -mcmodel choice,
20058 select CMODEL_MEDIUM default.
20059 * config/rs6000/rs6000.h (enum rs6000_cmodel): New.
20060 (TARGET_CMODEL): Define default.
20061 * config/rs6000/rs6000.c (cmodel): New variable.
20062 (rs6000_explicit_options): Add cmodel field.
20063 (rs6000_handle_option): Handle -mcmodel.
20064 (create_TOC_reference): Add largetoc_reg param. Generate high,
20065 lo_sum rtl for CMODEL_MEDIUM and CMODEL_LARGE. Update all callers.
20066 (rs6000_delegitimize_address): Recognise new toc reference rtl
20067 and minimal-toc rtl.
20068 (rs6000_legitimize_reload_address): Handle new toc references.
20069 (print_operand_address): Handle legitimate_constant_pool_address_p
20070 match before lo_sum.
20071 (rs6000_eliminate_indexed_memrefs): Tidy.
20072 (rs6000_emit_move): Tweak threshold for inlining constants.
20073 Keep rs6000_emit_allocate_stack large stack frame offsets
20074 loaded into r0 inline.
20075 (rs6000_generate_compare <cmptf_internal2>): One more clobber.
20076 (tocrel_base, tocrel_offset): New variables.
20077 (toc_relative_expr_p): Set them here.
f582a3aa 20078 (print_operand_address): Skip over any offset on constant pool address.
070b27da
AM
20079 (rs6000_output_addr_const_extra): Print tocrel_offset before @toc.
20080 (rs6000_mode_dependent_address <LO_SUM>): False for new toc refs.
20081 (offsettable_ok_by_alignment): New function.
20082 (rs6000_emit_move): Address suitably aligned local symbol_refs
20083 relative to the toc pointer for -mcmodel=medium.
20084 (legitimate_constant_pool_address_p): Make param const_rtx. Add
20085 strict param. Allow lo_sum version of addressing. Verify reg
20086 used for -mminimal-toc and -mcmodel != small. Update all callers.
20087 * config/rs6000/constraints.md: Update for above change.
20088 * config/rs6000/predicates.md: Likewise.
20089 * config/rs6000/rs6000.md (tls_gd_aix): Generate -mcmodel=medium/large
20090 code.
20091 (tls_gd): Split for -mcmodel=medium/large.
20092 (tls_gd_high, tls_gd_low): New.
20093 (tls_ld_aix, tls_ld, tls_ld_high, tls_ld_low): Similarly.
20094 (tls_got_dtprel, tls_got_dtprel_high, tls_got_dtprel_low): Similarly.
20095 (tls_got_tprel, tls_got_tprel_high, tls_got_tprel_low): Similarly.
20096 (largetoc_high, largetoc_low): New.
20097 (cmptf_internal2): Add clobber.
20098 * config/rs6000/rs6000-protos.h: Update.
20099
d5058523
CF
201002010-06-14 Changpeng Fang <changpeng.fang@amd.com>
20101
20102 * tree-ssa-loop-prefetch.c (nothing_to_prefetch_p): New. Return
20103 true if no prefetch is going to be generated for a given group.
20104 (estimate_prefetch_count): Use prefetch_mod and unroll_factor to
20105 estimate the prefetch_count.
20106 (loop_prefetch_arrays): Call nothing_to_prefetch_p; estimate the
20107 prefetch count by considering the unroll_factor and prefetch_mod
20108 for is_loop_prefetching_profitable.
20109
33d67485
AS
201102010-06-14 Andreas Schwab <schwab@linux-m68k.org>
20111
20112 * config/m68k/m68k.c (m68k_delegitimize_address): Don't do
20113 anything if the argument is not a MEM.
20114
22963fee
AO
201152010-06-14 Alexandre Oliva <aoliva@redhat.com>
20116
20117 PR debug/43650
20118 PR debug/44181
20119 PR debug/44247
20120 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip
20121 debug stmts.
20122 (canonicalize_loop_ivs): Likewise.
20123
c11b0b3b
AO
201242010-06-14 Alexandre Oliva <aoliva@redhat.com>
20125
20126 PR debug/43656
20127 * haifa-sched.c (setup_insn_reg_pressure_info,
20128 update_register_pressure): Reject debug insns.
20129 (ready_sort): Don't setup reg pressure for debug insns.
20130 (schedule_insn): Don't update reg pressure for debug insns.
20131
2465dcc2
RG
201322010-06-14 Richard Guenther <rguenther@suse.de>
20133
20134 * lto-streamer.c (cached_bp): Remove.
20135 (bitpack_delete): Likewise.
20136 (bitpack_create): Likewise.
20137 (bp_get_next_word): Likewise.
20138 (bp_pack_value, bp_unpack_value): Move ...
20139 * lto-streamer.h (bp_pack_value, bp_unpack_value): ... here.
20140 Re-implement.
20141 (struct bitpack_d): Likewise.
20142 (bitpack_create, lto_output_bitpack, lto_input_bitpack):
20143 New inline functions.
20144 * lto-streamer-out.c (lto_output_bitpack): Remove.
f582a3aa 20145 (pack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
2465dcc2
RG
20146 (pack_value_fields): Adjust.
20147 (lto_write_tree): Likewise.
20148 (output_gimple_stmt): Likewise.
20149 (output_function): Likewise.
20150 * lto-streamer-in.c (input_gimple_stmt): Adjust.
20151 (input_function): Likewise.
f582a3aa 20152 (unpack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
2465dcc2
RG
20153 (lto_input_bitpack): Remove.
20154 (lto_materialize_tree): Adjust.
20155 * Makefile.in (ipa-prop.o): Add $(LTO_STREAMER_H) dependency.
20156 * lto-cgraph.c (lto_output_edge): Adjust.
20157 (lto_output_node): Likewise.
20158 (lto_output_varpool_node): Likewise.
20159 (lto_output_ref): Likewise.
20160 (input_node): Likewise.
20161 (input_varpool_node): Likewise.
20162 (input_ref): Likewise.
20163 (input_edge): Likewise.
20164 (output_node_opt_summary): Likewise.
20165 (input_node_opt_summary): Likewise.
20166 * ipa-pure-const.c (pure_const_write_summary): Likewise.
20167 (pure_const_read_summary): Likewise.
20168 * ipa-prop.c (ipa_write_indirect_edge_info): Likewise.
20169 (ipa_read_indirect_edge_info): Likewise.
20170 (ipa_write_node_info): Likewise.
20171 (ipa_read_node_info): Likewise.
20172
808081b4
L
201732010-06-14 H.J. Lu <hongjiu.lu@intel.com>
20174
20175 PR target/44534
f582a3aa 20176 * config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0.
808081b4
L
20177 (vec_extract_lo_v16hi): Likewise.
20178 (vec_extract_lo_v32qi): Likewise.
20179
5bca794b
JJ
201802010-06-14 Jakub Jelinek <jakub@redhat.com>
20181
aa493694
JJ
20182 PR bootstrap/44426
20183 * tree.h (build_call_expr): Don't define as vararg macro, instead
20184 add a prototype.
20185 * builtins.c (build_call_nofold): Remove.
20186 (expand_builtin_int_roundingfn, expand_builtin_pow,
20187 expand_builtin_mempcpy_args, expand_builtin_stpcpy,
20188 expand_builtin_memset_args, expand_builtin_strcmp,
20189 expand_builtin_strncmp, expand_builtin_memory_chk): Use
20190 build_call_nofold_loc instead of build_call_nofold.
20191 (build_call_expr): New function.
20192
8ab7d796 20193 PR tree-optimization/44508
f582a3aa 20194 * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument.
8ab7d796
JJ
20195 * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE,
20196 don't eliminate trivially dead stmts.
20197 * tree-vrp.c (vrp_finalize): Pass false as last argument
20198 to substitute_and_fold.
20199 * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument
20200 to substitute_and_fold.
20201 * tree-ssa-ccp.c (ccp_finalize): Likewise.
20202
5bca794b
JJ
20203 PR bootstrap/44509
20204 * c-config-lang.in (gtfiles): Add c-family/c-cppbuiltin.c.
5bca794b 20205
c1e822d5
IR
202062010-06-14 Ira Rosen <irar@il.ibm.com>
20207
6ab4e307 20208 PR tree-optimization/44507
c1e822d5
IR
20209 * tree-vect-loop.c (get_initial_def_for_reduction): Use -1
20210 to build initial vector for BIT_AND_EXPR.
20211 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
20212
ce71b410
JJ
202132010-06-14 Jakub Jelinek <jakub@redhat.com>
20214
20215 * config/s390/s390.md (*mov<mode>_64 DD_DF, mov<mode>): Properly
20216 adjust z10prop set_attr.
20217
7a40b8b1
JH
202182010-06-13 Jan Hubicka <jh@suse.cz>
20219
20220 * bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
20221 bitmap_and_compl_into, bitmap_compl_and_into, bitmap_ior,
20222 bitmap_ior_into, bitmap_xor, bitmap_xor_into,
223c6c5d
EB
20223 bitmap_ior_and_compl, bitmap_ior_and_compl): Turn internal
20224 datastructure checks into checking asserts.
7a40b8b1
JH
20225 * rtlanal.c (find_reg_note): Use gcc_checking_assert.
20226 * tree-ssa-sccvn.c (VN_INFO): Likewise.
20227 * df-scan.c (df_reorganize_refs_by_reg_by_reg, df_install_ref,
20228 df_ref_create_structure): Likewise.
20229 * alloc-pool.c (create_alloc_pool, empty_alloc_pool, pool_alloc,
20230 pool_free): Use gcc_checking_assert.
20231 * alias.c (get_alias_set): Likewise.
20232 * var-tracking.c (variable_htab_free, shared_hash_copy,
20233 canonicalize_values_mark, variable_merge_over_cur): Likewise.
20234 * lto-streamer.c (bp_unpack_value): Likewise.
20235
4a2ac96f
RG
202362010-06-13 Richard Guenther <rguenther@suse.de>
20237
20238 * lto-streamer-in.c (lto_input_ts_type_tree_pointers):
20239 Do not stream but initialize TYPE_CANONICAL to NULL.
20240 (lto_output_ts_type_tree_pointers): Do not stream TYPE_CANONICAL.
20241 * gimple.c (gimple_types_compatible_p): Disregard
20242 TYPE_STRUCTURAL_EQUALITY_P.
20243 (gimple_register_type): Use TYPE_CANONICAL as cache.
20244 * lto-streamer.c (lto_record_common_node): Zero TYPE_CANONICAL
20245 before registering common types.
20246 * config/i386/i386.c (ix86_function_arg_boundary): Do not
20247 use TYPE_CANONICAL, instead use TYPE_MAIN_VARIANT.
20248 * tree.h (TYPE_CANONICAL): Clarify documentation.
20249
ba90d838
AS
202502010-06-13 Anatoly Sokolov <aesok@post.ru>
20251
20252 * config/ia64/ia64.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
20253 LIBCALL_VALUE): Remove macros.
20254 * config/ia64/ia64-protos.h (ia64_function_value): Remove.
20255 * config/ia64/ia64.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
20256 TARGET_FUNCTION_VALUE_REGNO_P): Define.
20257 (ia64_libcall_value, ia64_function_value_regno_p): New functions.
20258 (ia64_function_value): Make static. Handle receiving the function
20259 type in 'fn_decl_or_type' argunent. Add 'outgoing' argument.
20260
9fcb01de
JH
202612010-06-12 Jan Hubicka <jh@suse.cz>
20262
20263 * cse.c (cse_extended_basic_block): Move optimize_bb_for_speed_p
20264 at correct place.
20265
f63a6726
BS
202662010-06-12 Bernd Schmidt <bernds@codesourcery.com>
20267
20268 * config/arm/arm.c (thumb2_reorg): Fix errors in previous change.
20269
e285df08
JH
202702010-06-12 Jan Hubicka <jh@suse.cz>
20271
20272 * df-core.c (df_clear_bb_info): New function.
20273 (df_set_blocks): bb_info is always allocated.
20274 (df_get_bb_info): Use block_info_elt_size.
20275 (df_set_bb_info): Likewise.
20276 (df_compact_blocks): Update for new block_info.
20277 (grow_bb_info): New function.
20278 * df-problems.c (df_grow_bb_info): Move to df-core.c
20279 (df_rd_set_bb_info): Remove.
20280 (df_rd_free_bb_info): Do not free block pool.
20281 (df_rd_alloc): Do not create pool, use check for
20282 obstack presence instead of NULL pointer for new blocks.
20283 (df_rd_free): DO not free alloc pool; clear block_info.
20284 (problem_RD): Add size of block info structure.
20285 (df_lr_set_bb_info): Remove.
20286 (df_lr_free_bb_info): Do not free block pool.
20287 (df_lr_alloc): Do not create pool, use check for
20288 obstack presence instead of NULL pointer for new blocks.
20289 (df_lr_free): DO not free alloc pool; clear block_info.
20290 (problem_LR): Add size of block info structure.
20291 (df_live_set_bb_info): Remove.
20292 (df_live_free_bb_info): Do not free block pool.
20293 (df_live_alloc): Do not create pool, use check for
20294 obstack presence instead of NULL pointer for new blocks.
20295 (df_live_free): DO not free alloc pool; clear block_info.
20296 (problem_LIVE): Add size of block info structure.
20297 (problem_CHAIN): Add size of block info structure.
20298 (df_byte_lr_set_bb_info): Remove.
20299 (df_byte_lr_free_bb_info): Do not free block pool.
20300 (df_byte_lr_alloc): Do not create pool, use check for
20301 obstack presence instead of NULL pointer for new blocks.
20302 (df_byte_lr_free): DO not free alloc pool; clear block_info.
20303 (problem_BYTE_LR): Add size of block info structure.
20304 (problem_NOTE): Add size of block info structure.
20305 (df_byte_MD_set_bb_info): Remove.
20306 (df_byte_MD_free_bb_info): Do not free block pool.
20307 (df_byte_MD_alloc): Do not create pool, use check for
20308 obstack presence instead of NULL pointer for new blocks.
20309 (df_byte_MD_free): DO not free alloc pool; clear block_info.
20310 (problem_BD): Add size of block info structure.
20311 * df-scan.c (df_scan_free_internal): Free block pool.
20312 (df_scan_set_bb_info): Remove.
20313 (df_scan_free_bb_info): Check for artificial_defs instead
20314 of bb_info being non-NULL.
20315 (df_scan_alloc): DO not create df_scan_block pool.
20316 (problem_SCAN): Set size of block info.
20317 (df_bb_refs_record): Do not allocate bb_info.
20318 * df.h (df_problem): Add block_info_elt_size.
20319 (struct dataflow): Change block_info to void *.
20320 (df_scan_get_bb_info, df_rd_get_bb_info, df_lr_get_bb_info,
20321 df_md_get_bb_info, df_live_get_bb_info, df_byte_lr_get_bb_info): Return
20322 in-line structures.
20323
02d635a2
JH
203242010-06-12 Jan Hubicka <jh@suse.cz>
20325
20326 PR tree-optimize/44485
223c6c5d
EB
20327 * tree-cfgcleanup.c (fixup_noreturn_call): Remove basic blocks
20328 containing use of return value of noreturn function.
02d635a2 20329
153a3027
AS
203302010-06-12 Anatoly Sokolov <aesok@post.ru>
20331
20332 * targhooks.c (default_function_value): Don't use
20333 FUNCTION_OUTGOING_VALUE.
20334 * system.h (FUNCTION_OUTGOING_VALUE): Poison.
20335 * doc/tm.texi (FUNCTION_OUTGOING_VALUE): Removed.
20336
48b09a92
KH
203372010-06-12 Kazu Hirata <kazu@codesourcery.com>
20338
f582a3aa
UB
20339 * config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*):
20340 Add crtfastmath.o to extra_parts.
48b09a92
KH
20341 * config/mips/crtfastmath.c: New.
20342 * config/mips/linux.h (ENDFILE_SPEC): New.
20343
b53cd1c5
SP
203442010-06-12 Sebastian Pop <sebastian.pop@amd.com>
20345
20346 * graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
20347 old_type in parameter.
20348 (gcc_type_for_value): Update call to gcc_type_for_interval.
20349 (compute_type_for_level_1): Renamed compute_type_for_level.
20350 Update call to gcc_type_for_interval.
20351
fcfbd84e
JM
203522010-06-11 Joseph Myers <joseph@codesourcery.com>
20353
20354 * common.opt (Wstrict-aliasing=, Wstrict-overflow=, fabi-version=,
f582a3aa 20355 flto-compression-level=, ftree-parallelize-loops=): Add RejectNegative.
fcfbd84e 20356
5d4b393f
JM
203572010-06-11 Joseph Myers <joseph@codesourcery.com>
20358
20359 * opts-common.c: Include options.h.
20360 (integral_argument): Move from opts.c.
20361 (decode_cmdline_option): New. Based on read_cmdline_option.
20362 * opts.c (integral_argument): Move to opts-common.c.
20363 (read_cmdline_option): Move most contents to
20364 decode_cmdline_option. Use %qs in diagnostics.
20365 * opts.h (CL_ERR_DISABLED, CL_ERR_MISSING_ARG, CL_ERR_WRONG_LANG,
20366 CL_ERR_UINT_ARG, struct cl_decoded_option, integral_argument,
20367 decode_cmdline_option): New.
20368
b79a08f6
UB
203692010-06-11 Uros Bizjak <ubizjak@gmail.com>
20370
20371 PR target/44481
20372 * config/i386/i386.md (UNSPEC_PARITY): New unspec.
f582a3aa 20373 (paritydi2_cmp): Use UNSPEC_PARITY unspec instead of parity RTX.
b79a08f6
UB
20374 (partiysi2_cmp): Ditto.
20375 (*partiyhi2_cmp): Ditto.
20376 (*parityqi2_cmp): Remove.
20377
d5568f03
JH
203782010-06-11 Jan Hubicka <jh@suse.cz>
20379
b79a08f6
UB
20380 * bitmap.h (bmp_iter_next_bit): New.
20381 (bmp_iter_set, bmp_iter_and, bmp_iter_and_compl): Use it.
d5568f03 20382
5914a70f 203832010-06-11 Sandra Loosemore <sandra@codesourcery.com>
f582a3aa 20384 Eric Botcazou <ebotcazou@adacore.com>
5914a70f
SL
20385
20386 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the
20387 computed cost.
20388
ed9955f9
UB
203892010-06-11 Uros Bizjak <ubizjak@gmail.com>
20390
20391 * config/i386/i386.md (unspec): New define_c_enum.
20392 (unspecv): Ditto.
20393
8e680db5
JJ
203942010-06-10 Jakub Jelinek <jakub@redhat.com>
20395
8e680db5
JJ
20396 * Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).
20397
7b14477e
SP
203982010-06-11 Sebastian Pop <sebastian.pop@amd.com>
20399
20400 PR middle-end/44483
20401 * tree-if-conv.c (bb_predicate_s): New struct.
20402 (bb_predicate_p): New.
20403 (bb_has_predicate): New.
20404 (bb_predicate): New.
20405 (set_bb_predicate): New.
20406 (bb_predicate_gimplified_stmts): New.
20407 (set_bb_predicate_gimplified_stmts): New.
20408 (add_bb_predicate_gimplified_stmts): New.
20409 (init_bb_predicate): New.
20410 (free_bb_predicate): New.
20411 (is_predicated): Use bb_predicate.
20412 (add_to_predicate_list): Use bb_predicate and set_bb_predicate.
20413 (predicate_bbs): Same. Gimplify the condition of the basic blocks
20414 before processing their successors.
20415 (clean_predicate_lists): Removed.
20416 (find_phi_replacement_condition): Use bb_predicate.
20417 (process_phi_nodes): Renamed ifconvert_phi_nodes. Avoid useless
20418 computations.
20419 (insert_gimplified_predicates): New.
20420 (combine_blocks): Call insert_gimplified_predicates.
20421 (tree_if_conversion): Call free_bb_predicate instead of
20422 clean_predicate_lists.
20423
f6e47b26 204242010-10-11 Paul Brook <paul@codesourcery.com>
ed9955f9 20425
f6e47b26
PB
20426 * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
20427 * config/arm/arm.c (all_architectures): Change v7e-m default to
20428 cortexm4.
20429 * config/arm/arm-cores.def: Add cortex-m4.
20430 * config/arm/arm-tune.md: Regenerate.
20431
0a42aa4e
JH
204322010-06-11 Jan Hubicka <jh@suse.cz>
20433
20434 * ipa-pure-const.c (special_builtlin_state): New function.
20435 (check_call): Use it instead of special casign BUILT_IN_RETURN.
20436 (propagate_pure_const): Use it.
20437
d725a1a5
JH
204382010-06-11 Jan Hubicka <jh@suse.cz>
20439
20440 * df-problems.c (df_live_scratch): Convert to bitmap_head.
20441 (df_live_alloc): Initialize df_live_scratch when initializing
20442 problem_data.
20443 (df_live_transfer_function): Update uses of df_live_scratch.
20444 (df_live_free): Free problem_data; clear df_live_scratch before
20445 releasing the obstack.
20446 (df_md_free): Free problem data.
20447
7ea6b6cf
JH
204482010-06-11 Jan Hubicka <jh@suse.cz>
20449
20450 * doc/invoke.texi (Wsuggest-attribute): Document.
20451 (Wmissing-noreturn): Remove.
20452 * ipa-pure-const.c (warn_function_noreturn): New function.
20453 * opts.c (decode_options): Set warn_suggest_attribute_noreturn on
20454 warn_missing_noreturn.
20455 * common.opt (Wsuggest-attribute=noreturn): New.
20456 * tree-flow.h (warn_function_noreturn): Declare.
20457 * tree-cfg.c (execute_warn_function_noreturn): Use
20458 warn_function_noreturn.
20459 (gate_warn_function_noreturn): New.
20460 (pass_warn_function_noreturn): Update.
20461
2ee3cb35
MLI
204622010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
20463
20464 * c-typeck.c (handle_warn_cast_qual): Add loc
20465 parameter. Improve warning message.
20466 (build_c_cast): Pass location to handle_warn_cast_qual.
20467
3d25c396
UB
204682010-06-11 Uros Bizjak <ubizjak@gmail.com>
20469
20470 * config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
20471 that operand 0 == operand 1. Use x86_maybe_negate_const_int to output
20472 insn mnemonic.
20473 (pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
20474
b66a8c5d
DS
204752010-06-10 Dodji Seketeli <dodji@redhat.com>
20476
20477 Fix bootstap on mips
20478 * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
20479 be naming typedefs.
20480
10d291f6
KT
204812010-06-11 Kai Tietz <kai.tietz@onevision.com>
20482
20483 * system.h (helper_const_non_const_cast): New inline for
20484 gcc version <= 4.0.
20485 (CONST_CAST2): For gcc version <= 4.0 use
20486 new helper to do const/non-const casting.
20487
0fe60a1b
RS
204882010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20489
20490 * doc/md.texi: Document the "unspec" and "unspecv" enum names.
20491 * Makefile.in (OBJS-common): Include insn-enums.o.
20492 (insn-enums.o): New rule.
20493 (simple_generated_c): Add insn-enums.c.
20494 (build/genenums.o): New rule.
20495 (genprogmd): Add "enums".
20496 * genconstants.c (print_enum_type): Declare a C string array
20497 for each enum.
20498 * genenums.c: New file.
20499 * print-rtl.c (print_rtx): If defined, use the "unspecv" enum
20500 for UNSPEC_VOLATILE. If defined, use the "unspec" enum for both
20501 UNSPEC and (as a fallback) for UNSPEC_VOLATILE.
20502
8f4fe86c
RS
205032010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20504
20505 * doc/md.texi (define_enum_attr): Document.
20506 * rtl.def (DEFINE_ENUM_ATTR): New rtx.
20507 * read-md.h (lookup_enum_type): Declare.
20508 * read-md.c (lookup_enum_type): New function.
20509 * genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
20510 * genattrtab.c (attr_desc): Add an enum_name field.
20511 (evaluate_eq_attr): Take the associated attribute as argument.
20512 Get the enum prefix from the enum_name field, if defined.
20513 Use ACONCAT rather than a fixed-length buffer. Update recursive calls.
20514 (simplify_test_exp): Pass attr to evaluate_eq_attr.
20515 (add_attr_value): New function, split out from...
20516 (gen_attr): ...here. Handle DEFINE_ENUM_ATTR.
20517 (write_test_expr): Pass attr to evaluate_eq_attr.
20518 (write_attr_get): Use the enum_name as the enum tag, if defined.
20519 (write_attr_valueq): Use the enum_name as a prefix, if defined.
20520 (find_attr): Initialize enum_name.
20521 (main): Handle DEFINE_ENUM_ATTR.
20522 * gensupport.c (process_rtx): Likewise.
20523 * config/mips/mips.h (mips_tune_attr): Delete.
20524 * config/mips/mips.md (cpu): Use define_attr_enum.
20525
24609606
RS
205262010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20527
20528 * doc/md.texi (define_c_enum, define_enum): Document.
20529 * read-md.h (md_constant): Add a parent_enum field.
20530 (enum_value, enum_type): New structures.
20531 (upcase_string, traverse_enum_types): Declare.
20532 * read-md.c (enum_types): New variable.
20533 (upcase_string, add_constant): New functions.
20534 (handle_constants): Don't create the hash table here.
20535 Use add_constant.
20536 (traverse_md_constants): Don't check for a null md_constants.
20537 (decimal_string, handle_enum, traverse_enum_types): New functions.
20538 (read_md_files): Initialize md_constants and md_enums.
20539 * genconstants.c (print_md_constant): Ignore info argument.
20540 Only print constants that belong to no enum.
20541 (print_enum_type): New function.
20542 (main): Don't pass stdout to print_md_constant. Call print_enum_type
20543 for each defined enum type.
20544 * config/mips/mips.md (processor): New define_enum.
20545 (unspec): New define_c_enum.
20546 (UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
20547 (UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
20548 (UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
20549 (UNSPEC_MEMORY_BARRIER): Moved to sync.md.
20550 (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
20551 (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
20552 (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
20553 (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
20554 (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
20555 (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
20556 (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
20557 (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
20558 (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
20559 (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
20560 (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
20561 (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
20562 (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
20563 (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
20564 (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
20565 (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
20566 (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
20567 (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
20568 (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
20569 (UNSPEC_RDDSP): Move to mips-dsp.md.
20570 (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
20571 (UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
20572 (UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
20573 (UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
20574 (UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
20575 (UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
20576 (UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
20577 (UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
20578 (UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
20579 (UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
20580 (UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
20581 (UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
20582 (UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
20583 Moved to mips-dspr2.md.
20584 (UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
20585 (UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
20586 (UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
223c6c5d 20587 (UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Move from mips-ps-3d.md.
24609606
RS
20588 (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
20589 (UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
20590 (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
20591 (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
20592 (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
20593 (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
223c6c5d
EB
20594 (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
20595 UNSPEC_LOONGSON_PSADBH)
24609606
RS
20596 (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
20597 (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
20598 (UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
20599 (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
20600 (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
20601 (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
223c6c5d 20602 (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Move to mips-loongson2ef.md.
24609606
RS
20603 (cpu): Update comment.
20604 * config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
20605 (UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
20606 (UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
20607 (UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
223c6c5d
EB
20608 * config/mips/loongson.md (UNSPEC_LOONGSON_PAVG,
20609 UNSPEC_LOONGSON_PCMPEQ)
20610 (UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR,
20611 UNSPEC_LOONGSON_PINSR_0)
24609606
RS
20612 (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
20613 (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
20614 (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
20615 (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
223c6c5d
EB
20616 (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
20617 UNSPEC_LOONGSON_PSADBH)
24609606
RS
20618 (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
20619 (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
20620 (UNSPEC_LOONGSON_PSUBD): Moved from mips.md
20621 * config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
20622 (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
20623 (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
20624 (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
20625 * config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
20626 (UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
20627 (UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
20628 (UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
20629 (UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
20630 (UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
20631 (UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
20632 (UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
20633 (UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
20634 (UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
20635 (UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
20636 (UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
20637 (UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
20638 (UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
20639 (UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
20640 (UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
20641 (UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
20642 (UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
20643 (UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
20644 (UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
20645 (UNSPEC_RDDSP): Moved from mips.md.
20646 * config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
20647 (UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
20648 (UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
20649 (UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
20650 (UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
20651 (UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
20652 (UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
20653 (UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
20654 (UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
20655 (UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
20656 (UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
20657 (UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
20658 (UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
20659 (UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
20660 * config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
20661 (UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
20662 (UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
20663 (UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
20664 (UNSPEC_SCC): Moved from mips.md.
20665 * config/mips/mips.c (mips_arch, mips_tune): Change enum from
20666 "processor_type" to "processor".
20667 (mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
20668 * config/mips/mips.h (processor_type): Delete.
20669 (mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
20670 "processor_type" to "processor".
20671
c513ce77
RS
206722010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20673
20674 * configure.ac (tm_include_list): Add insn-constants.h.
20675 * configure: Regenerate.
20676 * Makefile.in (GTM_H): Move insn-constants.h here from...
20677 (TM_H): ...here.
20678 * mkconfig.sh: Remove special handling for insn-constants.h.
20679
9b68b6ea
RS
206802010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20681
20682 * Makefile.in (BUILD_RTL): Move build/read-md.o to...
20683 (BUILD_MD): ...this new variable.
20684 (simple_generated_rtl_h, simple_generated_rtl_c): New variables
20685 that include the old contents of simple_generated_h and
20686 simple_generated_c.
20687 (simple_generated_h, simple_generated_c): Include them. Add
20688 insn-constants.h.
20689 (s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
20690 and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
20691 Remove these dependencies from the main rule and include
20692 insn-conditions.md in the command line only if it appears
20693 in the dependency list.
20694 (insn-constants.h, s-constants): Delete.
20695 (build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
20696 or gensupport.h.
20697 (build/genmddeps.o): Likewise.
20698 (genprogrtl): New variable that contains everything from genprogmd
20699 except mddeps and constants.
20700 (genprogmd): Redefine in terms of genprogrtl. Make these programs
20701 depend on $(BUILD_MD)
20702 (genprog): New variable. Make these programs depend on
20703 $(BUILD_ERRORS).
20704 * genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
20705 (main): Use read_md_files instead of init_rtx_reader_args.
20706 * genconstants.c: As for genmddeps.c.
20707 * read-md.h (read_skip_construct): Declare.
20708 * read-md.c (read_skip_construct): New function.
20709 (handle_file): Allow a null handle_directive, skipping the
20710 construct if so.
20711 (parse_include): Update the comment accordingly.
20712
600ab3fc
RS
207132010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20714
20715 * Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
20716 * genmddeps.c: Include read-md.h.
20717 (main): Call init_rtx_reader_args instead of init_md_reader_args.
20718 * genattr.c (main): Likewise.
20719 * genattrtab.c (main): Likewise.
20720 * genautomata.c (main): Likewise.
20721 * gencodes.c (main): Likewise.
20722 * genconditions.c (main): Likewise.
20723 * genconfig.c (main): Likewise.
20724 * genconstants.c (main): Likewise.
20725 * genemit.c (main): Likewise.
20726 * genextract.c (main): Likewise.
20727 * genflags.c (main): Likewise.
20728 * genopinit.c (main): Likewise.
20729 * genoutput.c (main): Likewise.
20730 * genpeep.c (main): Likewise.
20731 * genrecog.c (main): Likewise.
20732 * genpreds.c (main): Likewise.
20733 * gensupport.h (in_fname): Move to read-md.h.
20734 (init_md_reader_args_cb): Rename to...
20735 (init_rtx_reader_args_cb): ...this and return a bool.
20736 (init_md_reader_args): Rename to...
20737 (init_rtx_reader_args): ...this and return a bool.
20738 (include_callback): Move to read-md.h.
20739 * gensupport.c (in_fname, include_callback, base_dir, max_include_len)
20740 (file_name_list, first_dir_md_include): Move to read-md.c
20741 (first_bracket_include): Delete unused variable.
20742 (last_dir_md_include): Move to read-md.c.
20743 (process_include): Delete, moving code to read-md.c:handle_include.
20744 (process_rtx): Don't handle INCLUDE.
20745 (save_string): Delete.
20746 (rtx_handle_directive): New function.
20747 (init_md_reader_args_cb): Rename to...
20748 (init_rtx_reader_args_cb): ...this and return a boolean success value.
20749 Use read_md_args.
20750 (init_md_reader_args): Rename to...
20751 (init_rtx_reader_args): ...this and return a boolean success value.
20752 * rtl.def (INCLUDE): Delete.
20753 * rtl.h (read_rtx): Remove "int *" argument. Add "const char *"
20754 argument.
20755 * read-rtl.c (read_conditions): Don't gobble ')' here.
20756 (read_mapping): Likewise.
20757 (read_rtx): Remove LINENO argument. Add RTX_NAME argument.
20758 Handle top-level non-rtx constructs here rather than in read_rtx_1.
20759 Store the whole queue in *X. Remove call to init_md_reader.
20760 (read_rtx_1): Rename to...
20761 (read_rtx_code): ...this. Call read_nested_rtx to read subrtxes.
20762 Don't handle top-level non-rtx constructs here. Don't handle (nil)
20763 here.
20764 (read_nested_rtx): New function. Handle (nil) here rather than
20765 in read_rtx_code.
20766 (read_rtx_variadic): Call read_nested_rtx to read subrtxes. Don't
20767 gobble ')' here.
20768 * read-md.h (directive_handler_t): New type.
20769 (in_fname, include_callback): Moved from read-md.h.
20770 (read_constants, init_md_reader): Delete.
20771 (read_md_files): Declare.
20772 * read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
20773 (last_dir_md_include_ptr, include_callback, max_include_len): Moved
20774 from gensupport.c.
20775 (read_constants): Rename to...
20776 (handle_constants): ...this. Don't gobble ')' here.
20777 (handle_include, handle_file, handle_toplevel_file)
20778 (parse_include): New functions, mostly taken from gensupport.c.
20779 (init_md_reader): Subsume into...
20780 (read_md_files): ...this new function.
20781
7f7c467f
RS
207822010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20783
20784 * read-md.h (read_char): Increment read_md_lineno after reading '\n'.
20785 (unread_char): Decrement read_md_lineno after putting back '\n'.
20786 * read-md.c (fatal_with_file_and_line): Push back any characters
20787 that we decide not to add to the context.
20788 (read_skip_spaces): Don't increment read_md_lineno here. Avoid using
20789 fatal_expected_char in cases where '/' ends a line (for example).
20790 (read_name): Don't increment read_md_lineno here.
20791 (read_escape): Likewise.
20792 (read_quoted_string): Likewise.
20793 (read_braced_string): Likewise.
20794
9f418533
RS
207952010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20796
20797 * Makefile.in (READ_MD_H): Add $(HASHTAB_H).
20798 (build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
20799 * genconstants.c: Include read-md.h.
20800 * read-rtl.c (md_constants): Move to read-md.c.
20801 (md_name): Move to read-md.h.
20802 (initialize_iterators): Use leading_string_hash instead of def_hash
20803 and leading_string_eq_p instead of def_name_eq_p.
20804 (read_name): Move to read-md.c.
20805 (def_hash, def_name_eq_p): Delete.
20806 (read_constants, traverse_md_constants): Move to read-md.c.
20807 * rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
20808 * read-md.h: Include hashtab.h.
20809 (md_name): Moved from read-rtl.c.
20810 (md_constant): Moved from read-md.h.
20811 (leading_string_hash, leading_string_eq_p, read_name)
20812 (read_constants, traverse_md_constants): Declare.
20813 * read-md.c (md_constants): Moved from read-rtl.c.
20814 (leading_string_hash, leading_string_eq_p): New functions.
20815 (read_name, read_constants, traverse_md_constants): Moved from
20816 read-rtl.c.
20817
82f8e3fd
RS
208182010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20819
20820 * read-rtl.c (md_name): New structure.
20821 (read_name): Take an md_name instead of a buffer pointer.
20822 Use the "string" field instead of strcpy when expanding constants.
20823 (read_constants): Remove the tmp_char argument. Update the calls
20824 to read_name, using two local name buffers instead of the tmp_char
20825 argument. Merge the constant-creation code.
20826 (read_conditions): Remove the tmp_char argument. Update the calls
20827 to read_name, using a local name buffer instead of the tmp_char
20828 argument.
20829 (read_mapping): Replace tmp_char variable with a local name buffer.
20830 Update the calls to read_name.
20831 (read_rtx_1): Likewise. Update the calls to read_constants and
20832 read_conditions.
20833
bb933490
RS
208342010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20835
20836 * Makefile.in (build/read-md.o): Depend on errors.h.
20837 * read-md.h (error_with_line): Declare.
20838 * read-md.c: Include errors.h.
20839 (message_with_line_1): New function, extracted from...
20840 (message_with_line): ...here.
20841 (error_with_line): New function.
20842 * genattrtab.c: If a call to message_with_line is followed by
20843 "have_error = 1;", replace both statements with a call to
20844 error_with_line.
20845 * genoutput.c: Likewise.
20846 * genpreds.c: Likewise.
20847 * genrecog.c: If a call to message_with_line is followed by
20848 "error_count++;", replace both statements with a call to
20849 error_with_line.
20850 (errorcount): Delete.
20851 (main): Don't check it.
20852 * gensupport.c: If a call to message_with_line is followed by
20853 "errors = 1;", replace both statements with a call to error_with_line.
20854 (errors): Delete.
20855 (process_define_cond_exec): Check have_error instead of errors.
20856 (init_md_reader_args_cb): Likewise. Don't set errors.
20857
c5e88b39
RS
208582010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20859
20860 * read-md.h (read_md_file): Declare.
20861 (read_char, unread_char): New functions.
20862 (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
20863 (read_quoted_string, read_string): Remove FILE * argument.
20864 * read-md.c (read_md_file): New variable.
20865 (read_md_filename, read_md_lineno): Update comments and remove
20866 unnecessary initialization.
20867 (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
20868 (read_escape, read_quoted_string, read_braced_string, read_string):
20869 Remove FILE * argument. Update calls accordingly, using read_char
20870 and unread_char instead of getc and ungetc.
20871 * rtl.h (read_rtx): Remove FILE * argument.
20872 * read-rtl.c (iterator_group): Remove FILE * argument from
20873 "find_builtin".
20874 (iterator_traverse_data): Remove "infile" field.
20875 (find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
20876 (add_mapping, read_name, read_constants, read_conditions)
20877 (validate_const_int, find_iterator, read_mapping, check_code_iterator)
20878 (read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
20879 Remove file arguments from all calls, using read_char and unread_char
20880 instead of getc and ungetc.
20881 * gensupport.c (process_include): Preserve read_md_file around
20882 the include. Set read_md_file to the handle of the included file.
20883 Update call to read_rtx.
20884 (init_md_reader_args_cb): Set read_md_file to the handle of the file
20885 and remove local FILE *. Update calls to read_rtx.
20886
d2a3ce4e
RS
208872010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20888
20889 * read-md.h (read_rtx_lineno): Rename to...
20890 (read_md_lineno): ...this.
20891 (read_rtx_filename): Rename to...
20892 (read_md_filename): ...this.
20893 (copy_rtx_ptr_loc): Rename to...
20894 (copy_md_ptr_loc): ...this.
20895 (print_rtx_ptr_loc): Rename to...
20896 (print_md_ptr_loc): ...this.
20897 * read-md.c: Likewise. Update references after renaming.
20898 (string_obstack): Replace RTL with MD in comment.
20899 (set_rtx_ptr_loc): Rename to...
20900 (set_md_ptr_loc): ...this.
20901 (get_rtx_ptr_loc): Rename to...
20902 (get_md_ptr_loc): ...this.
20903 * genconditions.c: Update references after renaming.
20904 * genemit.c: Likewise.
20905 * genoutput.c: Likewise.
20906 * genpreds.c: Likewise.
20907 * gensupport.c: Likewise.
20908 * read-rtl.c: Likewise.
20909
10692477
RS
209102010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20911
20912 * Makefile.in (READ_MD_H): New variable.
20913 (BUILD_RTL): Add build/read-md.o.
20914 (lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
20915 (build/gensupport.o, build/read-rtl.o, build/genattr.o)
20916 (build/genattrtab.o, build/genconditions.o build/genemit.o)
20917 (build/genextract.o, build/genflags.o, build/genoutput.o)
20918 (build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
20919 (build/read-md.o): New rule.
20920 * defaults.h (obstack_chunk_alloc, obstack_chunk_free)
20921 (OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
20922 * coretypes.h: ...here.
20923 * lto-wrapper.c: Include coretypes.h instead of defaults.h.
20924 * pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
20925 * genattr.c: Include read-md.h.
20926 * genattrtab.c: Likewise.
20927 * genconditions.c: Likewise.
20928 * genemit.c: Likewise.
20929 * genextract.c: Likewise.
20930 * genflags.c: Likewise.
20931 * genoutput.c: Likewise.
20932 * genpreds.c: Likewise.
20933 * genrecog.c: Likewise.
20934 * rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
20935 (join_c_conditions, print_c_condition, read_rtx_filename)
20936 (read_rtx_lineno): Move to read-md.h.
20937 * read-rtl.c: Include read-md.h.
20938 (ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
20939 (joined_conditions, joined_conditions_obstack, read_rtx_lineno)
20940 (read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
20941 (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
20942 (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
20943 (print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
20944 (read_braced_string, read_string): Move to read-md.c.
20945 (read_rtx): Move some initialization to init_md_reader and call
20946 init_md_reader here.
20947 * gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
20948 Move to read-md.h.
20949 * gensupport.c: Include read-md.h.
3d25c396 20950 (message_with_line, n_comma_elts, scan_comma_elt): Move to read-md.c.
10692477
RS
20951 * read-md.h, read-md.c: New files.
20952
feab9982
AS
209532010-06-10 Anatoly Sokolov <aesok@post.ru>
20954
20955 * config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
20956 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
20957 * config/moxie/moxie-protos.h (moxie_function_value): Remove.
20958 * config/moxie/moxie.c (moxie_function_value): Make static.
20959 (moxie_libcall_value, moxie_function_value_regno_p): New functions.
20960 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
20961
567a4beb
MJ
209622010-06-10 Martin Jambor <mjambor@suse.cz>
20963
20964 * Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
20965 * dbgcnt.def (tree_sra): New counter.
20966 * tree-sra.c: Include dbgcnt.h.
20967 (gate_intra_sra): Check tree_sra debug counter.
20968
591d4f4a
MJ
209692010-06-10 Martin Jambor <mjambor@suse.cz>
20970
20971 PR tree-optimization/44258
20972 * tree-sra.c (build_access_subtree): Return false iff there is a
20973 partial overlap.
20974 (build_access_trees): Likewise.
20975 (analyze_all_variable_accesses): Disqualify candidates if
20976 build_access_trees returns true for them.
20977
b933b33a
AO
209782010-06-10 Alexandre Oliva <aoliva@redhat.com>
20979
20980 PR debug/41371
20981 * var-tracking.c (find_loc_in_1pdv): Remove recursion, only
20982 tail-recurse into canonical node. Fast-forward over
20983 non-canonical VALUEs.
20984
ff534e89
L
209852010-06-10 H.J. Lu <hongjiu.lu@intel.com>
20986
20987 PR boostrap/44470
20988 * config/i386/i386.md (*add<mode>_1): Revert revision 160394.
20989 (*addsi_1_zext) <TYPE_LEA>: Likewise.
20990 (add lea splitter): Likewise.
20991 (add_zext lea splitter): Likewise.
20992
1cb42611
JM
209932010-06-10 Joseph Myers <joseph@codesourcery.com>
20994
20995 * common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.
20996
29aba2bb
JH
209972010-06-10 Jan Hubicka <jh@suse.cz>
20998
20999 * df-problems.c (df_live_problem_data): Add live_bitmaps.
21000 (df_live_alloc): Initialize problem data and live_osbtacks.
21001 (df_live_finalize): Remove obstack, problem data; do not
21002 clear all bitmaps.
21003 (df_live_top_dump, df_live_bottom_dump): Do not dump old
21004 data when not allocated.
21005 (df_live_verify_solution_start): Do not allocate problem data.
21006 (df_live_verify_solution_end): Check if out is allocated.
21007 (struct df_md_problem_data): New structure.
21008 (df_md_alloc): Allocate problem data.
21009 (df_md_free): Free problem data; do not clear bitmaps.
21010
bfa912a8
JB
210112010-06-10 Jan Beulich <jbeulich@novell.com>
21012
2aa9a961 21013 PR bootstrap/37304
bfa912a8
JB
21014 * configure.ac: Replace $() with ${} when intending to expand
21015 variables rather than invoking commands.
21016 * configure: Re-generate.
21017
21d9971a
JH
210182010-06-10 Jan Hubicka <jh@suse.cz>
21019
fea87e28 21020 PR rtl-optimization/44460
3d25c396
UB
21021 * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
21022 TYPE_NEEDS_CONSTRUCTING sanity check.
21d9971a 21023
07a67d6a
GP
210242010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
21025
21026 * doc/include/fdl.texi: Move to GFDL version 1.3.
21027
21028 * doc/cpp.texi: Move to GFDL version 1.3.
21029 * doc/gcc.texi: Move to GFDL version 1.3. Fix copyright years.
21030 * doc/gccint.texi: Move to GFDL version 1.3.
21031 * doc/gcov.texi: Move to GFDL version 1.3. Update copyright years.
21032 * doc/install.texi: Move to GFDL version 1.3. Fix copyright years.
21033 * doc/invoke.texi: Move to GFDL version 1.3.
21034
15e80fc3
JH
210352010-06-09 Jan Hubicka <jh@suse.cz>
21036
21037 * ipa-pure-const.c (propagate_pure_const, propagate_noreturn):
21038 Break out from ...
21039 (propagate) ... here; swap the order.
21040
377002a9
JH
210412010-06-09 Jan Hubicka <jh@suse.cz>
21042
21043 * bitmap.c (bitmap_elt_insert_after, bitmap_first_set_bit,
21044 bitmap_first_set_bit, bitmap_last_set_bit, bitmap_last_set_bit,
21045 bitmap_and_into, bitmap_and_compl_into, bitmap_set_range,
21046 bitmap_compl_and_into, bitmap_elt_ior): Use checking asserts.
21047
50814135
CF
210482010-06-09 Changpeng Fang <changpeng.fang@amd.com>
21049
21050 * tree-ssa-loop-prefetch.c (gather_memory_references_ref):
21051 Do not the gather memory reference in the outer loop if the step
21052 is not a constant.
21053
f7963a7c
CF
210542010-06-09 Changpeng Fang <changpeng.fang@amd.com>
21055
3d25c396
UB
21056 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
21057 Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from
21058 8 to 4. Minor change of the related comments.
f7963a7c 21059
7472eb13
SP
210602010-06-09 Sebastian Pop <sebastian.pop@amd.com>
21061
21062 * tree-scalar-evolution.c (instantiate_scev_name): Do not fail
21063 the scev analysis when the variable is not used outside the loop
21064 in a close phi node: call compute_overall_effect_of_inner_loop.
21065
c12e2a5f
SP
210662010-06-09 Sebastian Pop <sebastian.pop@amd.com>
21067
21068 * graphite-sese-to-poly.c (single_pred_cond): Renamed
21069 single_pred_cond_non_loop_exit. Return NULL for loop exit edges.
21070 (build_sese_conditions_before): Renamed call to single_pred_cond.
21071 (build_sese_conditions_after): Same.
21072
072edf07
SP
210732010-06-09 Sebastian Pop <sebastian.pop@amd.com>
21074
21075 * graphite-poly.h: Fix comments and indentation.
21076 * graphite-sese-to-poly.c: Same.
21077 (build_sese_conditions_before): Compute stmt and gbb only when needed.
21078 * tree-chrec.c: Fix comments and indentation.
21079 (tree-ssa-loop-niter.c): Same.
21080
642d55de
EB
210812010-06-09 Eric Botcazou <ebotcazou@adacore.com>
21082
21083 PR rtl-optimization/42461
21084 * dce.c (deletable_insn_p): Return true for const or pure calls again.
21085 * except.c (insn_could_throw_p): Return false if !flag_exceptions.
21086
a2b709cc
JH
210872010-06-09 Jan Hubicka <jh@suse.cz>
21088
21089 * bitmap.c (bitmap_and): Walk array forward.
21090 (bitmap_and_compl_into): Likewise.
21091 (bitmap_xor): Likewise.
21092 (bitmap_xor_into): Likewise.
21093 (bitmap_equal_p): Likewise.
21094 (bitmap_intersect_p): Likewise.
21095 (bitmap_intersect_compl_p): Likewise.
21096 (bitmap_ior_and_into): Likewise.
21097 (bitmap_elt_copy): Likewise.
21098 (bitmap_and_compl): Likewise.
21099 (bitmap_elt_ior): Likewise.
21100
807303cf
DK
211012010-06-09 Dave Korn <dave.korn.cygwin@gmail.com>
21102
21103 * opts-common.c (prune_options): Ensure replacement argv array
21104 is correctly terminated by a NULL entry.
21105
06795261
JH
211062010-06-09 Jan Hubicka <jh@suse.cz>
21107
21108 * cgraph.h (varpool_first_static_initializer,
21109 varpool_next_static_initializer): Make checking only when
21110 checking enabled.
21111 * tree-vectorizer.h (vinfo_for_stmt): Remove check.
21112 (set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
21113 gcc_assert to gcc_checking_assert.
3d25c396
UB
21114 * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use,
21115 phi_nodes, set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
06795261 21116 op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
3d25c396
UB
21117 op_iter_init_phiuse, op_iter_init_phidef,
21118 array_ref_contains_indirect_ref, ref_contains_array_ref): Use
21119 gcc_checking_assert.
06795261
JH
21120 * emit-rtl.h (set_first_insn, set_last_insn): Likewise.
21121 * tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
21122 partition_is_global, live_on_entry, live_on_exit,
21123 live_merge_and_clear): Likewise.
21124 * system.h (gcc_checking_assert): New macro.
21125 * gimple.h (set_bb_seq): Use gcc_checking_assert.
21126
8d681dbf
JM
211272010-06-09 Jason Merrill <jason@redhat.com>
21128
21129 * Makefile.in (TAGS): Collect tags info from c-family.
21130
2bc0a660
JH
211312010-06-09 Jan Hubicka <jh@suse.cz>
21132
21133 * gimple.h (gcc_gimple_checking_assert): New macro.
3d25c396
UB
21134 (gimple_set_def_ops, gimple_set_use_ops,
21135 gimple_set_vuse, gimple_set_vdef,
21136 gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op,
21137 gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block,
21138 gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op,
21139 gimple_asm_output_op, gimple_asm_output_op_ptr,
21140 gimple_asm_set_output_op, gimple_asm_clobber_op,
21141 gimple_asm_set_clobber_op, gimple_asm_label_op,
21142 gimple_asm_set_label_op, gimple_try_set_kind,
21143 gimple_try_catch_is_cleanup, gimple_try_set_catch_is_cleanup,
21144 gimple_phi_arg, gimple_switch_num_labels, gimple_switch_set_index,
21145 gimple_switch_label, gimple_switch_set_label, gimple_omp_for_index,
21146 gimple_omp_for_index_ptr, gimple_omp_for_set_index,
21147 gimple_omp_for_initial, gimple_omp_for_initial_ptr,
21148 gimple_omp_for_set_initial, gimple_omp_for_final,
21149 gimple_omp_for_final_ptr, gimple_omp_for_set_final,
21150 gimple_omp_for_incr, gimple_omp_for_incr_ptr, gimple_omp_for_set_incr,
21151 gimple_omp_for_set_cond, gimple_omp_for_cond): Make checking
21152 conditional with ENABLE_GIMPLE_CHECKING.
21153 (gimple_phi_set_arg): Likewise; replace memcpy by assignment.
2bc0a660 21154
6521ac85
SL
211552010-06-09 Sandra Loosemore <sandra@codesourcery.com>
21156
21157 * tree-ssa-loop-ivopts.c (adjust_setup_cost): New function.
21158 (get_computation_cost_at): Use it.
21159 (determine_use_iv_cost_condition): Likewise.
21160 (determine_iv_cost): Likewise.
21161
76c85743
RG
211622010-06-09 Richard Guenther <rguenther@suse.de>
21163
21164 * tree-ssa-loop-niter.c (simplify_replace_tree): Do not
21165 replace constants.
21166
5d7eb7e2
KT
211672010-06-09 Kai Tietz <kai.tietz@onevision.com>
21168
21169 * c-objc-common.c (c_tree_printer): Pre-intialize t by NULL_TREE.
21170
1536b6ab
MJ
211712010-06-09 Martin Jambor <mjambor@suse.cz>
21172
21173 PR tree-optimization/44423
21174 * tree-sra.c (dump_access): Dump also grp_assignment_read.
21175 (analyze_access_subtree): Pass negative allow_replacements to children
21176 if the current type is scalar.
21177
f52d94aa 211782010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
2d7f5f9b
JR
21179
21180 PR testsuite/42843
21181 * gcc-plugin.h (int plugin_is_GPL_compatible): Declare as extern "C".
21182 * doc/plugins.texi (Plugin license check): Update information
21183 on type of plugin_is_GPL_compatible.
21184 * Makefile.in (PLUGINCC): Define as $(COMPILER).
21185 (PLUGINCFLAGS): Define as $(COMPILER_FLAGS).
21186
eef5973d
BS
211872010-06-09 Bernd Schmidt <bernds@codesourcery.com>
21188
21189 * config/arm/arm.c (thumb2_reorg): New function.
21190 (arm_reorg): Call it.
21191 * config/arm/thumb2.md (define_peephole2 for flag clobbering
21192 arithmetic operations): Delete.
21193
2cc0672a
EW
211942010-06-09 Edmar Wienskoski <edmar@freescale.com>
21195
21196 PR target/44067
21197 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
21198 e500v2 target.
21199
f1c3bf86
JR
212002010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
21201
2d7f5f9b 21202 PR plugins/44459
f1c3bf86
JR
21203 * gcc-plugin.h: Encapsulate all declarations in extern "C".
21204
a7280dfb
JH
212052010-06-08 Jan Hubicka <jh@suse.cz>
21206
21207 * basic-block.h (single_succ_edge, single_pred_edge, ei_container,
21208 ei_next, ei_prev): Do sanity checking with ENABLE_CHECKING only.
21209
e89065a1
SL
212102010-06-08 Sandra Loosemore <sandra@codesourcery.com>
21211
21212 PR tree-optimization/39874
21213 PR middle-end/28685
21214 * gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
21215 Declare.
21216 * gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
21217 same_bool_result_p): New.
21218 (and_var_with_comparison, and_var_with_comparison_1,
21219 and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
21220 (or_var_with_comparison, or_var_with_comparison_1,
21221 or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
21222 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
21223 maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
21224 of combine_comparisons.
21225 * tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.
21226
c547eb0d
AS
212272010-06-08 Anatoly Sokolov <aesok@post.ru>
21228
21229 * config/pdp11/pdp11.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
21230 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
55f9fe15
AS
21231 * config/pdp11/pdp11.c (pdp11_function_value, pdp11_libcall_value,
21232 pdp11_function_value_regno_p): New functions.
c547eb0d
AS
21233 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
21234 TARGET_FUNCTION_VALUE_REGNO_P): Define.
21235
29a551b3
KH
212362010-06-08 Kazu Hirata <kazu@codesourcery.com>
21237
21238 * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
21239 Thumb-2 in the MINUS case.
21240
a9429e29
LB
212412010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
21242
21243 * doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
21244
21245 * doc/gty.texi (GTY Options): Document typed GC allocation and
21246 variable_size GTY option.
21247
21248 * ggc-internal.h: New.
21249
21250 * ggc.h: Update copyright year.
21251 (digit_string): Move to stringpool.c.
21252 (ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
21253 (gt_pch_save_stringpool, gt_pch_fixup_stringpool)
21254 (gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
21255 (init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
21256 (ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
21257 (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
21258 (ggc_force_collect, ggc_get_size, ggc_statistics)
21259 (ggc_print_common_statistics): Move to ggc-internal.h.
21260 (digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
21261 (ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
21262 (GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
21263 (ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
21264 (ggc_min_heapsize_heuristic, ggc_alloc_zone)
21265 (ggc_alloc_zone_pass_stat): Remove.
21266 (ggc_internal_alloc_stat, ggc_internal_alloc)
21267 (ggc_internal_cleared_alloc_stat): New.
21268 (GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
21269 (ggc_internal_vec_alloc_stat)
21270 (ggc_internal_cleared_vec_alloc_stat)
21271 (ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
21272 (ggc_alloc_atomic_stat, ggc_alloc_atomic)
21273 (ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
21274 (ggc_cleared_alloc_ptr_array_two_args): New.
21275 (htab_create_ggc, splay_tree_new_ggc): Redefine.
21276 (ggc_splay_alloc): Change the type of the first argument to
21277 enum gt_types_enum.
21278 (ggc_alloc_string): Make macro.
21279 (ggc_alloc_string_stat): New.
21280 (ggc_strdup): Redefine.
21281 (rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
21282 (ggc_alloc_rtvec_sized): New.
21283 (ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
21284 (ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
21285 (ggc_internal_cleared_alloc_zone_stat)
21286 (ggc_internal_zone_alloc_stat)
21287 (ggc_internal_zone_cleared_alloc_stat)
21288 (ggc_internal_zone_vec_alloc_stat)
21289 (ggc_alloc_zone_rtx_def_stat)
21290 (ggc_alloc_zone_tree_node_stat)
21291 (ggc_alloc_zone_cleared_tree_node_stat)
21292 (ggc_alloc_cleared_gimple_statement_d_stat): New.
21293
21294 * ggc-common.c: Include ggc-internal.h.
21295 (ggc_internal_cleared_alloc_stat): Rename from
21296 ggc_alloc_cleared_stat.
21297 (ggc_realloc_stat): Use ggc_internal_alloc_stat.
21298 (ggc_calloc): Remove.
21299 (ggc_cleared_alloc_htab_ignore_args): New.
21300 (ggc_cleared_alloc_ptr_array_two_args): New.
21301 (ggc_splay_alloc): Add obj_type parameter.
21302 (init_ggc_heuristics): Formatting fixes.
21303
21304 * ggc-none.c: Update copyright year.
21305 (ggc_alloc_stat): Rename to ggc_alloc_stat.
21306 (ggc_alloc_cleared_stat): Rename to
21307 ggc_internal_cleared_alloc_stat.
21308 (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
21309
21310 * ggc-page.c: Update copyright year. Include ggc-internal.h.
21311 Remove references to ggc_alloc in comments.
21312 (ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
21313 (ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
21314 (new_ggc_zone, destroy_ggc_zone): Remove.
21315 (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
21316
21317 * ggc-zone.c: Include ggc-internal.h. Remove references to
21318 ggc_alloc in comments.
21319 (ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
21320 (ggc_internal_alloc_zone_pass_stat): New.
21321 (ggc_internal_cleared_alloc_zone_stat): New.
21322 (ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
21323 (ggc_alloc_stat): Rename ggc_internal_alloc_stat.
21324 (new_ggc_zone, destroy_ggc_zone): Remove.
21325
21326 * stringpool.c: Update copyright year. Include ggc-internal.h
21327 (digit_vector): Make static.
21328 (digit_string): Moved from ggc.h.
21329 (stringpool_ggc_alloc): Use ggc_alloc_atomic.
21330 (ggc_alloc_string): Rename to ggc_alloc_string_stat.
21331
21332 * Makefile.in (GGC_INTERNAL_H): New.
21333 (ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
21334 $(GGC_INTERNAL_H) to dependencies.
21335
21336 * gentype.c: Update copyright year.
21337 (walk_type): Accept variable_size GTY option.
21338 (USED_BY_TYPED_GC_P): New macro.
21339 (write_enum_defn): Use USED_BY_TYPED_GC_P. Do not output
21340 whitespace at the end of strings.
21341 (get_type_specifier, variable_size_p): New functions.
21342 (alloc_quantity, alloc_zone): New enums.
21343 (write_typed_alloc_def): New function.
21344 (write_typed_struct_alloc_def): Likewise.
21345 (write_typed_typed_typedef_alloc_def): Likewise.
21346 (write_typed_alloc_defns): Likewise.
21347 (output_typename, write_splay_tree_allocator_def): Likewise.
21348 (write_splay_tree_allocators): Likewise.
21349 (main): Call write_typed_alloc_defns and
21350 write_splay_tree_allocators.
21351
21352 * lto-streamer.h (lto_file_decl_data_ptr): New.
21353
21354 * passes.c (order): Define using cgraph_node_ptr.
21355
21356 * strinpool.c (struct string_pool_data): Declare nested_ptr using
21357 ht_identifier_ptr.
21358
21359 * gimple.h (union gimple_statement_d): Likewise.
21360
21361 * rtl.h (struct rtx_def): Likewise.
21362 (struct rtvec_def): Likewise.
21363
21364 * tree.h (union tree_node): Likewise.
21365
21366 * tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
21367
21368 * cfgloop.c (record_loop_exits): Use htab_create_ggc.
21369
21370 * tree-scalar-evolution.c (scev_initialize): Likewise.
21371
21372 * alias.c (record_alias_subset): Update splay_tree_new_ggc call.
21373
21374 * dwarf2asm.c (dw2_force_const_mem): Likewise.
21375
21376 * omp-low.c (lower_omp_critical): Likewise.
21377
21378 * bitmap.h (struct bitmap_head_def): Update comment to not
21379 reference ggc_alloc.
21380
21381 * config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
21382
21383 * ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
21384
21385 * ipa-prop.c (duplicate_ggc_array): Rename to
21386 duplicate_ipa_jump_func_array. Use typed GC allocation.
21387 (ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
21388
21389 * gimple.c (gimple_alloc_stat): Use
21390 ggc_alloc_cleared_gimple_statement_d_stat.
21391
21392 * varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
21393
21394 * tree.c (make_node_stat): Use
21395 ggc_alloc_zone_cleared_tree_node_stat.
21396 (make_tree_vec_stat): Likewise.
21397 (build_vl_exp_stat): Likewise.
21398 (copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
21399 (make_tree_binfo_stat): Likewise.
21400 (tree_cons_stat): Likewise.
21401
21402 * rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
21403 (shallow_copy_rtx_stat): Likewise.
21404 (make_node_stat): Likewise.
21405
21406 * lto-symtab.c: Fix comment.
21407
21408 * tree-cfg.c (create_bb): Update comment to not reference
21409 ggc_alloc_cleared.
3d25c396 21410 * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value.
a9429e29
LB
21411
21412 * varpool.c (varpool_node): Use typed GC allocation.
21413 (varpool_extra_name_alias): Likewise.
21414
21415 * varasm.c (emutls_decl): Likewise.
21416 (get_unnamed_section): Likewise.
21417 (get_noswitch_section): Likewise.
21418 (get_section): Likewise.
21419 (get_block_for_section): Likewise.
21420 (build_constant_desc): Likewise.
21421 (create_constant_pool): Likewise.
21422 (force_const_mem): Likewise.
21423
21424 * tree.c (build_vl_exp_stat): Likewise.
21425 (build_real): Likewise.
21426 (build_string): Likewise.
21427 (decl_debug_expr_insert): Likewise.
21428 (decl_value_expr_insert): Likewise.
21429 (type_hash_add): Likewise.
21430 (build_omp_clause): Likewise.
21431
21432 * tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
21433
21434 * tree-ssa.c (init_tree_ssa): Likewise.
21435
21436 * tree-ssa-structalias.c (heapvar_insert): Likewise.
21437
21438 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
21439
21440 * tree-ssa-loop-niter.c (record_estimate): Likewise.
21441
21442 * tree-ssa-alias.c (get_ptr_info): Likewise.
21443
21444 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
21445
21446 * tree-phinodes.c (allocate_phi_node): Likewise.
21447
21448 * tree-iterator.c (tsi_link_before): Likewise.
21449 (tsi_link_after): Likewise.
21450
21451 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
21452
21453 * tree-dfa.c (create_var_ann): Likewise.
21454
21455 * tree-cfg.c (create_bb): Likewise.
21456
21457 * toplev.c (alloc_for_identifier_to_locale): Likewise.
21458 (general_init): Likewise.
21459
21460 * stringpool.c (stringpool_ggc_alloc): Likewise.
21461 (gt_pch_save_stringpool): Likewise.
21462
21463 * sese.c (if_region_set_false_region): Likewise.
21464
21465 * passes.c (do_per_function_toporder): Likewise.
21466
21467 * optabs.c (set_optab_libfunc): Likewise.
21468 (set_conv_libfunc): Likewise.
21469
21470 * lto-symtab.c (lto_symtab_register_decl): Likewise.
21471
21472 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
21473 (input_eh_region): Likewise.
21474 (input_eh_lp): Likewise.
21475 (make_new_block): Likewise.
21476 (unpack_ts_real_cst_value_fields): Likewise.
21477
21478 * lto-section-in.c (lto_new_in_decl_state): Likewise.
21479
21480 * lto-cgraph.c (input_node_opt_summary): Likewise.
21481
21482 * loop-init.c (loop_optimizer_init): Likewise.
21483
21484 * lambda.h (lambda_vector_new): Likewise.
21485
21486 * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
21487
21488 * ira.c (update_equiv_regs): Likewise.
21489
21490 * ipa.c (cgraph_node_set_new): Likewise.
21491 (cgraph_node_set_add): Likewise.
21492 (varpool_node_set_new): Likewise.
21493 (varpool_node_set_add): Likewise.
21494
21495 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
21496 (duplicate_ipa_jump_func_array): Likewise.
21497 (ipa_read_node_info): Likewise.
21498
21499 * ipa-cp.c (ipcp_create_replace_map): Likewise.
21500
21501 * integrate.c (get_hard_reg_initial_val): Likewise.
21502
21503 * gimple.c (gimple_alloc_stat): Likewise.
21504 (gimple_build_omp_for): Likewise.
21505 (gimple_seq_alloc): Likewise.
21506 (gimple_copy): Likewise.
21507
21508 * gimple-iterator.c (gsi_insert_before_without_update): Likewise.
21509 (gsi_insert_after_without_update): Likewise.
21510
21511 * function.c (add_frame_space): Likewise.
21512 (insert_temp_slot_address): Likewise.
21513 (assign_stack_temp_for_type): Likewise.
21514 (allocate_struct_function): Likewise.
21515 (types_used_by_var_decl_insert): Likewise.
21516
21517 * except.c (init_eh_for_function): Likewise.
21518 (gen_eh_region): Likewise.
21519 (gen_eh_region_catch): Likewise.
21520 (gen_eh_landing_pad): Likewise.
21521 (add_call_site): Likewise.
21522
21523 * emit-rtl.c (get_mem_attrs): Likewise.
21524 (get_reg_attrs): Likewise.
21525 (start_sequence): Likewise.
21526 (init_emit): Likewise.
21527
21528 * dwarf2out.c (new_cfi): Likewise.
21529 (queue_reg_save): Likewise.
21530 (dwarf2out_frame_init): Likewise.
21531 (new_loc_descr): Likewise.
21532 (find_AT_string): Likewise.
21533 (new_die): Likewise.
21534 (add_var_loc_to_decl): Likewise.
21535 (clone_die): Likewise.
21536 (clone_as_declaration): Likewise.
21537 (break_out_comdat_types): Likewise.
21538 (new_loc_list): Likewise.
21539 (loc_descriptor): Likewise.
21540 (add_loc_descr_to_each): Likewise.
21541 (add_const_value_attribute): Likewise.
21542 (tree_add_const_value_attribute): Likewise.
21543 (add_comp_dir_attribute): Likewise.
21544 (add_name_and_src_coords_attributes): Likewise.
21545 (lookup_filename): Likewise.
21546 (store_vcall_insn): Likewise.
21547 (dwarf2out_init): Likewise.
21548
21549 * dbxout.c (dbxout_init): Likewise.
21550
21551 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
21552
21553 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
21554
21555 * config/score/score7.c (score7_output_external): Likewise.
21556
21557 * config/score/score3.c (score3_output_external): Likewise.
21558
21559 * config/s390/s390.c (s390_init_machine_status): Likewise.
21560
21561 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
21562 (rs6000_init_machine_status): Likewise.
21563 (output_toc): Likewise.
21564
21565 * config/pa/pa.c (pa_init_machine_status): Likewise.
21566 (get_deferred_plabel): Likewise.
21567
21568 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
21569
21570 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
21571
21572 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
21573
21574 * config/mep/mep.c (mep_init_machine_status): Likewise.
21575 (mep_note_pragma_flag): Likewise.
21576
21577 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
21578
21579 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
21580
21581 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
21582
21583 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
21584 (i386_pe_maybe_record_exported_symbol): Likewise.
21585
21586 * config/i386/i386.c (get_dllimport_decl): Likewise.
21587 (ix86_init_machine_status): Likewise.
21588 (assign_386_stack_local): Likewise.
21589
21590 * config/frv/frv.c (frv_init_machine_status): Likewise.
21591
21592 * config/darwin.c (machopic_indirection_name): Likewise.
21593
21594 * config/cris/cris.c (cris_init_machine_status): Likewise.
21595
21596 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
21597
21598 * config/avr/avr.c (avr_init_machine_status): Likewise.
21599
21600 * config/arm/arm.c (arm_init_machine_status): Likewise.
21601
21602 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
21603 (alpha_need_linkage): Likewise.
21604 (alpha_use_linkage): Likewise.
21605
21606 * cgraph.c (cgraph_allocate_node): Likewise.
21607 (cgraph_create_edge_1): Likewise.
21608 (cgraph_create_indirect_edge): Likewise.
21609 (cgraph_add_asm_node): Likewise.
21610
21611 * cfgrtl.c (init_rtl_bb_info): Likewise.
21612
21613 * cfgloop.c (alloc_loop): Likewise.
21614 (rescan_loop_exit): Likewise.
21615
21616 * cfg.c (init_flow): Likewise.
21617 (alloc_block): Likewise.
21618 (unchecked_make_edge): Likewise.
21619
21620 * c-parser.c (c_parse_init): Likewise.
21621 (c_parse_file): Likewise.
21622
21623 * c-decl.c (bind): Likewise.
21624 (record_inline_static): Likewise.
21625 (push_scope): Likewise.
21626 (make_label): Likewise.
21627 (lookup_label_for_goto): Likewise.
21628 (finish_struct): Likewise.
21629 (finish_enum): Likewise.
21630 (c_push_function_context): Likewise.
21631
21632 * bitmap.c (bitmap_element_allocate): Likewise.
21633 (bitmap_gc_alloc_stat): Likewise.
21634
21635 * alias.c (record_alias_subset): Likewise.
21636 (init_alias_analysis): Likewise.
21637
49c8958b 216382010-06-08 Shujing Zhao <pearly.zhao@oracle.com>
3d25c396 21639
49c8958b
SZ
21640 * fold-const.c (fold_comparison): Remove redundant parenthesis.
21641 * tree-inline.c (expand_call_inline): Pass translated return value of
21642 cgraph_inline_failed_string to diagnostic function.
21643
5dfebe0a 216442010-06-08 Andrew Pinski <pinskia@gmail.com>
6a8f4e12
AP
21645 Shujing Zhao <pearly.zhao@oracle.com>
21646
21647 PR c/37724
21648 * c-typeck.c (convert_for_assignment): Call pedwarn_init if the
21649 implicit bad conversions is initialization.
21650 (error_init): Use gmsgid instead of msgid for argument name and change
21651 the call for error.
21652 (pedwarn_init): Use gmsgid instead of msgid for argument name and
21653 change the call for pedwarn.
21654 (warning_init): Use gmsgid instead of msgid for argument name and
21655 change the call for warning.
21656
6e9e0126
NF
216572010-06-07 Nathan Froyd <froydnj@codesourcery.com>
21658
6a8f4e12 21659 * config/mips/mips-protos.h (mips_print_operand): Delete.
6e9e0126
NF
21660 (mips_print_operand_address): Delete.
21661 * config/mips/mips.h (mips_print_operand_punct): Delete.
21662 (PRINT_OPERAND): Delete.
21663 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
21664 (PRINT_OPERAND_ADDRESS): Delete.
21665 * config/mips/mips.c (mips_print_operand_punct): Make static.
21666 (mips_print_operand_address): Make static.
21667 (mips_print_operand): Make static. Call
21668 mips_print_operand_punct_valid_p.
21669 (mips_print_operand_punct_valid_p): New function.
21670 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
21671 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
21672
f2eff9f8
JH
216732010-06-07 Jan Hubicka <jh@suse.cz>
21674
21675 PR middle-end/44454
21676 (df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
21677 are allocated.
21678
10575b5d
KK
216792010-06-07 Kaz Kojima <kkojima@gcc.gnu.org>
21680
21681 * config/sh/sh.c (sh_build_builtin_va_list): Set tree type
21682 name of RECORD.
21683
659b24d6
RO
216842010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21685
21686 * doc/sourcebuild.texi (Effective-Target Keywords, Other
21687 attributes): Document gas.
21688
390b2b32
UB
216892010-06-07 Uros Bizjak <ubizjak@gmail.com>
21690
21691 * config/i386/i386.md (*add<mode>_1): Remove alternative 2.
21692 <TYPE_LEA>: Split instruction.
21693 <default>: Remove alternative 2 handling.
21694 (*addsi_1_zext) <TYPE_LEA>: Split instruction.
21695 (add lea splitter): Generate SImode lea for mode sizes <= SImode.
21696 (add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.
21697
21698 (*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
21699 (ashift_zext lea splitter): Use DImode for multiplication.
21700
21701 * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
21702 to generate addition.
21703
5498f011
JM
217042010-06-07 Joseph Myers <joseph@codesourcery.com>
21705
21706 * common.opt (fira-verbose): Use Var.
21707 (fpcc-struct-return): Use Init instead of VarExists.
21708 * defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
21709 toplev.c.
21710 * flags.h (flag_signed_char, flag_short_enums,
21711 flag_pcc_struct_return, flag_ira_verbose,
3d25c396 21712 flag_detailed_statistics, flag_remove_unreachable_functions): Remove.
5498f011 21713 * toplev.c (flag_detailed_statistics, flag_signed_char,
390b2b32 21714 flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove.
5498f011
JM
21715 (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
21716 * toplev.h (flag_crossjumping, flag_if_conversion,
21717 flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
21718 flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
21719 flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
21720 flag_cprop_registers, time_report, flag_ira_loop_pressure,
21721 flag_ira_coalesce, flag_ira_move_spills,
21722 flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
21723
e7f96023
JH
217242010-06-07 Jan Hubicka <jh@suse.cz>
21725
f2580bd8
L
21726 * df-core.c (df_analyze_problem): Do verification after allocation.
21727
e7f96023
JH
21728 * df-problems.c (df_lr_problem_data): Add lr_bitmaps.
21729 (df_lr_alloc): Initialize problem data; move bitmaps to
21730 lr_bitmaps obstack.
21731 (df_lr_finalize): Free problem data; do not bother to free bitmaps.
21732 (df_lr_verify_solution_start): Do not initialize problem data;
21733 allocate bitmaps in lr_bitmaps.
21734 (df_lr_verify_solution_end): Do not free problem data.
21735
f10ea640
JH
217362010-06-07 Jan Hubicka <jh@suse.cz>
21737
21738 * cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
21739 if caller is noreturn.
21740 * ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
21741 * ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
21742 * ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
21743 * ipa-pure-const.c (check_decl): Add IPA parameter.
21744 (state_from_flags): New function.
21745 (better_state, worse_state): New functions.
21746 (check_call): When in IPA mode, do not care about callees.
21747 (check_load, check_store): Update.
21748 (check_ipa_load, check_ipa_store): New.
21749 (check_stmt): When in IPA mode, use IPA checkers.
21750 (analyze_function): Use state_from_flags.
21751 (propagate): Check indirect edges and references.
21752
5e52ffc4
KH
217532010-06-07 Kazu Hirata <kazu@codesourcery.com>
21754
21755 PR rtl-optimization/44404
21756 * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
3d25c396 21757 of count_occurrences to see if it's safe to modify mem_insn.
5e52ffc4 21758
ae0595b0
RG
217592010-06-07 Richard Guenther <rguenther@suse.de>
21760
21761 * gimplify.c (gimplify_cleanup_point_expr): For empty body
21762 and EH-only cleanup drop the cleanup instead of inserting it
21763 unconditionally.
21764
35e1a5e7
IR
217652010-06-07 Ira Rosen <irar@il.ibm.com>
21766
21767 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
21768 documentation.
21769 * targhooks.c (default_builtin_vectorization_cost): New function.
21770 * targhooks.h (default_builtin_vectorization_cost): Declare.
21771 * target.h (enum vect_cost_for_stmt): Define.
21772 (builtin_vectorization_cost): Change argument and comment.
21773 * tree-vectorizer.h: Remove cost model macros.
21774 * tree-vect-loop.c: Include target.h.
21775 (vect_get_cost): New function.
21776 (vect_estimate_min_profitable_iters): Replace cost model macros with
21777 calls to vect_get_cost.
21778 (vect_model_reduction_cost, vect_model_induction_cost): Likewise.
21779 * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Add
21780 default implementation.
21781 * tree-vect-stmts.c (cost_for_stmt): Replace cost model macros with
21782 calls to target hook builtin_vectorization_cost.
21783 (vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
21784 Likewise.
21785 * Makefile.in (tree-vect-loop.o): Add dependency on TARGET_H.
21786 * config/spu/spu.c (spu_builtin_vectorization_cost): Replace with new
21787 implementation to return costs.
21788 * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
21789 * config/spu/spu.h: Remove vectorizer cost model macros.
21790 * config/i386/i386.h: Likewise.
21791 * tree-vect-slp.c (vect_build_slp_tree): Replace cost model macro with
21792 a call to target hook builtin_vectorization_cost.
21793
81c566c2
ST
217942010-06-06 Sriraman Tallam <tmsriram@google.com>
21795
21796 PR target/44319
21797 * config/i386/i386.c (override_options): Turn zee pass on for level 2
21798 and above and defer till target is known.
21799 (optimization_options): Turn on zee pass if TARGET_64BIT is set and
21800 turn off otherwise.
390b2b32 21801
a7e3698d
JH
218022010-05-25 Jan Hubicka <jh@suse.cz>
21803
21804 * df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
21805 (df_compact_blocks): Likewise.
21806 * df.h (struct df): Turn hardware_regs_used,
21807 regular_block_artificial_uses, eh_block_artificial_uses,
21808 insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
21809 bitmap_head.
21810 * df-problems.c (df_lr_local_compute, df_lr_confluence_0,
21811 df_byte_lr_alloc, df_simulate_fixup_sets): Update.
21812 * df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
21813 df_scan_blocks, df_insn_delete, df_insn_rescan,
21814 df_insn_rescan_debug_internal, df_insn_rescan_all,
21815 df_process_deferred_rescans, df_process_deferred_rescans,
21816 df_notes_rescan, df_get_call_refs, df_get_call_refs,
21817 regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
21818 df_record_entry_block_defs, df_record_exit_block_uses,
21819 df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
21820 df_scan_verify): Update.
21821
e62b90b4
DS
218222010-05-25 Dodji Seketeli <dodji@redhat.com>
21823
21824 PR c++/44188
21825 * c-common.c (is_typedef_decl): Move this definition ...
21826 * tree.c (is_typedef_decl): ... here.
eed023cc 21827 (typdef_variant_p): Move definition here from cp/tree.c.
e62b90b4
DS
21828 * c-common.h (is_typedef_decl): Move this declaration ...
21829 * tree.h (is_typedef_decl): ... here.
eed023cc 21830 (typedef_variant_p): Move declaration here from cp/cp-tree.h
e62b90b4
DS
21831 * dwarf2out.c (is_naming_typedef_decl): New function.
21832 (gen_tagged_type_die): Split out of ...
21833 (gen_type_die_with_usage): ... this function. When an anonymous
21834 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
21835 is emitted for the typedef.
21836 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
21837 anonymous tagged types.
21838
04087cd0
MLI
218392010-06-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
21840
21841 PR c/20000
390b2b32 21842 * c-decl.c (grokdeclarator): Delete warning.
04087cd0 21843
f7b4a383
EB
218442010-06-06 Eric Botcazou <ebotcazou@adacore.com>
21845
21846 * stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the
21847 newly built CALL_EXPR.
df2a52a6
EB
21848 * tree-profile.c (tree_profiling): Don't profile functions produced
21849 for built-in stuff.
f7b4a383 21850
346967d1
SB
218512010-06-06 Segher Boessenkool <segher@kernel.crashing.org>
21852
21853 PR bootstrap/44427
21854 PR bootstrap/44428
3333e146 21855 * genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
346967d1
SB
21856 endianness-independent.
21857
39dabefd
SB
218582010-06-05 Steven Bosscher <steven@gcc.gnu.org>
21859
21860 * c-common.c: Move to c-family/.
21861 * c-common.def: Likewise.
21862 * c-common.h: Likewise.
21863 * c-cppbuiltin.c: Likewise.
21864 * c-dump.c: Likewise.
21865 * c-format.c: Likewise.
21866 * c-format.h : Likewise.
21867 * c-gimplify.c: Likewise.
21868 * c-lex.c: Likewise.
21869 * c-omp.c: Likewise.
21870 * c.opt: Likewise.
21871 * c-opts.c: Likewise.
21872 * c-pch.c: Likewise.
21873 * c-ppoutput.c: Likewise.
21874 * c-pragma.c: Likewise.
21875 * c-pragma.h: Likewise.
21876 * c-pretty-print.c: Likewise.
21877 * c-pretty-print.h: Likewise.
21878 * c-semantics.c: Likewise.
21879 * stub-objc.c: Likewise.
21880
21881 * gengtype.c (get_file_langdir): Special-case files in c-family/.
21882 (get_output_file_with_visibility): Fix name for c-common.h.
21883 * c-config-lang.in: Update paths in gtfiles for files in c-family/.
21884
21885 * c-tree.h: Update include path for moved files.
21886 * c-lang.c: Likewise.
21887 * c-lang.h: Likewise.
21888 * c-parser.c: Likewise.
21889 * c-convert.c: Likewise.
21890 * c-decl.c: Likewise.
21891 * c-objc-common.c: Likewise.
21892 * configure.ac: Make sure c-family/ exists in the build directory.
21893 * configure: Regenerate.
21894 * Makefile.in: Update paths for moved files. Regroup files per
21895 location and update dependencies. Move generated_files down after
21896 ALL_GTFILES_H.
21897
21898 * config/spu/spu-c.c: Update paths for moved files.
21899 * config/mep/mep-pragma.c: Likewise.
21900 * config/darwin-c.c: Likewise.
21901 * config/i386/msformat-c.c: Likewise.
21902 * config/i386/i386-c.c: Likewise.
21903 * config/avr/avr-c.c: Likewise.
21904 * config/sol2-c.c: Likewise.
21905 * config/ia64/ia64-c.c: Likewise.
21906 * config/rs6000/rs6000-c.c: Likewise.
21907 * config/arm/arm.c: Likewise.
21908 * config/arm/arm-c.c: Likewise.
21909 * config/h8300/h8300.c: Likewise.
21910 * config/v850/v850-c.c: Likewise.
21911
21912 * config/t-darwin: Fix dependencies for moved files.
21913 * config/t-sol2: Fix dependencies for moved files.
21914 * config/mep/t-mep: Fix dependencies for moved files.
21915 * config/ia64/t-ia64: Fix dependencies for moved files.
21916 * config/rs6000/t-rs6000: Fix dependencies for moved files.
21917 * config/v850/t-v850: Fix dependencies for moved files.
21918 * config/v850/t-v850e: Fix dependencies for moved files.
21919
21920 * config/m32c/m32c-pragma.c
21921
21922 * po/exgettext: Look in c-family/ also.
21923
ad06ee51
EB
219242010-06-05 Eric Botcazou <ebotcazou@adacore.com>
21925
21926 * tree-ssa-dce.c (mark_last_stmt_necessary): New function.
21927 (mark_control_dependent_edges_necessary): Call it instead of marking
21928 the last statement manually.
21929 (propagate_necessity): Likewise.
21930
0fc555fb
JH
219312010-06-05 Jan Hubicka <jh@suse.cz>
21932
6903fcbd
L
21933 * basic-block.h (compute_dominance_frontiers): Updated.
21934 (compute_idf): Likewise.
21935
0fc555fb
JH
21936 * tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
21937 for dominance frontiers.
3d25c396 21938 (rewrite_into_ssa): Update for bitmap heads in dominance frontiers.
0fc555fb
JH
21939 (insert_updated_phi_nodes_for): Likewise.
21940 (update_ssa): Likewise.
21941 * cfganal.c (compute_dominance_frontiers_1): Likewise.
21942 (compute_dominance_frontiers): Likewise.
21943 (compute_idf): Likewise.
21944 * df-problems.c (df_md_local_compute): Likewise.
21945
f5c21ef3
AS
219462010-06-05 Anatoly Sokolov <aesok@post.ru>
21947
21948 * target.h (struct gcc_target): Add memory_move_cost field.
21949 * target-def.h (TARGET_MEMORY_MOVE_COST): New.
21950 (TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
21951 * targhooks.c (default_memory_move_cost): New function.
21952 * targhooks.h (default_memory_move_cost): Declare function.
21953 * reload.h (memory_move_cost): Declare.
21954 (memory_move_secondary_cost): Change type of 'in' argument to bool.
21955 * reginfo.c (memory_move_cost): New function.
21956 (memory_move_secondary_cost): Change type of 'in' argument to bool.
21957 * ira.h (ira_memory_move_cost): Update comment.
bd3a5d17 21958 * ira.c (ira_memory_move_cost): Update comment.
f5c21ef3
AS
21959 (setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
21960 with memory_move_cost.
21961 * postreload.c (reload_cse_simplify_set): (Ditto.).
21962 * reload1.c (choose_reload_regs): (Ditto.).
21963 * doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
21964 (MEMORY_MOVE_COST): Revise documentation.
21965
21966 * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
21967 * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
21968 * config/i386/i386.h (ix86_memory_move_cost): Make static. Change
21969 type of 'in' argument to bool.
21970 (TARGET_MEMORY_MOVE_COST): Define.
21971
da8c7675
JH
219722010-06-05 Jan Hubicka <jh@suse.cz>
21973
ad06ee51
EB
21974 * ipa-pure-const.c (propagate): Fix typo in handling of functions
21975 that cannot return. Be more careful when merging the results with
21976 previously known ones.
da8c7675 21977
c1ce46a5
MK
219782010-06-05 Matthias Klose <doko@ubuntu.com>
21979
21980 * gcc.c (cc1_options, cpp_unique_options): Use find-plugindir spec
21981 function to add the -iplugindir option.
21982 (find_plugindir_spec_function): Add new declaration and function.
21983 (static_spec_func): Use it for "find-plugindir".
21984
82c3c067
JJ
219852010-06-05 Jakub Jelinek <jakub@redhat.com>
21986
21987 PR c++/44361
21988 * c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
21989 * c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
21990 statement expression.
21991
5c72d561
JH
219922010-06-05 Jan Hubicka <jh@suse.cz>
21993
21994 * df-problems.c (seen_in_block, seen_in_insn): Convert to bitmap_head.
21995 (df_rd_problem_data): Convert sparse_invalidated_by_call,
21996 dense_invalidated_by_call to bitmap head.
21997 (df_rd_alloc, df_rd_bb_local_compute_process_def,
21998 df_rd_bb_local_compute, df_rd_confluence_n, df_rd_transfer_function,
21999 df_rd_start_dump, df_lr_verify_transfer_functions,
22000 df_live_verify_transfer_functions, df_chain_create_bb,
22001 df_chain_add_problem, df_byte_lr_check_regs, df_byte_lr_alloc,
22002 df_byte_lr_confluence_0, df_byte_lr_confluence_n, df_note_compute,
389caea8
EB
22003 df_simulate_one_insn_forwards, df_md_alloc,
22004 df_md_bb_local_compute_process_def,
22005 df_md_bb_local_compute_process_def, df_md_local_compute,
22006 df_md_transfer_function df_md_free): Update.
5c72d561 22007
f2c1da78
JM
220082010-06-05 Joseph Myers <joseph@codesourcery.com>
22009
22010 PR c/44322
22011 * c-typeck.c (build_unary_op): Merge qualifiers into pointer
22012 target type for ADDR_EXPR; require no changes to qualifiers except
22013 for function types.
22014 * c-tree.h (c_build_type_variant): Remove.
22015
4af89b88
SB
220162010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
22017
389caea8 22018 * genautomata.c (get_excl_set): Do work per element, not per char.
4af89b88
SB
22019 (check_presence_pattern_sets): Similar.
22020 (check_absence_pattern_sets): Similar.
22021
99d98200
SB
220222010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
22023
22024 * genautomata.c (curr_state_pass_num): Delete.
22025 (min_issue_delay_pass_states): Delete.
22026 (min_issue_delay): Delete.
22027 (initiate_min_issue_delay_pass_states): Delete.
22028 (output_min_issue_delay_table): Compute min_issue_delay_vect
22029 using a breadth-first search variant.
22030 (output_tables): Don't call initiate_min_issue_delay_pass_states.
22031
c69d3a0e
L
220322010-06-04 H.J. Lu <hongjiu.lu@intel.com>
22033
22034 PR boostrap/44421
390b2b32 22035 * df-problems.c (df_lr_bb_local_compute): Updated for embedded bitmaps.
c69d3a0e
L
22036 (df_byte_lr_bb_local_compute): Likewise.
22037
0a766368
JM
220382010-06-03 Jason Merrill <jason@redhat.com>
22039
22040 Implement noexcept operator (5.3.7)
22041 * c-common.c (c_common_reswords): Add noexcept.
22042 * c-common.h (enum rid): Add RID_NOEXCEPT.
22043
bdc6b402
JM
220442010-06-04 Joseph Myers <joseph@codesourcery.com>
22045
22046 * config/darwin-driver.c (darwin_default_min_version): Use
9f7b464b 22047 GCC-specific formats in diagnostics.
bdc6b402
JM
22048 * cppspec.c (lang_specific_driver): Use GCC-specific formats in
22049 diagnostics.
22050 * gcc.c (translate_options, read_specs, add_sysrooted_prefix,
22051 execute, process_command, end_going_arg, do_self_spec, do_spec_1,
22052 eval_spec_function, handle_braces, process_brace_body, main,
22053 perror_with_name, used_arg, set_multilib_dir, print_multilib_info,
22054 getenv_spec_function, compare_version_strings,
22055 version_compare_spec_function): Use GCC-specific formats in
22056 diagnostics.
22057
7d1f0f8a
UB
220582010-06-04 Uros Bizjak <ubizjak@gmail.com>
22059
22060 * config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
22061 that operand 0 and operand 1 are equal.
22062 (*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
22063 (*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
22064 and operand 1 are equal.
390b2b32 22065 <default>: Ditto. Remove ??? comment.
7d1f0f8a
UB
22066 (*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
22067 and operand 1 are equal.
390b2b32
UB
22068 <default>: Ditto. Remove ??? comment.
22069 (*adddi_4) <default>: Remove assert that operand 0 and operand 1
7d1f0f8a
UB
22070 are equal.
22071 (*add<mode>_4) <default>: Ditto.
22072 (*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
22073
6b3c42ae
NF
220742010-06-04 Nathan Froyd <froydnj@codesourcery.com>
22075
22076 * config/i386/i386-protos.h (ix86_print_operand): Declare.
22077 * config/i386/i386.c (ix86_print_operand): Make non-static.
22078 * config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
22079 * output.h (output_operand): Declare.
22080 * final.c (output_operand): Make non-static.
22081
0fa43fb7
AO
220822010-06-04 Alexandre Oliva <aoliva@redhat.com>
22083
39e7207a
AO
22084 PR rtl-optimization/44013
22085 * sched-deps.c (add_dependence_list_and_free): Don't free lists
22086 when processing debug insns.
22087
0fa43fb7
AO
22088 PR debug/41371
22089 * var-tracking.c (find_loc_in_1pdv): Mark initial value before
22090 recursing. Check that recursion is bounded. Rename inner var
22091 to avoid hiding incoming argument.
22092
ad1f7916
UB
220932010-06-04 Uros Bizjak <ubizjak@gmail.com>
22094
7d1f0f8a
UB
22095 * config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
22096 operands[2] == 255.
ad1f7916
UB
22097 (*addqi_3): Ditto.
22098 (*addqi_4): Ditto.
22099 (*addqi_5): Ditto.
22100 (*addqi_ext_1_rex64): Ditto.
22101 (*addqi_ext_1): Ditto.
22102
22103 (*addqi_4): Check for incdec_operand in QImode.
22104
22105 (*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
22106 using SWI mode iterator.
22107 (*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
22108 (*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
22109 mode iterator.
22110 (*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
22111 using SWI mode iterator.
22112
49706e39
MLI
221132010-06-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
22114
22115 PR c/25880
22116 * c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
22117 * c-format.c (gcc_diag_flag_specs): Add hash.
22118 (gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
22119 (gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
22120 * c-pretty-print.c (pp_c_cv_qualifier): Rename as
22121 pp_c_cv_qualifiers. Handle qualifiers spelling here.
22122 (pp_c_type_qualifier_list): Call the function above.
22123 * c-pretty-print.h (pp_c_cv_qualifiers): Declare.
22124 * c-typeck.c (handle_warn_cast_qual): Print qualifiers.
22125 (WARN_FOR_QUALIFIERS): New macro.
22126 (convert_for_assignment): Use it.
22127
b13ea8bd
KT
221282010-06-04 Kai Tietz <kai.tietz@onevision.com>
22129
ad1f7916 22130 * config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
b13ea8bd 22131
b33a91c9
JH
221322010-06-04 Jan Hubicka <jh@suse.cz>
22133
22134 * df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
22135 df_byte_lr_bb_info): Embedd bitmap_head into the structure.
22136 (DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
22137 DF_BYTE_LR_OUT): Update for embedded bitmaps.
22138 * fwprop.c (single_def_use_enter_block): Likewise.
22139 * ddg.c (create_ddg_dep_from_intra_loop_link,
22140 add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
22141 * loop-iv.c (latch_dominating_def): Likewise.
22142 * df-problems.c (df_rd_free_bb_info, df_rd_alloc,
22143 df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
22144 df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
22145 df_rd_transfer_function, df_rd_top_dump,
22146 df_rd_bottom_dump): Update.
22147 (df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
22148 df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
22149 df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
22150 df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
22151 df_lr_verify_solution_start, df_lr_verify_solution_end,
22152 df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
22153 df_live_free_bb_info, df_live_alloc, df_live_reset,
22154 df_live_bb_local_compute, df_live_init, df_live_transfer_function,
22155 df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
22156 df_live_verify_solution_start, df_live_verify_solution_end,
22157 df_live_verify_transfer_functions, df_chain_create_bb,
22158 df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
22159 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
22160 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
22161 df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
22162 df_byte_lr_confluence_0, df_byte_lr_confluence_n,
22163 df_byte_lr_transfer_function, df_byte_lr_top_dump,
22164 df_byte_lr_bottom_dump, df_create_unused_note,
22165 df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
22166 df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
22167 df_md_transfer_function, df_md_init, df_md_confluence_0,
22168 df_md_confluence_n,
ad1f7916
UB
22169 df_md_top_dump, df_md_bottom_dump): Update.
22170 (struct df_lr_problem_data): Embedd bitmap headers.
b33a91c9 22171
f251709a
JH
221722010-06-04 Jan Hubicka <jh@suse.cz>
22173
ad1f7916
UB
22174 * dce.c (dce_process_block): Do not re-scan already marked
22175 instructions.
f251709a 22176
8ff49c29
BS
221772010-06-04 Bernd Schmidt <bernds@codesourcery.com>
22178
22179 PR rtl-optimization/39871
22180 PR rtl-optimization/40615
22181 PR rtl-optimization/42500
22182 PR rtl-optimization/42502
22183 * ira.c (init_reg_equiv_memory_loc: New function.
22184 (ira): Call it twice.
22185 * reload.h (calculate_elim_costs_all_insns): Declare.
22186 * ira-costs.c: Include "reload.h".
22187 (regno_equiv_gains): New static variable.
22188 (init_costs): Allocate it.
22189 (finish_costs): Free it.
22190 (ira_costs): Call calculate_elim_costs_all_insns.
22191 (find_costs_and_classes): Take estimated elimination costs
22192 into account.
22193 (ira_adjust_equiv_reg_cost): New function.
22194 * ira.h (ira_adjust_equiv_reg_cost): Declare it.
22195 * reload1.c (init_eliminable_invariants, free_reg_equiv,
ad1f7916 22196 elimination_costs_in_insn, note_reg_elim_costly): New static functions.
8ff49c29
BS
22197 (elim_bb): New static variable.
22198 (reload): Move code out of here into init_eliminable_invariants and
22199 free_reg_equiv. Call them.
22200 (calculate_elim_costs_all_insns): New function.
22201 (eliminate_regs_1): Declare. Add extra arg FOR_COSTS;
22202 all callers changed. If FOR_COSTS is true, don't call alter_reg,
22203 but call note_reg_elim_costly if we turned a valid memory address
22204 into an invalid one.
22205 * Makefile.in (ira-costs.o): Depend on reload.h.
22206
95c5655c
JB
222072010-06-04 Julian Brown <julian@codesourcery.com>
22208
22209 * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
22210 for pool ranges.
22211
d4c0c9f6
RG
222122010-06-04 Richard Guenther <rguenther@suse.de>
22213
22214 PR lto/41584
22215 * cgraph.h (struct varpool_node): Add lto_file_data field.
22216 * lto-cgraph.c (input_varpool_node): Initialize it.
22217
308e51aa
UB
222182010-06-04 Uros Bizjak <ubizjak@gmail.com>
22219
22220 * config/i386/predicates.md (pic_symbolic_operand): Remove predicate.
22221 * config/i386/i386.md (*add<mode>_1): Do not use pic_symbolic_operand
22222 predicate in "type" attribute calculation.
22223 (*addsi_1_zext): Ditto.
22224 (*add<mode>_2): Do not use pic_symbolic_operand in insn predicate.
22225 (*addsi_2_zext): Ditto.
22226 (*add<mode>_3): Ditto.
22227 (*addsi_3_zext): Ditto.
22228 (*add<mode>_5): Ditto.
22229
f3cf730b
JH
222302010-06-03 Jan Hubicka <jh@suse.cz>
22231
22232 * tree-into-ssa.c (mark_block_for_update): Avoid redundant call
22233 of bitmap_bit_p.
22234 * cfganal.c (compute_dominance_frontiers_1): Likewise.
22235
95f4cd58
JH
222362010-06-03 Jan Hubicka <jh@suse.cz>
22237
22238 * df-problems.c (df_create_unused_note, df_note_bb_compute):
22239 micro-optimize the checks when to add new note.
22240
6e2188e0
NF
222412010-06-03 Nathan Froyd <froydnj@codesourcery.com>
22242
22243 * final.c (output_asm_insn): Call
22244 targetm.asm_out.print_operand_punct_valid_p. Update comments.
22245 (output_operand): Call targetm.asm_out.print_operand. Update comments.
22246 (output_address): Call targetm.asm_out.print_operand_address.
22247 Update comments.
22248 * target.h (struct gcc_target): Add print_operand,
22249 print_operand_address, and print_operand_punct_valid_p fields.
22250 * targhooks.h (default_print_operand): Declare.
22251 (default_print_operand_address): Declare.
22252 (default_print_operand_punct_valid_p): Declare.
22253 * targhooks.c (default_print_operand): Define.
22254 (default_print_operand_address): Define.
22255 (default_print_operand_punct_valid_p): Define.
22256 * target-def.h (TARGET_PRINT_OPERAND): Define if not defined.
22257 (TARGET_PRINT_OPERAND_ADDRESS): Likewise.
22258 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Likewise.
22259 (TARGET_ASM_OUT): Add TARGET_PRINT_OPERAND,
22260 TARGET_PRINT_OPERAND_ADDRESS, and TARGET_PRINT_OPERAND_PUNCT_VALID_P.
22261 * vmsdbgout.c (addr_const_to_string): Update comment.
22262 * config/i386/i386.c (print_operand): Rename to...
22263 (ix86_print_operand): ...this. Make static.
22264 (print_operand_address): Rename to...
22265 (ix86_print_operand_address): ...this. Make static. Call
22266 ix86_print_operand instead of PRINT_OPERAND.
22267 (ix86_print_operand_punct_valid_p): New function.
22268 (TARGET_PRINT_OPERAND): Define.
22269 (TARGET_PRINT_OPERAND_ADDRESS): Define.
22270 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
22271 * config/i386/i386.h (HI_REGISTER_NAMES): Update comment.
22272 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
22273 (PRINT_OPERAND): Delete.
22274 (PRINT_OPERAND_ADDRESS): Delete.
22275 * config/i386/i386-protos.h (print_operand): Delete prototype.
22276 (print_operand_address): Delete prototype.
22277
bb6c4ac8
RG
222782010-06-03 Richard Guenther <rguenther@suse.de>
22279
22280 PR tree-optimization/44403
22281 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
22282 Preserve pointer qualifiers.
22283 (vect_create_data_ref_ptr): Likewise.
22284
1c314335
L
222852010-06-03 H.J. Lu <hongjiu.lu@intel.com>
22286
22287 PR c++/44294
22288 * defaults.h (MAX_FIXED_MODE_SIZE): New.
22289
22290 * stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
22291
c87d6057
JJ
222922010-06-03 Jakub Jelinek <jakub@redhat.com>
22293
22294 PR debug/44375
22295 * tree-cfg.c (gimple_can_merge_blocks_p): For -O0
22296 return false if merging the bbs would lead to goto_locus
22297 location being lost from the IL.
22298
193d4c0f
JJ
222992010-06-03 Jan Hubicka <jh@suse.cz>
22300 Jakub Jelinek <jakub@redhat.com>
22301
308e51aa 22302 * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
193d4c0f
JJ
22303 set->regs[i] is NULL or has just one entry.
22304
703e95cf
JH
223052010-06-03 Jan Hubicka <jh@suse.cz>
22306
22307 * lto-cgraph.c (lto_varpool_encoder_size): Remove.
22308 * lto-streamer.h (lto_varpool_encoder_size): New inline function.
22309
12a0a4d4
PB
223102010-06-03 Paul Brook <paul@codesourcery.com>
22311
22312 * config/arm/arm.c (FL_TUNE): Define.
22313 (arm_default_cpu, arm_cpu_select): Remove.
22314 (all_cores): Populate core field.
22315 (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
22316 (arm_find_cpu): New function.
22317 (arm_handle_option): Lookup cpu/architecture names.
22318 (arm_override_options): Cleanup mcpu/march/mtune handling.
22319 (arm_file_start): Ditto.
22320
d9d7a1bf
AM
223212010-06-03 Alan Modra <amodra@gmail.com>
22322
22323 PR target/44169
22324 * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
22325 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
22326 rtx to gen_load_toc_v4_PIC_1b. Tidy.
22327 (rs6000_emit_load_toc_table): Likewise.
22328
514f01ad
JH
223292010-06-02 Jan Hubicka <jh@suse.cz>
22330
22331 * passes.c (init_optimization_passes): Put ipa reference
22332 after ipa pure-const.
22333
22a8d1e6
JH
223342010-06-02 Jan Hubicka <jh@suse.cz>
22335
22336 * ipa-reference.c (ipa_reference_local_vars_info_d): Remove
22337 calls_read_all and calls_write_all.
22338 (get_reference_optimization_summary): Fix formatting.
22339 (is_proper_for_analysis): Check that decl is not readonly.
22340 (propagate_bits): Check CONST/PURE/noreturn flags.
22341 (ipa_init): Move all_module_statics to optimization_summary_obstack.
22342 (analyze_function): Ignore indirect edges.
22343 (copy_global_bitmap): For all module statics, do nothing.
22344 (generate_summary): Do not print calls_read_all/calls_write_all.
22345 (read_write_all_from_decl): Take node as argument; check
22346 cgraph_node_cannot_return.
22347 (propagate): Reorganize read_all/write_all computation;
22348 check indirect edges; check ecf flags; use all_module_statics
22349 in the results; do not free all_module_statics.
22350 (stream_out_bitmap): Handle all_module_statics.
22351 (ipa_reference_write_optimization_summary): Likewise; use
22352 varpool/cgraph encoders to get boundaries.
22353 (ipa_reference_read_optimization_summary): Read in all_module_statics;
22354 use it when possible.
22355
92902797
MM
223562010-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
22357
22358 PR target/44218
22359 * doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
308e51aa 22360 -mswdiv option. Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
92902797
MM
22361
22362 * doc/extend.texi (powerpc builtins): Document vec_recip,
22363 vec_rsqrt, vec_rsqrte altivec/vsx builtins.
22364
308e51aa 22365 * config/rs6000/rs60000-protos.h (rs6000_emit_swdiv): New function.
92902797
MM
22366 (rs6000_emit_swrsqrt): Ditto.
22367 (rs6000_emit_swdivsf): Delete.
22368 (rs6000_emit_swdivdf): Ditto.
22369 (rs6000_emit_swrsqrtsf): Ditto.
22370
22371 * config/rs6000/rs6000.c (rs6000_recip_bits): New global to
22372 describe the reciprocal estimate support for each type.
22373 (recip_options): Map -mrecip=<opt> into option bits.
22374 (gen_2arg_fn_t): New typedef for binary rtx gen function.
22375 (rs6000_debug_reg_global): If -mdebug=reg, print the state of the
22376 reciprocal estimate instructions.
22377 (rs6000_init_hard_regno_mode_ok): Key ws constraint off of the
22378 debug -mvsx-scalar-memory switch instead of -mvsx-scalar-double.
22379 Set up rs6000_recip_bits based on the -mrecip* options. Print the
22380 cost information if -mdebug=cost or -mdebug=reg.
22381 (rs6000_override_options): Set -mrecip-precision for power6, and
22382 power7 machines. If -mvsx or -mdfp, enable various options that
22383 came in previous instruction set ISAs, unless the option was
22384 explicitly disabled by the command line option. Parse
22385 -mrecip=<opt> options.
22386 (rs6000_builtin_vectorized_function): Add support for vectorizing
22387 the reciprocal estimate builtins and expansions.
22388 (rs6000_handle_option): Add -mrecip, -mrecip=<opt> support.
22389 (bdesc_2arg): Add reciprocal estimate builtins.
22390 (bdesc_1arg): Add reciprocal square root estimate builtins.
22391 (rs6000_expand_builtin): Rewrite to use a switch statement,
308e51aa 22392 instead of multiple if/then/elses. Add reciprocal estimate builtins.
92902797
MM
22393 (rs6000_init_builtins): Create declarations for reciprocal
22394 estimate builtins.
22395 (rs6000_preferred_reload_class): Simplify VSX preferences, if scalar
22396 sized, prefer traditional floating point registers, if integer
22397 vector types, prefer altivec registers. Don't actually look at
22398 the memory address any more.
22399 (rs6000_builtin_reciprocal): Add new builtin reciprocal estimate
22400 builtins.
22401 (rs6000_load_constant_and_splat): New helper function to load up
22402 the constant for reciprocal estimate instructions.
22403 (rs6000_emit_madd): New helper function for generating
22404 multiply/add type instructions, based on the current switches.
22405 (rs6000_emit_msub): Ditto.
22406 (rs6000_emit_mnsub): Ditto.
22407 (rs6000_emit_swdiv_high_precision): Replace rs6000_emit_swdivsf to
22408 replace a divide with a reciprocal estimate and fixup, adding
22409 support for machines with high precision and vectors.
22410 (rs6000_emit_swdiv_low_precision): Rewrite rs6000_emit_swdivdf for
22411 low precision machines.
22412 (rs6000_emit_swdiv): New common function to be called to replace a
22413 division with reciprocal estimate and fixup.
22414 (rs6000_emit_swrsqrt): Replace rs6000_emit_swrsqrtsf. Add support
308e51aa 22415 for double and vector types. Add support for high precision machines.
92902797
MM
22416
22417 * config/rs6000/rs6000.h (TARGET_FRES): New macro to say whether
22418 the reciprocal estimate instructions can be generated.
22419 (TARGET_FRE): Ditto.
22420 (TARGET_FRSQRTES): Ditto.
22421 (TARGET_FRSQRTE): Ditto.
22422 (RS6000_RECIP_*): New macros for reciprocal estimate support.
22423
22424 * config/rs6000/vector.md (rsqrte<mode>2): New insn for reciprocal
22425 square root estimate on vectors.
22426 (re<mode>2): New insn for reciprocal division estimate on vectors.
22427
22428 * config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
22429 New builtin.
22430 (ALTIVEC_BUILTIN_VRECIPFP): Ditto.
22431 (ALTIVEC_BUITLIN_VEC_RE): Ditto.
22432 (ALTIVEC_BUILTIN_VEC_RSQRT): Ditto.
22433 (VSX_BUILTIN_RSQRT_V4SF): Ditto.
22434 (VSX_BUITLIN_RSQRT_V2DF): Ditto.
22435 (RS6000_BUILTIN_RSQRT): Ditto.
22436 (ALTIVEC_BUILTIN_VEC_RSQRTE): Denote that the builtin is a
22437 floating point builtin.
22438
22439 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
22440 macros __RECIP__, __RECIPF__, __RSQRTE__, __RSQRTEF__,
22441 __RECIP_PRECISION__ based on the command line switches.
22442 (altivec_overloaded_builtins): Add reciprocal estimate builtins.
22443
22444 * config/rs6000/rs6000.opt (-mrecip): Document add support for
308e51aa 22445 replacing division instructions with reciprocal estimate and fixup.
92902797
MM
22446 (-mrecip=<opt>): New option.
22447 (-mrecip-precision): Ditto.
22448
22449 * config/rs6000/vsx.md (UNSPEC_VSX_RSQRTE): Delete.
22450 (vsx_rsqrte<mode>2): Use UNSPEC_RSQRT not UNSPEC_VSX_RSQRTE.
22451 (vsx_copysignsf3): If -mvsx, use double precision cpsign on single
22452 precision scalar.
22453
22454 * config/rs6000/altivec.md (UNSPEC_RSQRTEFP): Delete.
22455 (UNSPEC_VREFP): Ditto.
22456 (altivec_vnmsubfp*): Make altivec nmsub mirror the scalar and VSX
308e51aa 22457 conterparts with regard to support of -mno-fused-madd and -ffast-math.
92902797
MM
22458 (altivec_vrsqrtefp): Use common UNSPEC to allow scalar/vector
22459 reciprocal estimate instructions to be generated.
22460 (altivec_vrefp): Ditto.
22461
22462 * config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
22463 estimate support.
22464 (rreg): New mode attribute for reciprocal estimate support.
22465 (recip<mode>3): New insn for division using reciprocal estimate
22466 and fixup builtins.
22467 (divide define_split): New define_split to convert floating point
22468 division to use reciprocal estimate if the user used the
22469 appropriate options and the split is run when we can add new
22470 pseudo registers for the fixup.
22471 (rsqrt<mode>2): New insn for reciprocal square root support.
22472 (recipsf3): Move into recip<mode>3.
22473 (recipdf3): Ditto.
22474 (fres): Use TARGET_FRES.
22475 (rsqrtsf2): Move into rsqrt<mode>2.
22476 (rsqrtsf_internal1): Use TARGET_FRSQRTSES.
22477 (copysignsf3): Add support for VSX.
22478 (fred): Use TARGET_FRE.
22479 (fred_fpr): Ditto.
22480 (rsqrtdf_internal1): New function for frsqrte instruciton.
22481
308e51aa 22482 * config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
92902797
MM
22483 (vec_rsqrt): Ditto.
22484
eef4a603
RG
224852010-06-03 Richard Guenther <rguenther@suse.de>
22486
22487 PR middle-end/44291
22488 * optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
22489 (set_user_assembler_libfunc): Likewise.
22490
77ec4307
SB
224912010-06-02 Steven Bosscher <steven@gcc.gnu.org>
22492
22493 * mkconfig.sh: Include insn-flags.h and insn-constants.h before
22494 defaults.h.
22495 * except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
22496 to defaults.h
22497 * expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
22498 DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
22499 FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
22500 STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
22501 STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
22502 STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
22503 STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
22504 STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
22505 * defaults.h: Updated for above mentioned changes.
22506
ef2d9e4d
KT
225072010-06-02 Kai Tietz <kai.tietz@onevision.com>
22508
22509 * c-common.c: Remove header include of tm_p.h.
22510 * Makefile.in (c-common.o): Remove TM_P_H dependency.
22511
53e030f1
JJ
225122010-06-02 Jakub Jelinek <jakub@redhat.com>
22513
22514 * tree.h (struct tree_decl_map): New type.
22515 (tree_decl_map_eq, tree_decl_map_marked_p): Define.
22516 (tree_decl_map_hash): New prototype.
22517 (debug_expr_for_decl, value_expr_for_decl): Change into
22518 tree_decl_map hashtab from tree_map.
22519 (init_ttree): Adjust initialization.
22520 (tree_decl_map_hash): New function.
22521 (decl_debug_expr_lookup, decl_debug_expr_insert,
22522 decl_value_expr_lookup, decl_value_expr_insert): Adjust.
22523
a6198222
RO
225242010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22525
22526 * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
22527 linker emulations.
22528 * configure: Regenerate.
22529 * config.in: Regenerate.
22530
22531 * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
22532 (X86_64_EMULATION): Define.
22533 (TARGET_LD_EMULATION): Use them.
22534
22535 * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
22536 (SPARC64_EMULATION): Define.
22537 (LINK_ARCH_SPEC): Use them.
22538
d6abd6d8
SP
225392010-06-02 Sebastian Pop <sebastian.pop@amd.com>
22540
22541 * graphite-clast-to-gimple.c (gcc_type_for_interval): Use
22542 smallest_mode_for_size for computing the precision types of new
22543 graphite IVs. Do not call lang_hooks.types.type_for_size.
22544
718d3588
SP
225452010-06-02 Sebastian Pop <sebastian.pop@amd.com>
22546
22547 * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
22548 information.
22549 (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
22550
5521cae9
SP
225512010-06-02 Sebastian Pop <sebastian.pop@amd.com>
22552
22553 PR middle-end/44363
22554 * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
22555 return false instead.
22556
437ffe7b
JH
225572010-06-02 Jan Hubicka <jh@suse.cz>
22558
22559 PR middle-end/44295
22560 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
22561 create new cgraph node to check callee.
22562
f3dcdff7
RG
225632010-06-02 Richard Guenther <rguenther@suse.de>
22564
22565 * lto-streamer-in.c (input_gimple_stmt): Fix typo.
22566
396717c9
RG
225672010-06-02 Richard Guenther <rguenther@suse.de>
22568
22569 * lto-wrapper.c (lto_wrapper_exit): Rename to ...
22570 (lto_wrapper_cleanup): ... this. Do not exit.
22571 (fatal): Adjust. Exit here.
22572 (fatal_perror): Likewise.
22573 (fatal_signal): New function.
22574 (main): Set up signal handlers to cleanup temporary files.
22575 * Makefile.in (lto-wrapper.o): Adjust dependencies.
22576
2698955a
RG
225772010-06-02 Richard Guenther <rguenther@suse.de>
22578
22579 PR tree-optimization/44377
22580 * tree-ssa-structalias.c (find_func_aliases): Fix typo.
22581
30972225
AK
225822010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
22583
22584 * config/s390/2097.md (z10_fhex): Remove insn reservation.
22585 * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
22586 (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
22587 *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
22588 instruction.
308e51aa 22589 * config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
30972225 22590
d4fb676f
JH
225912010-06-02 Jan Hubicka <jh@suse.cz>
22592
22593 * bitmap.c (bitmap_descriptor): Add search_iter.
22594 (bitmap_find_bit): Increment it.
22595 (print_statistics): Print it.
22596
36c4a482
NF
225972010-06-02 Nathan Froyd <froydnj@codesourcery.com>
22598
22599 * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
22600 instead of gimple_build_call_vec. Delete unnecessary local variable.
22601
f66d6761
SB
226022010-06-02 Steven Bosscher <steven@gcc.gnu.org>
22603
22604 * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
22605 change from yesterday.
22606
a8cd9c51
SB
226072010-06-02 Steven Bosscher <steven@gcc.gnu.org>
22608
22609 * c-ada-spec.c: Clean up redundant includes.
22610
2eb79bbb
SB
226112010-06-01 Steven Bosscher <steven@gcc.gnu.org>
22612
22613 * gimplify.c: Do not include except.h and optabs.h.
22614 (gimplify_body): Do not initialize RTL profiling.
22615 * gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
22616 langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
22617 * gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
22618 output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
22619 langhooks.h.
22620
22621 * tree-pretty-print.h: Include pretty-print.h.
22622 * gimple-pretty-print.h: Include pretty-print.h.
22623
22624 * tree-pretty-print.c: Do not include diagnostic.h.
22625 * tree-vrp.c: Likewise.
22626 * tree-tailcall.c: Likewise
22627 * tree-scalar-evolution.c: Likewise
22628 * tree-ssa-dse.c: Likewise
22629 * tree-chrec.c: Likewise
22630 * tree-ssa-sccvn.c: Likewise
22631 * tree-ssa-copyrename.c: Likewise
22632 * tree-nomudflap.c: Likewise
22633 * tree-call-cdce.c: Likewise
22634 * tree-stdarg.c: Likewise
22635 * tree-ssa-math-opts.c: Likewise
22636 * tree-nrv.c: Likewise
22637 * tree-ssa-sink.c: Likewise
22638 * tree-browser.c: Likewise
22639 * tree-ssa-loop-ivcanon.c: Likewise
22640 * tree-ssa-loop.c: Likewise
22641 * tree-parloops.c: Likewise
22642 * tree-ssa-address.c: Likewise
22643 * tree-ssa-ifcombine.c: Likewise
22644 * tree-if-conv.c: Likewise
22645 * tree-data-ref.c: Likewise
22646 * tree-affine.c: Likewise
22647 * tree-ssa-phiopt.c: Likewise
22648 * tree-ssa-coalesce.c: Likewise
22649 * tree-ssa-pre.c: Likewise
22650 * tree-ssa-live.c: Likewise
22651 * tree-predcom.c: Likewise
22652 * tree-ssa-forwprop.c: Likewise
22653 * tree-ssa-dce.c: Likewise
22654 * tree-ssa-ter.c: Likewise
22655 * tree-ssa-loop-prefetch.c: Likewise
22656 * tree-optimize.c: Likewise
22657 * tree-ssa-phiprop.c: Likewise
22658 * tree-object-size.c: Likewise
22659 * tree-outof-ssa.c: Likewise
22660 * tree-ssa-structalias.c: Likewise
22661 * tree-switch-conversion.c: Likewise
22662 * tree-ssa-reassoc.c: Likewise
22663 * tree-ssa-operands.c: Likewise
22664 * tree-vectorizer.c: Likewise
22665 * tree-vect-data-refs.c: Likewise
22666 * tree-vect-generic.c: Likewise
22667 * tree-vect-stmts.c: Likewise
22668 * tree-vect-patterns.c: Likewise
22669 * tree-vect-slp.c: Likewise
22670 * tree-vect-loop.c: Likewise
22671 * tree-ssa-loop-ivopts.c: Likewise
22672 * tree-ssa-loop-im.c: Likewise
22673 * tree-ssa-loop-niter.c: Likewise
22674 * tree-ssa-loop-unswitch.c: Likewise
22675 * tree-ssa-loop-manip.c: Likewise
22676 * tree-ssa-loop-ch.c: Likewise
22677 * tree-dump.c: Likewise
22678 * tree-complex.c: Likewise
22679
22680 * tree-into-ssa.c: Do not include diagnostic.h and expr.h.
22681 * tree-ssa-uninit.c: Likewise
22682 * tree-ssa-threadupdate.c: Likewise
22683 * tree-ssa-uncprop.c: Likewise
22684 * tree-ssa-ccp.c: Likewise
22685 * tree-ssa-dom.c: Likewise
22686 * tree-ssa-propagate.c: Likewise
22687 * tree-ssa-alias.c: Likewise
22688 * tree-dfa.c: Likewise
22689 * tree-cfgcleanup.c: Likewise
22690 * tree-sra.c: Likewise
22691 * tree-ssa-copy.c: Likewise
22692 * tree-ssa.c: Likewise
22693 * tree-profile.c: Likewise
22694 * tree-cfg.c: Likewise
22695 * tree-ssa-threadedge.c: Likewise
22696 * tree-vect-loop-manip.c: Likewise
22697
22698 * tree-inline.c: Do not include diagnostic.h and expr.h.
22699 Include rtl.h.
22700 (copy_decl_for_dup_finish): Do not use NULL_RTX.
22701
308e51aa 22702 * tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
2eb79bbb
SB
22703 * tree-loop-distribution.c: Likewise.
22704
73add7fe
JH
227052010-06-01 Jan Hubicka <jh@suse.cz>
22706
22707 * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
22708
566d09ef
JH
227092010-06-01 Jan Hubicka <jh@suse.cz>
22710
22711 * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
22712 remove return value.
22713 (split_bbs_on_noreturn_calls) .... here.
22714 * tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
22715 * tree-flow.h (fixup_noreturn_call): New.
22716
fb9ef4c1
JH
227172010-06-01 Jan Hubicka <jh@suse.cz>
22718
22719 * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
22720
6594b49d
NF
227212010-06-01 Nathan Froyd <froydnj@codesourcery.com>
22722
22723 * tree.h (build_nt_call_list): Delete.
22724 * tree.c (build_nt_call_list): Delete.
22725
5936d944
JH
227262010-06-01 Jan Hubicka <jh@suse.cz>
22727
22728 * fwprop.c: Make emit-rtl.h include last.
22729 * rtlanal.c: Include emit-rtl.h.
22730 * genautomata.c: Output emit-rtl include into insn-automata.c
22731 * df-scan.c: Include emit-rtl.h.
22732 * haifa-sched.c: Indlude emit-rtl.h.
22733 * mode-switching.c: Indlude emit-rtl.h.
22734 * graph.c: Indlude emit-rtl.h.
22735 * sel-sched.c: Include emit-rtl.h.
22736 * sel-sched-ir.c: Include emit-rtl.h.
22737 * ira-build.c: Include emit-rtl.h.
bd3a5d17 22738 * emit-rtl.c (first_insn, last_insn): Remove defines.
5936d944
JH
22739 (get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
22740 Move to emit-rtl.h.
308e51aa
UB
22741 (set_new_first_and_last_insn, get_last_insn_anywhere,
22742 get_first_nonnote_insn, get_last_nonnote_insn, try_split,
22743 make_call_insn_raw, add_insn_after, add_insn_before, remove_insn,
22744 delete_insns_since, reorder_insns_nobb, emit_insn_after_1,
22745 emit_debug_insn_before, emit_insn, start_sequence, push_to_sequence,
22746 push_to_sequence2, push_topmost_sequence, end_sequence, copy_insn):
22747 Use accessor functions.
5936d944
JH
22748 * emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
22749 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
22750 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
308e51aa 22751 mem_expr_equal_p): Move here from rtl.h.
5936d944
JH
22752 (get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
22753 Move here from emit-rtl.c; make inline.
308e51aa 22754 * cfglayout.h: Include emit-rtl.h.
5936d944
JH
22755 * rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
22756 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
22757 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
308e51aa
UB
22758 mem_expr_equal_p, get_insns, set_first-insn,
22759 get_last_insn, set_last_insn, get_max_uid): Move to emit-rtl.h.
22760 * reg-stack.c: Include emit-rtl.h.
5936d944
JH
22761 * dce.c: Likewise.
22762
91382288
JH
227632010-06-01 Jan Hubicka <jh@suse.cz>
22764
22765 * cgraph.h (tree_function_versioning): Update prototype.
22766 (cgraph_function_versioning): Update prototype.
22767 * cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
22768 bitmap.
308e51aa 22769 (cgraph_function_versioning): Accept new_entry_block and bbs_to_copy.
91382288
JH
22770 (cgraph_materialize_clone, save_inline_function_body): Update use of
22771 tree_function_versioning.
308e51aa
UB
22772 * tree-inline.c (copy_bb): Look for previous copied block to link
22773 after; fix debug output.
91382288
JH
22774 (copy_cfg_body): Accept new_entry_block and bbs_to_copy.
22775 (copy_body): Likewise.
22776 (expand_call_inline): Update use of copy_body.
22777 (tree_function_versioning): Update use of copy body; accept
22778 blocks_to_copy and new_entry.
22779
6ac9d3a3
JH
227802010-06-01 Jan Hubicka <jh@suse.cz>
22781
22782 * gegenrtl.c: Remove unnecesary prototypes.
22783 (gendecl): Remove.
22784 (gendef): Produce static inline.
22785 (gencode): Remove.
22786 (main): Do not decode parameters; generate header only.
22787 * Makefile.in (genrtl.c): Remove.
22788
2e3b4885
JH
227892010-06-01 Jan Hubicka <jh@suse.cz>
22790
22791 * tree-switch-conversion.c (build_one_array): Make it readonly.
22792
0641fa97
RG
227932010-06-01 Richard Guenther <rguenther@suse.de>
22794
22795 * optabs.c (init_optabs): Guard all accesses to reinit.
22796 * ipa-pure-const.c (propagate): Fix another typo.
22797 * opts.c (common_handle_option): Split assignment to bool.
22798 * c-opts.c (c_common_handle_option): Likewise.
22799
9cc54940 228002010-06-01 Arnaud Charlet <charlet@adacore.com>
308e51aa 22801 Matthew Gingell <gingell@adacore.com>
9cc54940
AC
22802
22803 * doc/invoke.texi: Mention -fdump-ada-spec.
22804 * tree-dump.c (dump_files): Add ada-spec.
22805 (FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
22806 * tree-pass.h (tree_dump_index): Add TDI_ada.
22807 * gcc.c: Add support for -C without -E and for -fdump-ada-spec.
22808 (cpp_unique_options): Do not reject -C or -CC when -E isn't present.
22809 (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
22810 * c-decl.c: Include c-ada-spec.h.
22811 (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
22812 functions.
22813 (c_write_global_declarations): Add handling of -fdump-ada-spec.
22814 * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
22815 * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
22816 * c-ada-spec.h, c-ada-spec.c: New files.
22817
97d45cef
RG
228182010-06-01 Richard Guenther <rguenther@suse.de>
22819
22820 PR lto/43853
22821 * ipa-pure-const.c (get_function_state): Hand back varying state
22822 if we do not have one.
22823 (has_function_state): New function.
22824 (duplicate_node_data): Adjust.
22825 (remove_node_data): Likewise.
22826 (pure_const_write_summary): Likewise.
22827 (propagate): Likewise. Fix typo.
22828
f7fbb475
JH
228292010-06-01 Jan Hubicka <jh@suse.cz>
22830
22831 * tree-cfg.c (verify_stmt): Do not skip could_throw test.
22832 * passes.c (execute_function_todo): Do not make implicit verify_ssa.
22833 (execute_all_ipa_transforms): Do not play with the states.
22834
d47a371c
MK
228352010-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
22836
22837 * config/arm/t-linux-androideabi: New.
389caea8 22838 * config.gcc (arm*-*-linux-androideabi): Include multilib config.
d47a371c 22839
613f61fc
JH
228402010-06-01 Jan Hubicka <jh@suse.cz>
22841
22842 * tree-inline.c (estimate_num_insns): For stdarg functions look
22843 into call statement to count cost of argument passing.
22844
193d4c0f 228452010-06-01 Kai Tietz <kai.tietz@onevision.com>
42ad7bc8 22846
308e51aa
UB
22847 * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
22848 argument for fprintf.
22849 (ix86_output_addr_diff_elt): Likewise.
22850 (x86_function_profiler): Likewise.
22851 * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
22852 (LPREFIX): Likewise.
22853 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
42ad7bc8 22854
c71ad61e
JJ
228552010-05-31 Jakub Jelinek <jakub@redhat.com>
22856
22857 PR target/44338
22858 * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
22859 fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
22860 fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
22861 fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
22862 fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
22863 fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
22864 fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
22865 Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
22866 TARGET_FUSED_MADD.
22867
63f1c699
JH
228682010-05-31 Jan Hubicka <jh@suse.cz>
22869
22870 * tree.h (tree_range_check_failed): Declare noreturn.
22871
4892422a
JH
228722010-05-31 Jan Hubicka <jh@suse.cz>
22873
22874 * gimple.c (gimple_call_builtin_p): New function.
22875 * gimple.h (gimple_call_builtin_p): Declare.
22876 * tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
22877 to exit.
22878 (execute_warn_function_return): BUILT_IN_RETURN is return.
22879 (split_critical_edges): Return edges are not critical.
22880 (is_ctrl_altering_stmt): Builtin_in_return is altering.
22881 (gimple_verify_flow_info): Handle built_in_return.
22882 (execute_warn_function_return): Handle built_in_return.
22883 * ipa-pure-const.c (check_call): Ignore builtin_return.
22884
90a7788b
JJ
228852010-05-31 Jakub Jelinek <jakub@redhat.com>
22886
6a866023
JJ
22887 PR middle-end/44337
22888 * expr.c (expand_assignment): Don't store anything for out-of-bounds
22889 array accesses with non-MEM.
22890
90a7788b
JJ
22891 PR tree-optimization/44182
22892 * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
22893 newly needs to end a bb is followed by debug stmts, instead return
22894 true from the function at the end.
22895 (maybe_move_debug_stmts_to_successors): New function.
22896 (copy_cfg_body): Call it if copy_edges_for_bb returned true.
22897
877a19bf
KT
228982010-05-31 Kai Tietz <kai.tietz@onevision.com>
22899
22900 PR target/44161
308e51aa 22901 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
877a19bf 22902
c5d01958
EB
229032010-05-31 Eric Botcazou <ebotcazou@adacore.com>
22904
22905 * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
22906 for nested functions in non-optimized compilation.
22907
a4c9bc15
RG
229082010-05-31 Richard Guenther <rguenther@suse.de>
22909
308e51aa 22910 * tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
a4c9bc15 22911
22983f55
JH
229122010-05-30 Jan Hubicka <jh@suse.cz>
22913
22914 * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
22915
66a3e339
RG
229162010-05-30 Richard Guenther <rguenther@suse.de>
22917
22918 PR lto/42975
22919 * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
22920 (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
22921 no longer needed.
22922
83bf7f5e
IS
229232010-05-30 Iain Sandoe <iains@gcc.gnu.org>
22924
22925 * config/darwin.c (output_objc_section_asm_op): Add comment.
22926 (name_needs_quotes): Add '_' to list of valid comment chars.
22927 (machopic_output_function_base_name): Remove unneeded quotes.
22928 (darwin_encode_section_info): Adjust asm whitespace.
22929 * config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
22930 (ASM_OUTPUT_LOCAL): Ditto.
22931 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
22932 * config/darwin.h (GLOBAL_ASM_OP): Ditto.
22933 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
308e51aa 22934
18fc5f44
EB
229352010-05-30 Eric Botcazou <ebotcazou@adacore.com>
22936
22937 * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
22938 RS6000_OUTPUT_BASENAME unconditionally.
22939 (rs6000_output_function_epilogue): Likewise.
22940
babf1701
JH
229412010-05-30 Jan Hubicka <jh@suse.cz>
22942
22943 * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
c5d01958 22944 nodes.
babf1701 22945
fbd767b1
RG
229462010-05-30 Richard Guenther <rguenther@suse.de>
22947
22948 * tree-cfg.c (verify_gimple_assign_single): Implement
22949 verification for COND_EXPR rhs.
22950
0a5fa5a1
JH
229512010-05-30 Jan Hubicka <jh@suse.cz>
22952
22953 * cgraph.h (cgraph_dump_file): Declare.
22954 * cgraphunit.c (cgraph_dump_file): Export.
308e51aa 22955 * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose.
0a5fa5a1 22956
0b9c3a04
JH
229572010-05-30 Jan Hubicka <jh@suse.cz>
22958
22959 * dwarf2out.c (reference_to_unused,
18fc5f44
EB
22960 premark_types_used_by_global_vars_helper): Avoid creation of new
22961 varpool nodes.
0b9c3a04 22962
d56026c2
JH
229632010-05-30 Jan Hubicka <jh@suse.cz>
22964
22965 * cgraph.h (cgraph_node_cannot_return,
22966 cgraph_edge_cannot_lead_to_return): New functions.
22967 * cgraph.c (cgraph_node_cannot_return,
22968 cgraph_edge_cannot_lead_to_return): Use them.
22969 * ipa-pure-const.c (pure_const_names): New static var.
22970 (check_call): Handle calls not leading to return.
22971 (pure_const_read_summary): Dump info read.
308e51aa
UB
22972 (propagate): Dump info about propagation process; ignore side effects
22973 of functions not leading to exit; fix handling of pure functions.
d56026c2 22974
17f01631
JH
229752010-05-30 Jan Hubicka <jh@suse.cz>
22976
22977 * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
22978 for tail call epilogues.
22979
f59292da
JH
229802010-05-30 Jan Hubicka <jh@suse.cz>
22981
22982 * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
18fc5f44
EB
22983 ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
22984 dump files.
f59292da 22985
8a6295ba
JH
229862010-05-29 Jan Hubicka <jh@suse.cz>
22987
18fc5f44
EB
22988 * ipa.c (cgraph_remove_unreachable_node): Walk references of correct
22989 node; remove references in node we no longer keep in cgrpah but need
22990 body of.
8a6295ba 22991
7baeea85
JH
229922010-05-29 Jan Hubicka <jh@suse.cz>
22993
22994 * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
22995
482959e5
JDA
229962010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
22997
22998 PR target/44165
22999 * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
23000
24e47c76
JH
230012010-05-29 Jan Hubicka <jh@suse.cz>
23002
23003 * tree-vrp.c (debug_value_range, debug_all_value_ranges,
23004 debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
23005 * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
23006 debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
308e51aa 23007 debug_names_replaced_by, debug_update_ssa): Likewise.
24e47c76
JH
23008 * sbitmap.c (debug_sbitmap): Likewise.
23009 * genrecog.c (debug_decision, debug_decision_list): Likewise.
23010 * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
23011 debug_tree_chain): Likewise.
23012 * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
23013 * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
a691bb08 23014 * optabs.c (debug_optab_libfuncs): Likewise.
24e47c76
JH
23015 (verify_loop_closed_ssa): Likewise.
23016 * value-prof.c (verify_histograms): Likewise.
23017 * reload.c (debug_reload_to_stream, debug_reload): Likewise.
23018 * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
23019 * cfghooks.c (verify_flow_info): Likewise.
23020 * fold-const.c (debug_fold_checksum): Likewise.
23021 * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
23022 * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
23023 Likewise.
23024 * omega.c (debug_omega_problem): Likewise.
23025 * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
23026 * tree-ssa-ccp.c (debug_lattice_value): Likewise.
23027 * dominance.c (verify_dominators, debug_dominance_info,
23028 debug_dominance_tree): Likewise.
23029 * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
23030 * df_regno_debug, df_ref_debug,
23031 debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
23032 debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
23033 * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
23034 * sel-sched.c (debug_state): Likewise.
18fc5f44
EB
23035 * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
23036 Likewise.
24e47c76
JH
23037 * cfganal.c (print_edge_list, verify_edge_list): Likewise.
23038 * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
23039 * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
18fc5f44
EB
23040 * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
23041 Likewise.
24e47c76
JH
23042 * c-pretty-print.c (debug_c_tree): Likewise.
23043 * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
18fc5f44
EB
23044 debug_av_set, debug_lv_set, debug_ilist, debug_blist,
23045 debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
24e47c76
JH
23046 * ebitmap.c (debug_ebitmap): Likewise.
23047 * function.c (debug_find_var_in_block_tree): Likewise.
23048 * print-rtl.c (debug_rtx): Likewise.
23049 (debug_rtx_count): Likewise.
23050 (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
23051 * stor-layout.c (debug_rli): Likewise.
23052 * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
18fc5f44
EB
23053 * tree-data-ref.c (debug_data_references,
23054 debug_data_dependence_relations, debug_data_reference,
23055 debug_data_dependence_relation, debug_rdg_vertex,
24e47c76
JH
23056 debug_rdg_component, debug_rdg): Likewise.
23057 * tree-affine.c (debug_aff): Likewise.
18fc5f44
EB
23058 * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
23059 Likewise.
24e47c76
JH
23060 * except.c (debug_eh_tree, verify_eh_tree): Likewise.
23061 * emit-rtl.c (verify_rtl_sharing): Likewise.
23062 * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
23063 debug_value_expressions): Likewise.
23064 * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
23065 * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
23066 * print-tree.c (debug_tree, debug_vec_tree): Likewise.
23067 * cfglayout.c (verify_insn_chain): Likewise.
23068 * graphite-clast-to-gimple.c (debug_clast_name_indexes,
23069 debug_clast_stmt, debug_generated_program): Likewise.
23070 * ggc-page.c (debug_print_page_list): Likewise.
23071 * tree-ssa-ter.c (debug_ter): Likewise.
23072 * graphite-dependences.c (debug_pddr): Likewise.
23073 * sched-deps.c (debug_ds): Likewise.
23074 * tree-ssa.c (verify_ssa): Likewise.
23075 * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
23076 debug_scattering_functions, debug_iteration_domains, debug_pdr,
18fc5f44
EB
23077 debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
23078 debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
24e47c76
JH
23079 * tree-inline.c (debug_find_tree): Likewise.
23080 * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
23081 debug_ppl_powerset_matrix): Likewise.
23082 * var-tracking.c (debug_dv): Likewise.
23083 * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
23084 * cfgloop.c (verify_loop_structure): Likewise.
23085 * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
23086 * c-common.c (verify_sequence_points): Likewise.
23087 * sched-rgn.c (debug_regions, debug_region, debug_candidate,
23088 debug_candidates, debug_rgn_dependencies): Likewise.
23089 * tree-ssa-structalias.c (debug_constraint, debug_constraints,
23090 * debug_constraint_graph, debug_solution_for_var,
23091 debug_sa_points_to_info): Likewise.
23092 * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
23093 Likewie.
23094 * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
23095 debug_loops, debug_loop, debug_loop_num): Likewise.
23096 * passes.c (debug_pass): Likewise.
23097 (dump_properties): Likewise; add cfglayout property.
23098 (debug_properties): Likewise.
23099 * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
23100 * varpool.c (debug_varpool): Likewise.
23101 * regcprop.c (debug_value_data): Likewise.
23102 * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
23103 debug_immediate_uses_for): Likewise.
23104
f9897dfa
L
231052010-05-29 H.J. Lu <hongjiu.lu@intel.com>
23106
23107 PR bootstrap/44315
23108 * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
23109 Filter out insn-flags.h.
23110
9eec9488
JH
231112010-05-29 Jan Hubicka <jh@suse.cz>
23112
23113 * cgraph.h (struct varpool_node_set_def,
23114 struct cgraph_node_set_def): Remove unused AUX pointer.
23115 (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
23116 VEC_empty macro.
23117
eb598ce6
JH
231182010-05-29 Jan Hubicka <jh@suse.cz>
23119
23120 PR middle-end/44324
23121 * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
23122
1be8f484
RG
231232010-05-29 Richard Guenther <rguenther@suse.de>
23124
23125 * lto-streamer.c (cached_bp): New global variable.
23126 (bitpack_create): Return the cached bitpack, if available.
23127 (bitpack_delete): Clear and cache the bitpack, if appropriate.
23128 (bp_pack_value): Remove redundant asserts.
23129
0247298c
SP
231302010-05-29 Sebastian Pop <sebastian.pop@amd.com>
23131
23132 PR middle-end/44306
23133 * tree-if-conv.c (is_true_predicate): New.
23134 (is_predicated): Use is_true_predicate.
23135 (add_to_predicate_list): Same. Do not use unshare_expr.
23136 (add_to_dst_predicate_list): Same.
23137
32ccbfac
SP
231382010-05-29 Sebastian Pop <sebastian.pop@amd.com>
23139
23140 * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
23141 field on edges.
23142 (predicate_bbs): Same.
23143 (clean_predicate_lists): Same.
23144 (find_phi_replacement_condition): Do not AND the predicate from
23145 edge->aux.
23146
a41021ce
L
231472010-05-29 H.J. Lu <hongjiu.lu@intel.com>
23148
23149 PR bootstrap/44315
23150 * Makefile.in (build/gencondmd.o): Add a missing `\'.
23151
bbd07239
JDA
231522010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
23153
23154 PR target/44261
23155 config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
23156 (negdf2): Adjust expander pattern and use negdf2_slow.
23157 (negsf2): Likewise.
23158
25efe060
NF
231592010-05-29 Nathan Froyd <froydnj@codesourcery.com>
23160
18fc5f44
EB
23161 * basic-block.h (struct control_flow_graph): Move last_label_uid field
23162 up.
25efe060
NF
23163 * df.h (struct df_base_ref): Move regno field up.
23164 * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
23165 * expr.h (struct separate_ops): Move location field up.
23166 * optabs.h (struct optab_d): Move libcall_basename field down.
23167 * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
23168 * config/i386/i386.h (struct machine_function): Convert call_abi field
23169 into a bitfield. Move cfa field to the end of the structure.
23170
4cceafb8
JH
231712010-05-29 Jan Hubicka <jh@suse.cz>
23172
23173 * varpool.c (varpool_get_node): Fix lookup.
23174
65ea7e28
SB
231752010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23176
23177 * config/spu/spu-protos.h: Do not include rtl.h. Protect
23178 RTL specific prototypes with #ifdef RTX_CODE.
23179 * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
23180 * config/spu/t-spu-elf: Fix dependencies.
23181
1a86e236
SB
23182 * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
23183
d03a97e1
MS
231842010-05-29 Mike Stump <mikestump@comcast.net>
23185
a41021ce 23186 PR bootstrap/44315
d03a97e1
MS
23187 * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
23188 TM_H when building to avoid dependency loops.
23189
f0c418dc
JH
231902010-05-29 Jan Hubicka <jh@suse.cz>
23191
54da01d2 23192 * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
dedd9d05 23193 refs and body; not the whole node for masters of materialized clones.
f0c418dc 23194
5c5543af
MS
231952010-05-29 Mike Stump <mikestump@comcast.net>
23196
23197 * config/rs6000/rs6000-c.c: Remove c-tree.h include.
23198
036546e5
JH
231992010-05-29 Jan Hubicka <jh@suse.cz>
23200
23201 * cgraph.c (clone_function_name): Take SUFFIX argument; export.
23202 (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
23203 use of clone_function_name.
308e51aa 23204 * cgraph.h (cgraph_create_virtual_clone,
036546e5
JH
23205 cgraph_function_versioning): update prototypes.
23206 (clone_function_name): Declare.
23207 * ipa-cp.c (ipcp_insert_stage): Update call of
23208 cgraph_create_virtual_clone.
23209 * omp-low.c (create_omp_child_function_name): Use
23210 cgraph_create_virtual_clone.
23211 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
23212 (cgraph_function_versioning): Take SUFFIX argument; produce new name
23213 and make decl local.
23214
3e097227
SB
232152010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23216
23217 * vec.h: Include statistics.h
23218 * Makefile.in: Introduce VEC_H. Replace all vec.h dependencies
23219 with VEC_H.
23220
accf9ad6
SB
232212010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23222
3d25c396
UB
23223 * c-lex.c: Do not include c-tree.h.
23224 * c-pretty-print.c: Likewise.
23225 * c-opts.c: Likewise.
23226 * c-gimplify.c: Likewise.
accf9ad6
SB
23227 * c-common.c: Likewise.
23228 * c-dump.c: Likewise. Include c-common.h.
23229
59cc9210
SB
232302010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23231
23232 * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
23233 before including diagnostic-core.h.
23234 (c_cpp_error): New prototype moved from c-tree.h.
23235 Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
23236 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
23237 (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
23238 (c_cpp_error): Prototype moved to c-common.h.
23239 * Makefile.in: Update dependency for C_COMMON_H.
23240
bffad7f1
SB
232412010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23242
23243 * c-common.h: Add FIXME for awkward split of c_register_addr_space.
23244 * c-common.c (c_register_addr_space): Remove here.
23245 * c-decl.c (c_register_addr_space): Re-add here.
23246
d685a689
MS
232472010-05-28 Mike Stump <mikestump@comcast.net>
23248
23249 * config/darwin-c.c: Remove c-tree.h include.
23250
6afbc885
JM
232512010-05-28 Joseph Myers <joseph@codesourcery.com>
23252
23253 * gcc.c: Include diagnostic.h.
23254 (error_count): Remove. All users changed to use errorcount.
23255 (programname): Remove. All users changed to use progname.
23256 (fancy_abort, internal_error, fatal_error, error, warning, inform,
23257 fnotice): Remove.
23258 (execute): Don't include "Internal error" and bug reporting
23259 information in argument of internal_error call.
23260 (process_command): Don't increment error_count after calling
23261 perror_with_name.
23262 (input_filename): Rename to gcc_input_filename. All users
23263 changed.
23264 (main): Call diagnostic_initialize. Register delete_temp_files
23265 with atexit. Use seen_error to test for errors.
23266 * gcc.h: Include diagnostic-core.h.
23267 (fatal_error, error, warning): Remove.
23268 * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
23269 (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
23270 (gcc.o): Update dependencies.
23271
bdf0eb06
JL
232722010-05-28 Jeff Law <law@redhat.com>
23273
0896cc66
JL
23274 * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
23275 functions.
23276 * ira.h (ira_bad_reload_regno): Declare
23277 * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
23278
bdf0eb06
JL
23279 * ira-color.c (update_curr_costs): Free updated hard reg costs.
23280 (ira_reassign_conflict_allocnos): Remove bogus asserts.
23281 (allocno_reload_assign): Likewise.
23282
4a73490d
NF
232832010-05-28 Nathan Froyd <froydnj@codesourcery.com>
23284
23285 * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
23286 build1_stat.
23287
86561bb6
RG
232882010-05-28 Richard Guenther <rguenther@suse.de>
23289
23290 PR lto/44312
23291 * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
23292 Stream fixed-point constants mode.
23293 (unpack_ts_type_value_fields): Fix width of TYPE_MODE
23294 and TYPE_PRECISION.
23295 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
23296 Stream fixed-point constants mode.
23297 (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
23298 and TYPE_PRECISION.
23299
0a74c758
SP
233002010-05-28 Sebastian Pop <sebastian.pop@amd.com>
23301
23302 * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
23303 only place it was called from.
23304 (number_of_latch_executions): Do not return chrec_dont_know when the
23305 may_be_zero is a runtime condition: instead, return a COND_EXPR
23306 including the may_be_zero condition.
23307 * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
23308 of nb_iterations.
23309 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
23310 COND_EXPRs.
23311
e7cb8957
SP
233122010-05-28 Sebastian Pop <sebastian.pop@amd.com>
23313
23314 * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
23315 generate COND_EXPRs for degenerate_phi_result.
23316
d10e857e
SP
233172010-05-28 Sebastian Pop <sebastian.pop@amd.com>
23318
23319 PR middle-end/44293
23320 * tree-if-conv.c (if_convertible_loop_p): Check the
23321 if-convertibility of phi nodes in non predicated BBs.
23322
6cffd02a
JM
233232010-05-28 Joseph Myers <joseph@codesourcery.com>
23324
23325 * gcc.c (error, warning, inform): Remove duplicate ": " in output.
23326
2dec80c7
JM
233272010-05-28 Joseph Myers <joseph@codesourcery.com>
23328
23329 PR driver/15303
23330 * gcc.c (inform, warning, inform): New functions.
23331 (fatal_ice): Rename to internal_error; change cmsgid parameter to
23332 gmsgid. All callers changed.
dedd9d05 23333 (notice): Rename to fnotice; add parameter fp. All callers changed.
2dec80c7
JM
23334 (fatal_error): Rename to fatal_signal. All users changed.
23335 (fatal): Rename to fatal_error; change cmsgid parameter to
23336 gmsgid. All callers changed.
23337 (process_command): Use warning instead of error for warnings.
23338 (end_going_arg): Don't use _() around argument of error.
23339 (do_spec_1): Use inform for message from %n specs. Use warning
23340 instead of error for warnings.
23341 (main): Use inform for comparison messages. Use warning for
23342 message about unused linker input.
23343 (error): Increment error_count. Print "error: ".
23344 * gcc.h (fatal): Change to fatal_error.
23345 (warning): Declare.
23346 * config/darwin-driver.c (darwin_default_min_version): Use warning
23347 instead of fprintf for warnings.
dedd9d05 23348 * cppspec.c (lang_specific_driver): Use fatal_error instead of fatal.
2dec80c7 23349
dcd8b2ee
JB
233502010-05-28 Julian Brown <julian@codesourcery.com>
23351
23352 * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
23353 (*thumb2_addsi3_compare0_scratch): New.
23354 * config/arm/constraints.md (Pv): New.
23355 * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
23356 for ARM mode only.
23357 (*addsi3_compare0_scratch): Likewise.
23358
df24c2b8
JH
233592010-05-28 Jan Hubicka <jh@suse.cz>
23360
6c608111
EB
23361 * ipa-reference.c (add_static_var): Remove redundant all_module_statics
23362 check.
23363 (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
23364 only on local statics.
df24c2b8 23365
c3a9a336
IS
233662010-05-28 Iain Sandoe <iains@gcc.gnu.org>
23367
308e51aa 23368 * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
c3a9a336 23369
47089d42
MK
233702010-05-28 Maxim Kuvyrkov <maxim@codesourcery.com>
23371
23372 PR bootstrap/44314
23373 * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
23374 (OPTION_GLIBC): Define.
23375
005d613b
JJ
233762010-05-28 Jakub Jelinek <jakub@redhat.com>
23377
cced5e7f
JJ
23378 PR debug/41048
23379 * dwarf2out.c (double_int_type_size_in_bits): New function.
23380 (round_up_to_align): Change first argument and return value to
23381 double_int.
23382 (field_byte_offset): Work internally on double_ints.
23383
005d613b
JJ
23384 PR target/43636
23385 * builtins.c (expand_movstr): Use a temporary pseudo instead
23386 of target even when target is not NULL and not const0_rtx, but
23387 fails movstr predicate.
23388 * config/m32c/blkmov.md (movstr): Add predicate to first operand.
23389
7ca92787
JM
233902010-05-28 Joseph Myers <joseph@codesourcery.com>
23391
23392 * final.c (rest_of_clean_state): Use %m in errors instead of
23393 strerror (errno).
23394 * gengtype.c (read_input_list, close_output_files): Use xstrerror
23395 instead of strerror.
23396 * toplev.c (process_options): Use %m in errors instead of strerror
23397 (errno).
23398 * tree-dump.c (dump_begin): Use %m in errors instead of strerror
23399 (errno).
23400
8bf85f21
UB
234012010-05-28 Uros Bizjak <ubizjak@gmail.com>
23402
23403 * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
23404 (ix86_canonical_va_list_type): Make static. Add declaration.
23405 (ix86_enum_va_list): Make static. Reindent.
23406 * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
23407 (ix86_canonical_va_list_type): Ditto.
23408 (ix86_enum_va_list): Ditto.
23409
b5611987
RG
234102010-05-28 Richard Guenther <rguenther@suse.de>
23411
23412 * lto-wrapper.c (run_gcc): With -save-temps generate a
23413 user-visible ltrans filename. Fixup ltrans unit numbering.
23414
40dcd88b
KT
234152010-05-28 Kai Tietz <kai.tietz@onevision.com>
23416
d4048208
KT
23417 * c-common.c (c_common_nodes_and_builtins): Replace use
23418 of TARGET_ENUM_VA_LIST by target hook enum_va_list.
23419 * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
23420 to ix86_enum_va_list.
23421 * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
23422 * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
23423 (TARGET_ENUM_VA_LIST_P): Add hook description.
23424 * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
23425 * target.h (gcc_target): Add enum_va_list hook.
23426
40dcd88b
KT
23427 PR bootstrap/44299
23428 * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
23429 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
23430 * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
23431
1cb980a2
AM
234322010-05-28 Alan Modra <amodra@gmail.com>
23433
23434 PR target/44266
23435 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
23436 emit_library_call machinery to set up __tls_get_addr calls.
23437
b247e88a
AK
234382010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
23439
23440 * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
23441
ec4be2f4
DS
234422010-05-28 Dodji Seketeli <dodji@redhat.com>
23443
6c608111 23444 Revert fix for PR c++/44188
ec4be2f4
DS
23445 * c-common.c (is_typedef_decl): Revert the moving of this
23446 definition ...
23447 * tree.c (is_typedef_decl): ... here.
23448 (typdef_variant_p): Revert the moving of this definition
eed023cc 23449 here from cp/tree.c.
ec4be2f4
DS
23450 * c-common.h (is_typedef_decl): Revert the moving of this
23451 declaration ...
23452 * tree.h (is_typedef_decl): ... here.
23453 (typedef_variant_p): Revert the moving of this declaration here
eed023cc 23454 from cp/cp-tree.h
ec4be2f4
DS
23455 * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
23456 (gen_tagged_type_die): Revert the splitting out of ...
23457 (gen_type_die_with_usage): ... this function. Revert the anonymous
23458 tagged type handling.
23459 (gen_typedef_die): Revert emitting DW_TAG_typedef for
23460 typedefs naming anonymous tagged types.
23461
3fe7b63c
SB
234622010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
23463
23464 * config/rs6000/rs6000-modes.def (PSImode): Delete.
23465
f6b5d695
SB
234662010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
23467
23468 * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
23469 * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
23470 throughout.
23471 * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
23472 "xer" to "ca".
23473 Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
23474 XER_REGS to CA_REGS throughout.
23475 * config/rs6000/rs6000.h: Same.
23476 (ADDITIONAL_REGISTER_NAMES): Add "xer".
23477 * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO. Document
23478 that mode_iterator "P" is the size for arithmetic carries as well.
23479 * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
23480
47027bf3
JJ
234812010-05-28 Jakub Jelinek <jakub@redhat.com>
23482
23483 PR bootstrap/44255
23484 * combine.c (struct rtx_subst_pair): Define unconditionally.
23485 (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC,
23486 copy_rtx pair->to instead of cleanup_auto_inc_dec it.
23487 Call make_compound_operation on pair->to.
23488 (propagate_for_debug): Don't call make_compound_operation here.
23489 Always use simplify_replace_fn_rtx.
23490
234912010-05-27 Sterling Augustine <sterling@tensilica.com>
1b408ba1
SA
23492
23493 * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
23494 * config/xtensa/xtensa.c (override_options): Check
23495 TARGET_FORCE_NO_PIC and set flag_pic.
23496 * config/xtensa/xtensa.opt: Document -mforce-no-pic
23497
234982010-05-27 Kai Tietz <kai.tietz@onevision.com>
23499
0bc25dd0
KT
23500 PR bootstrap/44299
23501 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
23502 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
23503
1da2ed5f
JM
235042010-05-27 Joseph Myers <joseph@codesourcery.com>
23505
23506 * diagnostic-core.h: New. Contents moved from diagnostic.h and
23507 toplev.h.
23508 * diagnostic.c: Don't include toplev.h.
23509 (progname): Define. Moved from toplev.c.
23510 (seen_error): New function.
23511 * diagnostic.h: Include diagnostic-core.h.
23512 (diagnostic_t, emit_diagnostic): Don't declare here.
23513 * toplev.c (progname): Move to toplev.c.
23514 (emit_debug_global_declarations, compile_file, finalize,
23515 do_compile, toplev_main): Use seen_error.
23516 * toplev.h: Include diagnostic-core.h.
23517 (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
23518 internal_error, warning, warning_at, error, error_n, error_at,
23519 fatal_error, pedwarn, permerror, sorry, inform, inform_n,
23520 verbatim, fnotice, progname): Move to diagnostic-core.h.
23521 * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
23522 (expand_builtin_expect): Use seen_error.
23523 * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
23524 (c_make_fname_decl, c_write_global_declarations): Use seen_error.
23525 * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
23526 * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
23527 * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
23528 * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
23529 errorcount for errors.
23530 * c-opts.c (c_common_finish): Use seen_error.
23531 * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
23532 * cgraphunit.c (verify_cgraph_node, verify_cgraph,
23533 cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
23534 * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
23535 (get_coverage_counts): Use seen_error.
23536 * dwarf2out.c (dwarf2out_finish): Use seen_error.
23537 * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
23538 gimplify_body): Use seen_error.
23539 * ipa-inline.c (cgraph_early_inlining): Use seen_error.
23540 * ipa-pure-const.c (gate_pure_const): Use seen_error.
23541 * ipa-reference.c (gate_reference): Use seen_error.
23542 * jump.c: Include diagnostic-core.h instead of diagnostic.h.
23543 * lambda-code.c: Include diagnostic-core.h instead of
23544 diagnostic.h.
23545 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
23546 * lto-compress.c: Include diagnostic-core.h instead of
23547 diagnostic.h.
23548 * lto-section-in.c: Include diagnostic-core.h instead of
23549 diagnostic.h.
23550 * lto-streamer-out.c: Include diagnostic-core.h instead of
23551 diagnostic.h.
23552 * lto-streamer.c: Include diagnostic-core.h instead of
23553 diagnostic.h.
23554 (gate_lto_out): Use seen_error.
23555 * matrix-reorg.c: Include diagnostic-core.h instead of
23556 diagnostic.h.
23557 * omega.c: Include diagnostic-core.h instead of diagnostic.h.
23558 * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
23559 (gate_expand_omp, lower_omp_1): Use seen_error.
23560 * passes.c: Include diagnostic-core.h instead of diagnostic.h.
23561 (rest_of_decl_compilation, rest_of_type_compilation,
23562 gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
23563 * tree-cfg.c (label_to_block_fn): Use seen_error.
23564 * tree-inline.c (optimize_inline_calls): Use seen_error.
23565 * tree-mudflap.c (mudflap_finish_file): Use
23566 seen_error.
23567 * tree-optimize.c (gate_all_optimizations,
23568 gate_all_early_local_passes, gate_all_early_optimizations): Use
23569 seen_error.
23570 * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
23571 * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
23572 (varpool_remove_unreferenced_decls,
23573 varpool_assemble_pending_decls): Use seen_error.
23574 * Makefile.in (DIAGNOSTIC_CORE_H): Define.
23575 (TOPLEV_H, DIAGNOSTIC_H): Update.
23576 (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
23577 lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
23578 c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
23579 builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
23580 coverage.o, lambda-code.o): Update dependencies.
23581
fe08ec12
DS
235822010-05-25 Dodji Seketeli <dodji@redhat.com>
23583
23584 PR c++/44188
23585 * c-common.c (is_typedef_decl): Move this definition ...
23586 * tree.c (is_typedef_decl): ... here.
eed023cc 23587 (typdef_variant_p): Move definition here from cp/tree.c.
fe08ec12
DS
23588 * c-common.h (is_typedef_decl): Move this declaration ...
23589 * tree.h (is_typedef_decl): ... here.
eed023cc 23590 (typedef_variant_p): Move declaration here from cp/cp-tree.h
fe08ec12
DS
23591 * dwarf2out.c (is_naming_typedef_decl): New function.
23592 (gen_tagged_type_die): Split out of ...
23593 (gen_type_die_with_usage): ... this function. When an anonymous
23594 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
23595 is emitted for the typedef.
23596 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
23597 anonymous tagged types.
23598
b042534c
JM
235992010-05-27 Jason Merrill <jason@redhat.com>
23600
23601 * print-tree.c (debug_vec_tree): New fn.
23602 (print_vec_tree): New fn.
23603 * tree.h: Declare them.
23604 * gdbinit.in (pvt): New command.
23605
23606 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
23607
23608 * gdbinit.in (pdd): New command.
23609
cdc029b9
JH
236102010-05-27 Jan Hubicka <jh@suse.cz>
23611
23612 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
23613 (update_caller_keys): Return early if there are no callers;
23614 only update fibheap when decresing the key.
23615 (update_callee_keys): Avoid recursion.
23616 (decide_inlining_of_small_functions): When badness does not match;
23617 re-insert into fibheap.
23618
7a3b4887
SB
236192010-05-27 Steven Bosscher <steven@gcc.gnu.org>
23620
23621 * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
23622 (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
23623 (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
23624 (ALL_HOST_OBJS): Now a union of the above two.
23625 <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
23626 all files in ALL_HOST_FRONTEND_OBJS.
23627 * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
23628
23629 * c-common.c: Pretend to be a backend file by undefining
23630 IN_GCC_FRONTEND (still need rtl.h here).
23631
753d358d
JH
236322010-05-27 Jan Hubicka <jh@suse.cz>
23633
23634 * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
23635 * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
23636
88302d54
JH
236372010-05-27 Jan Hubicka <jh@suse.cz>
23638
23639 * sched-ebb.c: Rename struct deps to struct deps_desc.
23640 * ddg.c: Likewise.
23641 * sel-sched-ir.c: Likewise.
23642 * sched-deps.c: Likewise.
23643 * sched-int.h: Likewise.
23644 * sched-rgn.c: Likewise.
23645
f4a4b582 236462010-05-27 Jon Beniston <jon@beniston.com>
9bb81453
JB
23647
23648 PR 43726
308e51aa 23649 * config/lm32/lm32.h: Remove definition of
9bb81453
JB
23650 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
23651
7951d88a
EB
236522010-05-27 Eric Botcazou <ebotcazou@adacore.com>
23653
23654 PR lto/44230
23655 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
23656
fde9c428
RG
236572010-05-27 Richard Guenther <rguenther@suse.de>
23658
23659 PR tree-optimization/44284
23660 * tree-vect-stmts.c (vectorizable_assignment): Handle
23661 sign-changing conversions as simple copy.
23662
3714764d
MK
236632010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
23664
23665 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
23666 Bionic C library.
23667 (__gthread_active_p): Check for pthread_create if compiling against
23668 Bionic C library.
23669
51b9db92
MK
236702010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
23671
23672 Support compilation for Android platform. Reimplement -mandroid.
23673
23674 * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
23675 (*android*): Set ANDROID_DEFAULT.
23676 (arm*-*-linux*): Include linux-android.h.
23677 (arm*-*-eabi*): Don't include previous -mandroid implementation.
23678 * config/arm/eabi.h: Remove, move Android-specific parts ...
23679 * config/linux-android.h: ... here. New file.
23680 * config/arm/eabi.opt: Rename to ...
23681 * config/linux-android.opt: ... this.
23682 (mandroid): Allow -mno-android option. Initialize based on
23683 ANDROID_DEFAULT.
23684 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
23685 Move logic to corresponding LINUX_TARGET_* macros.
23686 (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
23687 * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
23688 (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
23689 Android definitions.
23690 (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
23691 * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
23692 Document.
23693
74c70253
MK
236942010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
23695
23696 Add support for Bionic C library
23697
23698 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
23699 macro.
23700 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
23701 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
23702
23703 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
23704 (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
23705 (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
23706 to support multiple C libraries. Handle Bionic.
23707 (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
23708 (BIONIC_DYNAMIC_LINKER64): Define.
23709 (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
23710 Update.
23711 (TARGET_HAS_SINCOS): Enable for Bionic.
23712
23713 * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
23714 the last option specified on command line take effect.
23715 (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
23716 (mbionic): New.
23717 (mglibc, muclibc): Update.
23718
23719 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
23720 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
23721 DEFAULT_LIBC.
23722
23723 * doc/invoke.texi (-mglibc, -muclibc): Update.
23724 (-mbionic): Document.
23725
3ef0694c
UW
237262010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
23727
23728 * c-common.h (c_register_addr_space): Add prototype.
23729 (ADDR_SPACE_KEYWORD): Remove.
23730 * c-common.c (c_register_addr_space): New function.
23731 (c_addr_space_name): Reimplement.
23732 (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
23733
23734 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
23735 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
23736
23737 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
23738 Remove TARGET_ADDR_SPACE_KEYWORDS.
23739
447924ef
JM
237402010-05-27 Joseph Myers <joseph@codesourcery.com>
23741
23742 * input.c: New file.
23743 * input.h (main_input_filename): Move declaration to toplev.h.
23744 * toplev.c (input_location, line_table): Move to input.c
23745 * toplev.h (main_input_filename): Move declaration from input.h.
23746 * tree.c (expand_location): Move to input.c.
23747 * Makefile.in (OBJS-common): Add input.o.
23748 (input.o): Add dependencies.
23749
62116e60
RG
237502010-05-27 Richard Guenther <rguenther@suse.de>
23751
23752 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
23753 for non-existant files.
23754 (fork_execute): Mark args_name file as deleted.
23755
64c31785
KT
237562010-05-27 Kai Tietz <kai.tietz@onevision.com>
23757
23758 PR bootstrp/44287
23759 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
23760 (narrow_signed_type): Likewise.
23761
e466e2ce
JH
237622010-05-26 Jan Hubicka <jh@suse.cz>
23763
23764 * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
23765 edge only when checking is enabled; check using former_clone_of;
23766 check inline clones too.
23767 (cgraph_materialize_clone): Record former_clone_of pointer.
23768 (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
23769 combining redirections; dump args_to_skip bitmap
23770 (cgraph_materialize_all_clones): Do no redirection here.
23771 * ipa-inline.c (inline_transform): Do redirection here.
23772 * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
23773 cheking only).
23774
e62d5d9f
SB
237752010-05-26 Steven Bosscher <steven@gcc.gnu.org>
23776
23777 * config/avr/avr-c.c: Do not include regs.h.
23778 Include cpplib.h for cpp_define and tree.h for c-common.h.
23779 * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
23780 * config/avr/t-avr: Fix dependencies for avr-c.o.
23781
d477d1fe
SB
237822010-05-26 Steven Bosscher <steven@gcc.gnu.org>
23783
23784 * explow.c (set_stack_check_libfunc): Adjust to accept name as a
23785 string instead of SYMBOL_REF rtx.
23786 * rtl.h (set_stack_check_libfunc): Move prototype from here...
23787 * libfuncs.h: ...to here. Adjust for explow.c change.
23788
ab9b814d
JM
237892010-05-26 Joseph Myers <joseph@codesourcery.com>
23790
23791 * pretty-print.c: Don't include ggc.h.
23792 (identifier_to_locale_alloc, identifier_to_locale_free): Define.
23793 (identifier_to_locale): Use them for allocation.
23794 * pretty-print.h (identifier_to_locale_alloc,
23795 identifier_to_locale_free): Declare.
23796 * toplev.c (alloc_for_identifier_to_locale): New.
23797 (general_init): Set identifier_to_locale_alloc and
23798 identifier_to_locale_free.
23799 * Makefile.in (pretty-print.o): Update dependencies.
23800
c9549072
EB
238012010-05-26 Eric Botcazou <ebotcazou@adacore.com>
23802
23803 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
23804 pointer types if they have different alignment or mode.
23805
bf44d792
AS
238062010-05-26 Anatoly Sokolov <aesok@post.ru>
23807
23808 * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
23809 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
23810 * config/sparc/sparc-protos.h (function_value): Remove declaration.
23811 * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
23812 sparc_function_value_regno_p): New functions.
23813 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
23814 TARGET_FUNCTION_VALUE_REGNO_P): Define.
23815 (function_value): Rename to...
23816 (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
23817 argument to 'outgoing'.
23818 (function_arg_record_value, function_arg_union_value,
23819 function_arg_vector_value): Update comment.
23820
4ad2e1ec
EB
238212010-05-26 Eric Botcazou <ebotcazou@adacore.com>
23822
23823 * dwarf2out.c (struct dw_fde_struct): Reorder flags.
23824 (fde_needed_for_eh_p): New predicate.
23825 (output_call_frame_info): Use it throughout to decide whether FDEs
23826 are needed for EH purpose.
23827 (dwarf2out_begin_prologue): Reorder assignments.
23828
4204425f
SP
238292010-05-26 Sebastian Pop <sebastian.pop@amd.com>
23830
23831 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
23832 special case loop->header.
23833 (is_predicated): New.
23834 (if_convertible_loop_p): Call it.
23835
e1449456
SP
238362010-05-26 Sebastian Pop <sebastian.pop@amd.com>
23837
23838 * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
23839 iterator in parameter. Do not generate code during the analysis.
23840 (tree_if_convert_cond_stmt): Removed.
23841 (tree_if_convert_stmt): Removed.
23842 (predicate_bbs): New.
23843 (if_convertible_loop_p): Call predicate_bbs.
23844 (tree_if_conversion): Simplify the top-level logic as predicate_bbs
23845 now contains all the analysis part.
23846
76b84776
SP
238472010-05-26 Sebastian Pop <sebastian.pop@amd.com>
23848
23849 * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
23850 statements in the analysis part.
23851 (tree_if_convert_stmt): Update comment.
23852 (remove_conditions_and_labels): New.
23853 (combine_blocks): Call remove_conditions_and_labels.
23854 (tree_if_conversion): Update comment.
23855
bc447143
SP
238562010-05-26 Sebastian Pop <sebastian.pop@amd.com>
23857
23858 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
23859 than 2 predecessors or more than 2 successors.
23860
6d795034
SP
238612010-05-26 Sebastian Pop <sebastian.pop@amd.com>
23862
23863 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
23864 of loops in which the data dependence analysis fails.
23865
d7309618
SP
238662010-05-26 Sebastian Pop <sebastian.pop@amd.com>
23867
23868 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
23869 CDI_POST_DOMINATORS.
23870 (tree_if_conversion): Same.
23871
7b371e73
SP
238722010-05-26 Sebastian Pop <sebastian.pop@amd.com>
23873
23874 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
23875
4ab71973
SP
238762010-05-26 Sebastian Pop <sebastian.pop@amd.com>
23877
23878 * tree-if-conv.c: Update copyright years. Fix comments.
23879 Fix indentation.
23880
a6766312
KT
238812010-05-26 Kai Tietz <kai.tietz@onevision.com>
23882
23883 * builtin-types.def (BT_INT128): New primitive type.
23884 (BT_UINT128): Likewise.
23885 * c-common.c (c_common_r): Add __int128 keyword.
23886 (c_common_type_for_size): Handle __int128.
23887 (c_common_type_for_mode): Likewise.
23888 (c_common_signed_or_unsigned_type): Likewise.
23889 (c_common_nodes_and_builtins): Add builtin type
23890 if target supports 128-bit integer scalar.
23891 * c-common.h (enum rid): Add RID_INT128.
23892 * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
23893 if target supports 128-bit integer scalar.
ade52657 23894 * c-decl.c (declspecs_add_type): Handle new keyword __int128.
a6766312
KT
23895 (finish_declspecs): Likewise.
23896 * c-parser.c (c_token_starts_typename): Handle RID_INT128.
23897 (c_token_starts_declspecs): Likewise.
23898 (c_parser_declspecs): Likewise.
23899 (c_parser_attributes): Likewise.
23900 (c_parser_objc_selector): Likewise.
23901 * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
23902 * c-tree.h (enum c_typespec_keyword): Add cts_int128.
23903 * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
23904 * tree.c (make_or_reuse_type): Likewise.
23905 (make_unsigned_type): Likewise.
23906 (build_common_tree_nodes_2): Likewise.
23907 * tree.h (enum integer_type_kind): Add itk_int128 and
23908 itk_unsigned_int128.
ade52657 23909 (int128_integer_type_node): New define.
a6766312 23910 (int128_unsigned_type_node): New define.
a6766312
KT
23911 * doc/extend.texi: Add documentation about __int128 type.
23912
880ad25f
RG
239132010-05-26 Richard Guenther <rguenther@suse.de>
23914
23915 * tree-ssa-sccvn.c (copy_nary): Adjust.
23916 (copy_phis): Rename to ...
23917 (copy_phi): ... this. Adjust.
23918 (copy_references): Rename to ...
23919 (copy_reference): ... this. Adjust.
23920 (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
23921 result into the valid table.
23922
52642070
SB
239232010-05-26 Steven Bosscher <steven@gcc.gnu.org>
23924
23925 * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
23926 insn-config.h, insn-codes.h, recog.h, and optabs.h.
23927
58cd6303
LB
239282010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
23929
ade52657 23930 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
58cd6303 23931
c3a02647
RG
239322010-05-26 Richard Guenther <rguenther@suse.de>
23933
23934 * opts.c (common_handle_option): Handle OPT_Ofast.
23935
5f0f4a3b
JM
239362010-05-26 Joseph Myers <joseph@codesourcery.com>
23937
23938 * diagnostic.c: Don't include opts.h.
23939 (permissive_error_option): Define.
23940 (diagnostic_initialize): Take n_opts parameter. Allocate memory
23941 for classify_diagnostic. Don't use memset for
23942 classify_diagnostic. Initialize new and recently added fields.
23943 (diagnostic_classify_diagnostic): Use context->n_opts instead of
23944 N_OPTS.
23945 (diagnostic_report_diagnostic): Pass context parameter to
23946 diagnostic_report_warnings_p. Use option_enabled and option_name
23947 hooks from context.
23948 (emit_diagnostic): Use permissive_error_option.
23949 (permerror): Likewise.
23950 * diagnostic.h: Don't include options.h.
23951 (struct diagnostic_context): Add n_opts, opt_permissive,
23952 inhibit_warnings, warn_system_headers, option_enabled and
23953 option_name fields. Change classify_diagnostic to a pointer.
23954 * opts-diagnostic.h: New file.
23955 * opts.c: Include opts-diagnostic.h.
23956 (common_handle_option): Set global_dc fields for -Wfatal-errors,
23957 -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
23958 (option_name): New function.
23959 * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
23960 (c_common_handle_option): Set global_dc->permissive for
23961 -fpermissive.
23962 * c-common.c (c_cpp_error): Save and restore
23963 global_dc->warn_system_headers, not variable warn_system_headers.
23964 * toplev.c: Include opts-diagnostic.h.
23965 (general_init): Update call to diagnostic_initialize. Set
23966 global_dc->show_column, global_dc->option_enabled and
23967 global_dc->option_name.
23968 (process_options): Don't set global_dc fields here.
23969 * Makefile.in (DIAGNOSTIC_H): Remove options.h.
23970 (diagnostic.o, opts.o, toplev.o): Update dependencies.
23971
f024f85d
HS
239722010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
23973
23974 * config/picochip/picochip.md (movsi): Split a movsi from a
23975 const after reload.
23976
e4dfaf72
LB
239772010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
23978
23979 * ggc-zone.c: Update copyright year.
23980 (poison_region): Mark memory for Valgrind as undefined before
23981 memset () call and inaccessible afterwards.
23982 (ggc_pch_total_size): Change type of i to int.
23983
239842010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
23985
23986 * ggc-common.c (ggc_free_overhead): Allow empty slot.
23987
239882010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
23989
23990 * ggc-common.c: Update copyright year.
23991 (ggc_rlimit_bound): Remove prototype. Compile only if
23992 !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
23993 (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
23994 && !ENABLE_GC_ALWAYS_COLLECT. Make static.
23995 (ggc_min_heapsize_heuristic): Likewise.
23996
630d3fad
RG
239972010-05-26 Richard Guenther <rguenther@suse.de>
23998
23999 PR rtl-optimization/44164
24000 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
24001 no-common access-path disambiguation.
24002 (indirect_ref_may_alias_decl_p): Adjust.
24003 (indirect_refs_may_alias_p): Likewise.
24004 (refs_may_alias_p_1): Likewise.
24005
b9b6c084
SB
240062010-05-26 Steven Bosscher <steven@gcc.gnu.org>
24007
24008 * c-typeck.c: Do not include expr.h.
24009
d347d97e
SB
240102010-05-26 Steven Bosscher <steven@gcc.gnu.org>
24011
24012 * rtl.h (decl_default_tls_model): Move prototype from here...
24013 * output.h: ...to here.
24014 * c-decl.c: Do not include rtl.h.
24015 * c-pragma.c: Likewise.
24016 * c-parser.c: Likewise.
24017 * c-gimplify.c: Likewise. And also not hard-reg-set.
24018 * c-common.c: Do not include rtl.h. Include tm_p.h and add a
24019 FIXME note for it. Add a FIXME note for expr.h.
24020 * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
24021 ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
24022 defined.
24023
0d65bdbb
JJ
240242010-05-26 Jakub Jelinek <jakub@redhat.com>
24025
24026 PR target/44199
24027 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
24028 or total_size is larger than red zone size for non-V4 ABI, emit a
24029 stack_tie resp. frame_tie insn before stack pointer restore.
24030 * config/rs6000/rs6000.md (frame_tie): New insn.
24031
8f4f502f
EB
240322010-05-25 Eric Botcazou <ebotcazou@adacore.com>
24033
24034 * function.h (struct function): Add can_throw_non_call_exceptions bit.
24035 * lto-streamer-in.c (input_function): Stream it in.
24036 * lto-streamer-out.c (output_function): Stream it out.
24037 * function.c (allocate_struct_function): Set it.
24038 (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
24039 for flag_non_call_exceptions.
24040 * cfgbuild.c (control_flow_insn_p): Likewise.
24041 (make_edges): Likewise.
24042 * cfgexpand.c (expand_stack_alignment): Likewise.
24043 * combine.c (distribute_notes): Likewise.
24044 * cse.c (cse_extended_basic_block): Likewise.
24045 * except.c (insn_could_throw_p): Likewise.
24046 * gcse.c (simple_mem): Likewise.
24047 * ipa-pure-const.c (check_call): Likewise.
24048 (check_stmt ): Likewise.
24049 * lower-subreg.c (lower-subreg.c): Likewise.
24050 * optabs.c (emit_libcall_block): Likewise.
24051 (prepare_cmp_insn): Likewise.
24052 * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
24053 * postreload.c (rest_of_handle_postreload): Likewise.
24054 * reload1.c (reload_as_needed): Likewise.
24055 (emit_input_reload_insns): Likewise.
24056 (emit_output_reload_insns): Likewise.
24057 (fixup_abnormal_edges): Likewise.
24058 * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
24059 * store-motion.c (find_moveable_store): Likewise.
24060 * tree-eh.c (stmt_could_throw_p): Likewise.
24061 (tree_could_throw_p): Likewise.
24062 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
24063 * config/arm/arm.c (arm_expand_prologue): Likewise.
24064 (thumb1_expand_prologue): Likewise.
24065 * config/rx/rx.md (cbranchsf4): Likewise.
24066 (cmpsf): Likewise.
24067 * config/s390/s390.c (s390_emit_prologue): Likewise.
24068 * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
24069 (inline_forbidden_into_p): New predicate.
24070 (expand_call_inline): Use it to forbid inlining.
24071 (tree_can_inline_p): Likewise.
24072
c962b78d
SB
240732010-05-25 Steven Bosscher <steven@gcc.gnu.org>
24074
24075 * config/i386/i386-c.c: Do not include rtl.h.
24076 * config/i386/t-i386: Update dependencies.
24077
afb67dc2
SB
240782010-05-25 Steven Bosscher <steven@gcc.gnu.org>
24079
24080 * attribs.c: Do not include rtl.h.
24081 * Makefile.in: Update dependencies.
24082
e233a3b2
AS
240832010-05-25 Anatoly Sokolov <aesok@post.ru>
24084
24085 * double-int.h (double_int_and): New.
24086 * combine.c (try_combine): Clean up, use double_int_* and
24087 immed_double_int_const functions.
24088
bc492e47
RO
240892010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
24090
24091 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
24092 stderr to /dev/null instead of grep -q.
24093 * configure: Regenerate.
24094
245763e3
SB
240952010-05-25 Steven Bosscher <steven@gcc.gnu.org>
24096
24097 * Makefile.in (EXCEPT_H): Fix typo.
24098
f4a4b582 240992010-05-25 Vladimir Makarov <vmakarov@redhat.com>
4ac293e2
VM
24100
24101 * ira-build.c (update_conflict_hard_reg_costs): New.
24102 (ira_build): Call update_conflict_hard_reg_costs.
24103
60a5d78a
JJ
241042010-05-25 Jakub Jelinek <jakub@redhat.com>
24105
bb9862c6
JJ
24106 PR debug/41371
24107 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
24108 ENABLE_CHECKING.
24109 (intersect_loc_chains): Walk the s2var's loc_chain together
24110 with s1node chain as long as the locations are equal, don't
24111 call find_loc_in_1pdv in that case.
24112
60a5d78a
JJ
24113 PR debug/42801
24114 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
24115 (copy_bind_expr): ... instead of here.
24116 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
24117 if the block hasn't been remapped.
24118 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
24119 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
24120
c946a318
RG
241212010-05-25 Richard Guenther <rguenther@suse.de>
24122
24123 PR middle-end/44069
24124 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
24125 out-of-bounds array accesses.
24126
50ee30d5
RG
241272010-05-25 Richard Guenther <rguenther@suse.de>
24128
24129 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
24130 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
24131 (run_gcc): Re-organize to make cleanup easier.
24132
ca1930ce
AK
241332010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
24134
24135 * config/s390/s390.c (optimization_options): Fix and move the
24136 flag_prefetch_loop_arrays override ...
24137 (override_options): ... here.
24138
a13812e2
JM
241392010-05-25 Joseph Myers <joseph@codesourcery.com>
24140
24141 * diagnostic.c: Don't include plugin.h.
24142 (diagnostic_report_diagnostic): Don't handle plugins specially
24143 here. Pass context to internal_error callback.
24144 * diagnostic.h (struct diagnostic_context): Add context parameter
24145 to internal_error callback.
ade52657 24146 * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
a13812e2
JM
24147 * plugin.h (struct diagnostic_context): Declare.
24148 (warn_if_plugins, plugins_internal_error_function): Declare.
24149 * toplev.c (general_init): Set global_dc->internal_error.
24150 * Makefile.in (diagnostic.o): Update dependencies.
24151
a691bb08 241522010-05-25 Iain Sandoe <iains@gcc.gnu.org>
9a2d05e0
IS
24153
24154 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
24155 * config/rs6000/t-darwin64: New.
24156 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
24157 build crt2.
24158
8fde8b40
CB
241592010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
24160
24161 PR 44203
24162 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
24163 match the original (and intended) behaviour before r159557. This
24164 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
24165 in two ways.
24166
be6d3f0e
RG
241672010-05-25 Richard Guenther <rguenther@suse.de>
24168
24169 * doc/invoke.texi: Document -Ofast.
24170 * target.h (struct gcc_target): Add handle_ofast.
24171 * target-def.h (TARGET_HANDLE_OFAST): Add.
24172 (TARGET_INITIALIZER): Adjust.
ade52657 24173 * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
be6d3f0e
RG
24174 * common.opt (Ofast): Add.
24175
ac5eda13
PB
241762010-05-25 Paolo Bonzini <bonzini@gnu.org>
24177
24178 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
24179 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
24180
241812010-05-25 Paolo Bonzini <bonzini@gnu.org>
6597fd0b
PB
24182
24183 PR target/43610
24184 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
24185 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
24186 false_rtx. Use false_rtx to compute the correct *ptest for reversed
24187 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
24188
9d4545b2
JJ
241892010-05-25 Jakub Jelinek <jakub@redhat.com>
24190
24191 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
24192 DW_OP_minus with negated offset instead of DW_OP_plus.
ade52657 24193 (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
9d4545b2 24194
ee4e1706
WG
241952010-05-25 Wei Guozhi <carrot@google.com>
24196
24197 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
24198 tst instruction and a new alternative.
24199 * config/arm/constraints.md (Pu): New constraint.
24200
427188d5
SP
242012010-05-24 Sebastian Pop <sebastian.pop@amd.com>
24202
24203 * function.c (assign_stack_local_1): Initialize variable
24204 to avoid warning when bootstrapping at -O3.
24205
96ee6e08
SB
242062010-05-24 Steven Bosscher <steven@gcc.gnu.org>
24207
24208 * configure.ac (all_lang_makefiles): Remove everything related to it.
24209 * configure: Regenerate.
24210 * Makefile.in: Fix reference to ada Make-lang.in.
24211 Remove support for LANG_MAKEFILES.
24212
1ab55d69
MK
242132010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
24214 Sandra Loosemore <sandra@codesourcery.com>
24215
24216 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
24217 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
24218 description. Add arm_neon_fp16_ok.
24219 (Add Options): Add arm_neon and arm_neon_fp16.
24220
243fbddd
JM
242212010-05-24 Joseph Myers <joseph@codesourcery.com>
24222
24223 * diagnostic.c: Don't include flags.h.
24224 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
ade52657 24225 context parameters. Check flags in the context passed as a parameter.
243fbddd
JM
24226 (diagnostic_build_prefix): Add context parameter. Check
24227 show_column flag in context.
ade52657
UB
24228 (diagnostic_action_after_output): Check fatal_errors flag in context.
24229 (diagnostic_report_current_module): Check show_column flag in context.
243fbddd
JM
24230 (default_diagnostic_starter): Update call to
24231 diagnostic_build_prefix.
ade52657 24232 (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
243fbddd
JM
24233 (emit_diagnostic): Pass context to permissive_error_kind.
24234 (permerror): Pass context to permissive_error_kind.
24235 * diagnostic.h (struct diagnostic_context): Add show_column,
24236 pedantic_errors, permissive and fatal_errors fields.
24237 (diagnostic_build_prefix): Update prototype.
24238 * langhooks.c
24239 * toplev.c (process_options): Set flags in global_dc from
24240 flag_show_column, flag_pedantic_errors, flag_permissive,
24241 flag_fatal_errors.
24242 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
24243 to diagnostic_build_prefix.
24244 * Makefile.in (diagnostic.o): Update dependencies.
24245
42f40af4
L
242462010-05-24 H.J. Lu <hongjiu.lu@intel.com>
24247
24248 * config/i386/ia32intrin.h (__crc32q): Define only if
24249 __SSE4_2__ is defined.
24250
1db0429a
IS
242512010-05-24 Iain Sandoe <iains@gcc.gnu.org>
24252
24253 PR target/44132
24254 PR middle-end/43602
24255 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
24256 DECL_VISIBILITY_SPECIFIED.
24257 (emutls_decl): Set DECL_PRESERVE_P and copy
24258 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
24259 (emutls_finalize_control_var): New callback.
24260 (emutls_finish): Finalize emutls control variables.
ade52657 24261 * toplev.c (compile_file): Move the call to emutls_finish ()
1db0429a
IS
24262 before varpool_assemble_pending_decls ().
24263
e72e2da4
DG
242642010-05-24 Daniel Gutson <dgutson@codesourcery.com>
24265
24266 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
24267 added to the preprocessor condition.
24268
b748fbd6
PB
242692010-05-24 Paul Brook <paul@codesourcery.com>
24270
24271 * gengtype-lex.l: Add HARD_REG_SET.
24272 * expr.c (expand_expr_real_1): Record writes to hard registers.
24273 * function.c (rtl_data): Add asm_clobbers.
24274 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
24275 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
24276 Use crtl->asm_clobbers.
24277
9888e9cf
RW
242782010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24279
24280 * doc/makefile.texi (Makefile): Mention stages 'profile'
24281 and 'feedback' for profiledbootstrap.
24282
cf5b989e
L
242832010-05-23 H.J. Lu <hongjiu.lu@intel.com>
24284
24285 PR target/44245
24286 * config/i386/i386.c (def_builtin): Properly check
24287 OPTION_MASK_ISA_64BIT.
24288
dc5027f4
JM
242892010-05-23 Joseph Myers <joseph@codesourcery.com>
24290
24291 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
24292 typedefs with different but compatible types. Allow duplicate
24293 typedefs with the same type except for pedantic non-C1X, but give
24294 warning for variably modified types.
24295 * c-typeck.c (tagged_types_tu_compatible_p,
24296 function_types_compatible_p, type_lists_compatible_p,
24297 comptypes_internal): Add parameter different_types_p; set
24298 *different_types_p for different but compatible types. All
24299 callers changed.
24300 (comptypes_check_different_types): New.
24301 * c-tree.h (comptypes_check_different_types): Declare.
24302
2d1a4cc1
SB
243032010-05-23 Steven Bosscher <steven@gcc.gnu.org>
24304
ade52657 24305 * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
2d1a4cc1
SB
24306 * jump.c: Include basic-block.h.
24307 * profile.c: Likewise.
24308 * tree-profile.c: Likewise.
24309 * coverage.c: Likewise.
24310 * basic-block.h (optimize_function_for_size_p): Move to function.h.
24311 (optimize_function_for_speed_p): Likewise.
24312 * function.h (optimize_function_for_size_p,
24313 optimize_function_for_speed_p): Moved here from basic-block.h.
539bac37 24314 * Makefile.in: Update dependencies.
2d1a4cc1 24315
5767217f
RW
243162010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24317
24318 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
24319 before calling make; allow override through $MAKE.
24320 * doc/invoke.texi (Optimize Options): Document override.
24321
7a955d62
AS
243222010-05-23 Anatoly Sokolov <aesok@post.ru>
24323
24324 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
24325 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
24326 (rs6000_mode_dependent_address_ptr): Make static.
24327 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
24328 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
24329 Remove.
24330
362ff46e 243312010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
7b37a805
ML
24332
24333 PR target/43869
24334 * config/i386/i386.c: Make sure that the correct regparm is passed.
24335
9ecb1730
SB
243362010-05-23 Steven Bosscher <steven@gcc.gnu.org>
24337
24338 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
24339 * sbitmap.c: ...to here to internalize sbitmap element access.
24340 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
24341 Explain why basic-block.h is included.
24342 * function.h: Include tm.h for CUMULATIVE_ARGS.
24343 * Makefile.in: Update dependencies.
24344
7a8cba34
SB
243452010-05-22 Steven Bosscher <steven@gcc.gnu.org>
24346
24347 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
24348 New core types.
24349 * sbitmap.h (struct sbitmap_def): Do not typedef here.
24350 * sbitmap.c: Include sbitmap.h.
24351 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
24352 hard-reg-set.h. Split everything related to regsets out from here...
24353 * regset.h: ...to here. New file.
24354 * df.h: Include regset.h and sbitmap.h.
24355 * tree-flow.h: Likewise.
24356 * cfgloop.h: Likewise.
24357 * except.h: Do not include sbitmap.h. Include hashtab.h.
24358 * cgraph.h: Include vec.h and function.h.
24359 * reload.h (struct insn_chain): Change types of live_throughout
24360 and dead_or_set from regset_head to bitmap_head.
24361 (compute_use_by_pseudos): Be defined also if regset.h is not included.
24362 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
24363 spilled_regs from regset_head to bitmap_head to avoid dependency
24364 in regset.h.
24365 * sel-sched-ir.h: Include regset.h.
24366 * reload.c: Include df.h before reload.h.
24367 * caller-save.c: Likewise.
24368 * reload1.c: Likewise.
24369 * ira.c: Likewise.
24370 (mark_elimination): Update type of r to bitmap, consistent with
24371 DF_LR_IN.
24372 * dominance.c: Include bitmap.h.
24373 * modulo-sched.c: Include df.h.
24374 * cfganal.c: Include bitmap.h and sbitmap.h.
24375 * cfgbuild.c: Include sbitmap.h.
24376 * lcm.c: Include sbitmap.h.
24377 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
24378 * domwalk.c: Include sbitmap.h, exclude ggc.h.
24379 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
24380 * cselib.c: Include bitmap.h.
24381 * tree-optimize.c: Include regset.h.
24382 * stmt.c: Include bitmap.h.
24383 * Makefile.in: Update dependencies.
24384
9f90e80a
JH
243852010-05-22 Jan Hubicka <jh@suse.cz>
24386
24387 * cgraph.h (struct varpool_node): Add same_comdat_group.
24388 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
24389 pointer.
24390 (output_varpool): Update call of lto_output_varpool_node.
24391 (input_varpool): Read same_comdat_group pointer.
24392 (input_varpool_1): Fixup same_comdat_group pointer.
24393 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
24394 group is needed, all are.
24395 * varpool.c (varpool_remove_node): Remove node from same comdat group
24396 linklist too.
24397 (varpool_analyze_pending_decls): Walk same comdat groups.
24398
a2c9fe42
SB
243992010-05-22 Steven Bosscher <steven@gcc.gnu.org>
24400
24401 * rtl.h (union rtunion_def): Remove rt_bit member.
24402 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
24403 * print-rtl (print_rtx): Do not print the member.
24404 * gengtype.c (adjust_field_rtx_def): Do not handle it.
24405 * gengenrtl.c (type_from_format): Likewise.
24406 (accessor_from_format): Likewise.
24407
3b2ce251
JM
244082010-05-22 Joseph Myers <joseph@codesourcery.com>
24409
24410 * dbgcnt.c: Include toplev.h instead of errors.h.
24411 * ira-emit.c: Don't include errors.h.
24412 * ira.c: Include toplev.h instead of errors.h.
24413 * lto-compress.c: Include toplev.h instead of errors.h.
24414 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
24415 ira.o, dbgcnt.o): Update dependencies.
24416
bd9eb5da
RG
244172010-05-22 Richard Guenther <rguenther@suse.de>
24418
24419 * gimple.c (gimple_types_compatible_p): Check type qualifications
24420 before merging pointer to complete and pointer to incomplete type.
24421 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
24422 we use our own resolution algorithm. The gold linker plugin
24423 doesn't do the job we want it to do here.
24424
277e2873
AS
244252010-05-22 Anatoly Sokolov <aesok@post.ru>
24426
24427 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
24428 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
24429 (sparc_mode_dependent_address_p): New function.
24430
613b1547
SB
244312010-05-21 Steven Bosscher <steven@gcc.gnu.org>
24432
24433 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
24434
24435 * timevar.c: Do not include any core headers.
24436 (timevar_print): De-i18n-ize.
24437 (print_time): Likewise.
24438 * timevar.h (timevar_push, timevar_pop): Make inline functions.
24439
cf835838
JM
244402010-05-21 Joseph Myers <joseph@codesourcery.com>
24441
24442 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
24443 langhooks-def.h.
24444 (diagnostic_initialize): Initialize x_data not last_function.
24445 (diagnostic_report_current_function): Move to tree-diagnostic.c.
24446 (default_diagnostic_starter): Call
24447 diagnostic_report_current_module not
24448 diagnostic_report_current_function.
24449 (diagnostic_report_diagnostic): Initialize x_data not
24450 abstract_origin.
24451 (verbatim): Likewise.
24452 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
24453 x_data.
24454 (struct diagnostic_context): Change last_function to x_data.
24455 (diagnostic_auxiliary_data): Replace with
24456 diagnostic_context_auxiliary_data and
24457 diagnostic_info_auxiliary_data.
24458 (diagnostic_last_function_changed, diagnostic_set_last_function,
24459 diagnostic_report_current_function): Move to tree-diagnostic.h.
24460 (print_declaration, dump_generic_node, print_generic_stmt,
24461 print_generic_stmt_indented, print_generic_expr,
24462 print_generic_decl, debug_c_tree, dump_omp_clauses,
24463 print_call_name, debug_generic_expr, debug_generic_stmt,
24464 debug_tree_chain, default_tree_printer): Move to
24465 tree-pretty-print.h.
24466 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
24467 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
24468 gimple-pretty-print.h.
24469 * pretty-print.c: Don't include tree.h
24470 (pp_base_format): Don't handle %K here.
24471 (pp_base_tree_identifier): Move to tree-pretty-print.c.
24472 * pretty-print.h (text_info): Change abstract_origin to x_data.
24473 (pp_tree_identifier, pp_unsupported_tree,
24474 pp_base_tree_identifier): Move to tree-pretty-print.h.
24475 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
24476 tree-pretty-print.h: New files.
24477 * tree-pretty-print.c: Include tree-pretty-print.h.
24478 (percent_K_format): New. Moved from pretty-print.c.
24479 (pp_base_tree_identifier): Move from pretty-print.c.
24480 * c-objc-common.c: Include tree-pretty-print.h.
24481 (c_tree_printer): Handle %K here.
24482 * langhooks.c: Include tree-diagnostic.h.
24483 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
24484 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
24485 (default_tree_printer): Handle %K using percent_K_format.
24486 (general_init): Use default_tree_diagnostic_starter.
24487 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
24488 (free_lang_data): Use default_tree_diagnostic_starter.
24489 * c-pretty-print.c: Include tree-pretty-print.h.
ade52657
UB
24490 * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
24491 * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
24492 * dwarf2out.c: Include tree-pretty-print.h.
24493 * except.c: Include tree-pretty-print.h.
24494 * gimple-pretty-print.c: Include tree-pretty-print.h and
24495 gimple-pretty-print.h.
24496 * gimplify.c: Include tree-pretty-print.h.
24497 * graphite-poly.c: Include tree-pretty-print.h and
24498 gimple-pretty-print.h.
24499 * ipa-cp.c: Include tree-pretty-print.h.
24500 * ipa-inline.c: Include gimple-pretty-print.h.
ade52657 24501 * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
24502 * ipa-pure-const.c: Include gimple-pretty-print.h.
24503 * ipa-struct-reorg.c: Include tree-pretty-print.h and
24504 gimple-pretty-print.h.
24505 * ipa-type-escape.c: Include tree-pretty-print.h.
24506 * print-rtl.c: Include tree-pretty-print.h.
24507 * print-tree.c: Include gimple-pretty-print.h.
24508 * sese.c: Include tree-pretty-print.h.
24509 * tree-affine.c: Include tree-pretty-print.h.
24510 * tree-browser.c: Include tree-pretty-print.h.
24511 * tree-call-cdce.c: Include gimple-pretty-print.h.
ade52657 24512 * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
24513 * tree-chrec.c: Include tree-pretty-print.h.
24514 * tree-data-ref.c: Include tree-pretty-print.h and
24515 gimple-pretty-print.h.
24516 * tree-dfa.c: Include tree-pretty-print.h.
24517 * tree-if-conv.c: Include tree-pretty-print.h and
24518 gimple-pretty-print.h.
24519 * tree-inline.c: Include tree-pretty-print.h.
24520 * tree-into-ssa.c: Include tree-pretty-print.h and
24521 gimple-pretty-print.h.
24522 * tree-nrv.c: Include tree-pretty-print.h.
24523 * tree-object-size.c: Include tree-pretty-print.h and
24524 gimple-pretty-print.h.
24525 * tree-outof-ssa.c: Include tree-pretty-print.h and
24526 gimple-pretty-print.h.
24527 * tree-parloops.c: Include tree-pretty-print.h and
24528 gimple-pretty-print.h.
24529 * tree-predcom.c: Include tree-pretty-print.h and
24530 gimple-pretty-print.h.
24531 * tree-scalar-evolution.c: Include tree-pretty-print.h and
24532 gimple-pretty-print.h.
24533 * tree-sra.c: Include tree-pretty-print.h.
24534 * tree-ssa-address.c: Include tree-pretty-print.h.
24535 * tree-ssa-alias.c: Include tree-pretty-print.h.
24536 * tree-ssa-ccp.c: Include tree-pretty-print.h and
24537 gimple-pretty-print.h.
24538 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
24539 * tree-ssa-copy.c: Include tree-pretty-print.h and
24540 gimple-pretty-print.h.
24541 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
24542 * tree-ssa-dce.c: Include tree-pretty-print.h and
24543 gimple-pretty-print.h.
24544 * tree-ssa-dom.c: Include tree-pretty-print.h and
24545 gimple-pretty-print.h.
24546 * tree-ssa-dse.c: Include gimple-pretty-print.h.
24547 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
24548 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
24549 * tree-ssa-live.c: Include tree-pretty-print.h and
24550 gimple-pretty-print.h.
24551 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
24552 gimple-pretty-print.h.
24553 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
24554 gimple-pretty-print.h.
24555 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
24556 gimple-pretty-print.h.
24557 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
24558 gimple-pretty-print.h.
24559 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
24560 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
24561 * tree-ssa-operands.c: Include tree-pretty-print.h and
24562 gimple-pretty-print.h.
24563 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
24564 gimple-pretty-print.h.
24565 * tree-ssa-pre.c: Include tree-pretty-print.h and
24566 gimple-pretty-print.h.
24567 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
24568 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
24569 gimple-pretty-print.h.
24570 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
24571 gimple-pretty-print.h.
24572 * tree-ssa-sink.c: Include gimple-pretty-print.h.
24573 * tree-ssa-ter.c: Include tree-pretty-print.h and
24574 gimple-pretty-print.h.
24575 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
24576 * tree-ssa.c: Include tree-pretty-print.h and
24577 gimple-pretty-print.h.
24578 * tree-stdarg.c: Include gimple-pretty-print.h.
24579 * tree-switch-conversion.c: Include gimple-pretty-print.h.
24580 * tree-tailcall.c: Include tree-pretty-print.h and
24581 gimple-pretty-print.h.
24582 * tree-vect-data-refs.c: Include tree-pretty-print.h and
24583 gimple-pretty-print.h.
24584 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
24585 gimple-pretty-print.h.
24586 * tree-vect-loop.c: Include tree-pretty-print.h and
24587 gimple-pretty-print.h.
24588 * tree-vect-patterns.c: Include gimple-pretty-print.h.
24589 * tree-vect-slp.c: Include tree-pretty-print.h and
24590 gimple-pretty-print.h.
24591 * tree-vect-stmts.c: Include tree-pretty-print.h and
24592 gimple-pretty-print.h.
24593 * tree-vectorizer.c: Include tree-pretty-print.h.
24594 * tree-vrp.c: Include tree-pretty-print.h and
24595 gimple-pretty-print.h.
24596 * value-prof.c: Include tree-pretty-print.h and
24597 gimple-pretty-print.h.
24598 * var-tracking.c: Include tree-pretty-print.h.
24599 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
24600 (tree-diagnostic.o): New dependencies.
24601 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
24602 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
24603 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
24604 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
24605 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
24606 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
24607 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
24608 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
24609 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
24610 tree-ssa-address.o, tree-ssa-loop-niter.o,
24611 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
24612 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
24613 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
24614 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
24615 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
24616 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
24617 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
24618 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
24619 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
24620 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
24621 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
24622 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
24623 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
24624 tree-switch-conversion.o, var-tracking.o, value-prof.o,
24625 cfgexpand.o, pretty-print.o): Update dependencies.
24626
cf4f4175
AT
246272010-05-22 Andreas Tobler <andreast@fgznet.ch>
24628
24629 * tree-ssa-structalias.c: Remove tm_p.h from include.
24630
c6d0f11a
JL
246312010-05-21 Jeff Law <law@redhat.com>
24632
24633 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
24634
d3f28910
JM
246352010-05-21 Jason Merrill <jason@redhat.com>
24636
24637 * tree-eh.c (cleanup_is_dead_in): New.
24638 (lower_try_finally): Don't generate a dead cleanup region.
24639 (lower_cleanup): Likewise.
24640
14db98d4
JJ
246412010-05-21 Jakub Jelinek <jakub@redhat.com>
24642
24643 PR debug/44223
24644 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
24645 unchain each use from the cyclic next_regno_use chain first.
24646
d49b6e1e
SB
246472010-05-21 Steven Bosscher <steven@gcc.gnu.org>
24648
24649 * real: Do not include gmp.h, mpfr.h, and mpc.h.
24650 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
24651 (real_value_negate, real_value_abs): New prototypes.
24652 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
24653 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
24654 new include file for interface between MPFR and REAL_VALUE_TYPE.
24655 * real.c: Include realmpfr.h.
24656 (real_arithmetic2): Remove legacy function.
24657 (real_value_negate): New.
24658 (real_value_abs): New.
24659 (mfpr_from_real, real_from_mpfr): Move from here...
24660 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
24661 * builtins.c: Include realmpfr.h.
24662 * fold-const.c: Include realmpfr.h.
24663 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
24664 (fold_negate_const): Likewise.
24665 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
24666 * toplev.c: Include realmpfr.h.
24667 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
24668 and real_value_negate.
24669 * fixed-value.c (check_real_for_fixed_mode): Likewise.
24670 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
24671 (vfp3_const_double_index): Likewise.
24672 (arm_print_operand): Likewise.
24673 * Makefile.in: Update dependencies.
24674
5b4b1c9a
AK
246752010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
24676
24677 * config/s390/s390.c (override_options): Increase the default
24678 of max-completely-peel-times.
24679
7c19c715
JB
246802010-05-21 Julian Brown <julian@codesourcery.com>
24681 Mark Mitchell <mark@codesourcery.com>
24682
24683 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
24684 sibling calls for Thumb-1.
24685 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
24686 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
24687 Thumb-2.
24688 (*call_insn, *call_value_insn): Don't use for Thumb-2.
24689 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
24690 for Thumb-2.
24691 (return): New expander.
24692 (*arm_return): New name for ARM return insn.
24693 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
24694
f4a4b582 246952010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
3943fe02
JS
24696
24697 * config.gcc (sparc64-*-rtems*): New target.
24698
95f6e526
NF
246992010-05-21 Nathan Froyd <froydnj@codesourcery.com>
24700
24701 * tree.c (build_function_decl_skip_args): Fix grammar.
24702 (build_function_type_list_1): Fix typos, adjust formatting.
24703
40013784
SB
247042010-05-21 Steven Bosscher <steven@gcc.gnu.org>
24705
24706 * tree.h: Include real.h and fixed-value.h as basic datatypes.
24707 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
24708 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
24709 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
24710 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
24711 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
24712 tree-pretty-print.c, tree-loop-distribution.c,
24713 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
24714 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
24715 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
24716 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
24717 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
24718 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
24719 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
24720 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
24721 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
24722 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
24723 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
24724 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
24725 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
24726 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
24727 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
24728 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
24729 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
24730 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
24731 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
24732 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
24733 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
24734 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
24735 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
24736 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
24737 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
24738 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
24739 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
24740 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
24741 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
24742 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
24743 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
24744 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
24745 config/score/score7.c, config/score/score.c, config/arm/arm.c,
24746 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
24747 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
ade52657 24748 config/bfin/bfin.c: Clean up redundant includes.
40013784
SB
24749 * Makefile.in: Update accordingly.
24750
0a7561b7
NF
247512010-05-21 Nathan Froyd <froydnj@codesourcery.com>
24752
24753 PR middle-end/44204
24754 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
24755 statement has no arguments.
24756
e1935569
KT
247572010-05-21 Kai Tietz <kai.tietz@onevision.com>
24758
24759 PR/44139
24760 * varasm.c (emutls_decl): Merge attributes to new decl.
24761
46314d3e
EB
247622010-05-21 Eric Botcazou <ebotcazou@adacore.com>
24763
24764 PR middle-end/44101
24765 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
24766 around the uniquized constructor if its type requires a conversion.
24767
f99fcb3b
JJ
247682010-05-21 Jakub Jelinek <jakub@redhat.com>
24769
24770 PR debug/44205
24771 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
24772 at -O0 goto_locus of any of the incoming edges differs from
24773 goto_locus of outgoing edge, or gimple_location of any of the
24774 labels differs.
24775
f4a4b582 247762009-09-14 Vladimir Makarov <vmakarov@redhat.com>
0583835c
VM
24777
24778 * ira.c (ira_non_ordered_class_hard_regs): Define.
ade52657 24779 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
0583835c
VM
24780 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
24781 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
24782 cost of unaligned hard regs when allocating multi-reg pseudos.
24783
9f946bc1
RS
247842010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
24785
24786 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
24787 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
24788 for TARGET_NO_FLOAT.
24789 * config/mips/mips.c (mips_file_start): Expand conditional expression
24790 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
24791 (mips_override_options): Move -mno-float override -msoft-float and
24792 -mhard-float.
24793 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
24794 Condition(TARGET_SUPPORTS_NO_FLOAT).
24795 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
24796 __mips_no_float here.
24797 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
24798 (TARGET_SUPPORTS_NO_FLOAT): Define.
24799 * config/mips/sdemtk.opt: Delete.
24800
69610617
SB
248012010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
24802
ade52657 24803 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
69610617 24804
953c29f7
UB
248052010-05-20 Uros Bizjak <ubizjak@gmail.com>
24806
24807 PR target/43733
24808 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
24809 * configure: Regenerate.
24810 * config.in: Regenerate.
24811 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
24812 instead of sahf only for 64bit targets.
24813
69b45d71
JJ
248142010-05-20 Jakub Jelinek <jakub@redhat.com>
24815
24816 PR debug/44178
24817 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
24818 setup_ref_regs for DEBUG_INSNs.
24819
a14f1878
JH
248202010-05-20 Jan Hubicka <jh@suse.cz>
24821
24822 PR middle-end/44197
24823 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
24824
5797be12
KZ
248252010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
24826
24827 PR bootstrap/43870
24828 * df-scan.c (df_ref_compare): Stabilize sort.
24829
f1ca3117
JJ
248302010-05-20 Jakub Jelinek <jakub@redhat.com>
24831
24832 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
24833 argument. Don't use DW_OP_piece if offset is non-zero,
24834 put offset into second DW_OP_bit_piece argument.
24835 (dw_sra_loc_expr): Adjust callers. For memory expressions
24836 compute offset.
24837
d8ec9c14
HPN
248382010-05-20 Hans-Peter Nilsson <hp@axis.com>
24839
24840 PR target/44202
24841 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
24842 settings for 16-bit-constant "addo" alternative.
24843
951771dc
JW
248442010-05-19 James E. Wilson <wilson@codesourcery.com>
24845
9af157ac
JW
24846 * config/mips/mips-dsp.md (add<DSPV:mode>3,
24847 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
24848
951771dc
JW
24849 PR target/43764
24850 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
24851 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
24852 Use it.
24853
676dd4d4
JM
248542010-05-19 Joseph Myers <joseph@codesourcery.com>
24855
24856 * diagnostic.c (FLOAT, FFS): Don't undefine.
24857 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
24858 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
24859 include ordering.
24860
caba7aaa
RS
248612010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
24862
24863 * combine.c (propagate_for_debug): Call make_compound_operation
24864 on the source value.
24865 (try_combine): When implementing a split chosen by find_split_point,
24866 either copy i2src or set it to null. Assert that i2src is not null
24867 before substituting into CALL_INSN_FUNCTION_USAGE.
24868
1961ffb8
AS
248692010-05-19 Anatoly Sokolov <aesok@post.ru>
24870
24871 * double-int.h (double_int_ior): New function.
24872 * tree.h (build_int_cst_wide_type): Remove.
24873 * tree.c (build_int_cst_wide_type): Remove.
24874 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
24875 of build_int_cst_wide_type.
24876 * stor-layout.c (set_sizetype): (Ditto.).
24877 * dojump.c (do_jump): Use build_int_cstu instead of
24878 build_int_cst_wide_type.
24879
616f1431
EB
248802010-05-19 Eric Botcazou <ebotcazou@adacore.com>
24881
24882 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
24883 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
24884 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
ade52657 24885 * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
616f1431
EB
24886 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
24887 propagate the 'data' argument to copy_tree_r.
24888 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
24889 Propagate 'data' argument to walk_tree.
24890 (copy_if_shared): New function.
24891 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
24892 (unmark_visited): New function.
24893 (unshare_body): Call copy_if_shared instead of doing it manually.
24894 (unvisit_body): Call unmark_visited instead of doing it manually.
24895
f311c3b4
NF
248962010-05-19 Nathan Froyd <froydnj@codesourcery.com>
24897
24898 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
24899 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
24900 * hooks.c: Likewise.
24901 * target-def.h (TARGET_FOLD_BUILTIN): Define to
24902 hook_tree_tree_int_treep_bool_null.
ade52657 24903 * target.h (struct gcc_target): Update signature of fold_builtin
f311c3b4
NF
24904 field.
24905 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
24906 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
24907 instead of the call expression.
24908 (fold_builtin_call_array): Pass n and argarray directly.
24909 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
24910 consing a list.
24911 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
24912 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
24913 `i' and use it in place of `arity'.
24914 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
24915 Dereference `args' directly.
24916 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
24917
40f1bdd9
RO
249182010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
24919
24920 * doc/sourcebuild.texi (Effective-Target Keywords): Document
24921 3dnow, sse3, sse2.
24922 (Directives): Document optional dg-require-effective-target
24923 selector.
24924
817c2996
RG
249252010-05-19 Richard Guenther <rguenther@suse.de>
24926
24927 PR lto/44196
24928 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
24929
c04b6b38
RG
249302010-05-19 Richard Guenther <rguenther@suse.de>
24931
24932 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
24933 * common.opt (fwhopr=): New.
24934 * opts.c (common_handle_option): Handle OPT_fwhopr.
24935 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
24936 * collect2.c (main): Match -fwhopr*.
24937 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
24938 Execute ltrans stage in parallel when jobs is bigger than 1.
24939
ed104137
RO
249402010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
24941
24942 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
24943 pentiumpro on Solaris 8/x86 with Sun as.
24944 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
24945 hidden alias bug.
24946 (gcc_cv_as_ix86_quad): Check for .quad directive.
24947 * configure: Regenerate.
24948 * config.in: Regenerate.
24949 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
24950
749aa96d
MJ
249512010-05-19 Martin Jambor <mjambor@suse.cz>
24952
24953 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
24954 also for indirect edges. Actual printing moved...
24955 (ipa_print_node_jump_functions_for_edge): ...here.
24956 (ipa_compute_jump_functions): Renamed to
24957 ipa_compute_jump_functions_for_edge and made static.
24958 (ipa_compute_jump_functions): New function.
24959 (make_edge_direct_to_target): Check if the number of arguments on
24960 the newly direct edge is the same as the number of parametrs of
24961 the callee.
24962 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
24963 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
24964 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
24965 analysis functions unconditionally, call the new
24966 ipa_analyze_params_uses on the node instead of every edge.
24967
81f32326
CB
249682010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
24969
431043bd 24970 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
81f32326 24971 to tree.
431043bd 24972 (dump_mem_ref): Adopt debug code to handle a tree as step. This
81f32326
CB
24973 also checks for a constant int vs. non-constant but
24974 loop-invariant steps.
431043bd 24975 (find_or_create_group): Change the sort algorithm to only consider
81f32326 24976 steps that are constant ints.
431043bd 24977 (idx_analyze_ref): Adopt code to handle a tree instead of a
81f32326 24978 HOST_WIDE_INT for step.
431043bd 24979 (gather_memory_references_ref): Handle tree instead of int and be
81f32326 24980 prepared to see a NULL_TREE.
431043bd 24981 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
81f32326 24982 prefetches if the step cannot be calculated at compile time.
431043bd 24983 (issue_prefetch_ref): Issue prefetches for non-constant but
81f32326
CB
24984 loop-invariant steps.
24985
39b27b3a
NF
249862010-05-18 Nathan Froyd <froydnj@codesourcery.com>
24987
24988 Revert:
24989 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
24990
24991 * tree.h (build_call_list): Remove.
24992 * tree.c (build_call_list): Remove.
24993
3fcb9d1b
NF
249942010-05-18 Nathan Froyd <froydnj@codesourcery.com>
24995
24996 * tree.h (build_call_list): Remove.
24997 * tree.c (build_call_list): Remove.
24998
58efc3ac
JH
249992010-05-18 Jan Hubicka <jh@suse.cz>
25000
25001 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
25002
0495bafc
VM
250032010-05-18 Vladimir Makarov <vmakarov@redhat.com>
25004
25005 PR rtl-optimization/43332
25006 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
25007
abdbbf16
AS
250082010-05-18 Anatoly Sokolov <aesok@post.ru>
25009
25010 * tree.h (build_int_cstu): Implement as static inline.
25011 * tree.c (build_int_cstu): Remove function.
25012 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
25013 sign extended.
25014
cf96bae7
RG
250152010-05-18 Richard Guenther <rguenther@suse.de>
25016
25017 PR lto/44143
25018 * lto-wrapper.c (verbose): New variable. Initialize from -v.
25019 (debug): Initialize from -save-temps.
25020 (collect_execute): Print command-line when verbose.
25021 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
25022 for ltrans invocation. Produce -dumpbase flag again.
25023 (process_args): Remove.
25024 (main): Simplify.
25025 * collect2.c (maybe_run_lto_and_relink): Only pass object
25026 files to lto-wrapper.
25027 * gcc.c (LINK_COMMAND_SPEC): Likewise.
25028
80e2a014
JH
250292010-05-18 Jan Hubicka <jh@suse.cz>
25030
25031 * opts.c (decode_options): Do not disable whopr at ipa_cp.
25032 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
25033
174f391c
SB
250342010-05-18 Steven Bosscher <steven@gcc.gnu.org>
25035
25036 PR lto/44184
25037 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
25038 in a GIMPLE_ASM.
25039 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
25040 in a GIMPLE_ASM.
25041
13077931
JJ
250422010-05-18 Jakub Jelinek <jakub@redhat.com>
25043
25044 PR debug/41371
25045 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
25046 rtx_equal_p inline.
25047
02540df4
SB
250482010-05-18 Steven Bosscher <steven@gcc.gnu.org>
25049
25050 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
25051 lto-macho as lto_binary_reader.
25052
25053 * darwin.c (darwin_asm_named_section): Do not add assembler comment
25054 after .section directive; just print it before the directive instead.
25055
36576655
JH
250562010-05-17 Jan Hubicka <jh@suse.cz>
25057
25058 * cgraph.c (cgraph_create_virtual_clone): Only check
25059 versionable_function_p when not in wpa and checking is enabled.
25060 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
25061 there are no more functions to materialize.
25062
922f15c2
JH
250632010-05-17 Jan Hubicka <jh@suse.cz>
25064
25065 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
25066 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
25067 New functions.
25068 (output_cgraph): Call output_cgraph_opt_summary.
25069 (input_cgrpah): Call input_cgraph_opt_summary.
25070 (output_cgraph_opt_summary_p, output_node_opt_summary,
25071 input_node_opt_summary, input_cgraph_opt_section): New functions.
25072 * lto-section-in.c (lto_section_name): Add cgraphopt.
25073 * tree-inline.c (tree_function_versioning): Handle parm_num.
25074 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
25075 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
25076
d3a9b459
CF
250772010-05-17 Changpeng Fang <changpeng.fang@amd.com>
25078
25079 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
25080 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
25081 the insn to prefetch ratio heuristic to loops with known trip count.
25082
8532678c
CF
250832010-05-17 Changpeng Fang <changpeng.fang@amd.com>
25084
25085 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
25086 (schedule_prefetches): Do not generate a prefetch if the unroll factor
25087 is far from what is required by the prefetch.
25088
339f49ec
JH
250892010-05-17 Jan Hubicka <jh@suse.cz>
25090
25091 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
25092 (ipcp_estimate_growth): Likewise.
25093 (ipcp_const_param_count): Likewise.
25094 (ipcp_insert_stage): Likewise.
25095 * ipa-prop.c (visit_load_for_mod_analysis): New function.
25096 (visit_store_addr_for_mod_analysis): Set used flag.
25097 (ipa_detect_param_modifications): Set used flag for SSE params;
25098 update use of walk_stmt_load_store_addr_ops.
25099 (ipa_print_node_params): Print used flag.
25100 (ipa_write_node_info): Stream used flag.
25101 (ipa_read_node_info): Likewise.
25102 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
25103 (ipa_is_param_used): New function.
25104 (lto_ipa_fixup_call_notes): Remove unused declaration.
25105
2433310d
RO
251062010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
25107
25108 PR target/44074
25109 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
25110 * configure: Regenerate.
25111 * config.in: Regenerate.
431043bd 25112 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
2433310d
RO
25113 !HAVE_AS_IX86_REP_LOCK_PREFIX.
25114 Don't emit whitespace.
25115 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
25116 (*rep_movsi): Likewise.
25117 (*rep_movsi_rex64): Likewise.
25118 (*rep_movqi): Likewise.
25119 (*rep_movqi_rex64): Likewise.
25120 (*rep_stosdi_rex64): Likewise.
25121 (*rep_stossi): Likewise.
25122 (*rep_stossi_rex64): Likewise.
25123 (*rep_stosqi): Likewise.
25124 (*rep_stosqi_rex64): Likewise.
25125 (*cmpstrnqi_nz_1): Use {%;} after repz.
25126 (*cmpstrnqi_nz_rex_1): Likewise.
25127 (*cmpstrnqi_1): Likewise.
25128 (*cmpstrnqi_rex_1): Likewise.
25129 (*strlenqi_1): Use {%;} after repnz.
25130 (*strlenqi_rex_1): Likewise.
25131 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
25132 (*sync_compare_and_swap<mode>): Likewise.
25133 (sync_double_compare_and_swap<mode>): Likewise.
25134 (*sync_double_compare_and_swapdi_pic): Likewise.
25135 (sync_old_add<mode>): Likewise.
25136 (sync_add<mode>): Likewise.
25137 (sync_sub<mode>): Likewise.
25138 (sync_<code><mode>): Likewise.
25139
b258210c
MJ
251402010-05-17 Martin Jambor <mjambor@suse.cz>
25141
25142 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
25143 otr_token and polymorphic.
25144 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
25145 (cgraph_clone_edge): Copy the above fields.
25146 * tree.c (get_binfo_at_offset): New function.
25147 * tree.h (get_binfo_at_offset): Declare.
25148 * ipa-prop.h (enum jump_func_type): Added known_type jump function
25149 type, reordered items, updated comments.
25150 (union jump_func_value): Added base_type field, reordered fields.
25151 (enum ipa_lattice_type): Moved down in the file.
25152 (struct ipa_param_descriptor): New field polymorphic.
25153 (ipa_is_param_polymorphic): New function.
25154 * ipa-prop.c: Include gimple.h and gimple-fold.h.
25155 (ipa_print_node_jump_functions): Print known type jump functions.
25156 (compute_complex_pass_through): Renamed to...
25157 (compute_complex_assign_jump_func): this.
25158 (compute_complex_ancestor_jump_func): New function.
25159 (compute_known_type_jump_func): Likewise.
25160 (compute_scalar_jump_functions): Create known type and complex ancestor
25161 jump functions.
25162 (ipa_note_param_call): New parameter polymorphic, set the corresponding
25163 flag in the call note accordingly.
25164 (ipa_analyze_call_uses): Renamed to...
25165 (ipa_analyze_indirect_call_uses): this. New parameter target, define
25166 variable var only in the block where it is used.
25167 (ipa_analyze_virtual_call_uses): New function.
25168 (ipa_analyze_call_uses): Likewise.
25169 (combine_known_type_and_ancestor_jfs): Likewise.
25170 (update_jump_functions_after_inlining): Implemented handling of a
25171 number of new jump function types combination.
25172 (print_edge_addition_message): Removed.
25173 (make_edge_direct_to_target): New function.
25174 (try_make_edge_direct_simple_call): Likewise.
25175 (try_make_edge_direct_virtual_call): Likewise.
25176 (update_call_notes_after_inlining): Renamed to...
25177 (update_indirect_edges_after_inlining): this. Moved edge creation for
25178 indirect calls to try_make_edge_direct_simple_call, also calls
25179 try_make_edge_direct_virtual_call for virtual calls.
25180 (ipa_print_node_params): Changed the header message.
25181 (ipa_write_jump_function): Stream also known type jump functions.
25182 (ipa_read_jump_function): Likewise.
25183 (ipa_write_indirect_edge_info): Stream new fields in
25184 cgraph_indirect_call_info.
25185 (ipa_read_indirect_edge_info): Likewise.
25186 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
25187 GIMPLE_FOLD_H.
25188
d5d74497
RO
251892010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
25190
25191 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
25192
58a11859
NF
251932010-05-17 Nathan Froyd <froydnj@codesourcery.com>
25194
25195 * tree.h (CALL_EXPR_ARGS): Delete.
25196 (call_expr_arglist): Delete.
25197 * tree.c (call_expr_arglist): Delete.
25198 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
25199 targetm.fold_builtin.
25200 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
25201 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
25202 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
25203 arglist parameter. Use CALL_EXPR_ARG.
25204 (picochip_expand_builtin_3op): Likewise.
25205 (picochip_expand_builtin_2opvoid): Likewise.
25206 (picochip_expand_array_get): Likewise.
25207 (picochip_expand_array_put): Likewise.
25208 (picochip_expand_array_testport): Likewise.
25209 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
25210 rather than arglist.
25211 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
25212 CALL_EXPR_ARGS.
25213 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
25214 than TREE_VALUE and TREE_CHAIN.
25215 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
25216 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
25217 the arglist.
25218
f1de5107
JJ
252192010-05-17 Jakub Jelinek <jakub@redhat.com>
25220
f145213f
JJ
25221 PR bootstrap/42347
25222 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
25223 to have no fallthru edge.
25224
f1de5107
JJ
25225 PR middle-end/44102
25226 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
25227 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
25228 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
25229 add BARRIER after previous bb if needed.
25230
b64fca63 252312010-05-17 Nathan Froyd <froydnj@codesourcery.com>
431043bd 25232
b64fca63 25233 * tree.c (build_function_type_list_1): Remove bogus assert condition.
431043bd 25234
2882bfcc
AM
252352010-05-17 Alan Modra <amodra@gmail.com>
25236
25237 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
25238 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
25239 with copy_reg rtx param.
25240 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
25241 Correct cases where code for ABI_V4 did not initialise the reg
25242 used to access frame. Also leave frame_reg_rtx as sp for large
25243 frames that save no regs.
25244
5feb49f0
MJ
252452010-05-17 Martin Jambor <mjambor@suse.cz>
25246
25247 PR middle-end/44133
25248 * tree-sra.c (create_access_replacement): New parameter rename, mark
25249 the replaement for renaming only when it is true.
25250 (get_access_replacement): Pass true in the rename parameter of
25251 create_access_replacement.
25252 (get_unrenamed_access_replacement): New function.
25253 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
25254 replacement declaration from it.
25255
56731d64
BS
252562010-05-17 Bernd Schmidt <bernds@codesourcery.com>
25257
25258 * function.c (try_fit_stack_local, add_frame_space): New static
25259 functions.
25260 (assign_stack_local_1): Use them. Look for opportunities to use
25261 space previously wasted on alignment.
25262 * function.h (struct frame_space): New.
25263 (struct rtl_data): Add FRAME_SPACE_LIST member.
25264 * reload1.c (something_was_spilled): New static variable.
25265 (alter_reg): Set it.
25266 (reload): Test it in addition to testing if the frame size changed.
25267
24a235c8
CB
252682010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
25269
431043bd
UB
25270 * config/s390/s390.c: Define sane prefetch settings and activate
25271 flag_prefetch_loop_arrays on -O3.
25272 * config/s390/s390.h: Declare that read can use write prefetch.
24a235c8 25273
18252dcf
JJ
252742010-05-17 Jakub Jelinek <jakub@redhat.com>
25275
25276 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
25277 build.
25278
199f1dc4
JH
252792010-05-16 Jan Hubicka <jh@suse.cz>
25280
25281 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
25282 function body; do not check stdarg field of struct function.
25283
ccbbf8a2
JH
252842010-05-16 Jan Hubicka <jh@suse.cz>
25285
25286 * cgraph.c (dump_cgraph_node): Dump versionable flag.
25287 * cgraph.h (cgraph_local_info): Add versionable flag.
25288 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
25289 (ipcp_versionable_function_p): Use it.
25290 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
25291 versionable flag.
25292
91fbf0c7
JH
252932010-05-16 Jan Hubicka <jh@suse.cz>
25294
25295 * cgraph.c (cgraph_clone_node): Take decl argument and insert
25296 clone into hash when it is different from orig.
25297 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
25298 * cgraph.h (cgraph_clone_node): Update prototype.
25299 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
25300 (lto_cgraph_encoder_delete): Delete body map.
25301 (lto_cgraph_encoder_size): Move to header.
ccbbf8a2
JH
25302 (lto_cgraph_encoder_encode_body_p,
25303 lto_set_cgraph_encoder_encode_body): New.
91fbf0c7
JH
25304 (lto_output_node): Do not take written_decls argument; output clone_of
25305 pointer.
25306 (add_node_to): Add include_body_argument; call
25307 lto_set_cgraph_encoder_encode_body on master of the clone.
25308 (add_references): Update use of add_node_to.
25309 (compute_ltrans_boundary): Likewise.
25310 (output_cgraph): Do not create written_decls bitmap.
25311 (input_node): Take nodes argument; stream in clone_of correctly.
25312 (input_cgraph_1): Update use of input_node.
25313 * lto-streamer-out.c (lto_output): Use encoder info to decide
25314 what bodies to output.
25315 * ipa-inline.c (cgraph_clone_inlined_nodes,
25316 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
25317 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
25318 (lto_cgraph_encoder_size): Define here.
25319 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
25320 Declare.
25321
6b87d1b4
RG
253222010-05-16 Richard Guenther <rguenther@suse.de>
25323
25324 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
25325 -fipa-type-escape.
25326 * ipa-type-escape.c (gate_type_escape_vars): Run when
25327 -fipa-struct-reorg runs.
25328 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
25329 * common.opt (fipa-type-escape): Remove.
25330
203a92e3
EB
253312010-05-16 Eric Botcazou <ebotcazou@adacore.com>
25332
25333 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
25334 (decode_options): Likewise.
25335 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
25336
e419f710
JH
253372010-05-16 Jan Hubicka <jh@suse.cz>
25338
25339 * ipa.c (function_and_variable_visibility): Also bring local all
25340 aliases.
25341
2e0c984c
RG
253422010-05-16 Richard Guenther <rguenther@suse.de>
25343
25344 * alias.c (nonoverlapping_memrefs_p): Remove use of
25345 IPA type-escape information.
25346
32912286
JM
253472010-05-16 Joseph Myers <joseph@codesourcery.com>
25348
25349 * c-common.c (c_common_reswords): Add _Static_assert for C.
25350 * c-parser.c (c_token_starts_declaration,
25351 c_parser_next_token_starts_declaration,
25352 c_parser_static_assert_declaration_no_semi,
25353 c_parser_static_assert_declaration): New.
25354 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
25355 Handle static assertions if static_assert_ok.
25356 (c_parser_external_declaration, c_parser_declaration_or_fndef,
25357 c_parser_compound_statement_nostart, c_parser_label,
25358 c_parser_for_statement, c_parser_objc_methodprotolist,
25359 c_parser_omp_for_loop): All callers of
25360 c_parser_declaration_or_fndef changed.
25361 (c_parser_struct_declaration): Handle static assertions.
25362 (c_parser_compound_statement_nostart): Use
25363 c_parser_next_token_starts_declaration and
25364 c_token_starts_declaration to detect start of declarations.
25365 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
25366 Likewise.
25367
a3ca07e3
AS
253682010-05-16 Anatoly Sokolov <aesok@post.ru>
25369
25370 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
25371 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
25372 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
25373 TARGET_FUNCTION_VALUE_REGNO_P): Define.
25374 (mmix_function_outgoing_value): Rename to...
25375 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
25376 (mmix_function_value_regno_p): Make static.
25377 (mmix_libcall_value): New function.
25378 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
25379 mmix_function_value_regno_p): Remove declaration.
25380
29d17485
EB
253812010-05-16 Eric Botcazou <ebotcazou@adacore.com>
25382
25383 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
25384 BUILT_IN_ALLOCA if stack checking is enabled.
25385
a6590c31
RG
253862010-05-16 Richard Guenther <rguenther@suse.de>
25387
25388 * var-tracking.c (vars_copy_1): Inline ...
25389 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
25390 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
25391 (variable_merge_over_cur): Adjust. Merge asserts.
25392 (variable_merge_over_src): Likewise.
25393 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
25394 (variable_post_merge_new_vals): Merge asserts.
25395 (variable_post_merge_perm_vals): Likewise.
25396 (find_mem_expr_in_1pdv): Likewise.
25397 (dataflow_set_different_value): Remove.
25398 (onepart_variable_different_p): Merge asserts.
25399 (variable_different_p): Likewise.
25400 (dataflow_set_different_1): Inline ...
25401 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
25402 (emit_notes_for_differences_1): Merge asserts.
25403
6456e26e
RG
254042010-05-16 Richard Guenther <rguenther@suse.de>
25405
25406 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
25407 * optabs.c (libfunc_decl_hash): Likewise.
25408 * varasm.c (emutls_decl): Likewise.
25409
1d4c5fe9
SB
254102010-05-16 Steven Bosscher <steven@gcc.gnu.org>
25411
25412 * c-decl.c: Don't include gimple.h.
25413 (merge_decls): Do not copy gimple_body.
25414
9feb3d6a
JM
254152010-05-15 Jason Merrill <jason@redhat.com>
25416
25417 * c.opt: Add -fnothrow-opt.
25418
9b3cf76a
JH
254192010-05-15 Jan Hubicka <jh@suse.cz>
25420
29d17485
EB
25421 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
25422 analyzed.
9b3cf76a
JH
25423 * passes.c (ipa_write_summaries): Write all analyzed nodes.
25424
f4ce02c5
SB
254252010-05-15 Steven Bosscher <steven@gcc.gnu.org>
25426
25427 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
25428 * Makefile.in: Add it.
25429 Fix all other Makefile dependencies for changes below.
25430 * tree.h: Include it instead of defining VEC primitives here.
25431 * gimple.h: Likewise.
25432 * rtl.h: Likewise.
25433 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
25434 * except.h: Include vecir.h, break dependence on tree.h.
25435
25436 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
25437 Move from here...
25438 * tree-iterator.c: ...to here.
25439 * tree-iterator.h: Fix file introduction comment. Add extern markers.
25440
25441 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
25442 tm_p.h.
25443 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
25444 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
25445 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
25446 tree-mudflap.h, and target.h.
25447 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
25448 predict.h, tree-inline.h, gimple.h, and langhooks.h.
25449 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
25450 Add FIXME for why gimple.h is still included (should be unnecessary
25451 since GCC 4.5 gimplification unit-at-a-time).
25452 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
25453 * c-pragma.c: Add FIXME for why function.h needs to be included just
25454 for cfun, at front-end level.
25455 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
25456 Do not include ggc.h, but include vecprim.h for VEC(char).
25457 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
25458 Explain why target.h is included.
25459 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
25460 Explain why gimple.h is included.
25461 * c-ppoutput.c: Do not include tm.h.
25462 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
25463 * c-parses.c: Explain why rtl.h is included, and that this (and only
25464 this) is also why tm.h must be included.
25465 Do not include except.h.
25466 * c-lang.c: Do not include ggc.h.
25467
12201e48
UB
254682010-05-15 Uros Bizjak <ubizjak@gmail.com>
25469
25470 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
25471
4bdd0a60
JM
254722010-05-15 Joseph Myers <joseph@codesourcery.com>
25473
25474 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
25475 unions by default if those structs and unions have no tags. Do
25476 not condition anonymous struct and unions handling on flag_iso.
25477 Allow anonymous structs and unions for C1X.
25478 (finish_struct): Do not diagnose lack of named fields when
25479 anonymous structs and unions present for C1X. Accept flexible
25480 array members in structure with anonymous structs or unions but no
25481 directly named fields.
25482 * doc/extend.texi (Unnamed Fields): Update.
25483
d025732d
EB
254842010-05-15 Eric Botcazou <ebotcazou@adacore.com>
25485
25486 * gimple.h (compare_field_offset): Rename into...
25487 (gimple_compare_field_offset): ...this.
25488 * gimple.c (compare_field_offset): Rename into...
25489 (gimple_compare_field_offset): ...this. Compare the full access if
25490 the offset is self-referential.
25491 (gimple_types_compatible_p): Adjust for above renaming.
25492 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
25493 DECL_NONADDRESSABLE_P flag of fields before merging them.
25494
b75bdd29
NF
254952010-05-15 Nathan Froyd <froydnj@codesourcery.com>
25496
25497 * tree.h (ctor_to_list): Delete.
25498 * tree.c (ctor_to_list): Delete.
25499
f3380641
JH
255002010-05-15 Jan Hubicka <jh@suse.cz>
25501
25502 * ipa-reference.c: Include toplev.h
25503 (is_proper_for_analysis): Only add to all_module_statics
25504 if it is allocated.
25505 (write_node_summary_p, stream_out_bitmap,
25506 ipa_reference_write_optimization_summary,
25507 ipa_reference_read_optimization_summary): New.
25508 (struct ipa_opt_pass_d pass_ipa_reference): Add
25509 optimization summary streaming.
12201e48 25510 * lto-cgraph.c (referenced_from_this_partition_p,
f3380641
JH
25511 reachable_from_this_partition_p): New functions.
25512 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
25513 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
25514 * opts.c (decode_options): Enable ipa_reference.
25515 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
25516 * lto-streamer.h (referenced_from_this_partition_p,
25517 reachable_from_this_partition_p): Declare.
25518
9d0baae1
RG
255192010-05-15 Richard Guenther <rguenther@suse.de>
25520
25521 PR tree-optimization/44038
25522 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
25523 taking the address of a V_C_E of a constant.
25524
46c30019
JH
255252010-05-14 Jan Hubicka <jh@suse.cz>
25526
25527 * tree.h (memory_identifier_string): Remove.
25528 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
25529 (ipa_reference_global_vars_info_d): Remove statics_not_read and
25530 statics_not_written.
25531 (ipa_reference_optimization_summary_d): New structure.
25532 (ipa_reference_optimization_summary_t): New type and vector.
25533 (ipa_reference_vars_info_d): Embedd structures instead of using
25534 pointers.
25535 (reference_vars_to_consider): Remove out of GGC space.
25536 (module_statics_escape): Remove.
25537 (global_info_obstack): Rename to ...
25538 (optimization_summary_obstack): ... this one.
25539 (initialization_status_t): Remove.
25540 (memory_identifier_string): Remove.
25541 (get_reference_vars_info): Fix indenting.
25542 (set_reference_vars_info): Likewise.
25543 (get_reference_optimization_summary): New.
25544 (set_reference_optimization_summary): New.
25545 (get_global_reference_vars_info): Remove.
25546 (ipa_reference_get_read_global): Remove.
25547 (ipa_reference_get_written_global): Remove.
25548 (ipa_reference_get_not_read_global): Update.
25549 (ipa_reference_get_not_written_global): Update.
25550 (is_proper_for_analysis): Outlaw addressable.
25551 (propagate_bits): Update for new datastructures.
25552 (analyze_variable): Remove.
25553 (init_function_info): Update for new datastructures.
25554 (clean_function_local_data): Remove.
25555 (clean_function): Remove.
25556 (copy_global_bitmap): Use optimizations_summary_obstack.
25557 (duplicate_node_data): Duplicate optimization summary only.
25558 (remove_node_data): Remove optimization summary only.
25559 (generate_summary): Do not analyze variables; do not compute
25560 module_statics_escape; do not prune solutions by it.
25561 (read_write_all_from_decl): Fix typos in comments.
25562 (propagate): Doscover readonly and nonaddressable first;
25563 update for new datastructures; share global bitmaps.
25564 * ipa-reference.h (ipa_reference_get_read_global,
25565 ipa_reference_get_written_global): Remove.
25566 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
25567 * Makefile.in: Remove ipa-refereference from GT files.
25568
22bf7d17
JJ
255692010-05-14 Jakub Jelinek <jakub@redhat.com>
25570
25571 PR debug/44112
25572 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
25573 for all SYMBOL_REF_DECLs.
25574
4a444e58
JH
255752010-05-14 Jan Hubicka <jh@suse.cz>
25576
25577 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
25578 (varpool_all_refs_explicit_p): New inline function.
25579 * ipa-reference.c: Update comment.
25580 (module_statics_written): Remove.
25581 (get_static_decl): Remove.
25582 (ipa_init): Do not initialize module_statics_written.
25583 (analyze_function): Likewise.
25584 (generate_summary): Likewise; do not compute module_statics_readonly
25585 and do not update variable flags.
25586 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
25587 * ipa.c: Inlucde flags.h
25588 (cgraph_local_node_p): New.
25589 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
25590 promote functions to local.
25591 (ipa_discover_readonly_nonaddressable_vars): New function.
25592 (function_and_variable_visibility): Use cgraph_local_node_p.
25593 * varpool.c (varpool_finalize_decl): Set force_output for
25594 DECL_PRESERVE_P vars.
25595
bc8ddfe6
JH
255962010-05-14 Jan Hubicka <jh@suse.cz>
25597
25598 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
25599
4d2ab9e3
RG
256002010-05-14 Richard Guenther <rguenther@suse.de>
25601
25602 PR tree-optimization/44119
25603 * tree-ssa-pre.c (eliminate): Properly mark replacement of
25604 a PHI node necessary.
25605
9e87b842
EB
256062010-05-14 Eric Botcazou <ebotcazou@adacore.com>
25607
25608 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
25609
786f715d
JM
256102010-05-14 Jason Merrill <jason@redhat.com>
25611
9bb1a81b
JM
25612 PR c++/44127
25613 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
25614 (gimple_call_set_nothrow): New.
25615 * gimple.c (gimple_build_call_from_tree): Call it.
25616 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
25617
786f715d
JM
25618 PR c++/44127
25619 * gimplify.c (gimplify_seq_add_stmt): No longer static.
25620 * gimple.h: Declare it.
25621 * gimple.c (gimple_build_eh_filter): No ops.
25622
19fb0b86
JH
256232010-05-14 Jan Hubicka <jh@suse.cz>
25624
25625 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
25626 nodes already in queue.
9e87b842
EB
25627 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
25628 re-enqueueing node.
19fb0b86 25629
88c04a5d
JJ
256302010-05-14 Jakub Jelinek <jakub@redhat.com>
25631
25632 PR debug/44136
25633 * cfgexpand.c (expand_debug_expr): If non-memory op0
25634 has BLKmode, return NULL.
25635
1133125e
HJ
256362010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
25637
25638 * config.gcc: Add support for --with-cpu option for bdver1.
25639 * config/i386/i386.h (TARGET_BDVER1): New macro.
25640 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
25641 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
25642 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
25643 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
25644 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
25645 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
25646 (processor_type): Add PROCESSOR_BDVER1.
25647 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
25648 processor_type in config/i386/i386.h.
25649 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
25650 movaps <reg, reg> instead of movapd <reg, reg> when replacing
25651 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
25652 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
25653 to emit packed xor instead of packed double/packed integer
25654 xor for SSE and AVX when moving a zero value.
9e87b842
EB
25655 * config/i386/sse.md: Add check for
25656 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
25657 movapd/movdqa for SSE and AVX.
25658 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
25659 single logical operations i.e and, or and xor instead of packed double
25660 logical operations for SSE and AVX.
12201e48
UB
25661 * config/i386/i386-c.c (ix86_target_macros_internal):
25662 Add PROCESSOR_BDVER1.
1133125e
HJ
25663 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
25664 (has_fma4, has_xop): New.
25665 * config/i386/i386.c (bdver1_cost): New variable.
25666 (m_BDVER1): New macro.
25667 (m_AMD_MULTIPLE): Add m_BDVER1.
25668 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
9e87b842
EB
25669 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
25670 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
25671 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
25672 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
25673 x86_tune_sse_partial_reg_dependency,
25674 x86_tune_sse_unaligned_load_optimal,
25675 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
25676 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
25677 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
25678 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
25679 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
1133125e
HJ
25680 Enable/disable for bdver1.
25681 (processor_target_table): Add bdver1_cost.
25682 (cpu_names): Add bdver1.
25683 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
25684 processor_alias_table.
9e87b842
EB
25685 (ix86_expand_vector_move_misalign): Change.
25686 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
25687 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
25688 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
25689 of movupd/movdqu for SSE and AVX.
1133125e
HJ
25690 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
25691 (ix86_tune_adjust_cost): Add code for bdver1.
25692 (standard_sse_constant_opcode): Add check for
25693 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
25694 of packed double xor for SSE and AVX.
25695
e972cc7e
PH
256962010-05-14 Pat Haugen <pthaugen@us.ibm.com>
25697
25698 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
25699 result to unsigned.
25700
6a080096
TG
257012010-05-14 Tristan Gingold <gingold@adacore.com>
25702
25703 * toplev.c (default_debug_hooks): Remove this variable.
25704 (process_options): Remove assignments to default_debug_hooks.
25705
b5023f3c
MJ
257062010-05-14 Martin Jambor <mjambor@suse.cz>
25707
25708 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
25709 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
25710 * langhooks.h (struct lang_hooks_for_decls): Removed field
25711 fold_obj_type_ref.
25712 * tree.c (free_lang_data): Remove assignment to
25713 lang_hooks.fold_obj_type_ref.
25714 * tree.def (OBJ_TYPE_REF): Update comment.
25715
6141b7db
RG
257162010-05-14 Richard Guenther <rguenther@suse.de>
25717
25718 PR tree-optimization/44124
25719 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
25720
e15a8cbe
AM
257212010-05-14 Alan Modra <amodra@gmail.com>
25722
25723 PR target/44075
25724 * config/rs6000/rs6000.c (struct machine_function): Reorder
25725 fields for better packing. Add lr_save_state.
25726 (rs6000_ra_ever_killed): Return lr_save_state if set.
25727 (rs6000_emit_eh_reg_restore): Set lr_save_state.
25728
da405c74
JH
257292010-05-13 Jan Hubicka <jh@suse.cz>
25730
25731 * varpool.c (decide_is_variable_needed): Drop code checking
25732 TREE_SYMBOL_REFERENCED.
25733
152464d2
JH
257342010-05-13 Jan Hubicka <jh@suse.cz>
25735
25736 * final.c (output_addr_const): Do not call mark_decl_referenced.
25737 * cgraphunit.c (process_function_and_variable_attributes): Use
25738 mark_needed_node dirrectly.
25739 (assemble_thunk): Do not call mark_decl_referenced.
25740
32cbdf00
AS
257412010-05-13 Anatoly Sokolov <aesok@post.ru>
25742
25743 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
25744
e4f36d31
JL
257452010-05-13 Jeff Law <law@redhat.com>
25746
25747 * ira-conflicts.c (print_allocno_conflicts): New function broken out
25748 from...
25749 (print_conflicts): Call print_allocno_conflicts.
25750
1fcebc11
JJ
257512010-05-13 Jakub Jelinek <jakub@redhat.com>
25752
25753 PR debug/44104
25754 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
25755 if it is NULL.
25756
917ed773
KT
257572010-05-13 Kai Tietz <kai.tietz@onevision.com>
25758
25759 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
25760 t-mingw-w64 or t-mingw-w32 for multilib configuration.
25761 * config/i386/t-mingw-w32: New.
25762 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
12201e48 25763
1ae6fe9b
MJ
257642010-05-13 Martin Jambor <mjambor@suse.cz>
25765
25766 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
25767 gimple-fold.c).
25768 * gimple-fold.c (get_base_binfo_for_type): New function.
25769 (gimple_get_relevant_ref_binfo): Likewise.
25770 (gimple_fold_obj_type_ref_known_binfo): Likewise.
25771 (gimple_fold_obj_type_ref): Likewise.
25772 (fold_gimple_call): Simplify condition for folding virtual calls
25773 and call gimple_fold_obj_type_ref.
25774 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
25775 (gimple_fold_obj_type_ref_known_binfo): Likewise.
25776
78c7cabb
AS
257772010-05-13 Andreas Schwab <schwab@linux-m68k.org>
25778
25779 * config/rs6000/rs6000-protos.h
25780 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
25781 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
25782 (rs6000_debug_mode_dependent_address)
25783 (rs6000_mode_dependent_address_ptr): Likewise.
25784
823e9473
JJ
257852010-05-13 Jakub Jelinek <jakub@redhat.com>
25786
25787 PR debug/43983
25788 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
25789 by SRA.
25790 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
25791 * tree-sra.c (create_access_replacement): Call unshare_expr before
12201e48 25792 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
823e9473
JJ
25793 * dwarf2out.c: Include tree-flow.h.
25794 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
25795 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
25796 Handle DW_OP_bit_piece.
25797 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
25798 construct_piece_list, adjust_piece_list): New functions.
25799 (add_var_loc_to_decl): Handle SRA optimized variables.
25800 Adjust for var_loc_note to loc field renaming.
25801 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
25802 in VAR_LOCATION note.
25803 (new_loc_descr_op_bit_piece): New function.
25804 (dw_sra_loc_expr): New function.
25805 (dw_loc_list): Use it. Don't handle the last range after the
25806 loop, handle it inside of the loop. Adjust for var_loc_note
25807 to loc field renaming.
25808 (add_location_or_const_value_attribute): Only special case
25809 single entry loc lists if loc is NOTE_P. Adjust for
25810 var_loc_note to loc field renaming.
25811 (dwarf2out_var_location): Don't set newloc->var_loc_note
25812 and newloc->next here.
25813
bd3cdcc0
JH
258142010-05-12 Jan Hubicka <jh@suse.cz>
25815
c46a5e28
EB
25816 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
25817 flag.
bd3cdcc0
JH
25818 * cgraph.h (cgraph_only_called_directly_p,
25819 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
25820 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
25821 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
25822 (assemble
25823 * ipa.c (cgraph_remove_unreachable_nodes): Use
c46a5e28
EB
25824 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
25825 flags.
bd3cdcc0
JH
25826 * tree-inline.c (copy_bb): Check address_taken flag.
25827 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
25828 externally_visible flag.
25829
5116acc6
JM
258302010-05-12 Jason Merrill <jason@redhat.com>
25831
25832 PR bootstrap/44048
25833 PR target/44099
25834 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
25835 * sdbout.c (plain_type_1): Likewise.
25836 * dwarf2out.c (is_base_type): Likewise.
25837 (gen_type_die_with_usage): Likewise. Generate
25838 DW_TAG_unspecified_type for any LANG_TYPE.
25839
5f902d76
JH
258402010-05-12 Jan Hubicka <jh@suse.cz>
25841
25842 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
25843 indrect edges too.
25844 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
25845 (cgraph_clone_edge): Update.
25846 (cgraph_node_remove_callees): Remove indirect calls too.
25847 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
25848 (cgraph_create_indirect_edge): Update prototype.
25849 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
25850 is_proper_for_analysis.
25851 (add_new_function, visited_nodes, function_insertion_hook_holder,
25852 get_local_reference_vars_info, mark_address_taken, mark_address,
25853 mark_load, mark_store, check_asm_memory_clobber, check_call,
25854 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
25855 (ipa_init): Do not initialize visited_nodes;
25856 function_insertion_hook_holder.
25857 (analyze_variable): Rewrite.
25858 (analyze_function): Rewrite.
25859 (copy_local_bitmap): Remove.
25860 (duplicate_node_dat): Do not duplicate local info.
25861 (generate_summary): Simplify to only walk cgraph.
25862 (write_node_summary_p, ipa_reference_write_summary,
25863 ipa_reference_read_summary): Remove.
25864 (propagate): Do not remove function insertion;
25865 generate summary.
25866 (pass_ipa_reference): NULLify summary handling fields.
25867 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
25868 (input_edge): Input ecf_flags.
25869 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
25870 (update_indirect_edges_after_inlining): Ignore edges with unknown
25871 param.
25872
87a0ebfd
ST
258732010-05-12 Sriraman Tallam <tmsriram@google.com>
25874
25875 * implicit-zee.c: New file.
25876 * tree-pass.h (pass_implicit_zee): Declare.
25877 * passes.c (init_optimization_passes): Add zee pass.
25878 * common.opt (fzee): New flag.
25879 * timevar.def (TV_ZEE): Define.
25880 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
25881 and beyond.
25882 * Makefile.in (implicit-zee.o): Add new build file.
25883
01f0a9dc
KH
258842010-05-12 Kazu Hirata <kazu@codesourcery.com>
25885 Nathan Froyd <froydnj@codesourcery.com>
25886
25887 * c-common.c (sync_resolve_params): Remove write-only variable.
25888
cbda7dc6
AS
258892010-05-12 Anatoly Sokolov <aesok@post.ru>
25890
25891 * target.h (struct gcc_target): Add mode_dependent_address_p field.
25892 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
25893 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
25894 * targhooks.c (default_mode_dependent_address_p): New function.
25895 * targhooks.h (default_mode_dependent_address_p): Declare function.
25896 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
25897 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
ade52657 25898 * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
cbda7dc6 25899 target hook. Change return type to bool.
ade52657 25900 * recog.h (mode_dependent_address_p): Change return type to bool.
cbda7dc6 25901
1df43907
KH
259022010-05-12 Kazu Hirata <kazu@codesourcery.com>
25903 Nathan Froyd <froydnj@codesourcery.com>
25904
25905 * tree-mudflap.c (build_function_type_0, build_function_type_1,
25906 build_function_type_2, build_function_type_3): Remove.
25907 (mudflap_init): Use build_function_type_list.
25908
f9b36bb3
KH
259092010-05-12 Kazu Hirata <kazu@codesourcery.com>
25910 Nathan Froyd <froydnj@codesourcery.com>
25911
25912 * coverage.c (build_fn_info_value): Call build_constructor instead of
25913 build_constructor_from_list.
25914 (build_ctr_info_value): Likewise.
25915 (build_gcov_info): Likewise.
25916
f88203b0
NF
259172010-05-12 Nathan Froyd <froydnj@codesourcery.com>
25918
25919 * tree.c (build_constructor): Compute TREE_CONSTANT for the
25920 resultant constructor.
25921 (build_constructor_single): Don't set TREE_CONSTANT.
25922 (build_constructor_from_list): Don't compute TREE_CONSTANT.
25923
b34fd25c
JH
259242010-05-12 Jan Hubicka <jh@suse.cz>
25925
25926 * cgraph.h (struct varpool_node): Add aux.
25927 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
25928 * varpool.c (varpool_remove_node): Do not remove initializer.
25929 (varpool_reset_queue): Export.
25930 (varpool_finalize_decl): Volatile vars are forced to be output.
25931 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
25932 replaced decl.
25933 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
25934 process_references, varpool_can_remove_if_no_refs): New functions.
25935 (cgraph_remove_unreachable_nodes): Handle variables too.
25936
49f19b1c
L
259372010-05-12 H.J. Lu <hongjiu.lu@intel.com>
25938
25939 PR target/44088
25940 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
25941
7c2db0d3
JJ
259422010-05-12 Jakub Jelinek <jakub@redhat.com>
25943
f22f4340
JJ
25944 PR middle-end/44085
25945 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
25946 change value of ORT_TASK.
25947 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
25948 (omp_notice_threadprivate_variable): New function.
25949 (omp_notice_variable): Call it for threadprivate variables.
25950 If enclosing ctx is a task, print enclosing task rather than
25951 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
25952 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
25953 if task has untied clause.
25954
7c2db0d3
JJ
25955 PR debug/42278
25956 * dwarf2out.c (base_type_die): Don't add name attribute here.
25957 (modified_type_die): Instead of sizetype use
25958 its underlying original type. If a DW_TAG_base_type doesn't
25959 have name added, add __unknown__.
25960 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
25961 always call force_type_die instead.
25962
623a6941
MK
259632010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
25964
25965 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
25966 for __stack_chk_guard.
25967
056928b2
JJ
259682010-05-11 Jakub Jelinek <jakub@redhat.com>
25969
9d000e83
JJ
25970 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
25971 don't call start_source_file debug hook here...
25972 (finish_options): ... but here, after outputting predefined and
25973 command line defines and undefs.
25974
3b5fda81
JJ
25975 PR middle-end/44071
25976 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
25977 no fallthru edge.
25978 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
25979 optimizing away empty bb with no successors, move over its
25980 footer chain to fallthru predecessor.
25981 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
25982 (rtl_split_edge): For asm goto call patch_jump_insn even if
25983 splitting fallthru edge.
25984
3895ec53
JJ
25985 PR c++/44059
25986 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
25987 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
25988 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
25989 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
25990 on DW.ref.* decls.
25991
056928b2
JJ
25992 PR c++/44062
25993 * c-parser.c (c_parser_expression): Mark LHS of a comma
25994 expression as read if it is a decl, handled component or
25995 COMPOUND_EXPR with that on the RHS.
25996 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
25997 if it is a decl or handled component.
25998
9a809897
JH
259992010-05-11 Jan Hubicka <jh@suse.cz>
26000
26001 * lto-symtab.c (lto_symtab_free): New function.
26002 * lto-streamer.h (lto_symtab_free): Declare.
26003
260042010-05-11 Jan Hubicka <jh@suse.cz>
26005
26006 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
26007 that if function is needed it is reachable.
26008 (lto_output_node): See if it the function is reachable or referenced.
26009 (output_cgraph): Update call of lto_output_node.
26010 * lto-streamer.h (reachable_from_other_partition_p): Declare.
26011
b8053194
JH
260122010-05-11 Jan Hubicka <jh@suse.cz>
26013
26014 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
26015 Mark as used.
26016
1aa14195
JH
260172010-05-11 Jan Hubicka <jh@suse.cz>
26018
26019 PR tree-optimize/44063
c46a5e28
EB
26020 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
26021 queue.
1aa14195
JH
26022 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
26023 limits.
26024 (estimate_function_body_sizes): Compute sizes even when disregarding.
26025
f088f0ae
KT
260262010-05-11 Kai Tietz <kai.tietz@onevision.com>
26027
26028 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
26029
dcda03f4
JH
260302010-05-11 Jan Hubicka <jh@suse.cz>
26031
26032 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
26033 into every boundary.
26034
ece02605
JH
260352010-05-11 Jan Hubicka <jh@suse.cz>
26036
26037 * matrix-reorg.c (matrix_reorg): Rebuild edges.
26038
cc56d170
JH
260392010-05-11 Jan Hubicka <jh@suse.cz>
26040
26041 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
26042 lto_streamer_cache_delete): Put nodes into heap.
979aeb33
JH
26043 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
26044 heap.
cc56d170 26045
99b766fc
JH
260462010-05-11 Jan Hubicka <jh@suse.cz>
26047
26048 * cgraphbuild.c (cgraph_rebuild_references): New.
a2acdf1f
JH
26049 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
26050 out extern inlines.
99b766fc
JH
26051 * cgraph.h (cgraph_rebuild_references): Declare.
26052 * tree-inline.c (tree_function_versioning): Use it.
26053 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
26054
a940b4d9
JH
260552010-05-11 Jan Hubicka <jh@suse.cz>
26056
26057 * cgraph.c: Include ipa-utils.h
26058 (cgraph_create_virtual_clone): Update references.
26059 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
26060
57762e97
CB
260612010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
26062
78c7cabb 26063 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
57762e97
CB
26064 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
26065 cache size.
26066
a8beb3a7
CB
260672010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
26068
78c7cabb 26069 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
a8beb3a7 26070
3f592b38
JJ
260712010-05-11 Jakub Jelinek <jakub@redhat.com>
26072
09b201fc
JJ
26073 * gcc.c (execute): For -### don't quote arguments that
26074 contain just alphanumerics and _/-. characters.
26075 * doc/invoke.texi: Document that change for -###.
26076
3f592b38
JJ
26077 PR debug/44023
26078 * df-problems.c (struct dead_debug): Add to_rescan field.
26079 (dead_debug_init): Clear to_rescan field.
26080 (dead_debug_finish): Rescan all debug insns in to_rescan
26081 bitmap and free the bitmap.
26082 (dead_debug_insert_before): Instead of rescanning debug insns
26083 immediately queue their rescanning until dead_debug_finish.
26084 (df_note_bb_compute): After dead_debug_add do continue instead
26085 of break.
26086
1de12eab
JJ
260872010-05-10 Jakub Jelinek <jakub@redhat.com>
26088
26089 PR debug/44028
26090 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
26091 clear also INSN_REG_USE_LIST.
26092
e472d6bf
RO
260932010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26094
26095 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
26096
6cd174f6
JH
260972010-05-10 Jan Hubicka <jh@suse.cz>
26098
c46a5e28
EB
26099 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
26100 commited change.
6cd174f6 26101
5c4f225f
JH
261022010-05-10 Jan Hubicka <jh@suse.cz>
26103
c46a5e28
EB
26104 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
26105 Allocate encoders.
5c4f225f
JH
26106 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
26107 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
26108 (lto_streamer_cache_create): Init alloc pool.
26109 (lto_streamer_cache_delete): Free alloc pool.
26110 * lto-streamer.h: Include alloc pool.
26111 (lto_streamer_cache_d): Use alloc pool.
26112 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
26113
de61f467
JH
261142010-05-10 Jan Hubicka <jh@suse.cz>
26115
26116 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
26117 * cgraphbuild.c: Include except.h
26118 (record_type_list, record_eh_tables): New function.
26119 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
26120
e4fa83d3
JH
261212010-05-10 Jan Hubicka <jh@suse.cz>
26122
26123 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
26124 __frame_dummy_init_array_entry, force_to_data): Attribute as used
26125 rather than unused.
26126
8a9ecffd
MM
261272010-05-10 Michael Matz <matz@suse.de>
26128
26129 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
26130 (can_reassociate_p): Use FLOAT_TYPE_P.
26131 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
26132 (vect_force_simple_reduction): ... this.
62e59133 26133 * tree-parloops.c (gather_scalar_reductions): Use
8a9ecffd
MM
26134 vect_force_simple_reduction.
26135 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
26136 vect_is_simple_reduction, add modify argument, if true rewrite
26137 "a-b" into "a+(-b)".
26138 (vect_is_simple_reduction, vect_force_simple_reduction): New
26139 functions.
26140 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
26141
261422010-05-10 H.J. Lu <hongjiu.lu@intel.com>
26143 Vladimir Makarov <vmakarov@redhat.com>
46044dd9
L
26144
26145 PR rtl-optimization/44012
26146 * ira-build.c (remove_unnecessary_allocnos): Nullify
26147 regno_allocno_map of the removed allocno.
26148
2e2b183b
RO
261492010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26150
26151 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
26152 to /dev/null.
26153 * configure: Regenerate.
26154
a93e1899
RO
261552010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26156
26157 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
26158 unused.
26159 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
26160 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
26161 support in Sun ld.
26162 * configure: Regenerate.
26163
571943de
RG
261642010-05-10 Richard Guenther <rguenther@suse.de>
26165
26166 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
26167 marked if the entry identifier is marked.
26168
0b7b376d
RG
261692010-05-10 Richard Guenther <rguenther@suse.de>
26170
26171 * c-common.c (struct c_common_attributes): Add fnspec attribute.
26172 (handle_fnspec_attribute): New function.
26173 * gimple.h (gimple_call_return_flags): Declare.
26174 (gimple_call_arg_flags): Likewise.
26175 * gimple.c (gimple_call_arg_flags): New function.
26176 (gimple_call_return_flags): Likewise.
26177 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
26178 New argument flags.
26179 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
26180 return value flags.
26181 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
26182 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
26183 main work to ...
26184 (make_heapvar_for): ... this new function.
26185 (handle_rhs_call): Handle fnspec attribute argument specifiers.
26186 (handle_lhs_call): Likewise.
26187 (find_func_aliases): Adjust.
26188
1755aad0
RG
261892010-05-10 Richard Guenther <rguenther@suse.de>
26190
26191 PR tree-optimization/44050
62e59133 26192 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
1755aad0 26193
333b67a9
WG
261942010-05-10 Wei Guozhi <carrot@google.com>
26195
26196 PR target/42879
26197 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
26198
0fb96aa4
JM
261992010-05-09 Joseph Myers <joseph@codesourcery.com>
26200
26201 PR c/10676
26202 * c-typeck.c (lookup_field): Take a type directly. Update
26203 recursive calls.
26204 (build_component_ref): Update call to lookup_field.
26205 (set_init_label): Use lookup_field to find initialized field.
26206 Handle returned list of fields like a sequence of designators.
26207
3d7a712a
RG
262082010-05-09 Richard Guenther <rguenther@suse.de>
26209
26210 PR middle-end/44024
26211 * fold-const.c (tree_single_nonzero_warnv_p): Properly
26212 handle &FUNCTION_DECL.
26213
492fc0ee
JM
262142010-05-09 Joseph Myers <joseph@codesourcery.com>
26215
26216 PR c/4784
26217 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
26218 structures and unions recursively.
26219 (detect_field_duplicates): Move duplicate detection with a hash to
26220 detect_field_duplicates_hash. Always use a hash if anonymous
26221 structures or unions are present.
26222 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
26223 give errors.
26224
44f276c6
L
262252010-05-09 H.J. Lu <hongjiu.lu@intel.com>
26226
26227 PR target/44046
26228 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
26229 detect Atom, Core 2 and Core i7.
26230
d6205185
RG
262312010-05-09 Richard Guenther <rguenther@suse.de>
26232
26233 * gcc.c (store_arg): Handle temporary file deletion for
26234 joined arguments.
26235
5588864d
RG
262362010-05-09 Richard Guenther <rguenther@suse.de>
26237
26238 PR middle-end/44043
26239 * ipa-inline.c (estimate_function_body_sizes): Return after
26240 disregarding inline limits.
26241
aa34f42c
RG
262422010-05-09 Richard Guenther <rguenther@suse.de>
26243
26244 * gcc.c (store_arg): Revert last change.
26245
844381e5
SL
262462010-05-08 Sandra Loosemore <sandra@codesourcery.com>
26247
26248 PR middle-end/28685
26249 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
26250 (optimize_ops_list): Call it.
26251
43896afb
RG
262522010-05-08 Richard Guenther <rguenther@suse.de>
26253
26254 PR tree-optimization/44030
26255 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
26256 NECESSARY flag if we propagate from a inserted expression.
26257
f56000ed
EB
262582010-05-08 Eric Botcazou <ebotcazou@adacore.com>
26259
26260 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
26261 domain types as equal if they are both PLACEHOLDER_EXPRs.
26262
1522167d
RG
262632010-05-08 Richard Guenther <rguenther@suse.de>
26264
26265 * lto-wrapper.c (run_gcc): Remove linker output from
26266 command line for LTRANS invocation.
26267
c082f9f3
SB
262682010-05-07 Steven Bosscher <steven@gcc.gnu.org>
26269
26270 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
26271 lto-macho as lto_binary_reader.
26272 * target.h (struct gcc_target): New hooks lto_start and lto_end.
26273 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
26274 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
26275 in lto_start and lto_end calls.
26276 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
26277 magic numbers.
26278 (scan_prog_file): Update is_elf_or_coff call.
26279 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
26280
26281 * collect2.c (main): Fix enum comparison.
26282
26283 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
26284 Add prototypes.
26285 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
26286 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
26287 and TARGET_ASM_LTO_END.
26288 * darwin.c: Include obstack.h and lto-streamer.h.
26289 (lto_section_names_offset, lto_section_names_obstack,
26290 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
26291 global variables.
26292 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
26293 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
26294 to a temporary file.
26295 (darwin_asm_lto_end): New function. Restore asm_out_file.
26296 (darwin_asm_named_section): For LTO sections, replace the name with
26297 the offset of the section name in a string table, and build this
26298 table.
26299 (darwin_file_start): Initialize global vars for LTO support.
26300 (darwin_file_end): If output to asm_out_file was redirected, append it
26301 to the proper asm_out_file here. Add the section names section.
26302
18bc5398
SB
263032010-05-07 Steven Bosscher <steven@gcc.gnu.org>
26304
26305 * c-pragma.c (pending_weak_d, pending_weak): New.
26306 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
26307 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
26308 handle_pragma_weak): Update the uses of pending_weaks.
26309
0f590a2d
RW
263102010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26311
26312 PR documentation/44016
26313 * doc/standards.texi (Standards): Link to unversioned
26314 cxx0x_status.html page.
26315
f4a4b582 263162010-05-07 Iain Sandoe <iains@gcc.gnu.org>
3bd5cdeb
IS
26317
26318 PR target/43708
26319 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
26320 in addition to TREE_USED, to avoid "set but unused" warnings.
26321
9bf4598b
CF
263222010-05-07 Changpeng Fang <changpeng.fang@amd.com>
26323
26324 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
26325 (is_loop_prefetching_profitable): Do not insert prefetches
26326 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
26327 times the prefetch ahead distance.
26328
ccacf0e1
CF
263292010-05-07 Changpeng Fang <changpeng.fang@amd.com>
26330
26331 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
26332 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
26333 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
26334 the unroll_factor.
26335
55e5a2eb
CF
263362010-05-07 Changpeng Fang <changpeng.fang@amd.com>
26337
26338 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
26339 a diagnostic info when the insn-to-mem ratio is too small.
26340
f4a4b582 263412010-05-07 Richard Guenther <rguenther@suse.de>
5cd0e96b
RG
26342
26343 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
26344 the linker plugin.
26345 (store_arg): Queue temp_filename for deletion instead of
26346 the whole argument.
26347
48cf395b
RB
263482010-05-07 Richard Guenther <rguenther@suse.de>
26349
26350 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
26351 (run_gcc): Handle LTRANS phase invocation.
62e59133 26352 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
48cf395b 26353
86b2c5b6
JJ
263542010-05-07 Jakub Jelinek <jakub@redhat.com>
26355
26356 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
26357 this is also meaningful on PARM_DECLs and RESULT_DECLs.
26358
c4e1e0b1
RO
263592010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26360
26361 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
26362
a7d4562a
RG
263632010-05-07 Richard Guenther <rguenther@suse.de>
26364
26365 PR tree-optimization/44020
26366 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
26367 code when PRE is not yet initialized.
26368
a6b02ef3
RO
263692010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26370
26371 * config/mips/dbxmdebug.h: Remove.
26372 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
26373
d42ba3b8
SZ
263742010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
26375
26376 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
26377 with null pointer and also warn about ordered comparison of zero with
26378 pointer if -Wextra.
26379
a6733c71
AS
263802010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
26381
26382 * graphite-blocking.c
26383 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
26384 * graphite-clast-to-gimple.c
26385 (clast_to_gcc_expression): Same.
26386 (precision_for_value): Same.
26387 (precision_for_interval): Same.
26388 (gcc_type_for_interval): Same.
26389 (graphite_create_new_guard): Same.
26390 (compute_bounds_for_level): Same.
26391 (graphite_create_new_loop_guard): Same.
26392 * graphite-interchange.c
26393 (build_linearized_memory_access): Same.
26394 (pdr_stride_in_loop): Same.
26395 (memory_strides_in_loop_1): Same.
26396 (memory_strides_in_loop): Same.
26397 (extend_scattering): Same.
26398 (psct_scattering_dim_for_loop_depth): Same.
26399 (pbb_number_of_iterations): Same.
26400 * graphite-poly.h
26401 (debug_iteration_domains): Same.
26402 * graphite-ppl.c
26403 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
26404 (ppl_set_inhomogeneous_gmp): Same.
26405 (ppl_strip_loop): Same.
26406 (ppl_lexico_compare_linear_expressions): Same.
26407 (ppl_read_polyhedron_matrix): Same.
26408 (ppl_max_for_le_pointset): Same.
26409 * graphite-ppl.h
26410 (ppl_read_polyhedron_matrix): Same.
26411 (tree_int_to_gmp): Same.
26412 (gmp_cst_to_tree): Same.
26413 (ppl_set_inhomogeneous): Same.
26414 (ppl_set_inhomogeneous_tree): Same.
26415 (ppl_set_coef): Same.
26416 (ppl_set_coef_tree): Same.
26417 * graphite-sese-to-poly.c
26418 (build_pbb_scattering_polyhedrons): Same.
26419 (build_scop_scattering): Same.
26420 (scan_tree_for_params_right_scev): Same.
26421 (scan_tree_for_params): Same.
26422 (find_params_in_bb): Same.
26423 (find_scop_parameters): Same.
26424 (add_upper_bounds_from_estimated_nit): Same.
26425 (build_loop_iteration_domains): Same.
26426 (add_condition_to_domain): Same.
26427 (pdr_add_memory_accesses): Same.
26428
264292010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
26430
26431 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
26432 CLooG's value_* macros to their respective mpz_* counterparts.
26433 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
26434 (graphite_create_new_loop_guard): Same.
26435 * graphite-interchange.c (build_linearized_memory_access): Same.
26436 (pdr_stride_in_loop): Same.
26437 (memory_strides_in_loop_1): Same.
26438 (1st_interchange_profitable_p): Same.
26439 * graphite-poly.c (extend_scattering): Same.
26440 (psct_scattering_dim_for_loop_depth): Same.
26441 (pbb_number_of_iterations): Same.
26442 (pbb_number_of_iterations_at_time): Same.
26443 * graphite-poly.h (new_1st_loop): Same.
26444 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
26445 (oppose_constraint): Same.
26446 (insert_constraint_into_matrix): Same.
26447 (ppl_set_inhomogeneous_gmp): Same.
26448 (ppl_set_coef_gmp): Same.
26449 (ppl_strip_loop): Same.
26450 (ppl_lexico_compare_linear_expressions): Same.
26451 (ppl_max_for_le_pointset): Same.
26452 (ppl_min_for_le_pointset): Same.
26453 (ppl_build_realtion): Same.
26454 * graphite-ppl.h (gmp_cst_to_tree): Same.
26455 (ppl_set_inhomogeneous): Same.
26456 (ppl_set_inhomogeneous_tree): Same.
26457 (ppl_set_coef): Same.
26458 (ppl_set_coef_tree): Same.
26459 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
26460 (build_scop_scattering): Same.
26461 (add_value_to_dim): Same.
26462 (scan_tree_for_params_right_scev): Same.
26463 (scan_tree_for_params_int): Same.
26464 (scan_tree_for_params): Same.
26465 (find_params_in_bb): Same.
26466 (find_scop_parameters): Same.
26467 (add_upper_bounds_from_estimated_nit): Same.
26468 (build_loop_iteration_domains): Same.
26469 (create_linear_expr_from_tree): Same.
26470 (add_condition_to_domain): Same.
26471 (pdr_add_memory_accesses): Same.
26472
14c2101d
JM
264732010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
26474 Jason Merrill <jason@redhat.com>
26475
26476 * c-common.c (c_common_reswords): Add nullptr.
26477 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
26478 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
26479 (gen_type_die_with_usage): Likewise.
26480 * dbxout.c (dbxout_type): Likewise.
26481 * sdbout.c (plain_type_1): Likewise.
26482
ebad5233
JM
264832010-05-06 Jason Merrill <jason@redhat.com>
26484
941f78d1
JM
26485 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
26486 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
26487 ret appropriately.
26488 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
26489
ebad5233
JM
26490 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
26491 stripping WITH_SIZE_EXPR.
26492 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
26493 change.
26494
9aaa1ee8
RO
264952010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26496
26497 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
26498 list of obsolete configurations.
26499 Disabled check for obsolete configurations.
26500 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
26501 Removed support for previous versions.
26502 * config/mips/iris.h: Removed.
26503 * config/mips/iris5.h: Removed.
26504 * config/mips/iris6.h: Merged old iris.h contents.
26505 (TARGET_IRIX): Removed.
26506 (DRIVER_SELF_SPECS): Removed mabi=32.
26507 (IDENT_ASM_OP): Removed undef.
26508 (STARTFILE_SPEC): Removed mabi=32.
26509 (ENDFILE_SPEC): Likewise.
26510 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
26511 (MACHINE_TYPE): Update for IRIX 6.5.
26512 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
26513 TARGET_IRIX by TARGET_IRIX6.
26514 (mips_file_start): Likewise.
26515 (mips_output_external): Remove IRIX 5/6 O32 support.
26516 (mips_output_function_prologue): Likewise.
26517 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
26518 TARGET_IRIX6.
26519 (TARGET_CPU_CPP_BUILTINS): Likewise.
26520 (TARGET_IRIX): Removed.
26521 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
26522 (MULTILIB_DIRNAMES): Removed 32.
26523 (MULTILIB_OSDIRNAMES): Removed ../lib.
62e59133 26524 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
9aaa1ee8 26525 (Specific, mips-sgi-irix5): Document removal.
62e59133 26526 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
9aaa1ee8
RO
26527 Remove references to older IRIX 6 releases and the O32 ABI.
26528
5b8bd3d5
JJ
265292010-05-06 Jakub Jelinek <jakub@redhat.com>
26530
26531 PR bootstrap/43994
26532 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
26533 instead of DF_REF_REAL_REG.
26534
e97580ce
DK
265352010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
26536
26537 PR target/43888
26538 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
26539 handling to still return true for x64 targets.
26540
f24d84cc
MK
265412010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
26542
26543 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
26544
ef38b551
JH
265452010-05-06 Jan Hubicka <jh@suse.cz>
26546
26547 PR tree-optimization/43791
26548 * ipa-inline.c (update_caller_keys): Remove bogus
26549 disregard_inline_limits check.
26550
0ab555de
MM
265512010-05-06 Michael Matz <matz@suse.de>
26552
26553 PR tree-optimization/43984
26554 * tree-ssa-pre.c (inserted_phi_names): Remove.
26555 (inserted_exprs): Change to bitmap.
26556 (create_expression_by_pieces): Set bits, don't append to vector.
26557 (insert_into_preds_of_block): Don't handle inserted_phi_names.
26558 (eliminate): Don't look at inserted_phi_names, remove deleted
26559 insns from inserted_exprs.
62e59133 26560 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
0ab555de
MM
26561 (init_pre, fini_pre): Allocate and free bitmaps.
26562 (execute_pre): Insert insns on edges before elimination.
26563
315a02da
MK
265642010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
26565
26566 * tree.c (initializer_zerop): Handle STRING_CST.
26567
3734d960
MLI
265682010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
26569
26570 PR 40989
26571 * doc/invoke.texi (Wimplicit): Document as C only.
26572 * opts.c (common_handle_option): Add argument kind.
26573 (handle_option): Rename as read_cmdline_option. Factor out code to...
26574 (handle_option): ... here. New.
26575 (handle_options): Rename as read_cmdline_options.
26576 (decode_options): Update call.
26577 (set_option): Use option index instead of option pointer. Classify
26578 diagnostics correctly.
26579 (enable_warning_as_error): Call handle_option.
26580 * opts.h (set_option): Update declaration.
26581 (handle_option): Declare.
62e59133 26582 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
3734d960
MLI
26583 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
26584 * c-opts.c (set_Wimplicit): Delete.
26585 (c_family_lang_mask): New static constant.
26586 (c_common_handle_option): Add argument kind. Use handle_option
26587 instead of set_Wimplicit.
26588 (c_common_post_options): warn_implicit and warn_implicit_int
26589 are disabled by default.
26590 * c-common.c (warn_implicit): Do not define here.
26591 * c-common.h (warn_implicit): Do not declare here.
26592 (c_common_handle_option): Update declaration.
26593 * lto-opts.c (lto_reissue_options): Update call to set_option.
26594
2b90475a
RG
265952010-05-06 Richard Guenther <rguenther@suse.de>
26596
26597 PR tree-optimization/43571
26598 * domwalk.c (walk_dominator_tree): Walk the dominator
26599 sons in more optimal order.
26600
e3bdfed6
RG
266012010-05-06 Richard Guenther <rguenther@suse.de>
26602
26603 PR tree-optimization/43934
26604 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
26605 (stmt_cost): Likewise.
26606 (extract_true_false_args_from_phi): New helper.
26607 (determine_max_movement): For PHI nodes verify we can hoist them
26608 and compute their cost.
26609 (determine_invariantness_stmt): Handle PHI nodes.
26610 (move_computations_stmt): Likewise. Hoist PHI nodes in
26611 if-converted form using COND_EXPRs.
62e59133 26612 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
e3bdfed6
RG
26613 (tree_ssa_lim): Likewise.
26614 * tree-flow.h (tree_ssa_lim): Adjust prototype.
26615 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
26616
a81b065a
RG
266172010-05-06 Richard Guenther <rguenther@suse.de>
26618
26619 PR tree-optimization/43987
26620 * tree-ssa-structalias.c (could_have_pointers): For possibly
26621 address-taken variables force pointers to be recorded.
26622 (create_variable_info_for_1): Likewise.
26623 (push_fields_onto_fieldstack): Pass in wheter all fields
26624 must have pointers.
26625 (find_func_aliases): Query types instead of vars whether
26626 they contain pointers where appropriate.
26627
369451ec
JH
266282010-05-06 Jan Hubicka <jh@suse.cz>
26629
26630 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
26631 (record_reference, mark_address, mark_load, mark_store): Record
26632 references.
26633 (record_references_in_initializer): Update call of record_references.
26634 (rebuild_cgraph_edges): Remove all references before rebuiding.
26635 * cgraph.c (cgraph_create_node): Clear ref list.
26636 (cgraph_remove_node): Remove references.
26637 (dump_cgraph_node): Dump references.
26638 (cgraph_clone_node): Clone references.
26639 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
26640 (struct cgraph_node, varpool_node): Add ref_lst.
26641 * ipa-ref.c: New file.
26642 * ipa-ref.h: New file.
26643 * ipa-ref-inline.h: New file.
26644 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
26645 (referenced_from_other_partition_p): New function.
26646 (lto_output_varpool_node): Take set arugment; call
26647 referenced_from_other_partition.
26648 (lto_output_ref): New.
26649 (add_references): New.
26650 (output_refs): New.
62e59133 26651 (output_cgraph): Compute boundary based on references; output refs.
369451ec
JH
26652 (output_varpool): Accept cgraph_node_set argument.
26653 (input_ref): New.
26654 (input_refs): New.
26655 (input_cgraph): Call input_refs.
26656 * lto-section-in.c (lto_section_name): Add refs.
ade52657 26657 * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
369451ec
JH
26658 (ipa-ref.o): New file.
26659 * varpool.c (varpool_node): Clear ipa ref list.
26660 (varpool_remove_node): Remove references.
26661 (dump_varpool_node): Dump references.
26662 (varpool_assemble_decl): Only compile finalized ones.
26663 (varpool_extra_name_alias): Initialize ref list.
26664 * lto-streamer.c (lto-get_section_name): Add .refs section.
26665 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
26666 (referenced_from_other_partition_p): Declared.
26667
7d8930a0
IR
266682010-05-06 Ira Rosen <irar@il.ibm.com>
26669
26670 PR tree-optimization/43901
26671 * tree-vect-stmts.c (vectorizable_call): Assert that vector
26672 type is not NULL if it's transformation phase, and return
26673 FALSE if it's analysis.
62e59133
UB
26674 (vectorizable_conversion, vectorizable_operation,
26675 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
7d8930a0 26676
a1c4f19f
AP
266772010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
26678
26679 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
26680 Delete.
26681 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
26682 New define.
26683 * config/mips/mips-protos.h
26684 (mips_small_register_classes_for_mode_p): Delete prototype.
26685
93b338c3
BS
266862010-05-06 Bernd Schmidt <bernds@codesourcery.com>
26687
26688 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
26689 * config/arm/arm.c (multiple_operation_profitable_p,
26690 compute_offset_order): New static functions.
26691 (load_multiple_sequence, store_multiple_sequence): Use them.
26692 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
26693 memory offsets, not register numbers.
26694 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
26695
50701474
SB
266962010-05-05 Steven Bosscher <steven@gcc.gnu.org>
26697
62e59133 26698 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
50701474
SB
26699 (get_pending_sizes, put_pending_size, put_pending_sizes):
26700 Update the uses of pending_sizes.
26701 * c-decl.c (store_parm_decls): Likewise.
26702 * c-tree.h (struct c_arg_info): Likewise.
26703 * tree.h: Update the prototype for get_pending_sizes and
26704 put_pending_sizes.
26705
564a129d
JM
267062010-05-05 Jason Merrill <jason@redhat.com>
26707
0f559c16
JM
26708 PR debug/43370
26709 * c-common.c (handle_aligned_attribute): Respect
26710 ATTR_FLAG_TYPE_IN_PLACE.
26711
564a129d
JM
26712 PR testsuite/43758
26713 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
26714 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
26715 (TARGET_INITIALIZER): Use it.
26716 * c-common.c (attribute_takes_identifier_p): Call it.
26717 * c-common.h: Update prototype.
26718 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
26719 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
26720
58c13acc
JJ
267212010-05-05 Jakub Jelinek <jakub@redhat.com>
26722
26723 PR debug/43950
26724 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
26725 DW_ID_down_case for Fortran compilation units.
26726
5b042919
JH
267272010-05-05 Jan Hubicka <jh@suse.cz>
26728
26729 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
26730 handle aliases.
26731
ca361dec
EB
267322010-05-05 Eric Botcazou <ebotcazou@adacore.com>
26733
26734 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
26735 a variable-sized RESULT_DECL.
26736
fa6aeae1
MK
267372010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
26738
26739 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
26740
6d729f28
JM
267412010-05-05 Jason Merrill <jason@redhat.com>
26742
26743 PR c++/43787
26744 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
26745 returns GS_OK.
26746 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
26747
e972a1d3
AO
267482010-05-05 Alexandre Oliva <aoliva@redhat.com>
26749 Jakub Jelinek <jakub@redhat.com>
26750
26751 PR debug/43478
26752 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
26753 (dead_debug_init, dead_debug_finish): New functions.
26754 (dead_debug_add, dead_debug_insert_before): Likewise.
26755 (df_note_bb_compute): Initialize a dead_debug object, add dead
26756 debug uses to it, insert debug bind insns before death insns,
26757 reset debug insns that refer to pending uses at the end.
26758 * rtl.h (make_debug_expr_from_rtl): New prototype.
26759 * varasm.c (make_debug_expr_from_rtl): New function.
26760
2f41ecf5
JH
267612010-05-05 Jan Hubicka <jh@suse.cz>
26762
26763 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
62e59133
UB
26764 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
26765 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
26766 lto_varpool_encoder_deref, lto_varpool_encoder_size,
2f41ecf5
JH
26767 lto_varpool_encoder_encode_initializer_p,
26768 lto_set_varpool_encoder_encode_initializer): New functions.
26769 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
26770 call output_varpool.
26771 (input_varpool_node): Do not always set analyzed.
26772 (input_cgraph_1): Return vector of cgraph nodes.
26773 (input_varpool_1): Return vector of varpools.
26774 (input_cgraph): Free the vectors.
26775 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
26776 output only initializers needed.
26777 (lto_output): Only call output_cgraph.
26778 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
26779 * lto-section-out.c (lto_new_out_decl_state): Initialize
26780 state->varpool_node_encoder.
26781 * lto-streamer.h (lto_varpool_encoder_d): New.
62e59133 26782 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
2f41ecf5
JH
26783 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
26784 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
26785 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
26786 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
26787 Declare.
26788 (output_varpool, input_varpool): Remove declarations.
26789
9e0546ef
JH
267902010-05-05 Jan Hubicka <jh@suse.cz>
26791
26792 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
26793 with body can prevail.
26794
267952010-05-05 Jan Hubicka <jh@suse.cz>
26796
26797 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
26798 size.
26799
0277fabf
LB
268002010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
26801
62e59133 26802 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
0277fabf
LB
26803
26804 * gengtype.h (erro_at_line): Constify pos argument.
26805
26806 * gengtype.c: Include hashtab.h.
26807 (enum gc_used): Document GC_MAYBE_POINTED_TO.
26808 (error_at_line): Constify pos argument.
26809 (do_typedef): Initialize p->opt field.
26810 (get_file_gtfilename): Fix comment typo.
26811 (struct walk_type_data): Constify line field.
26812 (get_output_file_for_structure): New function.
26813 (write_local_func_for_structure): Constify orig_s argument.
26814 Use get_output_file_for_structure.
26815 (write_func_for_structure): Use get_output_file_for_structure.
26816 (INDENT): New define.
26817 (dump_pair, dump_type, dump_type_list, dump_typekind)
26818 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
26819 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
26820 functions.
26821 (seen_types): New variable.
26822 (main): New variable do_dump. Process "-d" command line option.
26823 Call dump_everything if dump requested.
26824
dbb2a2cb
JJ
268252010-05-05 Jakub Jelinek <jakub@redhat.com>
26826
26827 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
26828 in a temporary instead of invoking the macro multiple times.
26829 (track_expr_p): Likewise.
26830
f4a4b582 268312010-05-04 Neil Vachharajani <nvachhar@google.com>
650cfcab
NV
26832
26833 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
26834 per new semantics.
26835 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
26836 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
26837 conditions for printing notes.
26838 * common.opt (-Wcoverage-mismatch): Allow negative, default to
26839 true, update documentation.
26840 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
650cfcab 26841
97e3c923
JJ
268422010-05-04 Jakub Jelinek <jakub@redhat.com>
26843
26844 PR c/43981
26845 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
26846 on dimen.
26847
ade6a9ac
L
268482010-05-04 H.J. Lu <hongjiu.lu@intel.com>
26849
26850 PR target/43799
62e59133 26851 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
ade6a9ac
L
26852 (*sse_prologue_save_insn1): Likewise.
26853 (SSE prologue save splitter): Likewise.
26854
7ef5e86c
EB
268552010-05-04 Eric Botcazou <ebotcazou@adacore.com>
26856
26857 * tree.c (free_lang_data_in_one_sizepos): New inline function.
26858 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
26859 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
26860 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
26861 all decls. Call it on DECL_FIELD_OFFSET of fields.
26862 (find_decls_types_r): Follow DECL_VALUE_EXPR.
26863 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
26864
6cbd3b6a
MJ
268652010-05-04 Martin Jambor <mjambor@suse.cz>
26866
26867 * tree-sra.c (build_access_from_expr_1): The first parameter type
26868 changed to simple tree.
26869 (build_access_from_expr): Likewise, gsi parameter was eliminated.
26870 (scan_assign_result): Renamed to assignment_mod_result, enum elements
26871 renamed as well.
26872 (build_accesses_from_assign): Removed all parameters except for a
26873 simple gimple statement. Now returns a simple bool.
26874 (scan_function): All non-analysis parts moved to separate functions
26875 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
26876 parameters and updated both callers.
26877 (sra_modify_expr): Removed parameter data.
26878 (sra_modify_function_body): New function.
26879 (perform_intra_sra): Call sra_modify_function_body to modify the
26880 function body.
26881 (replace_removed_params_ssa_names): Parameter data changed into
26882 adjustments vector.
26883 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
26884 changed the parameter dont_convert to convert with the opposite
26885 meaning.
26886 (sra_ipa_modify_assign): Parameter data changed into adjustments
26887 vector, return value changed to bool.
26888 (ipa_sra_modify_function_body): New function.
26889 (sra_ipa_reset_debug_stmts): Updated a comment.
26890 (modify_function): Use ipa_sra_modify_function_body to modify function
26891 body.
26892
2147c71c
L
268932010-05-04 H.J. Lu <hongjiu.lu@intel.com>
26894
26895 PR middle-end/43671
26896 * alias.c (true_dependence): Handle the same VALUE in x and mem.
26897 (canon_true_dependence): Likewise.
26898 (write_dependence_p): Likewise.
26899
85912441
JH
269002010-05-04 Jan Hubicka <jh@suse.cz>
26901
26902 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
26903 * cgraphbuild.c: Include ipa-utils.h
26904 (record_reference_ctx): New struct.
26905 (record_reference): Simplify to work on initializers; not statements.
26906 (mark_address, mark_load, mark_store): New.
26907 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
26908 walk PHI nodes too.
26909 (record_references_in_initializer): Update use of record_reference.
26910 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
26911 walk PHI nodes too.
26912
688a10c2
JH
269132010-05-04 Jan Hubicka <jh@suse.cz>
26914
26915 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
26916 node will be removed anyway.
26917 (lto_varpool_replace_node): Allow also unanalyzed nodes;
26918 relink aliases of node into prevailing node.
26919 * varpool.c (varpool_remove_node): Remove aliases properly;
26920 when removing node, remove all its aliases too; remove DECL_INITIAL
26921 of removed node; ggc_free the varpool node.
26922
27c2cfa6
RG
269232010-05-04 Richard Guenther <rguenther@suse.de>
26924
26925 PR tree-optimization/43879
26926 * tree-ssa-structalias.c (alias_get_name): Use
26927 DECL_ASSEMBLER_NAME if available.
26928 (create_function_info_for): Return the varinfo node.
26929 (ipa_pta_execute): Associate same-body aliases and extra names
26930 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
26931
9c265c4d
KK
269322010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
26933
62e59133 26934 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
9c265c4d 26935
a5c011cd
MP
269362010-05-04 Mikael Pettersson <mikpe@it.uu.se>
26937
26938 PR bootstrap/43964
26939 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
26940 only if HONOR_REG_ALLOC_ORDER is not defined.
26941
622d360e
RG
269422010-05-04 Richard Guenther <rguenther@suse.de>
26943
26944 PR tree-optimization/43949
26945 * tree-vrp.c (extract_range_from_binary_expr): Only handle
26946 TRUNC_MOD_EXPR.
26947
cbb4feb3
JM
269482010-04-26 Jason Merrill <jason@redhat.com>
26949
26950 * c.opt (-fstrict-enums): New.
26951 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
26952
f4a4b582 269532010-05-03 David Ung <davidu@mips.com>
67e67979
DU
26954 James E. Wilson <wilson@codesourcery.com>
26955
e492f63b 26956 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
67e67979
DU
26957 emit the trap instruction before the divide for TUNE_74K.
26958
42db504c
SB
269592010-05-03 Steven Bosscher <steven@gcc.gnu.org>
26960
26961 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
26962 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
26963 based on the above, for new target hook.
26964
26965 * hooks.c (hook_bool_mode_true): New generic hook.
26966 * hooks.h (hook_bool_mode_true): Add prototype.
26967
26968 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
26969 target hook.
26970 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
26971 target hook, set to hook_bool_mode_false.
26972 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
26973 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
26974 with targetm.small_register_classes_for_mode_p.
26975 (find_reusable_reload): Likewise.
26976 (combine_reloads): Likewise.
26977 * reload1.c (reload_as_needed): Likewise.
26978 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
26979 * ifcvt.c (noce_process_if_block, check_cond_move_block,
26980 dead_or_predicable): Likewise.
26981 * regmove.c (optimize_reg_copy_1): Likewise.
26982 * calls.c (prepare_call_address): Likewise.
26983 (precompute_register_parameters): Likewise.
26984
26985 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
26986 hook definition.
26987 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
26988 implementation of the hook that considers all register classes
26989 small except for SH64.
26990 (sh_override_options): Use the new hook.
26991 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
26992 Add prototype.
26993
26994 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
26995 hook definition.
26996 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
26997 implementation of the hook that considers all register classes
26998 small for THUMB1.
26999 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
27000 Add prototype.
27001
27002 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
27003 hook definition.
27004 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
27005 implementation of the hook that considers all register classes
27006 small for MIPS16.
27007 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
27008 Add prototype.
27009
27010 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
27011 hook definition.
27012 * config/m32c/m32c.h: Likewise.
27013 * config/pdp11/pdp11.h: Likewise.
27014 * config/avr/avr.h: Likewise.
27015 * config/xtensa/xtensa.h: Likewise.
27016 * config/m68hc11/m68hc11.h: Likewise.
27017 * config/mn10300/mn10300.h: Likewise.
27018 * config/mcore/mcore.h: Likewise.
27019 * config/h8300/h8300.h: Likewise.
27020 * config/bfin/bfin.h: Likewise.
27021
27022 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
27023 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
27024
e6693cfa
AS
270252010-05-03 Anatoly Sokolov <aesok@post.ru>
27026
27027 * double-int.h (tree_to_double_int): Remove macro.
27028 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
27029 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
27030 (tree_to_double_int): New function.
27031 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
27032 Move ...
27033 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
27034
8eb7bc3c
RG
270352010-05-03 Richard Guenther <rguenther@suse.de>
27036
27037 PR tree-optimization/43971
27038 * tree-ssa-structalias.c (get_constraint_for_1): Fix
27039 constraints in the !flag_delete_null_pointer_checks case.
27040
c4e26da1
JJ
270412010-05-03 Jakub Jelinek <jakub@redhat.com>
27042
27043 PR debug/43972
27044 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
27045 result mode matches original rtl mode.
27046
2dfccd83
DK
270472010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
27048
2385a470 27049 PR target/43888
2dfccd83
DK
27050 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
27051
18fdef20
UB
270522010-05-02 Uros Bizjak <ubizjak@gmail.com>
27053
27054 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
27055 when processing flag options.
27056
7c393241
UB
270572010-05-02 Uros Bizjak <ubizjak@gmail.com>
27058
27059 * gcov-iov.c (main): Change format string placeholder
27060 from %#08x to 0x%08x.
27061 * genchecksum.c (dosum): Change format string placeholder
27062 from %#02x to 0x%02x.
27063
52c307ba
RG
270642010-05-02 Richard Guenther <rguenther@suse.de>
27065
27066 PR tree-optimization/43879
7c393241 27067 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
52c307ba 27068
4896c7b8
BH
270692010-05-02 Bruno Haible <bruno@clisp.org>
27070
27071 * doc/extend.texi (Function Attributes): Fix a typo.
27072
34a47f6f
UB
270732010-05-02 Uros Bizjak <ubizjak@gmail.com>
27074
27075 Revert:
27076 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
27077 placeholder from 0x%x to %#x.
27078 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
7c393241
UB
27079 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
27080 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
27081 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
27082 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
27083 * config/i386/i386.c (ix86_target_string): Ditto.
34a47f6f 27084 * config/i386/i386.c (output_pic_addr_const): Ditto.
7c393241 27085 (print_operand): Ditto.
34a47f6f 27086
35c59d9c
UB
270872010-05-02 Uros Bizjak <ubizjak@gmail.com>
27088
27089 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
27090 placeholder from 0x%x to %#x.
27091 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
27092 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
27093 (ASM_OUTPUT_DEBUG_DATA): Ditto.
27094 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
27095 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
27096 * optc-gen.awk: Ditto.
27097 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
27098 (HOST_WIDE_INT_PRINT_HEX): Ditto.
27099 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
27100 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
35c59d9c 27101
82f81f18
AS
271022010-05-01 Anatoly Sokolov <aesok@post.ru>
27103
27104 * target.h (struct calls): Add function_value_regno_p field.
27105 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
27106 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
27107 * targhooks.c (default_function_value_regno_p): New function.
27108 * targhooks.h (default_function_value_regno_p): Declare function.
27109 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
27110 * builtins.c. (apply_result_size): (Ditto.).
27111 * combine.c. (likely_spilled_retval_p): (Ditto.).
27112 * mode-switching.c. Include 'target.h'.
27113 (create_pre_exit): Use function_value_regno_p hook.
27114 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
27115 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
27116 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
27117
27118 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
27119 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
27120 (ix86_function_value_regno_p): Declare as static, change argument
27121 type to const unsigned int.
27122 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
27123
bab4d587
RG
271242010-05-01 Richard Guenther <rguenther@suse.de>
27125
27126 PR tree-optimization/43949
27127 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
27128 types.
27129 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
27130
3e93ff81
AS
271312010-05-01 Anatoly Sokolov <aesok@post.ru>
27132
27133 * rtl.h (CONST_DOUBLE_P): Define.
27134 (rtx_to_double_int): Declare.
27135 * emit-rtl.c (rtx_to_double_int): New function.
27136 * dwarf2out.c (insert_double): New function.
27137 (loc_descriptor, add_const_value_attribute): Clean up, use
27138 rtx_to_double_int and insert_double functions.
27139
bcbc9564
JW
271402010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
27141
27142 * doc/extend.texi (Inline): Add missing return keyword to examples.
27143 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
27144 "command-line".
27145
ce276b61
EB
271462010-04-30 Eric Botcazou <ebotcazou@adacore.com>
27147
27148 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
27149 the variable part of the offset as well. Use highest_pow2_factor for
27150 all alignment checks.
27151
82677400
RB
271522010-04-30 Richard Guenther <rguenther@suse.de>
27153
27154 PR tree-optimization/43879
27155 * tree-ssa-structalias.c (type_could_have_pointers): Functions
27156 can have pointers.
27157
cd71491e
JH
271582010-04-30 Jan Hubicka <jh@suse.cz>
27159
82677400
RB
27160 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
27161 varpool.
cd71491e
JH
27162 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
27163
ace72c88
JH
271642010-04-30 Jan Hubicka <jh@suse.cz>
27165
82677400
RB
27166 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
27167 New.
ace72c88
JH
27168 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
27169 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
27170 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
27171 cgraph_node_set_needs_ltrans_p): Remove.
27172
b6feb796
SB
271732010-04-30 Steven Bosscher <steven@gcc.gnu.org>
27174
27175 * sdbout.c: Include vec.h, do not include varray.h.
27176 (deferred_global_decls, sdbout_global_decl,
27177 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
27178 * toplev.c: Do not include varray.h.
27179 (dump_memory_report): Do not dump VARRAY statistics.
27180 * gengtype.c (open_base_file): Ignore varray.h.
27181 * Makefile.in: Update for abovementioned changes.
27182 Remove all traces of varray.c and varray.h.
27183 * varray.c: Remove file.
27184 * varray.h: Remove file.
27185
05575e07
JH
271862010-04-30 Jan Hubicka <jh@suse.cz>
27187
27188 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
27189 references.
27190
9c6e0798
JH
271912010-04-30 Jan Hubicka <jh@suse.cz>
27192
27193 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
27194 needed.
27195
47d8a903
RG
271962010-04-30 Richard Guenther <rguenther@suse.de>
27197
27198 * tree-ssa-structalias.c (get_constraint_for_1): Generate
27199 constraints for CONSTRUCTOR.
27200
b6050cb7
RG
272012010-04-30 Richard Guenther <rguenther@suse.de>
27202
27203 PR lto/43946
27204 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
27205 first after all lowering passes.
27206
9aae8d16
SB
272072010-04-30 Steven Bosscher <steven@gcc.gnu.org>
27208
27209 * toplev.c: Include varray.h for statistics dumping.
27210 * tree.h: Do not declare varray_head_tag.
27211 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
27212 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
27213 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
27214 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
27215 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
27216 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
27217 c-common.c, c-common.h, reg-stack.c, basic-block.h,
27218 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
27219 include varray.h.
27220 * Makefile.in: Update for abovementioned changes.
27221
a07ecd2b
JJ
272222010-04-30 Jakub Jelinek <jakub@redhat.com>
27223
27224 PR debug/43942
27225 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
27226
41700fc3
HS
272272010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
27228
27229 * config/picochip/picochip.c (picochip_legitimize_address): Define.
27230 Use this function to do machine-specific conversion.
27231 (picochip_legitimize_reload_address): Likewise.
27232 (picochip_legitimate_address_p): Check valid base register only if
27233 strict.
27234 (picochip_check_conditional_copy): Check for modw only if opnd is
27235 register.
27236 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
27237 to call the function in c.
27238 * config/picochip/picochip-protos.h
27239 (picochip_legitimize_reload_address): Define.
27240 * config/picochip/picochip.md (supported_compare1): Define.
27241
8b4765bf
JH
272422010-04-30 Jan Hubicka <jh@suse.cz>
27243
27244 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
27245 (cgraph_global_info): Remove inlined.
27246 (LTO_cgraph_tag_names): Remove.
27247 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
27248 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
27249 simplify cgraph tags and document.
27250 (lto_output_node): Use only LTO_cgraph_unavail_node and
27251 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
35c59d9c 27252 for_functions_valid, global info, process and output flags.
8b4765bf 27253 (input_overwrite_node): Initialize estimated stack size and
35c59d9c 27254 estimated growth. Do not read flags we no longer store.
8b4765bf
JH
27255 (input_node): Likewise do not read info no longer stored.
27256 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
27257 flag.
27258
4be68d9a
RG
272592010-04-30 Richard Guenther <rguenther@suse.de>
27260
27261 PR tree-optimization/43879
27262 * tree-ssa-structalias.c (get_constraint_for_1): Properly
27263 handle non-zero initializers.
27264
06468254
RG
272652010-04-30 Richard Guenther <rguenther@suse.de>
27266
27267 * builtins.c (fold_builtin_1): Delete free (0).
27268
8b4765bf 272692010-04-29 Jan Hubicka <jh@suse.cz>
49ba8180
JH
27270
27271 * gengtype.c (open_base_files): Add lto-streamer.h
27272 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
27273 (pass_ipa_cp): GGC collect.
27274 * toplev. (compile_file): Do not output symbols.
27275 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
27276 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
27277 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
27278 * lto-section-in.c: Include ggc.h
27279 (lto_new_in_decl_state): Alloc in GGC.
27280 (lto_delete_in_decl_state): Likewise.
35c59d9c
UB
27281 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
27282 Collect.
49ba8180 27283
5a733826
BS
272842010-04-29 Bernd Schmidt <bernds@codesourcery.com>
27285
27286 PR target/42895
27287 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
27288 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
27289 (HONOR_REG_ALLOC_ORDER): Describe new macro.
27290 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
27291 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
27292 account only if HONOR_REG_ALLOC_ORDER is not defined.
27293 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
27294 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
35c59d9c
UB
27295
272962010-04-29 Jon Grant <04@jguk.org>
27297
7c6d86cc
JG
27298 * collect2.c (vflag): Change type from int to bool.
27299 (debug): Likewise.
27300 (helpflag): New global bool.
35c59d9c
UB
27301 (main): Set vflag and debug with boolean, not integer truth values.
27302 Accept new "--help" option and output usage text if found.
7c6d86cc
JG
27303 * collect2.h (vflag): Update prototype.
27304 (debug): Likewise.
35c59d9c 27305
55040b34
L
273062010-04-29 H.J. Lu <hongjiu.lu@intel.com>
27307
716a3481 27308 PR bootstrap/43936
35c59d9c 27309 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
55040b34 27310
46e70c4e
RG
273112010-04-29 Richard Guenther <rguenther@suse.de>
27312
27313 PR bootstrap/43935
27314 * plugin.h (invoke_plugin_callbacks): Annotate arguments
27315 with ATTRIBUTE_UNUSED.
27316
0d0539f0
L
273172010-04-29 H.J. Lu <hongjiu.lu@intel.com>
27318
27319 PR target/43921
27320 * config/i386/i386.c (get_some_local_dynamic_name): Replace
27321 INSN_P with NONDEBUG_INSN_P.
27322 (distance_non_agu_define): Likewise.
27323 (distance_agu_use): Likewise.
27324
8e5f0b49
BS
273252010-04-29 Bernd Schmidt <bernds@codesourcery.com>
27326
f4a4b582 27327 From Dominique d'Humieres <dominiq@lps.ens.fr>
8e5f0b49
BS
27328 PR bootstrap/43858
27329 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
27330 test_set.
27331
35c59d9c 273322010-04-29 Brian Hackett <bhackett1024@gmail.com>
efda3807
BH
27333
27334 * plugin.h (invoke_plugin_callbacks): New inline function.
27335 * plugin.c (flag_plugin_added): New global flag.
27336 (add_new_plugin): Initialize above flag.
27337 (invoke_plugin_callbacks): Rename to ...
27338 (invoke_plugin_callbacks_full): ... this.
27339
2942c502
JH
273402010-04-28 Jan Hubicka <jh@suse.cz>
27341
27342 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
27343 (lto_varpool_replace_node): New.
27344 (lto_symtab_resolve_symbols): Resolve varpool nodes.
27345 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
27346 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
27347 * cgraph.h (varpool_node_ptr): New type.
27348 (varpool_node_ptr): New vector.
27349 (varpool_node_set_def): New structure.
27350 (varpool_node_set): New type.
27351 (varpool_node_set): New vector.
27352 (varpool_node_set_element_def): New structure.
27353 (varpool_node_set_element, const_varpool_node_set_element): New types.
27354 (varpool_node_set_iterator): New type.
27355 (varpool_node): Add prev pointers, add used_from_other_partition,
27356 in_other_partition.
27357 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
27358 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
27359 varpool_get_node, varpool_remove_node): Declare.
27360 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
27361 varpool_node_set_size): New inlines.
27362 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
27363 * tree-pass.h (varpool_node_set_def): Forward declare.
27364 (ipa_opt_pass_d): Summary writting takes vnode sets too.
27365 (ipa_write_optimization_summaries): Update prototype.
27366 * ipa-cp.c (ipcp_write_summary): Update.
27367 * ipa-reference.c (ipa_reference_write_summary): Update.
27368 * lto-cgraph.c (lto_output_varpool_node): New static function.
27369 (output_varpool): New function.
27370 (input_varpool_node): New static function.
27371 (input_varpool_1): New function.
27372 (input_cgraph): Input varpool.
27373 * ipa-pure-const.c (pure_const_write_summary): Update.
27374 * lto-streamer-out.c (lto_output): Update, output varpool too.
27375 (write_global_stream): Kill WPA hack.
27376 (produce_asm_for_decls): Update.
27377 (output_alias_pair_p): Handle variables.
27378 (output_unreferenced_globals): Output only needed partition of varpool.
27379 * ipa-inline.c (inline_write_summary): Update.
35c59d9c
UB
27380 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
27381 cgraph.
2942c502
JH
27382 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
27383 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
27384 varpool_node_set_new, varpool_node_set_add,
27385 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
27386 debug_varpool_node_set): New functions.
27387 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
27388 (execute_one_pass): Process new decls too.
27389 (ipa_write_summaries_2): Pass around vsets.
27390 (ipa_write_summaries_1): Likewise.
27391 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
27392 to add.
27393 (ipa_write_optimization_summaries_1): Pass around vsets.
27394 (ipa_write_optimization_summaries): Likewise.
27395 * varpool.c (varpool_get_node): New.
27396 (varpool_node): Update doubly linked lists.
27397 (varpool_remove_node): New.
27398 (dump_varpool_node): More dumping.
27399 (varpool_enqueue_needed_node): Update doubly linked lists.
27400 (decide_is_variable_needed): Kill ltrans hack.
27401 (varpool_finalize_decl): Kill lto hack.
27402 (varpool_assemble_decl): Skip decls in other partitions.
27403 (varpool_assemble_pending_decls): Update doubly linkes lists.
27404 (varpool_empty_needed_queue): Likewise.
27405 (varpool_extra_name_alias): Likewise.
27406 * lto-streamer.c (lto_get_section_name): Add vars section.
27407 * lto-streamer.h (lto_section_type): Update.
27408 (output_varpool, input_varpool): Declare.
27409
da7f2697
MS
274102010-04-28 Mike Stump <mikestump@comcast.net>
27411
74ca3393 27412 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
da7f2697 27413
91eace2b
EB
274142010-04-28 Eric Botcazou <ebotcazou@adacore.com>
27415
27416 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
27417 record or union type with RECORD_OR_UNION_TYPE_P predicate.
27418 (lto_input_ts_type_tree_pointers): Likewise.
27419 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
27420 (lto_output_ts_type_tree_pointers): Likewise.
27421
8478130d
EB
274222010-04-28 Eric Botcazou <ebotcazou@adacore.com>
27423
27424 Uniquization of constants at the Tree level
20225a9b 27425 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
8478130d
EB
27426 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
27427 bit to the end.
27428 (tree_output_constant_def): Declare.
20225a9b 27429 * gimplify.c (gimplify_init_constructor): When using block copy, first
8478130d 27430 uniquize the constant constructor on the RHS.
20225a9b
EB
27431 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
27432 DECL_IN_CONSTANT_POOL flag.
8478130d 27433 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
20225a9b
EB
27434 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
27435 constant pool.
8478130d
EB
27436 (assemble_variable): Deal with symbols belonging to the tree constant
27437 pool.
27438 (get_constant_section): Add ALIGN parameter and simplify.
27439 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
27440 (assemble_constant_contents): Use the expression of the VAR_DECL.
27441 (output_constant_def_contents): Use the alignment of the VAR_DECL.
27442 (tree_output_constant_def): New global function.
27443 (mark_constant): Use the expression of the VAR_DECL.
20225a9b
EB
27444 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
27445 its expression.
8478130d
EB
27446 (output_object_block): Likewise and assemble the expression.
27447
331c7fcd
EB
274482010-04-28 Eric Botcazou <ebotcazou@adacore.com>
27449
27450 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
27451 hash_tree, eq_tree): New tree hash table.
27452 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
27453 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
27454 lto_orig_address_remove): Reimplement.
27455
34f97b94
XDL
274562010-04-28 Xinliang David Li <davidxl@google.com>
27457
27458 PR c/42643
27459 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
27460 (compute_uninit_opnds_pos): New function.
27461 (is_non_loop_exit_postdominating): New function.
27462 (compute_control_dep_chain): New function.
27463 (find_pdom): New function.
27464 (convert_control_dep_chain_into_preds): New function.
27465 (find_predicates): New function.
27466 (find_control_equiv_block): New function.
27467 (collect_phi_def_edges): New function.
27468 (find_def_preds): New function.
27469 (find_dom): New function.
27470 (dump_predicates): New function.
27471 (get_cmp_code): New function.
27472 (is_value_included_in): New function.
27473 (find_matching_predicate_in_rest_chains): New function.
27474 (use_pred_not_overlap_with_undef_path_pred): New function.
27475 (is_use_properly_guarded): New function.
27476 (normalize_cond_1): New function.
27477 (is_and_or_or): New function.
27478 (normalize_cond): New function.
27479 (is_gcond_subset_of): New function.
27480 (is_subset_of_any): New function.
27481 (is_or_set_subset_of): New function.
27482 (is_and_set_subset_of): New function.
27483 (is_norm_cond_subset_of): New function.
27484 (is_pred_expr_subset_of): New function.
27485 (is_pred_chain_subset_of): New function.
27486 (is_included_in): New function.
27487 (is_superset_of): New function.
27488 (find_uninit_use): New function.
27489 (warn_uninitialized_phi): New function.
27490 (compute_possibly_undefined_names): New function.
27491 (ssa_undefined_value_p): New function.
27492 (execute_late_warn_uninitialized): New function.
27493 * tree-ssa.c (ssa_undefined_value_p): Removed.
27494 (warn_uninit): Changed to extern.
27495 (warn_uninitialized_phi): Removed.
27496 (warn_uninitialized_vars): Changed to extern.
27497 (execute_late_warn_uninitialized): Removed
27498 * tree-flow.h: Add new prototypes.
27499 * timevar.def: Add new time variable.
27500 * Makefile.in: Add new build file.
27501
85fac79c
UB
275022010-04-28 Uros Bizjak <ubizjak@gmail.com>
27503
27504 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
27505 type if available.
27506
902a51a1
RO
275072010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
27508
27509 PR target/22224
27510 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
27511
e33c6cd6
MJ
275122010-04-28 Martin Jambor <mjambor@suse.cz>
27513
27514 * cgraph.h (struct cgraph_node): New field indirect_calls.
27515 (struct cgraph_indirect_call_info): New type.
27516 (struct cgraph_edge): Removed field indirect_call. New fields
27517 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
27518 (cgraph_create_indirect_edge): Declare.
27519 (cgraph_make_edge_direct): Likewise.
27520 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
27521 * ipa-prop.h (struct ipa_param_call_note): Removed.
27522 (struct ipa_node_params): Removed field param_calls.
27523 (ipa_create_all_structures_for_iinln): Declare.
27524 * cgraph.c: Described indirect edges and uids in initial comment.
27525 (cgraph_add_edge_to_call_site_hash): New function.
27526 (cgraph_edge): Search also among the indirect edges, use
27527 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
27528 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
27529 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
27530 site hash.
27531 (initialize_inline_failed): Assign a reason to indirect edges.
27532 (cgraph_create_edge_1): New function.
27533 (cgraph_create_edge): Moved some functionality to
27534 cgraph_create_edge_1.
27535 (cgraph_create_indirect_edge): New function.
27536 (cgraph_edge_remove_callee): Add an assert checking for
27537 non-indirectness.
27538 (cgraph_edge_remove_caller): Special-case indirect edges.
27539 (cgraph_remove_edge): Likewise.
27540 (cgraph_set_edge_callee): New function.
27541 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
27542 (cgraph_make_edge_direct): New function.
27543 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
27544 the declaration of the call statement matches.
27545 (cgraph_node_remove_callees): Special-case indirect edges.
27546 (cgraph_clone_edge): Likewise.
27547 (cgraph_clone_node): Clone also the indirect edges.
27548 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
27549 indirect_call, dump count of indirect_calls edges.
27550 * ipa-prop.c (iinlining_processed_edges): New variable.
27551 (ipa_note_param_call): Create indirect edges instead of
27552 creating notes. New parameter node.
27553 (ipa_analyze_call_uses): New parameter node, pass it on to
27554 ipa_note_param_call.
27555 (ipa_analyze_stmt_uses): Likewise.
27556 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
27557 (print_edge_addition_message): Work on edges rather than on notes.
27558 (update_call_notes_after_inlining): Likewise, renamed to
27559 update_indirect_edges_after_inlining.
27560 (ipa_create_all_structures_for_iinln): New function.
27561 (ipa_free_node_params_substructures): Do not free notes.
27562 (ipa_edge_duplication_hook): Propagate bits within
27563 iinlining_processed_edges bitmap.
27564 (ipa_node_duplication_hook): Do not duplicate notes.
27565 (free_all_ipa_structures_after_ipa_cp): Renamed to
27566 ipa_free_all_structures_after_ipa_cp.
27567 (free_all_ipa_structures_after_iinln): Renamed to
62e59133 27568 ipa_free_all_structures_after_iinln.
e33c6cd6
MJ
27569 (ipa_write_param_call_note): Removed.
27570 (ipa_read_param_call_note): Removed.
27571 (ipa_write_indirect_edge_info): New function.
27572 (ipa_read_indirect_edge_info): Likewise.
27573 (ipa_write_node_info): Do not stream notes, do stream information
27574 in indirect edges.
27575 (ipa_read_node_info): Likewise.
27576 (lto_ipa_fixup_call_notes): Removed.
27577 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
27578 * ipa-inline.c (pass_ipa_inline): Likewise.
27579 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
27580 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
27581 * tree-inline.c (copy_bb): Removed an unnecessary double check for
27582 is_gimple_call.
27583 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
27584 edges.
27585 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
27586 (output_cgraph): Stream also indirect edges.
27587 (lto_output_edge): Added capability to stream indirect edges.
27588 (input_edge): Likewise.
27589 (input_cgraph_1): Likewise.
f3d1b157
MJ
27590 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
27591 of indirect edges.
e33c6cd6 27592
18abb35e
RG
275932010-04-28 Richard Guenther <rguenther@suse.de>
27594
27595 PR tree-optimization/43879
27596 PR tree-optimization/43909
27597 * tree-ssa-structalias.c (struct variable_info): Add
27598 only_restrict_pointers flag.
27599 (new_var_info): Initialize it. Increment stats.total_vars here.
62e59133 27600 (create_function_info_for): Do not increment stats.total_vars here.
18abb35e
RG
27601 (get_function_part_constraint): Fix build with C++.
27602 (insert_into_field_list): Remove.
27603 (push_fields_onto_fieldstack): Properly merge fields.
27604 (create_variable_info_for): Split and simplify.
27605 (create_variable_info_for_1): New piece.
27606 (intra_create_variable_infos): Properly make restrict constraints
27607 from parameters.
27608
c718820a
RG
276092010-04-28 Richard Guenther <rguenther@suse.de>
27610
27611 PR c++/43880
35c59d9c 27612 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
c718820a 27613
5dc16b19 276142010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
f4a4b582 27615 Jan Hubicka <hubicka@ucw.cz>
5dc16b19
MLI
27616
27617 * doc/invoke.texi (-Wsuggest-attribute=const,
27618 -Wsuggest-attribute=pure): Document.
27619 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
27620 (function_always_visible_to_compiler_p,
27621 suggest_attribute, warn_function_pure, warn_function_const):
27622 New functions.
27623 (check_call): Improve debug info.
27624 (analyze_function): Do not check availability.
27625 (add_new_function): Check availability.
27626 (propagate): Output warnings.
27627 (skip_function_for_local_pure_const): New function.
27628 (local_pure_const): Use it; output warnings.
27629 * common.opt (Wsuggest-attribute=const,
27630 Wsuggest-attribute=pure): New.
27631
78b41ae2
JJ
276322010-04-27 Jakub Jelinek <jakub@redhat.com>
27633
27634 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
27635 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
27636 or DW_CFA_def_cfa_offset{,_sf}.
27637
62107106
EB
276382010-04-27 Eric Botcazou <ebotcazou@adacore.com>
27639
27640 * tree.h: Fix truncated long macros.
27641
ad211091
KT
276422010-04-27 Kai Tietz <kai.tietz@onevision.com>
27643
27644 * collect2.c (TARGET_64BIT): Redefine to target's default.
27645 * tlink.c: Likewise.
27646 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
27647 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
27648 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
27649 for underscoring __USER_LABEL_PREFIX__.
27650 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
27651 (SUB_LINK_ENTRY32): New.
27652 (SUB_LINK_ENTRY64): New.
85fac79c 27653 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
ad211091
KT
27654 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
27655 (SUB_LINK_ENTRY64): New.
27656 (SUB_LINK_ENTRY): New.
27657 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
27658 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
27659 x64 target is choosen.
27660 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
27661 * configure: Regenerated.
27662 * configure.ac (leading-mingw64-underscores): Option added.
27663
e65bb9be
JH
276642010-04-27 Jan Hubicka <jh@suse.cz>
27665
27666 * doc/invoke.texi (-fipa-profile): Document.
27667 * opts.c (decode_options): Enable ipa-profile at -O1.
27668 * timevar.def (TV_IPA_PROFILE): Define.
27669 * common.opt (fipa-profile): Add.
62107106
EB
27670 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
27671 flag for clones.
e65bb9be
JH
27672 (cgraph_propagate_frequency): Handle only local ones.
27673 * tree-pass.h (pass_ipa_profile): Declare.
27674 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
27675 (pass_ipa_profile): Use TV_IPA_PROFILE.
27676 * ipa.c (ipa_profile): New function.
27677 (gate_ipa_profile): Likewise.
27678 (pass_ipa_profile): New global variable.
27679 * passes.c (pass_ipa_profile): New.
27680
8606c81d
NF
276812010-04-27 Nathan Froyd <froydnj@codesourcery.com>
27682
27683 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
27684
78eaf7bf
MJ
276852010-04-27 Martin Jambor <mjambor@suse.cz>
27686
27687 PR middle-end/43812
27688 * ipa.c (dissolve_same_comdat_group_list): New function.
27689 (function_and_variable_visibility): Call
27690 dissolve_same_comdat_group_list when comdat group contains external or
27691 newly local nodes.
27692 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
27693 lists are circular and that they contain only DECL_ONE_ONLY nodes.
27694
5b56d3bb
EB
276952010-04-27 Eric Botcazou <ebotcazou@adacore.com>
27696
27697 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
27698 (const_hash_1) <VECTOR_CST>: New case.
27699 (compare_constant) <VECTOR_CST>: Likewise.
27700 <ADDR_EXPR>: Deal with LABEL_REFs.
27701 (copy_constant) <VECTOR_CST>: New case.
27702
fa5f5e27
JH
277032010-04-27 Jan Hubicka <jh@suse.cz>
27704
27705 * cgraph.c (cgraph_propagate_frequency): New function.
27706 * cgraph.h (cgraph_propagate_frequency): Declare.
27707 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
27708 cgraph_propagate_frequency.
27709
934f5b42
JJ
277102010-04-27 Jakub Jelinek <jakub@redhat.com>
27711
27712 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
27713
cb751cbd
BS
277142010-04-27 Bernd Schmidt <bernds@codesourcery.com>
27715
27716 PR target/40657
27717 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
27718 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
27719 here to determine which regs to push and how much stack to reserve.
27720
a5027830
JZ
277212010-04-27 Jie Zhang <jie@codesourcery.com>
27722
27723 * doc/gimple.texi (gimple_statement_with_ops): Remove
27724 addresses_taken field.
27725 (gimple_statement_with_memory_ops): Likewise.
27726
d89488ec
JH
277272010-04-27 Jan Hubicka <jh@suse.cz>
27728
27729 * tree-inline.c (eni_inlining_weights): Remove.
27730 (estimate_num_insns): Special case more builtins.
27731
637f1455 277322010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
85fac79c 27733
637f1455
SZ
27734 PR c/32207
27735 * c-typeck.c (build_binary_op): Move forward check for comparison
27736 pointer with null pointer constant and adjust the diagnostic message.
27737
f0423078
DK
277382010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
27739
27740 PR lto/42776
27741 * configure.ac (gcc_cv_as_section_has_align): Set if installed
27742 binutils supports extended .section directive needed by LTO, or
27743 warn if older binutils found.
27744 (LTO_BINARY_READER): New AC_SUBST'd variable.
27745 (LTO_USE_LIBELF): Likewise.
eed023cc 27746 * config.gcc (lto_binary_reader): New target-specific configure
f0423078 27747 variable.
eed023cc 27748 * Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
f0423078
DK
27749 (LTO_USE_LIBELF): Likewise.
27750 * configure: Regenerate.
27751
27752 * collect2.c (is_elf): Rename from this ...
27753 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
27754 object files in addition to ELF-formatted ones.
27755 (scan_prog_file): Caller updated. Also allow for LTO info marker
27756 symbol to be prefixed or not by an extra underscore.
27757
27758 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
27759 * config/i386/winnt.c: Also #include lto-streamer.h
27760 (i386_pe_asm_named_section): Specify 1-byte section alignment for
27761 LTO named sections.
27762 (i386_pe_asm_output_aligned_decl_common): Add comment.
27763 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
27764
68e87fc9
HPN
277652010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
27766
45c384e3 27767 PR target/43889
68e87fc9
HPN
27768 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
27769 Add missing earlyclobber for second alternative.
27770
823ff7b4
BS
277712010-04-26 Bernd Schmidt <bernds@codesourcery.com>
27772
27773 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
27774 bits for artificial defs at the top of the block.
27775 * fwprop.c (single_def_use_enter_block): Don't call it.
27776
f4a4b582 277772010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
9ec69d2e
JH
27778
27779 PR 43715
eed023cc 27780 * configure.ac: Use "$gcc_cv_nm -g" on darwin
9ec69d2e
JH
27781 instead of "$gcc_cv_objdump -T".
27782 Use "-undefined dynamic_lookup" on darwin.
eed023cc 27783 * configure: Regenerate.
9ec69d2e 27784
b83a701b
JJ
277852010-04-26 Jakub Jelinek <jakub@redhat.com>
27786
27787 PR c/43893
27788 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
27789
8415f317
NF
277902010-04-26 Nathan Froyd <froydnj@codesourcery.com>
27791
27792 * c-parser.c (struct c_token): Move location field up.
27793 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
27794 (struct c_declspecs): Convert typespec_word, storage_class, and
27795 default_int_p into bitfields.
27796 (struct c_declarator): Move loc field up.
27797
448f65db
NF
277982010-04-26 Nathan Froyd <froydnj@codesourcery.com>
27799
27800 * cfgloop.h (struct loop): Move can_be_parallel field up.
27801 * ipa-prop.h (struct ip_node_params): Move bitfields up.
27802 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
27803 down.
27804 (struct iv_cand): Convert pos field into a bitfield.
27805 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
27806 field up.
27807 (struct _stmt_vec_info): Shuffle fields for better packing.
27808
736865e1
EB
278092010-04-26 Eric Botcazou <ebotcazou@adacore.com>
27810
27811 * varasm.c (IN_NAMED_SECTION): Remove guard.
27812 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
27813 (IN_NAMED_SECTION_P): ...this.
27814 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
27815 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
27816
06ec59e6
EB
278172010-04-26 Eric Botcazou <ebotcazou@adacore.com>
27818
27819 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
27820 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
27821 of shadowing it. Fix comments.
27822
5fefcf92
JH
278232010-04-26 Jan Hubicka <jh@suse.cz>
27824
27825 * cgraph.c (cgraph_create_node): Set node frequency to normal.
27826 (cgraph_clone_node): Copy function frequency.
27827 * cgraph.h (node_frequency): New enum
27828 (struct cgraph_node): Add.
27829 * final.c (rest_of_clean_state): Update.
27830 * lto-cgraph.c (lto_output_node): Output node frequency.
27831 (input_overwrite_node): Input node frequency.
27832 * tre-ssa-loop-ivopts (computation_cost): Update.
06ec59e6
EB
27833 * lto-streamer-out.c (output_function): Do not output function
27834 frequency.
27835 * predict.c (maybe_hot_frequency_p): Update and handle functions
27836 executed once.
5fefcf92
JH
27837 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
27838 attribute lookup.
27839 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
06ec59e6
EB
27840 (compute_function_frequency): Set noreturn functions to be executed
27841 once.
5fefcf92
JH
27842 (choose_function_section): Update.
27843 * lto-streamer-in.c (input_function): Do not input function frequency.
06ec59e6
EB
27844 * function.c (allocate_struct_function): Do not initialize function
27845 frequency.
5fefcf92
JH
27846 * function.h (function_frequency): Remove.
27847 (struct function): Remove function frequency.
27848 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
27849 (try_update): Update.
27850 * tree-inline.c (initialize_cfun): Do not update function frequency.
27851 * passes.c (pass_init_dump_file): Update.
27852 * i386.c (ix86_compute_frame_layout): Update.
27853 (ix86_pad_returns): Update.
27854
330af32c
JZ
278552010-04-26 Jie Zhang <jie@codesourcery.com>
27856
27857 PR tree-optimization/43833
27858 * tree-vrp.c (range_int_cst_p): New.
27859 (range_int_cst_singleton_p): New.
27860 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
27861 when both operands are constants. Use range_int_cst_p in
27862 BIT_IOR_EXPR case.
27863
ae2b0888
JH
278642010-04-26 Jan Hubicka <jh@suse.cz>
27865
27866 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
27867
98b2dfbb
RG
278682010-04-26 Richard Guenther <rguenther@suse.de>
27869
27870 PR lto/43080
27871 * gimple.c (gimple_decl_printable_name): Deal gracefully
27872 with a NULL DECL_NAME.
27873
1ae3075b
RG
278742010-04-26 Richard Guenther <rguenther@suse.de>
27875
27876 PR lto/42425
27877 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
27878 if emitting debug information and it is either a function
27879 or a namespace decl.
27880
4b5caab7
IR
278812010-04-26 Ira Rosen <irar@il.ibm.com>
27882
85fac79c
UB
27883 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
27884 determine if the statement is vectorizable, and a macro to access it.
27885 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
27886 Skip statements that can't be vectorized. If the analysis fails,
27887 mark the statement as unvectorizable if vectorizing basic block.
4b5caab7 27888 (vect_compute_data_refs_alignment): Likewise.
85fac79c 27889 (vect_verify_datarefs_alignment): Skip statements marked as
4b5caab7 27890 unvectorizable. Add print.
85fac79c
UB
27891 (vect_analyze_group_access): Skip statements that can't be
27892 vectorized. If the analysis fails, mark the statement as
4b5caab7 27893 unvectorizable if vectorizing basic block.
85fac79c
UB
27894 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
27895 * tree-vect-stmts.c (vectorizable_store): Fix the number of
4b5caab7
IR
27896 generated stmts for SLP.
27897 (new_stmt_vec_info): Initialize the new field.
85fac79c 27898 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
4b5caab7
IR
27899 statements marked as unvectorizable.
27900
2778d766
JM
279012010-04-25 Joseph Myers <joseph@codesourcery.com>
27902
27903 * c-common.c (flag_isoc1x): New.
27904 (flag_isoc99): Update comment.
27905 * c-common.h (flag_isoc1x): New.
27906 (flag_isoc99): Update comment.
27907 * c-cppbuiltin.c (builtin_define_float_constants): Also define
27908 __<type>_DECIMAL_DIG__.
27909 * c-opts.c (set_std_c1x): New.
27910 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
27911 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
27912 * c.opt (-std=c1x, -std=gnu1x): New options.
27913 * doc/cpp.texi: Mention -std=c1x.
27914 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
27915 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
27916 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
27917 * doc/standards.texi: Mention C1X.
27918 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
27919 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
27920 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
27921 Define for C1X.
27922
3d416346
UB
279232010-04-25 Uros Bizjak <ubizjak@gmail.com>
27924
27925 * config/i386/gmon-sol2.c (_mcleanup): Change format string
27926 placeholder from 0x%x to %#x.
27927 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
27928 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
27929 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
27930 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
27931 * config/i386/i386.c (ix86_target_string): Ditto.
27932 (output_pic_addr_const): Ditto.
27933 (print_operand): Ditto.
27934
910ed7dc
PB
279352010-04-25 Paolo Bonzini <bonzini@gnu.org>
27936
27937 * combine.c (find_split_point): Add third argument. Use it
27938 to find nested multiply-accumulate instructions. Adjust calls.
27939 (try_combine): Adjust call to find_split_point.
27940
423b2799
GP
279412010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
27942
27943 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
27944
27d0d96a
BS
279452010-04-24 Bernd Schmidt <bernds@codesourcery.com>
27946
27947 PR tree-optimization/41442
27948 * fold-const.c (merge_truthop_with_opposite_arm): New function.
27949 (fold_binary_loc): Call it.
27950
c7d0de89
MLI
279512010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
27952
3d416346 27953 * toplev.c (general_init): Set default for fdiagnostics-show-option.
c7d0de89 27954 * opts.c (common_handle_option): Allow disabling it.
3d416346
UB
27955 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
27956
915f5921
EB
279572010-04-23 Eric Botcazou <ebotcazou@adacore.com>
27958
27959 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
27960 between modes if both types are integral.
27961
4e708ff7
RG
279622010-04-23 Richard Guenther <rguenther@suse.de>
27963
27964 PR tree-optimization/43572
27965 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
27966
8fd8a06f
RG
279672010-04-23 Richard Guenther <rguenther@suse.de>
27968
27969 PR lto/43455
27970 * tree-inline.c (tree_can_inline_p): Also check compatibility
27971 of return types.
27972
77620011
MJ
279732010-04-23 Martin Jambor <mjambor@suse.cz>
27974
27975 PR tree-optimization/43846
27976 * tree-sra.c (struct access): New flag grp_assignment_read.
27977 (build_accesses_from_assign): Set grp_assignment_read.
27978 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
27979 (enum mark_read_status): New type.
27980 (analyze_access_subtree): Propagate grp_assignment_read, create
27981 accesses also if both direct_read and root->grp_assignment_read.
27982
5c20baf1
MJ
279832010-04-23 Martin Jambor <mjambor@suse.cz>
27984
27985 PR middle-end/43835
27986 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
27987 function does not have type attributes.
27988
c67f69a3
RG
279892010-04-23 Richard Guenther <rguenther@suse.de>
27990
27991 PR lto/42653
27992 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
27993 of FUNCTION_DECLs.
27994
086058c2
LB
279952010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
27996
27997 * sese.h (create_if_region_on_edge): Remove.
27998
27999 * sese.c (create_if_region_on_edge): Make static.
28000
28001 * tree-inline.c: Do not include ggc.h.
28002
28003 * expr.c: Do not include ggc.h.
28004
28005 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
28006 dependencies.
28007
fc9c984d
KK
280082010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
28009
28010 PR target/43744
28011 * config/sh/sh.c (find_barrier): Don't emit a constant pool
28012 in the middle of insns for casesi_worker_2.
28013
cf42f095
DE
280142010-04-22 David Edelsohn <edelsohn@gnu.org>
28015
28016 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
28017
280182010-04-22 Ira Rosen <irar@il.ibm.com>
74500b3e 28019
5bdd895c 28020 PR tree-optimization/43842
d5dceab8 28021 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
74500b3e
IR
28022 loop unrolling in update of exit phis. Fix comment.
28023 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
d5dceab8 28024 least two reduction statements in the loop before starting SLP
74500b3e
IR
28025 analysis.
28026
d5f4a527
NC
280272010-04-22 Nick Clifton <nickc@redhat.com>
28028
28029 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
28030
44741f03
AM
280312010-04-22 Alexander Monakov <amonakov@ispras.ru>
28032
28033 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
28034 to simplify a + ~a.
28035
f873b205
LB
280362010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
28037
28038 * tree-parloops.c (loop_parallel_p): New argument
28039 parloop_obstack. Pass it down.
28040 (parallelize_loops): New variable parloop_obstack. Initialize it,
28041 pass it down, free it.
28042
28043 * tree-loop-linear.c (linear_transform_loops): Pass down
28044 lambda_obstack.
28045
28046 * tree-data-ref.h (lambda_compute_access_matrices): New argument
28047 of type struct obstack *.
28048
28049 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
28050 scratch_obstack. Initialize it, pass down, free it.
28051
28052 * lambda.h (lambda_loop_new): Remove.
28053 (lambda_matrix_new, lambda_matrix_inverse)
28054 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
28055 argument of type struct obstack *.
28056
28057 * lambda-trans.c (lambda_trans_matrix_new): New argument
28058 lambda_obstack. Pass it down, use obstack allocation for ret.
28059 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
28060 it down.
28061
28062 * lambda-mat.c (lambda_matrix_get_column)
28063 (lambda_matrix_project_to_null): Remove.
28064 (lambda_matrix_new): New argument lambda_obstack. Use obstack
28065 allocation for mat.
28066 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
28067 lambda_obstack.
28068
28069 * lambda-code.c (lambda_loop_new): New function.
28070 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
28071 (lambda_compute_auxillary_space, lambda_compute_target_space)
28072 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
28073 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
28074 (build_access_matrix): New argument lambda_obstack. Use obstack
28075 allocation for am.
28076 (lambda_compute_step_signs, lambda_compute_access_matrices): New
28077 argument lambda_obstack. Pass it down.
28078
b99279f3
BS
280792010-04-22 Bernd Schmidt <bernds@codesourcery.com>
28080
28081 * optabs.h (expand_widening_mult): Declare.
28082
b3be2694
RG
280832010-04-22 Richard Guenther <rguenther@suse.de>
28084
28085 PR tree-optimization/43845
28086 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
28087 lookup the CALL_EXPR function and arguments.
28088
038eab67
NC
280892010-04-22 Nick Clifton <nickc@redhat.com>
28090
28091 * config/stormy16/stormy16.c
d5dceab8 28092 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
038eab67
NC
28093 * config/stormy16/stormy16.h: Tidy up formatting.
28094 (DONT_USE_BUILTIN_SETJMP): Remove definition.
28095 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
28096 (ineqbranchsi): Delete pattern.
28097 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
28098 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
28099 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
28100 stormy16-lib2-ucmpsi2.c.
28101
907deb1a
BS
281022010-04-22 Bernd Schmidt <bernds@codesourcery.com>
28103
28104 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
28105 df_simulate_find_noclobber_defs as appropriate. Keep track of an
28106 extra set merge_set_noclobber, and use it to relax the final test
28107 slightly.
28108 * df.h (df_simulate_find_noclobber_defs): Declare.
28109 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
28110 conditional defs.
28111 (df_simulate_find_noclobber_defs): New function.
28112
6a0447ba
UB
281132010-04-22 Uros Bizjak <ubizjak@gmail.com>
28114
28115 * config/i386/i386.md: Use {} around multi-line preparation statements.
28116
a1e3b3d9
LB
281172010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
28118
28119 * c-tree.h (push_init_level, pop_init_level, set_init_index)
28120 (process_init_element): New argument of type struct obstack *.
28121
28122 * c-typeck.c (push_init_level, pop_init_level, set_designator)
28123 (set_init_index, set_init_label, set_nonincremental_init)
28124 (set_nonincremental_init_from_string, find_init_member)
28125 (output_init_element, output_pending_init_elements)
28126 (process_init_element): New argument braced_init_obstack. Pass it
28127 down.
28128 (push_range_stack, add_pending_init): New argument
28129 braced_init_obstack. Use obstack allocation.
28130
28131 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
28132 braced_init_obstack. Pass it down.
28133 (c_parser_braced_init): New variables ret, braced_init_obstack.
28134 Initialize obstack, pass it down and finally free it.
28135
5b58b39b
BS
281362010-04-22 Bernd Schmidt <bernds@codesourcery.com>
28137
28138 PR middle-end/29274
5b58b39b
BS
28139 * tree-pass.h (pass_optimize_widening_mul): Declare.
28140 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
28141 gate_optimize_widening_mul): New static functions.
28142 (pass_optimize_widening_mul): New.
3d416346 28143 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
5b58b39b
BS
28144 <case MULT_EXPR>: Remove support for widening multiplies.
28145 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
28146 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
28147 simplify_gen_unary rather than directly building extensions.
28148 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
28149 WIDEN_MULT_EXPR.
28150 * expmed.c (expand_widening_mult): New function.
28151 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
28152
bc58d7e1
JH
281532010-04-21 Jan Hubicka <jh@suse.cz>
28154
28155 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
28156 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
28157 * lto-wpa-fixup.c: Remove.
28158 * Makefile.in (lto-wpa-fixup.o): Remove.
28159 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
28160 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
28161 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
28162
e792884f
JH
281632010-04-21 Jan Hubicka <jh@suse.cz>
28164
28165 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
28166 add write_optimization_summary, read_optimization_summary.
28167 (ipa_write_summaries_of_cgraph_node_set): Remove.
28168 (ipa_write_optimization_summaries): Declare.
28169 (ipa_read_optimization_summaries): Declare.
28170 * ipa-cp.c (pass_ipa_cp): Update.
28171 * ipa-reference.c (pass_ipa_reference): Update.
28172 * ipa-pure-const.c (pass_ipa_pure_const): Update.
28173 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
28174 Update.
28175 * ipa-inline.c (pass_ipa_inline): Update.
28176 * ipa.c (pass_ipa_whole_program): Update.
28177 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
28178 * passes.c (ipa_write_summaries_1): Do not test wpa.
28179 (ipa_write_optimization_summaries_1): New.
28180 (ipa_write_optimization_summaries): New.
28181 (ipa_read_summaries): Do not test ltrans.
28182 (ipa_read_optimization_summaries_1): New.
28183 (ipa_read_optimization_summaries): New.
28184
ecd03d10
JH
281852010-04-21 Jan Hubicka <jh@suse.cz>
28186
28187 * lto-cgraph.c (lto_output_node): Do not output comdat groups
28188 for boundary nodes.
28189 (output_cgraph): Do not arrange comdat groups for boundary nodes.
28190
71a810c3
JJ
281912010-04-21 Jakub Jelinek <jakub@redhat.com>
28192
28193 PR debug/40040
28194 * dwarf2out.c (add_name_and_src_coords_attributes): Add
28195 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
28196
dd6d1ad7
JH
281972010-04-21 Jan Hubicka <jh@suse.cz>
28198
28199 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
28200
c9945504
JH
282012010-04-21 Jan Hubicka <jh@suse.cz>
28202
28203 * varpool.c (decide_is_variable_needed): Variable is always needed
28204 during ltrans.
28205
e7cfce71
JH
282062010-04-21 Jan Hubicka <jh@suse.cz>
28207
28208 * opts.c (decode_options): Enable pure-const pass for whopr.
28209
0115e6c7
JH
282102010-04-21 Jan Hubicka <jh@suse.cz>
28211
28212 * cgraph.c (dump_cgraph_node): Dump also assembler name.
28213 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
28214 at WPA dumping.
28215 (cgraph_decide_inlining): Do not expect callee to be removed in all
28216 cases.
28217
96c2a0d6
EW
282182010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
28219
28220 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
28221
656ef6bb
UB
282222010-04-21 Uros Bizjak <ubizjak@gmail.com>
28223
28224 * config/i386/i386.md (x86_shrd): Add athlon_decode and
28225 amdfam10_decode attributes.
28226
78db7d92
JJ
282272010-04-21 Jakub Jelinek <jakub@redhat.com>
28228
28229 PR middle-end/43570
28230 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
28231 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
28232 (lower_copyprivate_clauses): Use private var in outer
28233 context instead of original var. Make sure the types
28234 are correct for VLAs.
28235
11152c95
RG
282362010-04-21 Richard Guenther <rguenther@suse.de>
28237
28238 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
28239 to non-pointer objects.
28240
8f65940d
JJ
282412010-04-21 Jakub Jelinek <jakub@redhat.com>
28242
0f2f44c0
JJ
28243 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
28244 last chain entry if it starts with the still current label.
28245 (add_location_or_const_value_attribute): Check that
6a0447ba 28246 loc_list->first->next is NULL instead of comparing ->first with ->last.
0f2f44c0
JJ
28247 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
28248 to add_var_loc_to_decl.
28249
8f65940d 28250 * dwarf2out.c (output_call_frame_info): For dw_cie_version
6a0447ba 28251 >= 4 add also address size and segment size fields into CIE header.
8f65940d
JJ
28252
28253 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
28254 long as address size is the same as sizeof (void *) and
28255 segment size is 0.
28256 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
28257 address size or segment size is unexpected, return DW_EH_PE_omit.
28258 (classify_object_over_fdes): If get_cie_encoding returned
28259 DW_EH_PE_omit, return -1.
28260 (init_object): If classify_object_over_fdes returned -1,
28261 pretend there were no FDEs at all.
28262
2d2d5a91
UB
282632010-04-21 Uros Bizjak <ubizjak@gmail.com>
28264
28265 * config/i386/i386.md (bswap<mode>2): Macroize expander from
28266 bswap{si,di}2 using SWI48 mode iterator.
28267 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
28268 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
28269 set modrm attribute of bswap insn to 0 and remove length attribute.
28270 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
28271 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
28272 set mode attribute to <MODE> and remove length attribute.
28273
4811db8d
JW
282742010-04-20 James E. Wilson <wilson@codesourcery.com>
28275
28276 PR rtl-optimization/43520
28277 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
28278 zero available registers.
28279
3c642f92
KG
282802010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
28281
28282 * builtins.c (fold_builtin_cproj): Fold more cases.
28283
43272bf5
KG
282842010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
28285
28286 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
28287 (fold_builtin_1): Fold builtin cproj.
28288 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
28289 Use ATTR_CONST_NOTHROW_LIST.
28290
e96ccb30
UB
282912010-04-20 Uros Bizjak <ubizjak@gmail.com>
28292
28293 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
28294 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
28295 ffsi2_no_cmove for !TARGET_CMOVE.
28296 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
28297 (ffssi2): Remove expander.
28298 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
28299 mode iterator.
28300 (ctz<mode>2): Ditto from ctz{si,di}2.
28301 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
28302 mode iterator.
28303 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
28304 mode iterator.
28305
4c0ab69d
JJ
283062010-04-20 Jakub Jelinek <jakub@redhat.com>
28307
28308 * dwarf2out.c (AT_linkage_name): Define.
28309 (clone_as_declaration): Handle DW_AT_linkage_name.
28310 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
28311 of DW_AT_MIPS_linkage_name.
28312 (move_linkage_attr): Likewise.
28313 (dwarf2out_finish): Likewise.
28314
94e85e0a
XDL
283152010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
28316
28317 PR middle-end/41952
e96ccb30 28318 * fold-const.c (fold_comparison): New folding rule.
94e85e0a 28319
4c0ab69d 283202010-04-20 Anatoly Sokolov <aesok@post.ru>
54fb1ae0
AS
28321
28322 * double-int.h (double_int_setbit): Declare.
28323 * double-int.c (double_int_setbit): New function.
28324 * rtl.h (immed_double_int_const): Declare.
28325 * emit-rtl.c (immed_double_int_const): New function.
28326 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
28327 and immed_double_int_const functions.
28328 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
a691bb08 28329 expand_copysign_bit): (Ditto.).
54fb1ae0
AS
28330 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
28331 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
28332 * dojump.c (prefer_and_bit_test): (Ditto.).
28333 * expr.c (convert_modes, reduce_to_bit_field_precision,
28334 const_vector_from_tree): (Ditto.).
28335 * expmed.c (mask_rtx, lshift_value): (Ditto.).
28336
a837268b
JH
283372010-04-20 Jan Hubicka <jh@suse.cz>
28338
28339 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
28340 (dump_cgraph_node): Dump new flags.
e96ccb30
UB
28341 * cgraph.h (struct cgraph_node): Add flags
28342 reachable_from_other_partition and in_other_partition.
28343 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
28344 other partition can not be removed.
28345 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
28346 the other partition must be output; silence sanity checking on
28347 leaking functions bodies from other paritition.
a837268b
JH
28348 * lto-cgraph.c (reachable_from_other_partition_p): New function.
28349 (lto_output_node): Output new flags; do not sanity check that inline
28350 clones are output; drop lto_forced_extern_inline_p code; do not mock
28351 visibility flags at partition boundaries.
28352 (add_node_to): New function.
28353 (output_cgraph): Use it to sort functions so masters appear before
28354 clones.
28355 (input_overwrite_node): Input new flags.
28356 * passes.c (ipa_write_summaries): Do not call
28357 lto_new_extern_inline_states.
74ca3393
EB
28358 * lto-section-out.c (forced_extern_inline,
28359 lto_new_extern_inline_states lto_delete_extern_inline_states,
28360 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
a837268b
JH
28361 * lto-streamer.h (lto_new_extern_inline_states,
28362 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
28363 lto_forced_extern_inline_p): Kill.
28364
3c323b52
RG
283652010-04-20 Richard Guenther <rguenther@suse.de>
28366
28367 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
28368 from vars that can have pointers.
28369 (process_constraint): Dump useless constraints.
28370
b28ae58f
RG
283712010-04-20 Richard Guenther <rguenther@suse.de>
28372
e96ccb30 28373 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
b28ae58f
RG
28374 (dump_sa_points_to_info): Remove asserts.
28375 (init_base_vars): nothing_id isn't an escape point nor does it
28376 have pointers.
28377
1197ce8e
JJ
283782010-04-20 Jakub Jelinek <jakub@redhat.com>
28379
28380 * tree.h (TYPE_REF_IS_RVALUE): Define.
28381 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
28382 should_move_die_to_comdat, prune_unused_types_walk): Handle
28383 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
28384 (modified_type_die, gen_reference_type_die): Emit
28385 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
28386 if TYPE_REF_IS_RVALUE and -gdwarf-4.
28387
72e2cf16
AK
283882010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
28389
28390 PR target/43635
28391 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
28392 calls for -fpic -m31 if they have been sibcall optimized.
28393
810d71d0
JW
283942010-04-19 James E. Wilson <wilson@codesourcery.com>
28395
4a863f3a
JW
28396 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
28397 ar.lc fixed and call-used.
28398
810d71d0
JW
28399 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
28400
3ee2243c
JH
284012010-04-19 Jan Hubicka <jh@suse.cz>
28402
28403 * opts.c (decode_options): Disable whpr incompatible passes.
28404 * lto/lto.c (lto_1_to_1_map): Skip clones.
28405 (read_cgraph_and_symbols): Do not mark everything as needed.
28406 (do_whole_program_analysis): Do map only after optimizing;
28407 set proper cgraph_state; use passmanager.
28408
576319a7
DD
284092010-04-19 DJ Delorie <dj@redhat.com>
28410
28411 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
28412 POINTER_PLUS_EXPR and fix them.
28413
578ad141
EW
284142010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
28415
28416 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
28417 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
28418 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
28419 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
28420 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
28421 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
28422 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
28423 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
28424 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
28425 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
28426 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
28427
d321bd2d
EB
284282010-04-19 Eric Botcazou <ebotcazou@adacore.com>
28429
28430 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
28431 (check_cond_move_block): Likewise.
28432 (cond_move_process_if_block): Likewise.
28433 (noce_find_if_block): Improve formatting.
28434 (find_if_header): Pass 0 to memset and tweak conditions.
28435 (cond_exec_find_if_block): Fix long lines and tweak conditions.
28436
74e27d0d
JJ
284372010-04-19 Jakub Jelinek <jakub@redhat.com>
28438
e96ccb30
UB
28439 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
28440 for -gdwarf-4.
74e27d0d 28441
fd2e4e99
JJ
28442 PR middle-end/43337
28443 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
28444 with non-local decl doesn't need chain.
28445
ec995732
VM
284462010-04-19 Vladimir Makarov <vmakarov@redhat.com>
28447
28448 * ira-color.c (allocno_reload_assign): Avoid accumulating
28449 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
28450
acd63801
MJ
284512010-04-19 Martin Jambor <mjambor@suse.cz>
28452
28453 * gimple.h (create_tmp_reg): Declare.
28454 * gimplify.c (create_tmp_reg): New function.
28455 (gimplify_return_expr): Use create_tmp_reg.
28456 (gimplify_omp_atomic): Likewise.
28457 (gimple_regimplify_operands): Likewise.
28458 * tree-dfa.c (make_rename_temp): Likewise.
28459 * tree-predcom.c (predcom_tmp_var): Likewise.
28460 (reassociate_to_the_same_stmt): Likewise.
28461 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
28462 (get_replaced_param_substitute): Likewise.
28463 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
28464 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
28465 * tree-ssa-pre.c (get_representative_for): Likewise.
28466 (create_expression_by_pieces): Likewise.
28467 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
28468 (create_tailcall_accumulator): Likewise.
28469
0b6e2868
MJ
284702010-04-19 Martin Jambor <mjambor@suse.cz>
28471
28472 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
28473 new_stmt.
28474 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
28475
1936a7d4
RG
284762010-04-19 Richard Guenther <rguenther@suse.de>
28477
28478 PR tree-optimization/43796
28479 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
28480 from SCEV in the lattice.
28481 (vrp_visit_phi_node): Dump change.
28482
479881c3
RG
284832010-04-19 Richard Guenther <rguenther@suse.de>
28484
28485 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
28486 * configure: Re-generated.
28487
d53bed0b
RG
284882010-04-19 Richard Guenther <rguenther@suse.de>
28489
28490 PR tree-optimization/43783
28491 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
28492 constant ARRAY_REF operands two and three if possible.
28493
90f775a9
UB
284942010-04-19 Uros Bizjak <ubizjak@gmail.com>
28495
28496 PR target/43766
28497 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
28498
8d9b7be5
JZ
284992010-04-19 Jie Zhang <jie@codesourcery.com>
28500
28501 PR target/43662
90f775a9 28502 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
8d9b7be5 28503
d5dceab8 285042010-04-19 Ira Rosen <irar@il.ibm.com>
b5aeb3bb
IR
28505
28506 PR tree-optimization/37027
e96ccb30 28507 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
b5aeb3bb
IR
28508 and macro to access it.
28509 (vectorizable_reduction): Add argument.
28510 (vect_get_slp_defs): Likewise.
28511 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
28512 statements for possible use in SLP.
28513 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
28514 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
28515 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
28516 add new argument.
28517 (vectorizable_reduction): Likewise.
e96ccb30 28518 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
b5aeb3bb
IR
28519 vect_get_slp_defs.
28520 (vectorizable_type_demotion, vectorizable_type_promotion,
28521 vectorizable_store): Likewise.
28522 (vect_analyze_stmt): Update call to vectorizable_reduction.
28523 (vect_transform_stmt): Likewise.
28524 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
28525 (vect_build_slp_tree): Fix indentation. Check that there are no loads
28526 from different interleaving chains in same node.
28527 (vect_slp_rearrange_stmts): New function.
e96ccb30 28528 (vect_supported_load_permutation_p): Allow load permutations for
b5aeb3bb
IR
28529 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
28530 inside SLP nodes if necessary.
28531 (vect_analyze_slp_instance): Handle reductions.
28532 (vect_analyze_slp): Try to build SLP instances originating from groups
28533 of reductions.
28534 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
28535 (vect_get_constant_vectors): Create initial vectors for reductions
28536 according to reduction code. Add new argument.
e96ccb30 28537 (vect_get_slp_defs): Add new argument, pass it to
b5aeb3bb
IR
28538 vect_get_constant_vectors.
28539 (vect_schedule_slp_instance): Remove SLP tree root statements.
28540
5a2fa9e8
JJ
285412010-04-19 Jakub Jelinek <jakub@redhat.com>
28542
28543 * tree.h (ENUM_IS_SCOPED): Define.
28544 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
28545 for ENUM_IS_SCOPED enums.
28546
3b9e5d95
EB
285472010-04-18 Eric Botcazou <ebotcazou@adacore.com>
28548
28549 * fold-const.c (fold_comparison): Use ssizetype.
28550 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
28551 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
28552 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
28553 * tree-object-size.c (compute_object_sizes): Use size_type_node.
28554
28555 * tree.h (initialize_sizetypes): Remove parameter.
28556 (build_common_tree_nodes): Remove second parameter.
28557 * stor-layout.c (initialize_sizetypes): Remove parameter.
28558 Always create an unsigned type.
28559 (set_sizetype): Assert that the passed type is unsigned and simplify.
28560 * tree.c (build_common_tree_nodes): Remove second parameter.
28561 Adjust call to initialize_sizetypes.
28562 * c-decl.c (c_init_decl_processing): Remove second argument in call to
28563 build_common_tree_nodes.
28564
b3c35965
MK
285652010-04-18 Matthias Klose <doko@ubuntu.com>
28566
28567 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
28568
d5dceab8 285692010-04-18 Ira Rosen <irar@il.ibm.com>
59eefaa6
IR
28570
28571 PR tree-optimization/43771
28572 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
28573 load permutation doesn't have gaps.
28574
07b3ef2e
JH
285752010-04-18 Jan Hubicka <jh@suse.cz>
28576
28577 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
28578 (sse_prologue_save_insn expander): Use new pattern.
28579 (sse_prologue_save_insn1): New pattern and splitter.
28580 (sse_prologue_save_insn): Update to deal also with 64bit aligned
28581 blocks.
90f775a9
UB
28582 * i386.c (setup_incoming_varargs_64): Do not compute jump
28583 destination here.
07b3ef2e 28584 (ix86_gimplify_va_arg): Update alignment needed.
90f775a9 28585 (ix86_local_alignment): Do not align all local arrays to 128bit.
07b3ef2e 28586
6a8cd100
JH
285872010-04-17 Jan Hubicka <jh@suse.cz>
28588
28589 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
28590
9e315505
RE
285912010-04-17 Richard Earnshaw <rearnsha@arm.com>
28592
28593 * arm.md (negdi2): Remove redundant code to force values into a
28594 register.
28595
6f0668cf
RE
285962010-04-17 Richard Earnshaw <rearnsha@arm.com>
28597
28598 * arm/bpabi.S: Add EABI alignment attributes to objects.
28599 * arm/bpabi-v6m.S: Likewise.
28600 * arm/crti.asm: Likewise.
28601 * arm/crtn.asm: Likewise.
28602 * arm/lib1funcs.asm: Likewise.
28603 * arm/libunwind.S: Likewise.
28604
1b78f575
RE
286052010-04-17 Richard Earnshaw <rearnsha@arm.com>
28606
28607 * arm-protos.h (tune_params): New structure.
28608 * arm.c (current_tune): New variable.
28609 (arm_constant_limit): Delete.
28610 (struct processors): Add pointer to the tune parameters.
28611 (arm_slowmul_tune): New tuning option.
28612 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
28613 (all_cores): Adjust to pick up the tuning model.
28614 (arm_constant_limit): New function.
28615 (arm_override_options): Select the appropriate tuning model. Delete
28616 initialization of arm_const_limit.
28617 (arm_split_constant): Use the new constant-limit model.
28618 (arm_rtx_costs): Pick up the current tuning model.
28619 * arm.md (is_strongarm, is_xscale): Delete.
28620 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
28621 for Xscale variant architectures.
28622 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
28623
80d56d04
RR
286242010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
28625
1b78f575
RE
28626 * config/arm/arm.c (arm_gen_constant): Remove unused variable
28627 can_shift.
80d56d04
RR
28628 (arm_rtx_costs_1): Remove unused variable extra_cost.
28629 (arm_unwind_emit_set): Use variable offset.
28630 (thumb1_output_casesi): Remove unused variable flags.
28631
6190446b
JL
286322010-04-16 Jeff Law <law@redhat.com>
28633
28634 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
016f9d9d
JL
28635 needing assignment rather than doing a two-phase assignment. Remove
28636 unused variable 'm'.
6190446b 28637
24f8d71e
JJ
286382010-04-16 Jakub Jelinek <jakub@redhat.com>
28639
28640 PR bootstrap/43767
28641 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
28642
f1665f5c
DK
286432010-04-16 Doug Kwan <dougkwan@google.com>
28644
28645 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
28646 (next_operand_entry_id): New static variable.
28647 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
28648 (add_to_ops_vec): Assigned unique ID to operand entry.
3d25c396 28649 (struct oecount_s): New field ID.
f1665f5c
DK
28650 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
28651 (undistribute_ops_list): Assign unique IDs to oecounts.
28652 (init_reassoc): reset next_operand_entry_id.
28653
f638261a
DK
286542010-04-16 Doug Kwan <dougkwan@google.com>
28655
28656 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
28657 missing left parenthesis.
e96ccb30 28658
4a81b412
UB
286592010-04-16 Uros Bizjak <ubizjak@gmail.com>
28660
28661 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
28662 *btdi_rex64 using SWI48 mode iterator.
28663 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
28664 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
28665 *jcc_btdi_mask_rex64.
28666
9d4d1f8e
AS
286672010-04-16 Anatoly Sokolov <aesok@post.ru>
28668
28669 * double-int.h (tree_to_double_int): Convert to macro.
28670 * double-int.c (tree_to_double_int): Remove.
28671
835eb810
JJ
286722010-04-16 Jakub Jelinek <jakub@redhat.com>
28673
28674 PR debug/43762
28675 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
28676 with want_address 2 and in case a single element list might be
28677 possible, call it again with want_address 0.
28678
286792010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
db624ecb 28680
0f6b820c
KP
28681 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
28682 case 'W' print operands for HI mode.
28683 * config/h8300/h8300.h (Y0, Y2) : New constraints.
28684 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
28685 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
28686 * config/h8300/predicate.md (bit_register_indirect_operand): New.
28687
a7494d9e
KP
28688 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
28689
e96ccb30 28690 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
8cb81753
KP
28691 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
28692 #xx:3 and #xx:4 mode.
28693
60744089
KP
28694 * config/h8300/h8300.md (inverted load with HImode dest): Add
28695 support for H8300SX.
28696
db624ecb
KP
28697 * config/h8300/predicate.md (bit_operand): Allow immediate values that
28698 satisfy 'U' constraint.
28699
8ccb78f2
RO
287002010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
28701
e96ccb30 28702 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
8ccb78f2
RO
28703 * configure: Regenerate.
28704 * config.in: Regenerate.
28705 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
28706 works.
28707
bc9c331d
RG
287082010-04-16 Richard Guenther <rguenther@suse.de>
28709
28710 * tree.h (struct tree_decl_minimal): Move pt_uid ...
28711 (struct tree_decl_common): ... here.
28712 (DECL_PT_UID): Adjust.
28713 (SET_DECL_PT_UID): Likewise.
28714 (DECL_PT_UID_SET_P): Likewise.
28715
12de6355
RG
287162010-04-16 Richard Guenther <rguenther@suse.de>
28717
28718 PR tree-optimization/43572
28719 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
28720 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
28721 * tree-flow.h (is_call_clobbered): Remove.
28722 * tree-flow-inline.h (is_call_clobbered): Likewise.
28723 * tree-dfa.c (dump_variable): Do not dump call clobber state.
28724 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
28725 (execute_return_slot_opt): Adjust.
28726 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
28727 check for call clobbered vars here.
28728 (find_tail_calls): Move tailcall verification to the
28729 proper place.
28730
6ab643b5
DN
287312010-04-16 Diego Novillo <dnovillo@google.com>
28732
e96ccb30 28733 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
6ab643b5 28734
f0c6475a
BS
287352010-04-16 Bernd Schmidt <bernds@codesourcery.com>
28736
28737 PR target/40603
28738 * config/arm/arm.md (cbranchqi4): New pattern.
28739 * config/arm/predicates.md (const0_operand,
28740 cbranchqi4_comparison_operator): New predicates.
28741
f0107145
RG
287422010-04-16 Richard Guenther <rguenther@suse.de>
28743
28744 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
28745 (dump_gimple_stmt): Likewise.
28746
f0c6475a 287472010-04-16 Bernd Schmidt <bernds@codesourcery.com>
6ddfdb0f
BS
28748
28749 * recog.h (struct recog_data): New field is_operator.
28750 (struct insn_operand_data): New field is_operator.
28751 * recog.c (extract_insn): Set recog_data.is_operator.
28752 * genoutput.c (output_operand_data): Emit code to set the
28753 is_operator field.
28754 * reload.c (find_reloads): Use it rather than testing for an
28755 empty constraint string.
28756
6ea007e4
BS
28757 PR target/41514
28758 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
28759 If the previous insn is a cbranchsi4_insn with the same arguments,
28760 omit the compare instruction.
28761
3302cfa1
BS
28762 * config/arm/arm.md (addsi3_cbranch): If destination is a high
28763 register, inputs must be low registers and we need a low register
28764 scratch. Handle alternative 2 like alternative 3.
28765
5312b066
JJ
287662010-04-16 Jakub Jelinek <jakub@redhat.com>
28767
28768 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
28769 don't call get_addr on both. If one expression is a VALUE and
28770 the other a REG, check VALUE's locs if the REG isn't among them.
28771
7a296495
CB
287722010-04-16 Christian Bruel <christian.bruel@st.com>
28773
28774 * config/sh/sh.h (sh_frame_pointer_required): New function.
28775 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
28776 (flag_omit_frame_pointer) Set.
28777 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
28778 (rounded_frame_size): Adjust size with outgoing_args_size.
28779 (sh_set_return_address): Must return from stack pointer.
eed023cc 28780 * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
7a296495
CB
28781 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
28782 (ACCUMULATE_OUTGOING_ARGS): Define.
28783 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
eed023cc 28784 * config/sh/sh.opt (maccumulate-outgoing-args): New option.
7a296495 28785
7140f0f9
KK
287862010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
28787
28788 PR target/43471
28789 * config/sh/sh.c (sh_legitimize_reload_address): Use
28790 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
28791 Remove a unneeded check for offset_base.
28792
bafaef55
L
287932010-04-15 H.J. Lu <hongjiu.lu@intel.com>
28794
28795 * configure: Regenerated.
28796
e8de8fea
AK
287972010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
28798
28799 * config/s390/s390.c (s390_call_save_register_used): Switch back
28800 to HARD_REGNO_NREGS.
28801
038a39d1
RG
288022010-04-15 Richard Guenther <rguenther@suse.de>
28803
28804 * alias.c (alias_set_subset_of): Handle alias-set zero
28805 child properly.
28806
28907f9a
MS
288072010-04-15 Mark Shinwell <shinwell@codesourcery.com>
28808 Julian Brown <julian@codesourcery.com>
28809
28810 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
28811 alternatives according to use of high and low regs.
28812 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
28813 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
28814 optimizing for size on Thumb-2.
28815
3f56ef8b
TS
288162010-04-15 Thomas Schwinge <tschwinge@gnu.org>
28817
28818 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
28819
25a6a873
RG
288202010-04-15 Richard Guenther <rguenther@suse.de>
28821
28822 * tree-ssa-structalias.c (struct variable_info): Add
28823 is_fn_info flag.
28824 (new_var_info): Initialize it.
28825 (dump_constraints): Support printing last added constraints.
28826 (debug_constraints): Adjust.
28827 (dump_constraint_graph): Likewise.
28828 (make_heapvar_for): Check for NULL cfun.
28829 (get_function_part_constraint): New function.
28830 (get_fi_for_callee): Likewise.
28831 (find_func_aliases): Properly implement IPA PTA constraints.
28832 (process_ipa_clobber): New function.
28833 (find_func_clobbers): Likewise.
28834 (insert_into_field_list_sorted): Remove.
28835 (create_function_info_for): Properly allocate vars for IPA mode.
28836 Do not use insert_into_field_list_sorted.
28837 (create_variable_info_for): Properly generate constraints for
28838 global vars in IPA mode.
28839 (dump_solution_for_var): Always dump the solution.
28840 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
28841 (find_what_var_points_to): Adjust.
28842 (pt_solution_set): Change.
28843 (pt_solution_ior_into): New function.
28844 (pt_solution_empty_p): Export.
28845 (pt_solution_includes_global): Adjust.
28846 (pt_solution_includes_1): Likewise.
28847 (pt_solutions_intersect_1): Likewise.
28848 (dump_sa_points_to_info): Check some invariants.
28849 (solve_constraints): Move constraint dumping ...
28850 (compute_points_to_sets): ... here.
28851 (ipa_pta_execute): ... and here.
28852 (compute_may_aliases): Do not re-compute points-to info
28853 locally if IPA info is available.
28854 (ipa_escaped_pt): New global var.
28855 (ipa_pta_execute): Properly implement IPA PTA.
28856 * tree-into-ssa.c (dump_decl_set): Support dumping
28857 decls not in referenced-vars.
28858 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
28859 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
28860 (dump_points_to_solution): Likewise.
28861 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
28862 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
e96ccb30 28863 (remap_gimple_stmt): Reset call clobber/use information if necessary.
25a6a873
RG
28864 (copy_decl_to_var): Copy DECL_PT_UID.
28865 (copy_result_decl_to_var): Likewise.
28866 * tree.c (make_node_stat): Initialize DECL_PT_UID.
28867 (copy_node_stat): Copy it.
28868 * tree.h (DECL_PT_UID): New macro.
28869 (SET_DECL_PT_UID): Likewise.
28870 (DECL_PT_UID_SET_P): Likewise.
28871 (struct tree_decl_minimal): Add pt_uid member.
28872 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
28873 (pt_solution_empty_p): Declare.
28874 (pt_solution_set): Adjust.
28875 (ipa_escaped_pt): Declare.
28876 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
28877 * gimple-pretty-print.c (pp_points_to_solution): New function.
28878 (dump_gimple_call): Dump call clobber/use information.
28879 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
28880 * tree-pass.h (TDF_ALIAS): New dump option.
28881 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
28882 * doc/invoke.texi (-fipa-pta): Update documentation.
28883
cbdd87d4
RG
288842010-04-15 Richard Guenther <rguenther@suse.de>
28885
28886 * Makefile.in (OBJS-common): Add gimple-fold.o.
28887 (gimple-fold.o): New rule.
28888 * tree.h (maybe_fold_offset_to_reference,
28889 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
28890 prototypes ...
28891 * gimple.h: ... here.
28892 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
28893 may_propagate_address_into_dereference): Move prototypes ...
28894 * gimple.h: ... here.
28895 * tree-ssa-ccp.c (get_symbol_constant_value,
28896 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
28897 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
28898 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
28899 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
28900 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
28901 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
28902 gimplify_and_update_call_from_tree): Move ...
28903 * gimple-fold.c: ... here. New file.
28904 (ccp_fold_builtin): Rename to ...
28905 (gimple_fold_builtin): ... this.
28906 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
28907
330db1e3
RG
289082010-04-15 Richard Guenther <rguenther@suse.de>
28909
28910 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
28911 fit_double_type, force_fit_type_double, add_double_with_sign,
28912 neg_double, mul_double_with_sign, lshift_double, rshift_double,
28913 lrotate_double, rrotate_double, div_and_round_double): Move ...
28914 * double-int.c: ... here.
28915 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
28916 add_double, neg_double, mul_double_with_sign, mul_double,
28917 lshift_double, rshift_double, lrotate_double, rrotate_double,
28918 div_and_round_double): Move prototypes ...
28919 * double-int.h: ... here.
28920
f0c6475a 289212010-04-15 Bernd Schmidt <bernds@codesourcery.com>
077668e3
BS
28922
28923 PR target/43742
28924 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
28925 matching constraints to ensure inputs match the output.
28926
fa66fc40
KK
289272010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
28928
28929 PR target/43742
28930 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
e96ccb30 28931 in an input-only operand.
fa66fc40 28932
2bd1333d
AS
289332010-04-15 Anatoly Sokolov <aesok@post.ru>
28934
28935 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
28936 (double_int_not, double_int_lshift, double_int_rshift): Declare.
28937 (double_int_negative_p): Convert to static inline function.
74ca3393 28938 * double-int.c (double_int_lshift, double_int_lshift): New functions.
2bd1333d 28939 (double_int_negative_p): Remove.
e96ccb30 28940 * tree.h (lshift_double, rshift_double):
2bd1333d
AS
28941 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
28942 * fold-const.c (fold_convert_const_int_from_real,
28943 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
28944 (lshift_double): Change type of arith argument to bool.
28945 (rshift_double): Change type of arith argument to bool. Correct
28946 comment.
28947 * expmed.c (mask_rtx, lshift_value): (Ditto.).
28948
f0c6475a 289492010-04-14 Bernd Schmidt <bernds@codesourcery.com>
e96ccb30 28950
31ce8a53
BS
28951 PR target/21803
28952 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
28953 at the start and end of the then/else blocks, and omit them from the
28954 conversion.
28955 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
28956 argument; all callers changed. Pass zero to old_insns_match_p instead.
28957 (flow_find_head_matching_sequence): New function.
28958 (old_insns_match_p): Check REG_EH_REGION notes for calls.
28959 * basic-block.h (flow_find_cross_jump,
28960 flow_find_head_matching_sequence): Declare functions.
28961
943f82e7
JM
289622010-04-14 Jason Merrill <jason@redhat.com>
28963
28964 PR c++/36625
28965 * c-common.c (attribute_takes_identifier_p): New fn.
28966 * c-common.h: Declare it.
28967
feeb8c52
UB
289682010-04-14 Uros Bizjak <ubizjak@gmail.com>
28969
28970 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
28971 splitter condition.
28972 (*udivmod<mode>4): Ditto.
28973
4a5528cc
UB
289742010-04-14 Uros Bizjak <ubizjak@gmail.com>
28975
28976 * config/i386/i386.md (maxmin_int): Rename code attribute from
28977 maxminiprefix and update all users.
28978 (maxmin_float): Ditto from maxminfprefix.
28979 (logic): Ditto from logicprefix.
28980 (absneg_mnemonic): Ditto from absnegprefix.
28981 * config/i386/mmx.md: Update all users of maxminiprefix,
4a81b412 28982 maxminfprefix and logicprefix for rename.
4a5528cc
UB
28983 * config/i386/sse.md: Ditto.
28984 * config/i386/sync.md (sync_<code><mode>): Update for
28985 logicprefix rename.
28986
289fcbbd
MLI
289872010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
28988
28989 PR 42966
28990 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
28991 warnings converted to errors.
28992
d58770e7
UB
289932010-04-14 Uros Bizjak <ubizjak@gmail.com>
28994
28995 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
28996 used insn_type variable.
28997 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
28998 to avoid set-but-not-used warning.
28999
a3f1cee4
UB
290002010-04-14 Uros Bizjak <ubizjak@gmail.com>
29001
29002 * df-core.c (df_ref_debug): Change format string placeholder
29003 from 0x%x to %#x.
29004 * dwarf2asm.c (dw2_asm_output_data_raw,
29005 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
29006 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
29007 * dwarf2out.c (output_cfi, output_cfi_directive,
29008 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
29009 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
29010 Ditto.
29011 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
29012 * print-rtl.c (print_rtx): Ditto.
29013
3eb4dbe3
MM
290142010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
29015
29016 PR middle-end/42694
29017 * builtins.c (expand_builtin_pow_root): New function to expand pow
29018 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
29019 series of sqrt and cbrt calls under -ffast-math.
29020 (expand_builtin_pow): Call it.
29021
fc249fe5
MM
290222010-04-14 Michael Matz <matz@suse.de>
29023
29024 PR tree-optimization/42963
29025 * tree-cfg.c (touched_switch_bbs): New static variable.
29026 (group_case_labels_stmt): New function broken out from ...
29027 (group_case_labels): ... here, use the above.
29028 (start_recording_case_labels): Allocate touched_switch_bbs.
29029 (end_recording_case_labels): Deallocate it, call
29030 group_case_labels_stmt.
29031 (gimple_redirect_edge_and_branch): Remember index of affected BB.
29032
0fcbf3ed
UB
290332010-04-14 Uros Bizjak <ubizjak@gmail.com>
29034
29035 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
29036 from insn template.
29037
3f529c2c
UB
290382010-04-14 Uros Bizjak <ubizjak@gmail.com>
29039
29040 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
29041
1ce18dc8
JH
290422010-04-13 Jan Hubicka <jh@suse.cz>
29043
29044 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
29045 of optimized out static functions.
29046 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
29047 cost computation. Also sanity check for overflows.
29048 (update_caller_keys): Update cgraph_edge_badness call; properly
29049 update fibheap and sanity check that it is up to date.
29050 (add_new_edges_to_heap): Update cgraph_edge_badness.
29051 (cgraph_decide_inlining_of_small_function): Likewise;
29052 add sanity checking that badness in heap is up to date;
29053 improve dumping of reason; Update badness of calls to the
29054 offline copy of function currently inlined; dump badness
29055 of functions not inlined because of unit growth limits.
29056
9e9ef331
EB
290572010-04-13 Eric Botcazou <ebotcazou@adacore.com>
29058
29059 PR middle-end/32628
29060 * c-common.c (pointer_int_sum): Disregard overflow that occured only
29061 because of sign-extension change when converting to sizetype here...
29062 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
29063
29064 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
29065 the folding to constants. Remove redundant final conversion.
29066 (fold_binary) <associate>: Do not associate if the re-association of
29067 constants alone overflows.
29068 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
29069 to the end of the list.
29070 (multiple_of_p) <COND_EXPR>: New case.
29071
9db94baa
MLI
290722010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
29073
29074 * opt-functions.awk (opt_sanitized_name): New.
29075 (opt_enum): New.
29076 * optc-gen.awk: Use it
29077 * opth-gen.awk: Use it.
29078
0f2ffb9a
MJ
290792010-04-13 Martin Jambor <mjambor@suse.cz>
29080
29081 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
29082 (sra_modify_assign): Delete stmts loading dead data even if racc has no
29083 children. Call replace_uses_with_default_def_ssa_name to handle
29084 SSA_NAES on lhs.
29085
f78b86c0
MM
290862010-04-13 Michael Matz <matz@suse.de>
29087
29088 PR middle-end/43730
29089 * builtins.c (expand_builtin_interclass_mathfn): Also create
29090 a register if the predicate doesn't match.
29091
0e6229c2
DN
290922010-04-13 Diego Novillo <dnovillo@google.com>
29093
29094 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
29095 * c-pch.c: Include timevar.h.
29096 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
3f529c2c 29097 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
0e6229c2 29098 * ggc-common.c: Include timevar.h.
3f529c2c 29099 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
0e6229c2
DN
29100 * timevar.def (TV_PCH_SAVE): Define.
29101 (TV_PCH_CPP_SAVE): Define.
29102 (TV_PCH_PTR_REALLOC): Define.
29103 (TV_PCH_PTR_SORT): Define.
29104 (TV_PCH_RESTORE): Define.
29105 (TV_PCH_CPP_RESTORE): Define.
29106
143597ff
MM
291072010-04-13 Michael Matz <matz@suse.de>
29108
29109 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
29110 into MINUS_EXPRs.
29111 (can_reassociate_p): New function.
29112 (break_up_subtract_bb, reassociate_bb): Use it.
29113
54c5ec4f
RG
291142010-04-13 Richard Guenther <rguenther@suse.de>
29115
29116 PR bootstrap/43737
29117 * builtins.c (c_readstr): Fix assert.
29118
719938ae
UB
291192010-04-13 Uros Bizjak <ubizjak@gmail.com>
29120
29121 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
29122 when generating cltd insn.
29123
29124 (*ashl<mode>3_1): Remove special handling for register operand 2.
29125 (*ashlsi3_1_zext): Ditto.
29126 (*ashlhi3_1): Ditto.
29127 (*ashlhi3_1_lea): Ditto.
29128 (*ashlqi3_1): Ditto.
29129 (*ashlqi3_1_lea): Ditto.
29130 (*<shiftrt_insn><mode>3_1): Ditto.
29131 (*<shiftrt_insn>si3_1_zext): Ditto.
29132 (*<shiftrt_insn>qi3_1_slp): Ditto.
29133 (*<rotate_insn><mode>3_1): Ditto.
29134 (*<rotate_insn>si3_1_zext): Ditto.
29135 (*<rotate_insn>qi3_1_slp): Ditto.
29136
3e8542ca
RG
291372010-04-13 Richard Guenther <rguenther@suse.de>
29138
29139 * tree-ssa-structalias.c (callused_id): Remove.
29140 (call_stmt_vars): New.
29141 (get_call_vi): Likewise.
29142 (lookup_call_use_vi): Likewise.
29143 (lookup_call_clobber_vi): Likewise.
29144 (get_call_use_vi): Likewise.
29145 (get_call_clobber_vi): Likewise.
29146 (make_transitive_closure_constraints): Likewise.
29147 (handle_const_call): Adjust to do per-call call-used handling.
29148 (handle_pure_call): Likewise.
29149 (find_what_var_points_to): Remove general callused handling.
29150 (init_base_vars): Likewise.
29151 (init_alias_vars): Initialize call_stmt_vars.
29152 (compute_points_to_sets): Process call-used and call-clobbered
29153 vars for call statements.
29154 (delete_points_to_sets): Free call_stmt_vars.
29155
777e1f09
RG
291562010-04-13 Richard Guenther <rguenther@suse.de>
29157
29158 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
29159 Only add RW dependence for dependence distance zero.
29160 Adjust maximal vectorization factor according to dependences.
29161 Move alignment handling ...
29162 (vect_find_same_alignment_drs): ... here. New function.
29163 (vect_analyze_data_ref_dependences): Adjust.
29164 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
29165 (vect_analyze_data_refs): Adjust minimal vectorization factor
29166 according to data references.
29167 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
29168 dependences before determining the vectorization factor.
29169 Analyze alignment after determining the vectorization factor.
29170 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
29171 dependences before alignment.
29172 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
29173 Adjust prototype.
29174 (vect_analyze_data_refs): Likewise.
29175 (MAX_VECTORIZATION_FACTOR): New define.
29176
1a710808
DS
291772010-04-13 Duncan Sands <baldrick@free.fr>
29178
29179 * except.h (lang_eh_type_covers): Remove.
29180 * except.c (lang_eh_type_covers): Likewise.
29181
9602b6a1 291822010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3f529c2c
UB
29183 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
29184
eed023cc
EB
29185 * config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
29186 * config/s390/s390.c: Replace UNTIS_PER_WORD with
3f529c2c 29187 UNITS_PER_LONG where it is ABI relevant.
9602b6a1
AK
29188 (s390_return_addr_rtx): Likewise.
29189 (s390_back_chain_rtx): Likewise.
29190 (s390_frame_area): Likewise.
29191 (s390_frame_info): Likewise.
29192 (s390_initial_elimination_offset): Likewise.
29193 (save_gprs): Likewise.
29194 (s390_emit_prologue): Likewise.
29195 (s390_emit_epilogue): Likewise.
29196 (s390_function_arg_advance): Likewise.
29197 (s390_function_arg): Likewise.
29198 (s390_va_start): Likewise.
29199 (s390_gimplify_va_arg): Likewise.
29200 (s390_function_profiler): Likewise.
29201 (s390_optimize_prologue): Likewise.
29202 (s390_rtx_costs): Likewise.
29203 (s390_secondary_reload): Likewise.
29204 (s390_promote_function_mode): Likewise.
29205 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
29206 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
29207 registers available.
29208 (s390_unwind_word_mode): New function.
29209 (s390_function_value): Split 64 bit values into register pair if
29210 used as return value.
29211 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
29212 function call parameters. Handle parallels.
29213 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
29214 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
29215 (DWARF_CIE_DATA_ALIGNMENT): New macro.
29216 (s390_expand_setmem): Remove unused variable src_addr.
eed023cc 29217 * longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
3f529c2c 29218 deal with 64 bit registers.
eed023cc 29219 * config/s390/s390.h: Define __zarch__ predefined macro.
9602b6a1
AK
29220 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
29221 (UNITS_PER_LONG): New macro.
29222 * libjava/include/s390-signal.h: Define extended ucontext
29223 structure containing the upper halfs of the 64 bit registers.
29224
3b123595
SB
292252010-04-13 Simon Baldwin <simonb@google.com>
29226
29227 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
29228
cb3d597d
EB
292292010-04-13 Eric Botcazou <ebotcazou@adacore.com>
29230
29231 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
29232 rvalue on the RHS if the LHS is of a non-renamable type.
29233 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
29234
4adbd5dd
MK
292352010-04-13 Matthias Klose <doko@ubuntu.com>
29236
29237 * gcc.c (cc1_options): Handle -iplugindir before processing
29238 the cc1 spec. Only add -iplugindir once.
29239 (cpp_unique_options): Add -iplugindir option if -fplugin* options
29240 found.
29241 * common.opt (iplugindir): Remove `Separate' property, initialize.
29242 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
29243 option.
29244 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
29245 (distclean): Remove plugin dir.
29246 * doc/invoke.texi: Document -iplugindir.
29247
292482010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
29249
29250 * doc/plugins.texi (Loading Plugins): Document short
29251 -fplugin=foo option.
29252 (Plugin API): Mention default_plugin_dir_name function.
29253
29254 * gcc.c (find_file_spec_function): Add new declaration.
29255 (static_spec_func): Use it for "find-file".
29256 (find_file_spec_function): Add new function.
29257 (cc1_options): Add -iplugindir option if -fplugin* options found.
29258
29259 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
29260
29261 * plugin.c (add_new_plugin): Updated comment, and handle short
29262 plugin name.
29263 (default_plugin_dir_name): Added new function.
29264
719938ae 29265 * common.opt (iplugindir): New option to set the plugin directory.
4adbd5dd 29266
e0db9cc6
UB
292672010-04-12 Uros Bizjak <ubizjak@gmail.com>
29268
29269 * config/i386/i386.md (any_rotate): New code iterator.
29270 (rotate_insn): New code attribute.
29271 (rotate): Ditto.
29272 (SWIM124): New mode iterator.
29273 (<rotate_insn>ti3): New expander.
29274 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
29275 any_rotate code iterator.
29276 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
29277 using any_rotate code iterator and SWIM124 mode iterator.
29278 (ix86_rotlti3): New insn_and_split pattern.
29279 (ix86_rotrti3): Ditto.
29280 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
29281 ix86_rotl{di,ti}3 patterns.
29282 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
29283 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
29284 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
29285 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
29286 code iterator and SWI mode iterator.
29287 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
29288 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
29289 code iterator.
29290 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
29291 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
29292 (bswap rotatert splitter): Add splitter.
29293 (bswap splitter): Macroize splitter using any_rotate code iterator.
29294 Add insn predicate to split only for TARGET_USE_XCHGB or when
29295 optimizing function for size.
29296
077c8ada
SE
292972010-04-12 Steve Ellcey <sje@cup.hp.com>
29298
29299 * config/pa/pa.c (emit_move_sequence): Remove use of
29300 deleted variable flag_argument_noalias.
29301
c7392d11
RO
293022010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29303
29304 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
29305 configurations.
29306 Add to unsupported targets list.
29307 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
29308 sparc*-sun-solaris2.[567]* from target lists.
29309 * configure: Regenerate.
29310 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
29311 removal.
29312 Remove Solaris 7 patch references.
29313 (Specific, sparc-sun-solaris2.7): Removed.
29314 (sparc-sun-solaris2*): Update Solaris 7 example.
29315 (sparc64-*-solaris2*): Likewise.
29316
8c200350
RO
293172010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29318
29319 * config.build (alpha*-dec-osf4*): Remove.
29320 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
29321 of obsolete configurations.
29322 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
29323 support.
29324 * config/alpha/t-osf4: Renamed to ...
29325 * config/alpha/t-osf5: ... this.
29326 * config/alpha/osf.h: Renamed to ...
29327 * config/alpha/osf5.h: ... this.
29328 Merged old osf5.h contents.
29329 Update comments.
29330 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
29331 (EXTRA_SPECS): Removed.
29332 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
29333 reflect removal of Tru64 UNIX V4.0/V5.0 support.
29334 Document that.
29335
887204da
RO
293362010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29337
29338 * doc/contrib.texi (Contributors, Rainer Orth): Update.
29339
c1b8e139
KT
293402010-04-12 Kai Tietz <kai.tietz@onevision.com>
29341
29342 PR/43702
29343 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
29344 __thiscall convention.
29345
b38bccca
SE
293462010-04-12 Steve Ellcey <sje@cup.hp.com>
29347
29348 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
29349 orig_base.
29350 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
29351
fc2f1f53
SE
293522010-04-12 Steve Ellcey <sje@cup.hp.com>
29353
29354 * function.c (assign_parms_initialize_all): Add unused attribute
29355 to fntype.
29356
d086d311
RG
293572010-04-12 Richard Guenther <rguenther@suse.de>
29358
29359 * gsstruct.def (GSS_CALL): New.
29360 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
29361 * gimple.h: Include tree-ssa-alias.h.
29362 (struct gimple_statement_call): New.
29363 (union gimple_statement_struct_d): Add gimple_call member.
29364 (gimple_call_reset_alias_info): Declare.
29365 (gimple_call_use_set): New function.
29366 (gimple_call_clobber_set): Likewise.
29367 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
29368 * gimple.c (gimple_call_reset_alias_info): New function.
29369 (gimple_build_call_1): Call it.
29370 * lto-streamer-in.c (input_gimple_stmt): Likewise.
29371 * tree-inline.c (remap_gimple_stmt): Likewise.
29372 (expand_call_inline): Remove callused handling.
29373 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
29374 * tree-dfa.c (dump_variable): Likewise.
29375 * tree-parloops.c (parallelize_loops): Likewise.
29376 * tree-ssa.c (init_tree_ssa): Likewise.
29377 (delete_tree_ssa): Likewise.
29378 * tree-flow-inline.h (is_call_used): Remove.
29379 * tree-flow.h (struct gimple_df): Remove callused member.
29380 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
29381 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
29382 (ref_maybe_used_by_call_p_1): Simplify.
29383 (call_may_clobber_ref_p_1): Likewise.
29384 * tree-ssa-structalias.c (compute_points_to_sets): Set
29385 the call stmt used and clobbered sets.
29386 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
29387 (find_tail_calls): Verify the tail call.
29388
af961c7f
RG
293892010-04-12 Richard Guenther <rguenther@suse.de>
29390
29391 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
29392 single-iteration always-inline inlining.
29393 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
e0db9cc6 29394 (cgraph_decide_inlining): Do not handle always-inline specially.
af961c7f
RG
29395 (try_inline): Remove always-inline cycle detection special case.
29396 Do not recurse on always-inlines.
29397 (cgraph_early_inlining): Do not iterate if not optimizing.
29398 (cgraph_gate_early_inlining): remove.
29399 (pass_early_inline): Run unconditionally.
29400 (gate_cgraph_decide_inlining): New function.
29401 (pass_ipa_inline): Use it. Do not run the IPA inliner if
29402 not inlining or optimizing.
29403 (cgraph_decide_inlining_of_small_functions): Also consider
29404 always-inline functions.
29405 (cgraph_default_inline_p): Return true for nodes which should
29406 disregard inline limits.
29407 (estimate_function_body_sizes): Assume zero size and time for
29408 nodes which are marked as disregarding inline limits.
29409 (cgraph_decide_recursive_inlining): Do not perform recursive
29410 inlining on always-inline nodes.
29411
fa8351f8
JJ
294122010-04-12 Jakub Jelinek <jakub@redhat.com>
29413
29414 PR bootstrap/43699
29415 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
29416 for exprs satisfying handled_component_p.
29417
675c873b
EB
294182010-04-12 Eric Botcazou <ebotcazou@adacore.com>
29419
29420 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
29421 non-constant aggregate elements.
29422
29423 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
29424 is a real initialization.
29425
c4712597
SZ
294262010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
29427
29428 PR c/36774
29429 * c-decl.c (start_function): Move forward check for nested function.
29430
6f50eb9c
KK
294312010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
29432
29433 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
29434 * config/sh/sh.c: Include reload.h.
29435 (sh_legitimize_reload_address): New.
29436 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
29437 sh_legitimize_reload_address.
29438
c11c09f9
KP
294392010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
29440
29441 * config/sh/sh.md (*movqi_pop): New insn pattern.
29442 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
29443
d72ebc16
UB
294442010-04-11 Uros Bizjak <ubizjak@gmail.com>
29445
29446 * config/i386/i386.md (any_shiftrt): New code iterator.
29447 (shiftrt_insn): New code attribute.
29448 (shiftrt): Ditto.
e0db9cc6
UB
29449 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
29450 using any_shiftrt code iterator.
d72ebc16 29451 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
e0db9cc6 29452 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
d72ebc16
UB
29453 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
29454 pattern from corresponding peephole2 patterns.
e0db9cc6
UB
29455 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
29456 using any_shiftrt code iterator.
29457 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
29458 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
29459 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
29460 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
29461 *{ashr,lshr}<mode>3_cmp_zext.
29462 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
d72ebc16 29463
59caab22
UB
294642010-04-11 Uros Bizjak <ubizjak@gmail.com>
29465
29466 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
29467 scratch register.
29468 (*lshr<mode>3_cconly): Ditto.
29469
9200ac72
UB
294702010-04-11 Uros Bizjak <ubizjak@gmail.com>
29471
29472 * config/i386/i386.md (lshr<mode>3): Macroize expander from
29473 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
29474 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
29475 pattern from *lshr{di,ti}3_1 and corresponding splitters using
29476 DWI mode iterator.
29477 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
29478 from corresponding peephole2 patterns.
29479 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
29480 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
29481 and *lshrdi3_1_rex64 using SWI mode iterator.
d72ebc16 29482 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
9200ac72
UB
29483 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
29484 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
29485 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
29486 and *lshrdi3_cmp_rex64 using SWI mode iterator.
29487 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
29488 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
29489 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
29490 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
29491 SWI mode iterator.
29492
27431d88
UB
294932010-04-10 Uros Bizjak <ubizjak@gmail.com>
29494
29495 * config/i386/i386.md (ashr<mode>3): Macroize expander from
29496 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
29497 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
29498 pattern from *ashr{di,ti}3_1 and corresponding splitters using
29499 DWI mode iterator.
29500 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
29501 from corresponding peephole2 patterns.
29502 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
29503 (ashrsi3_cvt): Rename from ashrsi3_31.
29504 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
29505 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
29506 and x86_64_shift_adj_3 using SWI48 mode iterator.
29507 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
29508 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
29509 and *ashrdi3_1_rex64 using SWI mode iterator.
d72ebc16 29510 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
27431d88
UB
29511 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
29512 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
29513 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
29514 and *ashrdi3_cmp_rex64 using SWI mode iterator.
29515 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
29516 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
29517 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
29518 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
29519 SWI mode iterator.
59caab22 29520 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
27431d88 29521 * config/i386/i386.c (ix86_split_ashr): Update for renamed
9200ac72 29522 x86_shift<mode>_adj_3 expanders.
27431d88 29523
85c9bcd4
WG
295242010-04-10 Wei Guozhi <carrot@google.com>
29525
29526 PR target/42601
29527 * config/arm/arm.c (arm_pic_static_addr): New function.
29528 (legitimize_pic_address): Call arm_pic_static_addr when it detects
29529 a static symbol.
29530 (arm_output_addr_const_extra): Output expression for new pattern.
29531 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
29532
f0c6475a 295332010-04-10 Bernd Schmidt <bernds@codesourcery.com>
979740a0
BS
29534
29535 * ira-costs.c (record_reg_classes): Ignore alternatives that are
29536 not enabled.
4143fd36
BS
29537
29538 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
29539 * web.c: Include "insn-config.h" and "recog.h".
29540 (union_match_dups): New function.
29541 (web_main): Call it.
29542 (union_defs): Don't try to recognize match_dups.
29543
52c1d580
BS
29544 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
29545 if doing so would replace the entire pattern.
29546
ef0f4a03
UB
295472010-04-09 Uros Bizjak <ubizjak@gmail.com>
29548
29549 PR target/43707
29550 PR target/43709
29551 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
29552 and splitter pattern. Change splitter operand 1 predicate to
29553 nonmemory_operand.
29554
add5d998
MJ
295552010-04-09 Martin Jambor <mjambor@suse.cz>
29556
29557 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
29558 lattices are addresses of CONST_DECLs with the same initial value.
29559 (ipcp_print_all_lattices): Print values of CONST_DECLs.
29560 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
29561
43ba743c 295622010-04-09 Eric Botcazou <ebotcazou@adacore.com>
f0c6475a 29563 Bernd Schmidt <bernds@codesourcery.com>
43ba743c
EB
29564
29565 * loop-invariant.c (replace_uses): New static function.
29566 (move_invariant_reg): Use it to ensure we can replace the uses.
29567
295682010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
c3fd7b4d 29569
27431d88
UB
29570 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
29571 function template.
43ba743c 29572 (picochip_override_options): Enable section anchors only above -O1.
c3fd7b4d
HS
29573 (picochip_reorg): Fixed a couple of build warnings.
29574
fcf52686
RO
295752010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29576
29577 * configure.ac (plugin -rdynamic test): Log result.
29578 * configure: Regenerate.
29579 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
29580 (RDYNAMIC_SPEC): Define.
29581 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
29582
55c4f715
RO
295832010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29584
29585 * configure.ac: Determine Sun ld version numbers.
29586 (comdat_group): Restrict GNU ld version checks to gld.
29587 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
29588 (enable_comdat): Support --enable-comdat.
29589 * configure: Regenerate.
29590 * doc/install.texi (Configuration): Document --enable-comdat.
29591
62e08523
RO
295922010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29593
ef0f4a03 29594 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
62e08523
RO
29595 * config/sol2-gld.h: ... here.
29596 * config.gcc (sparc*-*-solaris2*): Reflect this.
29597 (i[34567]86-*-solaris2*): Use it.
29598
034288ef
SE
295992010-04-09 Steve Ellcey <sje@cup.hp.com>
29600
29601 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
29602 setup_clocks_p.
29603 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
29604
d0b8780d
MLI
296052010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
29606
29607 PR 42965
29608 * diagnostic.c (diagnostic_initialize): Initialize
29609 some_warnings_are_errors.
29610 (diagnostic_finish): New.
29611 (diagnostic_action_after_output): Call it before exiting.
29612 (diagnostic_report_diagnostic): Do not print message here. Set
29613 some_warnings_are_errors.
29614 * diagnostic.h (diagnostic_context): Delete
29615 issue_warnings_are_errors_message. Add some_warnings_are_errors.
29616 (diagnostic_finish): Declare.
29617 * toplev.c (toplev_main): Call it before exit.
29618
93e9807a
JM
296192010-04-09 Jason Merrill <jason@redhat.com>
29620
cb6addf4
JM
29621 PR c++/42623
29622 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
29623 for incomplete type.
29624
93e9807a
JM
29625 PR c++/41788
29626 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
29627 based on a warning flag.
29628
74367220
RG
296292010-04-09 Richard Guenther <rguenther@suse.de>
29630
43ba743c 29631 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
74367220 29632
8351bca7
IS
296332010-04-09 Iain Sandoe <iains@gcc.gnu.org>
29634
29635 PR bootstrap/43684
ef0f4a03 29636 * varasm.c (default_assemble_visibility): Wrap vars that are
8351bca7 29637 set, but unused, by targets without GAS.
ade52657 29638 * config/rs6000/rs6000.c (paired_emit_vector_compare):
8351bca7
IS
29639 Remove set, but unused, vars.
29640 (rs6000_legitimize_tls_address): Likewise.
29641 (altivec_expand_dst_builtin): Likewise.
29642 * config/darwin.c (machopic_classify_symbol): Likewise.
29643 (machopic_indirection_name): Likewise.
ef0f4a03 29644
014753cc
UB
296452010-04-09 Uros Bizjak <ubizjak@gmail.com>
29646
29647 * config/i386/i386.md (DWI): New mode iterator.
29648 (S): New mode attribute.
29649 (shift_operand): Ditto.
29650 (shift_immediate_operand): Ditto.
29651 (ashl_input_operand): Ditto.
29652 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
29653 using SDWIM mode iterator.
29654 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
29655 pattern from *ashl{di,ti}3_1 and corresponding splitters using
29656 DWI mode iterator.
29657 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
29658 from corresponding peephole2 patterns.
29659 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
29660 and x86_64_shift_adj_1 using SWI48 mode iterator.
29661 (x86_shift<mode>_adj_2): Ditto.
29662 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
29663 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
29664 using SWI48 mode iterator.
29665 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
29666 *ashldi3_cmp_rex64 using SWI mode iterator.
29667 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
29668 *ashldi3_cconly_rex64 using SWI mode iterator.
29669 * config/i386/i386.c (ix86_split_ashl): Update for renamed
29670 x86_shift<mode>_adj_{1,2}.
29671 (ix86_split_ashr): Ditto.
29672 (ix86_split_lshr): Ditto.
29673
88dd7150
RG
296742010-04-09 Richard Guenther <rguenther@suse.de>
29675
29676 * target.h (builtin_conversion): Pass in input and output types.
29677 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
29678 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
29679 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
29680 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
29681
29682 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
29683 Handle AVX modes.
29684 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
29685
3f2060fd
RG
296862010-04-09 Richard Guenther <rguenther@suse.de>
29687
29688 PR target/43152
29689 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
29690
b690cc0f
RG
296912010-04-09 Richard Guenther <rguenther@suse.de>
29692
29693 * tree-vectorizer.h (struct _stmt_vec_info): Document
29694 that vectype is the type of the LHS.
59caab22 29695 (supportable_widening_operation, supportable_narrowing_operation):
b690cc0f
RG
29696 Get both input and output vector types as arguments.
29697 (vect_is_simple_use_1): Declare.
29698 (get_same_sized_vectype): Likewise.
29699 * tree-vect-loop.c (vect_determine_vectorization_factor):
29700 Set STMT_VINFO_VECTYPE to the vector type of the def.
29701 (vectorizable_reduction): Adjust.
29702 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
29703 Adjust. Specify the output vector type.
29704 (vect_pattern_recog_1): Adjust.
29705 * tree-vect-stmts.c (get_same_sized_vectype): New function.
29706 (vectorizable_call): Adjust.
29707 (vectorizable_conversion): Likewise.
29708 (vectorizable_operation): Likewise.
29709 (vectorizable_type_demotion): Likewise.
29710 (vectorizable_type_promotion): Likewise.
29711 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
29712 the def.
29713 (vect_is_simple_use_1): New function.
29714 (supportable_widening_operation): Get both input and output
29715 vector types.
29716 (supportable_narrowing_operation): Likewise.
29717 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
29718
3e65f251
KT
297192010-04-09 Kai Tietz <kai.tietz@onevision.com>
29720
29721 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
29722 __thiscall and _thiscall as predefined macros.
29723 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
29724 thiscall attribute handling.
29725 (ix86_comp_type_attributes): Likewise.
29726 (ix86_function_regparm): Likewise.
29727 (ix86_return_pops_args): Likewise.
29728 (init_cumulative_args): Likewise.
29729 (find_drap_reg): Likewise.
29730 (ix86_static_chain): Likewise.
29731 (x86_this_parameter): Likewise.
29732 (x86_output_mi_thunk): Likewise.
29733 (ix86_attribute_table): Add description for thiscall attribute.
014753cc 29734 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
3e65f251 29735 * doc/extend.texi: Add documentation for thiscall.
27431d88 29736
dc8d2739
MLI
297372010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
29738
29739 PR c++/28584
29740 * c.opt (Wint-to-pointer-cast): Available in C++.
29741 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
29742
d47d0a8d
EB
297432010-04-08 Eric Botcazou <ebotcazou@adacore.com>
29744
29745 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
29746 * calls.c (expand_call): Pass the function type to aggregate_value_p.
29747 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
29748 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
29749 function type instead. Reorder and simplify checks.
29750
29751 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
29752
dc5ee869
JY
297532010-04-08 Jing Yu <jingyu@google.com>
29754 Zdenek Dvorak <ook@ucw.cz>
29755
29756 PR tree-optimization/42720
29757 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
014753cc
UB
29758 loop unswitch conditions here from ...
29759 (tree_unswitch_single_loop): ... here.
dc5ee869 29760
98c07c54
SP
297612010-04-08 Sebastian Pop <sebastian.pop@amd.com>
29762
29763 * tree-if-conv.c: Fix comments and simplify logic.
29764
6cbcfa9d
SP
297652010-04-08 Sebastian Pop <sebastian.pop@amd.com>
29766
29767 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
29768 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
29769 (main_tree_if_conversion): Update call to tree_if_conversion.
29770
1401cf37
MLI
297712010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
29772
29773 PR 42485
29774 * doc/invoke.texi (-b,-V): Delete.
29775 * doc/tm.texi: Do not mention -b.
29776 * gcc.c (display_help): Delete -b and -V.
29777 (process_command): Delete -b and -V.
29778 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
6cbcfa9d 29779
40ac4f73 297802010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
27431d88 29781 Wolfgang Gellerich <gellerich@de.ibm.com>
40ac4f73 29782
014753cc
UB
29783 Implement target hook for loop unrolling
29784 * target.h (loop_unroll_adjust): Add a new target hook function.
29785 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
29786 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
29787 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
29788 (s390_loop_unroll_adjust): Implement the new target hook for s390.
29789 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
29790 target hook.
29791 (decide_unroll_stupid): Likewise.
40ac4f73 29792
07c60ef7
RO
297932010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29794
29795 PR target/43643
29796 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
29797
dd178909
RO
297982010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29799
29800 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
29801 (Specific, *-*-solaris2*): Likewise.
29802 Don't prefer Sun as over GNU as.
29803
cc6ae6a1
WG
298042010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
29805
c46a5e28
EB
29806 * config/s390/s390.c (override_options): Adjust the z10 defaults
29807 for max-unroll-times, max-completely-peeled-insns
29808 and max-completely-peel-times.
cc6ae6a1 29809
adfa3cd3
AK
298102010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
29811
29812 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
29813 instructions for z10.
29814 (s390_expand_setmem): Likewise.
29815 (s390_expand_cmpmem): Likewise.
29816
84ae6d7b
RG
298172010-04-08 Richard Guenther <rguenther@suse.de>
29818
29819 PR tree-optimization/43679
29820 * tree-ssa-pre.c (eliminate): Only propagate copies.
29821
5a905a2b
JJ
298222010-04-08 Jakub Jelinek <jakub@redhat.com>
29823
29824 PR bootstrap/43681
29825 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
29826 set but not used variable warning.
29827
7548c1be
WG
298282010-04-08 Wei Guozhi <carrot@google.com>
29829
29830 PR target/41653
29831 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
29832 (arm_size_rtx_costs): Call the new function when optimized for size.
29833
aa847cc8
JJ
298342010-04-08 Jakub Jelinek <jakub@redhat.com>
29835
29836 PR debug/43670
29837 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
29838 op0 is not a MEM, just return NULL instead of assertion
29839 failure.
29840 (discover_nonconstant_array_refs): Don't walk debug stmts.
29841
1dcc82c2
DK
298422010-04-08 Doug Kwan <dougkwan@google.com>
29843
29844 * configure.ac: Recognize gold and do not use its version number
29845 to test ld features.
29846 * configure: Regenerate.
29847
b0aef8a8
MK
298482010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
29849
29850 PR middle-end/40815
29851 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
29852 (negate_value): Move code to push elements to broken_up_substracts ...
29853 (eliminate_plus_minus_pair): ... here. Push operands that have no
29854 negative pair to plus_negates.
29855 (repropagate_negates, init_reassoc, fini_reassoc): Update.
29856
7a50adb7
RW
298572010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29858
2d413304
RW
29859 * doc/install.texi (Configuration): Move description of
29860 --enable-lto, --with-libelf*, --enable-gold from Java section to
29861 general section.
29862
7a50adb7
RW
29863 * doc/generic.texi (Working with declarations)
29864 (Function Properties, C and C++ Trees): Fix typos.
29865 * doc/sourcebuild.texi (Top Level): Likewise.
29866
60d3aec4
JJ
298672010-04-07 Jakub Jelinek <jakub@redhat.com>
29868
ebfbbdc5
JJ
29869 PR c/18624
29870 * tree.h (DECL_READ_P): Define.
29871 (struct tree_decl_common): Add decl_read_flag.
29872 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
29873 a set but not used warning.
29874 (merge_decls): Merge DECL_READ_P flag.
29875 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
29876 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
29877 * c-common.c (handle_used_attribute, handle_unused_attribute):
29878 Likewise.
29879 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
29880 New prototypes.
29881 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
29882 New functions.
29883 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
29884 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
29885 c_parser_binary_expression, c_parser_cast_expression,
29886 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
29887 Call default_function_array_read_conversion instead of
29888 default_function_array_conversion where needed.
29889 (c_parser_unary_expression, c_parser_conditional_expression,
29890 c_parser_postfix_expression_after_primary, c_parser_initelt):
29891 Likewise. Call mark_exp_read where needed.
29892 (c_parser_statement_after_labels, c_parser_asm_operands,
29893 c_parser_typeof_specifier, c_parser_sizeof_expression,
29894 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
29895 where needed.
29896 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
29897 New.
29898 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
29899 (warn_unused_but_set_parameter): Default to warn_unused
29900 && extra_warnings.
29901 * doc/invoke.texi: Document -Wunused-but-set-variable and
29902 -Wunused-but-set-parameter.
29903
60d3aec4
JJ
29904 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
29905 used count variable.
29906 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
29907 when operandN variables aren't used in the body of the expander
29908 or splitter.
29909 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
29910 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
29911 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
29912 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
29913 FOR_EACH_IMM_USE_ON_STMT): Likewise.
29914 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
29915 * tree.c (PROCESS_ARG): Likewise.
29916
87cf0651
SB
299172010-04-07 Simon Baldwin <simonb@google.com>
29918
29919 * diagnostic.h (diagnostic_override_option_index): New macro to
29920 set a diagnostic's option_index.
29921 * c-tree.h (c_cpp_error): Add warning reason argument.
29922 * opts.c (_warning_as_error_callback): New.
29923 (register_warning_as_error_callback): Store callback for
29924 warnings enabled via enable_warning_as_error.
29925 (enable_warning_as_error): Call callback, minor code tidy.
29926 * opts.h (register_warning_as_error_callback): Declare.
29927 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
29928 response to -Werror=.
29929 (c_common_init_options): Register warning_as_error_callback in opts.c.
29930 * common.opt: Add -Wno-cpp option.
29931 * c-common.c (struct reason_option_codes_t): Map cpp warning
29932 reason codes to gcc option indexes.
29933 * (c_option_controlling_cpp_error): New function, lookup the gcc
29934 option index for a cpp warning reason code.
29935 * (c_cpp_error): Add warning reason argument, call
29936 c_option_controlling_cpp_error for diagnostic_override_option_index.
29937 * doc/invoke.texi: Document -Wno-cpp.
29938
2ea9dc64
RG
299392010-04-07 Richard Guenther <rguenther@suse.de>
29940
29941 * ipa-reference.c (mark_load): Use get_base_address.
29942 (mark_store): Likewise.
29943
29944 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
29945 inserting GIMPLE_NOPs into the IL.
29946 * tree-ssa-structalias.c (get_constraint_for_component_ref):
29947 Explicitly strip handled components and indirect references.
59caab22 29948
2ea9dc64
RG
29949 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
29950 folding address expressions.
29951 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
29952 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
29953 operand_equal_p to compare decls.
29954 (ptr_deref_may_alias_decl_p): Likewise.
29955 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
29956 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
29957 Handle reversed comparison ops.
29958 * tree-sra.c (asm_visit_addr): Use get_base_address.
014753cc 29959 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
2ea9dc64
RG
29960 * ipa-reference.c (mark_address): Use get_base_address.
29961
95d938ee
RG
299622010-04-07 Richard Guenther <rguenther@suse.de>
29963
29964 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
29965 Propagate constants everywhere.
29966
1a299ae4
JJ
299672010-04-07 Jakub Jelinek <jakub@redhat.com>
29968
29969 PR debug/43516
29970 * tree.c (MAX_INT_CACHED_PREC): Define.
29971 (nonstandard_integer_type_cache): New array.
29972 (build_nonstandard_integer_type): Cache results for precision
29973 <= MAX_INT_CACHED_PREC.
29974
0d3c82d6
RG
299752010-04-07 Richard Guenther <rguenther@suse.de>
29976
29977 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
29978 -fargument-noalias-global, -fargument-noalias-anything): Remove.
29979 * common.opt: Likewise.
014753cc
UB
29980 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
29981 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
0d3c82d6
RG
29982 (nonoverlapping_memrefs_p): Likewise.
29983 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
29984 * opts.c (common_handle_option): Handle OPT_fargument_alias,
29985 OPT_fargument_noalias, OPT_fargument_noalias_anything and
29986 OPT_fargument_noalias_global for backward compatibility.
29987
12bd5a1e
RG
299882010-04-07 Richard Guenther <rguenther@suse.de>
29989
29990 PR tree-optimization/43270
014753cc 29991 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
12bd5a1e
RG
29992 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
29993 * tree-ssa-pre.c (phi_translate_1): Adjust.
29994 (fully_constant_expression): Split out vn_reference handling to ...
29995 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
29996 Fold reads from constant strings.
29997 (vn_reference_lookup): Handle fully constant references.
29998 (vn_reference_lookup_pieces): Likewise.
29999 * Makefile.in (expmed.o-warn): Add -Wno-error.
30000
a7752396
MJ
300012010-04-07 Martin Jambor <mjambor@suse.cz>
30002
30003 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
30004
6392bea6
IS
300052010-04-07 Iain Sandoe <iains@gcc.gnu.org>
30006
30007 PR driver/41594
30008 * gcc.c: Add -static-libstdc++ to list of recognized options.
30009
9af27220
RO
300102010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30011
014753cc 30012 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
9af27220 30013
83a416b0
RG
300142010-04-07 Richard Guenther <rguenther@suse.de>
30015
30016 PR middle-end/42617
014753cc
UB
30017 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
30018 bases build simple mem attributes to retain points-to information.
83a416b0 30019
366f945f
RG
300202010-04-07 Richard Guenther <rguenther@suse.de>
30021
30022 PR middle-end/42617
30023 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
30024 preserve points-to related information.
30025
56c47f22
RG
300262010-04-07 Richard Guenther <rguenther@suse.de>
30027
30028 PR middle-end/42617
30029 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
30030 discard plain indirect references.
014753cc 30031 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
56c47f22
RG
30032 * tree.c (tree_nop_conversion): Likewise.
30033
a42f1217
DS
300342010-04-07 Dodji Seketeli <dodji@redhat.com>
30035
30036 PR debug/43628
30037 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
30038
b97b2634
KT
300392010-04-06 Kai Tietz <kai.tietz@onevision.com>
30040
30041 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
30042 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
30043
62ef2431
SP
300442010-04-07 Sebastian Pop <sebastian.pop@amd.com>
30045
30046 * tree-if-conv.c: Fix indentation and comments.
30047
baaa8e96
SP
300482010-04-07 Sebastian Pop <sebastian.pop@amd.com>
30049
30050 * tree-if-conv.c: Sort static functions in topological order.
30051
b6779d81
SP
300522010-04-07 Sebastian Pop <sebastian.pop@amd.com>
30053
30054 * tree-if-conv.c: Fix indentation and comments.
30055
9310a3e2
SP
300562010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30057
30058 PR middle-end/43519
30059 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
014753cc
UB
30060 lang_hooks.types.type_for_size instead of
30061 build_nonstandard_integer_type.
9310a3e2
SP
30062 When converting an unsigned type to signed, double its precision.
30063 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
30064 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
014753cc
UB
30065 (graphite_create_new_loop_guard): When ub + 1 wraps around,
30066 use lb <= ub.
9310a3e2
SP
30067
300682010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30069
30070 PR middle-end/43519
30071 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
30072 POINTER_PLUS_EXPR for pointer types.
30073
300742010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30075
30076 PR middle-end/43519
30077 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
30078 * graphite-clast-to-gimple.c: Include langhooks.h.
30079 (max_signed_precision_type): New.
30080 (max_precision_type): Takes two types as arguments.
30081 (precision_for_value): New.
30082 (precision_for_interval): New.
30083 (gcc_type_for_interval): New.
30084 (gcc_type_for_value): New.
30085 (gcc_type_for_clast_term): New.
30086 (gcc_type_for_clast_red): New.
30087 (gcc_type_for_clast_bin): New.
30088 (gcc_type_for_clast_expr): Split up into several functions.
30089 (gcc_type_for_clast_eq): Rewritten.
30090 (compute_bounds_for_level): New.
30091 (compute_type_for_level_1): New.
30092 (compute_type_for_level): New.
30093 (gcc_type_for_cloog_iv): Removed.
30094 (gcc_type_for_iv_of_clast_loop): Rewritten.
30095 (graphite_create_new_loop): Compute the lower and upper bound types
30096 with gcc_type_for_clast_expr.
30097 (graphite_create_new_loop_guard): Same.
30098 (find_cloog_iv_in_expr): Removed.
30099 (compute_cloog_iv_types_1): Removed.
30100 (compute_cloog_iv_types): Removed.
30101 (gloog): Do not call compute_cloog_iv_types.
30102 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
30103 GBB_CLOOG_IV_TYPES.
30104 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
30105 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
30106 (GBB_CLOOG_IV_TYPES): Removed.
30107
301082010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30109
30110 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
30111 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
30112 (detect_commutative_reduction): Same.
30113
a3b9e73c
SP
301142010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30115
30116 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
30117 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
30118 argument.
30119 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
30120 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
30121 (rewrite_commutative_reductions_out_of_ssa): Same.
30122 * passes.c (execute_function_todo): Call verify_ssa for every pass
30123 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
30124 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
30125 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
30126 with an extra argument.
30127 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
30128 verify_ssa only when the extra argument is true.
30129 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
30130 with an extra argument.
30131 (tree_transform_and_unroll_loop): Same.
30132
98b6e9dd
SP
301332010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30134
30135 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
30136 for all the passes of the LNO having LOOP_CLOSED_SSA.
30137 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
30138 * tree-loop-distribution.c (pass_loop_distribution): Same.
30139 * tree-pass.h (TODO_verify_loops): Removed.
30140 * tree-ssa-loop.c (pass_tree_loop_init): Same.
30141 (pass_lim): Same.
30142 (pass_tree_unswitch): Same.
30143 (pass_predcom): Same.
30144 (pass_vectorize): Same.
30145 (pass_linear_transform): Same.
30146 (pass_graphite_transforms): Same.
30147 (pass_iv_canon): Same.
30148 (pass_complete_unroll): Same.
30149 (pass_complete_unrolli): Same.
30150 (pass_parallelize_loops): Same.
30151 (pass_loop_prefetch): Same.
30152 (pass_iv_optimize): Same.
30153
c86a3947
CF
301542010-04-06 Changpeng Fang <changpeng.fang@amd.com>
30155
30156 PR middle-end/32824
30157 * passes.c (init_optimization_passes): Move pass_lim before
30158 pass_copy_prop and pass_dce_loop.
30159
37794981
JJ
301602010-04-06 Jakub Jelinek <jakub@redhat.com>
30161
30162 PR target/43667
30163 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
30164 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
30165 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
30166 MULTI_* defines for 4 argument vpermil2p* builtins.
30167
d079b87f
UB
301682010-04-06 Uros Bizjak <ubizjak@gmail.com>
30169
30170 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
30171 * config/i386/i386.c (x86_maybe_negate_const_int): New.
30172 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
30173 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
30174 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
30175 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
30176 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
30177 Use x86_maybe_negate_const_int to output insn mnemonic.
30178 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
30179 check from instruction predicate. Update comments.
30180 * config/i386/sync.md (sync_add<mode>): Use
30181 x86_maybe_negate_const_int to output insn mnemonic.
b1a0b3b4 30182
d079b87f
UB
301832010-04-06 Jan Hubicka <jh@suse.cz>
30184
30185 PR tree-optimization/42906
30186 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
30187 IGNORE_SELF argument. Set visited_control_parents for fully
30188 processed BBs.
b1a0b3b4
JH
30189 (find_obviously_necessary_stmts): Update call of
30190 mark_control_dependent_edges_necessary.
d079b87f 30191 (propagate_necessity): Likewise. Handle PHI edges more curefully.
b1a0b3b4 30192
6593d123
UB
301932010-04-06 Uros Bizjak <ubizjak@gmail.com>
30194
30195 * config/i386/i386.md: Remove comment about 'e' and 'E'
30196 operand modifier.
30197
56186ac2
RG
301982010-04-06 Richard Guenther <rguenther@suse.de>
30199
30200 PR tree-optimization/43627
30201 * tree-vrp.c (extract_range_from_unary_expr): Widenings
30202 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
30203 not varying.
30204
7d11d368
JJ
302052010-04-06 Jakub Jelinek <jakub@redhat.com>
30206
d3bccded
JJ
30207 * BASE-VER: Change to 4.6.0.
30208
7d11d368
JJ
30209 PR target/43638
30210 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
30211 handling.
30212
eb12d0ae
RG
302132010-04-06 Richard Guenther <rguenther@suse.de>
30214
30215 PR middle-end/43661
30216 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
30217
53b79425
RW
302182010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30219
30220 * doc/invoke.texi (Optimize Options): Document that LTO
30221 won't remove object access purely due to incompatible
30222 declarations.
30223
7e0ec110
MK
302242010-04-04 Matthias Klose <doko@ubuntu.com>
30225
30226 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
30227 Initialize variable.
30228
2b22e382
RG
302292010-04-03 Richard Guenther <rguenther@suse.de>
30230
30231 PR middle-end/42509
30232 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
30233 require a non-NULL MEM_OFFSET.
30234
c75c517d
SB
302352010-04-02 Steven Bosscher <steven@gcc.gnu.org>
30236
d079b87f 30237 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
c75c517d
SB
30238 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
30239 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
30240 config/alpha/predicates.md, config/arm/arm.md,
30241 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
30242 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
30243 config/darwin9.h, config/darwin.c, config/darwin.h,
30244 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
30245 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
30246 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
30247 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
30248 config/mips/mips.md, config/mn10300/mn10300.c,
30249 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
30250 config/rs6000/aix.h, config/rs6000/dfp.md,
30251 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
30252 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
30253 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
30254 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
30255 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
30256 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
30257 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
30258 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
30259 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
30260 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
30261 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
30262 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
30263 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
30264 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
30265 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
30266 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
30267 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
30268 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
30269 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
30270 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
30271 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
30272 opt-functions.awk, opth-gen.awk, params.def, passes.c,
30273 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
30274 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
30275 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
30276 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
30277 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
30278 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
30279 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
30280 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
30281 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
30282 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
30283 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
30284 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
30285 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
30286 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
30287
4d9e8446
RW
302882010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30289
30290 PR other/43620
30291 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
30292 * aclocal.m4: Regenerate.
30293
1cdaa211
RG
302942010-04-02 Richard Guenther <rguenther@suse.de>
30295
30296 PR tree-optimization/43629
30297 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
30298 if we have seen a constant value.
30299
d33da5cd
JM
303002010-04-02 Joseph Myers <joseph@codesourcery.com>
30301
014753cc 30302 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
d33da5cd 30303
2e5505a4
RE
303042010-04-02 Richard Earnshaw <rearnsha@arm.com>
30305
30306 PR target/43469
d079b87f 30307 * arm.c (legitimize_tls_address): Adjust call to
2e5505a4
RE
30308 gen_tls_load_dot_plus_four.
30309 (arm_note_pic_base): New function.
30310 (arm_cannot_copy_insn_p): Use it.
30311 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
30312 constraint.
30313
bdfbd9df
RW
303142010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30315
30316 PR bootstrap/43531
30317
30318 Revert:
30319 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30320
30321 * Makefile.in ($(out_object_file)): Depend on
30322 gt-$(basename $(notdir $(out_file))).h.
30323
f4a4b582 303242010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
2bc40daa 30325
014753cc 30326 * config.gcc (lm32-*-rtems*): Add t-lm32.
2bc40daa 30327
f4a4b582 303282010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
2bc40daa 30329
014753cc
UB
30330 * config.gcc: Add lm32-*-rtems*.
30331 * config/lm32/rtems.h: New file.
2bc40daa 30332
abfb38d7
DK
303332010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
30334
30335 PR target/42609
30336 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
30337
2f43d500
JJ
303382010-04-01 Jakub Jelinek <jakub@redhat.com>
30339
30340 * dwarf2out.c (output_compilation_unit_header): For
30341 -gdwarf-4 use version 4 instead of version 3.
30342 (output_line_info): For version 4 and above emit additional
30343 maximum ops per insn header field.
30344 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
30345
30346 * dwarf2out.c (is_c_family, is_java): Remove.
30347 (lower_bound_default): New function.
30348 (add_bound_info, gen_descr_array_type_die): Use it.
30349
777351a5
DS
303502010-04-01 Dodji Seketeli <dodji@redhat.com>
30351
30352 PR debug/43325
30353 * dwarf2out.c (gen_variable_die): Allow debug info for variable
30354 re-declaration when it happens in a function.
30355
6544865a
AH
303562010-04-01 Aldy Hernandez <aldyh@redhat.com>
30357
30358 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
30359 (cgraph_remove_function_insertion_hook): Same.
30360 (cgraph_call_function_insertion_hooks): Same.
30361
5e9fb3db
RG
303622010-04-01 Richard Guenther <rguenther@suse.de>
30363
30364 PR middle-end/43614
30365 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
30366 and TREE_THIS_VOLATILE.
30367 (copy_ref_info): Likewise.
30368 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
30369 * tree.c (build6_stat): Ignore side-effects of all but arg5
30370 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
30371 TARGET_MEM_REF.
30372
eb258d7f
RG
303732010-04-01 Richard Guenther <rguenther@suse.de>
30374
30375 PR tree-optimization/43607
30376 * ipa-type-escape.c (check_call): Do not access non-existing
30377 arguments.
30378
aa8bfcad
RG
303792010-04-01 Richard Guenther <rguenther@suse.de>
30380
30381 PR middle-end/43602
30382 Revert
f4a4b582
EB
30383 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
30384 Jack Howarth <howarth@bromo.med.uc.edu>
aa8bfcad
RG
30385
30386 * tree-profile.c (tree_init_ic_make_global_vars): Make static
30387 variables TLS.
30388
8c5cfa89
RO
303892010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30390
30391 * doc/install.texi (Prerequisites): Document libelf usability on
30392 IRIX 5/6 and Solaris 2.
30393 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
30394 Update GNU as, GNU ld requirements.
30395 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
30396 Document Sun Studio compiler download.
30397 Update and simplify as, ld recommendations.
30398 (Specific, *-*-solaris2.7): Note obsoletion, removal.
30399
ddcc3550
RO
304002010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30401
9af27220 30402 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
ddcc3550
RO
30403 with_tune_32 to pentium4.
30404
93234e58
UB
304052010-04-01 Uros Bizjak <ubizjak@gmail.com>
30406
30407 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
30408
ef369ad8
RO
304092010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30410
30411 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
30412 obsoletion, removal.
30413 Update IDO URL.
30414 Document GNU as requirement.
30415 Update configure requirements.
014753cc 30416 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
ef369ad8
RO
30417 Recomment IRIX 6.5.18+.
30418 Document IDF/IDL requirement.
30419 Document GNU as requirement.
30420 Document GNU ld bootstrap failure.
30421 Remove freeware.sgi.com reference.
30422
92d80770
RO
304232010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30424
30425 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
30426 UNIX V4.0, V5.0 obsoletion, removal.
30427 Remove --with-gc=simple reference.
30428 Update VM requirements during bootstrap.
30429 Remove -oldas bootstrap description.
30430 Update binutils reference.
30431 Remove comparison failure note.
30432
25d635d9
SP
304332010-03-31 Richard Guenther <rguenther@suse.de>
30434 Zdenek Dvorak <ook@ucw.cz>
30435 Sebastian Pop <sebastian.pop@amd.com>
30436
30437 PR middle-end/43464
30438 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
30439 with multiple arguments.
30440 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
30441
304422010-03-31 Sebastian Pop <sebastian.pop@amd.com>
30443
30444 * graphite-dependences.c (print_pddr): Call print_pdr with an
30445 extra argument.
30446 * graphite-poly.c (debug_pdr): Add an extra argument for the
30447 verbosity level.
30448 (print_pdr): Same.
30449 (print_pbb_domain): Same.
30450 (print_pbb): Same.
30451 (print_scop_context): Same.
30452 (print_scop): Same.
30453 (print_cloog): Same.
30454 (debug_pbb_domain): Same.
30455 (debug_pbb): Same.
30456 (print_pdrs): Same.
30457 (debug_pdrs): Same.
30458 (debug_scop_context): Same.
30459 (debug_scop): Same.
30460 (debug_cloog): Same.
30461 (print_scop_params): Same.
30462 (debug_scop_params): Same.
30463 (print_iteration_domain): Same.
30464 (print_iteration_domains): Same.
30465 (debug_iteration_domain): Same.
30466 (debug_iteration_domains): Same.
30467 (print_scattering_function): Same.
30468 (print_scattering_functions): Same.
30469 (debug_scattering_function): Same.
30470 (debug_scattering_functions): Same.
30471 * graphite-poly.h (debug_pdr): Update declaration.
30472 (print_pdr): Same.
30473 (print_pbb_domain): Same.
30474 (print_pbb): Same.
30475 (print_scop_context): Same.
30476 (print_scop): Same.
30477 (print_cloog): Same.
30478 (debug_pbb_domain): Same.
30479 (debug_pbb): Same.
30480 (print_pdrs): Same.
30481 (debug_pdrs): Same.
30482 (debug_scop_context): Same.
30483 (debug_scop): Same.
30484 (debug_cloog): Same.
30485 (print_scop_params): Same.
30486 (debug_scop_params): Same.
30487 (print_iteration_domain): Same.
30488 (print_iteration_domains): Same.
30489 (debug_iteration_domain): Same.
30490 (debug_iteration_domains): Same.
30491 (print_scattering_function): Same.
30492 (print_scattering_functions): Same.
30493 (debug_scattering_function): Same.
30494 (debug_scattering_functions): Same.
30495
304962010-03-31 Sebastian Pop <sebastian.pop@amd.com>
30497
30498 * graphite-poly.c (print_scattering_function_1): New.
30499 (print_scattering_function): Call it.
30500 (print_scop_params): Remove spaces at the end of lines.
30501 (print_cloog): New.
30502 (debug_cloog): New.
30503 * graphite-poly.h (print_cloog): Declared.
30504 (debug_cloog): Declared.
30505
305062010-03-31 Sebastian Pop <sebastian.pop@amd.com>
30507
30508 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
30509 in loop->header.
30510 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
30511 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
30512 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
30513 to switch between adding the IV bump in loop->latch or in loop->header.
30514
305152010-03-31 Sebastian Pop <sebastian.pop@amd.com>
30516
30517 * graphite-poly.c (print_scattering_function): Pretty print following
30518 the scoplib format.
30519 (print_pdr): Same.
30520 (print_pbb_domain): Same.
30521 (dump_gbb_cases): Same.
30522 (dump_gbb_conditions): Same.
30523 (print_pdrs): Same.
30524 (print_pbb): Same.
30525 (print_scop_params): Same.
30526 (print_scop_context): Same.
30527 (print_scop): Same.
30528 (print_pbb_body): New.
30529 (lst_indent_to): New.
30530 (print_lst): Start new lines with a #.
30531 * graphite-poly.h (pbb_bb): New.
30532 (pbb_index): Use pbb_bb.
30533 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
30534 disjuncts.
30535 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
30536
2080bd29
JJ
305372010-03-31 Jakub Jelinek <jakub@redhat.com>
30538
290d8971
JJ
30539 * dwarf2out.c (size_of_die): For -gdwarf-4 use
30540 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
30541 and 0 instead of 1 for dw_val_class_flag.
30542 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
30543 dw_val_class_range_list, dw_val_class_loc_list,
30544 dw_val_class_lineptr and dw_val_class_macptr, use
30545 DW_FORM_flag_present for dw_val_class_flag and
30546 DW_FORM_exprloc for dw_val_class_loc.
30547 (output_die): For -gdwarf-4 print dw_val_class_loc
30548 size as uleb128 instead of 1 or 2 bytes and don't print
30549 anything for dw_val_class_flag.
30550
109f4af3
JJ
30551 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
30552 instead of cselib_lookup following by tweaking locs->setting_insn.
30553
2080bd29
JJ
30554 PR bootstrap/43596
30555 * cselib.c (cselib_process_insn): Clear cselib_current_insn
30556 even before returning from label, setjmp call or volatile asm
30557 handling.
30558
33283dad
RG
305592010-03-31 Richard Guenther <rguenther@suse.de>
30560
30561 PR middle-end/43600
30562 * cgraphunit.c (cgraph_output_in_order): Do not allocate
30563 temporary data on stack.
30564
a0c21029
RO
305652010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30566
30567 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
30568 (PUSHSECTION_ASM_OP): Remove.
30569 (POPSECTION_ASM_OP): Remove.
30570 (PUSHSECTION_FORMAT): Remove.
30571 * config/sol2.h (PUSHSECTION_FORMAT): Define.
30572 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
30573 * config/sol2.c (solaris_output_init_fini): Use it.
30574
a3f410a2
JZ
305752010-03-31 Jie Zhang <jie@codesourcery.com>
30576
30577 PR 43574
30578 * opt-functions.awk (var_type_struct): Use signed char type
30579 for simple variables.
30580
f0c01ffd
RO
305812010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30582
30583 * config/sol2.c: Include output.h.
30584 (solaris_assemble_visibility): New function.
30585 * config/t-sol2 (sol2.o): Add output.h dependency.
30586 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
30587 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
30588 Redefine.
30589
132b4e82
JJ
305902010-03-31 Jakub Jelinek <jakub@redhat.com>
30591
d8d55ac0
JJ
30592 PR target/43580
30593 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
30594 V2SImode or XFmode on PRE_DEC.
30595
132b4e82
JJ
30596 PR debug/43557
30597 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
30598 BLKmode.
30599
dc12b70e
JZ
306002010-03-31 Jie Zhang <jie@codesourcery.com>
30601
30602 PR 43562
30603 * reload.h (caller_save_initialized_p): Declare.
30604 * toplev.c (backend_init_target): Don't call
93234e58 30605 init_caller_save but set caller_save_initialized_p to false.
dc12b70e
JZ
30606 * caller-save.c (caller_save_initialized_p): Define.
30607 (init_caller_save): Check caller_save_initialized_p.
30608 * ira.c (ira): Call init_caller_save if flag_caller_saves.
30609
4a2f22ff
RO
306102010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30611
30612 PR target/39048
30613 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
30614 and soft-fp/t-softfp to tmake_file.
30615 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
30616 (LIBGCC2_TF_CEXT): Define.
30617 (TF_SIZE): Define.
30618
5847e8da
AO
306192010-03-30 Alexandre Oliva <aoliva@redhat.com>
30620
30621 PR debug/42977
30622 * cselib.c (n_useless_values): Document handling of debug locs.
30623 (n_useless_debug_values, n_debug_values): New variables.
30624 (new_elt_loc_list): Don't add to debug values, keep count.
30625 (promote_debug_loc): New.
30626 (cselib_reset_table): Zero new variables.
30627 (entry_and_rtx_equal_p): Promote debug locs.
30628 (discard_useless_locs): Increment n_useless_debug_values for
30629 debug values.
30630 (remove_useless_values): Adjust n_useless_values and n_debug_values
30631 with n_useless_debug_values.
30632 (add_mem_for_addr): Promote debug locs.
30633 (cselib_lookup_mem): Likewise.
30634 (cselib_lookup_addr): Renamed to...
93234e58 30635 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
5847e8da
AO
30636 (cselib_log_lookup): ... this. Turn into...
30637 (cselib_lookup_addr): ... new wrapper.
30638 (cselib_lookup_from_insn): New.
30639 (cselib_invalidate_regno): Increment n_useless_debug_values for
30640 debug values.
30641 (cselib_invalidate_mem): Likewise.
30642 (cselib_process_insn): Take n_deleted and n_debug_values into
30643 account to guard remove_useless_value call.
30644 (cselib_finish): Zero n_useless_debug_values.
30645 * cselib.h (cselib_lookup_from_insn): Declare.
30646 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
30647 (sched_analyze_2): Likewise.
30648
03a5f060
JJ
306492010-03-30 Jakub Jelinek <jakub@redhat.com>
30650
e9e00885
JJ
30651 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
30652 functions.
30653 (adjust_mems): Replace narrowing SUBREG of expression containing
30654 just PLUS, MINUS, MULT and ASHIFT of registers and constants
30655 with operations in the narrower mode.
30656
03a5f060 30657 PR debug/43593
93234e58
UB
30658 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
30659 regs_invalidated_by_call instead all call_used_reg_set registers.
03a5f060 30660
8533c9d8
SP
306612010-03-30 Sebastian Pop <sebastian.pop@amd.com>
30662
30663 PR middle-end/43430
30664 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
30665 pointer comparisons with types_compatible_p.
30666 * tree-vect-stmts.c (vectorizable_call): Same.
30667 (vectorizable_condition): Same.
30668
a3e7e012
AK
306692010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
30670
30671 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
30672 stack check if the mask would be zero.
30673
f4a4b582
EB
306742010-03-30 Seongbae Park <seongbae.park@gmail.com>
30675 Jack Howarth <howarth@bromo.med.uc.edu>
40ae6799
SP
30676
30677 * tree-profile.c (tree_init_ic_make_global_vars): Make static
30678 variables TLS.
30679
2bcba94b
JM
306802010-03-30 Joseph Myers <joseph@codesourcery.com>
30681
30682 PR other/25232
30683 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
30684 and __unordtf2.
30685 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
30686 Include ___unordxf2 and ___unordtf2.
30687 * config/i386/libgcc-glibc.ver: Do not define inheritance from
30688 GCC_4.4.0 here.
30689
15baf7f8
TG
306902010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
30691
30692 * config/lm32/t-lm32: New file.
30693 * config.gcc: Use the above file when targetting lm32.
30694
fba48836
DS
306952010-03-28 Duncan Sands <baldrick@free.fr>
30696
93234e58 30697 * Makefile.in (PLUGIN_HEADERS): Add except.h.
fba48836 30698
49a71bc8
SP
306992010-03-29 Sebastian Pop <sebastian.pop@amd.com>
30700
30701 PR middle-end/43431
30702 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
30703 Improve vectorization cost model diagnostic.
30704
22a8be9e
SP
307052010-03-29 Sebastian Pop <sebastian.pop@amd.com>
30706
30707 PR middle-end/43436
30708 * tree-vect-data-refs.c (vect_analyze_data_refs): When
30709 compute_data_dependences_for_loop returns false, early exit
30710 and output an extra diagnostic for the failed data reference
30711 analysis.
30712
58adb739
RG
307132010-03-29 Richard Guenther <rguenther@suse.de>
30714
30715 PR tree-optimization/43560
93234e58
UB
30716 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
30717 (can_sm_ref_p): Treat stores to readonly locations as trapping.
58adb739 30718
3b34d92c
JZ
307192010-03-29 Jie Zhang <jie@codesourcery.com>
30720
30721 PR 43564
30722 * toplev.c (process_options): Set optimization_default_node
30723 and optimization_current_node.
30724 * opts.c (decode_options): Don't set optimization_default_node
30725 and optimization_current_node.
30726
090f6087
RC
307272010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
30728
30729 * config/rtems.h: Abandon -qrtems_debug.
30730
88cc1e04
JH
307312010-03-28 Jan Hubicka <jh@suse.cz>
30732
30733 PR tree-optimization/43505
30734 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
30735 map should not be copied.
30736
b932b8b1
JDA
307372010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
30738
30739 PR middle-end/41674
30740 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
30741 cdtors, set DECL_PRESERVE_P.
30742 * ipa.c (cgraph_externally_visible_p): Return true if declaration
30743 should be preseved.
30744
fb6807b8
UB
307452010-03-27 Uros Bizjak <ubizjak@gmail.com>
30746
30747 PR tree-optimization/43528
30748 * stor-layout.c (place_field): Check that constant fits into
30749 unsigned HWI when skipping calculation of MS bitfield layout.
30750
a9deb256
JH
307512010-03-27 Jan Hubicka <jh@suse.cz>
30752
30753 PR middle-end/43391
30754 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
30755 notice_global_symbol work.
30756
5a9c8a1b
JJ
307572010-03-27 Jakub Jelinek <jakub@redhat.com>
30758
30759 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
30760 instead of dwarf2out_decl.
30761 (struct var_loc_node): Remove section_label field.
30762 (dwarf2out_function_decl): New function.
30763 (dwarf2out_var_location): Don't set section_label field.
30764 (dwarf2out_begin_function): Don't empty decl_loc_table here.
30765
62f7fd21
MM
307662010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
30767
30768 PR tree-optimization/43544
30769 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
30770 First argument for builtin vectorized function hook is now a
30771 tree to be able to distinguish between machine specific and
30772 standard builtins.
30773 * targhooks.c (default_builtin_vectorized_function): Ditto.
30774 * targhooks.h (default_builtin_vectorized_function): Ditto.
30775 * target.h (struct gcc_target): Ditto.
30776 * tree-vect-stmts.c (vectorizable_function): Ditto.
30777 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
30778 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
30779 Ditto.
30780
10e76c1a
JM
307812010-03-26 Joseph Myers <joseph@codesourcery.com>
30782
30783 PR c/43381
30784 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
30785 nested binding iff it is a FUNCTION_DECL.
30786 (store_parm_decls_newstyle): Pass nested=true to bind for
30787 FUNCTION_DECLs amongst parameters.
30788
89245ef2
JJ
307892010-03-26 Jakub Jelinek <jakub@redhat.com>
30790
2155f963
JJ
30791 * var-tracking.c (vt_expand_loc_callback): Don't run
30792 cselib_expand_value_rtx_cb in dummy mode if
30793 cselib_dummy_expand_value_rtx_cb returned false.
30794
e80691a0
JJ
30795 * var-tracking.c (emit_note_insn_var_location): For one part
30796 notes with offset 0, don't add EXPR_LIST around the location.
30797 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
30798 add_location_or_const_value_attribute): Adjust for that change.
30799
89245ef2
JJ
30800 PR debug/43540
30801 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
30802 into first operand and location into second.
30803 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
30804 dw_cfi_oprnd_loc for DW_CFA_expression.
30805 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
30806 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
30807 assume first argument is regnum and second argument is location.
30808
c5e43cc4
UB
308092010-03-26 Uros Bizjak <ubizjak@gmail.com>
30810
30811 PR target/42113
30812 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
30813 of scratch register to DImode. Split to DImode comparison operator.
30814 Use SImode subreg of scratch register in the multiplication.
30815 (*cmp_sadd_sidi): Ditto.
30816 (*cmp_ssub_si): Ditto.
30817 (*cmp_ssub_sidi): Ditto.
30818
fb04bb84
UB
308192010-03-26 Uros Bizjak <ubizjak@gmail.com>
30820
30821 PR target/43524
30822 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
30823 Remove invalid assert and wrong comment.
30824
6ca5d1f6
JJ
308252010-03-26 Jakub Jelinek <jakub@redhat.com>
30826
30827 PR debug/43516
30828 * flags.h (final_insns_dump_p): New extern.
30829 * final.c (final_insns_dump_p): New variable.
30830 (rest_of_clean_state): Set it before -fdump-final-insns=
30831 dumping, clear afterwards.
30832 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
30833 MEM_ALIAS_SET on MEMs.
30834
46bc665f
DM
308352010-03-26 David S. Miller <davem@davemloft.net>
30836
30837 * configure.ac: Fix sparc GOTDATA_OP bug check.
30838 * configure: Rebuild.
30839
9fa195b8
AM
308402010-03-26 Alan Modra <amodra@gmail.com>
30841
30842 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
30843
9b7e6950
RO
308442010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30845
30846 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
30847 TLS_SECTION_ASM_FLAG.
30848
d53c73e0
JJ
308492010-03-25 Jakub Jelinek <jakub@redhat.com>
30850
935ec2c9
JJ
30851 PR bootstrap/43511
30852 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
30853 Clear first_function_block_is_cold.
30854
d53c73e0
JJ
30855 PR c/43385
30856 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
30857 argument if the argument is truth_value_p.
30858
871c9abb
MM
308592010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
30860
fb04bb84 30861 * config/rs6000/constraints.md: Update copyright year for my changes.
94ad7adc 30862
871c9abb
MM
30863 PR target/43484
30864 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
30865 used in reg+reg addressing, swap registers.
30866
81ef7e24
JJ
308672010-03-24 Jakub Jelinek <jakub@redhat.com>
30868
6d217c32
JJ
30869 PR debug/43293
30870 * target.h (struct gcc_target): Add code_end hook.
30871 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
30872 if not yet defined.
30873 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
30874 * toplev.c (compile_file): Call targetm.asm_out.code_end
30875 hook before unwind info/debug info output.
30876 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
30877 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
30878 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
30879 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
30880 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
30881 * config/i386/i386.c (ix86_file_end): Renamed to...
30882 (ix86_code_end): ... this. Make static. Don't call
30883 file_end_indicate_exec_stack. Emit unwind info using
30884 final_start_function/final_end_function.
30885 (darwin_x86_file_end): Remove.
30886 (TARGET_ASM_CODE_END): Define.
30887 * config/i386/i386.h (TARGET_ASM_FILE_END,
30888 NEED_INDICATE_EXEC_STACK): Don't define.
30889 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
30890 (TARGET_ASM_FILE_END): Define to darwin_file_end.
30891 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
30892 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
30893
81ef7e24
JJ
30894 PR target/43498
30895 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
30896 at the beginning and final_end_function at the end.
30897 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
30898
f1c26cad
RO
308992010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30900
30901 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
30902 and Sun as TLS syntax.
30903 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
30904 * configure: Regenerate.
30905 * config.in: Regenerate.
30906 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
30907 (default_elf_asm_named_section): Use it.
30908 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
30909 (i386_output_dwarf_dtprel): Likewise.
30910 (output_addr_const_extra): Likewise.
30911 (output_pic_addr_const): Lowercase @GOTTPOFF.
30912 (output_addr_const_extra): Likewise.
30913 (output_pic_addr_const): Lowercase @GOTNTPOFF.
30914 (output_addr_const_extra): Likewise.
30915 (output_pic_addr_const): Lowercase @INDNTPOFF.
30916 (output_addr_const_extra): Likewise.
30917 (output_pic_addr_const): Lowercase @NTPOFF.
30918 (output_addr_const_extra): Likewise.
30919 (output_pic_addr_const): Lowercase @TPOFF.
30920 (output_addr_const_extra): Likewise.
fb04bb84 30921 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
f1c26cad
RO
30922 (*tls_global_dynamic_64): Likewise.
30923 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
30924 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
30925
30926 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
30927 (ASM_OUTPUT_TLS_COMMON): Use it.
30928 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
30929
30930 PR target/38118
fb04bb84 30931 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
f1c26cad
RO
30932 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
30933 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
30934 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
30935 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
30936 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
30937
d2af65b9
RO
309382010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30939
30940 * config/i386/i386.c (override_options): Don't accept
30941 -mtls-dialect=sun any longer.
30942 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
30943 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
30944 (*tls_local_dynamic_base_32_sun): Likewise.
30945 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
30946
d0ed412a
JJ
309472010-03-24 Jakub Jelinek <jakub@redhat.com>
30948
1db0ea00
JJ
30949 PR debug/43508
30950 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
30951 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
30952
3a6191b1
JJ
30953 PR debug/43479
30954 * ira.c (adjust_cleared_regs): New function.
30955 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
30956
d0ed412a
JJ
30957 PR debug/19192
30958 PR debug/43479
30959 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
30960 from gimple_block.
30961 * expr.c (expand_expr_real): Restore previous
30962 curr_insn_source_location and curr_insn_block after
30963 expand_expr_real_1 call.
30964 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
30965 instead of expand_expr_real_1.
30966
478ab26d
VM
309672010-03-23 Vladimir Makarov <vmakarov@redhat.com>
30968
30969 PR rtl-optimization/43413
30970 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
30971 hard regs too.
30972
67b476d1
JW
309732010-03-22 James E. Wilson <wilson@codesourcery.com>
30974
30975 PR target/43348
30976 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
fb04bb84 30977 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
67b476d1 30978
99eaa2e7
L
309792010-03-22 H.J. Lu <hongjiu.lu@intel.com>
30980
fb04bb84
UB
30981 * config/i386/i386.c (ix86_target_string): Add -mfma.
30982 Fix a typo in comment.
99eaa2e7 30983
212066e6
MS
309842010-03-22 Mike Stump <mikestump@comcast.net>
30985
30986 PR target/23071
30987 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
30988 Don't overly align based upon packed packed fields.
30989
ce30e6fd
JM
309902010-03-22 Jason Merrill <jason@redhat.com>
30991
30992 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
30993 Use () rather than [], and move before the element type.
30994
3a1ef68a
RO
309952010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30996
30997 * doc/configfiles.texi (Configuration Files): Removed
30998 fixinc/Makefile*, intl/Makefile.*.
fb04bb84
UB
30999 * doc/makefile.texi: Fixed markup. Abstract from version
31000 control system used.
eed023cc 31001 (Makefile): Removed obsolete java/parse.y example.
3a1ef68a
RO
31002 * doc/sourcebuild.texi: Likewise.
31003 (Top Level): Added config, gnattools, libdecnumber, libgcc,
fb04bb84 31004 libgomp, libssp. Removed fastjar.
3a1ef68a
RO
31005 (Miscellaneous Docs): Clarify location.
31006 Added COPYING3, COPYING3.LIB.
fb04bb84 31007 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
3a1ef68a 31008
7f5441df
RO
310092010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31010
31011 PR target/38085
31012 * config/i386/i386.c (x86_function_profiler)
31013 [!NO_PROFILE_COUNTERS]: Fix typo.
31014 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
31015 instead of callq.
31016
d4f3924a 310172010-03-22 Janis Johnson <janis187@us.ibm.com>
f4a4b582 31018 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
d4f3924a
JJ
31019
31020 * doc/sourcebuild.texi (Test Directives): Split into six
31021 subsections, with most of the current text in new subsections
31022 Directives, Selectors, and Final Actions.
31023 (Directives): Split list of test directives into multiple
31024 subsubsections.
31025 (Selectors): Describe use and syntax of selectors.
31026 (Effective-Target Keywords): Describe all existing keywords.
31027 (Add Options): Describe features for dg-add-options.
31028 (Require Support): Describe variants of dg-require-support.
31029 (Final Actions): Describe commands to use in dg-final.
31030
047550e9
MM
310312010-03-22 Michael Matz <matz@suse.de>
31032
31033 PR middle-end/43475
31034 * recog.c (validate_replace_rtx_group): Replace also in
31035 REG_EQUAL and REG_EQUIV notes.
31036
6d7971b8
RG
310372010-03-22 Richard Guenther <rguenther@suse.de>
31038
31039 PR tree-optimization/43390
31040 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
31041 sure vector extracts are type correct.
31042
6af84c85
RG
310432010-03-22 Richard Guenther <rguenther@suse.de>
31044
31045 PR middle-end/40106
31046 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
31047 x * sqrt (x) even when optimizing for size if the target
31048 has native support for sqrt.
31049
539eb459
JJ
310502010-03-22 Jakub Jelinek <jakub@redhat.com>
31051
be36dd85
JJ
31052 * varasm.c (make_decl_rtl_for_debug): Also clear
31053 flag_mudflap for the duration of make_decl_rtl call.
31054
539eb459
JJ
31055 PR debug/43443
31056 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
31057 locs from preserved VALUEs.
31058
19c1be39
JDA
310592010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
31060
31061 PR middle-end/42718
31062 * pa.md (movmemsi): Set align to one if zero.
31063 (movmemdi): Likewise.
31064
f8b68ed3
RE
310652010-03-21 Richard Earnshaw <rearnsha@arm.com>
31066
31067 PR target/42321
31068 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
31069 with their corresponding prologue pushes.
31070
941ce52b
AP
310712010-03-20 Andrew Pinski <pinskia@gmail.com>
31072
31073 PR target/43156
31074 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
31075 at the begining or end.
31076 (spu_expand_epilogue): Likewise.
31077
d491d2af
RG
310782010-03-20 Richard Guenther <rguenther@suse.de>
31079
31080 PR rtl-optimization/43438
31081 * combine.c (make_extraction): Properly zero-/sign-extend an
31082 extraction of the low part of a CONST_INT. Also handle
31083 CONST_DOUBLE.
31084
4dd9ee92
MS
310852010-03-19 Mike Stump <mikestump@comcast.net>
31086
31087 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
31088 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
31089 (override_options): Use SUBTARGET32_DEFAULT_CPU.
31090
e49a760f
AP
310912010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
31092
6644642e 31093 PR c/43211
fb04bb84
UB
31094 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
31095 an error.
e49a760f 31096
f0c6475a 310972010-03-19 Bernd Schmidt <bernds@codesourcery.com>
002b2dee
BS
31098
31099 PR rtl-optimization/42258
31100 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
31101 use that may match DEF.
31102
c99102b8
BS
31103 PR target/40697
31104 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
31105 the cost of loading the constant rather than assuming
31106 COSTS_N_INSNS (1).
31107 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
31108 outer code is AND, do the same tests as the andsi3 expander and
31109 return COSTS_N_INSNS (1) if and is cheap.
fdb2c684
BS
31110
31111 * optabs.c (avoid_expensive_constant): Fix formatting.
31112
f9ceed32
MM
311132010-03-19 Michael Matz <matz@suse.de>
31114
31115 PR c++/43116
31116 * attribs.c (decl_attributes): When rebuilding a function pointer
31117 type use the same qualifiers as the original pointer type.
31118
3795eae6
MJ
311192010-03-19 Martin Jambor <mjambor@suse.cz>
31120
31121 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
31122 and is_gimple_ip_invariant_address.
31123
ae0bef88
RR
311242010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
31125
31126 Revert
31127 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
31128
31129 * config/arm/arm.c (arm_override_options): Turn off
31130 flag_dwarf2_cfi_asm for AAPCS variants.
31131
9abf5d7b
RR
311322010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
31133
31134 PR target/43399
31135 * config/arm/arm.c (emit_multi_reg_push): Update comments.
31136 Use PRE_MODIFY instead of PRE_DEC.
31137 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
31138 (vfp_emit_fstmd): Likewise.
31139
8a0b1aa4
MM
311402010-03-19 Michael Matz <matz@suse.de>
31141
31142 PR target/43305
31143 * builtins.c (expand_builtin_interclass_mathfn,
31144 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
31145 if that fails.
31146
3e999e7b
RG
311472010-03-19 Richard Guenther <rguenther@suse.de>
31148
31149 PR tree-optimization/43415
31150 * tree-ssa-pre.c (phi_translate): Split out worker to ...
31151 (phi_translate_1): ... this.
31152 (phi_translate): Move all caching here. Cache all NARY
31153 and REFERENCE translations.
31154
9fd52c6c
DM
311552010-03-19 David S. Miller <davem@davemloft.net>
31156
31157 With help from Eric Botcazou.
31158 * config/sparc/sparc.c: Include dwarf2out.h.
31159 (emit_pic_helper): Delete.
31160 (pic_helper_symbol_name): Delete.
31161 (pic_helper_emitted_p): Delete.
31162 (pic_helper_needed): New.
31163 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
31164 (get_pc_thunk_name): New.
31165 (load_pic_register): Remove 'delay_pic_helper' arg. Use
31166 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
31167 Set pic_helper_needed to true. Don't call emit_pic_helper.
31168 (sparc_expand_prologue): Update load_pic_register call.
31169 (sparc_output_mi_thunk): Likewise.
31170 (sparc_file_end): Emit a hidden comdat symbol for the PIC
31171 thunk if possible. Output CFI information as needed.
31172
f4a4b582
EB
311732010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
31174 Jack Howarth <howarth@bromo.med.uc.edu>
b6010cab
FXC
31175
31176 PR target/36399
48019e3d 31177 * config/i386/i386.h: Fix ABI on darwin x86-32.
b6010cab 31178
b1aa0655
AH
311792010-03-18 Aldy Hernandez <aldyh@redhat.com>
31180
31181 * tree.h: Declare make_decl_rtl_for_debug.
31182 * varasm.c (make_decl_rtl_for_debug): New.
31183 * dwarf2out.c (rtl_for_decl_location): Call it.
31184 * cfgexpand.c (expand_debug_expr): Call it.
31185
f0c12fcc
JJ
311862010-03-18 Jakub Jelinek <jakub@redhat.com>
31187
9a05b749
JJ
31188 PR bootstrap/43399
31189 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
31190 mem_mode.
31191
f0c12fcc
JJ
31192 PR bootstrap/43403
31193 * var-tracking.c (vt_init_cfa_base): Do nothing if
fb04bb84 31194 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
f0c12fcc 31195
e999b0c9
AO
311962010-03-18 Alexandre Oliva <aoliva@redhat.com>
31197
31198 PR debug/42873
31199 * var-tracking.c (canonicalize_vars_star): New.
31200 (dataflow_post_merge_adjust): Use it.
31201
5644a3d0
JJ
312022010-03-18 Jakub Jelinek <jakub@redhat.com>
31203
31204 PR debug/43058
31205 * var-tracking.c (non_suitable_const): New function.
31206 (add_uses): For DEBUG_INSNs with constants, don't record any
31207 value, instead just the constant value itself.
31208 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
31209 is not VAR_LOC_UNKNOWN_P, set var to the constant.
31210 (emit_notes_in_bb): Likewise.
31211 (emit_note_insn_var_location): For onepart variables if
31212 cur_loc is a VOIDmode constant, use DECL_MODE.
31213
8132a837
MJ
312142010-03-18 Martin Jambor <mjambor@suse.cz>
31215
31216 PR middle-end/42450
31217 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
31218 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
31219 all non-clones. Moved call redirection...
fb04bb84 31220 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
8132a837
MJ
31221 (cgraph_materialize_all_clones): Dispose of all
31222 combined_args_to_skip bitmaps.
31223 (verify_cgraph_node): Do not check for edges pointing to wrong
31224 nodes in inline clones.
31225 * tree-inline.c (copy_bb): Call
31226 cgraph_redirect_edge_call_stmt_to_callee.
31227 * ipa.c (cgraph_remove_unreachable_nodes): Call
31228 cgraph_node_remove_callees even when there are used clones.
31229
7893d7ac
L
312302010-03-18 H.J. Lu <hongjiu.lu@intel.com>
31231
31232 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
31233
cdfedab1
L
312342010-03-18 H.J. Lu <hongjiu.lu@intel.com>
31235
31236 PR target/43383
31237 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
31238 for 32bit.
31239
c21372c4
MM
312402010-03-18 Michael Matz <matz@suse.de>
31241
31242 PR middle-end/43419
31243 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
31244 into sqrt(x) if we need to preserve signed zeros.
31245
82fa5f8a
L
312462010-03-18 Steven Bosscher <steven@gcc.gnu.org>
31247 Eric Botcazou <ebotcazou@adacore.com>
31248
31249 PR rtl-optimization/43360
31250 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
31251 note if we don't know its invariant status.
31252
eb45755f
MM
312532010-03-18 Michael Matz <matz@suse.de>
31254
31255 PR tree-optimization/43402
31256 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
31257 PHI chains of ssa names registered for update.
31258
60936b22
PB
312592010-03-17 Peter Bergner <bergner@vnet.ibm.com>
31260
31261 PR target/42427
31262 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
31263 non-offsettable and pre_modify update addressing.
31264 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
31265 and "2" alternatives "#".
31266 (*movdd_softfloat32): Make all alternatives "#";
31267 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
31268 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
31269 (*movdf_softfloat32): Make all alternatives "#";
31270 (movdi): Use the new DIFD mode iterator to create a common splitter
31271 for movdi, movdf and movdd patterns.
31272
316fc112
SZ
312732010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
31274
31275 * common.opt (dumpdir): Remove redundant tab.
31276
ec24771f
MJ
312772010-03-17 Martin Jambor <mjambor@suse.cz>
31278
31279 PR tree-optimization/43347
31280 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
31281 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
31282
e33c42db
BS
312832010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
31284
31285 PR rtl-optimization/42216
31286 * regrename.c (create_new_chain): New function, broken out from...
31287 (scan_rtx_reg): ... here. Call it. Handle the case where we are
31288 appending a use to an empty chain.
31289 (build_def_use): Remove previous changes that convert OP_INOUT to
31290 OP_OUT operands; instead detect the case where an OP_INOUT operand
fb04bb84 31291 uses a previously untracked register and create an empty chain for it.
e33c42db 31292
4c4177dc
RW
312932010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31294
31295 * doc/extend.texi (Function Attributes): Rewrite unfinished
31296 sentence in ms_abi documentation.
31297
60ac9511
AM
312982010-03-17 Alan Modra <amodra@gmail.com>
31299
31300 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
31301 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
31302 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
31303 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
31304
e19d1f06
RH
313052010-03-16 Richard Henderson <rth@redhat.com>
31306
31307 PR middle-end/43365
31308 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
31309 (lower_try_finally): Save and restore eh_seq around the expansion
31310 of the try-finally.
31311
c36fed0c
AH
313122010-03-16 Aldy Hernandez <aldyh@redhat.com>
31313
31314 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
31315 statements before splitting block.
31316
f4a4b582 313172010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17a7cb4e
RO
31318
31319 * doc/sourcebuild.texi (Testsuites): Fix markup.
31320 Use pathnames relative to gcc/testsuite.
31321 (Test Directives): Move description of how timeout is determined.
31322 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
31323 (C Tests): Correct gcc.misc-tests directory.
31324 Framework tests now live in gcc.test-framework.
31325
7686fb74
RG
313262010-03-16 Richard Guenther <rguenther@suse.de>
31327
31328 PR middle-end/43379
fb04bb84
UB
31329 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
31330 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
7686fb74 31331
7a181764
AH
313322010-03-16 Aldy Hernandez <aldyh@redhat.com>
31333 Alexandre Oliva <aoliva@redhat.com>
31334
31335 PR tree-optimization/42917
31336 * lambda-code.c (remove_iv): Skip debug statements.
31337 (lambda_loopnest_to_gcc_loopnest): Likewise.
31338 (not_interesting_stmt): Debug statements are not interesting.
31339
457eeaae
JJ
313402010-03-16 Jakub Jelinek <jakub@redhat.com>
31341
31342 PR debug/43051
31343 PR debug/43092
31344 * cselib.c (cselib_preserve_constants,
31345 cfa_base_preserved_val): New static variables.
31346 (preserve_only_constants): New function.
31347 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
fb04bb84 31348 clear its REG_VALUES. If cselib_preserve_constants, don't
457eeaae
JJ
31349 empty the whole hash table, but preserve there VALUEs with constants,
31350 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
31351 (cselib_preserve_cfa_base_value): New function.
31352 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
31353 (cselib_init): Change argument to int bitfield. Set
31354 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
31355 is in it.
31356 (cselib_finish): Clear cselib_preserve_constants and
31357 cfa_base_preserved_val.
31358 * cselib.h (enum cselib_record_what): New enum.
31359 (cselib_init): Change argument to int.
31360 (cselib_preserve_cfa_base_value): New prototype.
31361 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
31362 * dse.c (dse_step1): Likewise.
31363 * cfgcleanup.c (thread_jump): Likewise.
31364 * sched-deps.c (sched_analyze): Likewise.
31365 * gcse.c (local_cprop_pass): Likewise.
31366 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
31367 If FN is non-NULL, call the callback always and whenever it returns
31368 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
31369 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
31370 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
31371 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
31372 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
31373 * var-tracking.c: Include recog.h.
31374 (bb_stack_adjust_offset): Remove.
31375 (vt_stack_adjustments): Don't call it, instead just gather the
31376 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
31377 (adjust_stack_reference): Remove.
31378 (compute_cfa_pointer): New function.
31379 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
31380 (struct adjust_mem_data): New type.
31381 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
31382 functions.
31383 (get_address_mode): New function.
31384 (replace_expr_with_values): Use it.
31385 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
31386 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
31387 (adjust_sets): Remove.
31388 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
31389 Use get_address_mode.
31390 (get_adjusted_src): Remove.
31391 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
31392 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
31393 (add_with_sets): Don't call adjust_sets.
31394 (fp_setter, vt_init_cfa_base): New functions.
31395 (vt_initialize): Change return type to bool. Move most of pool etc.
31396 initialization to the beginning of the function from end. Pass
31397 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
31398 If !frame_pointer_needed, call vt_stack_adjustment before mos
31399 vector is filled, call vt_init_cfa_base if argp/framep has been
31400 eliminated to sp. If frame_pointer_needed and argp/framep has
31401 been eliminated to hard frame pointer, set
31402 hard_frame_pointer_adjustment and call vt_init_cfa_base after
31403 encountering fp setter in the prologue. For MO_ADJUST, call
31404 log_op_type before pusing the op into mos vector, not afterwards.
31405 Call adjust_insn before cselib_process_insn/add_with_sets,
31406 call cancel_changes (0) afterwards.
31407 (variable_tracking_main_1): Adjust for vt_initialize calling
31408 vt_stack_adjustments and returning whether it succeeded or not.
31409
7dee65d8
AH
314102010-03-15 Aldy Hernandez <aldyh@redhat.com>
31411
31412 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
31413 debug statements.
31414
6019a098
JJ
314152010-03-15 Jakub Jelinek <jakub@redhat.com>
31416
31417 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
31418 has been set.
31419 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
31420 drap_reg has not been set.
31421
c2172338
MM
314222010-03-15 Michael Matz <matz@suse.de>
31423
31424 PR middle-end/43300
31425 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
31426 use it to expand block copies.
31427 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
31428 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
31429 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
31430
610b64e2
RG
314312010-03-15 Richard Guenther <rguenther@suse.de>
31432
31433 PR tree-optimization/43367
31434 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
31435 elimination check.
31436
610de68d
RB
314372010-03-15 Richard Guenther <rguenther@suse.de>
31438
31439 PR tree-optimization/43317
31440 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
31441
932e2e64
MJ
314422010-03-15 Martin Jambor <mjambor@suse.cz>
31443
610de68d 31444 PR tree-optimization/43141
932e2e64
MJ
31445 * tree-sra.c (create_abstract_origin): New function.
31446 (modify_function): Call create_abstract_origin.
31447
c8c520dd
CD
314482010-03-15 Chris Demetriou <cgd@google.com>
31449
31450 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
31451 wasn't copied.
31452
7f931500
SP
314532010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31454
31455 PR middle-end/43354
31456 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
31457 call insert_out_of_ssa_copy for default definitions.
31458
314592010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31460
31461 * graphite-clast-to-gimple.c (my_long_long): Defined.
31462 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
31463 * graphite-sese-to-poly.c (my_long_long): Defined.
31464 (scop_ivs_can_be_represented): Use it.
31465
314662010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31467
31468 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
31469 graphite-max-bbs-per-function, and loop-block-tile-size.
31470 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
31471 with "maximum".
31472 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
31473
314742010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31475
31476 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
31477 forward declaration.
31478 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
31479 (add_upper_bounds_from_estimated_nit): New.
31480 (build_loop_iteration_domains): Use it.
31481
314822010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31483
31484 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
31485
314862010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31487
31488 PR middle-end/43306
31489 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
31490 should be an INTEGER_CST. Also handle CASE_CONVERT.
31491
314922010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31493
31494 * graphite.c (graphite_initialize): To bound the number of bbs per
31495 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
31496 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
31497 * doc/invoke.texi: Document it.
31498
314992010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31500
31501 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
31502 * graphite-sese-to-poly.h (build_poly_scop): Same.
31503
315042010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31505
31506 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
31507 the number of parameters in the scop. Use as an upper bound
31508 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
31509 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
31510 * doc/invoke.texi: Document it.
31511
929769f4
JQ
315122010-03-13 Jerry Quinn <jlquinn@optonline.net>
31513
31514 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
31515 * doc/c-tree.texi: Remove.
31516 * doc/generic.texi: Merge c-tree.texi here.
31517 * doc/gccint.texi (Trees): Remove menu entry.
31518 (c-tree.texi): Remove @include.
31519 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
31520 * doc/languages.texi (Reading RTL): Ditto.
31521
9c8cab44
SE
315222010-03-12 Steve Ellcey <sje@cup.hp.com>
31523
31524 PR target/42869
31525 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
31526
08f9d725
MM
315272010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
31528
31529 PR middle-end/42431
eed023cc 31530 * config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
08f9d725
MM
31531 code added to work around reload clobbering CONST insns.
31532
70235ab9
JJ
315332010-03-12 Jakub Jelinek <jakub@redhat.com>
31534
0de3e43f
JJ
31535 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
31536 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
31537 (cselib_preserve_only_values): Remove retain argument, don't
31538 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
31539 * cselib.h (cselib_preserve_only_values): Remove retain argument.
31540 * var-tracking.c (micro_operation): Move insn field before union.
31541 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
31542 (struct variable_tracking_info_def): Remove n_mos field, change
31543 mos into a vector of micro_operations.
31544 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
31545 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
31546 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
31547 changing into a vector.
31548 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
31549 come before all other uops generated by add_stores.
31550 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
31551 argument removal.
31552 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
31553 a vector. Run just one pass over the bbs instead of separate counting
31554 and computation phase.
31555 (vt_finalize): Free VTI (bb)->mos vector instead of array.
31556
70235ab9
JJ
31557 PR debug/43329
31558 * tree-inline.c (remap_decls): Put old_var rather than origin_var
31559 into *nonlocalized_list vector.
31560 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
31561 even if origin is non-NULL.
31562 (gen_variable_die): Likewise.
31563 (process_scope_var): Don't change origin.
31564 (gen_decl_die): Likewise.
31565 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
31566 before adding new edges instead of after it, fix moving over
31567 debug stmts.
31568
7ac22e17
DM
315692010-03-11 David S. Miller <davem@davemloft.net>
31570
77514c73
UB
31571 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
31572 of four.
7ac22e17
DM
31573 * configure: Rebuild.
31574
0e0a1359
MJ
315752010-03-11 Martin Jambor <mjambor@suse.cz>
31576
31577 PR tree-optimization/43257
31578 * tree.c (assign_assembler_name_if_neeeded): New function.
31579 (free_lang_data_in_cgraph): Assembler name assignment moved to the
31580 above new function.
31581 * tree.h (assign_assembler_name_if_neeeded): Declare.
31582 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
31583 the function if needed.
31584
1d9edd01
CD
315852010-03-11 Chris Demetriou <cgd@google.com>
31586
31587 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
31588 include/stdint-gcc.h, and include/stdint.h world-readable.
31589
ff0a0c1d
RG
315902010-03-11 Richard Guenther <rguenther@suse.de>
31591
31592 PR tree-optimization/43255
31593 * tree-vrp.c (process_assert_insertions_for): Do not insert
31594 asserts for trivial conditions.
31595
b509e1fc
AK
315962010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
31597
31598 PR tree-optimization/43280
77514c73
UB
31599 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
31600 generation. Move calculation of size out of the if branch.
b509e1fc
AK
31601 (find_bswap): Modify compare number generation.
31602
108ba00b
RG
316032010-03-11 Richard Guenther <rguenther@suse.de>
31604
31605 PR lto/43200
31606 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
31607 (input_gimple_stmt): Fixup handled component types during
31608 operand read. Also fix up decls in ADDR_EXPRs.
31609
f37f5bb9
EB
316102010-03-10 Eric Botcazou <ebotcazou@adacore.com>
31611
31612 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
31613 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
31614
e9fecf0e
JH
316152010-03-10 Jan Hubicka <jh@suse.cz>
31616
31617 PR c/43288
31618 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
31619 * varasm.c (get_variable_section): Don't do that here...
31620 (make_decl_rtl): ... and here.
31621 (do_assemble_alias): Produce decl RTL.
31622 (assemble_alias): Likewise.
31623
23f39b37
JJ
316242010-03-10 Jakub Jelinek <jakub@redhat.com>
31625
31626 PR debug/43290
31627 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
31628 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
31629 of fde->vdrap_reg.
31630 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
31631 (based_loc_descr): Only express drap or vdrap regno based expressions
31632 using DW_OP_fbreg when not optimizing.
31633 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
31634 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
31635 REG_CFA_SET_VDRAP note.
31636
6edd8198
AM
316372010-03-10 Alexander Monakov <amonakov@ispras.ru>
31638
31639 PR tree-optimization/43236
31640 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
31641 error in calculation of base address in reverse iteration case.
31642 (generate_builtin): Take number of latch executions if the statement
31643 is in the latch.
31644
9f698956
AB
316452010-03-10 Andrey Belevantsev <abel@ispras.ru>
31646
31647 PR middle-end/42859
31648 * tree-eh.c: Include pointer-set.h.
31649 (lower_eh_dispatch): Filter out duplicate case labels and
31650 remove the unneeded edge when the label is unused. Return
31651 true when some edges are removed.
31652 (execute_lower_eh_dispatch): When any lowering resulted in
31653 removing an edge, also delete unreachable blocks.
31654
ff4f03c3
JJ
316552010-03-10 Jakub Jelinek <jakub@redhat.com>
31656
31657 PR bootstrap/43287
31658 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
31659 UNSPEC_MACHOPIC_OFFSET.
31660
7b0f476d
AS
316612010-03-09 Andreas Schwab <schwab@linux-m68k.org>
31662
31663 PR target/43294
31664 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
31665 (m68k_delegitimize_address): New function.
31666
3b7998ea
JJ
316672010-03-09 Jakub Jelinek <jakub@redhat.com>
31668
eb1fcdaa
JJ
31669 PR debug/43299
31670 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
31671
69b89883
JJ
31672 PR debug/43299
31673 * var-tracking.c (adjust_sets): New function.
31674 (count_with_sets, add_with_sets): Use it.
31675 (get_adjusted_src): New inline function.
31676 (add_stores): Use it.
31677
3b7998ea
JJ
31678 PR debug/43304
31679 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
31680 call cselib_dummy_expand_value_rtx_cb instead of
31681 cselib_expand_value_rtx_cb.
bded9b70
JJ
31682
31683 PR debug/43293
31684 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
31685 * config/i386/i386.c: Include debug.h and dwarf2out.h.
31686 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
31687 and .cfi_endproc around the pic thunks.
31688 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
31689 all queued unwind info register saves are saved before the call.
31690 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
31691 considered as sp-=4 for unwind info and the pop as sp+=4 which
31692 also clobbers dest, but doesn't actually restore it.
4398467a
JJ
31693
31694 PR debug/43290
31695 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
31696 RTX_FRAME_RELATED_P.
31697
81ad4ac0
JZ
316982010-03-09 Jie Zhang <jie@codesourcery.com>
31699
31700 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
31701 whitespaces in output template.
31702
dc344e87
JZ
317032010-03-09 Jie Zhang <jie@codesourcery.com>
31704
31705 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
31706 out array boundary.
31707
ff12d3a6
JJ
317082010-03-08 Jakub Jelinek <jakub@redhat.com>
31709
31710 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
31711 builtins.exp in a separate job.
31712
b58543c3
SP
317132010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31714
31715 * graphite-sese-to-poly.c (add_param_constraints): Use
31716 lower_bound_in_type and upper_bound_in_type.
31717
317182010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31719
31720 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
31721 instead of unsigned_type_node.
31722
317232010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31724 Reza Yazdani <reza.yazdani@amd.com>
31725
31726 PR middle-end/43065
31727 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
31728 on pointer type parameters.
31729
317302010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
31731
31732 PR middle-end/42644
31733 PR middle-end/42130
31734 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
31735 handle conversions from pointer to integers.
31736 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
77514c73 31737 induction variable, to be able to work with code generated by CLooG.
b58543c3
SP
31738 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
31739 (build_poly_scop): Bail out if we cannot codegen a loop.
31740
317412010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
31742
31743 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
31744 code generation with gloog_error.
31745
317462010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31747
31748 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
31749 Call fold_convert on all the returned values.
77514c73
UB
31750 (expand_scalar_variables_expr): Pass to
31751 expand_scalar_variables_ssa_name the type of the resulting expression.
b58543c3
SP
31752
317532010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31754
31755 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
77514c73
UB
31756 ppl_min_for_le_pointset.
31757 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
b58543c3
SP
31758 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
31759
317602010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31761
31762 * graphite-dependences.c (map_into_dep_poly): Removed.
31763 (dependence_polyhedron_1): Use combine_context_id_scat.
31764
317652010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31766
31767 * graphite-poly.h (struct poly_scattering): Add layout documentation.
31768 (struct poly_bb): Same.
31769 (combine_context_id_scat): New.
31770
317712010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31772
31773 PR middle-end/42326
31774 * sese.c (name_defined_in_loop_p): Return false for default
31775 definitions.
31776
317772010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31778
31779 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
31780 and clean up the logic.
31781
317822010-03-08 Sebastian Pop <sebastian.pop@amd.com>
31783
31784 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
31785 early return.
31786
1feb8238
JJ
317872010-03-08 Jakub Jelinek <jakub@redhat.com>
31788
31789 * var-tracking.c (remove_cselib_value_chains): Define only for
31790 ENABLE_CHECKING.
31791 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
31792 delete_slot_part, emit_notes_for_differences_1): Don't call
31793 remove_cselib_value_chains here.
31794 (set_slot_part, emit_notes_for_differences_2): Don't call
31795 add_cselib_value_chains here.
31796 (preserved_values): New vector.
31797 (preserve_value): New function.
31798 (add_uses, add_stores, vt_add_function_parameters): Use it
31799 instead of cselib_preserve_value.
31800 (changed_values_stack): New vector.
31801 (check_changed_vars_0): New function.
31802 (check_changed_vars_1, check_changed_vars_2): Use it.
31803 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
31804 changed_values_stack VALUEs.
31805 (vt_emit_notes): For all preserved_values call
31806 add_cselib_value_chains. If ENABLE_CHECKING call
31807 remove_cselib_value_chains before verifying value_chains is empty.
31808 Initialize and free changed_values_stack.
31809 (vt_initialize): Initialize preserved_values.
31810 (vt_finalize): Free preserved_values.
31811
cc788fcc
RG
318122010-03-08 Richard Guenther <rguenther@suse.de>
31813
31814 PR tree-optimization/43269
31815 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
31816 region detection.
31817
69c103c7
MJ
318182010-03-08 Martin Jambor <mjambor@suse.cz>
31819
31820 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
31821 (ipa_is_param_called): Removed.
31822 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
31823 (ipa_print_node_params): Do not print the called flag.
31824 (ipa_write_node_info): Do not stream the called flag.
31825 (ipa_read_node_info): Likewise.
31826
864ddef7
JJ
318272010-03-07 Jakub Jelinek <jakub@redhat.com>
31828
31829 PR debug/43176
31830 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
31831 * cselib.c (struct expand_value_data): Add dummy field.
31832 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
31833 dummy to false.
31834 (cselib_dummy_expand_value_rtx_cb): New function.
31835 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
31836 any rtl.
31837 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
31838 * var-tracking.c: Include pointer-set.h.
31839 (variable): Change n_var_parts to char from int. Add
31840 cur_loc_changed and in_changed_variables fields.
31841 (variable_canonicalize): Remove.
31842 (shared_var_p): New inline function.
31843 (unshare_variable): Maintain cur_loc_changed and
31844 in_changed_variables fields. If var was in changed_variables,
31845 replace it there with new_var. Just copy cur_loc instead of
31846 resetting it to something else.
31847 (variable_union): Don't recompute cur_loc. Use shared_var_p.
31848 (dataflow_set_union): Don't call variable_canonicalize.
31849 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
31850 of their DEBUG_EXPR_TREE_DECLs.
31851 (canonicalize_loc_order_check): Verify that cur_loc is NULL
31852 and in_changed_variables and cur_loc_changed is false.
31853 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
31854 and cur_loc_changed. Don't update cur_loc here.
31855 (variable_merge_over_src): Don't call variable_canonicalize.
31856 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
31857 removing loc that is equal to cur_loc, clear cur_loc,
31858 set cur_loc_changed and ensure variable_was_changed is called.
31859 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
31860 compare pointers in cur_loc check, if it is equal to loc,
31861 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
31862 (variable_different_p): Remove compare_current_location argument,
31863 don't compare cur_loc.
31864 (dataflow_set_different_1): Adjust variable_different_p caller.
31865 (variable_was_changed): If dv had some var in changed_variables
31866 already, reset in_changed_variables flag for it and propagate
31867 cur_loc_changed over to the new variable. On empty var
31868 always set cur_loc_changed. Set in_changed_variables on whatever
31869 var is added to changed_variables.
31870 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
31871 Use shared_var_p. When removing loc that is equal to cur_loc,
31872 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
31873 end, don't set it to something else, just call variable_was_changed.
31874 (delete_slot_part): Use shared_var_p. When cur_loc equals to
31875 loc being removed, clear cur_loc and set cur_loc_changed.
31876 Set cur_loc_changed if all locations have been removed.
31877 (struct expand_loc_callback_data): New type.
31878 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
31879 allocated. Always create SUBREGs if simplify_subreg failed.
31880 Prefer to use cur_loc, when that fails and still in
31881 changed_variables (and seen first time) recompute it. Set
31882 cur_loc_changed of variables which had to change cur_loc and
31883 compute elcd->cur_loc_changed if any of the subexpressions used
31884 had to change cur_loc.
31885 (vt_expand_loc): Adjust to pass arguments in
31886 expand_loc_callback_data structure.
31887 (vt_expand_loc_dummy): New function.
31888 (emitted_notes): New variable.
31889 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
31890 that weren't used for any other decl in current
31891 emit_notes_for_changes call call vt_expand_loc_dummy to update
31892 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
31893 first loc_chain location if NULL before. Always use just
31894 cur_loc instead of first loc_chain location. When cur_loc_changed
31895 is false, when not --enable-checking=rtl just don't emit any note.
31896 When rtl checking, compute the note and assert it is the same
31897 as previous note. Clear cur_loc_changed and in_changed_variables
31898 at the end before removing from changed_variables.
31899 (check_changed_vars_3): New function.
31900 (emit_notes_for_changes): Traverse changed_vars to call
31901 check_changed_vars_3 on each changed var.
31902 (emit_notes_for_differences_1): Clear cur_loc_changed and
31903 in_changed_variables. Recompute cur_loc of new_var.
77514c73 31904 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
864ddef7
JJ
31905 (vt_emit_notes): Initialize and destroy emitted_notes.
31906
c4137918
BS
319072010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
31908
31909 PR rtl-optimization/42220
31910 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
31911 Use verify_reg_tracked to determine if we should use OP_OUT rather
31912 than OP_INOUT.
31913 (build_def_use): If we see an in-out operand for a register that we
31914 know nothing about, treat is an output if possible, fail the block if
31915 not.
31916
cd6549e8
AO
319172010-03-06 Alexandre Oliva <aoliva@redhat.com>
31918
31919 PR debug/42897
31920 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
31921 permanently.
31922
aba09491
AO
319232010-03-06 Alexandre Oliva <aoliva@redhat.com>
31924
31925 PR debug/42897
31926 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
31927 uses of relevant DEFs that are dead outside the loop too.
31928
f4a4b582 319292010-03-06 Alexandre Oliva <aoliva@redhat.com>
60d7a09b
AO
31930
31931 * var-tracking.c (dataflow_set_merge): Swap src and src2.
31932 Reverted:
31933 2010-01-13 Jakub Jelinek <jakub@redhat.com>
31934 PR debug/41371
31935 * var-tracking.c (values_to_unmark): New variable.
31936 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
31937 values_to_unmark vector. Moved body to...
31938 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
31939 instead queue it into values_to_unmark vector.
31940 (vt_find_locations): Free values_to_unmark vector.
31941
eeb971c9
EB
319422010-03-05 Eric Botcazou <ebotcazou@adacore.com>
31943
31944 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
31945 (site.exp): Export them when plugins are enabled.
31946
ccc5b640
SP
319472010-03-05 Sebastian Pop <sebastian.pop@amd.com>
31948
31949 PR middle-end/42326
31950 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
31951 that contain scevs.
31952 (chrec_fold_multiply): Same.
31953
3e23fb2e
AP
319542010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
31955
31956 PR c/43248
31957 * c-decl.c (build_compound_literal): Return early if init is
31958 an error_mark_node.
31959
76f76cd0
MJ
319602010-03-04 Martin Jambor <mjambor@suse.cz>
31961
31962 PR tree-optimization/43164
31963 PR tree-optimization/43191
31964 * tree-sra.c (type_consists_of_records_p): Reject records with
31965 zero-size bit-fields at the end.
31966
b2d244d1
MS
319672010-03-04 Mike Stump <mikestump@comcast.net>
31968
31969 * Makefile.in (TAGS): Remove *.y.
31970
9ca87236
RB
319712010-03-04 Richard Guenther <rguenther@suse.de>
31972
31973 PR tree-optimization/40761
31974 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
31975 in reverse order.
31976 (my_rev_post_order_compute): New function.
31977 (init_pre): Call it.
31978
572ae476
CF
319792010-03-04 Changpeng Fang <changpeng.fang@amd.com>
31980
8c0386a4 31981 PR middle-end/43209
9ca87236
RB
31982 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
31983 decrease the cost of an IV candidate when the cost is infinite.
572ae476 31984
f8723eb6
RW
319852010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31986
31987 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
31988 Use '3DNow!' for the extension of that name, ensure normal space
31989 after the string.
31990 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
31991
d8a60d24
JL
319922010-03-03 Jeff Law <law@redhat.com>
31993
31994 * PR middle-end/32693
31995 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
31996 than gen_rtx_SUBREG.
31997 (extract_bit_field_1): Likewise.
31998
8ec49cff
JJ
319992010-03-03 Janis Johnson <janis187@us.ibm.com>
32000
32001 * doc/sourcebuild.texi (Test directives): Document that arguments
32002 include-opts and exclude-opts are now optional for dg-skip-if,
32003 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
32004
2c71ac78
JM
320052010-03-03 Jason Merrill <jason@redhat.com>
32006
32007 PR c++/12909
32008 * cgraph.h (varpool_node): Add extra_name field.
32009 * varpool.c (varpool_extra_name_alias): New.
32010 (varpool_assemble_decl): Emit extra name aliases.
32011 (varpool_mark_needed_node): Look past an extra name alias.
1d5053d6
JM
32012 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
32013 * lto-streamer-in.c (lto_input_tree): Read it.
32014 * lto-streamer-out.c (output_unreferenced_globals): Write it.
2c71ac78 32015
2587aa3b
EB
320162010-03-03 Eric Botcazou <ebotcazou@adacore.com>
32017
32018 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
32019 (sparc*-*-solaris2*): ...this.
32020
db51bb34
JJ
320212010-03-03 Jakub Jelinek <jakub@redhat.com>
32022
7ece48b1
JJ
32023 PR debug/43229
32024 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
32025 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
32026 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
32027 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
32028
0508bed7
JJ
32029 PR debug/43237
32030 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
32031 fallthrough to default handling, just with want_address 0 instead of 2.
32032 For single element lists, add_AT_loc directly, otherwise create an
32033 artificial variable DIE and stick location list to it.
32034
db51bb34
JJ
32035 PR debug/43177
32036 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
32037 (VAL_EXPR_HAS_REVERSE): Define.
32038 (reverse_op): New function.
32039 (add_stores): For reversible operations add an extra MO_VAL_USE.
32040
7428bc26
JM
320412010-03-02 Jason Merrill <jason@redhat.com>
32042
32043 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
32044
d1ced155
EB
320452010-03-02 Eric Botcazou <ebotcazou@adacore.com>
32046
32047 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
32048 (sparc64-*-linux*): Likewise.
32049 (sparc64-*-solaris2*): Include assembler files before linker ones.
32050 (sparc-*-solaris2*): Simplify and reorder to match previous case.
32051 * config/sparc/gas.h: Delete.
32052 * config/sparc/sol2-64.h: Add copyright notice.
32053 * config/sparc/sol2-gas-bi.h: Likewise.
32054 * config/sparc/sol2-gld.h: Likewise.
32055 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
32056 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
32057 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
32058 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
32059 (sparc_elf_asm_named_section): Rename into...
32060 (sparc_solaris_elf_asm_named_section): ...this. Always define.
32061
02d43000
UB
320622010-03-02 Uros Bizjak <ubizjak@gmail.com>
32063
32064 * config/alpha/alpha.c (override_options): Fix -mtune error message.
32065
f6c86fab
JL
320662010-03-02 Jeff Law <law@redhat.com>
32067
4e222e63 32068 PR middle-end/42431
f6c86fab
JL
32069 * reload1.c (rtx_p, substitute_stack): Declare.
32070 (substitute): Record addresses of changed rtxs.
32071 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
32072 Restore the original rtx when complete.
32073 (reload): Free subsitute_stack when complete.
32074
500cdcb0
JJ
320752010-03-02 Janis Johnson <janis187@us.ibm.com>
32076
32077 * doc/gccint.texi (menu): Add Testsuites as a chapter.
32078 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
32079 new chapter.
32080 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
32081 LTO Testing, gcov Testing, profopt Testing, compat Testing,
32082 Torture Tests): Change from subsection to section.
32083
d9a6979d
JJ
320842010-03-02 Jakub Jelinek <jakub@redhat.com>
32085 Steven Bosscher <steven@gcc.gnu.org>
32086
02d43000
UB
32087 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
32088 instead of bb.
d9a6979d 32089
61226dc8
SP
320902010-03-02 Reza Yazdani <reza.yazdani@amd.com>
32091
32092 PR middle-end/42640
32093 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
32094 the assignment from the new induction variable to the assignment
32095 of the value from the original loop PHI function.
32096
15e7a617
JJ
320972010-03-01 Janis Johnson <janis187@us.ibm.com>
32098 Daniel Jacobowitz <dan@codesourcery.com>
32099
32100 * doc/sourcebuild.texi (Test directives): Clarify options to
32101 dg-skip-if.
32102
eb2573ee
RO
321032010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32104
32105 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
32106 Disable cfi directives unless GCC and gas agree on using read-only
32107 .eh_frame sections for 64-bit.
32108 * configure: Regenerate.
32109
12f9ddbc
RG
321102010-03-01 Richard Guenther <rguenther@suse.de>
32111
32112 PR tree-optimization/43220
32113 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
32114 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
32115
f0c10f0f 321162010-03-01 Richard Guenther <rguenther@suse.de>
02d43000 32117 Martin Jambor <mjambor@suse.cz>
f0c10f0f
RG
32118
32119 PR middle-end/41250
32120 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
32121 gimplified parameters.
32122
c40b5400
CB
321232010-03-01 Christian Bruel <christian.bruel@st.com>
32124
32125 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
61226dc8 32126
3c775d2d
L
321272010-03-01 H.J. Lu <hongjiu.lu@intel.com>
32128
32129 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
32130
434c8f4b
RG
321312010-03-01 Richard Guenther <rguenther@suse.de>
32132
32133 PR middle-end/43213
32134 * expr.c (expand_assignment): Use the alias-oracle to tell
32135 if the rhs aliases the result decl.
32136
291c0a12
RO
321372010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32138
32139 PR pch/14940
32140 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
32141 to sol_gt_pch_get_address.
32142 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
32143 64-bit, SPARC and x86.
32144 (sol_gt_pch_get_address): New function.
32145
61226dc8 321462010-03-01 Marco Poletti <poletti.marco@gmail.com>
894e2652
SZ
32147
32148 * toplev.h (inform_n, error_n): Declare.
32149 * diagnostic.c (inform_n, error_n): New function.
32150
6c6366f6
JJ
321512010-03-01 Jakub Jelinek <jakub@redhat.com>
32152
32153 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
32154 has no rtl yet when processing local_decls, queue it and recheck
32155 if deferred stack allocation hasn't assigned it rtl.
32156
826159e5
KK
321572010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
32158
32159 * config/sh/sh.c (unspec_bbr_uid): New.
32160 (gen_block_redirect): Use it instead of INSN_UID.
32161 (gen_far_branch): Likewise.
32162
746ecbcd
L
321632010-02-28 H.J. Lu <hongjiu.lu@intel.com>
32164
32165 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
32166 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
32167
02a9370c
RW
321682010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
32169
32170 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
32171 (Warning Options): -Wno-conversion-null is valid for
32172 Objective-C++ as well.
32173 * doc/tm.texi (Named Address Spaces): Likewise.
32174 * doc/plugins.texi (Plugins): Replace TABs with spaces.
32175 * doc/tree-ssa.texi (Tree SSA): Likewise.
32176
91ad7e13
L
321772010-02-27 H.J. Lu <hongjiu.lu@intel.com>
32178
32179 PR bootstrap/43202
32180 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
32181 by default. Don't set the default arch for
32182 i[34567]86-*-darwin*|x86_64-*-darwin*.
32183
55c4eeaa
L
321842010-02-27 H.J. Lu <hongjiu.lu@intel.com>
32185
32186 PR bootstrap/43202
32187 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
32188 default. Set the default 32bit/64bit archs with $with_arch
32189 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
32190
30bc1dca
RG
321912010-02-27 Richard Guenther <rguenther@suse.de>
32192
32193 PR tree-optimization/43186
32194 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
32195 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
32196 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
32197 unroller iterations.
32198
c6b9174f
L
321992010-02-27 H.J. Lu <hongjiu.lu@intel.com>
32200
32201 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
32202 required and i[34567]86-*-* targets don't support 64bit ISA.
32203
2743db69
EB
322042010-02-26 Eric Botcazou <ebotcazou@adacore.com>
32205
32206 PR ada/43096
32207 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
32208 the same alias set.
32209
4d16c0dc
L
322102010-02-26 H.J. Lu <hongjiu.lu@intel.com>
32211
32212 * config.gcc: Set the default arch at least to Prescott for
32213 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
32214 if SSE math is enabled.
32215
0e94b750
MLI
322162010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
32217
32218 * diagnostic.c (diagnostic_initialize): Update.
32219 (diagnostic_report_diagnostic): Test inhibit_notes_p for
32220 informative notes.
32221 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
32222 (diagnostic_inhibit_notes): New.
32223 * toplev.c (process_options): inhibit notes with -fcompare-debug.
32224
7e1542b9
MLI
322252010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
32226
32227 PR c/20631
32228 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
32229 * doc/standards.texi: Likewise.
32230 * doc/extend.texi: Likewise.
32231 * doc/trouble.texi: Likewise.
61226dc8 32232 * doc/cppopts.texi: Likewise.
7e1542b9
MLI
32233 * doc/install.texi: Likewise.
32234 * c.opt (std=c90,std=gnu90): New options.
32235 * c-opts.c (c_common_handle_option): Handle them.
32236
0b901e4c
MLI
322372010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
32238
32239 PR c/24577
32240 * c-decl.c (undeclared_variable): Use an informative note.
32241
37530014
RG
322422010-02-26 Richard Guenther <rguenther@suse.de>
32243
32244 PR tree-optimization/43186
32245 * gimple.h (gimple_fold): Remove.
32246 * gimple.c (gimple_fold): Remove. Inline into single user ...
32247 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
32248 Try harder for conditions.
32249
095c7b3c
JJ
322502010-02-26 Jakub Jelinek <jakub@redhat.com>
32251
32252 PR debug/43190
32253 * function.c (used_types_insert): Don't skip through named pointer
32254 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
32255 and it is different from the main variant's type.
32256
a1e205cf
NC
322572010-02-26 Nick Clifton <nickc@redhat.com>
32258
32259 * config/rx/rx.md (sminsi3): Remove bogus alternative.
32260
a3af5e26
L
322612010-02-26 H.J. Lu <hongjiu.lu@intel.com>
32262
32263 * config.gcc: Support --with-fpmath=sse for x86.
32264
32265 * config/i386/ssemath.h: New.
32266
32267 * doc/install.texi (--with-fpmath=sse): Documented.
32268
2f816591
RG
322692010-02-26 Richard Guenther <rguenther@suse.de>
32270
32271 PR tree-optimization/43188
32272 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
32273 vector types of over-aligned element type.
32274
7ce321b3
L
322752010-02-26 Uros Bizjak <ubizjak@gmail.com>
32276
32277 PR target/43175
32278 * config/i386/i386.c (expand_vec_perm_blend): Use correct
02d43000 32279 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
7ce321b3 32280
b55b184a
JK
322812010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
32282
32283 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
32284
e7140c8d
JJ
322852010-02-26 Jakub Jelinek <jakub@redhat.com>
32286
6764d92c
JJ
32287 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
32288 * var-tracking.c: Include diagnostic.h.
32289 (debug_dv): New function.
32290 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
32291
5a309965
JJ
32292 PR debug/43160
32293 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
32294 (add_value_chain, add_value_chains, remove_value_chain,
32295 remove_value_chains): Handle DEBUG_EXPRs.
32296 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
32297
e7140c8d
JJ
32298 PR debug/43161
32299 * regcprop.c (struct queued_debug_insn_change): New type.
32300 (struct value_data_entry): Add debug_insn_changes field.
32301 (struct value_data): Add n_debug_insn_changes field.
32302 (debug_insn_changes_pool): New variable.
32303 (free_debug_insn_changes, apply_debug_insn_changes,
32304 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
32305 (kill_value_one_regno): Call free_debug_insn_changes if needed.
32306 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
32307 fields.
32308 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
32309 changes for them.
32310 (copyprop_hardreg_forward_1): Don't call apply_change_group for
32311 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
32312 changes, call cprop_find_used_regs via note_stores.
32313 (copyprop_hardreg_forward): When copying vd from predecessor
32314 which has any queued DEBUG_INSN changes, make sure the pointers are
32315 cleared. At the end call df_analyze and then if there are any
32316 DEBUG_INSN changes queued at the end of some basic block for still
32317 live registers, apply them.
32318 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
32319
894b386f
UB
323202010-02-25 Uros Bizjak <ubizjak@gmail.com>
32321
32322 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
32323 (arm*-*-*): Ditto.
32324
3fd77630
L
323252010-02-25 H.J. Lu <hongjiu.lu@intel.com>
32326
32327 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
32328 targets. Set the default with_cpu/with_arch from arch/cpu.
32329 Allow x86-64 and native for with_cpu/with_arch.
32330
4b9c6075
NB
323312010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
32332
32333 * ebitmap.c: Change calls to verify_popcount with calls to
32334 sbitmap_verify_popcount.
32335 (ebitmap_clear_bit): Fixed map->cacheindex test and
32336 map>cache update when bit clearing results in an empty
32337 element.
32338
2fcd8e02
MM
323392010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
32340
32341 PR target/43154
32342 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
32343 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
32344 and support both V2DF and V2DI modes.
32345 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
32346 support both V2DF and V2DI modes.
32347 (general): Delete trailing whitespace from a few patterns.
32348
32349 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
32350 V2DF/V2DI interleave high/low builtins.
32351
32352 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
32353 new VSX builtins.
32354
32355 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
32356 interleave high/low functions.
32357
f61ae065
GP
323582010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
32359
32360 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
32361 #pragma extern_prefix.
32362
7d5d39bb
JJ
323632010-02-25 Jakub Jelinek <jakub@redhat.com>
32364
06796564
JJ
32365 PR debug/43166
32366 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
32367 BLKmode, assert op0 is a MEM and just adjust its mode.
32368
7d5d39bb
JJ
32369 PR debug/43165
32370 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
32371 if bitpos isn't multiple of mode's bitsize.
32372
124e0d27
MLI
323732010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
32374
32375 * c.opt (-ftemplate-depth=): New.
32376 (-ftemplate-depth-): Deprecate.
32377 * optc-gen.awk: Handle -ftemplate-depth=.
32378 * opth-gen.awk: Likewise.
32379 * c-opts.c (c_common_handle_option): Likewise.
02d43000 32380 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
124e0d27 32381
0e7750a0
JM
323822010-02-24 Jason Merrill <jason@redhat.com>
32383
32384 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
32385
c26238f4
RO
323862010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32387
32388 * cfg.c (alloc_aux_for_block): Remove inline.
32389 (alloc_aux_for_edge): Likewise.
32390
bef64e0f
RO
323912010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32392
32393 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
32394
68ba2afe
RO
323952010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32396
32397 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
32398 * config/i386/sol2-gas.h: New file.
32399 * config.gcc (i[34567]86-*-solaris2*): Use it.
32400
2d2e923f
MLI
324012010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
32402
32403 PR c/43128
32404 * c-typeck.c (ep_convert_and_check): New.
32405 (build_conditional_expr): Use it.
32406 (build_binary_op): Likewise.
32407
2e957792
JJ
324082010-02-24 Jakub Jelinek <jakub@redhat.com>
32409
a46368b2
JJ
32410 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
32411
2e957792
JJ
32412 PR debug/43150
32413 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
32414 bounds even for -O+.
32415 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
32416 expr needs to have DECL_NAME set.
32417
12a54f54
NC
324182010-02-24 Nick Clifton <nickc@redhat.com>
32419
32420 * config/mep/mep.c: Include gimple.h.
32421 (mep_function_uses_sp): Delete unused function.
32422 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
32423 parameters. Use unsigned integers to count args. Return a
32424 NULL_RTX instead of an error_mark_node. Toidy up formatting.
32425
8f40ad50
JJ
324262010-02-23 Jakub Jelinek <jakub@redhat.com>
32427
32428 PR target/43107
32429 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
32430 greater or equal to nelt instead of 2 * nelt.
32431 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
32432 with nelt - 1.
32433
a3b20e90
JM
324342010-02-23 Jason Merrill <jason@redhat.com>
32435
3adcf52c
JM
32436 PR debug/42800
32437 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
32438 in cfun->local_decls even if they have register types.
32439
a3b20e90
JM
32440 PR c++/42837
32441 * stor-layout.c (place_field): Don't warn about unnecessary
32442 DECL_PACKED if the type is packed.
32443
5ead99fa
JJ
324442010-02-23 Jakub Jelinek <jakub@redhat.com>
32445
32446 PR target/43139
32447 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
32448 GOTOFF relocs, even when the base reg isn't pic pointer.
32449
2a8e30fb
MM
324502010-02-23 Michael Matz <matz@suse.de>
32451
32452 PR debug/43077
32453 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
32454 (expand_gimple_basic_block): Generate and use debug temps if there
32455 are debug uses left after the last real use of TERed ssa names.
32456 Unlink debug immediate uses when they are expanded.
32457
38170f34
MLI
324582010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
32459
32460 PR 43123
32461 * config/i386/i386.c (override_options): Reorganise to provide
32462 better error messages.
32463
0f9c8f56
SP
324642010-02-22 Sebastian Pop <sebastian.pop@amd.com>
32465
32466 PR middle-end/43083
32467 * graphite-scop-detection.c (create_single_exit_edge): Move
32468 the call to find_single_exit_edge to....
32469 (create_sese_edges): ...here. Don't handle multiple edges
32470 exiting the function.
32471 (build_graphite_scops): Don't handle multiple edges
32472 exiting the function.
32473
324742010-02-22 Sebastian Pop <sebastian.pop@amd.com>
32475
32476 PR middle-end/43097
32477 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
32478 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
32479
324802010-02-22 Sebastian Pop <sebastian.pop@amd.com>
32481
32482 PR middle-end/43026
32483 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
32484
a98c2819
MLI
324852010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
32486
32487 PR c++/43126
32488 * c-typeck.c (convert_arguments): Print declaration location.
32489 * c-common.c (validate_nargs): Rename as
32490 builtin_function_validate_nargs.
32491 (check_builtin_function_arguments): Update.
32492
ea2edf88
RG
324932010-02-22 Richard Guenther <rguenther@suse.de>
32494
32495 PR lto/43045
32496 * tree-inline.c (declare_return_variable): Use the type of
32497 the call stmt lhs if available.
32498
669887fc
DS
324992010-02-22 Duncan Sands <baldrick@free.fr>
32500
32501 * passes.c (register_pass): Always consider all pass lists when
32502 ref_pass_instance_number is zero.
32503
9efc83f4
RG
325042010-02-22 Richard Guenther <rguenther@suse.de>
32505
32506 PR tree-optimization/42749
32507 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
32508 parameter. Do arithmetic in the original type.
32509 (update_accumulator_with_ops): Likewise.
32510 (adjust_accumulator_values): Adjust.
32511
0a88561f
AK
325122010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
32513
32514 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
32515 (QI to BLKmode splitter): New splitter.
32516
5c91eb02
L
325172010-02-22 H.J. Lu <hongjiu.lu@intel.com>
32518
32519 * config/i386/i386.c (initial_ix86_tune_features): Turn on
32520 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
32521
69e3b47f
RG
325222010-02-22 Richard Guenther <rguenther@suse.de>
32523
32524 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
5c91eb02 32525
45df0e43
HPN
325262010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
32527
32528 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
32529 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
32530 ($(T)crti.o, $(T)crtn.o): Remove rules.
32531
72bd130e
TB
325322010-02-21 Tobias Burnus <burnus@net-b.de>
32533
32534 PR fortran/35259
32535 * doc/invoke.texi (-fassociative-math): Document that this
32536 option is automatically enabled for Fortran.
32537
878ee0ab
DM
325382010-02-20 David S. Miller <davem@davemloft.net>
32539
32540 * configure.ac: Test if linker and assembler properly support
32541 GOTDATA_OP relocations.
32542 * configure: Rebuild.
32543 * config.in: Likewise.
32544 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
32545 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
32546 (movsi_high_pic): Likewise.
32547 (movdi_lo_sum_pic): Likewise.
32548 (movdi_high_pic): Likewise.
32549 (movsi_pic_gotdata_op): New pattern.
32550 (movdi_pic_gotdata_op): Likewise.
32551 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
32552 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
02d43000 32553
78c201a4
UB
325542010-02-20 Uros Bizjak <ubizjak@gmail.com>
32555
32556 PR target/43067
32557 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
32558 attribute to ssemul.
32559 (xop_mulv2div2di3_high): Ditto.
32560
17251338
MLI
325612010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
32562
32563 PR c++/35669
32564 * c.opt (Wconversion-null): New option.
32565 * doc/invoke.texi (Wconversion-null): Document.
32566
e7a84854
MLI
325672010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
32568
32569 * common.opt (Wlarger-than-): Add Undocumented.
78c201a4 32570
f233f7ed
MS
325712010-02-19 Mike Stump <mikestump@comcast.net>
32572
32573 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
32574
d88900d7
JM
325752010-02-19 Jason Merrill <jason@redhat.com>
32576
32577 PR target/40332
32578 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
32579 * configure: Likewise.
32580
715a4e08
AM
325812010-02-20 Alan Modra <amodra@gmail.com>
32582
32583 PR middle-end/42344
32584 * cgraph.h (cgraph_make_decl_local): Declare.
32585 * cgraph.c (cgraph_make_decl_local): New function.
32586 (cgraph_make_node_local): Use it.
32587 * cgraphunit.c (cgraph_function_versioning): Likewise.
32588 * ipa.c (function_and_variable_visibility): Likewise.
32589
ad3b056c
JJ
325902010-02-19 Jakub Jelinek <jakub@redhat.com>
32591
32592 PR bootstrap/43121
32593 * except.c (sjlj_emit_function_enter): Don't call
32594 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
32595 directly.
32596 * rtl.h (add_reg_br_prob_note): Remove prototype.
32597
58076e21
MLI
325982010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
32599
32600 PR 41779
32601 * c-common.c (conversion_warning): Remove widening conversions
32602 before checking the conversion of integers to reals.
32603
b42186f1
MS
326042010-02-19 Mike Stump <mikestump@comcast.net>
32605
c387e067
MS
32606 PR middle-end/43125
32607 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
32608
b42186f1
MS
32609 PR objc/43061
32610 * cgraphunit.c (process_function_and_variable_attributes): Check
32611 DECL_PRESERVE_P instead of looking up attribute "used".
32612 * ipa-pure-const.c (check_decl): Likewise.
32613 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
32614 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
32615 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
32616 instead of attribute "used".
32617 * config/sol2-c.c (solaris_pragma_init): Likewise.
32618 (solaris_pragma_fini): Likewise.
32619
8ac074e8
JJ
326202010-02-19 Jakub Jelinek <jakub@redhat.com>
32621
25c0cad4
JJ
32622 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
32623 Use XCNEW instead of xcalloc.
32624 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
32625 XNEW instead of xmalloc.
32626 (get_fields): Use XNEWVEC instead of xmalloc.
32627
e19bcb67
JJ
32628 PR debug/43084
32629 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
32630 populate vars array.
32631 (create_new_general_access): For debug stmts just reset value.
32632 (get_stmt_accesses): For accesses within debug stmts just record them
32633 using add_access_to_acc_sites instead of preventing the peeling or
32634 counting them as accesses.
32635
8ac074e8
JJ
32636 PR middle-end/42233
32637 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
32638
c7da0354
RG
326392010-02-19 Richard Guenther <rguenther@suse.de>
32640
32641 PR tree-optimization/42916
32642 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
32643 instructions.
32644
e5dfb95f
AS
326452010-02-19 Andreas Schwab <schwab@linux-m68k.org>
32646
32647 * configure.ac: Replace all uses of changequote in macro arguments
32648 with proper quoting.
32649
2bdd49f4
JJ
326502010-02-19 Jakub Jelinek <jakub@redhat.com>
32651
32652 PR middle-end/42233
32653 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
32654
604d0dbc
RG
326552010-02-19 Richard Guenther <rguenther@suse.de>
32656
32657 PR tree-optimization/42944
32658 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
32659 test for aliasing with errno.
32660
554cf330
JJ
326612010-02-19 Jakub Jelinek <jakub@redhat.com>
32662
40e90eac
JJ
32663 PR middle-end/42233
32664 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
32665 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
32666 * dojump.c: Include output.h.
32667 (inv): New inline function.
32668 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
32669 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
32670 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
32671 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
32672 argument, pass it down to other calls.
32673 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
32674 add REG_BR_PROB note to the conditional jump.
32675 * cfgexpand.c (add_reg_br_prob_note): Removed.
32676 (expand_gimple_cond): Don't call it, add the probability
32677 as last argument to jumpif_1/jumpifnot_1.
32678 * Makefile.in (dojump.o): Depend on output.h.
32679 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
32680 callers.
32681 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
32682 * stmt.c (do_jump_if_equal): Likewise.
32683 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
32684 * loop-unswitch.c (compare_and_jump_seq): Likewise.
32685 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
32686 Likewise.
32687 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
32688 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
32689 jumpifnot_1 callers.
32690 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
32691 callers.
32692 (store_expr): Adjust jumpifnot caller.
32693 (store_constructor): Adjust jumpif caller.
32694
554cf330
JJ
32695 PR middle-end/42233
32696 * gimplify.c (gimple_boolify): For __builtin_expect call
32697 gimple_boolify also on its first argument.
32698
1a242e3c
UB
326992010-02-18 Uros Bizjak <ubizjak@gmail.com>
32700
32701 * configure.ac (gnu-unique-object): Wrap regexps using [] in
32702 changequote block.
32703 (__stack_chk_fail): Ditto. Remove quadrigraphs.
32704 * configure: Regenerated.
32705
86866b28
UW
327062010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
32707
32708 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
32709 lang_hooks.types_compatible_p instead of comptypes.
32710
f4a4b582 327112010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
8168ccc0
SH
32712
32713 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
32714 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
32715 if __prefer_thumb__ is defined.
32716
746e119f
MJ
327172010-02-18 Martin Jambor <mjambor@suse.cz>
32718
32719 PR tree-optimization/43066
32720 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
32721 array with zero-sized element type.
32722
82cf0c8c
JJ
327232010-02-18 Jakub Jelinek <jakub@redhat.com>
32724
32725 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
32726 rtx, allocate struct var_loc_node here and return it to the
32727 caller, and only if it is actually needed.
32728 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
32729 move it earlier and return immediately if it returns NULL.
32730
ccb265d6
MP
327312010-02-17 Mikael Pettersson <mikpe@it.uu.se>
32732
32733 * config/sparc/gas.h: New file. Restore
32734 TARGET_ASM_NAMED_SECTION to its ELF default.
32735 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
32736 check !HAVE_GNU_AS.
32737 * config/sparc/sparc.c (sparc_elf_asm_named_section):
32738 Likewise. Add ATTRIBUTE_UNUSED to prototype.
32739 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
32740 after sparc/sysv4.h.
32741
a30f3def
DK
327422010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
32743
32744 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
32745
2f6c5b27
SB
327462010-02-17 Steven Bosscher <steven@gcc.gnu.org>
32747
32748 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
32749 patterns from predicated pattern.
32750
b5e33e04
UB
327512010-02-17 Uros Bizjak <ubizjak@gmail.com>
32752
32753 PR target/43103
32754 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
32755 for insn mnemonic suffix.
32756
a95740b3
RG
327572010-02-17 Richard Guenther <rguenther@suse.de>
32758
32759 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
32760 to loop PHI nodes.
32761
169e464e
JJ
327622010-02-17 Jakub Jelinek <jakub@redhat.com>
32763
32764 PR debug/42918
32765 * caller-save.c (save_call_clobbered_regs): If BB ends with
32766 a DEBUG_INSN, move any notes in between last real insn and the last
32767 DEBUG_INSN after the last DEBUG_INSN.
32768
5498b6d2
JR
327692010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
32770
32771 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
32772 Fix return type. Fix argument type. Explain meaning of return value.
32773
b09bae68
RG
327742010-02-16 Richard Guenther <rguenther@suse.de>
32775
32776 PR tree-optimization/41043
a691bb08 32777 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
b09bae68
RG
32778 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
32779 statements ...
32780 (vrp_visit_phi_node): ... but only for loop PHI nodes.
32781
d5dceab8 327822010-02-16 Ira Rosen <irar@il.ibm.com>
99f51320
IR
32783
32784 PR tree-optimization/43074
32785 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
32786 * tree-vect-loop.c (vect_analyze_loop_operations): Add
32787 vectorizable cycles in hybrid SLP check.
32788 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
32789
f47e08d9
RG
327902010-02-16 Richard Guenther <rguenther@suse.de>
32791
b5e33e04 32792 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
f47e08d9
RG
32793 (true_dependence): If memrefs_conflict_p computes must-alias
32794 trust it. Move TBAA check after offset-based disambiguation.
32795 (canon_true_dependence): Likewise.
32796
ec8c3978
JJ
327972010-02-16 Alexandre Oliva <aoliva@redhat.com>
32798
32799 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
32800 * doc/invoke.texi: Document it.
32801 * var-tracking.c: Include toplev.h and params.h.
32802 (vt_find_locations): Return bool indicating success. Compute
32803 hash sizes unconditionally. Check new parameter, report.
32804 (variable_tracking_main_1): Check vt_find_locations results and
32805 retry. Renamed from...
32806 (variable_tracking_main): ... this. New wrapper to preserve
32807 flag_var_tracking_assignments.
32808 * Makefile.in (var-tracking.o): Adjust dependencies.
32809
f4a4b582
EB
328102010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
32811 Jakub Jelinek <jakub@redhat.com>
3bf6b403
JH
32812
32813 PR target/42854
32814 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
32815 if weak_import attribute is present.
32816 * config/darwin.c (machopic_select_section): Likewise.
32817
a934eb2d
JR
328182010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
32819
32820 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
32821 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
32822 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
32823 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
32824
74ca3393
EB
32825 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
32826 types.
a934eb2d
JR
32827
32828 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
32829 Fix argument types.
32830
32831 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
32832 Rewrite text to refer to the names.
32833
02edd2f6
SP
328342010-02-15 Sebastian Pop <sebastian.pop@amd.com>
32835
32836 * config/i386/i386-builtin-types.def
32837 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
32838 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
32839 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
32840 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
32841 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
32842 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
32843 IX86_BUILTIN_VPERMIL2PS256.
32844 (MULTI_ARG_4_DF2_DI_I): Defined.
32845 (MULTI_ARG_4_DF2_DI_I1): Defined.
32846 (MULTI_ARG_4_SF2_SI_I): Defined.
32847 (MULTI_ARG_4_SF2_SI_I1): Defined.
32848 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
32849 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
32850 __builtin_ia32_vpermil2ps256.
32851 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
32852 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
32853 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
32854 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
32855 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
32856 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
32857 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
32858 CODE_FOR_xop_vpermil2v8sf3.
32859 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
32860 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
32861 * config/i386/xopintrin.h (_mm_permute2_pd): New.
32862 (_mm256_permute2_pd): New.
32863 (_mm_permute2_ps): New.
32864 (_mm256_permute2_ps): New.
32865
ac447f25
NC
328662010-02-15 Nick Clifton <nickc@redhat.com>
32867
d079b87f 32868 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
ac447f25
NC
32869 boolean parameters. Use emit_jump_insn when emitting a pop
32870 instruction containing a return insn.
b5e33e04
UB
32871 (push): Use 'true' rather than '1' as second parameter to F.
32872 (h8300_expand_prologue): Likewise.
32873 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
32874 (h8300_expand_epilogue): Likewise.
ac447f25 32875
313333a6
RG
328762010-02-15 Richard Guenther <rguenther@suse.de>
32877
32878 PR middle-end/43068
32879 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
32880 if that is zero.
32881
653958e8
NC
328822010-02-15 Nick Clifton <nickc@redhat.com>
32883
32884 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
32885 delta.
32886
0f667308
MP
328872010-02-14 Marco Poletti <poletti.marco@gmail.com>
32888
32889 * intl.c (fake_ngettext): New function.
32890 * intl.h (fake_ngettext): Declare.
32891 (ngettext): Define macro.
32892 * collect2.c (notice_translated): New function.
32893 (main): Use notice_translated and ngettext.
32894 * collect2.h (notice_translated): Declare.
32895
912eb5a4
SB
328962010-02-14 Steven Bosscher <steven@gcc.gnu.org>
32897
32898 * reorg.c (delete_computation): Comment fixes.
32899 * caller-save.c (setup_save_areas): Idem.
32900 * sel-sched-dump.c (dump_lv_set): Idem.
32901 * rtl.def: Idem.
32902
244e6c5c
AK
329032010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
32904
32905 * config/s390/s390.c (s390_sched_init): New function.
32906 (TARGET_SCHED_INIT): Target hook defined.
32907
9ab99933
DK
329082010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
32909 Jack Howarth <howarth@bromo.med.uc.edu>
f4a4b582 32910 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9ab99933
DK
32911
32912 PR target/42982
32913 Partial revert of unintended change in fix for PR41605.
32914 * config/darwin.h: Fix typo.
32915 * config/darwin9.h: Same.
32916
ed5bdeb6
JJ
329172010-02-11 Jakub Jelinek <jakub@redhat.com>
32918
32919 * c-pch.c (pch_init): Clear v.
32920
f432760f
SP
329212010-02-11 Sebastian Pop <sebastian.pop@amd.com>
32922
32923 PR middle-end/42930
32924 * graphite-scop-detection.c (graphite_can_represent_scev): Call
32925 graphite_can_represent_init for MULT_EXPR.
32926
329272010-02-11 Sebastian Pop <sebastian.pop@amd.com>
32928
32929 PR middle-end/42914
32930 PR middle-end/42530
32931 * graphite-sese-to-poly.c (remove_phi): New.
32932 (translate_scalar_reduction_to_array): Call remove_phi.
32933
329342010-02-11 Sebastian Pop <sebastian.pop@amd.com>
32935
32936 PR middle-end/42771
32937 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
32938 * graphite-clast-to-gimple.h (gloog): Update declaration.
32939 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
32940 * graphite-poly.h (struct poly_bb): Add missing comments.
32941 (struct scop): Add poly_scop_p field.
32942 (POLY_SCOP_P): New.
32943 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
32944 * graphite.c (graphite_transform_loops): Build the polyhedral
32945 representation for each scop before code generation.
32946 * sese.c (rename_variables_in_operand): Removed.
32947 (rename_variables_in_expr): Return the renamed expression.
32948 (rename_sese_parameters): New.
32949 * sese.h (rename_sese_parameters): Declared.
32950
6d892147
RG
329512010-02-11 Richard Guenther <rguenther@suse.de>
32952
32953 PR tree-optimization/42998
32954 * tree-ssa-pre.c (create_expression_by_pieces): Treat
32955 POINTER_PLUS_EXPR properly.
32956
04eadb13
SP
329572010-02-11 Sebastian Pop <sebastian.pop@amd.com>
32958 Changpeng Fang <changpeng.fang@amd.com>
32959
32960 PR middle-end/40886
32961 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
32962 the cost of an IV candidate when the IV is used in a test against zero.
32963
32964 * gcc.dg/tree-ssa/ivopts-3.c: New.
32965
91753e21
RG
329662010-02-11 Richard Guenther <rguenther@suse.de>
32967
32968 PR lto/41664
32969 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
32970 pointer-vs-decl case by swapping refs. Handle some cases
32971 of pointer-vs-decl disambiguations more conservatively.
32972 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
32973 to false after expanding.
32974
f68df07c
RG
329752010-02-11 Richard Guenther <rguenther@suse.de>
32976
32977 PR driver/43021
32978 * gcc.c (process_command): Handle LTO file@offset case more
32979 appropriately.
32980
d2d36740
JJ
329812010-02-11 Jakub Jelinek <jakub@redhat.com>
32982
8f6aedba
JJ
32983 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
32984 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
32985 of DEBUG_INSNs.
32986 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
32987
d2d36740
JJ
32988 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
32989 if MEM's mode size isn't DWARF2_ADDR_SIZE.
32990 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
32991 Optimize eq/ne comparisons when both arguments are known to be
32992 zero-extended.
32993 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
32994 Don't mask operands unnecessarily if they are known to be already
32995 zero-extended.
32996
56592e03
VM
329972010-02-10 Vladimir Makarov <vmakarov@redhat.com>
32998
32999 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
33000 instead of loop.
33001
5418fe84
RG
330022010-02-10 Richard Guenther <rguenther@suse.de>
33003
33004 PR tree-optimization/43017
33005 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
33006 for wrapping signed arithmetic.
33007
92e8e53a
JJ
330082010-02-10 Jakub Jelinek <jakub@redhat.com>
33009
33010 PR debug/43010
33011 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
33012 if no debug info should be emitted for it.
33013
bd55b817
KK
330142010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
33015
33016 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
33017 note when flag_exceptions is set.
33018
2ab43a52
DS
330192010-02-10 Duncan Sands <baldrick@free.fr>
33020
33021 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
33022
d977cb9c
RG
330232010-02-10 Richard Guenther <rguenther@suse.de>
33024
33025 PR c/43007
33026 * tree.c (get_unwidened): Handle constants.
33027 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
33028
563cb662
MJ
330292010-02-10 Martin Jambor <mjambor@suse.cz>
33030
33031 PR lto/42985
33032 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
33033 check for variable argument counts independently.
33034
9e3c399e
CB
330352010-02-10 Christian Bruel <christian.bruel@st.com>
33036
33037 PR target/42841
33038 * config/sh/sh.c (find_barrier): Increase length for non delayed
33039 conditional branches.
01305d24 33040
e938feb4
CB
330412010-02-10 Christian Bruel <christian.bruel@st.com>
33042
33043 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
01305d24 33044
cbb1ab10
JJ
330452010-02-10 Jakub Jelinek <jakub@redhat.com>
33046
33047 * builtins.c (set_builtin_user_assembler_name): Also handle
33048 ffs if int is smaller than word.
33049
b09495c1
VM
330502010-02-09 Vladimir Makarov <vmakarov@redhat.com>
33051
33052 PR middle-end/42973
33053 * ira-conflicts.c (get_dup): Remove.
33054 (process_reg_shuffles): Add new parameter. Use it as an
33055 additional guard for copy generation.
33056 (add_insn_allocno_copies): Rewrite.
33057
57257f0d
AM
330582010-02-09 Alexander Monakov <amonakov@ispras.ru>
33059
33060 * common.opt (fsched2-use-traces): Preserved for backward
33061 compatibility.
33062 * doc/invoke.texi: Remove the documentation about option
33063 -fsched2-use-traces.
33064 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
33065 flag_sched2_use_traces.
33066 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
33067 the backward compatibility flag section.
33068
72d182d3
RG
330692010-02-09 Richard Guenther <rguenther@suse.de>
33070
33071 PR tree-optimization/43008
33072 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
33073 make HEAP variables initialized from global memory if they
33074 are not known builtin functions.
33075 (find_func_aliases): Adjust.
33076
9605a606
RG
330772010-02-09 Richard Guenther <rguenther@suse.de>
33078
33079 PR tree-optimization/43000
33080 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
33081 arithmetic manually.
33082
8d9eca14
JJ
330832010-02-08 Jakub Jelinek <jakub@redhat.com>
33084
33085 PR tree-optimization/42931
33086 * tree-loop-linear.c (try_interchange_loops): Don't call
33087 double_int_mul if estimated_loop_iterations failed.
33088
d3545524
MJ
330892010-02-08 Martin Jambor <mjambor@suse.cz>
33090
33091 PR middle-end/42898
33092 * tree-sra.c (build_accesses_from_assign): Do not mark in
33093 should_scalarize_away_bitmap if stmt has volatile ops.
33094 (sra_modify_assign): Do not process assigns piecemeal if if stmt
33095 has volatile ops.
33096
8a9a2486
JR
330972010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
33098
33099 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
33100
7bf25dd6
AN
331012010-02-07 Adam Nemet <adambnmet@gmail.com>
33102
33103 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
33104 before the pattern.
33105
a46edbff
AP
331062010-02-07 Andrew Pinski <pinskia@gmail.com>
33107
33108 PR middle-end/42946
33109 * df-core.c (df_finish_pass): Change type of saved_flags to int.
33110
86da963e
SP
331112010-02-07 Sebastian Pop <sebastian.pop@amd.com>
33112
33113 PR middle-end/42988
33114 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
33115 to unknown_dependence.
33116 (graphite_legal_transform_dr): Handle the unknown_dependence.
33117 (graphite_carried_dependence_level_k): Same.
33118
331192010-02-07 Sebastian Pop <sebastian.pop@amd.com>
33120
33121 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
33122
997ac87b
RG
331232010-02-07 Richard Guenther <rguenther@suse.de>
33124
33125 PR middle-end/42991
33126 * expr.c (get_inner_reference): Always initialize *pbitsize.
33127
cb6b911a
RG
331282010-02-07 Richard Guenther <rguenther@suse.de>
33129
33130 PR middle-end/42956
33131 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
33132 new ARRAY_REFs on variable size element or minimal index arrays.
33133 Complete.
33134 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
33135 gimple_fold_indirect_ref.
33136
b761dbe6
RE
331372010-02-06 Richard Earnshaw <rearnsha@arm.com>
33138
33139 PR target/42957
33140 * arm.c (arm_override_options): Just return if the user has specified
33141 an invalid fpu name.
33142
b2469a9b
JM
331432010-02-03 Jason Merrill <jason@redhat.com>
33144
33145 PR c++/42870
33146 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
33147 i386_pe_maybe_record_exported_symbol.
33148
1f65437d
SE
331492010-02-05 Steve Ellcey <sje@cup.hp.com>
33150
33151 PR target/42924
33152 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
33153 (pa_delegitimize_address): New function.
33154
126edba2
OS
331552010-02-05 Ozkan Sezer <sezeroz@gmail.com>
33156
33157 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
33158 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
33159
532df904
RG
331602010-02-05 Richard Guenther <rguenther@suse.de>
33161
33162 PR lto/42762
33163 * lto-streamer-in.c (get_resolution): Deal with references
33164 to undefined functions.
33165
5c95f07b
RG
331662010-02-05 Richard Guenther <rguenther@suse.de>
33167
b5e33e04 33168 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
5c95f07b
RG
33169 (fold_const_aggregate_ref): Likewise.
33170 (ccp_fold_stmt): Substitute loads.
33171 (maybe_fold_reference): Verify types before substituting.
33172 Unshare properly.
33173 (fold_gimple_assign): Unshare properly.
b5e33e04 33174 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
5c95f07b 33175
64aa00b1
NF
331762010-02-05 Nathan Froyd <froydnj@codesourcery.com>
33177
33178 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
33179 for rs6000_gen_cell_microcode.
33180
b0f19292
RG
331812010-02-04 Richard Guenther <rguenther@suse.de>
33182
33183 PR rtl-optimization/42952
33184 * dse.c (const_or_frame_p): Remove MEM handling.
33185
f7eb48b5
NC
331862010-02-04 Nick Clifton <nickc@redhat.com>
33187
33188 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
33189 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
33190 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
33191 (mn10300_asm_output_mi_thunk): New function.
33192 (mn10300_can_output_mu_thunk): New function.
33193 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
33194 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
33195 (FUNCTION_ARG): Delete incorrect comment.
33196
2aac1924
JM
331972010-02-03 Jason Merrill <jason@redhat.com>
33198
33199 PR c++/40138
33200 * fold-const.c (operand_equal_p): Handle erroneous types.
33201
3e5f930f 332022010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
07738b87
KP
33203
33204 * config/h8300/h8300.md (can_delay): Fix attibute condition.
33205
a7f3e500
VM
332062010-02-03 Vladimir Makarov <vmakarov@redhat.com>
33207
3e5f930f 33208 PR rtl-optimization/42941
a7f3e500
VM
33209 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
33210 of xmalloc.
33211
59d49708
JM
332122010-02-03 Jason Merrill <jason@redhat.com>
33213
33214 PR c++/35652
33215 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
33216
5440c0e7
AO
332172010-02-03 Alexandre Oliva <aoliva@redhat.com>
33218
33219 PR debug/42896
02d43000 33220 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
5440c0e7
AO
33221 (cselib_reset_table): Renamed from...
33222 (cselib_reset_table_with_next_value): ... this.
33223 (cselib_get_next_uid): Renamed from...
33224 (cselib_get_next_unknown_value): ... this.
33225 * cselib.c (next_uid): Renamed from...
33226 (next_unknown_value): ... this.
33227 (cselib_clear_table): Adjust.
33228 (cselib_reset_table): Adjust. Renamed from...
33229 (cselib_reset_table_with_next_value): ... this.
33230 (cselib_get_next_uid): Adjust. Renamed from...
33231 (cselib_get_next_unknown_value): ... this.
33232 (get_value_hash): Use hash.
33233 (cselib_hash_rtx): Likewise.
33234 (new_cselib_val): Adjust. Set and dump uid.
33235 (cselib_lookup_mem): Pass next_uid as hash.
33236 (cselib_subst_to_values): Likewise.
33237 (cselib_log_lookup): Dump uid.
33238 (cselib_lookup): Pass next_uid as hash. Adjust.
33239 (cselib_process_insn): Adjust.
33240 (cselib_init): Initialize next_uid.
33241 (cselib_finish): Adjust.
33242 (dump_cselib_table): Likewise.
33243 * dse.c (canon_address): Dump value uid.
33244 * print-rtl.c (print_rtx): Print value uid.
33245 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
33246 (dvuid): New type.
33247 (dv_uid): New function, sort of renamed from...
33248 (dv_htab_hash): ... this, reimplemented in terms of it and...
33249 (dv_uid2hash): ... this. New.
33250 (variable_htab_eq): Drop excess assertions.
33251 (tie_break_pointers): Removed.
33252 (canon_value_cmp): Compare uids.
33253 (variable_post_merge_New_vals): Print uids.
33254 (vt_add_function_parameters): Adjust.
33255 (vt_initialize): Reset table. Adjust.
33256
e3c70387
RG
332572010-02-03 Richard Guenther <rguenther@suse.de>
33258
33259 PR tree-optimization/42944
b5e33e04 33260 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
e3c70387
RG
33261 (call_may_clobber_ref_p_1): Likewise. Properly handle
33262 malloc and calloc clobbering errno.
33263
4cad6dba
SB
332642010-02-03 Steven Bosscher <steven@gcc.gnu.org>
33265
33266 * doc/invoke.texi: Fix name of sched1 dump.
33267
33268 * opts.c (decode_options): Set flag_tree_switch_conversion
33269 only conditionally on optimize >= 2.
33270
33271 * gcse.c: Assorted comment fixes in pass description.
33272
693ee8cf
AG
332732010-02-03 Anthony Green <green@moxielogic.com>
33274
33275 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
33276 nop padding in order to maintain alignment of storage location of
33277 target function address.
33278 (moxie_trampoline_init): Store target function address at newly
33279 aligned location.
33280 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
33281 to 32.
33282 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
33283
bf8e3b77
RG
332842010-02-03 Richard Guenther <rguenther@suse.de>
33285
33286 PR middle-end/42927
33287 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
33288
bde17fdc
RO
332892010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
33290
33291 * config.gcc: Reenable check for obsolete targets.
33292 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
33293 mips-sgi-irix6.[0-4]*.
33294
c9c27b72
NC
332952010-02-02 Nick Clifton <nickc@redhat.com>
33296
33297 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
33298 constant size of 4 as being the same as 0.
33299 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
33300 can take values in the range 0..4.
33301
fc15bd03
JH
333022010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
33303
33304 PR java/41991
33305 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
33306 as _darwin10_Unwind_FindEnclosingFunction().
33307 * libgcc-libsystem.ver: New.
33308
6eeea7a7
VM
333092010-02-01 Vladimir Makarov <vmakarov@redhat.com>
33310
33311 PR target/41399
33312 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
33313 implicitly set registers.
33314
87d05b44
RE
333152010-02-01 Richard Earnshaw <rearnsha@arm.com>
33316
33317 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
33318 (arm_override_options): Allow automatic selection of the thread
33319 pointer register if thumb2.
33320 (legitimize_pic_address): Improve code sequences for Thumb2.
33321 (arm_call_tls_get_addr): Likewise.
33322 (legitimize_tls_address): Likewise.
33323 * arm.md (pic_load_addr_arm): Delete. Replace with ...
33324 (pic_load_addr_32bit): ... this. New named pattern.
33325 * thumb2.md (pic_load_addr_thumb2): Delete.
33326 (pic_load_dot_plus_four): Delete.
33327 (tls_load_dot_plus_four): New named pattern.
33328
cb717ac4
RO
333292010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
33330
33331 PR libgomp/29986
33332 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
33333 Document fix for TLS bug.
33334
44f89620
RG
333352010-01-31 Richard Guenther <rguenther@suse.de>
33336
33337 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
33338 conservatively correct.
33339
747b0aed
JDA
333402010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
33341
33342 PR target/42850
33343 Revert:
33344 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
33345
33346 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
33347
362c6d2f
KG
333482010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
33349
33350 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
33351
8370a62a
KT
333522010-01-31 Kai Tietz <kai.tietz@onevision.com>
33353
33354 * config.gcc: Adjust order of makefile fragments for mingw targets.
33355
61c7cbf8
RG
333562010-01-31 Richard Guenther <rguenther@suse.de>
33357
33358 PR middle-end/42898
33359 * gimplify.c (gimplify_init_constructor): For volatile LHS
33360 initialize a temporary.
33361
b0a69d20
MK
333622010-01-31 Matthias Klose <doko@ubuntu.com>
33363
33364 * configure.ac: Fix __stack_chk_fail check for cross builds configured
33365 --with-headers
33366 * configure: Regenerate.
33367
55eb4dab
EB
333682010-01-29 Eric Botcazou <ebotcazou@adacore.com>
33369
33370 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
33371 the same alias set and their sizes different constantness.
33372 (aliasing_component_refs_p): Revert 2009-10-24 change.
33373
f9e06dbc
RO
333742010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
33375
33376 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
33377 unused.
33378
eb6b98c7
RG
333792010-01-29 Richard Guenther <rguenther@suse.de>
33380
33381 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
33382 Assert we successfully updated the call.
33383
c23cd1d6
JJ
333842010-01-29 Jakub Jelinek <jakub@redhat.com>
33385
33386 PR rtl-optimization/42889
33387 * df.h (df_set_bb_dirty_nonlr): New prototype.
33388 * df-core.c (df_set_bb_dirty_nonlr): New function.
33389 * df-scan.c (df_insn_rescan): Call it instead of
33390 df_set_bb_dirty for DEBUG_INSNs.
33391
38bc76da
RG
333922010-01-29 Richard Guenther <rguenther@suse.de>
33393
33394 PR middle-end/37448
33395 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
33396 quadratic behavior in most cases.
33397
d819472d
UB
333982010-01-28 Uros Bizjak <ubizjak@gmail.com>
33399
33400 PR target/42891
33401 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
33402 in the call to gen_x86_movsicc_0_m1.
33403
3ed7d068
RG
334042010-01-28 Richard Guenther <rguenther@suse.de>
33405
33406 PR tree-optimization/42871
01305d24 33407 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3ed7d068 33408
830bc550
RG
334092010-01-28 Richard Guenther <rguenther@suse.de>
33410
33411 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
33412 into call arguments.
33413
28e5ca15
RB
334142010-01-28 Richard Guenther <rguenther@suse.de>
33415
33416 PR middle-end/42883
33417 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
33418 the forwarder if the destination is an EH landing pad.
33419
334202010-01-28 Razya Ladelsky <razya@il.ibm.com>
8adfe01d 33421
d819472d 33422 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
8adfe01d
RL
33423 block list passed to gimple_duplicate_sese_tail.
33424 (parallelize_loops): Avoid parallelization when the function
33425 has_nonlocal_label.
33426 Avoid parallelization when the preheader is IRREDUCIBLE.
33427 Try to optimize when estimated_loop_iterations_int is unresolved.
33428 Add the loop's location to the dump file.
28e5ca15 33429 * tree-cfg.c (add_phi_args_after_redirect): Remove.
8adfe01d
RL
33430 (gimple_duplicate_sese_tail): Remove the check for the latch.
33431 Redirect nexits to the exit block.
33432 Remove handling of the incoming edges to the latch.
33433 Redirect the backedge from the copied latch to the exit bb.
33434
3d952fb7
MM
334352010-01-28 Michael Matz <matz@suse.de>
33436
33437 PR target/42881
33438 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
33439 Wrap force_reg into a sequence, emit it before user.
33440
4fc2b1aa
ST
334412010-01-28 Stephen Thomas <stephen.thomas@arm.com>
33442
33443 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
33444 (arm_rev): New.
33445 (arm_legacy_rev): Likewise.
33446 (thumb_legacy_rev): Likewise.
33447
0f277ad4
JJ
334482010-01-27 Jakub Jelinek <jakub@redhat.com>
33449
33450 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
33451 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
33452 on MEM's address failed, try avoid_constant_pool_reference and
33453 recurse if it returned something different.
33454 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
33455 address, try avoid_constant_pool_reference and recurse if it
33456 returned something different.
33457 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
33458 address and avoid_constant_pool_reference returned something
33459 different, don't set have_address.
33460
fb4cbb9f
AO
334612010-01-27 Alexandre Oliva <aoliva@redhat.com>
33462
33463 PR debug/42861
33464 * var-tracking.c (val_store): Add modified argument, obey it.
33465 Adjust callers.
33466 (count_uses): Move down logging of main.
33467 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
33468 don't need resolution.
33469 (emit_notes_in_bb): Likewise.
33470
e87da263
RG
334712010-01-27 Richard Guenther <rguenther@suse.de>
33472
33473 PR middle-end/42878
33474 * tree-inline.c (remap_decl): Delay remapping of SSA name
33475 default definitions until we need them.
33476
c6d99cad
JJ
334772010-01-27 Jakub Jelinek <jakub@redhat.com>
33478
9a78eb71
JJ
33479 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
33480 (rs6000_delegitimize_address): New function.
33481
e8d8f497
JJ
33482 * config/s390/s390.c (s390_delegitimize_address): Call
33483 delegitimize_mem_from_attrs.
33484
c6d99cad
JJ
33485 PR middle-end/42874
33486 * tree-inline.c (cannot_copy_type_1): Removed.
33487 (copy_forbidden): Don't forbid copying of functions containing
33488 records/unions with variable length fields.
33489
4f6fee0f
CB
334902010-01-27 Christian Bruel <christian.bruel@st.com>
33491
33492 Revert:
33493 PR target/42841
33494 * config/sh/sh.c (find_barrier): Increase length for non delayed
33495 conditional branches.
d819472d 33496
cdf6bfb7
MK
334972010-01-27 Matthias Klose <doko@ubuntu.com>
33498
33499 * configure.ac (gnu-unique-object): Fix ldd version check.
33500 * configure: Regenerate.
33501
31b21739
RO
335022010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
33503
33504 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
33505 HAVE_GNU_AS value.
33506 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
33507 Test for HAVE_GNU_AS value.
33508
dc4f0670
RO
335092010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
33510
33511 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
33512 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
33513 INT64_TYPE): Define.
33514 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
33515 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
33516 INT_LEAST64_TYPE): Define.
33517 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
33518 UINT_LEAST64_TYPE): Define.
33519 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
33520 INT_FAST64_TYPE): Define.
33521 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
33522 UINT_FAST64_TYPE): Define.
33523 (INTMAX_TYPE, UINTMAX_TYPE): Define.
33524 (INTPTR_TYPE, UINTPTR_TYPE): Define.
33525 (SIG_ATOMIC_TYPE): Define.
33526
a099f7d4
RG
335272010-01-26 Richard Guenther <rguenther@suse.de>
33528
33529 * df-scan.c (df_scan_set_bb_info): Remove assert.
33530 (df_insn_rescan_debug_internal): Merge asserts.
33531 (df_install_ref): Likewise.
33532 (df_mark_reg): Use bitmap_set_range.
33533 (df_hard_reg_used_p): Remove assert.
33534 (df_hard_reg_used_count): Likewise.
33535
0d9b0371
RG
335362010-01-26 Richard Guenther <rguenther@suse.de>
33537
33538 PR rtl-optimization/42685
33539 * web.c (web_main): Ignore DEBUG_INSNs.
33540
7a241624
JR
335412010-01-26 Joern Rennecke <amylaar@spamcop.net>
33542
33543 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
33544
33545 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
33546 Fix types of fndecl and arglist parameters.
33547
3333cd50
RG
335482010-01-26 Richard Guenther <rguenther@suse.de>
33549
33550 PR middle-end/42806
33551 * tree-eh.c (unsplit_eh): Skip debug insns.
33552
7f657dde
RG
335532010-01-26 Richard Guenther <rguenther@suse.de>
33554
33555 PR tree-optimization/42250
33556 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
33557
057dd91d
JJ
335582010-01-26 Jakub Jelinek <jakub@redhat.com>
33559
33560 PR fortran/42866
33561 * omp-low.c (expand_omp_sections): Only use single_pred if
33562 l2_bb is single_pred_p.
33563
69b18163
CB
335642010-01-25 Christian Bruel <christian.bruel@st.com>
33565
33566 PR target/42841
33567 * config/sh/sh.c (find_barrier): Increase length for non delayed
33568 conditional branches.
33569 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
33570
00f88f07
DM
335712010-01-24 David S. Miller <davem@davemloft.net>
33572
31b21739 33573 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
00f88f07 33574 define if not using GAS.
31b21739 33575 * config/sparc/sparc.c (sparc_elf_asm_named_section):
00f88f07
DM
33576 Likewise. Delete SECTION_MERGE code, which is only applicable
33577 when using GAS.
33578
d147cbd9
MM
335792010-01-24 Mark Mitchell <mark@codesourcery.com>
33580
33581 PR c++/42748
33582 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
33583 mangling of va_list in system headers.
33584
a90352a0
TM
335852010-01-23 Toon Moene <toon@moene.org>
33586
33587 * tree-predcom.c (combine_chains): Return NULL, not false.
33588
e96d7dd7
JR
335892010-01-23 Joern Rennecke <amylaar@spamcop.net>
33590
33591 * tree-loop-distribution.c (distribute_loop): Fix declaration and
33592 initialization of variable res to agree with return type.
33593
65c0a517
SE
335942010-01-22 Steve Ellcey <sje@cup.hp.com>
33595
33596 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
33597 * tree-sra.c: Add include of expr.h.
33598
c47987fa
JJ
335992010-01-22 Jakub Jelinek <jakub@redhat.com>
33600
33601 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
33602 insert the debug stmt on the single non-EH edge from the stmt.
33603
002cda0a
RH
336042010-01-22 Richard Henderson <rth@redhat.com>
33605
33606 PR tree-opt/42833
33607 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
33608 the RHS until after generate_subtree_copies has insertted its
33609 code before the current statement.
33610
728d406c
JR
336112010-01-22 Joern Rennecke <amylaar@spamcop.net>
33612
33613 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
33614
45bbb86d
JR
33615 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
33616
7744b697
MJ
336172010-01-21 Martin Jambor <mjambor@suse.cz>
33618
33619 PR tree-optimization/42585
33620 * tree-sra.c (struct access): New field grp_total_scalarization.
33621 (dump_access): Dump the new field.
33622 (should_scalarize_away_bitmap): New variable.
33623 (cannot_scalarize_away_bitmap): Likewise.
33624 (sra_initialize): Allocate new bitmaps.
33625 (sra_deinitialize): Free new bitmaps.
33626 (create_access_1): New function.
33627 (create_access): Parts moved to create_access_1.
33628 (type_consists_of_records_p): New function.
33629 (completely_scalarize_record): Likewise.
33630 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
33631 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
33632 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
33633 access.
33634 (analyze_all_variable_accesses): Completely scalarize small eligible
33635 records.
33636
fff08961
MJ
336372010-01-21 Martin Jambor <mjambor@suse.cz>
33638
33639 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
33640
a288b143
AH
336412010-01-21 Andrew Haley <aph@redhat.com>
33642
d819472d
UB
33643 * gcc.c (process_command): Move lang_specific_driver before
33644 setting cc_libexec_prefix.
a288b143 33645
4e62a017
RG
336462010-01-21 Richard Guenther <rguenther@suse.de>
33647
33648 PR middle-end/19988
33649 * fold-const.c (negate_expr_p): Pretend only negative
33650 real constants are easily negatable.
33651
ebf0bf7f
JJ
336522010-01-20 Janis Johnson <janis187@us.ibm.com>
33653 Jason Merrill <jason@redhat.com>
33654
33655 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
33656 (TYPE_TRANSPARENT_AGGR): this, for union and record.
33657 * calls.c (initialize argument_information): Handle it.
33658 * c-common.c (handle_transparent_union_attribute): Use new name.
33659 * c-decl.c (finish_struct): Ditto.
33660 * c-typeck.c (type_lists_compatible_p): Ditto.
33661 (convert_for_assignment): Use new name and also handle record.
33662 * function.c (aggregate_value_p): Handle it.
33663 (pass_by_reference): Ditto.
33664 (assign_parm_data_types): Ditto.
33665 * print-tree.c (print_node): Ditto.
33666 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
33667 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
33668 * tree.c (first_field): New fn.
33669
907c6efd
DK
336702010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
33671
33672 PR target/42818
33673 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
33674 even when linking statically, for now.
33675
f827f659
AO
336762010-01-20 Alexandre Oliva <aoliva@redhat.com>
33677
33678 PR debug/42715
33679 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
33680 without a cselib val.
33681 (count_uses): Accept MO_VAL_SET with no val on stores.
33682 (add_stores): Likewise.
33683
a85caf9e
JJ
336842010-01-20 Jakub Jelinek <jakub@redhat.com>
33685
33686 * var-tracking.c (check_value_val): Add a compile time assertion.
33687 (dv_is_decl_p): Simplify.
33688 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
33689 gcc_assert if ENABLE_CHECKING.
33690
4a4d4c08
AO
336912010-01-20 Alexandre Oliva <aoliva@redhat.com>
33692
33693 PR debug/42782
33694 * var-tracking.c: Include tree-flow.h.
33695 (mem_dies_at_call): New.
33696 (dataflow_set_preserve_mem_locs): Use it.
33697 (dataflow_set_remove_mem_locs): Likewise.
33698 (dump_var): Renamed from dump_variable. Adjust all callers.
33699 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
33700 * Makefile.in (var-tracking.o): Adjust deps.
33701
50e87e30
JR
337022010-01-20 Joern Rennecke <amylaar@spamcop.net>
33703
33704 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
33705
e9a8afaa
RG
337062010-01-20 Richard Guenther <rguenther@suse.de>
33707
33708 PR tree-optimization/42717
33709 * tree-ssa-dce.c (get_live_post_dom): Remove.
33710 (forward_edge_to_pdom): Take an arbitrary edge to copy
33711 degenerate PHI args from.
33712 (remove_dead_stmt): Use the first post-dominator even if it
33713 does not contain live statements as redirection destination.
33714
be2fd187
RG
337152010-01-20 Richard Guenther <rguenther@suse.de>
33716
33717 * tree-inline.c (estimate_num_insns): Handle EH builtins.
33718
1124098b
JJ
337192010-01-20 Jakub Jelinek <jakub@redhat.com>
33720
33721 * sel-sched.c (create_speculation_check): Remove set but not used
33722 variable twin.
33723 (try_transformation_cache): Remove set but not used variable ds.
33724 (calculate_privileged_insns): Remove set but not used variables
33725 cur_insn and min_spec_insn.
33726 (find_best_expr): Remove set but not used variable avail_n.
33727 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
33728 variable e.
33729 * cgraphunit.c (assemble_thunk): Remove set but not used variable
33730 false_label.
33731 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
33732 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
33733 new_scop_exit_edge.
33734
83a5ef25
FW
337352010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
33736
33737 PR bootstrap/42786
33738 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
33739 cpu types. Add support for *-sse3 cpu types.
33740 (x86_64-*-*): Ditto.
33741
b5c0899b
JJ
337422010-01-20 Jakub Jelinek <jakub@redhat.com>
33743
33744 PR middle-end/42803
33745 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
33746 argument, call initializer_constant_valid_p_1 instead of
33747 initializer_constant_valid_p, pass CACHE to it, return NULL
33748 immediately if first call returns NULL.
33749 (initializer_constant_valid_p_1): New function.
33750 (initializer_constant_valid_p): Use it.
33751
5f8f3f94
TQ
337522010-01-20 Thomas Quinot <quinot@adacore.com>
33753
33754 * tree.def (PLACEHOLDER_EXPR): Fix comment.
33755
80c35b40
JJ
337562010-01-20 Jakub Jelinek <jakub@redhat.com>
33757
33758 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
33759 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
33760 (loc_list_from_tree): Don't handle unsigned division. Handle
33761 signed modulo using DW_OP_{over,over,div,mul,minus}.
33762 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
33763 modulo instead of signed.
33764
c72ea086
DD
337652010-01-20 DJ Delorie <dj@redhat.com>
33766
33767 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
33768 (Fpa): Pass it
33769 (h8300_emit_stack_adjustment): Propogate it.
33770 (push): Pass it.
33771 (h8300_expand_prologue): Likewise.
33772 (h8300_expand_epilogue): Likewise.
33773
b61b1f17
MM
337742010-01-19 Michael Matz <matz@suse.de>
33775
33776 PR tree-optimization/41783
33777 * tree-data-ref.c (toplevel): Include flags.h.
33778 (dump_data_dependence_relation): Also dump the inputs if the
33779 result will be unknown.
33780 (split_constant_offset_1): Look through some conversions.
33781 * tree-predcom.c (determine_roots_comp): Restart a new chain if
33782 the offset from last element is too large.
33783 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
33784 (reassociate_to_the_same_stmt): Handle vector registers.
33785 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
33786 (e.g. conversions).
31b21739 33787 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
b61b1f17
MM
33788 wide_prolog_niters argument, emit widening instructions.
33789 (vect_do_peeling_for_alignment): Adjust caller, use widened
33790 variant of the iteration cound.
33791 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
33792
b3d7e191
RR
337932010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
33794
b61b1f17
MM
33795 PR target/38697
33796 * config/arm/neon-testgen.m (emit_automatics): New parameter
b3d7e191
RR
33797 features. Adjust for Fixed_return_reg feature.
33798 (test_intrinsic): Call emit_automatics with new feature.
b61b1f17 33799 * config/arm/neon.ml: Update copyright years.
b3d7e191
RR
33800 (features): New Fixed_return_reg feature.
33801 (ops): Update feature for Vget_low.
33802
2178b0f9
JJ
338032010-01-19 Jakub Jelinek <jakub@redhat.com>
33804
d6600130
JJ
33805 PR tree-optimization/42719
33806 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
33807 stmt uses.
33808
2178b0f9
JJ
33809 PR debug/42728
33810 * fwprop.c (all_uses_available_at): Return false if def_set dest
33811 is a REG that is used in def_insn.
33812
ab7e224a
JR
338132010-01-19 Joern Rennecke <amylaar@spamcop.net>
33814
33815 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
33816
33817 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
33818 Add argument names.
33819
33820 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
33821
f7154d49
JR
33822 * target.h (struct gcc_target) <secondary_reload>: Change type
33823 of last argument to secondary_reload_info *.
33824
f249b405
UB
338252010-01-18 Uros Bizjak <ubizjak@gmail.com>
33826
33827 PR target/42774
33828 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
33829 memory references with unaligned offsets. Remove CQImode handling.
33830 (unaligned_memory_operand): Return 1 for memory references with
33831 unaligned offsets. Remove CQImode handling.
33832
e23817b3
RG
338332010-01-18 Richard Guenther <rguenther@suse.de>
33834
33835 PR middle-end/39954
33836 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
33837 builtin calls.
33838
1cfd38be
RG
338392010-01-18 Richard Guenther <rguenther@suse.de>
33840
33841 PR tree-optimization/42781
33842 * tree-ssa-structalias.c (find_what_var_points_to): Skip
b5e33e04 33843 restrict processing only if the original variable was artificial.
1cfd38be 33844
72392b81
JR
338452010-01-18 Joern Rennecke <amylaar@spamcop.net>
33846
33847 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
33848 find number of popped argument bytes.
33849
33850 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
33851 Fix the text that describes the return value for invalid insns.
33852
33853 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
33854
33855 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
33856 Clarify what 'cost of the -dependence' is. Fix quoting.
33857
0678ade0
JR
33858 * toplev.c (default_get_pch_validity): Rename argument to "sz".
33859 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
33860
e5165811
JJ
338612010-01-17 Jakub Jelinek <jakub@redhat.com>
33862
33863 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
33864 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
33865
3b3f318a
RG
338662010-01-17 Richard Guenther <rguenther@suse.de>
33867
33868 PR middle-end/42248
33869 * function.c (split_complex_args): Take a VEC to modify.
33870 (assign_parms_augmented_arg_list): Build a VEC instead of
33871 a chain of PARM_DECLs.
33872 (assign_parms_unsplit_complex): Take a VEC of arguments.
33873 Do not fixup unmodified parms.
33874 (assign_parms): Deal with the VEC.
33875 (gimplify_parameters): Likewise.
33876
8eacd016
RG
338772010-01-17 Richard Guenther <rguenther@suse.de>
33878
33879 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
33880 node existence check.
33881 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
33882 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
33883 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
33884 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
33885 (gimple_execute_on_growing_pred): Likewise.
33886
9adf0570
RG
338872010-01-17 Richard Guenther <rguenther@suse.de>
33888
33889 PR tree-optimization/42773
33890 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
33891 (compute_antic_aux): Likewise.
33892 (compute_partial_antic_aux): Likewise.
33893
a90110c3
JZ
338942010-01-17 Jie Zhang <jie.zhang@analog.com>
33895
33896 PR debug/42767
33897 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
33898 and US_TRUNCATE.
33899
914d25dc
JR
339002010-01-17 Joern Rennecke <amylaar@spamcop.net>
33901
33902 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
33903 appearance.
33904
33905 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
33906 Fix markup for strict argument.
33907
33908 (TARGET_SCHED_REORDER2): Fix argument types.
33909
33910 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
33911 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
33912
33913 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
33914 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
33915
33916 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
33917 Add argument name.
33918
33919 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
33920 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
33921 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
33922 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
33923 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
33924
33925 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
33926
33927 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
33928
33929 (TARGET_ASM_RELOC_RW_MASK): Add return type.
33930 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
33931
33932 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
33933
33934 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
33935 Use prototype.
33936
33937 (TARGET_ASM_NAMED_SECTION): Fix argument list.
33938
33939 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
33940 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
33941
33942 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
33943
33944 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
33945
33946 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
33947 referring to it. Fix language.
33948
33949 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
33950
33951 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
33952
33953 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
33954
33955 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
33956
33957 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
33958 '@var{stream}. Remove stray 'and'.
33959
33960 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
33961
33962 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
33963
33964 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
33965
31b21739 33966 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
914d25dc
JR
33967 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
33968
33969 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
33970 Fix description of return value.
33971 Rename argument "sz" to "len."
33972
33973 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
33974 Clarify meaning of 'true' return value.
33975
33976 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
33977
33978 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
33979 rep_mode versus mode_rep.
33980
33981 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
33982
33983 (TARGET_BUILTIN_DECL): Fix name.
33984
33985 (TARGET_COMMUTATIVE_P): Fix type of first argument.
33986
33987 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
33988
33989 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
33990
33991 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
33992
33993 (TARGET_RELAXED_ORDERING): Use @deftypevr.
33994
33995 (TARGET_GET_DRAP_RTX): Note that this is a hook.
33996 Clarify language.
33997
5eb7ce91
JR
33998 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
33999 Rename argument tm_fn to md_fn.
34000
d2143a2f
JR
34001 (TARGET_OPTION_PRINT): Fix argument list.
34002
8f7fd2da
HJ
340032010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
34004
34005 PR target/42664
34006 * config/i386/i386.c (ix86_fixup_binary_operands):
34007 Revert FMA4 fixup of operands.
34008
2fdb618d
RW
340092010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
34010
8b7e8529 34011 PR other/42525
2fdb618d
RW
34012 * Makefile.in (write_entries_to_file, install-plugin):
34013 Use \012 instead of \n with tr.
34014
636cf8b1
RS
340152010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
34016
34017 * configure.ac (HAVE_AS_REF): New C macro.
34018 * configure: Regenerate.
34019 * config.in: Likewise.
34020 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
34021 if HAVE_AS_REF.
34022 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
34023 if HAVE_AS_REF.
34024
b6fd8800
JR
340252010-01-16 Joern Rennecke <amylaar@spamcop.net>
34026
34027 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
34028
34029 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
34030
34031 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
34032
34033 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
34034
34035 (TARGET_IN_SMALL_DATA_P): Fix argument type.
34036
34037 (TARGET_BINDS_LOCAL_P): Fix argument type.
34038
34039 (TARGET_ASM_FILE_END): Use prototype.
34040
34041 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
34042
34043 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
34044
34045 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
34046
34047 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
34048
34049 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
34050 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
34051
34052 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
34053 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
34054
34055 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
34056 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
34057 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
34058 (TARGET_ADDR_SPACE_CONVERT): Likewise.
34059
34060 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
34061
34062 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
34063
34064 (TARGET_INIT_BUILTINS): Use prototype.
34065
34066 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
34067 Put 'const char *' in braces. Fix parameter types.
34068 (TARGET_INVALID_CONVERSION): Fix parameter types.
34069 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
34070 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
34071
34072 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
34073 Fix argument type.
34074
34075 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
34076
34077 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
34078
9ddb66ef
JR
340792010-01-15 Joern Rennecke <amylaar@spamcop.net>
34080
34081 * doc/tm.texi (TARGET_HELP): Fix return type.
34082
34083 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
34084 in braces. Fix argument types.
34085
34086 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
34087
34088 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
34089
34090 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
34091
34092 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
34093 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
34094
34095 (TARGET_MANGLE_TYPE): Fix argument types.
34096
34097 (TARGET_IRA_COVER_CLASSES): Use prototype.
34098
34099 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
34100
34101 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
34102
34103 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
34104
34105 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
34106
34107 (TARGET_CALLEE_COPIES): Fix argument types.
34108
34109 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
34110
34111 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
34112
34113 (TARGET_FUNCTION_VALUE): Fix argument types.
34114
34115 (TARGET_RETURN_IN_MSB): Fix argument type.
34116
34117 (TARGET_RETURN_IN_MEMORY): Fix argument types.
34118
34119 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
34120
34121 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
34122
34123 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
34124 agree with return type.
34125
34126 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
34127
4a62494d
JY
341282010-01-15 Jing Yu <jingyu@google.com>
34129
34130 PR rtl-optimization/42691
34131 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
34132 a pseudo to a constant and are merged, and adjust comments.
34133
a1b5171b
EB
341342010-01-15 Eric Botcazou <ebotcazou@adacore.com>
34135
34136 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
34137
1197e789
RG
341382010-01-15 Richard Guenther <rguenther@suse.de>
34139
34140 PR middle-end/42739
34141 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
34142 labels of computed or non-local gotos to the destination.
34143 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
34144 landing pad label is the first label.
34145
cbe80ff8
RG
341462010-01-15 Richard Guenther <rguenther@suse.de>
34147
34148 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
34149
c919858d
MM
341502010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
34151
34152 PR target/42747
34153 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
34154 to allow generation of the xssqrtdp instruction on power7.
34155 (sqrtdf2_fpr): Ditto.
34156
5b1cbe14
JJ
341572010-01-14 Jakub Jelinek <jakub@redhat.com>
34158
ef5d1181
JJ
34159 PR middle-end/42674
34160 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
34161 functions with noreturn attribute.
34162
5b1cbe14
JJ
34163 PR c++/42608
34164 * varasm.c (declare_weak): Add weak attribute to decl if it
34165 doesn't have one already.
34166 (assemble_external): Only add decls to weak_decls if they also
34167 have weak attribute.
34168
7d2a8452
AO
341692010-01-14 Alexandre Oliva <aoliva@redhat.com>
34170
34171 * var-tracking.c (var_reg_delete): Don't delete the association
34172 between REGs and values or one-part variables if the register
34173 isn't clobbered.
34174
d17af147
JJ
341752010-01-14 Jakub Jelinek <jakub@redhat.com>
34176
34177 PR debug/42657
34178 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
34179 because its first operand is a non-localized variable.
34180
2f3cdcf5
MJ
341812010-01-14 Martin Jambor <mjambor@suse.cz>
34182
34183 PR tree-optimization/42706
34184 * tree-sra.c (encountered_recursive_call): New variable.
34185 (encountered_unchangable_recursive_call): Likewise.
34186 (sra_initialize): Initialize both new variables.
34187 (callsite_has_enough_arguments_p): New function.
34188 (scan_function): Call decl and flags check only for IPA-SRA, check
34189 whether there is a recursive call and whether it has enough arguments.
34190 (all_callers_have_enough_arguments_p): New function.
34191 (convert_callers): Look for recursive calls only when
34192 encountered_recursive_call is set.
34193 (ipa_early_sra): Bail out either if
34194 !all_callers_have_enough_arguments_p or
34195 encountered_unchangable_recursive_call.
34196
c02e2d5c
AM
341972010-01-14 Alexander Monakov <amonakov@ispras.ru>
34198
34199 * sel-sched.c: Add 2010 to copyright years.
34200 * sel-sched-ir.c: Likewise.
34201 * sel-sched-ir.h: Likewise.
34202
92e97cdd
MJ
342032010-01-14 Martin Jambor <mjambor@suse.cz>
34204
34205 PR tree-optimization/42714
34206 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
34207 constructors specially.
34208
a0463099
AK
342092010-01-14 Andi Kleen <ak@linux.intel.com>
34210
34211 * config/i386/drivers-i386.c (detect_caches_intel):
34212 Add l2sizekb parameter and fill in.
34213 (host_detect_local_cpu): Add l2sizekb, fill in.
34214 Add Atom small cache heuristic.
34215
342162010-01-14 Andi Kleen <ak@linux.intel.com>
34217
34218 * config/i386/drivers-i386.c (detect_caches_cpuid4):
34219 Add level3 parameter and fill in.
34220 (detect_caches_intel): Handle level3 cache.
34221
342222010-01-14 Andi Kleen <ak@linux.intel.com>
34223
34224 * config/i386/drivers-i386.c (host_detect_local_cpu):
34225 Fix core duo detection.
34226
342272010-01-14 Andi Kleen <ak@linux.intel.com>
34228
34229 * config/i386/drivers-i386.c (host_detect_local_cpu):
34230 Fix Atom detection.
34231
dd6739e3
AM
342322010-01-14 Alexander Monakov <amonakov@ispras.ru>
34233
34234 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
34235 (rs6000_variable_issue_1): this. Use...
34236 (rs6000_variable_issue): here. Reimplement. Print debug info.
34237
7898b93b
AM
342382010-01-14 Alexander Monakov <amonakov@ispras.ru>
34239
a0463099
AK
34240 * sel-sched-ir.c (sel_restore_other_notes): Rename to
34241 sel_restore_notes. Update all callers. Call reemit_notes
34242 for all insns.
7898b93b 34243
65b659ff
AB
342442010-01-14 Andrey Belevantsev <abel@ispras.ru>
34245
34246 PR rtl-optimization/42246
34247 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
34248 loops.
34249
c6486552
AB
342502010-01-14 Andrey Belevantsev <abel@ispras.ru>
34251
34252 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
34253 all successors is the same as number of successors in current region.
34254
f07013eb
AM
342552010-01-14 Alexander Monakov <amonakov@ispras.ru>
34256
34257 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
34258 to rename is not separable. Otherwise check that its LHS is not NULL.
34259
a9ced68b
AM
342602010-01-14 Alexander Monakov <amonakov@ispras.ru>
34261
34262 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
34263
0c94f956
AM
342642010-01-14 Alexander Monakov <amonakov@ispras.ru>
34265
34266 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
34267 available registers when failed to discover LHS register class.
34268 Fix indentation. Update comment.
34269
136e01a3
AB
342702010-01-14 Andrey Belevantsev <abel@ispras.ru>
34271 Alexander Monakov <amonakov@ispras.ru>
34272
34273 PR rtl-optimization/42389
34274 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
34275 to can_issue_more.
34276 (advance_state_on_fence): Likewise.
34277 (sel_target_adjust_priority): Print debug output only when
34278 sched_verbose >= 4, not 2.
34279 (get_expr_cost): Do not issue all unique insns on the next cycle.
34280 (fill_insns): Initialize can_issue_more from the value saved
34281 with the fence.
34282 * sel-sched-ir.c (flist_add): New parameter issue_more.
34283 Init FENCE_ISSUE_MORE with it.
34284 (merge_fences): Likewise.
34285 (init_fences): Update call to flist_add.
34286 (add_to_fences, add_clean_fence_to_fences)
34287 (add_dirty_fence_to_fences): Likewise.
34288 (move_fence_to_fences): Update call to merge_fences.
34289 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
34290 sched groups.
34291 * sel-sched-ir.h (struct _fence): New field issue_more.
34292 (FENCE_ISSUE_MORE): New accessor macro.
34293
762bffba
AB
342942010-01-14 Andrey Belevantsev <abel@ispras.ru>
34295
34296 PR rtl-optimization/42388
34297 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
34298 that have no predecessors nor successors. Do not call move_bb_info
34299 for empty blocks outside of current region.
34300
14f30b87
AM
343012010-01-14 Alexander Monakov <amonakov@ispras.ru>
34302
34303 PR rtl-optimization/42294
34304 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
34305 * sel-sched.c (move_exprs_to_boundary): Transitively add all
34306 originators' originators.
34307
8ec4d0ad
AM
343082010-01-14 Alexander Monakov <amonakov@ispras.ru>
34309
34310 PR rtl-optimization/39453
34311 PR rtl-optimization/42246
34312 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
34313 for pipelining_p.
34314 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
34315
b59ab570
AM
343162010-01-14 Andrey Belevantsev <abel@ispras.ru>
34317 Alexander Monakov <amonakov@ispras.ru>
34318
34319 PR middle-end/42245
34320 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
34321 (maybe_tidy_empty_bb): ... here. Make static. Add new
34322 argument. Update all callers.
34323 (tidy_control_flow): ... and here. Recompute topological order
34324 of basic blocks in region if necessary.
34325 (sel_redirect_edge_and_branch): Change return type. Return true
34326 if topological order might have been invalidated.
34327 (purge_empty_blocks): Export and move from...
34328 * sel-sched.c (purge_empty_blocks): ... here.
34329 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
c02e2d5c 34330 (maybe_tidy_empty_bb): Delete prototype.
b59ab570
AM
34331 (purge_empty_blocks): Declare.
34332
f4a4b582 343332010-01-14 Andrey Belevantsev <abel@ispras.ru>
0666ff4e 34334
b59ab570 34335 PR rtl-optimization/42249
0666ff4e
AB
34336 * sel-sched.c (try_replace_dest_reg): When chosen register
34337 and original register is the same, do not bail out early, but
34338 still check all original insns for validity of replacing destination
34339 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
34340 in this case.
34341
5f8d5023
JJ
343422010-01-14 Jakub Jelinek <jakub@redhat.com>
34343
34344 PR c/42721
a0463099 34345 Port from no-undefined-overflow branch:
5f8d5023
JJ
34346 2009-03-09 Richard Guenther <rguenther@suse.de>
34347
a0463099 34348 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
5f8d5023 34349
429c98c9
RG
343502010-01-14 Richard Guenther <rguenther@suse.de>
34351
34352 PR lto/42665
b5e33e04 34353 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
429c98c9 34354
cd481d83
IR
343552010-01-14 Ira Rosen <irar@il.ibm.com>
34356
34357 PR tree-optimization/42709
34358 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
34359 as scalar type in creation of constant vector operand.
34360
453897b4
RW
343612010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
34362
34363 PR testsuite/42414
34364 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
34365 (check-parallel-%): Match `testsuite' directory component only
34366 at the end.
34367
5bc69b92
SZ
343682010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
34369
34370 PR translation/39521
34371 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
34372 strings with _().
34373
5db959b6
RG
343742010-01-13 Richard Guenther <rguenther@suse.de>
34375
34376 PR tree-optimization/42730
34377 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
34378 offset zero.
34379
9540f5ef
SE
343802010-01-13 Steve Ellcey <sje@cup.hp.com>
34381
34382 PR target/pr42542
34383 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
34384 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
34385 them signed.
34386
84fb8ff5
BS
343872010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
34388
34389 * config/bfin/libgcc-bfin.ver: Regenerate based on current
34390 libgcc-std.ver. Add entries for ___smulsi3_highpart and
34391 ___umulsi3_highpart.
34392
6cca15ea
BS
34393 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
34394 rather than schedule_insns if the pass is enabled.
34395
19656178
MJ
343962010-01-13 Martin Jambor <mjambor@suse.cz>
34397
34398 PR tree-optimization/42704
34399 * tree-sra.c (sra_modify_assign): Do not delete assignments to
34400 SSA_NAMEs.
34401
6dc93b16
MJ
344022010-01-13 Martin Jambor <mjambor@suse.cz>
34403
34404 PR tree-optimization/42703
34405 * tree-sra.c (analyze_access_subtree): Check that we can build a
34406 reference to the original data within the aggregate.
34407
1d21a8e5
RG
344082010-01-13 Richard Guenther <rguenther@suse.de>
34409
34410 PR tree-optimization/42705
b5e33e04 34411 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
1d21a8e5 34412
48f30f62
RG
344132010-01-13 Richard Guenther <rguenther@suse.de>
34414
34415 PR middle-end/42716
34416 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
34417
9e73c690
JJ
344182010-01-13 Jakub Jelinek <jakub@redhat.com>
34419
34420 PR debug/41371
34421 * var-tracking.c (values_to_unmark): New variable.
34422 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
34423 values_to_unmark vector. Moved body to...
34424 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
34425 instead queue it into values_to_unmark vector.
34426 (vt_find_locations): Free values_to_unmark vector.
34427
dc2f28c5
WG
344282010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
34429
34430 * config/s390/s390.c (override_options): Set
34431 default of max-pending-list-length to 256
34432
688a482d
RG
344332010-01-13 Richard Guenther <rguenther@suse.de>
34434
34435 PR lto/42678
34436 * tree-pass.h (PROP_gimple_lcx): New.
34437 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
34438 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
34439 before the final cleanup_eh.
34440 (dump_properties): Dump PROP_gimple_lcx.
34441 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
34442 (tree_lower_complex_O0): Remove.
34443 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
34444 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
34445 tree_lower_complex, schedule TODO_update_ssa.
34446 * lto-streamer-out.c (output_function): Stream the functions
34447 properties.
34448 * lto-streamer-in.c (input_function): Likewise.
34449 (lto_read_body): Do not override them here.
34450
e616f54d
JM
344512010-01-12 Joseph Myers <joseph@codesourcery.com>
34452
34453 PR c/42708
34454 * c-typeck.c (build_c_cast): Fold value cast to union type before
34455 wrapping it in a CONSTRUCTOR.
34456
b4ab701f
JJ
344572010-01-12 Jakub Jelinek <jakub@redhat.com>
34458
34459 PR rtl-optimization/42699
34460 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
34461 involved.
34462
4dde664f
RO
344632010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34464
34465 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
34466 SUBTARGET_WARN_UNUSED_SPEC): Move ...
34467 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
34468 SUBTARGET_WARN_UNUSED_SPEC): ... here
34469 * config/mips/iris5.h (LIBGCC_SPEC): Define.
34470
24fe19c3
JB
344712010-01-12 Julian Brown <julian@codesourcery.com>
34472
a0463099 34473 * config/arm/neon-schedgen.ml (Utils): Don't try to
24fe19c3 34474 open missing module.
a0463099 34475 (find_with_result): New.
24fe19c3 34476
082ab5ff
JJ
344772010-01-12 Jakub Jelinek <jakub@redhat.com>
34478
4942b76b
JJ
34479 PR debug/42662
34480 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
34481 sharing when canonicalizing ({lt,ge}u (plus a b) b).
34482
082ab5ff
JJ
34483 PR tree-optimization/42645
34484 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
34485 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
34486 decl_map, set processing_debug_stmt to -1 and return name without
34487 any remapping.
34488
977f7997
DK
344892010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
34490
34491 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
34492 binutils version, and reword target configuration description.
34493
2685baa1
AH
344942010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
34495
a0463099 34496 * config/avr/avr.h (LINKER_NAME): Remove.
2685baa1 34497
3767f512
JJ
344982010-01-11 Janis Johnson <janis187@us.ibm.com>
34499
34500 PR target/42416
34501 * config/rs6000/rs6000.c (rs6000_override_options): On targets
34502 that support VSX, warn for -mno-altivec if vsx is not disabled,
34503 and disable vsx.
34504
f94e1d66
JM
345052010-01-11 Joseph Myers <joseph@codesourcery.com>
34506 Shujing Zhao <pearly.zhao@oracle.com>
a0463099 34507
f94e1d66
JM
34508 PR translation/42469
34509 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
34510 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
34511 character between option name and help text.
34512 * c.opt (imultilib): Likewise.
34513
06bfe1d0
RAE
345142010-01-10 Rafael Avila de Espindola <espindola@google.com>
34515
34516 * lto-streamer-out.c (output_unreferenced_globals): Output static
34517 variables.
34518
c21f33b6
SB
345192010-01-10 Steven Bosscher <steven@gcc.gnu.org>
34520
34521 PR rtl-optimization/42621
34522 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
34523 optimizing for size.
34524 (duplicate_computed_gotos): Remove now-redundant check.
34525
30ce157e
SE
345262010-01-10 Steve Ellcey <sje@cup.hp.com>
34527
34528 PR target/37454
34529 * configure.ac: Save and restore LDFLAGS and LIBS
34530 * configure: Regenerate.
34531
ab996409
RG
345322010-01-10 Richard Guenther <rguenther@suse.de>
34533
34534 PR middle-end/42667
34535 * builtins.c (fold_builtin_strlen): Add type argument and
34536 convert the resulting length to it.
34537 (fold_builtin_1): Adjust.
34538
7234a615
JJ
345392010-01-09 Jakub Jelinek <jakub@redhat.com>
34540
34541 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
34542 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
34543 1 insn.
34544 (num_insns_constant_wide): Adjust for that change.
34545
994ae26c
AO
345462010-01-09 Alexandre Oliva <aoliva@redhat.com>
34547
34548 PR debug/42631
34549 * web.c (union_defs): Add used argument, to combine uses of
34550 uninitialized regs.
34551 (entry_register): Adjust type and tests of used argument.
34552 (web_main): Widen used for new use. Pass it to union_defs.
34553 * df.h (union_defs): Adjust prototype.
34554
60c48e4c
AO
345552010-01-09 Alexandre Oliva <aoliva@redhat.com>
34556
34557 PR debug/42630
34558 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
34559 uses in new incoming argument. Free body.
34560 (reset_debug_uses_in_loop): New.
34561 (analyze_insn_to_expand_var): Call the latter if the former found
34562 anything. Fix whitespace. Reject invalid dest overlaps before
34563 going through all insns in the loop.
34564
bb956f3e
AO
345652010-01-09 Alexandre Oliva <aoliva@redhat.com>
34566
34567 PR debug/42629
34568 * haifa-sched.c (dying_use_p): Debug insns don't count.
34569
5de8da9b
AO
345702010-01-09 Alexandre Oliva <aoliva@redhat.com>
34571
34572 PR middle-end/42363
34573 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
34574 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
34575 (verify_gimple_call): Reject LHS in noreturn calls.
34576
684f25f4
AO
345772010-01-09 Alexandre Oliva <aoliva@redhat.com>
34578
34579 PR debug/42604
34580 PR debug/42395
34581 * tree-vect-loop-manip.c (adjust_info): New type.
34582 (adjust_vec): New pointer to vector.
34583 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
34584 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
34585 (slpeel_update_phis_for_duplicate_loop): Use them.
34586 (slpeel_update_phi_nodes_for_guard1): Likewise.
34587 (slpeel_update_phi_nodes_for_guard2): Likewise.
34588 (slpeel_tree_peel_loop_to_edge): Likewise.
34589 (vect_update_ivs_after_vectorizer): Likewise.
34590
0e00563c
AO
345912010-01-09 Alexandre Oliva <aoliva@redhat.com>
34592
34593 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
34594 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
34595
0ce659eb
AO
345962010-01-09 Alexandre Oliva <aoliva@redhat.com>
34597
34598 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
34599 bogus uninitialized warning.
34600
73c865fa
RG
346012010-01-09 Richard Guenther <rguenther@suse.de>
34602
34603 PR middle-end/42512
34604 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
34605 the evolution is compatible with the initial condition.
34606
bd5c3aa5
JJ
346072010-01-09 Jakub Jelinek <jakub@redhat.com>
34608
34609 * gcc.c (process_command): Update copyright notice dates.
34610 * gcov.c (print_version): Likewise.
34611 * gcov-dump.c (print_version): Likewise.
34612 * mips-tfile.c (main): Likewise.
34613 * mips-tdump.c (main): Likewise.
34614
58f0ea2f
AH
346152010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
34616
34617 PR target/41885
2685baa1 34618 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
58f0ea2f
AH
34619 (rotlhi3): Delete.
34620 (rotlhi3_8): Delete.
34621 (rotlsi3): Delete.
34622 (rotlsi3_8): Delete.
34623 (rotlsi3_16): Delete.
34624 (rotlsi3_24): Delete.
34625 (rotl<mode>3): New.
34626 (*rotw<mode>3): New.
34627 (*rotb<mode>3): New.
2685baa1 34628 * config/avr/avr.c (avr_rotate_bytes): New function.
a0463099 34629 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
58f0ea2f 34630
601fc26e
SE
346312010-01-08 Steve Ellcey <sje@cup.hp.com>
34632
34633 PR target/37454
34634 * configure.ac: Modify -rdynamic check.
34635 * configure: Regenerate.
34636
6a62ca52
DD
346372010-01-08 DJ Delorie <dj@redhat.com>
34638
34639 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
34640 register popping order.
34641
c59449fa
RG
346422010-01-08 Richard Guenther <rguenther@suse.de>
34643
34644 PR lto/42528
34645 * c.opt (fsigned-char): Also let LTO handle this option.
34646 (funsigned-char): Likewise.
34647
f68a75df
RG
346482010-01-07 Richard Guenther <rguenther@suse.de>
34649
34650 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
34651 (gimple_op): Likewise.
34652 (gimple_op_ptr): Likewise.
34653 (gimple_assign_set_lhs): Remove gcc_assert.
34654 (gimple_assign_set_rhs1): Likewise.
34655 (gimple_assign_set_rhs2): Likewise.
34656 (gimple_call_set_lhs): Likewise.
34657 (gimple_call_set_fn): Likewise.
34658 (gimple_call_set_fndecl): Likewise.
34659 (gimple_call_fndecl): Likewise.
34660 (gimple_call_return_type): Likewise.
34661 (gimple_call_set_chain): Likewise.
34662 (gimple_call_num_args): Likewise.
34663 (gimple_call_set_arg): Likewise.
34664 (gimple_cond_set_code): Likewise.
34665 (gimple_cond_set_lhs): Likewise.
34666 (gimple_cond_set_rhs): Likewise.
34667 (gimple_cond_set_true_label): Likewise.
34668 (gimple_cond_set_false_label): Likewise.
34669 (gimple_label_set_label): Likewise.
34670 (gimple_goto_set_dest): Likewise.
34671 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
34672 (gimple_debug_bind_get_value): Likewise.
34673 (gimple_debug_bind_get_value_ptr): Likewise.
34674 (gimple_debug_bind_set_var): Likewise.
34675 (gimple_debug_bind_set_value): Likewise.
34676 (gimple_debug_bind_reset_value): Likewise.
34677 (gimple_debug_bind_has_value_p): Likewise.
34678 (gimple_return_retval_ptr): Remove gcc_assert.
34679 (gimple_return_retval): Likewise.
34680 (gimple_return_set_retval): Likewise.
34681 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
34682 (safe_referenced_var_iterator): Remove.
34683 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
34684 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
34685 (fill_referenced_var_vec): Remove.
34686 (first_readonly_imm_use): Remove redundant gcc_assert.
34687 (phi_arg_index_from_use): Combine gcc_asserts.
34688 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
34689 (first_imm_use_stmt): Remove redundant gcc_assert.
34690 * tree-cfg.c (verify_gimple_call): Verify function and chain
34691 operands. Verify arguments.
34692 (verify_types_in_gimple_stmt): Verify condition code and labels.
34693
617531d9
RG
346942010-01-07 Richard Guenther <rguenther@suse.de>
34695
34696 PR tree-optimization/42641
34697 * sese.c (rename_map_elt_info): Use the SSA name version, do
34698 not hash pointers.
34699
4139c7ef
JJ
347002010-01-07 Jakub Jelinek <jakub@redhat.com>
34701
34702 PR tree-optimization/42625
34703 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
b5e33e04 34704 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
4139c7ef 34705
01094033
DS
347062010-01-07 Duncan Sands <baldrick@free.fr>
34707
34708 * Makefile.in (PLUGIN_HEADERS): Add version.h.
34709
4b9ed9aa
UB
347102010-01-07 Uros Bizjak <ubizjak@gmail.com>
34711
34712 PR target/42511
34713 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
34714 note itself is not function_invariant_p.
34715
f50f5566
SB
347162009-01-07 Steven Bosscher <steven@gcc.gnu.org>
34717
34718 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
34719 Do not add the DF_NOTE problem.
34720 * store-motion.c (execute_rtl_store_motion): Likewise.
34721
d05fe940
MJ
347222010-01-07 Martin Jambor <mjambor@suse.cz>
34723
34724 PR tree-optimization/42157
34725 * tree-sra.c (compare_access_positions): Stabilize sort if both
34726 accesses have integer types, return zero immediately if they are the
34727 same.
34728
e67271bd
RH
347292010-01-06 Richard Henderson <rth@redhat.com>
34730
34731 PR middle-end/41883
34732 * haifa-sched.c (add_to_note_list): Merge into ...
34733 (concat_note_lists): ... here, and ...
34734 (unlink_other_notes, rm_other_notes): Merge into...
34735 (remove_notes): ... here. Create REG_SAVE_NOTEs for
a0463099 34736 NOTE_INSN_EPILOGUE_BEG.
e67271bd 34737
6209a13e
RG
347382010-01-06 Richard Guenther <rguenther@suse.de>
34739
34740 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
34741 not inline regular functions into always-inline functions.
34742
5f75e477
NC
347432010-01-06 Nick Clifton <nickc@redhat.com>
34744
34745 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
34746 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
34747 used together.
34748 (OVERRIDE_OPTIONS): Delete.
34749 (OPTIMIZATION_OPTIONS): Define.
34750 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
34751 * config/rx/rx.c (rx_handle_option): Issue an error message if
34752 -mcpu=rx200 and -fpu are used together.
34753 (rx_set_optimization_options): New function. Issue an error
34754 message if an optimization attribute attempts to reset the FPU/
34755 math optimization pairing.
34756 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
34757 * config/rx/rx.opt: Set the default to 32-bit doubles.
34758 * config/rx/t-rx: Add multilibs for -nofpu option.
34759 * doc/invoke.texi: Update documentation of RX options.
34760
13de9095
RG
347612010-01-06 Richard Guenther <rguenther@suse.de>
34762
34763 * tree-ssa-pre.c (name_to_id): New global.
34764 (alloc_expression_id): Simplify SSA name handling.
34765 (lookup_expression_id): Likewise.
34766 (init_pre): Zero name_to_id.
34767 (fini_pre): Free it.
34768
786c3fbc
UB
347692010-01-06 Uros Bizjak <ubizjak@gmail.com>
34770
34771 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
34772
fa1a4144
L
347732010-01-05 H.J. Lu <hongjiu.lu@intel.com>
34774
34775 PR target/42542
34776 * config/i386/sse.md (smaxv2di3): New.
34777 (umaxv2di3): Likewise.
34778 (sminv2di3): Likewise.
34779 (uminv2di3): Likewise.
34780
208384fd
EB
347812010-01-05 Eric Botcazou <ebotcazou@adacore.com>
34782
34783 PR target/42564
34784 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
34785 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
34786 (legitimize_tls_address): Likewise.
34787 (sparc_tls_referenced_p): Likewise.
34788 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
34789 and adjust calls to legitimize_pic_address.
34790 (legitimate_constant_p) Use sparc_tls_referenced_p.
34791 (legitimate_pic_operand_p): Likewise.
34792 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
34793 (sparc_tls_symbol_ref_1): Delete.
34794 (sparc_tls_referenced_p): Make static, recognize specific patterns.
34795 (legitimize_tls_address): Make static, handle CONST patterns.
34796 (legitimize_pic_address): Make static, remove unused parameter and
34797 adjust recursive calls.
34798 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
34799 and adjust call to legitimize_pic_address.
34800 (sparc_output_mi_thunk): Likewise.
34801
4b9ed9aa 348022010-01-05 Paolo Bonzini <bonzini@gnu.rg>
43d4b97d
L
34803 H.J. Lu <hongjiu.lu@intel.com>
34804
34805 PR target/42542
34806 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
34807 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
34808 operands to make them signed.
34809
931c6b3e
UB
34810 Revert:
34811 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
34812
34813 PR target/42542
34814 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
34815 GTU to GT for V4SI and V2DI.
34816
34817 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
34818 (umin<mode>3): Removed.
34819 (uminv8hi3): New.
43d4b97d
L
34820 (uminv4si3): Likewise.
34821
9bf4cdf5
MJ
348222010-01-05 Martin Jambor <mjambor@suse.cz>
34823
34824 PR tree-optimization/42462
34825 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
34826 current_function_decl to helper functions and macros.
34827
6a4d4e8a
RO
348282010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34829
34830 PR bootstrap/41771
34831 * flags.h: Don't include real.h.
34832 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
34833 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
34834 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
34835 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
34836 * dominance.c: Update copyright.
34837 * gimple.c (walk_gimple_op): Remove inline.
34838 * tree-ssa-reassoc.c: Include real.h.
34839 * Makefile.in (FLAGS_H): Remove $(REAL_H).
34840 (tree-ssa-reassoc.o): Depend on $(REAL_H).
34841
105249d1
NC
348422010-01-05 Nick Clifton <nickc@redhat.com>
34843
34844 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
34845 register to push into the stack frame when the accumulator has to
34846 be saved during interrupts.
34847
bc3c12a2
EF
348482010-01-05 Eric Fisher <joefoxreal@gmail.com>
34849
34850 * doc/invoke.texi: Remove the documentation about option
34851 -Wunreachable-code.
34852 * common.opt (Wunreachable-code): Preserved for backward
34853 compatibility.
34854 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
34855 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
34856 the backward compatibility flag section.
34857
1befacc8
RG
348582010-01-05 Richard Guenther <rguenther@suse.de>
34859
34860 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
34861
566f27e4
JJ
348622010-01-05 Jakub Jelinek <jakub@redhat.com>
34863
7604eb4e
JJ
34864 PR other/42611
34865 * cfgexpand.c (expand_one_var): Diagnose too large variables.
34866
566f27e4
JJ
34867 PR tree-optimization/42508
34868 * tree-sra.c (convert_callers): Check for recursive call
34869 by comparing cgraph nodes instead of decls.
34870 (modify_function): Call ipa_modify_formal_parameters also
34871 on all same_body aliases.
34872
34873 * cgraphunit.c (cgraph_materialize_all_clones): Compare
34874 cgraph nodes when checking for same_body aliases.
34875
5f5126d6
RG
348762010-01-05 Richard Guenther <rguenther@suse.de>
34877
34878 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
34879 allocation and lookup.
34880 (get_or_alloc_expr_for_constant): Likewise.
34881 (phi_translate): Sink allocation.
34882
a7d04a53
RG
348832010-01-04 Richard Guenther <rguenther@suse.de>
34884
34885 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
34886 a new entry only if needed.
34887 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
34888 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
34889 hashtable lookup.
34890 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
34891 the result array.
34892 (phi_translate): Handle CONSTANTs early.
34893
caee6ca1
MJ
348942010-01-04 Martin Jambor <mjambor@suse.cz>
34895
34896 PR tree-optimization/42398
34897 * tree-sra.c (struct access): Removed flag grp_different_types.
34898 (dump_access): Do not dump the removed flag.
34899 (sort_and_splice_var_accesses): Do not set the removed flag.
34900 (sra_modify_expr): Check for type compatibility directly.
34901
438789ff
MJ
349022010-01-04 Martin Jambor <mjambor@suse.cz>
34903
34904 PR tree-optimization/42366
34905 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
34906 edges with variable number of parameters.
34907 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
34908 flag instead of asserting it.
34909 (ipa_read_node_info): Read uses_analysis_done flag.
34910
9708c51d
RG
349112010-01-04 Richard Guenther <rguenther@suse.de>
34912
34913 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
34914 iterative_hash_* as intended.
34915 (vn_reference_compute_hash): Likewise. Simplify hashing
34916 SSA names.
34917 (vn_reference_lookup_2): Likewise.
34918 (vn_nary_op_compute_hash): Likewise.
34919 (vn_phi_compute_hash): Likewise.
34920 (expressions_equal_p): Remove strange code.
34921 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
34922 (pre_expr_hash): Likewise. Simplify hashing SSA names.
34923 (bitmap_insert_into_set_1): Take value-id as parameter.
34924 (add_to_value): Pass it.
34925 (bitmap_insert_into_set): Likewise.
34926 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
34927
94b90527
JJ
349282010-01-04 Jakub Jelinek <jakub@redhat.com>
34929
34930 PR driver/42442
34931 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
34932 (do_self_spec): For switches with SWITCH_IGNORE set set also
34933 SWITCH_IGNORE_PERMANENTLY.
34934 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
34935 of SWITCH_IGNORE.
34936
785ca514
RAE
349372010-01-04 Rafael Avila de Espindola <espindola@google.com>
34938
34939 * lto-streamer-out.c (output_unreferenced_globals): Output the full
34940 tree of an unreferenced global var.
34941
22554cf9
L
349422010-01-04 H.J. Lu <hongjiu.lu@intel.com>
34943
34944 PR target/42542
34945 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
34946 GTU to GT for V4SI and V2DI.
34947
34948 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
34949 (umin<mode>3): Removed.
34950 (uminv8hi3): New.
34951 (uminv4si3): Likewise.
34952
7152f51e
L
349532010-01-04 H.J. Lu <hongjiu.lu@intel.com>
34954
34955 PR lto/42581
34956 * collect2.c (main): Turn on trace in collect2 if -v is passed
34957 to gcc with LTO.
34958
f4262155
JQ
349592010-01-03 Jerry Quinn <jlquinn@optonline.net>
34960
34961 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
34962 description of expression operand.
34963
55bcd32b
AJ
349642010-01-03 Andrew Jenner <andrew@codesourcery.com>
34965
34966 * configure.ac: Add install-html to target_list for Make-hooks.
34967 * configure: Regenerate.
34968 * fortran/Make-lang.in (F95_HTMLFILES): New.
34969 (fortran.html): Use it.
34970 (fortran.install-html): New.
34971 * Makefile.in (install-html): Add lang.install-html.
34972 * java/Make-lang.in (JAVA_HTMLFILES): New.
34973 (java.html): Use it.
34974 (java.install-html): New.
34975 * objc/Make-lang.in (objc.install-html): New.
34976 * objcp/Make-lang.in (obj-c++.install-html): New.
34977 * cp/Make-lang.in (c++.install-html): New.
34978 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
34979 * lto/Make-lang.in (lto.install-html): New.
34980
f0d61983
L
349812010-01-03 H.J. Lu <hongjiu.lu@intel.com>
34982
34983 PR lto/42520
34984 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
34985
2ad1dda0
SB
349862009-01-03 Steven Bosscher <steven@gcc.gnu.org>
34987
34988 PR rtl-optimization/41862
34989 * store-motion.c (store_killed_in_insn, compute_store_table,
34990 remove_reachable_equiv_notes, replace_store_insn,
34991 build_store_vectors): Ignore all DEBUG_INSNs.
34992
d7fb0a6d
L
349932010-01-03 H.J. Lu <hongjiu.lu@intel.com>
34994
34995 PR lto/41564
34996 * common.opt: Add dumpdir.
34997
34998 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
34999 isn't specified.
35000 (option_map): Add --dumpdir.
35001
35002 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
35003
35004 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
35005
35006 * opts.c (decode_options): Try dump_dir_name first if
35007 dump_base_name isn't an absolute path.
35008 (common_handle_option): Handle OPT_dumpdir.
35009
35010 * toplev.c (dump_dir_name): New.
35011 (print_switch_values): Also ignore -dumpdir.
35012
35013 * toplev.h (dump_dir_name): New.
35014
ba1ee228
RG
350152010-01-03 Richard Guenther <rguenther@suse.de>
35016
35017 PR tree-optimization/42589
35018 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
35019 double-word expansion of bswap32.
35020
b0de17ef
SB
350212010-01-03 Steven Bosscher <steven@gcc.gnu.org>
35022
35023 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
35024 with BLOCK_FOR_INSN.
35025 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
35026 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
35027 noce_process_if_block): Likewise.
35028 * gcse.c (compute_local_properties, insert_expr_in_table,
35029 insert_set_in_table, canon_list_insert, find_avail_set,
35030 pre_insert_copy_insn): Likewise.
35031
35032 * basic-block.h (BLOCK_NUM): Move from here...
35033 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
35034
a19eb9d2
RG
350352010-01-03 Richard Guenther <rguenther@suse.de>
35036
35037 PR tree-optimization/42438
35038 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
35039 contains_may_not_return_call flag.
35040 (BB_MAY_NOTRETURN): New.
35041 (valid_in_sets): Trapping nary operations are not valid
35042 in blocks that may not return.
b5e33e04 35043 (insert_into_preds_of_block): Remove check for trapping expressions.
a19eb9d2
RG
35044 (compute_avail): Compute also BB_MAY_NOTRETURN.
35045
c41b7b13
GP
350462010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
35047
35048 * doc/invoke.texi: Add 2010 to copyright years.
35049
4900aa61
EB
350502010-01-03 Eric Botcazou <ebotcazou@adacore.com>
35051
35052 * config/sparc/sparc.c: Fix formatting nits.
35053
711a778c 350542010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
77102854 35055 Alexander Monakov <amonakov@ispras.ru>
711a778c
GP
35056
35057 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
35058
1d86f5e9
RG
350592010-01-02 Richard Guenther <rguenther@suse.de>
35060
35061 PR middle-end/42577
35062 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
35063 (simplify_switch_using_ranges): Mark to be removed edges
35064 as non-executable.
35065
91e1a80a
JDA
350662010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
35067
b86799ba
JDA
35068 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
35069
91e1a80a
JDA
35070 * collect2.c (scan_libraries): Add missing argument in call to
35071 scan_prog_file.
35072
350732010-01-02 Uros Bizjak <ubizjak@gmail.com>
35074
35075 PR target/42448
35076 * config/alpha/predicates.md (aligned_memory_operand): Return false
35077 for CQImode.
35078 (unaligned_memory_operand): Return true for CQImode.
35079 * config/alpha/alpha.c (get_aligned_mem): Assert that location
35080 doesn not cross aligned SImode word boundary.
35081
350822010-01-02 Anatoly Sokolov <aesok@post.ru>
35083
35084 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
35085 Remove.
35086 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
35087 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
35088
350892010-01-02 Richard Guenther <rguenther@suse.de>
35090
35091 PR lto/41597
35092 * toplev.c (compile_file): Emit LTO marker properly. Change
35093 it to __gnu_lto_v1.
35094 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
5a013dc4 35095
aecd4d81
RG
350962010-01-01 Richard Guenther <rguenther@suse.de>
35097
35098 PR debug/42455
02143d0b 35099 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
aecd4d81 35100
e4a95933
RG
351012010-01-01 Richard Guenther <rguenther@suse.de>
35102
35103 PR c/42570
35104 * c-decl.c (grokdeclarator): For zero-size arrays force
35105 structural equality checks as layout_type does.
35106
0bdf1263
L
351072010-01-01 H.J. Lu <hongjiu.lu@intel.com>
35108
35109 * builtins.c: Update copyright to 2010.
35110
91539475 351112010-01-01 H.J. Lu <hongjiu.lu@intel.com>
8589115b
DK
35112
35113 PR lto/42531
91539475 35114 * lto-streamer-out.c (produce_asm): Revert the last change.
8589115b
DK
35115 (copy_function): Likewise.
35116
91539475
L
35117 * lto-streamer.c (lto_get_section_name): Skip any leading
35118 asterisk in name.
20cdc2be 35119
91539475 351202010-01-01 Richard Guenther <rguenther@suse.de>
cf9eb565 35121
91539475
L
35122 PR middle-end/42559
35123 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
35124 for LABEL_DECLs.
ad41bd84
JM
35125
35126\f
91539475 35127Copyright (C) 2010 Free Software Foundation, Inc.
ad41bd84
JM
35128
35129Copying and distribution of this file, with or without modification,
35130are permitted in any medium without royalty provided the copyright
35131notice and this notice are preserved.