]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR c/46462 (Revision 166700 caused new C test failures)
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
a5812bdc
PB
12010-11-13 Paolo Bonzini <bonzini@gnu.org>
2
3 PR c/46462
4 * c-decl.c (declspecs_add_type): Make variables with error types
5 integers.
6 * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
7 do not start a declaration before an Objective-C foreach.
8 (c_parser_declaration_or_fndef): Improve recovery after unknown
9 type name.
10 (c_parser_for_statement): Hoist entrance of "foreach context"
11 before ifs, add corresponding reset where it was missing. Do
12 not set objc_could_be_foreach_context for C.
13
ae788515
EB
142010-11-14 Eric Botcazou <ebotcazou@adacore.com>
15
16 PR tree-optimization/45722
17 * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
18 this is a reference to a component.
19 * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
20 (ipa_note_param_call): Adjust comment.
21
8a7a250d
RS
222010-11-14 Richard Sandiford <rdsandiford@googlemail.com>
23
24 * config/mips/mips.c (machine_function): Remove
25 initialized_mips16_gp_pseudo_p.
26 (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
27 detect whether a pseudo has already been created. Unconditionally
28 create a new one if not.
29 (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
30 expanding to rtl. Create a new pseudo otherwise, if allowed.
31
0c6d290e
RE
322010-11-13 Richard Earnshaw <rearnsha@arm.com>
33
d8621648 34 PR target/43440
0c6d290e
RE
35 * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
36 * tm.texi: Regenerated.
37 * output.h (decode_reg_name_and_count): Declare.
38 * varasm.c (decode_reg_name_and_count): New function.
39 (decode_reg_name): Reimplement using decode_reg_name_and_count.
40 * reginfo.c (fix_register): Use decode_reg_name_and_count and
41 iterate over all regs used.
42 * stmt.c (expand_asm_operands): Likewise.
43 * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
44 (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
45 multiple machine registers.
46
985c87c9
EB
472010-11-13 Eric Botcazou <ebotcazou@adacore.com>
48
49 * stor-layout.c (place_union_field): Do not put location information
50 on offset expressions.
51 (place_field): Likewise.
52 (finalize_record_size): Likewise on size expressions.
53 (finalize_type_size): Likewise.
54 (layout_type): Likewise.
55
f9aeaebf
AO
562010-11-13 Alexandre Oliva <aoliva@redhat.com>
57
58 PR debug/42889
59 * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
60 * df-core.c (df_set_bb_dirty_nonrl): Remove.
61 * df.h (df_set_bb_dirty_nonlr): Likewise.
62
82220036
UB
632010-11-13 Uros Bizjak <ubizjak@gmail.com>
64
65 * config/mips/mips.md (call_internal): Pass curr_insn to
66 mips_split_call.
67 (call_internal_direct): Ditto.
68 (call_value_internal): Ditto.
69 (call_value_internal_direct): Ditto.
70 (call_value_multiple_internal): Ditto.
71 * config/mips/mips.c (mips_split_call): Do not copy
72 CALL_INSN_FUNCTION_USAGE here.
73
98824c6f
MS
742010-11-13 Mingming Sun <mingm.sun@gmail.com>
75
76 * doc/invoke.texi (MIPS Options): Add loongson3a processor.
77 * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
78 (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
79 * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
80 (TUNE_LOONGSON_3A): Define.
81 (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
82 (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
83 * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
84 (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
85 (mips_rtx_cost_data): Add Loongson-3A.
86
2b7d8ce6
IS
872010-11-13 Iain Sandoe <iains@gcc.gnu.org>
88
89 * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
90 switches.
91
a99291e4
IS
922010-11-13 Iain Sandoe <iains@gcc.gnu.org>
93
94 * dwarf2out.c (macinfo_entry): New struct.
95 (output_comp_unit): Emit the section start label here and flag that we
96 will emit an info section.
97 (dwarf2out_start_source_file): Save data in a macinfo entry rather than
98 emitting directly.
99 (dwarf2out_end_source_file): Likewise.
100 (dwarf2out_define): Likewise.
101 (dwarf2out_undef): Likewise.
102 (output_macinfo): New.
103 (dwarf2out_init): Do not emit debug section switches here, allocate a
104 vec for macinfo, when required.
105 (dwarf2out_finish): First switch to debug_abbrev_section here.
106 debug_line_section, debug_macinfo_section, Likewise.
107 Check that the pubtypes table has at least one unpruned entry before
108 trying to emit it.
109
a5812bdc 1102010-11-13 Paolo Bonzini <bonzini@gnu.org>
2f413185
PB
111
112 PR c/20385
113 * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
114 (c_parser_next_tokens_start_declaration): ... this. Handle 2nd
115 token lookahead.
116 (c_parser_compound_statement_nostart, c_parser_label,
117 c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
118 (c_parser_declaration_or_fndef): Detect the case now matched by
119 c_parser_next_tokens_start_declaration, give error and correct it.
120
9e5b2115
PB
1212010-11-13 Paolo Bonzini <bonzini@gnu.org>
122
123 * c-tree.h (enum c_typespec_kind): Add ctsk_none.
124 (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
125 with typespec_kind.
126 * c-decl.c (build_null_declspecs): Initialize typespec_kind.
127 (shadow_tag_warned, check_compound_literal_type): Adjust
128 uses of tag_defined_p.
129 (declspecs_add_type): Set typespec_kind.
130 * c-parser.c (c_parser_declaration_or_fndef,
131 c_parser_declspecs, c_parser_struct_declaration,
132 c_parser_parameter_declaration, c_parser_type_name,
133 c_parser_objc_diagnose_bad_element_prefix): Adjust uses
134 of type_seen_p.
135 * c-typeck.c (c_cast_expr): Use typespec_kind instead of
136 tag_defined_p, pass ctsk_firstref through.
137
18406601
PB
1382010-11-13 Paolo Bonzini <bonzini@gnu.org>
139
140 * c-format.c (enum format_specifier_kind, kind_descriptions): New.
141 (struct format_wanted_type): Replace field "name" with "kind", add
142 "format_start" and "format_length".
143 (check_format_info_main): Fill in new fields. Fill in
144 FORMAT_WANTED_TYPES even for missing arguments. Move checks
145 after the final NUL outside the while loop. Do not include
146 width and precision modifiers in the format_start/format_length
147 of the main format.
148 (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
149 arguments. Compute WANTED_TYPE first so that format_type_warning
150 can be called for missing arguments. Adjust calls to
151 format_type_warning.
152 (format_type_warning): Fetch as much information as possible
153 from format_wanted_type. Adjust printing now that every
154 warning has a "descr", as well as for missing argument warnings
155 and to include % sign for format specifiers.
156
5f33b972
AM
1572010-11-12 Alexander Monakov <amonakov@ispras.ru>
158
159 PR rtl-optimization/46204
160 * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
161 Update all callers. Do not recompute topological order. Adjust
162 fallthrough edges following a degenerate conditional jump.
163
c5fa0890
JM
1642010-11-12 Joseph Myers <joseph@codesourcery.com>
165
166 * opts-common.c (control_warning_option): New.
167 * opts.c (set_default_handlers): New.
168 (decode_options): Use set_default_handlers and
169 control_warning_option.
170 (common_handle_option): Update call to enable_warning_as_error.
171 (enable_warning_as_error): Take gcc_options parameters. Use
172 control_warning_option.
173 * opts.h (set_default_handlers, control_warning_option): Declare.
174
a4d8c676
JM
1752010-11-12 Joseph Myers <joseph@codesourcery.com>
176
177 * Makefile.in (OPTS_H): Define.
178 (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
179 c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
180 cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
181 opts-common.o, toplev.o, passes.o, matrix-reorg.o,
182 ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
183 * gcc.c (driver_handle_option): Take location_t parameter.
184 (process_command, do_self_spec): Update calls to
185 read_cmdline_option.
186 * langhooks-def.h (lhd_handle_option): Take location_t parameter.
187 * langhooks.c (lhd_handle_option): Take location_t parameter.
188 * langhooks.h (handle_option): Take location_t parameter.
189 * lto-opts.c (lto_reissue_options): Update call to set_option.
190 * opts-common.c (handle_option): Make static. Take location_t
191 parameter and pass it to other functions.
192 (handle_generated_option): Take location_t parameter and pass it
193 to other functions.
194 (read_cmdline_option): Take location_t parameter and pass it to
195 other functions. Use warning_at and error_at.
196 (set_option): Take location_t parameter and pass it to other
197 functions.
198 * opts.c (common_handle_option): Take location_t parameter and
199 pass it to other functions.
200 (enable_warning_as_error): Make static. Take location_t parameter
201 and pass it to other functions.
202 (lang_handle_option): Take location_t parameter and pass it to
203 other functions.
204 (target_handle_option): Take location_t parameter.
205 (read_cmdline_options, maybe_default_option,
206 maybe_default_options, default_options_optimization,
207 decode_options): Take location_t parameter and pass it to other
208 functions.
209 * opts.h: Include input.h.
210 (struct cl_option_handler_func, decode_options, set_option,
211 handle_generated_option, read_cmdline_option): Take location_t
212 parameters.
213 (handle_option, enable_warning_as_error): Remove.
214 * toplev.c (toplev_main): Update call to decode_options.
215
731d8886
TG
2162010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
217
218 * graphite-cloog-util.c (oppose_constraint,
219 cloog_matrix_to_ppl_constraint,
220 new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
221 CLooG isl uses unsigned integers. This triggered a warning.
222
046845de
JR
2232010-11-12 Joern Rennecke <amylaar@spamcop.net>
224
225 PR target/46438
226 * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
227 (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
228 (xtensa_function_arg_1): De-constify cum.
229 (xtensa_expand_prologue): Use add_reg_note.
230
973c3795
JR
231 PR target/46435
232 * config/cris/cris.c (saved_regs_mentioned): Delete.
233 (cris_reload_address_legitimized): Cast itype to enum reload_type.
234 Remove unused variable op0p.
235 (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
236 (cris_emit_movem_store): Use add_reg_note.
237
17f84643
JR
238 PR bootstrap/46456
239 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
240
d16e455d
EB
2412010-11-12 Eric Botcazou <ebotcazou@adacore.com>
242
243 * function.c (expand_function_end): Set the locator of the prologue on
244 the stack checking insns.
245
47c21725
RH
2462010-11-12 Richard Henderson <rth@redhat.com>
247
248 * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
249 * config/xtensa/xtensa.opt (mfused-madd): Remove.
250 * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
251 MASK_FUSED_MADD.
252 * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
253 (fnmasf4): Rename from mulsubsf3; use fma.
254
a8ea9484
JR
2552010-11-12 Joern Rennecke <amylaar@spamcop.net>
256 Richard Henderson <rth@redhat.com>
257
258 PR target/46428
259 * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
260 * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
261 comparison.
262
c8967d95
PH
2632010-11-12 Pat Haugen <pthaugen@us.ibm.com>
264
265 * opts-common.c (decode_cmdline_option): Initialize separate_args.
266
211ceaca
JH
2672010-11-12 Jan Hubicka <jh@suse.cz>
268
269 * doc/invoke.texi (early-inlining-insns): Update default.
270 * params.def (early-inlining-insns): Default to 10.
271
146d930b
OH
2722010-11-12 Olivier Hainque <hainque@adacore.com>
273
274 * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
275
882557be
RO
2762010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
277
278 * config/mips/iris6.h [!IRIX_USING_GNU_LD]
279 (SUPPORTS_INIT_PRIORITY): Define.
280
3f02a5f3
JR
2812010-11-12 Joern Rennecke <amylaar@spamcop.net>
282
283 PR target/46430
284 * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
285 * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
286 (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
287 (avr_device_to_devicelib): Likewise.
288 * config/avr/avr.md (zero_extendqihi2): Put variable declarations
289 into block.
290 (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
291 (zero_extendhidi2, zero_extendsidi2): Likewise.
292 * config/avr/avr.c (avr_num_arg_regs): Constify type.
293 (avr_return_addr_rtx): De-constify tem.
294 (avr_rotate_bytes): Move declarations to start of block.
295 Don't use variable length array.
296 Put nested if/else into block.
297
f42865cb
JR
298 PR rtl-optimization/46433
299 * var-tracking.c: Include tm_p.h .
300
4a6336ad
JR
301 PR bootstrap/44756
302 PR build/44767
303 * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
304 should be unsigned.
305 (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
306 * doc/tm.texi: Regenerate.
307
d3c176fc
JR
308 PR target/46412
309 * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
310 * config/bfin/bfin.c: Include sel-sched.h .
311 (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
312 (expand_interrupt_handler_prologue): Remove unused variable insn.
313 (bfin_load_pic_reg): Likewise.
314 (bfin_rtx_costs): Make code / outer_code variables of type
315 enum rtx_code, copied from re-named parameters.
316 (bfin_local_alignment): Change align argument and return type
317 to unsigned.
318 (bfin_adjust_cost): Remove unused variable insn_type.
319 Declare variables at start of block.
320 (struct loop_info): Rename to...
321 (struct loop_info_d).
322 (workaround_rts_anomaly): Change type of icode to int.
323 (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
324 with int-typed variable.
325 (note_np_check_stores): Likewise.
326 (trapping_loads_p): Remove unused variable pat.
327 (bfin_expand_binop_builtin): Use expand_normal.
328 (bfin_expand_unop_builtin): Likewise.
329 (bfin_expand_builtin): Likewise.
330 Set tmode before use.
331
ae77ff7a
JR
332 PR middle-end/44769
333 * final.c (split_double): Don't use BITS_PER_WORD directly in
334 shift count.
335
02809efd
JR
336 PR target/46431
337 * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
338 assignment.
339
f1cb6795
JR
340 PR target/46450
341 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
342 Use add_reg_note.
343 (xstormy16_function_arg): Dereference cum.
344 (xstormy16_expand_builtin): Use expand_normal.
345 Change type of omode to enum machine_mode.
346 (combine_bnp): Rename and to and_insn.
347
1c71ec08
JR
348 PR target/46437
349 * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
350 localreg.
351
4e0084e4
EB
3522010-11-12 Eric Botcazou <ebotcazou@adacore.com>
353
354 PR debug/46375
355 * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
356
8bbaa770
RRC
3572010-11-11 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
358
359 PR lto/46376
360 * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
361
3a789837
NF
3622010-11-11 Nathan Froyd <froydnj@codesourcery.com>
363
364 PR c/44782
365 * common.opt (fmax-errors=): New option.
366 * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
367 * diagnostic.h (struct diagnostic_context): Add max_errors field.
368 * diagnostic.c (diagnostic_initialize): Initialize it.
369 (diagnostic_action_after_output): Exit if more than max_errors
370 have been output.
371 * doc/invoke.texi (Warning Options): Add -fmax-errors.
372 (-fmax-errors): Document.
373
f03d897a
RH
3742010-11-11 Richard Henderson <rth@redhat.com>
375
376 * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
377
d48e78d6
RH
3782010-11-11 Richard Henderson <rth@redhat.com>
379
380 * config/fused-madd.opt: New file.
381 * config.gcc [i386-*, x86_64-*] (extra_options): Use it.
382 * config/i386/i386.c (ix86_extra_costs): Handle FMA.
383 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
384 * config/i386/i386.opt (mfused-madd): Remove.
385 * config/i386/sse.md (split_fma): Remove.
386 (split_fms, split_fnma, split_fnms): Remove.
387
94252ac2
JJ
3882010-11-12 Jakub Jelinek <jakub@redhat.com>
389
390 PR target/46088
391 * config/i386/i386.md (*ashl<mode>3_cconly,
392 *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
393 change nonimmediate_operand predicate to register_operand.
394
8fb15466
PB
3952010-11-11 Paolo Bonzini <bonzini@gnu.org>
396
397 * Makefile.in (gengtype-lex.c): Include bconfig.h first.
398
014d92e1
JH
3992010-11-11 Jan Hubicka <jh@suse.cz>
400
a9c64730
JH
401 * opts.c (finish_options): Do not error on -flto-partition alone.
402
014d92e1
JH
403 * doc/invoke.texi (-fwhopr): Merge into -flto section.
404 (-flto-partition): Document none.
405 * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
406 * lto-wrapper.c: Update comment.
407 (run_gcc): Update LTO option parsing.
408 * opts.c (finish_options): add support -flto-partition=none
409 (common_handle_option): Remove fwhopr.
410 * common.opt: Turn fwhopr into flto.
411 * collect2.c (main): Update option handling.
412 * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
413 * ipa-split.c (execute_split_functions): Remove flag_whopr.
414 * ipa.c (function_and_variable_visibility): Remove flag_whopr.
415 * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
416 * varpool.c (decide_is_variable_needed): Remove flag_whopr.
417
2503de8d
JH
4182010-11-11 Jan Hubicka <jh@suse.cz>
419
420 PR tree-optimize/40436
421 * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
422 (eliminated_by_inlining_prob): ... this one; return 50% probability for
423 SRA.
424 (estimate_function_body_sizes): Update use of eliminated_by_inlining_prob;
425 estimate static function size for 2 instructions.
426
77b0efff
JR
4272010-11-11 Joern Rennecke <amylaar@spamcop.net>
428
429 PR target/44749
430 * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
431 declare. Change type of argument four to type int.
432 (mep_secondary_input_reload_class): Returns enum reg_class.
433 (mep_secondary_output_reload_class): Likewise.
434 (mep_function_value): Change types of arguments to cont_tree.
435 * config/mep/mep.c (mep_legitimize_reload_address): Change type of
436 argument four to type int.
437 (mep_secondary_input_reload_class): Returns enum reg_class.
438 (mep_secondary_output_reload_class): Likewise.
439 (mep_function_value): Change types of arguments to cont_tree.
440 * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
441 mep_regno_reg_class to enum reg_class.
442
a1d8aa4b
RH
4432010-11-11 Richard Henderson <rth@redhat.com>
444
445 * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
446 that the target has the exact fma operation that we matched.
447
658bd5ca
JM
4482010-11-11 Joseph Myers <joseph@codesourcery.com>
449
450 * reginfo.c (fix_register): Avoid inserting English word in
451 diagnostic sentence. Use %qs for quoting and %'.
452
12bbb78f
L
4532010-11-11 H.J. Lu <hongjiu.lu@intel.com>
454
455 * config/i386/driver-i386.c (host_detect_local_cpu): Support
456 Intel processor family 6, model 0x2c.
457
f954bd2c
JM
4582010-11-11 Joseph Myers <joseph@codesourcery.com>
459
460 * opts.c (warning_as_error_callback,
461 register_warning_as_error_callback): Remove.
462 (enable_warning_as_error): Don't use warning_as_error_callback.
463 * opts.h (register_warning_as_error_callback): Remove.
464
a5f09e73
RH
4652010-11-11 Richard Henderson <rth@redhat.com>
466
467 * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
468 in between the MULT and the PLUS/MINUS.
469
1004f0c5
JJ
4702010-11-11 Jakub Jelinek <jakub@redhat.com>
471
472 PR middle-end/46388
473 * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
474 BLKmode mode for it.
475 (expand_expr_real_1): Similarly for op0.
476
86de8875
RO
4772010-11-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
478
479 * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
480 Document optional target selector.
481
a16e07c6
DK
4822010-11-11 Dave Korn <dave.korn.cygwin@gmail.com>
483
484 * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
485 assembling high and low parts of size if not using 32-bit HWINT; else
486 use DECL_SIZE_UNITS, not DECL_SIZE.
487
280fedf0
MJ
4882010-11-11 Martin Jambor <mjambor@suse.cz>
489
490 PR tree-optimization/46383
491 * ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
492 offsets.
493 (compute_complex_ancestor_jump_func): Likewise.
494 * tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
495
dcc53f13
JJ
4962010-11-11 Jakub Jelinek <jakub@redhat.com>
497
498 PR debug/46150
499 * tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
500 true if expr1->hash != expr2->hash.
501
d8a07487
JM
5022010-11-10 Joseph Myers <joseph@codesourcery.com>
503
504 * cfgloop.c (verify_loop_structure): Use %' in diagnostics. Start
505 diagnostics with lowercase letters.
506 * cgraphunit.c (verify_cgraph_node): Start diagnostics with
507 lowercase letters.
508 * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
509 diagnostic.
510 * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
511 * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
512 lowercase letters.
513 * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
514 Remove trailing ' ' from diagnostic.
515 * config/avr/avr.c (print_operand_address): Start diagnostic with
516 a lowercase letter and remove trailing '.'.
517 * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
518 * config/bfin/bfin.c (bfin_option_override): Start diagnostics
519 with lowercase letters. Use %' in diagnostics. Remove trailing
520 '.' from diagnostics.
521 (bfin_handle_longcall_attribute): Use %' in diagnostic.
522 * config/cris/cris.c (cris_split_movdx,
523 cris_expand_pic_call_address): Start diagnostics with lowercase
524 letters.
525 (cris_asm_output_label_ref): Use %' in diagnostic.
526 * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
527 letter.
528 * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
529 lowercase letter.
530 * config/darwin-c.c (version_as_macro): Start diagnostic with a
531 lowercase letter.
532 * config/darwin-driver.c (darwin_default_min_version): Use %' in
533 diagnostic.
534 * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
535 diagnostic.
536 * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
537 * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
538 diagnostics.
539 * config/i386/i386.c (ix86_option_override_internal): Write
540 diagnostic as a single sentence without trailing '.'. Use %' in
541 diagnostics.
542 (ix86_function_sseregparm, classify_argument): Start diagnostics
543 with lowercase letters.
544 (ix86_expand_prologue): Use %' in diagnostic.
545 * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
546 diagnostic.
547 * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
548 lowercase letter.
549 * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
550 diagnostic.
551 * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
552 * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
553 '`' in help text.
554 * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
555 lowercase letter.
556 * config/mep/mep.c (mep_validate_vliw): Start diagnostics with
557 lowercase letters.
558 * config/microblaze/microblaze.c (microblaze_handle_option):
559 Remove trailing '.' from diagnostic.
560 (print_operand): Start diagnostic with a lowercase letter.
561 * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
562 lowercase letters. Avoid '`' in diagnostics.
563 * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
564 lowercase letters. Avoid '`' in diagnostics.
565 * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
566 lowercase letters. Avoid '`' in diagnostics.
567 * config/picochip/picochip.c (picochip_option_override,
568 picochip_emit_save_register, picochip_function_arg,
569 picochip_output_label, picochip_output_internal_label,
570 picochip_asm_output_opcode, picochip_output_cbranch,
571 picochip_output_compare, picochip_output_branch,
572 picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
573 diagnostics. Start diagnostics with lowercase letters. Use %' in
574 diagnostics.
575 * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
576 "SPE" capitalization. Start diagnostic with a lowercase letter.
577 (rs6000_handle_option): Start diagnostics with lowercase letters.
578 (def_builtin): Remove trailing '.' from diagnostic.
579 (rs6000_savres_routine_name): Start diagnostic with a lowercase
580 letter.
581 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
582 diagnostic.
583 * config/rx/rx.c (rx_handle_option): Start diagnostic with a
584 lowercase letter.
585 * config/s390/s390.c (s390_option_override) Start diagnostics with
586 lowercase letters. Use %' in diagnostic.
587 * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
588 lowercase letters.
589 * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
590 diagnostic.
591 * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
592 diagnostic.
593 * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
594 diagnostic.
595 * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
596 * config/spu/spu.c (spu_option_override): Start diagnostics with
597 lowercase letters. Use %qs for quoting in diagnostics.
598 (spu_check_builtin_parm): Remove trailing '.' from diagnostics.
599 Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
600 * config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
601 from diagnostic.
602 * convert.c (convert_to_integer, convert_to_vector): Use %' in
603 diagnostics.
604 * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
605 letter and use "cannot" spelling.
606 * expmed.c (extract_fixed_bit_field): Start diagnostic with
607 lowercase letter and format as a single sentence without '.'.
608 * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
609 Use %' in diagnostics.
610 * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
611 Use %' in diagnostics.
612 * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
613 Use %' in diagnostics.
614 * graph.c (clean_graph_dump_file): Use %' in diagnostic.
615 * graphite-poly.c (graphite_read_scop_file): Start diagnostics
616 with lowercase letters and remove tailing '.' and '\n'.
617 * lto-cgraph.c (input_profile_summary): Start diagnostic with
618 lowercase letter and remove trailing '.'.
619 (input_cgraph): Start diagnostics with lowercase letters and
620 remove trailing '\n'.
621 * opts.c (finish_options, common_handle_option): Start diagnostics
622 with lowercase letters and remove trailing '.'. Fix typo in
623 diagnostic.
624 * passes.c (position_pass): Start diagnostic with lowercase
625 letter.
626 * plugin.c (add_new_plugin, parse_plugin_arg_opt,
627 register_callback, try_init_one_plugin): Start diagnostics with
628 lowercase letters.
629 * reload1.c (spill_failure): Use %' in diagnostic.
630 (gen_reload): Start diagnostic with a lowercase letter.
631 * stor-layout.c (place_field): Start diagnostic with a lowercase
632 letter.
633 * toplev.c (open_auxiliary_file): Use %' in diagnostic.
634 * tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
635 verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
636 Start diagnostics with lowercase letters, remove trailing '.' and
637 use %' in diagnostics.
638 * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
639 (verify_ssa): Don't split diagnostic across two error calls.
640 Spell out "number" and use %' in diagnostic.
641 * value-prof.c (visit_hist, check_counter): Start diagnostics with
642 lowercase letters.
643
5ca2bc5e
UB
6442010-11-10 Uros Bizjak <ubizjak@gmail.com>
645
646 PR middle-end/46419
647 * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
648 (_mm_cvtpu16_ps): Ditto.
649
d5478783
JM
6502010-11-10 Joseph Myers <joseph@codesourcery.com>
651
652 * common.opt (flag_excess_precision_cmdline, flag_generate_lto,
653 warn_larger_than, larger_than_size, warn_frame_larger_than,
654 frame_larger_than_size, flag_gen_aux_info, flag_shlib,
655 default_visibility, flag_tls_default): New Variable declarations.
656 (aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
657 falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
658 (v): Declare as Common and document here.
659 * flags.h (default_visibility, flag_generate_lto,
660 warn_larger_than, larger_than_size, warn_frame_larger_than,
661 frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
662 flag_shlib, flag_excess_precision_cmdline): Remove.
663 (set_Wstrict_aliasing): Update prototype.
664 * gcc.c (verbose_flag): Remove.
665 (driver_handle_option): Add diagnostic_context parameter. Don't
666 handle OPT_v explicitly here. Set verbose_flag to 1 rather than
667 incrementing it.
668 * opts-common.c (handle_option): Pass dc to handler.
669 * opts.c (warn_larger_than, larger_than_size,
670 warn_frame_larger_than, frame_larger_than_size,
671 default_visibility): Remove.
672 (common_handle_option): Add diagnostic_context parameter.
673 (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
674 gcc_options parameters.
675 (lang_handle_option, target_handle_option, read_cmdline_options,
676 decode_options): Add diagnostic_context parameters.
677 (finish_options): Access option state through opts pointer where
678 possible.
679 (common_handle_option): Access option state through opts pointer
680 where possible. Do not set local static variable verbose. Do not
681 explicitly handle OPT_v, OPT_Wstrict_aliasing_,
682 OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
683 OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
684 OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
685 OPT_fwhopr_. Do not explicitly set .opt file variables for
5ca2bc5e 686 OPT_aux_info or OPT_pedantic_errors. Use dc for diagnostic context.
d5478783
JM
687 (set_Wstrict_aliasing): Add gcc_options parameter.
688 * opts.h (struct cl_option_handler_func): Add diagnostic_context
689 parameter to handler.
690 (decode_options): Add diagnostic_context parameter.
691 * toplev.c (dump_base_name, dump_dir_name, aux_base_name,
692 asm_file_name, flag_generate_lto, flag_gen_aux_info,
693 aux_info_file_name, flag_shlib, flag_tls_default,
694 flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
695 (toplev_main): Pass global_dc to decode_options.
696 * toplev.h (dump_base_name, dump_dir_name, aux_base_name,
697 aux_info_file_name, asm_file_name): Remove.
698 * tree.h (flag_tls_default): Remove.
699
8e7a6ed6
EB
7002010-11-10 Eric Botcazou <ebotcazou@adacore.com>
701
702 * config/sparc/sparc.c (sparc_delegitimize_address): New function.
703 (TARGET_DELEGITIMIZE_ADDRESS): Define to above.
704
94d13ad1
QN
7052010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
706
707 * config.gcc (i[34567]86-*-*): Include tbmintrin.h.
708 (x86_64-*-*): Likewise.
709 * config/i386/cpuid.h: Define TBM bit.
710 * config/i386/driver-i386.c (host_detect_local_cpu): Define
711 and set has_tbm.
712 * config/i386/i386-c.c (ix86_target_macros_internal): Check
713 isa_flag for TBM.
714 * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
715 (OPTION_MASK_ISA_TBM_UNSET): New.
716 (ix86_handle_option): Handle -mtbm.
717 (isa_opts): Add -mtbm.
718 (enum pta_flags): Add PTA_TBM.
719 (ix86_option_override_internal): Add TBM support.
720 (ix86_valid_target_attribute_inner_p): Handle -mtbm.
721 (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
722 (IX86_BUILTIN_BEXTRI64): Likewise.
723 (bdesc_args): Add TBM intrinsics.
724 (ix86_expand_builtin): Add TBM specific case.
725 * config/i386/i386.h (TARGET_TBM): New for TBM.
726 * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
727 (tbm_bextri_<mode>): Likewise.
728 (*tbm_blcfill_<mode>): Likewise.
729 (*tbm_blci_<mode>): Likewise.
730 (*tbm_blcic_<mode>): Likewise.
731 (*tbm_blcmsk_<mode>): Likewise.
732 (*tbm_blcs_<mode>): Likewise.
733 (*tbm_blsfill_<mode>): Likewise.
734 (*tbm_blsic_<mode>): Likewise.
735 (*tbm_t1mskc_<mode>): Likewise.
736 (*tbm_tzmsk_<mode>): Likewise.
737 * config/i386/i386.opt: Add -mtbm.
738 * config/i386/tbmintrin.h (__bextri_u32): New.
739 (__blcfill_u32): Likewise.
740 (__blci_u32): Likewise.
741 (__blcic_u32): Likewise.
742 (__blcmsk_u32): Likewise.
743 (__blcs_u32): Likewise.
744 (__blsfill_u32): Likewise.
745 (__blsic_u32): Likewise.
746 (__t1mskc_u32): Likewise.
747 (__tzmsk_u32): Likewise.
748 (__bextri_u64): Likewise.
749 (__blcfill_u64): Likewise.
750 (__blci_u64): Likewise.
751 (__blcic_u64): Likewise.
752 (__blcmsk_u64): Likewise.
753 (__blcs_u64): Likewise.
754 (__blsfill_u64): Likewise.
755 (__blsic_u64): Likewise.
756 (__t1mskc_u64): Likewise.
757 (__tzmsk_u64): Likewise.
758 * config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
759 * doc/invoke.texi: Document -mtbm.
760 * doc/extend.texi: Document TBM built-in functions.
761
91afcfa3
QN
7622010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
763
764 * config.gcc (i[34567]86-*-*): Include bmiintrin.h.
765 (x86_64-*-*): Likewise.
766 * config/i386/cpuid.h: Define BMI bit.
767 * config/i386/driver-i386.c (host_detect_local_cpu): Define
768 and set has_bmi.
769 * config/i386/i386-c.c (ix86_target_macros_internal): Check
770 isa_flag for BMI.
771 * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
772 (OPTION_MASK_ISA_BMI_UNSET): New.
773 (ix86_handle_option): Handle -mbmi.
774 (isa_opts): Add -mbmi.
775 (enum pta_flags): Add PTA_BMI.
776 (ix86_option_override_internal): Add BMI support.
777 (ix86_valid_target_attribute_inner_p): Handle -mbmi.
778 (IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
779 (IX86_BUILTIN_BEXTR64): Likewise.
780 (IX86_BUILTIN_CTZS): Likewise.
781 (bdesc_args): Add BMI intrinsics.
782 (ix86_expand_args_builtin): Add BMI specific cases.
783 * config/i386/i386.h (TARGET_BMI): New for BMI.
784 (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
785 (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
786 * config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
787 (UNSPEC_TZCNT): Likewise.
788 (ctz<mode>2): Add tzcnt, and handle 16 bit operands.
789 (bmi_andn_<mode>): New for BMI.
790 (bmi_bextr_<mode>): Likewise.
791 (bmi_blsi_<mode>): Likewise.
792 (bmi_blsmsk_<mode>): Likewise.
793 (bmi_blsr_<mode>): Likewise.
794 * config/i386/i386.opt: Add -mbmi.
795 * config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
796 * config/i386/bmiintrin.h (__lzcnt_u16): New.
797 (__tzcnt_u16): Likewise.
798 (__andn_u32): Likewise.
799 (__bextr_u32): Likewise.
800 (__blsi_u32): Likewise.
801 (__blsmsk_u32): Likewise.
802 (__blsr_u32): Likewise.
803 (__lzcnt_u32): Likewise.
804 (__tzcnt_u32): Likewise.
805 (__andn_u64): Likewise.
806 (__bextr_u64): Likewise.
807 (__blsi_u64): Likewise.
808 (__blsmsk_u64): Likewise.
809 (__blsr_u64): Likewise.
810 (__lzcnt_u64): Likewise.
811 (__tzcnt_u64): Likewise.
812 * doc/invoke.texi: Document -mbmi and -mno-bmi.
813 * doc/extend.texi: Document BMI built-in functions.
814
b6173d50
JH
8152010-11-10 Jan Hubicka <jh@suse.cz>
816
817 PR tree-optimize/46228
818 * doc/invoke.texi (comdat-sharing-probability): Document.
819 * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
820 * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
821
2cfef329
JH
8222010-11-10 Jan Hubicka <jh@suse.cz>
823
824 PR tree-optimize/46228
825 * cgraph.c (cgraph_propagate_frequency): Fix typo.
826
c204d113
L
8272010-11-10 H.J. Lu <hongjiu.lu@intel.com>
828
829 PR tree-optimization/46414
830 * tree-inline.c (estimate_move_cost): Check preferred vector
831 mode for vector type.
832
95b53b57
RO
8332010-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
834
835 * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
836
e639b206
SP
8372010-11-10 Sebastian Pop <sebastian.pop@amd.com>
838
839 PR tree-optimization/45971
840 * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
841 for phi nodes analyzable by scev.
842
59e0c6b7
RG
8432010-11-10 Richard Guenther <rguenther@suse.de>
844
845 PR tree-optimization/44964
846 * ipa-inline.c (cgraph_flatten): Check that SSA form matches.
847
f5a7af7d
MJ
8482010-11-10 Martin Jambor <mjambor@suse.cz>
849
850 PR tree-optimization/46351
851 PR tree-optimization/46377
852 * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
853 aggregate bit-fields.
854
2be55a25
JM
8552010-11-10 Joseph Myers <joseph@codesourcery.com>
856
857 * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
858 * doc/tm.texi: Regenerate.
859 * opts-common.c (tm.h): Don't include.
860 (target_option_translations): Remove.
5ca2bc5e 861 (decode_cmdline_options_to_array): Don't handle translating options.
2be55a25
JM
862 * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
863 * config/darwin-driver.c: Don't condition includes on
864 CROSS_DIRECTORY_STRUCTURE.
865 (darwin_default_min_version): Make static.
866 (darwin_driver_init): New. Call darwin_default_min_version if not
867 CROSS_DIRECTORY_STRUCTURE.
868 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
869 (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
870 (ASM_SPEC): Add %{static}.
871 (darwin_default_min_version): Don't declare.
872 (darwin_driver_init): Declare.
873 (GCC_DRIVER_HOST_INITIALIZATION): Define to call
874 darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
875 * config/darwin.opt (all_load, allowable_client,
876 arch_errors_fatal, bind_at_load, bundle, bundle_loader,
877 dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
878 exported_symbols_list, filelist, findirect-virtual-calls,
879 flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
880 framework, fterminated-vtables, gfull, gused, image_base, init,
881 install_name, multi_module, multiply_defined,
882 multiply_defined_unused, no_dead_strip_inits_and_terms,
883 seg_addr_table, seg_addr_table_filename, segaddr,
884 segs_read_only_addr, segs_read_write_addr, single_module,
885 umbrella, unexported_symbols_list, weak_reference_mismatches,
886 Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
887 Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
888 Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
889 Zno_dead_strip_inits_and_terms, Zsingle_module): New.
890 * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
891 (ASM_SPEC): Add %{static}.
892 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
893 * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
894 (DRIVER_SELF_SPECS): Handle options formerly in
895 TARGET_OPTION_TRANSLATE_TABLE.
896 * config/mep/mep.opt (mfar): New.
5ca2bc5e 897 * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
2be55a25
JM
898 (DRIVER_SELF_SPECS): Define. Handle options formerly in
899 TARGET_OPTION_TRANSLATE_TABLE.
5ca2bc5e 900 * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
2be55a25
JM
901 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
902 * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
903 ffix-and-continue, findirect-data): New.
904 * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
905 * config/rx/rx.opt (nofpu): Make into alias of mnofpu.
906 (mnofpu): Define mask and use Report here.
907
5c779305
AK
9082010-11-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
909
471beb2d 910 * config/s390/s390.c (s390_emit_prologue): Report the stack
5c779305
AK
911 size if -fstack-usage is used.
912
72a07d9b
RB
9132010-11-10 Richard Guenther <rguenther@suse.de>
914
915 PR tree-optimization/46398
916 * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
917
954c7446
JR
9182010-11-10 Joern Rennecke <amylaar@spamcop.net>
919
920 PR target/44760
921 * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
922 (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
923 GP_REG_OR_PSEUDO_STRICT_P.
924 * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
925 unexpected alternative.
926 (*movsf_internal): Likewise.
927 (indirect_jump): Replace call to non-existant function with call to
928 internal_error.
929 (tablejump): Likewise.
930 * config/iq2000/iq2000.c: Include df.h .
931 (iq2000_function_arg_advance): Use CONST_CAST2.
932 (compute_frame_size, iq2000_expand_prologue): Remove unused variables.
933 (iq2000_can_eliminate): Call leaf_function_p instead of testing for
934 a non-zero function address.
935 (iq2000_initial_elimination_offset): Add gcc_unreachable for
936 unexpected value of FROM.
937 (symbolic_expression_p): Delete.
938 (iq2000_function_value): Constify func.
939 (expand_one_builtin): Use expand_normal.
940 (iq2000_print_operand): Don't print VALUE if calculating it failed.
941
c6dfaad5
JR
942 PR rtl-optimization/44764
943 * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
944
197a830e
JR
945 PR target/46407
946 * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
947 * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
948 with ATTRIBUTE_UNUSED.
949 (valid_psw_flag): Constify parameter which.
950 (rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
951
4ae50669
JR
952 PR target/46415
953 * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
954 (mmix_dbx_register_number): Likewise.
955 * config/mmix/mmix.c: Include df.h .
956 (mmix_local_alignment): Change argument basic_align and return type
957 to unsigned.
958 (mmix_dbx_register_number): Change argument and return type to
959 unsigned.
960 (mmix_expand_prologue): Use add_reg_note.
961
d707fc77
JR
962 PR target/46417
963 * config/spu/spu.c (spu_expand_insv): Remove unused variables.
964 (spu_split_store): Use aform.
965 (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
966
e65f1db7
LB
9672010-11-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
968
969 PR/46268
970 * doc/gty.texi (GTY Options): Clarify that variable_size produces
971 allocators taking size in bytes, compare with length option. Add
972 size calculation example.
973 (Invoking the garbage collector): Ensure that sentences are
974 followed by two spaces. Describe that pointer fields must be
975 initialized at ggc_collect call.
976 (Troubleshooting): New section.
977
5ca2bc5e 9782010-11-09 Jan Hubicka <jh@suse.cz>
9bb2f479
JH
979
980 PR tree-optimization/40436
981 * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
982 * tree-inline.c (estimate_num_insns): Inexpensive builtins are like
983 normal instructions; be sure bultin is not implemented in this file;
984 compute non-zero return cost.
985 (init_inline_once): Reduce builtin_call_cost to 1; set return cost.
986 * tree-inline.h (eni_weights_d): Add return cost.
987
b8cbdff5
JM
9882010-11-09 Joseph Myers <joseph@codesourcery.com>
989
990 * c-parser.c (c_parser_struct_declaration): Handle declaration
991 specifiers followed by CPP_CLOSE_BRACE.
992
21922561
MM
9932010-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
994
995 * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
996 split occurs before reload, and we allocate memory at the time of
997 the split, not during expansion. Add attributes.
998 (floatsi<mode>2_lfiwax_mem): Ditto.
999 (floatunssi<mode>2_lfiwzx): Ditto.
1000 (floatunssi<mode>2_lfiwzx_mem): Ditto.
1001 (floatsidf2): Ditto.
1002 (floatunssisf2): Ditto.
1003 (floatunssidf2): Ditto.
1004 (fix_trunc<mode>si2): Ditto.
1005 (fix_trunc<mode>si2_stfiwx): Ditto.
1006 (fix_trunc<mode>si2_internal): Ditto.
1007 (fix_trunc<mode>si2): Ditto.
1008 (fix_trunc<mode>di2): Ditto.
1009 (fixuns_trunc<mode>si2_stfiwx): Ditto.
1010 (floatsisf2): Ditto.
1011 (floatdidf2_mem): Ditto.
1012 (floatunsdidf2_mem): Ditto.
1013 (floatunsdidf2): Ditto.
1014 (floatdisf2_internal1): Ditto.
1015 (floatdisf2_mem): Ditto.
1016 (floatunsdisf2_mem): Ditto.
1017 (floatsi<mode>2_lfiwax_mem2): Delete.
1018 (floatunssi<mode>2_lfiwzx_mem2): Ditto.
1019 (fix_trunc<mode>si2_mem): Ditto.
1020 (fixuns_trunc<mode>si2_mem): Ditto.
1021 (round32<mode>2_fprs): New combiner insn to combine (double)(int)
5ca2bc5e 1022 type operations to reduce copying the values to multiple memory slots.
21922561
MM
1023 (roundu32<mode>2_fprs): Ditto.
1024
1025 * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
1026 PRE_INC, PRE_DEC, PRE_MODIFY.
1027 (rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
1028
1029 * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
1030 Delete prototype.
1031
9b999dc5
JJ
10322010-11-09 Jakub Jelinek <jakub@redhat.com>
1033
1034 PR target/43808
1035 * cfgexpand.c (partition_stack_vars): Call
1036 update_alias_info_with_stack_vars unconditionally.
1037 (update_alias_info_with_stack_vars): Allow unused
1038 unreferenced vars when not optimizing.
1039
0104d6c7
SP
10402010-11-09 Sebastian Pop <sebastian.pop@amd.com>
1041
1042 PR tree-optimization/46036
1043 * tree-if-conv.c (predicate_bbs): Call unshare_expr before
1044 add_to_dst_predicate_list.
1045
67c6812f
JJ
10462010-11-09 Jakub Jelinek <jakub@redhat.com>
1047
1048 PR debug/46171
1049 * df-problems.c (struct dead_debug_use, struct dead_debug): Move
1050 earlier.
1051 (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
1052 argument, call dead_debug_reset when adding REG_UNUSED note.
1053 (dead_debug_reset): New function.
1054 (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
1055 df_create_unused_note callers.
1056
cc577f3f
AS
10572010-11-09 Anatoly Sokolov <aesok@post.ru>
1058
1059 * config/fr30/fr30.c: Include "df.h".
1060
a3357f7d
RG
10612010-11-09 Richard Guenther <rguenther@suse.de>
1062
1063 PR tree-optimization/46355
1064 * tree-loop-distribution.c (tree_loop_distribution): Do not
1065 distribute loops without a single exit.
1066
0644953e
AK
10672010-11-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1068
1069 PR rtl-optimization/46237
1070 * ira-conflicts.c (ira_build_conflicts): Record conflicts for call
1071 saved hard regs if they might get partially clobbered.
1072
b99fd9f4
PK
10732010-11-09 Paul Koning <ni1d@arrl.net>
1074
5ca2bc5e 1075 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
b99fd9f4 1076
5923c6c3
RG
10772010-11-09 Richard Guenther <rguenther@suse.de>
1078
1079 PR tree-optimization/46177
1080 * tree-loop-distribution.c (prop_phis): Remove.
1081 (generate_builtin): Re-use the old loop exit edge to avoid
1082 needing to update PHI nodes.
1083
a8869bde
JR
10842010-11-09 Joern Rennecke <amylaar@spamcop.net>
1085
471beb2d
L
1086 * config/i386/i386.c (ix86_expand_split_stack_prologue): Change
1087 type of args_size to unsigned HOST_WIDE_INT.
a8869bde 1088
959fc02c
JR
1089 PR target/44755
1090 * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
1091 * config/t-pnt16-warn: New file.
1092 * config/picochip/picochip.c (picochip_emit_stack_allocate):
1093 Use add_reg_note.
1094 (picochip_emit_save_register): Likewise.
1095 (picochip_emit_restore_register): Remove variable insn.
1096 (picochip_legitimize_address): Don't use C++ style comments.
1097 (picochip_legitimize_reload_address): Likewise.
1098 (reorder_var_tracking_notes): Remove variable vliw_start.
1099 (picochip_reorg): Cast first arguemnt to emit_note_after to
1100 enum insn_note.
1101 (picochip_expand_builtin_2op): Use EXPAND_NORMAL.
1102 (picochip_expand_builtin_3op): Likewise.
1103 (picochip_expand_builtin_2opvoid): Likewise.
1104 (picochip_expand_array_get, picochip_expand_array_put): Likewise.
1105 (picochip_expand_array_testport): Likewise.
1106 (picochip_init_builtins): Remove unused variables.
1107 * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
1108 to unsigned long, and output it as such.
1109 (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
1110 * config/picochip/picochip.md (movhicc): Remove nonsense statement.
1111 (schedType): Cast result of picochip_schedule_type to
1112 enum attr_schedType.
1113
f4a88680
JR
1114 PR target/44759
1115 * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
1116 conditional to type of S.
1117 (mn10300_function_arg): Remove unused variable align.
1118 (mn10300_arg_partial_bytes): Likewise.
1119 * config/mn10300/mn10300.md (attribute cpu): Cast value to
1120 enum attr_cpu.
1121
a618dbe3
L
11222010-11-09 H.J. Lu <hongjiu.lu@intel.com>
1123
1124 PR bootstrap/46392
5ca2bc5e 1125 * gengtype-parse.c (type): Call get_input_file_name to get file name.
a618dbe3 1126
98cd3025
EB
11272010-11-09 Eric Botcazou <ebotcazou@adacore.com>
1128
1129 * tree.h (contains_placeholder_p): Fix comment.
1130 (type_contains_placeholder_p): Adjust comment.
1131 * tree.c (contains_placeholder_p): Fix comment.
1132 (type_contains_placeholder_1): Do not recurse on pointed-to types and
1133 adjust comment.
1134 (type_contains_placeholder_p): Add comment.
1135
b9cb66d2
PK
11362010-11-09 Paul Koning <ni1d@arrl.net>
1137
1138 * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
1139 output of byte values.
1140
277dc810
JJ
11412010-11-09 Jakub Jelinek <jakub@redhat.com>
1142
1143 PR middle-end/46360
1144 * tree-ssa-propagate.c (update_call_from_tree): Fix for use
1145 not in SSA mode.
1146
6496e42f
RG
11472010-11-09 Richard Guenther <rguenther@suse.de>
1148
1149 PR middle-end/46221
1150 * varasm.c (compute_visible_aliases): New function.
1151 (remove_unreachable_alias_pairs): Aliases make a target available
1152 even though we reclaimed the cgraph node.
1153 (finish_aliases_1): Likewise.
1154 * Makefile.in (varasm.o): Add pointer-set.h dependency.
1155
4260533a
NC
11562010-11-09 Nick Clifton <nickc@redhat.com>
1157
1158 * config/mn10300/mn10300-modes.def: New file.
1159
14c4815e
BS
11602010-11-09 Basile Starynkevitch <basile@starynkevitch.net>
1161 Jeremie Salvucci <jeremie.salvucci@free.fr>
1162
5ca2bc5e 1163 * gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
14c4815e
BS
1164 (plugin_files, get_file_basename, get_file_realbasename)
1165 (get_file_langdir, error_at_line, gt_files, this_file)
1166 (system_h_file, read_input_list, create_field_all)
1167 (get_file_srcdir_relative_path, get_file_basename)
1168 (get_file_langdir, get_file_gtfilename)
1169 (get_output_file_with_visibility, get_output_file_name)
1170 (struct flist, put_mangled_filename, walk_type)
1171 (put_mangled_filename, finish_root_table, write_roots): Use
1172 input_file-s.
1173 (lang_dir_names, num_lang_dirs): Remove static.
1174 (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
1175 (main): Use input_file-s.
1176
ba4debed 1177 * gengtype.h: (struct input_file_st, input_file): New type.
14c4815e
BS
1178 (struct fileloc): Use it.
1179 (gt_files, num_gt_files, this_file, system_h_file)
5ca2bc5e 1180 (input_file_by_name, get_file_srcdir_relative_path): Use input_file.
14c4815e
BS
1181 (get_input_file_name): New function.
1182 (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
5ca2bc5e 1183 use input_file.
14c4815e
BS
1184 (lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
1185 (get_output_file_name): Ditto.
1186
1187 * gengtype-lex.l (yybegin): Use input_file.
1188
1189 * gengtype-parse.c (parse_error): Use input_file.
1190
b3a50850
XDL
11912010-11-08 Xinliang David Li <davidxl@google.com>
1192
3a5b7298 1193 PR tree-optimization/46316
ba4debed 1194 * tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
b3a50850
XDL
1195 * double-int.h (double_int_mul_with_sign): New function.
1196 * double-int.c (double_int_mul_with_sign): New function.
1197
d5214afa
PK
11982010-11-08 Paul Koning <ni1d@arrl.net>
1199
1200 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
4260533a 1201
8860adf4
PK
12022010-11-08 Paul Koning <ni1d@arrl.net>
1203
1204 * config/pdp11/pdp11.md (negsi2): Fix wrong code.
4260533a 1205
e285a2c6
PK
12062010-11-08 Paul Koning <ni1d@arrl.net>
1207
1208 * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
1209 to 8 bits.
1210
f4becba8
MM
12112010-11-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1212
1213 PR target/46378
1214 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1215 turn on ISA 2.04 rounding instructions for power5.
1216
1217 * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
1218 not ISA 2.02.
1219
1220 PR target/45585
1221 * config/rs6000/darwin.md (movdi_low): Allow DImode values to be
1222 in FPR registers.
1223 (movdi_low_st): Ditto.
1224
5c5e8419 12252010-11-08 Joern Rennecke <amylaar@spamcop.net>
ba4debed 1226 Richard Henderson <rth@redhat.com>
5c5e8419
JR
1227
1228 PR target/44758
1229 * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
1230 (attribute acc_group): Cast value to enum attr_acc_group.
1231 (*movdi_nodouble+6): Use gen_int_mode.
1232 * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
1233 if RTX_CODE is defined or not.
1234 * config/frv/frv.c (enum frv_io_type): New enum, broken out of
1235 struct frv_io.
1236 (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
1237 (frv_frame_access, frv_expand_prologue): Remove unused variables.
1238 (frv_expand_block_clear): Likewise.
1239 (frv_trampoline_init): Use LCT_NORMAL.
1240 (struct frv_packet_group): New struct, broken out of type of
1241 frv_packet.
1242 (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
1243 use cast in loop counter increment.
1244 (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
1245 assigning to io->type.
1246 (bdesc_set): Use rtx_code UNKNOWN in initializer.
1247 (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
1248 (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
1249 (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
1250 (frv_read_argument): Use expand_normal.
1251
4260533a 1252 PR target/44757
ae15736e
JR
1253 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
1254 lm32_legitimate_constant_p.
1255 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
1256 * config/lm32/lm32.c (gen_int_relational): Make new block for
1257 LE / LT / LEU / LTU case. Declare variables at start of block.
1258 (lm32_block_move_inline): Use XALLOCAVEC.
1259
8efea7a6
RO
12602010-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1261
5ca2bc5e 1262 * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
90aa3e91
BS
1263
12642010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
1265
1266 * gengtype (get_output_file_for_structure): Ensure type is union
1267 or struct.
1268 (write_splay_tree_allocator_def): Use
1269 get_output_file_with_visibility.
1270
7876e2b5
AK
12712010-11-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1272
1273 * config/s390/s390.c (s390_handle_arch_option): Set type and flags
1274 to defined values in case of an error.
1275 (s390_option_override): Skip further processing if the -march
1276 parameter wasn't recognized.
1277
f57e2756
JR
12782010-11-08 Joern Rennecke <amylaar@spamcop.net>
1279
1280 * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
1281 assert that REG is a hard register number before using it as an index.
1282
d079459e
JR
1283 PR bootstrap/46358
1284 * config/i386/i386.c (ix86_expand_split_stack_prologue):
1285 Avoid warnings when HOST_WIDE_INT is 32 bit.
1286
f79e1b0f
EB
12872010-11-08 Eric Botcazou <ebotcazou@adacore.com>
1288
1289 PR target/46208
1290 * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
1291 (sparc_promote_prototypes): Likewise.
1292 (sparc_promote_function_mode): Promote in 32-bit mode as well.
1293 (sparc_return_in_memory): Remove superfluous parentheses.
1294 (sparc_struct_value_rtx): Fix long lines.
1295 (sparc_function_value_1): Promote in 32-bit mode as well.
1296
06f0c25f
AB
12972010-11-08 Andrey Belevantsev <abel@ispras.ru>
1298
ba4debed 1299 PR rtl-optimization/45352
06f0c25f
AB
1300 * sel-sched.c (find_best_expr): Do not set pneed_stall when
1301 the variable_issue hook is not implemented.
1302 (fill_insns): Remove dead variable stall_iterations.
1303 (init_seqno_1): Force EBB start for resetting sched cycles on any
1304 successor blocks of the rescheduled region.
1305 (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
1306 (reset_sched_cycles_in_current_ebb): Add debug printing.
1307 New variable issued_insns. Advance state when we have issued
1308 issue_rate insns.
1309
b1d2d6b1
BS
13102010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
1311
1312 * gengtype (main): Get here's position using POS_HERE macro for
1313 do*typedef calls.
1314
f3824a8b
ILT
13152010-11-07 Ian Lance Taylor <iant@google.com>
1316
1317 PR target/46089
1318 * config/i386/i386.c (split_stack_fn_large): New static variable.
1319 (ix86_expand_split_stack_prologue): Handle large model.
1320
8390b335
AS
13212010-11-07 Andreas Schwab <schwab@linux-m68k.org>
1322
1323 * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
1324 all possible addressing modes.
1325
bb368470
UB
13262010-11-07 Uros Bizjak <ubizjak@gmail.com>
1327
1328 PR tree-optimization/46346
1329 * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
1330
c50bcc13
RS
13312010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
1332
1333 * config/mips/mips.c: Revert previous patch.
1334 * config/mips/mips.md: Likewise.
1335
c7c0f73d
RS
13362010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
1337
1338 * config/mips/mips.c (mips_rtx_costs): Handle FMA.
1339 * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
1340 (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
1341 (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
1342 (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
1343 to use FMA.
1344 (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
1345 (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
1346 (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
1347 (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
1348
c58e98c8
SM
13492010-11-06 Simon Martin <simartin@users.sourceforge.net>
1350
1351 PR c/43384
1352 * c-decl.c (lookup_label): Labels can only be referenced in a
bb368470 1353 function's scope.
c58e98c8
SM
1354 (store_parm_decls_oldstyle): Skip erroneous parameters.
1355
da0dc818
AS
13562010-11-06 Anatoly Sokolov <aesok@post.ru>
1357
1358 * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
1359 LIBCALL_VALUE): Remove macros.
1360 * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1361 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1362 (fr30_function_value_regno_p, fr30_function_value,
1363 fr30_libcall_value): New functions.
1364
4ee3b013
JR
13652010-11-06 Joern Rennecke <amylaar@spamcop.net>
1366
1367 PR middle-end/46314
1368 * target.def (generate_internal_label): New asm_out hook.
1369 * output.h (default_generate_internal_label): Declare.
1370 * varasm.c (default_generate_internal_label): Define.
1371
91ebb981
IS
13722010-11-06 Iain Sandoe <iains@gcc.gnu.org>
1373
1374 PR target/44981
1375 * doc/extend.tex (format): Document NSString extension.
1376 (format_arg): Likewise.
1377 (Darwin Format Checks): New section.
1378 * doc/tm.texi: Document string object hooks (generated).
1379 * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
1380 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
1381 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
bb368470 1382 * target.def (objc_construct_string_object): Rename, amend
91ebb981
IS
1383 documentation.
1384 (string_object_ref_type_p): New hook.
1385 (check_string_object_format_arg): New hook.
1386 * c-parser.c (c_parser_attributes): Allow objective-c class names as
1387 attribute identifiers.
1388 * config/darwin-c.c (darwin_cfstring_ref_p): New.
1389 (darwin_check_cfstring_format_arg): New.
1390 (darwin_additional_format_types): New.
1391 * config/darwin-protos.h (darwin_cfstring_ref_p) New.
1392 (darwin_check_cfstring_format_arg): New.
1393 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
1394 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
1395 (TARGET_N_FORMAT_TYPES): New.
1396 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
1397
2952a37e 13982010-11-06 Eric Botcazou <ebotcazou@adacore.com>
bb368470 1399 Pascal Obry <obry@adacore.com>
2952a37e
EB
1400
1401 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine. Use 33
1402 in 64-bit mode and 17 otherwise.
1403
8784e5ac
AK
14042010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1405
1406 PR debug/45939
1407 * var-tracking.c (emit_note_insn_var_location): Make sure that
1408 call related var location notes come before the normal ones.
1409
77bb7c61
L
14102010-11-05 H.J. Lu <hongjiu.lu@intel.com>
1411
1412 PR target/46326
1413 * config/i386/i386.c (ix86_delegitimize_address): Fix a typo
1414 in the last change.
1415
c070a3b9
ILT
14162010-11-05 Ian Lance Taylor <iant@google.com>
1417
bb368470 1418 * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
c070a3b9 1419
a75de692
JJ
14202010-11-05 Jakub Jelinek <jakub@redhat.com>
1421
1422 PR c/44772
1423 * c-decl.c (warn_cxx_compat_finish_struct): Don't call
1424 pointer_set_contains if DECL_NAME is NULL.
1425
c3928dde
ILT
14262010-11-05 Ian Lance Taylor <iant@google.com>
1427
1428 PR target/46084
1429 * explow.c (allocate_dynamic_stack_space): If flag_split_stack,
bb368470 1430 request enough additional space for alignment, and force alignment.
c3928dde 1431
037de943
KT
14322010-11-05 Kai Tietz <kai.tietz@onevision.com>
1433
1434 * config/i386/i386.c (legitimate_pic_address_disp_p):
1435 Handle UNSPEC_PCREL.
1436 (ix86_legitimate_address_p): Likewise.
1437 (legitimize_pic_address): Likewise.
1438 (output_pic_addr_const): Likewise.
1439 (ix86_delegitimize_address): Likewise.
1440 (ix86_find_base_term): Likewise.
1441 (memory_address_length): Likewise.
1442 (x86_output_mi_thunk): Handle special case x64
1443 for non local binding.
1444 * config/i386/i386.md (UNSPEC_PCREL): New.
1445 * config/i386/winnt.c (i386_pe_binds_local_p):
1446 Allow weak symbol for x64 windows with non-local binding.
1447
ee01a467
JJ
14482010-11-05 Jakub Jelinek <jakub@redhat.com>
1449
1450 PR target/45670
1451 * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
1452 instead of EXPAND_NORMAL for base expansion.
1453
b71e5eba
UB
14542010-11-05 Uros Bizjak <ubizjak@gmail.com>
1455
1456 * config.gcc: Support --with-fpmath=avx for x86.
1457 * config/i386/avxmath.h: New.
1458 * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
1459
7f7c6d91
ILT
14602010-11-05 Ian Lance Taylor <iant@google.com>
1461
b71e5eba 1462 * tree.h (struct tree_type): Don't use descbits in GTY annotation.
7f7c6d91
ILT
1463 * gengtype.c (walk_type): Don't recognize descbits option.
1464
c243beb0
JM
14652010-11-05 Joseph Myers <joseph@codesourcery.com>
1466
1467 * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
1468 WORD_SWITCH_TAKES_ARG): Remove.
1469 * doc/options.texi (Args): Document.
1470 * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
1471 * doc/tm.texi: Regenerate.
1472 * opt-functions.awk (switch_flags): Handle Args.
1473 * opts-common.c: Update comment on tm.h include.
1474 (decode_cmdline_option): Handle options with multiple arguments.
1475 Don't check WORD_SWITCH_TAKES_ARG for unknown options.
b71e5eba 1476 * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
c243beb0
JM
1477 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
1478 CL_COMMON): Update values.
1479 * system.h (WORD_SWITCH_TAKES_ARG): Poison.
1480 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
1481 * config/darwin.opt (Zsegaddr, sectalign, sectcreate,
1482 sectobjectsymbols, sectorder, segcreate, segprot): New.
1483
d73ee4e7
L
14842010-11-05 H.J. Lu <hongjiu.lu@intel.com>
1485 Uros Bizjak <ubizjak@gmail.com>
1486
1487 * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
1488 256bit AVX register is used.
1489 (ix86_expand_vector_move_misalign): Likewise.
1490 (ix86_expand_vector_move): Replace use_avx256_p with
1491 VALID_AVX256_REG_MODE.
1492
365b0dba
JR
14932010-11-05 Joern Rennecke <amylaar@spamcop.net>
1494
1495 PR target/44750
1496 * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
1497 change. Set $@-warn.o to -Wno-error.
1498
3e926b4d
JR
1499 PR bootstrap/44756
1500 * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
1501 comparing it to a signed value.
1502
d92034f1 1503 PR middle-end/44766
6ab31ade 1504 * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
778216a0 1505 PR bootstrap/44770
6ab31ade
JR
1506 * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
1507 to i.
1508
444d6efe
JR
1509 PR target/44754
1510 * config/m32c/m32c.c (m32_function_arg): Rename declaration to...
1511 (m32c_function_arg). Add comma between arguments two and three.
1512 (m32c_promote_prototypes): Remove declaration.
1513 (current_function_special_page_vector): Likewise.
1514 (m32c_regno_reg_class): Change return type to enum reg_class.
1515 (m32c_pushm_popm): Use add_reg_note.
1516 (m32c_push_rounding): Change return type to unsigned int.
1517 (m32c_legitimize_reload_address): Cast argument 11 to push_reload to
1518 enum reload_type.
1519 (m32c_insert_attributes): Constify variable name.
1520 (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
1521 (m32c_prepare_shift): Remove variable lref.
1522 (m32c_expand_movcc): Remove variable cmp.
1523 (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
1524 (m32c_compare_redundant): Remove variable op2.
1525 * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
1526 (m32c_pragma_memregs): Assign the number to target_memregs.
1527 (m32c_pragma_address): Remove variable var_str.
1528 * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
1529 enum reg_class.
1530 (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
1531 * config/m32c/bitops.md (andsi3): Add default case to switch.
1532 (iorsi3, xorsi3): Likewise.
1533 * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
1534 * config/m32c/jump.md (call, call_value): Likewise.
1535 * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
1536 (m32c_regno_reg_class): Likewise.
1537 (current_function_special_page_vector): Declare.
1538
0f59b812
JJ
15392010-11-05 Jakub Jelinek <jakub@redhat.com>
1540
bb368470 1541 * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
cb115041 1542
cba1eb61
JJ
1543 PR tree-optimization/46099
1544 * tree-parloops.c (take_address_of): Add GSI argument. Return NULL
1545 if it is NULL and uid wasn't found in the hash table. Just fold the
1546 result if it is NULL otherwise. Insert other potentially needed
1547 stmts right before current stmt instead of on the entry edge.
1548 (struct elv_data): Add gsi and reset fields.
1549 (eliminate_local_variables_1): Adjust caller. If take_address_of
1550 failed for debug stmt, set dta->reset and return.
1551 (eliminate_local_variables_stmt): Change STMT argument for GSI,
1552 pass GSI through to the callback, handle resetting of debug stmts.
1553 (eliminate_local_variables): Adjust caller. Process debug stmts
1554 in second phase.
1555
502c5084
JJ
1556 PR middle-end/43690
1557 * gimplify.c (gimplify_asm_expr): If a "m" input is a
1558 {pre,post}{in,de}crement, fail.
1559
0f59b812
JJ
1560 PR debug/46307
1561 * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
1562 * tree-pretty-print.c (dump_generic_node): Likewise.
1563 (op_code_prio): Likewise.
1564 * cfgexpand.c (expand_debug_expr): Likewise.
1565
868e54d1
PK
15662010-11-04 Paul Koning <ni1d@arrl.net>
1567
1568 * doc/md.texi (Machine Constraints): Correct formatting in PDP-11
b71e5eba
UB
1569 constraints.
1570
293b77b0
CF
15712010-11-04 Chao-ying Fu <fu@mips.com>
1572
1573 * configure.ac: Test assembler support for DSP Rev1 mult.
1574 * configure: Regenerate.
1575 * config.in: Regenerate.
1576 * config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
1577 * config/mips/mips.c (CODE_FOR_mips_mult): New define.
1578 (CODE_FOR_mips_multu): New define.
1579 (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
1580 dspr2_32 to dsp_32.
1581 (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
8b7e8529 1582 Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
293b77b0
CF
1583 * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
1584 New define_expand patterns.
1585 * config/mips/constraints.md (ka): Update the constraint to test
1586 ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
1587 * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
1588 mips_multu): Delete.
1589 * config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
1590 Change target constraint to "ka".
1591 Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
1592 (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
1593 Emit the accumulator destination when ISA_HAS_DSP_MULT.
b71e5eba 1594 (<u>msubsidi4): Add comments. Test ISA_HAS_DSP.
293b77b0
CF
1595 Emit the accumulator destination when ISA_HAS_DSP_MULT.
1596 (<u>maddsidi4): Likewise.
1597 * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
1598 msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
1599
5e426dd4
PK
16002010-11-04 Paul Koning <ni1d@arrl.net>
1601
1602 * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
b71e5eba 1603
dde9c901
PK
16042010-11-04 Paul Koning <ni1d@arrl.net>
1605
1606 * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
1607
bede2adc
NP
16082010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
1609
1610 Fixed using the Objective-C 2.0 dot-syntax with class names.
1611 * c-parser.c (c_parser_next_token_starts_declspecs): In
1612 Objective-C, detect Objective-C 2.0 dot-syntax with a class name.
1613 (c_parser_next_token_starts_declaration): Same.
1614 (c_parser_postfix_expression): Parse the Objective-C 2.0
1615 dot-syntax with a class name.
1616
58082ff6
PH
16172010-11-04 Pat Haugen <pthaugen@us.ibm.com>
1618
1619 * final.c (compute_alignments): Compute/free loop info all the time.
1620 * config/rs6000/rs6000.h (LOOP_ALIGN): Define.
1621 * config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
1622 * config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
1623 * config/rs6000/rs6000.c (cfgloop.h): Include.
1624 (can_override_loop_align): New.
1625 (rs6000_option_override_internal): Set it.
1626 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
1627 (rs6000_loop_align): New function.
1628 (rs6000_loop_align_max_skip): Likewise.
1629
df10a535
RW
16302010-11-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1631
1632 PR driver/45703
1633 * collect2.c (main): Print --help output to stdout. Do not
1634 exit right away, so ld --help is appended. Add empty lines
1635 to separate output suitably.
1636
86710a8b
JJ
16372010-11-04 Jakub Jelinek <jakub@redhat.com>
1638
269c80f2
JJ
1639 PR tree-optimization/46233
1640 * ipa-pure-const.c (local_pure_const): Do noreturn discovery
1641 after calling analyze_function, not before.
1642
86710a8b
JJ
1643 PR target/46234
1644 * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
1645 instead of build_va_arg_indirect_ref.
1646 * config/spu/spu.c (spu_va_start): Likewise.
1647 * config/s390/s390.c (s390_va_start): Likewise.
1648
822a55a0
UB
16492010-11-03 Uros Bizjak <ubizjak@gmail.com>
1650
1651 PR middle-end/46292
86710a8b 1652 * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
822a55a0
UB
1653 if the innermode is not vector mode, determine the mode of a subreg
1654 by using mode_for_size of inner_size.
1655
f2b01cfb
RG
16562010-11-04 Richard Guenther <rguenther@suse.de>
1657
1658 PR rtl-optimization/46183
1659 * gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed.
1660 (execute_rtl_pre): Likewise.
1661 (execute_rtl_hoist): Likewise.
1662
9f2fbc99
RG
16632010-11-04 Richard Guenther <rguenther@suse.de>
1664
1665 PR tree-optimization/46068
1666 * ipa-split.c (consider_split): Remove gcc_unreachable.
1667
0a582743
RG
16682010-11-04 Richard Guenther <rguenther@suse.de>
1669
1670 * tree-nested.c (build_addr): Use build_fold_addr_expr.
1671
844d5fca
RG
16722010-11-04 Richard Guenther <rguenther@suse.de>
1673
1674 PR tree-optimization/45991
1675 * gimplify.c (force_gimple_operand_1): Use the provded test
1676 function in the initial test.
1677
a22265a4
JL
16782010-11-04 Jeff Law <law@redhat.com>
1679
1680 * ira.c (validate_equiv_mem): Remove code to avoid invalidation
1681 of readonly memory equivalances for const/pure calls.
1682
2a2651b7
RG
16832010-11-04 Richard Guenther <rguenther@suse.de>
1684
1685 PR tree-optimization/45733
1686 * tree-vect-stmts.c (reverse_vec_elements): Honor the
1687 permute builtins function return type.
1688
754e97fb 16892010-11-04 Joern Rennecke <amylaar@spamcop.net>
bf9412cd
JR
1690
1691 PR middle-end/44765
1692 * emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM
1693 as an index, check it is not INVALID_REGNUM.
1694
ab040cea
JR
1695 PR bootstrap/44756
1696 * ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and
1697 unsignedp.
1698 * reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno.
1699
2e239f9d
JR
1700 PR bootstrap/44756
1701 * function.c (thread_prologue_and_epilogue_insns): Add
1702 ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge.
1703
8f7d7498
JR
1704 PR bootstrap/44756
1705 * varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function.
1706
f89a0507
JR
1707 PR target/44750
1708 * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
1709 (pdp11_preferred_reload_class): Rename class to rclass.
1710 (pdp11_preferred_output_reload_class): Likewise.
1711 * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
1712 ALL_COMPILERFLAGS .
1713 (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.
1714
2b78d0f1
JR
1715 PR bootstrap/44756
1716 * genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast
1717 iteration variables to enum machine_mode.
1718
9690aa8e
JR
1719 PR target/44751
1720 * config/h8300/h8300.c: Include df.h.
1721 (push, pop): Use add_reg_note.
1722 (compute_plussi_cc, compute_logical_op_cc): Return enum attr_c.
1723 (compute_a_shift_cc): Likewise.
1724 (expand_a_shift): Argument code has type enum rtx_code.
1725 (struct shift_insn): Member cc_valid has type enum attr_cc.
1726 (struct shift_info) <cc_inline, cc_special>: Likewise.
1727 enum attr_cc.
1728 * config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype.
1729 (compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise.
1730
0532869d
IR
17312010-11-04 Ira Rosen <irar@il.ibm.com>
1732
1733 PR tree-optimization/46213
1734 * tree-vect-loop.c (vect_is_simple_reduction_1): Handle
1735 MINUS_EXPR only if the first operand is reduction operand.
1736
16949072 17372010-11-04 Richard Guenther <rguenther@suse.de>
b71e5eba 1738 Richard Henderson <rth@redhat.com>
16949072
RG
1739
1740 * tree.def (FMA_EXPR): New tree code.
1741 * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
1742 * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
1743 * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
1744 * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
1745 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
1746 * tree-ssa-math-opts.c (convert_mult_to_fma): New function.
1747 (execute_optimize_widening_mul): Call it. Reorganize to allow
1748 dead stmt removal. Move TODO flags ...
1749 (pass_optimize_widening_mul): ... here.
1750 * flag-types.h (enum fp_contract_mode): New enum.
1751 * common.opt (flag_fp_contract_mode): New variable.
1752 (-ffp-contract): New option.
1753 * opts.c (common_handle_option): Handle it.
1754 * doc/invoke.texi (-ffp-contract): Document.
1755 * tree.h (fold_fma): Declare.
1756 * builtins.c (fold_fma): New function.
1757 (fold_builtin_fma): Likewise.
1758 (fold_builtin_3): Call it for fma.
1759 * fold-const.c (fold_ternary_loc): Fold FMA_EXPR.
1760 * optabs.c (optab_for_tree_code): Handle FMA_EXPR.
1761 * config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4):
1762 New expanders.
1763 * doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new
1764 named patterns.
1765 * genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab.
1766 * optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms.
1767 (fms_optab, fnma_optab, fnms_optab): New defines.
1768 * gimplify.c (gimplify_expr): Handle binary truth expressions
1769 explicitly. Handle FMA_EXPR.
1770 * tree-vect-stmts.c (vectorizable_operation): Handle ternary
1771 operations.
1772
ba4debed 17732010-11-04 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
b71e5eba 1774 Richard Guenther <rguenther@suse.de>
47853c73
AS
1775
1776 * passes.c (init_optimization_passes): Move veclower after SSA.
1777 * tree-vect-generic.c (uniform_vector_p): New function.
1778 (expand_vector_operations_1): Handle conversion.
1779 (pass_lower_vector): Update SSA form.
1780
d8ed14ce
IS
17812010-11-04 Iain Sandoe <iains@gcc.gnu.org>
1782
8b7e8529 1783 * configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for
d8ed14ce 1784 plugin capabilities.
8b7e8529 1785 * configure: Regenerate.
d8ed14ce 1786
2fa692c0
XDL
17872010-11-03 Xinliang David Li <davidxl@google.com>
1788
822a55a0
UB
1789 PR target/46200
1790 * tree-ssa-loop-ivopts.c (get_computation_cost_at):
1791 Adjust cbase if the use stmt is after iv update.
2fa692c0 1792
9451da74
KK
17932010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
1794
b71e5eba 1795 * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets.
9451da74 1796
803b9370
KK
17972010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
1798
1799 * config/sh/sh.c (sh_expand_prologue): Remove unnecessary
1800 comment. Pass true to the last argument of output_stack_adjust.
1801
27835a8a
L
18022010-11-03 H.J. Lu <hongjiu.lu@intel.com>
1803
1804 PR target/46295
1805 * config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p
1806 if 256bit AVX register is used.
1807
92d54f6d
MM
18082010-11-03 Michael Meissner <meissner@linux.vnet.ibm.com>
1809
1810 * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use
1811 xsmindp/xsmaxdp on VSX for single precision min/max.
1812 * config/rs6000/vsx.md (vsx_smaxsf3): Ditto.
1813 (vsx_sminsf3): Ditto.
1814
f891030a
EB
18152010-11-03 Eric Botcazou <ebotcazou@adacore.com>
1816
1817 * combine.c (try_combine): Fix formatting issues, improve comments and
1818 fix a pasto.
1819
fdb8b4c0
EB
18202010-11-03 Eric Botcazou <ebotcazou@adacore.com>
1821
1822 * tree-tailcall.c (find_tail_calls): Convert the operands to the type
1823 of the result before building binary expressions.
1824
5554928d
L
18252010-11-03 H.J. Lu <hongjiu.lu@intel.com>
1826
1827 PR rtl-optimization/45865
1828 * Makefile.in (df-problems.o): Revert revision 164552.
1829 * basic-block.h (enum bb_flags): Likewise.
1830 * cfgcleanup.c (block_was_dirty): Likewise.
1831 (try_forward_edges): Likewise.
1832 (try_crossjump_bb): Likewise.
1833 (try_head_merge_bb): Likewise.
1834 (try_optimize_cfg): Likewise.
1835 (cleanup_cfg): Likewise.
1836 * df-core.c (df_set_bb_dirty): Likewise.
1837 * df-problems.c: Likewise.
1838 (df_simulate_find_uses): Likewise.
1839 (MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
1840 (find_memory, find_memory_store): Likewise.
1841 (can_move_insns_across): Likewise.
1842 * df.h (can_move_insns_across): Likewise.
1843 * ifcvt.c (find_memory): Likewise.
1844 (dead_or_predicable): Likewise.
1845
44cb6d4d
RG
18462010-11-03 Richard Guenther <rguenther@suse.de>
1847
1848 PR middle-end/46288
1849 * predict.c (strip_predict_hints): Simply DCE builtin expect if
1850 the result is unused.
1851
23782cc3
JJ
18522010-11-03 Jakub Jelinek <jakub@redhat.com>
1853
1854 PR tree-optimization/46009
1855 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
1856 cond_if_else_store_replacement if bb1 and bb2 have the same
1857 single successor.
1858 (cond_store_replacement): Use gimple_assign_single_p, don't
1859 check if rhs is SSA_NAME or invariant. Call release_defs for
1860 assign.
1861 (cond_if_else_store_replacement): New function.
1862
2996c17f
RG
18632010-11-03 Richard Guenther <rguenther@suse.de>
1864
1865 * opts.c (finish_options): Properly check for all WHOPR
1866 flags before complaining about -flto-partition.
1867
3df5c6f7
AM
18682010-11-04 Alan Modra <amodra@gmail.com>
1869
1870 * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
1871 (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
1872 TARGET_SECURE_PLT.
1873 * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
1874 * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
1875 on input, "r" on output.
1876
22d8d616
NP
18772010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
1878
1879 Implemented -fobjc-std=objc1 flag.
1880 * doc/invoke.texi (Option Summary): Document -fobjc-std=objc1
1881 option.
1882 * doc/standards.texi (Standards): Updated the section on
1883 Objective-C; mention support for Objective-C 2.0 features and the
1884 new -fstd-objc=objc1 flag to disable them.
1885
68a22980
RG
18862010-11-03 Richard Guenther <rguenther@suse.de>
1887
1888 PR middle-end/46241
1889 * dwarf2out.c (scope_die_for): Properly detect global scope.
1890
8b8bba2d
RG
18912010-11-03 Richard Guenther <rguenther@suse.de>
1892
1893 PR tree-optimization/46190
1894 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
1895 Properly compute peel iterations.
1896
de2184c0
RG
18972010-11-03 Richard Guenther <rguenther@suse.de>
1898
1899 PR tree-optimization/46286
1900 * tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing
1901 re-allocated vector data.
1902
72fdf9e9
L
19032010-11-03 H.J. Lu <hongjiu.lu@intel.com>
1904
1905 PR target/46285
1906 * config/i386/i386.c (ix86_expand_call): Conditionally decorate
1907 calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
1908 is completed.
1909
02ff830b
RG
19102010-11-03 Richard Guenther <rguenther@suse.de>
1911
1912 PR tree-optimization/46217
1913 * tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile
1914 flag matches.
1915 (execute_update_addresses_taken): Likewise.
1916
2e681adf
JR
19172010-11-03 Joern Rennecke <joern.rennecke@embecosm.com>
1918
1919 PR bootstrap/44335
1920 * targhooks.c (targhook_words_big_endian): New function.
1921 (targhook_float_words_big_endian): Likewise.
1922 * targhooks.h (targhook_words_big_endian): Declare.
1923 (targhook_float_words_big_endian): Likewise.
1924 * target.def (words_big_endian, float_words_big_endian): New hooks.
1925
87c20fe7
JJ
19262010-11-03 Jakub Jelinek <jakub@redhat.com>
1927
1928 PR tree-optimization/46165
1929 * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
1930 a normal call into noreturn call.
1931
ca818bd9
RG
19322010-11-03 Richard Guenther <rguenther@suse.de>
1933
1934 PR middle-end/46251
1935 * builtins.c (expand_builtin_sincos): Properly build MEM_REFs,
1936 not INDIRECT_REFs.
1937
71056fef
JJ
19382010-11-03 Jakub Jelinek <jakub@redhat.com>
1939
1940 PR tree-optimization/46107
1941 * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
1942 if cfg_hook_duplicate_loop_to_header_edge failed.
1943
48215350
DK
19442010-11-03 Ian Lance Taylor <iant@google.com>
1945
1946 PR lto/46273
8b7e8529 1947 * config.gcc: Don't set lto_binary_reader.
48215350
DK
1948 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
1949 (Configuration): Mention --disable-lto. Remove --with-libelf
1950 paragraph.
1951
80ab32d6
JJ
19522010-11-03 Jakub Jelinek <jakub@redhat.com>
1953
03f43d3d
JJ
1954 PR debug/46252
1955 * reload1.c (delete_dead_insn): Use prev_active_insn instead of
1956 prev_real_insn.
1957 * gcse.c (insert_insn_end_basic_block): Likewise.
1958
80ab32d6
JJ
1959 PR rtl-optimization/46034
1960 PR rtl-optimization/46212
1961 PR rtl-optimization/46248
1962 * combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
1963 and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
1964 before i0dest -> i0src substitution and pass 1 instead of 0 as last
1965 argument to subst on i2pat.
1966
480767a9
ILT
19672010-11-02 Ian Lance Taylor <iant@google.com>
1968
1969 * configure.ac: Use AC_SYS_LARGEFILE.
1970 * configure: Rebuild.
1971 * config.in: Rebuild.
1972
e8160c9a
NF
19732010-11-02 Nathan Froyd <froydnj@codesourcery.com>
1974
1975 * builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
1976 fold_convert.
1977 * c-typeck.c (build_function_call_vec): Likewise.
1978 * cfgexpand.c (expand_debug_expr): Likewise.
1979 * cgraphunit.c (assemble_thunk): Likewise.
1980 * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
1981 * fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
1982 (fold_binary_loc, fold_ternary_loc): Likewise.
1983 * gimple-fold.c (get_symbol_constant_value): Likewise.
1984 * gimple-low.c (lower_builtin_setjmp): Likewise.
1985 * gimple.c (gimple_cond_get_ops_from_tree): Likewise.
1986 * gimplify.c (gimplify_init_constructor): Likewise.
1987 * lambda.h (build_linear_expr): Likewise.
1988 * omp-low.c (omp_reduction_init): Likewise.
1989 * tree-inline.c (remap_ssa_name): Likewise.
1990 * tree-object-size.c (compute_object_sizes): Likewise.
1991 * tree-sra.c (init_subtree_with_zero): Likewise.
1992 (sra_ipa_modify_assign): Likewise.
1993 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
1994 * tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
1995 (eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
1996 (undistribute_ops_list): Likewise.
1997 * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
1998 * tree-vect-stmts.c (vectorizable_call): Likewise.
1999 * tree.c (build_vector_from_ctor, build_one_cst): Likewise.
2000 (build_zero_cst): Handle more cases directly. Update comment.
2001
04ae82aa
L
20022010-11-02 H.J. Lu <hongjiu.lu@intel.com>
2003
b71e5eba 2004 * config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed.
04ae82aa
L
2005 * config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
2006
2007 * config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
2008 and call ix86_split_call_vzeroupper instead of
2009 ix86_split_call_pop_vzeroupper.
2010 (*call_pop_1_vzeroupper): Likewise.
2011 (*sibcall_pop_1_vzeroupper): Likewise.
2012 (*call_value_pop_0_vzeroupper): Likewise.
2013 (*call_value_pop_1_vzeroupper): Likewise.
2014 (*sibcall_value_pop_1_vzeroupper): Likewise.
2015
2050af0a
L
20162010-11-02 H.J. Lu <hongjiu.lu@intel.com>
2017
b71e5eba 2018 * config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo.
2050af0a 2019
818aa0c5
EB
20202010-11-02 Eric Botcazou <ebotcazou@adacore.com>
2021
2022 * basic-block.h (insert_insn_end_bb_new): Delete.
2023 * cfgrtl.c (insert_insn_end_bb_new): Likewise.
2024
cfec3a7c
L
20252010-11-02 Uros Bizjak <ubizjak@gmail.com>
2026 H.J. Lu <hongjiu.lu@intel.com>
2027
2028 * config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
2029 (ix86_split_call_pop_vzeroupper): Likewise.
2030
21736ec2
UB
2031 * config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop.
2032 (ix86_expand_call): Conditionally decorate calls with
2033 UNSPEC_CALL_NEEDS_VZEROUPPER unspec.
cfec3a7c
L
2034 (ix86_split_call_vzeroupper): New.
2035 (ix86_split_call_pop_vzeroupper): Likewise.
2036
2037 * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
21736ec2 2038 (*call_pop_0_vzeroupper): New insn_and_split pattern.
cfec3a7c
L
2039 (*call_pop_1_vzeroupper): Likewise.
2040 (*sibcall_pop_1_vzeroupper): Likewise.
2041 (*call_0_vzeroupper): Likewise.
2042 (*call_1_vzeroupper): Likewise.
2043 (*sibcall_1_vzeroupper): Likewise.
2044 (*call_1_rex64_vzeroupper): Likewise.
21736ec2 2045 (*call_1_rex64_ms_sysv_vzeroupper): Likewise.
cfec3a7c
L
2046 (*call_1_rex64_large_vzeroupper): Likewise.
2047 (*sibcall_1_rex64_vzeroupper): Likewise.
21736ec2 2048 (*call_value_pop_0_vzeroupper): Likewise.
cfec3a7c
L
2049 (*call_value_pop_1_vzeroupper): Likewise.
2050 (*sibcall_value_pop_1_vzeroupper): Likewise.
21736ec2
UB
2051 (*call_value_0_vzeroupper): Likewise.
2052 (*call_value_0_rex64_vzeroupper): Likewise.
cfec3a7c
L
2053 (*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
2054 (*call_value_1_vzeroupper): Likewise.
2055 (*sibcall_value_1_vzeroupper): Likewise.
2056 (*call_value_1_rex64_vzeroupper): Likewise.
2057 (*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
2058 (*call_value_1_rex64_large_vzeroupper): Likewise.
2059 (*sibcall_value_1_rex64_vzeroupper): Likewise.
2060
12243af6
ILT
20612010-11-02 Ian Lance Taylor <iant@google.com>
2062
2063 PR lto/46273
2064 * config.gcc: Revert last patch: set lto_binary_reader.
2065
343b2efc
RG
20662010-11-02 Richard Guenther <rguenther@suse.de>
2067
2068 PR tree-optimization/46149
2069 * tree-ssa-structalias.c (get_constraint_for_1): Properly handle
2070 non-indirect MEM_REF variants.
2071
f26aa48e
RG
20722010-11-02 Richard Guenther <rguenther@suse.de>
2073
2074 PR tree-optimization/46216
2075 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
2076 Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
2077
23d50abb
RO
20782010-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2079
2080 * configure.ac (*-*-irix6*): Disable set_have_as_tls.
2081 (*-*-osf*): Likewise.
2082 * configure: Regenerate.
2083
eefe143b
L
20842010-11-02 H.J. Lu <hongjiu.lu@intel.com>
2085
2086 * config/i386/driver-i386.c (host_detect_local_cpu): Updated
2087 for Intel Core 2 and Core i7.
2088
894fd6f2
MK
20892010-11-02 Maxim Kuvyrkov <maxim@codesourcery.com>
2090
2091 Model decoder of Core 2/i7 for multipass scheduling.
2092
2093 * config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
2094 New type to hold target-specific data for multipass scheduling.
2095 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
2096 * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
2097 Core 2/i7.
2098 (core2i7_secondary_decoder_max_insn_size,)
2099 (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
2100 New static variables.
2101 ([const_]ix86_first_cycle_multipass_data_t): New typedefs.
2102 ([_]ix86_first_cycle_multipass_data): New static variable.
2103 (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
2104 Implement targetm.sched hooks.
2105 (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
2106 of ...
2107 (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
2108 Implement new targetm.sched hooks.
2109 (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
2110 targetm.sched hook to install multipass scheduling hooks on demand.
2111
2112 * doc/tm.texi.in: Document new targetm.sched hooks.
2113 * doc/tm.texi: Regenerate.
2114
2115 * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
2116 (first_cycle_multipass_data_t): New typedef.
2117 (struct choice_entry: target_data): New field.
2118 (max_issue): Add first_cycle_insn_p parameter. Call new target hooks
2119 to allow target model restrictions not represented in DFA.
2120 (choose_ready, schedule_block): Update.
2121 (sched_extend_ready_list, sched_finish_ready_list): Call new target
2122 hooks to initialize target-specific data for multipass scheduling.
2123 * sched-int.h (max_issue): Update declaration.
2124 * sel-sched.c (choose_best_insn): Update.
2125 * target.def (first_cycle_multipass_{begin, issue, backtrack},)
2126 (first_cycle_multipass_{init, fini}): Define and document new
2127 targetm.sched hooks.
2128
43427f3c
RG
21292010-11-02 Richard Guenther <rguenther@suse.de>
2130
2131 PR tree-optimization/46184
2132 * tree-vect-loop.c (vectorizable_reduction): Try to obtain the
2133 input vector type from the reduction operand as well.
2134
1bbd3bde
RG
21352010-11-02 Richard Guenther <rguenther@suse.de>
2136
2137 PR tree-optimization/46177
2138 * tree-loop-distribution.c (prop_phis): Use
2139 mark_virtual_phi_result_for_renaming.
2140
4c203066
MJ
21412010-11-02 Martin Jambor <mjambor@suse.cz>
2142
2143 PR middle-end/46120
2144 * tree.c (get_binfo_at_offset): Bail out on artificial
2145 fields. Identify primary bases according to their offsets.
2146
b85020cb
MJ
21472010-11-02 Martin Jambor <mjambor@suse.cz>
2148
2149 PR tree-optimization/45875
2150 * gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
2151 (gimple_get_relevant_ref_binfo): Detect primary bases according to
2152 their field offset.
2153
12243af6
ILT
21542010-11-02 Ian Lance Taylor <iant@google.com>
2155
2156 * doc/install.texi (Configuration): Note in two places that Java
2157 is not enabled by default.
2158
21592010-11-02 Ian Lance Taylor <iant@google.com>
2160
2161 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
2162 (Configuration): Mention --disable-lto. Remove --with-libelf
2163 paragraph.
2164
181e5ea4
ILT
21652010-11-02 Ian Lance Taylor <iant@google.com>
2166
2167 * configure.ac: Remove elf_getshdrstrndx test. Don't substitute
2168 LTO_BINARY_READER or LTO_USE_LIBELF. Remove LIBELFLIBS and
2169 LIBELFINC. Remove HAVE_libelf.
2170 * config.gcc: Don't set lto_binary_reader.
2171 * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
2172 (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
2173 (LIBS): Remove $(LIBELFLIBS).
2174 (INCLUDES): Remove $(LIBELFINC).
2175 * configure: Rebuild.
2176 * config.in: Rebuild.
2177
5239874d
NF
21782010-11-02 Nathan Froyd <froydnj@codesourcery.com>
2179
2180 * config/microblaze/microblaze-protos.h (function_arg): Delete.
2181 (function_arg_advance): Delete.
2182 * config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
2183 (FUNCTION_ARG): Delete.
2184 * config/microblaze/microblaze.c (function_arg_advance): Rename to...
2185 (microblaze_function_arg_advance): ...this. Make static. Take a
2186 const_tree and a bool.
2187 (function-arg): Rename to...
2188 (microblaze_function_arg): ...this. Make static. Take a const_tree
2189 and a bool.
2190 (microblaze_expand_prologue): Call targetm.calls.function_arg and
2191 targetm.calls.function_arg_advance.
2192 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2193
fee3eacd
IS
21942010-11-02 Iain Sandoe <iains@gcc.gnu.org>
2195
2196 Merge from FSF "apple/trunk" branch.
2197
2198 * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
2199 * config/darwin.opt: .. to here.
2200 (matt-stubs): New option.
2201 * config/i386/darwin.opt: Delete.
2202 * config/i386/i386.h (MACHOPIC_ATT_STUB): New.
2203 (MACHO_DYNAMIC_NO_PIC_P): New.
2204 (MACHOPIC_INDIRECT): New.
2205 (MACHOPIC_PURE): New.
2206 * config/i386/darwin.h (DARWIN_X86) Define to 1.
2207 (MACHOPIC_ATT_STUB): New.
2208 (CC1_SPEC): Do not remove mdynamic-no-pic.
2209 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
2210 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
2211 (FUNCTION_PROFILER): Correct over-length line.
2212 (SUBTARGET_OVERRIDE_OPTIONS): New.
2213 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
2214 * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
2215 (legitimate_constant_p): Handle mdynamic-no-pic.
2216 (ix86_legitimate_address_p): Likewise.
2217 (ix86_legitimize_address): Likewise.
2218 (ix86_expand_move): Likewise.
2219 (machopic_output_stub): Update for ATT-style stubs and
2220 mdynamic-no-pic.
2221 * config/darwin-protos.h (machopic_symbol_defined_p): New.
2222 * config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
2223 TARGET_DYNAMIC_NO_PIC: Remove.
2224 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
2225 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
2226 * config/rs6000/rs6000.c (darwin_rs6000_override_options):
2227 Remove handling of mdynamic-no-pic.
2228 * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
2229 Define if required.
2230 (machopic_symbol_defined_p): Do not try to use current_function_decl
2231 when generating _get_pc thunks within stubs.
21736ec2 2232 (machopic_indirect_data_reference): Rework for direct conditionals
fee3eacd
IS
2233 rather than #ifdefs, add x86 mdynamic-no-pic
2234 (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
2235 defined value.
2236 (darwin_override_options): Handle mdynamic-no-pic here.
2237 * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
2238 (machopic_lazy_symbol_ptr3_section): New.
2239 (machopic_picsymbol_stub2_section): New.
2240 (machopic_picsymbol_stub3_section): New.
2241 * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
2242 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
2243 (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
2244 Moved common definition from x86 and rs6000.
2245 (MACHO_DYNAMIC_NO_PIC_P): Override value.
2246 (MACHOPIC_INDIRECT): Likewise.
2247 (MACHOPIC_PURE): Likewise.
2248 * config.gcc (x86-darwin-*): Remove darwin.opt.
2249
f6f2ca8f
JJ
22502010-11-02 Jakub Jelinek <jakub@redhat.com>
2251
2252 PR debug/46255
2253 * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
2254 instead of gsi_last_bb.
2255
9d8477b6
BS
22562010-11-02 Bernd Schmidt <bernds@codesourcery.com>
2257 Maxim Kuvyrkov <maxim@codesourcery.com>
2258
2259 * config/i386/i386.c (cpu_names): Add "corei7".
2260 * config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.
2261
b2b01543
BS
22622010-11-02 Bernd Schmidt <bernds@codesourcery.com>
2263 Maxim Kuvyrkov <maxim@codesourcery.com>
2264
2265 Tune alignment for Intel Core i7
2266
2267 * config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
2268 (enum processor_type): Update comment. Add entries for Core i7.
2269 * config/i386-c.c (ix86_target_macros_internal): Update.
2270 * config/i386.c (m_COREI7{_32,_64}): New macros.
2271 (m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
2272 (processor_target_table): Tune alignment for Core i7.
2273 (ix86_option_override_internal): Use PROCESSOR_COREI7_*.
2274
2275 * doc/invoke.texi: Document "corei7" option value.
2276
2855d9d9
BS
22772010-11-02 Bernd Schmidt <bernds@codesourcery.com>
2278 Maxim Kuvyrkov <maxim@codesourcery.com>
2279 H.J. Lu <hjl.tools@gmail.com>
2280
2281 Basic support for Intel Core i7
2282
2283 * i386.c (ix86_option_override_internal): Add entry for corei7, use
2284 generic tuning. Use generic32 when compiling for 32-bit ABI.
2285
de4df14c
IS
22862010-11-02 Iain Sandoe <iains@gcc.gnu.org>
2287
2288 * config/darwin.c (darwin_asm_named_section): Check for __DWARF
2289 sections and call darwin_asm_dwarf_section() to handle them.
2290 (darwin_asm_dwarf_section): New.
2291 (darwin_file_start): Remove code emitting dwarf section symbols.
2292
ba4debed 22932010-11-02 Chung-Lin Tang <cltang@codesourcery.com>
47afeed5
CLT
2294
2295 * Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
2296 explicitly disable stack protection when building libgcc.
2297 (CRTSTUFF_CFLAGS): Same, for crtbegin/end.
2298
7bf8ca76
JM
22992010-11-01 Jason Merrill <jason@redhat.com>
2300
2301 * fold-const.c (fold_indirect_ref_1): Handle folding
2302 POINTER_PLUS_EXPR to ARRAY_REF.
2303
90833f7f
KK
23042010-11-01 Kaz Kojima <kkojima@gcc.gnu.org>
2305
2306 * config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2307 (sh_delegitimize_address): New function.
2308
baf3ead6
JM
23092010-11-01 Joseph Myers <joseph@codesourcery.com>
2310
2311 * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
2312 * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
2313 (CC1_SPEC): Don't handle -target.
2314 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
2315 options.
2316 * config/darwin.opt (Zallowable_client, Zbundle_loader,
2317 Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
2318 Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
2319 Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
2320 Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
2321 Zweak_reference_mismatches, client_name, compatibility_version,
2322 current_version, dylinker_install_name, pagezero_size,
2323 read_only_relocs, seg1addr, segs_read_only_addr,
2324 segs_read_write_addr, sub_library, sub_umbrella): New.
2325 * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
2326 * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
2327 * config/freebsd.opt: New.
2328 * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
2329 * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
2330 * config/rpath.opt: New.
2331 * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
2332 (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
2333 Use rpath.opt.
2334
6d721f67
JM
23352010-11-01 Joseph Myers <joseph@codesourcery.com>
2336
2337 * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
2338 * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
2339 (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
2340 * doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
2341 (WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
2342 Document that options in .opt files do not need to be included.
2343 * doc/tm.texi: Regenerate.
2344 * gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
2345 * opts-common.c: Update comment on tm.h include.
2346 (decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
2347 * system.h (SWITCH_TAKES_ARG): Poison.
2348 * config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
2349 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
2350 in darwin.opt.
2351 (LINK_COMMAND_SPEC_A): Don't include %{x}.
21736ec2 2352 * config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6d721f67
JM
2353 * config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
2354 * config/freebsd.h (SWITCH_TAKES_ARG): Remove.
21736ec2 2355 * config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6d721f67
JM
2356 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
2357 * config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
21736ec2 2358 * config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options.
6d721f67 2359 * config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
21736ec2 2360 * config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6d721f67
JM
2361 * config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
2362 * config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
2363 * config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
2364 * config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
2365 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
2366 * config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
2367 * config/openbsd.h (SWITCH_TAKES_ARG): Remove.
2368 * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
2369 * config/score/score.h (SWITCH_TAKES_ARG): Remove.
2370 * config/sol2.h (SWITCH_TAKES_ARG): Remove.
2371 * config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
2372 * config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
2373 * config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
2374 * config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
2375
63caf8bb
PK
23762010-11-01 Paul Koning <ni1d@arrl.net>
2377
2378 * config/pdp11/pdp11.md: Use iterators.
21736ec2
UB
2379 (addqi3, subqi3, iorsi3, xorsi3): Delete.
2380
7894073c
SE
23812010-11-01 Steve Ellcey <sje@cup.hp.com>
2382
2383 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
2384 GCC_INSN_FLAGS_H.
2385 * libgcov.c (__gcov_indirect_call_profiler): Set
2386 VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
2387 defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
2388
e7e9eb2f
NF
23892010-11-01 Nathan Froyd <froydnj@codesourcery.com>
2390
2391 PR tree-optimization/46259
2392
2393 Revert:
e7e9eb2f 2394 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
e7e9eb2f
NF
2395 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
2396 build_vector_from_val.
2397
d0d7f522
DD
23982010-11-01 DJ Delorie <dj@redhat.com>
2399
2400 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610
2401 as well as an assertion.
2402
c6d3802a
PK
24032010-11-01 Paul Koning <ni1d@arrl.net>
2404
2405 * config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
2406 complex modes in memory.
2407
eb8e7cb1
NF
24082010-11-01 Nathan Froyd <froydnj@codesourcery.com>
2409
2410 * tree.c (build_vector_from_val): Use useless_type_conversion_p.
2411
cfd8c4b1
JJ
24122010-11-01 Jakub Jelinek <jakub@redhat.com>
2413
2414 PR target/45250
2415 * var-tracking.c (cfa_base_rtx): Move definition earlier in the file.
2416 (cfa_base_offset): New variable.
2417 (compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset.
2418 (adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx
2419 is NULL.
2420 (vt_init_cfa_base): Initialize cfa_base_offset.
2421
942c9c07
AM
24222010-11-01 Alan Modra <amodra@gmail.com>
2423
2424 PR target/46030
2425 * config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
2426 and savres_strategy.
2427 (stack_info): New file scope var.
2428 (rs6000_init_machine_status): Init stack_info.
2429 (SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
2430 SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
2431 SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
2432 (SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
2433 SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
2434 REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this. Update all refs.
2435 (rs6000_savres_strategy): Rewrite.
2436 (rs6000_stack_info): Use "stack_info" in place of local "info".
2437 Return cached stack info when reload_completed unless ENABLE_CHECKING
2438 in which case confirm newly calculated stack info matches old info.
2439 Delay calculation of lr_save_p, set it for out of line gp save/restore
2440 as well as fp. Call rs6000_savres_strategy from here..
2441 (rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
2442 (rs6000_output_function_prologue): Use info->savres_strategy to
2443 determine whether fp save/restore externs need to be emitted.
2444
ec52b111
JM
24452010-10-31 Jason Merrill <jason@redhat.com>
2446
2447 * tree.h (EXPR_LOC_OR_HERE): New macro.
2448 * builtins.c (c_strlen): Use it.
2449 * c-decl.c (build_enumerator): Likewise.
2450 * gimplify.c (internal_get_tmp_var): Likewise.
2451 (shortcut_cond_expr): Likewise.
2452 (gimplify_one_sizepos): Likewise.
2453
f81c9774
RH
24542010-10-31 Richard Henderson <rth@redhat.com>
2455
2456 * config/i386/cygming.h (TARGET_SEH): New.
2457 (MAX_STACK_ALIGNMENT): New. Disable alignment for SEH.
2458 (TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
2459 TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
2460 (TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
2461 (ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
2462 (ASM_DECLARE_FUNCTION_SIZE): New.
2463 * config/i386/i386-protos.h: Update.
2464 * config/i386/i386.c (ix86_option_override_internal): Enable
2465 flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
2466 restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
2467 (ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
2468 (ix86_compute_frame_layout): For SEH, disable
2469 use_fast_prologue_epilogue, move frame pointer to the end of
2470 the frame. Initialize hfp_save_offset.
2471 (ix86_expand_prologue): Honor hfp_save_offset. Emit blockage
2472 at end of prologue for SEH.
2473 (ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
2474 emit blockage at beginning of epilogue.
2475 (ix86_expand_binary_operator): After reload, emit LEA if needed.
2476 (ix86_output_call_insn): New.
2477 * config/i386/i386.h (TARGET_SEH): New.
2478 (struct machine_function): Add member seh.
2479 * config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
2480 * config/i386/winnt.c (struct seh_frame_state): New.
2481 (i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
2482 seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
2483 seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
2484 i386_pe_start_function, i386_pe_end_function): New.
2485
2486 * dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
2487 as CFA_STORE in rules 12 and 13.
2488
0502fb85
UB
24892010-10-31 Uros Bizjak <ubizjak@gmail.com>
2490
2491 PR tree-optimization/46142
2492 * tree-vect-stmts.c (vectorizable_call): Enlarge dt array to
2493 accommodate third function argument.
2494
8e8e423f
NF
24952010-10-30 Nathan Froyd <froydnj@codesourcery.com>
2496
2497 * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
2498
b9acc9f1
NF
24992010-10-30 Nathan Froyd <froydnj@codesourcery.com>
2500
2501 * fold-const.c (build_zero_vector): Use build_vector_from_val.
2502 * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
2503 (get_initial_def_for_reduction): Likewise.
2504 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
2505 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
2506 * tree.c (build_one_cst): Likewise.
2507 (build_vector_from_val): Use types_compatible_p for assert.
2508
76369a82
NF
25092010-10-30 Nathan Froyd <froydnj@codesourcery.com>
2510
2511 * emit-rtl.c (mark_used_flags): New function.
2512 (set_used_flags, reset_used_flags): Call it.
2513
695ae295
UB
25142010-10-30 Uros Bizjak <ubizjak@gmail.com>
2515
2516 PR middle-end/44569
2517 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
2518 determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
2519
31278489
L
25202010-10-30 H.J. Lu <hongjiu.lu@intel.com>
2521
2522 PR target/46195
2523 * config/i386/i386.c (contains_aligned_value_p): Renamed to ...
2524 (ix86_compat_aligned_value_p): This.
2525 (ix86_old_function_arg_boundary): Renamed to ...
2526 (ix86_compat_function_arg_boundary): This. Updated.
2527 (ix86_contains_aligned_value_p): New.
2528 (ix86_function_arg_boundary): Align long double parameters on
2529 stack to 4byte in 32bit.
2530
46a88c12
NP
25312010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
2532
2533 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2534 * c-parser.c (c_parser_objc_at_property_declaration): Removed
2535 parsing of RID_COPIES and RID_IVAR. Updated call to
2536 objc_add_property_declaration.
2537 * c-typecheck.c (build_component_ref): Call
2538 objc_maybe_build_component_ref instead of objc_build_setter_call.
2539 Use objc_is_property_ref to improve Objective-C checks.
2540 (cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
2541 of objc_build_getter_call.
2542
6f7b223b
PK
25432010-10-29 Paul Koning <ni1d@arrl.net>
2544
2545 * doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
2546 REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P,
2547 REGNO_OK_FOR_INDEX_P): Delete non-strict variant.
2548 (REG_OK_STRICT): Move description.
2549
396acafd
PK
25502010-10-29 Paul Koning <ni1d@arrl.net>
2551
2552 * config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
2553
8f808fc2
PK
25542010-10-29 Paul Koning <ni1d@arrl.net>
2555
2556 * config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
2557
9546fe6a
PK
25582010-10-29 Paul Koning <ni1d@arrl.net>
2559
2560 PR/41822
2561 * config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.
2562
f802f27b
RH
25632010-10-29 Richard Henderson <rth@redhat.com>
2564
2565 PR rtl-opt/46226
2566 * stmt.c (expand_asm_operands): Call do_pending_stack_adjust
2567 for asm goto.
2568
a9c64fcc
PK
25692010-10-29 Paul Koning <ni1d@arrl.net>
2570
2571 * config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
2572 register to register move.
2573
c153355f
PK
25742010-10-29 Paul Koning <ni1d@arrl.net>
2575
2576 * config/pdp11/pdp11.c (print_operand_address): Correct handling
2577 of integer constant addresses, delete vax-only logic.
2578
a6e78d3b
HS
25792010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
2580
2581 * config/picochip/picochip.c (picochip_is_short_branch): Simplify
2582 a conditional expression.
2583
ed8eb563
PK
25842010-10-29 Paul Koning <ni1d@arrl.net>
2585
2586 * config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
2587 instruction encoding.
2588
ba4debed
EB
25892010-10-29 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2590 Andrew Pinski <pinskia@gmail.com>
f87bd04b
AS
2591
2592 * tree.h (build_vector_from_val): Declare.
2593 * tree.c (build_vector_from_val): New function.
2594 * c-typeck.c (build_binary_op): Handle vector shifting.
2595 * doc/extend.texi: Description of the vector shifting operation.
2596
a01c666c
PK
25972010-10-29 Paul Koning <pkoning@equallogic.com>
2598
2599 * config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
2600 pdp11_secondary_memory_needed): Declare.
2601 * config/pdp11/predicates.md (float_operand): New predicate.
2602 * config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
2603 (cbranchdf4, movdf): Change predicate.
2604 (movsf): Handle FPU register case.
2605 (truncdfsf2, extendsfdf2): Add FPU register case.
2606 * config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
2607 TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
2608 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2609 (pdp11_register_move_cost): Update cost matrix.
2610 (pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
2611 pdp11_preferred_output_reload_class, pdp11_secondary_reload,
2612 pdp11_secondary_memory_needed): New function.
2613 (pdp11_return_in_memory): Add other float types.
695ae295 2614 * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float types.
a01c666c
PK
2615 (SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
2616 (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
2617 REGISTER_MOVE_COST): Delete.
2618 (BASE_RETURN_VALUE_REG): Add other float types.
2619
ba4debed 26202010-10-29 Nick Clifton <nickc@redhat.com>
f3f63737
NC
2621
2622 * doc/invoke.texi: Document -mam34 and -mtune options.
2623 * config/mn10300/mn10300.c (mn10300_tune_string): New variable.
2624 (mn10300_tune_cpu): New variable.
2625 (mn10300_handle_option): Handle -mam34 and -mtune options.
695ae295 2626 (mn10300_option_override): Convert tune string into tune cpu variable.
f3f63737
NC
2627 (mn10300_legitimate_constant_p): Delete unused local variable.
2628 (is_load_insn): New function.
2629 (is_store_insn): New function.
2630 (mn10300_adjust_schedule_cost): New function.
2631 (TARGET_SCHED_ADJUST_COST): Define.
2632 * config/mn10300/mn10300.opt (mam34): New option.
2633 (mtune): New option.
695ae295 2634 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34 support.
f3f63737
NC
2635 (enum processor_type): Add AM34.
2636 (TARGET_AM34): Define.
2637 * config/mn10300/mn10300.md (attr cpu): Add am34.
2638 Add pipeline description.
695ae295
UB
2639 (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates.
2640 Remove unneeded alternatives. Add timing attribute.
f3f63737
NC
2641 (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
2642 mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
2643 mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
2644 mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
2645 mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
2646 bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
2647 bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
2648 float_conditional_branch, jump, indirect_jump, tablejump,
2649 call_internal, call_value_internal, zero_extendqisi2_am33,
2650 zero_extendqisi2_mn10300, zero_extendhisi2_am33,
2651 zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
2652 extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
2653 mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
2654 mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
2655 addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
2656 fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
2657 return_internal_regs, store_movm, return, call_next_insn):
2658 Add timing attribute.
2659 (am33_subsi3): Add missing clobber of CC_REG.
2660 (am33_andsi3, mn10300_andsi3): Fix compile time warnings.
2661 (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
2662 subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
2663 extendqisi2): Fix predicates.
2664 (call_internal, call_internal_value): Separate alternatives.
2665 * config/mn10300/t-mn10300: Add AM34 multilib.
2666
8a575d5a
PB
26672010-10-29 Paolo Bonzini <bonzini@gnu.org>
2668
2669 * config/sh/sh.c (sh_promote_function_mode): Use
2670 default_promote_function_mode if !sh_promote_prototypes.
2671
74a28b08
PB
26722010-10-28 Paolo Bonzini <bonzini@gnu.org>
2673
2674 * recog.c (split_all_insns): Remove dead code.
2675
05fda848
NF
26762010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2677
2678 * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2679
73f3f841
NF
26802010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2681
2682 * config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
2683 (FUNCTION_ARG_ADVANCE): Delete.
2684 * config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
2685 functions.
695ae295 2686 (cris_function_incoming_arg, cris_function_arg_advance): New functions.
73f3f841
NF
2687 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
2688 (TARGET_FUNCTION_ARG_ADVANCE): Define.
2689
3acf034c
NF
26902010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2691
2692 * config/lm32/lm32-protos.h (lm32_function_arg): Delete.
2693 * config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2694 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
2695 Take a const_tree and a bool.
2696 (mcore_function_arg_advance): New function.
2697 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2698
4665ac17
NF
26992010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2700
2701 * config/mcore/mcore-protos.h (mcore_function_arg): Delete.
2702 * config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2703 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
2704 Take a const_tree and a bool.
2705 (mcore_function_arg_advance): New function.
2706 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2707
56f9413b
NF
27082010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2709
2710 * config/h8300/h8300-protos.h (function_arg): Delete.
2711 * config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2712 * config/h8300/h8300.c (function_arg): Rename to...
2713 (h8300_function_arg): ...this. Make static. Take a const_tree and
2714 a bool.
2715 (h8300_function_arg_advance): New function.
2716 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2717
66d5ee14
NF
27182010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2719
2720 * config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
2721 to...
2722 * config/arc/arc.c (arc_function_arg): ...here and...
2723 (arc_function_arg_advance): ...here. New functions.
2724 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2725
a6a54b6f
NF
27262010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2727
2728 * config/crx/crx-protos.h (crx_function_arg): Delete.
2729 (crx_function_arg_advance): Delete.
2730 * config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2731 * config/crx/crx.c (crx_function_arg): Make static. Take a
2732 const_tree and a bool.
695ae295 2733 (crx_function_arg_advance): Make static. Take a const_tree and a bool.
a6a54b6f
NF
2734 (enough_regs_for_param): Take a const_tree.
2735 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2736
da15f931
NF
27372010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2738
2739 * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
2740 (m68hc11_function_arg_advance): Delete.
2741 * config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
2742 (FUNCTION_ARG_ADVANCE): Delete.
2743 * config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
2744 Take a const_tree and a bool.
2745 (m68hc11_function_arg_advance): Likewise.
2746 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2747
bf425ddd
NF
27482010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2749
2750 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
2751 (xstormy16_function_arg_advance): Delete.
2752 * config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
2753 (FUNCTION_ARG_ADVANCE): Delete.
2754 * config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
2755 Take a const_tree and a bool.
2756 (xstormy16_function_arg_advance): Likewise. Return void, updating
2757 the CUM parameter instead.
2758 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2759
4c05cbb2
NF
27602010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2761
2762 * config/moxie/moxie-protos.h (moxie_function_arg): Delete.
2763 * config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2764 (MOXIE_FUNCTION_ARG_SIZE): Move to...
2765 * config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
2766 (moxie_function_arg): Make static. Take a const_tree and a bool.
2767 (moxie_function_arg_advance): New function.
2768 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2769
ce236858
NF
27702010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2771
2772 * config/mn10300/mn10300-protos.h (function_arg): Delete.
2773 * config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
2774 (FUNCTION_ARG_ADVANCE): Delete.
2775 * config/mn10300/mn10300.c (function_arg): Rename to...
2776 (mn10300_function_arg): ...this. Make static. Take a const_tree
2777 and a bool.
2778 (mn10300_function_arg_advance): New function.
2779 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2780
24ef86d7
NF
27812010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2782
2783 * config/iq2000/iq2000-protos.h (function_arg): Delete.
2784 (function_arg_advance): Delete.
2785 * config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2786 * config/iq2000/iq2000.c (function_arg): Rename to...
2787 (iq2000_function_arg): ...this. Make static. Take a const_tree and
2788 a bool.
2789 (function_arg_advance): Rename to...
2790 (iq2000_function_arg_advance): ...this. Make static. Take a
2791 const_tree and a bool.
2792 (iq2000_expand_prologue): Call iq2000_function_arg_advance and
2793 iq2000_function_arg.
2794 (iq2000_pass_by_reference): Call iq2000_function_arg).
2795 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2796
b60613c3
NF
27972010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2798
2799 * config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
2800 * config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2801 * config/fr30/fr30.c (fr30_num_arg_regs): Make static. Take a
2802 const_tree.
2803 (fr30_function_arg): New function.
2804 (fr30_function_arg_advance): New function.
2805 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2806
88a1f47f
NF
28072010-10-28 Nathan Froyd <froydnj@codesourcery.com>
2808
2809 * config/frv/frv-protos.h (frv_function_arg): Delete.
2810 (frv_function_arg_advance): Delete.
2811 * config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2812 * config/frv/frv.c (frv_function_arg): Rename to...
695ae295 2813 (frv_function_arg_1): Make static. Take const_tree and bool arguments.
88a1f47f 2814 (frv_function_arg, frv_function_incoming_arg): New functions.
695ae295 2815 (frv_function_arg_advance): Make static. Take a const_tree and a bool.
88a1f47f
NF
2816 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
2817 (TARGET_FUNCTION_ARG_ADVANCE): Define.
2818
f17aa4ad
UB
28192010-10-28 Uros Bizjak <ubizjak@gmail.com>
2820
2821 PR target/46153
2822 * config/i386/sse.md (sse_movhlps_exp): Use destination
2823 returned from ix86_fixup_binary_operands to expand insn.
2824 (sse_movlhps_exp): Ditto.
2825 (sse_loadhps_exp): Ditto.
2826 (sse_loadlps_exp): Ditto.
2827 (sse2_loadhpd_exp): Ditto.
2828 (sse2_loadlpd_exp): Ditto.
f17aa4ad 2829
d724c8f0
AS
28302010-10-28 Andrew Stubbs <ams@codesourcery.com>
2831
2832 * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
2833 constants in thumb2.
2834
c575a65f
EB
28352010-10-28 Eric Botcazou <ebotcazou@adacore.com>
2836
2837 * combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
2838 arithmetics in masking operations.
2839 (contains_muldiv): Likewise.
2840 (try_combine): Likewise.
2841 (find_split_point): Likewise.
2842 (combine_simplify_rtx): Likewise.
2843 (simplify_if_then_else): Likewise.
2844 (simplify_set): Likewise.
2845 (expand_compound_operation): Likewise.
2846 (expand_field_assignment): Likewise.
2847 (make_extraction): Likewise.
2848 (extract_left_shift): Likewise.
2849 (make_compound_operation): Likewise.
2850 (force_to_mode): Likewise.
2851 (make_field_assignment): Likewise.
2852 (reg_nonzero_bits_for_combine): Likewise.
2853 (simplify_shift_const_1): Likewise.
2854 (simplify_comparison): Likewise.
2855
eb93b893
SE
28562010-10-27 Nathan Froyd <froydnj@codesourcery.com>
2857
2858 * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
2859 (ia64_function_arg_advance): Delete.
2860 * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
2861 (FUNCTION_ARG_ADVANCE): Delete.
2862 * config/ia64/ia64.c (ia64_function_arg): Rename to...
2863 (ia64_function_arg_1): ...this. Make static. Take const_tree and
2864 bool arguments.
2865 (ia64_function_arg, ia64_function_incoming_arg): New functions.
2866 (ia64_function_arg_advance): Make static. Take a const_tree and
2867 a bool.
2868 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
2869 (TARGET_FUNCTION_ARG_ADVANCE): Define.
2870
28712010-10-27 Steve Ellcey <sje@cup.hp.com>
2872
2873 * doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
2874 (TARGET_GET_RAW_ARG_MODE): New.
2875 * doc/tm.texi: Regenerate.
2876 * target.def (get_raw_result_mode): New.
2877 (get_raw_arg_mode): New.
2878 * targhooks.c (default_get_reg_raw_mode): New.
2879 * targhooks.h (default_get_reg_raw_mode): New.
2880 * builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
2881 (apply_result_size): Ditto.
2882 * config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
2883 (TARGET_GET_RAW_RESULT_MODE): Define.
2884 (TARGET_GET_RAW_ARG_MODE): Ditto.
2885
4a8f6a63
EB
28862010-10-27 Eric Botcazou <ebotcazou@adacore.com>
2887
2888 * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
2889 for newer Solaris 10 release.
2890 (sparc_fallback_frame_state): Likewise.
2891
22192559
JM
28922010-10-27 Jason Merrill <jason@redhat.com>
2893
2894 * gimplify.c (gimplify_decl_expr): Handle anonymous artificial
2895 variables sooner.
2896
84fabdde
JZ
28972010-10-27 Jie Zhang <jie@codesourcery.com>
2898 Maxim Kuvyrkov <maxim@codesourcery.com>
2899
2900 * haifa-sched.c (ISSUE_POINTS): Remove.
2901 (max_issue): Don't issue more than issue_rate instructions.
2902
9c042d80
ILT
29032010-10-27 Ian Lance Taylor <iant@google.com>
2904
2905 PR target/46197
2906 * config/i386/i386.md (UNSPECV_SPLIT_STACK_RETURN): New.
2907 (split_stack_return): Replace UNSPEC_STACK_CHECK with
2908 UNSPECV_SPLIT_STACK_RETURN.
2909
2767a7f2
L
29102010-10-27 H.J. Lu <hongjiu.lu@intel.com>
2911
2912 * config/i386/i386-protos.h (init_cumulative_args): Add an int.
2913
2914 * config/i386/i386.c (block_info): New.
2915 (BLOCK_INFO): Likewise.
2916 (call_avx256_state): Likewise.
2917 (check_avx256_stores): Likewise.
2918 (move_or_delete_vzeroupper_2): Likewise.
2919 (move_or_delete_vzeroupper_1): Likewise.
2920 (move_or_delete_vzeroupper): Likewise.
2921 (use_avx256_p): Likewise.
2922 (function_pass_avx256_p): Likewise.
2923 (flag_opts): Add -mvzeroupper.
2924 (ix86_option_override_internal): Turn on MASK_VZEROUPPER by
2925 default for TARGET_AVX. Turn off MASK_VZEROUPPER if TARGET_AVX
2926 is disabled.
2927 (ix86_function_ok_for_sibcall): Disable sibcall if we need to
2928 generate vzeroupper.
2929 (init_cumulative_args): Add an int to indicate caller. Set
2930 use_avx256_p, callee_return_avx256_p and caller_use_avx256_p
2931 based on return type.
2932 (ix86_function_arg): Set use_avx256_p, callee_pass_avx256_p and
2933 caller_pass_avx256_p based on argument type.
2934 (ix86_expand_epilogue): Emit vzeroupper if 256bit AVX register
2935 is used, but not returned by caller.
f17aa4ad 2936 (ix86_expand_call): Emit vzeroupper if 256bit AVX register is used.
2767a7f2
L
2937 (ix86_local_alignment): Set use_avx256_p if 256bit AVX register
2938 is used.
2939 (ix86_minimum_alignment): Likewise.
2940 (ix86_expand_special_args_builtin): Set target to
2941 GEN_INT (vzeroupper_intrinsic) for CODE_FOR_avx_vzeroupper.
2942 (ix86_reorg): Run the vzeroupper optimization if needed.
2943
2944 * config/i386/i386.h (ix86_args): Add caller.
2945 (INIT_CUMULATIVE_ARGS): Updated.
2946 (machine_function): Add use_vzeroupper_p, use_avx256_p,
2947 caller_pass_avx256_p, caller_return_avx256_p,
2948 callee_pass_avx256_p and callee_return_avx256_p.
2949
2950 * config/i386/i386.opt (-mvzeroupper): New.
2951
2952 * config/i386/predicates.md (vzeroupper_operation): Removed.
2953
2954 * config/i386/sse.md (avx_vzeroupper): Removed.
2955 (*avx_vzeroupper): Removed.
2956 (avx_vzeroupper): New.
2957
2958 * doc/invoke.texi: Document -mvzeroupper.
2959
22bc122e
EB
29602010-10-27 Eric Botcazou <ebotcazou@adacore.com>
2961
2962 * config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd.
2963 * config/i386/t-mingw-w32 (SHLIB_LC): Likewise.
2964 * config/i386/t-mingw-w64 (SHLIB_LC): Likewise.
2965
5d0d1564 29662010-10-27 Eric Botcazou <ebotcazou@adacore.com>
f17aa4ad 2967 Olivier Hainque <hainque@adacore.com>
5d0d1564
EB
2968
2969 * config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum
2970 of EBP. Do not restore reg #9. Remove +1 adjustment to EIP and set
2971 fs->signal_frame instead.
2972
46a88c12
NP
29732010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2974
2975 * c-parser.c (cp_parser_objc_at_property_declaration): Removed
2976 parsing of RID_COPIES and RID_IVAR.
2977
200290f2
NP
29782010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2979
2980 * c-parser.c (c_parser_objc_at_property_declaration): Recognize
2981 RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC.
2982 Do not use objc_set_property_attr, but use local variables
2983 instead. Detect repeated usage of setter, getter and ivar
2984 attributes. Improved error processing when a setter name does not
2985 end in ':'. Do not check for CPP_CLOSE_PAREN after we determined
2986 that the token is a keyword. Updated call to
2987 objc_add_property_declaration.
2988
f614132b
NP
29892010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2990
2991 * c-parser.c (c_parser_objc_at_property): Renamed to
2992 c_parser_objc_at_property_declaration. Updated calls to
2993 objc_add_property_variable, now objc_add_property_declaration.
2994 Code rewritten to be much more robust in recovering from syntax
2995 errors. Added comments.
2996 (c_parser_objc_property_attrlist): Removed.
2997 (c_parser_external_declaration): Updated calls to
2998 c_parser_objc_at_property, now
2999 c_parser_objc_at_property_declaration.
3000 (c_parser_objc_methodprotolist): Same change.
f17aa4ad 3001
3e1484c9
L
30022010-10-26 H.J. Lu <hongjiu.lu@intel.com>
3003
f17aa4ad 3004 * config/i386/i386.md (split_stack_return): Put back unspec_volatile.
3e1484c9 3005
d5fae457
JH
30062010-10-26 Jan Hubicka <jh@suse.cz>
3007
3008 * ipa.c (process_references): Enqueue all referenced nodes;
3009 mark as reachable only non-external nodes.
3010 (cgraph_remove_unreachable_nodes): All referenced nodes should
3011 be enqueued; remove bogues node->needed check.
3012
ed62e0d9
JH
30132010-10-26 Jan Hubicka <jh@suse.cz>
3014
f17aa4ad
UB
3015 * cgraphbuild.c (build_cgraph_edges): Use ipa-reference
3016 to represent OMP.
ed62e0d9 3017
74288524
L
30182010-10-26 H.J. Lu <hongjiu.lu@intel.com>
3019
3020 * config/i386/i386.md (split_stack_return): Replace
3021 unspec_volatile with unspec.
3022
d47abcca
JW
30232010-10-26 Jonathan Wakely <jwakely.gcc@gmail.com>
3024
3025 * doc/install.texi: Fix typo in --with-sysroot description.
3026
892ae21c
JH
30272010-10-26 Jan Hubicka <jh@suse.cz>
3028
3029 * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p):
3030 Use info provided by linker plugin.
3031
73c982bc
JM
30322010-10-26 Jason Merrill <jason@redhat.com>
3033
3034 * varasm.c (constructor_static_from_elts_p): Don't require a
3035 CONSTRUCTOR to have elements to be suitable for static
3036 initialization. Allow ARRAY_TYPE as well.
3037
530f3a1b
JH
30382010-10-26 Jan Hubicka <jh@suse.cz>
3039
3040 PR middle-end/45736
3041 * cgraph.c (cgraph_set_readonly_flag): Rename to...
3042 (cgraph_set_const_flags) ... this one; get also looping argument;
3043 clear constructor/destructor flags.
3044 (cgraph_set_pure_flag): Likewise.
3045 (cgraph_set_looping_const_or_pure_flag): Remove.
3046 (cgraph_can_remove_if_no_direct_calls_and_refs): Do not try
3047 to optimize away static ctors/dtors; it does not work on inline clones;
3048 external functions can always be rmeoved.
f17aa4ad
UB
3049 (cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on
3050 inline clones; in LTO external functions always can go.
530f3a1b 3051 (cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly.
f17aa4ad
UB
3052 (cgraph_mark_address_taken_node): Assert that we are not taking
3053 address of inline clone.
530f3a1b
JH
3054 (cgraph_can_remove_if_no_direct_calls_p): We always eventually remove
3055 external functions.
f17aa4ad
UB
3056 * ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with
3057 address taken.
3058 (ipcp_initialize_node_lattices): Only local functions can be
3059 handled without cloning.
530f3a1b
JH
3060 * cgraph.h (cgraph_set_readonly_flag,
3061 cgraph_set_looping_const_or_pure_flag): Remove.
3062 (cgraph_set_const_flag): Declare.
3063 (cgraph_set_pure_flag): Update.
3064 * ipa-pure-const (propagate_pure_const, local_pure_const): Update
3065 flags setting code.
f17aa4ad
UB
3066 * ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not
3067 look at inline clones; fix handling of external definitions.
530f3a1b
JH
3068 (cgraph_postorder): Do not look at inline clones in the first pass.
3069 (function_and_variable_visibility): Drop constructors/destructor
3070 flags at pure and const functions.
3071 * tree-profile.c (tree_profiling): Update.
3072 * ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with
3073 address taken; external functions do not account to whole program size.
f17aa4ad
UB
3074 (cgraph_decide_inlining): Likewise; do not try to inline
3075 functions already inlined.
530f3a1b 3076
0d600fce
JZ
30772010-10-26 Jie Zhang <jie@codesourcery.com>
3078
3079 * doc/invoke.texi: Improve documentation of
3080 -fstrict-volatile-bitfields.
3081
75264e61
IR
30822010-10-26 Ira Rosen <irar@il.ibm.com>
3083
3084 PR tree-optimization/46167
3085 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there
3086 is basic block for the statement.
3087
6e2f8c15
PK
30882010-10-26 Paul Koning <ni1d@arrl.net>
3089
3090 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
3091 current definition of struct_real_format.
3092
f28e93a8
L
30932010-10-26 H.J. Lu <hongjiu.lu@intel.com>
3094
3095 PR target/44948
3096 * config/i386/i386.c (ix86_old_function_arg_boundary): New.
3097 (ix86_function_arg_boundary): Always align parameters on stack
f17aa4ad 3098 in 64bit and align parameters with alignment >= 16byte on stack
f28e93a8
L
3099 in 32bit. Warn alignment change.
3100
76d8a30a
ILT
31012010-10-26 Ian Lance Taylor <iant@google.com>
3102
3103 PR middle-end/45687
3104 * ipa-prop.c (ipa_modify_call_arguments): Correct type of MEM_REF
3105 offset.
3106
f17aa4ad 31072010-10-25 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
90ecaf87
RRC
3108
3109 Implement opaque-enum-specifiesr for C++0x
3110 * tree.h (ENUM_IS_OPAQUE): New.
3111 * dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE.
3112
f5c88dbf
JZ
31132010-10-26 Jie Zhang <jie@codesourcery.com>
3114
3115 * stor-layout.c (layout_decl): Use the field's type to
f17aa4ad 3116 determine the mode and keep DECL_BIT_FIELD for a volatile bit-field.
f5c88dbf
JZ
3117 * config/arm/arm.c (arm_override_options): Default to
3118 -fstrict-volatile-bitfields.
3119
7021d5df
PK
31202010-10-25 Paul Koning <ni1d@arrl.net>
3121
3122 * config/pdp11/pdp11.md: Add define_constants for register
3123 numbers, branch offset limits.
3124 * config/pdp11/pdp11.c: Use named constants instead of numbers.
3125 * config/pdp11.pdp11.h: Ditto.
3126
7fa2619a
EB
31272010-10-25 Eric Botcazou <ebotcazou@adacore.com>
3128
3129 * configure.ac: Use $cpu_type instead of $target to define the nop.
3130 * configure: Regenerate.
3131
8150f05c
JZ
31322010-10-25 Jie Zhang <jie@codesourcery.com>
3133
7fa2619a
EB
3134 * combine.c (try_combine): If insns need to be kept around, check that
3135 they can be copied in the merged instruction.
8150f05c 3136
12929514
EB
31372010-10-24 Eric Botcazou <ebotcazou@adacore.com>
3138
3139 * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
3140 has been modified.
3141 (convert_regs_2): Likewise. Adjust calls to convert_regs_1.
3142 (convert_regs): Adjust calls to convert_regs_2. Clean up the CFG if
3143 it has been modified.
3144
0e7e1527
EB
31452010-10-24 Eric Botcazou <ebotcazou@adacore.com>
3146
3147 * config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
3148
0f237806
PK
31492010-10-24 Paul Koning <ni1d@arrl.net>
3150
3151 * config/pdp11/pdp11.md: Change length attribute to be in bytes.
3152 * config/pdp11/pdp11.c (output_jump): Ditto.
3153
40d398e0
ILT
31542010-10-24 Ian Lance Taylor <iant@google.com>
3155
f17aa4ad 3156 * config/i386/i386.c (ix86_va_start): Remove extraneous blank line.
40d398e0 3157
4cce988e
EB
31582010-10-24 Eric Botcazou <ebotcazou@adacore.com>
3159
3160 * cfglayout.c (fixup_reorder_chain): When ensuring that there is at
3161 least one insn with a locus corresponding to an edge's goto_locus,
3162 disregard non-fallthru edges to the exit block and merge the blocks
3163 created for the same goto_locus.
3164
efe5e5a0
JM
31652010-10-23 Joseph Myers <joseph@codesourcery.com>
3166
3167 * gcc.c (n_switches_alloc_debug_check): New.
3168 (set_option_handlers): New.
3169 (process_command): Use set_option_handlers.
f17aa4ad 3170 (do_self_spec): Pass spec-generated options through option handlers.
efe5e5a0
JM
3171 (main): Also save and restore n_switches_alloc when swapping
3172 switch arrays.
3173
487a9a3e
RH
31742010-10-23 Richard Henderson <rth@redhat.com>
3175
3176 PR target/46144
3177 * config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New.
3178 (*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2.
3179 Honor matching operands when splitting to XOR.
3180
0e1b8b10
ILT
31812010-10-23 Ian Lance Taylor <iant@google.com>
3182
3183 * tree-vrp.c (extract_range_from_binary_expr): If
3184 flag_non_call_exceptions don't eliminate division by zero.
3185 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
3186
18ed6ee4
NF
31872010-10-23 Nathan Froyd <froydnj@codesourcery.com>
3188
3189 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
3190 __BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
3191 __ORDER_PDP_ENDIAN__.
3192 * libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3193 (struct DWstruct): Define based on __BYTE_ORDER__.
3194 * config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3195 (struct INTstruct): Define based on __BYTE_ORDER__.
3196 * config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3197 (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
3198 * system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
3199 * config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3200 * config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3201 * config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3202 * config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3203 * config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3204 * config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3205 * config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3206 * config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3207 * config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3208 * config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3209 * config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3210 * config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3211 * config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3212 * config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3213 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3214 * doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3215 * doc/tm.texi: Regenerate.
3216 * doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
3217 (__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
3218
646e6f41
JZ
32192010-10-23 Jie Zhang <jie@codesourcery.com>
3220
3221 PR rtl-optimization/37360
3222 * config/mips/mips.c (cached_can_issue_more): New local variable.
3223 (mips_sched_reorder_1): New.
3224 (mips_sched_reorder): Use mips_sched_reorder_1.
3225 (mips_sched_reorder2): New.
3226 (mips_variable_issue): Set cached_can_issue_more.
3227 (TARGET_SCHED_REORDER2): Define to mips_sched_reorder2
3228 instead of mips_sched_reorder.
3229
f17aa4ad 3230 Revert:
646e6f41
JZ
3231 2008-09-09 Andrey Belevantsev <abel@ispras.ru>
3232 PR rtl-optimization/37360
3233 * haifa-sched.c (max_issue): Do not assert that we never issue more
3234 insns than issue_rate. Add comment.
3235
692ad9aa
EB
32362010-10-22 Eric Botcazou <ebotcazou@adacore.com>
3237
3238 * gimplify.c (gimplify_variable_sized_compare): Preserve the source
3239 location info of the expression.
3240
5fd5d713
DD
32412010-10-22 DJ Delorie <dj@redhat.com>
3242
b3f85ff2
DD
3243 * doc/extend.texi (Named Address Spaces): Document the M32C named
3244 address space.
3245
5fd5d713
DD
3246 * config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
3247 __far address space.
3248 * config/m32c/m32c.h (ADDR_SPACE_FAR): New. Add support for
3249 "__far" address space for R8C and M16C processor variants.
3250 * config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New.
3251 (far_addr_space_p): New.
3252 (encode_pattern_1): Add sign and zero extend support.
3253 (m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode.
3254 (m32c_extra_constraint_p2): Add SF constraint.
3255 (m32c_legitimate_address_p): Support __far addresses.
3256 (m32c_addr_space_pointer_mode): New.
3257 (m32c_addr_space_address_mode): New.
3258 (m32c_addr_space_legitimate_address_p): New.
3259 (m32c_addr_space_legitimize_address): New.
3260 (m32c_addr_space_subset_p): New.
3261 (m32c_addr_space_convert): New.
3262 (conversions): Add __far operand patterns.
f17aa4ad 3263 (m32c_prepare_move): Force constants into registers for __far moves.
5fd5d713
DD
3264 (m32c_split_move): __far moves are always split.
3265 * config/m32c/addsub.md (addsi3_1): Support SImode symbols.
3266 * config/m32c/mov.md (mov<mode>_far_op1): New.
3267 (mov<mode>_far_op2): New.
3268 (movqi_op): Add __far (SF) support.
3269 (movhi_op): Likewise.
3270 (movsi_splittable): Split A1A0 also.
3271
f17aa4ad
UB
32722010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3273 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
3274
3275 * c-typeck.c (build_array_ref): Handle subscripting of vectors.
3276 * doc/extend.texi: New paragraph
3277
5c958bda
PK
32782010-10-22 Paul Koning <ni1d@arrl.net>
3279
3280 * config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
3281
f6bac694
DD
32822010-10-22 DJ Delorie <dj@redhat.com>
3283
3284 * config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
3285
4d1bc60a
PK
32862010-10-22 Paul Koning <ni1d@arrl.net>
3287
3288 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
3289
834d5dce
RH
32902010-10-22 Richard Henderson <rth@redhat.com>
3291
3292 * config/i386/i386.c (ix86_builtin_vectorized_function): Add
3293 cases for __builtin_fma and __builtin_fmaf.
3294
7a12785c
RH
32952010-10-22 Richard Henderson <rth@redhat.com>
3296
3297 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Produce
3298 NEG+USE for vectors as well.
3299 * config/i386/i386.md (*absneg<VEC_FLOAT_MODE>2): New pattern
3300 and splitter.
3301
c3fb2eb4
JM
33022010-10-22 Joseph Myers <joseph@codesourcery.com>
3303
3304 * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
3305 SWITCH_CURTAILS_COMPILATION): Remove.
f17aa4ad 3306 * doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove documentation.
c3fb2eb4
JM
3307 * doc/tm.texi: Regenerate.
3308 * system.h (SWITCH_CURTAILS_COMPILATION): Poison.
3309
6a08ffca
CF
33102010-10-22 Changpeng Fang <changpeng.fang@amd.com>
3311
4d138338
CF
3312 * config/i386/bdver1.md: New file.
3313 * config/i386/i386.md (include "bdver1.md"): Invoke the
6a08ffca
CF
3314 pipeline description for bdver1.
3315 (x86_sahf_1): Add "bdver1_decode" attribute.
3316 (*cmpfp_i_mixed): Likewise.
3317 (*cmpfp_i_sse): Likewise.
3318 (*cmpfp_i_i387): Likewise.
3319 (*cmpfp_iu_mixed): Likewise.
3320 (*cmpfp_iu_sse): Likewise.
3321 (*cmpfp_iu_387): Likewise.
3322 (*swap<mode>,*swap<mode>_1): Likewise.
3323 (fixuns_trunc<mode>hi2): Likewise.
3324 (fix_trunc<mode>si_sse): Likewise.
3325 (x86_fnstcw_1): Likewise.
3326 (x86_fldcw_1): Likewise.
3327 (*floatsi<mode>2_vector_mixed_with_temp): Likewise.
3328 (*floatsi<mode>2_vector_mixed): Likewise.
3329 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise.
3330 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
3331 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
3332 (*floatsi<mode>2_vector_sse_with_temp): Likewise.
3333 (*floatsi<mode>2_vector_sse): Likewise.
3334 (*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise.
3335 (*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
3336 (*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
3337 (*mul<mode>3_1): Likewise.
3338 (*mulsi3_1_zext): Likewise.
3339 (*mulhi3_1): Likewise.
3340 (*mulqi3_1): Likewise.
3341 (*<u>mul<mode><dwi>3_1): Likewise.
3342 (*<u>mulqihi3_1): Likewise.
3343 (*<s>muldi3_highpart_1): Likewise.
3344 (*<s>mulsi3_highpart_1): Likewise.
3345 (*<s>mulsi3_highpart_zext): Likewise.
3346 (x86_64_shld): Likewise.
3347 (x86_shld): Likewise.
3348 (x86_64_shrd): Likewise.
3349 (x86_shrd): Likewise.
3350 (sqrtxf2): Likewise.
3351 (sqrt_extend<mode>xf2_i387): Likewise.
3352 (*sqrt<mode>2_sse): Likewise.
4d138338 3353 * config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute.
6a08ffca
CF
3354 (sse_cvtsi2ssq): Likewise.
3355 (sse_cvtss2si): Likewise.
3356 (sse_cvtss2si_2): Likewise.
3357 (sse_cvtss2siq): Likewise.
3358 (sse_cvtss2siq_2): Likewise.
3359 (sse_cvttss2si): Likewise.
3360 (sse_cvttss2siq): Likewise.
3361 (sse2_cvtpi2pd): Likewise.
3362 (sse2_cvttpd2pi): Likewise.
3363 (sse2_cvtsi2sd): Likewise.
3364 (sse2_cvtsi2sdq): Likewise.
3365 (sse2_cvtsd2si): Likewise.
3366 (sse2_cvtsd2si_2): Likewise.
3367 (sse2_cvtsd2siq): Likewise.
3368 (sse2_cvtsd2siq_2): Likewise.
3369 (sse2_cvttsd2si): Likewise.
3370 (sse2_cvttsd2siq): Likewise.
3371 (*sse2_cvtpd2dq): Likewise.
3372 (*sse2_cvttpd2dq): Likewise.
3373 (sse2_cvtsd2ss): Likewise.
3374 (sse2_cvtss2sd): Likewise.
3375 (*sse2_cvtpd2ps): Likewise.
3376 (sse2_cvtps2pd): Likewise.
3377
07db7d35
RG
33782010-10-22 Richard Guenther <rguenther@suse.de>
3379
3380 PR middle-end/46137
3381 * gimple-fold.c (gimplify_and_update_call_from_tree): Properly
3382 remove the virtual operands if they are not needed.
3383
d8c801fd
CF
33842010-10-22 Changpeng Fang <changpeng.fang@amd.com>
3385
4d138338 3386 * config/i386/i386.c (processor_costs bdver1_cost): Update
d8c801fd
CF
3387 insn costs and architectural parameters for bdver1.
3388
4490cae6
RG
33892010-10-22 Richard Guenther <rguenther@suse.de>
3390
3391 * gimple.h (gimple_register_canonical_type): Declare.
3392 * gimple.c (gimple_canonical_types): New global hashtable.
3393 (struct gimple_type_leader_entry_s): New type.
3394 (gimple_type_leader): New global cache.
3395 (gimple_lookup_type_leader): New function.
3396 (gtc_visit): Query the proper cache.
3397 (gimple_types_compatible_p): Likewise.
3398 (gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
3399 (gimple_canonical_type_eq): New function.
3400 (gimple_register_canonical_type): Likewise.
3401 (print_gimple_types_stats): Adjust for gimple_canonical_types.
3402 (free_gimple_type_tables): Likewise. Free gimple_type_leader.
3403 * tree-ssa.c (useless_type_conversion_p): Do not dispatch to
3404 gimple_types_compatible_p for LTO.
3405
5ab2c5cb
UB
34062010-10-22 Uros Bizjak <ubizjak@gmail.com>
3407
3408 PR target/46098
3409 * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
3410 Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
3411 (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
3412 (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
3413 (<sse>_movu<ssemodesuffix>): New expander.
3414 (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
3415 (avx_movdqu<avxmodesuffix>): New expander.
3416 (*sse2_movdqu): Rename from sse2_movdqu.
3417 (sse2_movdqu): New expander.
3418
d8ba5b19
RG
34192010-10-22 Richard Guenther <rguenther@suse.de>
3420
3421 PR tree-optimization/45720
3422 * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
3423 Handle negative step.
3424 (vect_enhance_data_refs_alignment): Likewise.
3425 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise.
3426 (vect_create_cond_for_align_checks): Likewise.
3427 (vect_create_cond_for_alias_checks): Likewise.
3428
57416708
IR
34292010-10-22 Ira Rosen <irar@il.ibm.com>
3430
3431 PR tree-optimization/46126
3432 * tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
3433 vectorizable_shift in case of basic block vectorization.
3434
3020190e
JM
34352010-10-22 Joseph Myers <joseph@codesourcery.com>
3436
3437 * target.h (enum opt_levels, struct default_options): New.
3438 * target.def (handle_ofast): Remove hook.
3439 (target_option.optimization): Change to
3440 target_option.optimization_table.
3441 * doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
3442 TARGET_OPTION_OPTIMIZATION_TABLE.
3443 (CAN_DEBUG_WITHOUT_FP): Remove.
3444 * doc/tm.texi: Regenerate.
3445 * opts.c (maybe_default_option, maybe_default_options,
3446 default_options_table): New.
3447 (default_options_optimization): Take extra parameters. Don't
3448 assert that global_options and global_options_set are in use. Use
3449 maybe_default_options.
3450 (decode_options): Pass extra parameters to
3451 default_options_optimization.
3452 * common.opt (falign-loops): Use value 0 with Var.
3453 (frerun-cse-after-loop, ftree-ter): Remove Init.
3454 * system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
3455 TARGET_OPTION_OPTIMIZATION): Remove.
3456 * targhooks.c (empty_optimization_table): New.
3457 * targhooks.h (empty_optimization_table): Declare.
3458 * toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
3459 * config/alpha/alpha.c (alpha_option_optimization_table,
3460 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3461 * config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
3462 * config/arm/arm.c (arm_option_optimization: Change to
3463 arm_option_optimization_table.
3464 (TARGET_OPTION_OPTIMIZATION): Change to
3465 TARGET_OPTION_OPTIMIZATION_TABLE.
3466 * config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
3467 * config/avr/avr.c (avr_option_optimization_table,
3468 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3469 * config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
3470 * config/cris/cris.c (cris_option_optimization): Change to
3471 cris_option_optimization_table.
3472 (TARGET_OPTION_OPTIMIZATION): Change to
3473 TARGET_OPTION_OPTIMIZATION_TABLE.
3474 * config/crx/crx.c (crx_option_optimization): Change to
3475 crx_option_optimization_table.
3476 (TARGET_OPTION_OPTIMIZATION): Change to
3477 TARGET_OPTION_OPTIMIZATION_TABLE.
3478 * config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove.
3479 * config/fr30/fr30.c (fr30_option_optimization_table,
3480 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3481 * config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove.
3482 * config/frv/frv.c (frv_option_optimization_table,
3483 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3484 * config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove.
3485 * config/h8300/h8300.c (h8300_option_optimization): Change to
3486 h8300_option_optimization_table.
3487 (TARGET_OPTION_OPTIMIZATION): Change to
3488 TARGET_OPTION_OPTIMIZATION_TABLE.
3489 * config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove.
3490 * config/i386/i386.c (ix86_option_optimization): Change to
3491 ix86_option_optimization_table.
3492 (TARGET_OPTION_OPTIMIZATION): Change to
3493 TARGET_OPTION_OPTIMIZATION_TABLE.
3494 * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
3495 as initializer.
3496 * config/ia64/ia64.c (ia64_option_optimization): Change to
3497 ia64_option_optimization_table.
3498 (TARGET_OPTION_OPTIMIZATION): Change to
3499 TARGET_OPTION_OPTIMIZATION_TABLE.
3500 * config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove.
3501 * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as
3502 initializer.
3503 * config/iq2000/iq2000.c (iq2000_option_optimization_table,
3504 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3505 * config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove.
3506 * config/lm32/lm32.c (lm32_option_optimization_table,
3507 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3508 * config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove.
3509 * config/m32r/m32r.c (m32r_option_optimization): Change to
3510 m32r_option_optimization_table.
3511 (TARGET_OPTION_OPTIMIZATION): Change to
3512 TARGET_OPTION_OPTIMIZATION_TABLE.
3513 * config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS,
3514 CAN_DEBUG_WITHOUT_FP): Remove.
3515 * config/mcore/mcore.c (mcore_option_optimization): Change to
3516 mcore_option_optimization_table.
3517 (TARGET_OPTION_OPTIMIZATION): Change to
3518 TARGET_OPTION_OPTIMIZATION_TABLE.
3519 * config/mep/mep.c (mep_option_optimization): Change to
3520 mep_option_optimization_table.
3521 (TARGET_OPTION_OPTIMIZATION): Change to
3522 TARGET_OPTION_OPTIMIZATION_TABLE.
3523 * config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove.
3524 * config/microblaze/microblaze.c
3525 (microblaze_option_optimization_table,
3526 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3527 * config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove.
3528 * config/mips/mips.c (mips_option_optimization_table,
3529 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3530 * config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove.
3531 * config/mmix/mmix.c (mmix_option_optimization): Change to
3532 mmix_option_optimization_table.
3533 (TARGET_OPTION_OPTIMIZATION): Change to
3534 TARGET_OPTION_OPTIMIZATION_TABLE.
3535 * config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove.
3536 * config/mn10300/mn10300.c (mn10300_option_optimization_table,
3537 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3538 * config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove.
3539 * config/pa/pa.c (pa_option_optimization_table,
3540 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3541 * config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove.
3542 * config/pdp11/pdp11.c (pdp11_option_optimization): Change to
3543 pdp11_option_optimization_table.
3544 (TARGET_OPTION_OPTIMIZATION): Change to
3545 TARGET_OPTION_OPTIMIZATION_TABLE.
3546 * config/picochip/picochip.c (picochip_option_optimization_table,
3547 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3548 * config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove.
3549 * config/rs6000/rs6000.c (rs6000_option_optimization_table,
3550 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3551 * config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove.
3552 * config/rx/rx.c (rx_option_optimization_table,
3553 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3554 * config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove.
3555 * config/s390/s390.c (s390_option_optimization): Change to
3556 s390_option_optimization_table.
3557 (s390_option_override): Update comment.
3558 (TARGET_OPTION_OPTIMIZATION): Change to
3559 TARGET_OPTION_OPTIMIZATION_TABLE.
3560 * config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove.
3561 * config/score/score.c (score_option_optimization_table,
3562 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3563 * config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove.
3564 * config/sh/sh.c (sh_option_optimization): Change to
3565 sh_option_optimization_table.
3566 (TARGET_OPTION_OPTIMIZATION): Change to
3567 TARGET_OPTION_OPTIMIZATION_TABLE.
3568 (sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here.
3569 (sh_option_override, expand_block_move, multcosts, find_barrier,
3570 barrier_align): Use optimize_size instead of TARGET_SMALLCODE.
3571 * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove.
3572 (LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P,
3573 STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size
3574 instead of TARGET_SMALLCODE.
3575 * config/sh/sh.opt (mspace): Make into an alias for -Os.
3576 * config/sparc/sparc.c (sparc_option_optimization_table,
3577 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3578 * config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove.
3579 * config/stormy16/stormy16.c (xstorym16_option_optimization_table,
3580 TARGET_OPTION_OPTIMIZATION_TABLE): New.
3581 * config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove.
3582 * config/v850/v850.c (v850_option_optimization): Change to
3583 v850_option_optimization_table.
3584 (TARGET_OPTION_OPTIMIZATION): Change to
3585 TARGET_OPTION_OPTIMIZATION_TABLE.
3586 * config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove.
3587 * config/xtensa/xtensa.c (xtensa_option_optimization): Change to
3588 xtensa_option_optimization_table.
3589 (TARGET_OPTION_OPTIMIZATION): Change to
3590 TARGET_OPTION_OPTIMIZATION_TABLE.
3591 * config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove.
3592
26705988
IS
35932010-10-21 Iain Sandoe <iains@gcc.gnu.org>
3594
3595 Based on the CFString implementation in FSF apple/trunk branch.
5ab2c5cb 3596
26705988
IS
3597 * target.def (objc_construct_string): New Hook.
3598 * doc/tm.texi (objc_construct_string): Document.
3599 * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New.
3600 * config/t-darwin: Amend build rules for darwin.o.
3601 * config/darwin.opt: Add cfstrings flags.
3602 * config/darwin-c.c: Define __CONSTANT_CFSTRINGS__.
3603 (darwin_objc_construct_string): New.
3604 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define.
3605 * config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS.
3606 * config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype.
3607 (darwin_fold_builtin): Likewise.
3608 (darwin_build_constant_cfstring): Likewise.
3609 (darwin_objc_construct_string): Likewise.
3610 (darwin_cfstring_p): Likewise.
3611 (darwin_enter_string_into_cfstring_table): Likewise.
3612 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString.
5ab2c5cb 3613 * config/darwin.c (darwin_running_cxx): New var.
26705988
IS
3614 (machopic_select_section): Return cfstring_constant_object_section.
3615 (darwin_override_options): Set darwin_running_cxx.
3616 (add_builtin_field_decl): New.
3617 (darwin_init_cfstring_builtins): New.
3618 (darwin_build_constant_cfstring): New.
3619 (darwin_fold_builtin): New.
3620 (cfstring_hash): New.
3621 (cfstring_eq): New.
3622 (darwin_enter_string_into_cfstring_table): New.
3623 * config/darwin-sections.def (cfstring_constant_object_section): New.
3624 * config/darwin.h (TARGET_FOLD_BUILTIN): Define.
3625 (TARGET_OBJC_CONSTRUCT_STRING): Define.
3626
0fd2eac2
NF
36272010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3628
3629 * config/alpha/alpha.c (alpha_build_builtin_va_list): Use
3630 TYPE_STUB_DECL instead of TREE_CHAIN.
3631 * config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise.
3632 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise.
3633 * config/s390/s390.c (s390_build_builtin_va_list): Likewise.
3634 * config/sh/sh.c (sh_build_builtin_va_list): Likewise.
3635 * config/spu/spu.c (spu_build_builtin_va_list): Likewise.
3636 * config/stormy16/stormy16.c (xstormy16_build_builtin_va_list):
3637 Likewise.
3638 * config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise.
3639
62519f7f
JZ
36402010-10-22 Jie Zhang <jie@codesourcery.com>
3641
3642 * expr.c (emit_group_load_1): Update calls to extract_bit_field.
3643 (copy_blkmode_from_reg): Likewise.
3644 (read_complex_part): Likewise.
3645 (expand_expr_real_1): Calculate packedp and pass it to
3646 extract_bit_field.
3647 * expr.h (extract_bit_field): Update declaration.
3648 * calls.c (store_unaligned_arguments_into_pseudos): Update call
3649 to extract_bit_field.
3650 * expmed.c (extract_fixed_bit_field): Update calls to
3651 extract_fixed_bit_field.
3652 (store_split_bit_field): Likewise.
3653 (extract_bit_field_1): Add new argument packedp.
3654 (extract_bit_field): Add new argument packedp.
3655 (extract_fixed_bit_field): Add new argument packedp and let
3656 packed attribute override volatile.
3657 * stmt.c (expand_return): Update call to extract_bit_field.
3658
0aa88287
NF
36592010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3660
3661 * config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
3662
cefb375a
NF
36632010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3664
3665 * ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
3666 of gcc_checking_assert.
3667 * sel-sched.c (code_motion_process_successors): Likewise.
3668
50a36e42
EB
36692010-10-21 Eric Botcazou <ebotcazou@adacore.com>
3670
3671 * cfgcleanup.c (try_forward_edges): Do not throw away previous steps
3672 when stopping because of a different locus on edge or insn.
3673 (try_optimize_cfg): Add comment.
3674 * cfgrtl.c (rtl_merge_blocks): Tweak log message. If the destination
3675 block is a forwarder block, propagate locus on the edge.
3676 (cfg_layout_merge_blocks): Likewise.
3677
233a46c8
UB
36782010-10-21 Uros Bizjak <ubizjak@gmail.com>
3679
3680 PR target/45946
3681 * config/i386/i386.md (*pushti2): New insn pattern.
3682 (pushti2 splitter): New insn splitter.
3683 (*push<mode>2): Macroize insn pattern from *push{di,ti}2 using
3684 DWI mode iterator.
3685
19ce9cf1
PK
36862010-10-21 Paul Koning <ni1d@arrl.net>
3687
3688 * config/pdp11/pdp11-protos.md (arith_operand,
3689 const_immediate_operand, expand_shift_operand,
3690 immediate15_operand): Delete
3691 * config/pdp11/pdp11.c: Ditto.
3692 * config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER,
3693 CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
3694 EXTRA_CONSTRAINT): Delete.
3695 * config/pdp11/pdp11.md (various): Use standard constraints
3696 instead of removed ones.
3697 * config/pdp11/constraints.md: New file.
3698 * config/pdp11/predicates.md: New file.
3699
4fcf718a
BM
37002010-10-21 Bingfeng Mei <bmei@broadcom.com>
3701
3702 PR c/45834
233a46c8
UB
3703 * alias.c (true_dependence_1): Remove obsolete check for QImode.
3704 (may_alias_p): Ditto.
3705
ae1f6fce
MJ
37062010-10-21 Martin Jambor <mjambor@suse.cz>
3707
3708 PR tree-optimization/45875
3709 * tree.c (get_binfo_at_offset): Remove initial zero offset test.
3710
9e2995b2
NF
37112010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3712
3713 * tree-into-ssa.c (rewrite_update_enter_block): Remove unused
3714 variables.
3715 (create_new_def_for): Likewise.
3716
e7ab5593
NC
37172010-10-21 Nick Clifton <nickc@redhat.com>
3718
3719 * config/mn10300/mn10300.c: Fold code to 80-character width.
233a46c8
UB
3720 Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
3721 MEM, CONST_INT and CONST_DOUBLE.
e7ab5593
NC
3722 (targetm): Move initialization to end of file.
3723 (print_operand): Rename to mn10300_print_operand.
3724 (print_operand_address): Rename to mn10300_print_operand_address.
3725 (can_use_return_insn): Rename to mn10300_can_use_return_insn.
3726 (expand_prologue): Rename to mn10300_expand_prologue.
3727 (expand_epilogue): Rename to mn10300_expand_epilogue.
3728 (initial_offset): Rename to mn10300_initial_offset.
3729 (function_arg): Rename to mn10300_function_arg.
3730 (mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
3731 (symbolic_operand): Rename to mn10300_symbolic_operand.
3732 (legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
3733 (legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
3734 * config/mn10300/mn10300-protos.h: Update prototypes.
3735 * config/mn10300/mn10300.h: Fold code to 80-character width.
233a46c8
UB
3736 Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
3737 MEM, CONST_INT and CONST_DOUBLE.
3738 (CPP_SPEC): Move to...
3739 (TARGET_CPU_CPP_BUILTINS): ... here.
e7ab5593 3740 * config/mn10300/mn10300.md: Fold code to 80-character width.
233a46c8
UB
3741 Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
3742 MEM, CONST_INT and CONST_DOUBLE.
e7ab5593 3743
9dc3f7de
IR
37442010-10-21 Ira Rosen <irar@il.ibm.com>
3745
3746 PR tree-optimization/46049
3747 PR tree-optimization/46052
233a46c8 3748 * tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift.
9dc3f7de
IR
3749 (vect_get_slp_defs): Add arguments.
3750 * tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
3751 operands to vect_get_slp_defs.
3752 (vectorizable_reduction): Fix comment, pass scalar operands to
3753 vect_get_slp_defs.
3754 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
3755 type to determine number of units in the created vector.
3756 (vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
3757 (vectorizable_conversion): Fix comment.
3758 (vectorizable_shift): New function.
3759 (vectorizable_operation): Move code that handles shifts to
3760 vectorizable_shift.
3761 (vectorizable_type_demotion): Fix comment, pass scalar operands to
3762 vect_get_slp_defs.
3763 (vectorizable_type_promotion, vectorizable_store): Likewise.
3764 (vectorizable_condition): Fix comment.
3765 (vect_analyze_stmt): Call vectorizable_shift.
3766 (vect_transform_stmt): Likewise.
3767 * tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
3768 Use it as the operand to create vectors for, except reduction
3769 initial definition and store. Use operands type.
3770 (vect_get_slp_defs): Add new arguments. Pass them to
3771 vect_get_constant_vectors.
3772
77a74ed7
NF
37732010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3774
3775 * basic-block.h (single_succ_edge): Use gcc_checking_assert.
3776 (single_pred_edge, ei_container, ei_next, ei_prev): Likewise.
3777 * cfghooks.c (fixup_reorder_chain): Likewise.
3778 * cfgrtl.c (cfg_layout_merge_blocks): Likewise.
3779 * cgraph.c (cgraph_add_thunk): Likewise.
3780 (cgraph_create_edge_1): Likewise.
3781 (cgraph_create_virtual_clone): Likewise.
3782 * ddg.c (add_cross_iteration_register_deps): Likewise.
3783 * dwarf2out.c (modified_type_die): Likewise.
3784 * emit-rtl.c (set_mem_alias_set): Likewise.
3785 * ggc-zone.c (zone_allocate_marks): Likewise.
3786 * gimple-iterator.c (gsi_move_to_bb_end): Likewise.
3787 * gimple.c (iterative_hash_gimple_type): Likewise.
3788 * graphite-scop-detection.c (create_single_entry_edge): Likewise.
3789 (create_single_exit_edge): Likewise.
3790 * haifa-sched.c (choose_ready): Likewise.
3791 * lto-streamer-in.c (input_gimple_stmt): Likewise.
3792 * passes.c (execute_todo): Likewise.
3793 * sched-ebb.c (begin_schedule_ready): Likewise.
3794 * sel-sched.c (code_motion_process_successors): Likewise.
3795 * tree-call-cdce.c (gen_conditions_for_pow): Likewise.
3796 * tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise.
3797 * tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise.
3798 (phi_arg_index_from_use, phi_ssa_name_p): Likewise.
3799 * tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise.
3800 * tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise.
3801 (ssa_conflicts_add): Likewise.
3802 * tree-ssa-copy.c (replace_exp): Likewise.
3803 * tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
3804 * tree-ssa-forwprop.c (simple_gimple_switch): Likewise.
3805 * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
3806 * tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise.
3807 (compute_antic): Likewise.
3808 * tree-ssa-ter.c (add_to_partition_kill_list): Likewise.
3809 (add_dependence): Likewise.
3810 (process_replaceable, kill_expr, find_replaceable_exprs): Likewise.
3811 * tree-vrp.c (supports_overflow_infinity): Likewise.
3812 (make_overflow_infinity, negative_overflow_infinity): Likewise.
3813 (avoid_overflow_infinity, register_new_assert_for): Likewise.
3814 (process_assert_insertions_for): Likewise.
3815 * var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise.
3816 (dv_from_value, variable_union, find_loc_in_1pdv): Likewise.
3817 (intersect_loc_chains, variable_merge_over_cur): Likewise.
3818
31ff2426
NF
38192010-10-21 Nathan Froyd <froydnj@codesourcery.com>
3820
3821 * cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred.
3822 * reload1.c (has_nonexceptional_receiver): Likewise.
3823 * tree-into-ssa.c (rewrite_update_enter_block): Likewise.
3824 (create_new_def_for): Likewise.
3825 * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
3826 (merge_phi_nodes): Likewise.
3827 (has_abnormal_incoming_edge_p): Delete.
3828
2f7ba24e
L
38292010-10-21 H.J. Lu <hongjiu.lu@intel.com>
3830
3831 * config/i386/sse.md (ssescalarmodesuffix): Add V8SI and V4DI.
3832
46241ea9 38332010-10-21 Richard Guenther <rguenther@suse.de>
233a46c8 3834 Michael Matz <matz@suse.de>
46241ea9
RG
3835
3836 PR tree-optimization/45764
3837 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
3838 Adjust initial misalignment for negative DR_STEP.
3839 (vect_find_same_alignment_drs): Two DRs with different DR_STEP
3840 do not have the same alignment over the whole iteration domain.
3841
c9a410f0
RG
38422010-10-21 Richard Guenther <rguenther@suse.de>
3843
3844 PR tree-optimization/46111
3845 * tree-parloops.c (take_address_of): Re-organize for MEM_REF.
3846
5490de28
AK
38472010-10-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3848
3849 * config/s390/s390.md (*xordi3_cc): Mark xgrk as z196 only.
3850
1347d65c
TG
38512010-10-21 Tristan Gingold <gingold@adacore.com>
3852
3853 * config/vms/vms-crtl.h (CRTL_NAMES): Add new translations.
3854 * config/vms/vms-crtl-64.h (CRTL_NAMES): Ditto.
3855
1f5576a8
TG
38562010-10-21 Tristan Gingold <gingold@adacore.com>
3857
3858 * config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state): Set
1347d65c 3859 signal_frame.
1f5576a8
TG
3860 * config/alpha/alpha.c (alpha_function_arg): Adjust call.
3861
168e58f2
TG
38622010-10-21 Tristan Gingold <gingold@adacore.com>
3863
3864 * config/ia64/vms64.h (TARGET_DEFAULT): Add MASK_FUSED_MADD.
3865 * config/ia64/vms.h (TARGET_DEFAULT): Ditto.
3866
0fd4b31d
NF
38672010-10-20 Nathan Froyd <froydnj@codesourcery.com>
3868
3869 * basic-block.h (find_fallthru_edge): Define.
3870 * cfgcleanup.c (merge_blocks_move): Use it.
3871 (try_crossjump_bb): Likewise.
3872 * cfglayout.c (fixup_reorder_chains): Likewise.
3873 (fixup_fallthru_exit_predecessor): Likewise.
3874 * cfgrtl.c (rtl_split_edge): Likewise.
3875 (rtl_verify_flow_info): Likewise.
3876 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3877 * gimple-pretty-print.c (dump_implicit_edges): Likewise.
3878 * ifcvt.c (block_fallthru): Likewise.
3879 * reload1.c (fixup_abnormal_edges): Likewise.
3880 * sched-ebb.c (being_schedule_ready): Likewise.
3881 (schedule_ebb): Likwise.
3882 * sched-rgn.c (find_single_block_region): Likewise.
3883 * sel-sched-ir.c (bb_ends_ebb_p): Likewise.
3884 * tree-complex.c (expand_complex_move): Likewise.
3885 * sched-int.h (find_fallthru_edge): Rename to...
3886 (find_fallthru_edge_from): ...this.
3887 * haifa-sched.c (find_fallthru_edge): Rename to...
3888 (find_fallthru_edge_from): ...this. Use new find_fallthru_edge.
3889 (init_before_recovery): Call find_fallthru_edge_from.
3890 * sel-sched-ir.c (merge_fences): Likewise.
3891 * sel-sched.c (in_fallthru_bb_p): Likewise.
3892 (move_cond_jump): Likewise.
3893
b56f8e7c
PK
38942010-10-20 Paul Koning <ni1d@arrl.net>
3895
3896 * config/pdp11/pdp11.md (various): Fix conditions on a number of
3897 insn to check for target 11/40 or higher.
3898
249a82c4
NP
38992010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3900
3901 * parser.c (c_parser_objc_method_type): Mark inline. Return a
3902 bool instead of a tree.
3903 (c_parser_objc_method_decl): Added bool argument. Updated call to
3904 objc_build_method_signature.
3905 (c_parser_objc_method_definition): Do not call
3906 objc_set_method_type. Updated calls to c_parser_objc_method_type,
3907 c_parser_objc_method_decl and objc_start_method_definition.
3908 (c_parser_objc_methodproto): Do not call objc_set_method_type.
3909 Updated calls to c_parser_objc_method_type,
3910 c_parser_objc_method_decl and objc_add_method_declaration.
233a46c8 3911
1dff453d
JJ
39122010-10-20 Jakub Jelinek <jakub@redhat.com>
3913
f1e344ed
JJ
3914 PR tree-optimization/45919
3915 * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Handle flexible
3916 array members.
3917
1dff453d
JJ
3918 PR tree-optimization/46066
3919 * tree-parloops.c (create_parallel_loop): Use gsi_last_nondebug_bb
3920 instead of gsi_last_bb.
3921
d123bf41
DD
39222010-10-20 DJ Delorie <dj@redhat.com>
3923
3924 * config/m32c/m32c.c (m32c_option_override): Always disable
3925 function-cse in 16-bit mode. Indirect calls are always worse than
3926 direct calls as there is no 16-bit indirect call opcode.
3927 (m32c_override_options_after_change): New, likewise.
3928
582346ed
NF
39292010-10-20 Nathan Froyd <froydnj@codesourcery.com>
3930
3931 * ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
3932 emitting the conditional move in the inner mode of the SUBREG.
3933
ab177ad5
AS
39342010-10-20 Anatoly Sokolov <aesok@post.ru>
3935
3936 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
3937 * config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove.
3938 * config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
3939 (ia64_preferred_reload_class): Make static. Change rclass argument
3940 and result types from enum reg_class to reg_class_t.
3941
604f9a90
PH
39422010-10-20 Pat Haugen <pthaugen@us.ibm.com>
3943
3944 * tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over
3945 call for single operand expression.
3946
4244a86e
EB
39472010-10-20 Eric Botcazou <ebotcazou@adacore.com>
3948
3949 * tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges
3950 if there is a call statement to pure or const function in the block.
3951
825cb171
PK
39522010-10-20 Paul Koning <pkoning@equallogic.com>
3953
3954 Fix several build errors for pdp11 target.
3955 * config/pdp11/pdp11.md (*cmpdf): Fix tstd operands.
3956 (cbranchdf4): Conditional on TARGET_FPU.
3957 (movdf): Ditto; correct alternatives check.
3958 (movmemhi): Fix predicate and constraint.
3959 * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Handle 64 bit mode.
3960
1b0e3802
RG
39612010-10-20 Richard Guenther <rguenther@suse.de>
3962
3963 PR lto/45667
3964 * lto-streamer-out.c (output_gimple_stmt): Fix typo.
3965 * tree-cfg.c (verify_gimple_call): Properly get the call fndecl.
3966 (verify_gimple_assign_single): Disable ADDR_EXPR type check
3967 when in LTO.
3968
51934590
VM
39692010-10-20 Vladimir Makarov <vmakarov@redhat.com>
3970
3971 PR fortran/42169
3972 * ira-emit.c (store_can_be_removed_p): Return false instead of
3973 gcc_unreachable.
3974
2298ade7
DM
39752010-10-20 Dmitry Melnik <dm@ispras.ru>
3976
3977 * fold-const.c (fold_binary_loc): New transformation.
3978
b9121f42
L
39792010-10-20 H.J. Lu <hongjiu.lu@intel.com>
3980
3981 PR target/46085
3982 * config/i386/sse.md (reduc_splus_v8sf): Updated.
3983 (reduc_splus_v4df): Likewise.
3984
742d143c
RG
39852010-10-20 Richard Guenther <rguenther@suse.de>
3986
3987 PR tree-optimization/45860
3988 * tree-ssa-phiopt.c (cond_store_replacement): Do not do
3989 conditional store replacement for non-register type stores.
3990
0d475ac5
EB
39912010-10-20 Eric Botcazou <ebotcazou@adacore.com>
3992
3993 * stor-layout.c (skip_simple_constant_arithmetic): New function.
3994 (self_referential_size): Use it instead of skip_simple_arithmetic.
3995
73dd5ce0
OH
39962010-10-20 Olivier Hainque <hainque@adacore.com>
3997
3998 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p):
3999 If the current function calls eh_return, claim live all registers
4000 that we need to check for liveness otherwise.
4001
977e30bc
NP
40022010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4003
4004 * c-decl.c (c_write_global_declarations): Call
4005 objc_write_global_declarations when compiling Objective-C.
4006 * c-lang.c (finish_file): Removed.
4007
ad0c4c36
DD
40082010-10-19 DJ Delorie <dj@redhat.com>
4009
4010 * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
4011 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
4012 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
4013 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
4014 * doc/tm.texi: Regenerate.
4015 * targhooks.h (default_label_align_after_barrier_max_skip,
4016 default_loop_align_max_skip, default_label_align_max_skip,
4017 default_jump_align_max_skip): Declare.
4018 * target.def (label_align_after_barrier_max_skip): New.
4019 (loop_align_max_skip): New.
4020 (label_align_max_skip): New.
4021 (jump_align_max_skip): New.
4022 * system.h (poison): Add those macros to the list.
4023 * final.c (LABEL_ALIGN_MAX_SKIP): Remove.
4024 (LOOP_ALIGN_MAX_SKIP): Remove.
4025 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
4026 (JUMP_ALIGN_MAX_SKIP): Remove.
4027 (default_label_align_after_barrier_max_skip): New.
4028 (default_loop_align_max_skip): New.
4029 (default_label_align_max_skip): New.
4030 (default_jump_align_max_skip): New.
4031 (compute_alignments): Use the new hooks.
4032 (shorten_branches): Likewise.
233a46c8 4033
351877cf
RH
40342010-10-19 Richard Henderson <rth@redhat.com>
4035
4036 * config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>.
4037 * config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH.
4038 (fma4i_fmadd_<mode>): New.
4039 (*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from
233a46c8 4040 fma4_fm*_<mode> and adjust to be pre-reload splitters to the
351877cf
RH
4041 standard fma patterns.
4042 (fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and
4043 enable for FMA.
4044 (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
4045 (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
4046 (*fma_fmaddsub_<mode>, *fma_fmsubadd_<mode>): New.
4047
b5829a84
PK
40482010-10-19 Paul Koning <pkoning@equallogic.com>
4049
4050 * lower-subreg.c (resolve_shift_zext): Delete conditional code for
4051 WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
4052
46935749
RH
40532010-10-19 Richard Henderson <rth@redhat.com>
4054
4055 * config/ia64/ia64.md (fmasf4, *fmssf4, *nfmasf4): New.
4056 (fmadf4, *fmsdf4, *nfmadf4): New.
4057 (fmaxf4, *fmsxf4, *nfmaxf4): New.
4058
16a1a239
ME
40592010-10-19 Michael Eager <eager@eagercon.com>
4060
233a46c8 4061 * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO):
16a1a239
ME
4062 Use sjlj unwind info for exceptions.
4063
d35ce109
FXC
40642010-10-19 Francois-Xavier Coudert<fxcoudert@gcc.gnu.org>
4065
4066 PR fortran/43414
4067 * dwarf2out.c (add_calling_convention_attribute): Flag main
4068 Fortran subroutine with DW_AT_main_subprogram.
4069
e2f289f3
NC
40702010-10-19 Nick Clifton <nickc@redhat.com>
4071
4072 * config/rx/rx.c (rx_function_value): Small integer types are
233a46c8 4073 promoted to SImode.
e2f289f3
NC
4074 (rx_promote_function_mode): New function.
4075 (TARGET_PROMOTE_FUNCTION_MODE): Define.
4076
9018b19c
NC
40772010-10-19 Nick Clifton <nickc@redhat.com>
4078
4079 * config/mep/mep.c (mep_print_operand): Use
4080 targetm.strip_name_encoding.
4081 (mep_output_aligned_common): Likewise.
4082
c512a6a0 40832010-10-19 Basile Starynkevitch <basile@starynkevitch.net>
233a46c8
UB
4084
4085 * gengtype.c (new_structure): Remove ad-hoc "location_s" processing.
c512a6a0 4086
5c822194
RH
40872010-10-18 Richard Henderson <rth@redhat.com>
4088
233a46c8 4089 * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
5c822194
RH
4090 (fma (neg a) (neg b) c) and (fma a (neg b) c).
4091
89509419
RH
40922010-10-18 Richard Henderson <rth@redhat.com>
4093
4094 * config/i386/i386.c (IX86_BUILTIN_VFMSUBSS, IX86_BUILTIN_VFMSUBSD,
4095 IX86_BUILTIN_VFMSUBPS, IX86_BUILTIN_VFMSUBPD,
4096 IX86_BUILTIN_VFMSUBADDPS, IX86_BUILTIN_VFMSUBADDPD,
4097 IX86_BUILTIN_VFNMADDSS, IX86_BUILTIN_VFNMADDSD,
4098 IX86_BUILTIN_VFNMADDPS, IX86_BUILTIN_VFNMADDPD,
4099 IX86_BUILTIN_VFNMSUBSS, IX86_BUILTIN_VFNMSUBSD,
4100 IX86_BUILTIN_VFNMSUBPS, IX86_BUILTIN_VFNMSUBPD,
4101 IX86_BUILTIN_VFMSUBADDPS256, IX86_BUILTIN_VFMSUBADDPD256,
4102 IX86_BUILTIN_VFNMADDPS256, IX86_BUILTIN_VFNMADDPD256,
4103 IX86_BUILTIN_VFNMSUBPS256, IX86_BUILTIN_VFNMSUBPD256): Remove.
4104 (bdesc_multi_arg): Remove the corresponding builtins.
4105 * config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Remove.
4106 (UNSPEC_FMA4_FMSUBADD): Remove.
4107 (UNSPEC_FMADDSUB): Rename from UNSPEC_FMA4_FMADDSUB.
4108 * config/i386/sse.md (FMA4MODEF4): Remove.
4109 (FMAMODE): Add.
4110 (fma<mode>4): New expander.
4111 (*fma4i_fmadd_<mode>): Macroize from fma4i_fmadd<mode>4 patterns,
4112 and use FMA rtx code instead of UNSPEC_FMA4_INTRINSIC.
4113 (*fma4i_fmsub_<mode>): Similarly.
4114 (*fma4i_fnmadd_<mode>): Similarly.
4115 (*fma4i_fnmsub_<mode>): Similarly.
4116 (fma4i_vmfmadd_<mode>): Scalar patterns zero-extend, not merge
4117 with the first operand.
4118 (fma4i_fmaddsub_<mode>): Represent with UNSPEC_FMADDSUB instead
4119 of explicit arithmetic. Macroize with AVXMODEF2P.
4120 (*fma4i_fmsubadd_<mode>): Represent with UNSPEC_FMADDSUB + NEG.
4121 (xop_frcz<mode>2): Macroize with FMAMODE.
4122 (xop_vmfrcz<mode>2): Scalar patterns zero-extend, not merge with
4123 the first operand.
4124 * config/i386/fma4intrin.h (_mm_msub_ps): Use vfmadd intrinsic with
4125 extra negations.
4126 (_mm_msub_pd, _mm_msub_ss, _mm_msub_sd): Likewise.
4127 (_mm_nmacc_ps, _mm_nmacc_pd, _mm_nmacc_ss, _mm_nmacc_sd): Likewise.
4128 (_mm_nmsub_ps, _mm_nmsub_pd, _mm_nmsub_ss, _mm_nmsub_sd): Likewise.
4129 (_mm256_msub_ps, _mm256_msub_pd): Likewise.
4130 (_mm256_nmacc_ps, _mm256_nmacc_pd): Likewise.
4131 (_mm256_nmsub_ps, _mm256_nmsub_pd): Likewise.
4132 (_mm_msubadd_ps): Use vfmaddsub intrinsic with extra negation.
4133 (_mm_msubadd_pd, _mm256_msubadd_ps, _mm256_msubadd_pd): Likewise.
4134
21016e43
BS
41352010-10-18 Bernd Schmidt <bernds@codesourcery.com>
4136
4137 PR rtl-optimization/45966
4138 * combine.c (try_combine): If added_sets_2, deal with the case
4139 where i0 feeds i1 and i1 feeds i2.
4140
93a3eea4
JH
41412010-10-18 Jan Hubicka <jh@suse.cz>
4142
4143 * ipa.c (cgraph_externally_visible_p): Handle externally visible and
4144 preserve flags before trying to guess on visibility.
4145 (varpool_externally_visible_p): New function.
4146 (function_and_variable_visibility): Use it.
4147
da57d1b9
NP
41482010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4149
4150 Implemented parsing @synthesize and @dynamic for Objective-C.
4151 * c-parser.c (c_parser_external_declaration): Recognize
4152 RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4153 (c_parser_objc_at_synthesize_declaration): New.
4154 (c_parser_objc_at_dynamic_declaration): New.
4155
41562010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
233a46c8 4157
da57d1b9
NP
4158 * c-parser.c (c_parser_objc_class_declaration): After finding an
4159 error, parse the whole declaration then reset parser->error.
233a46c8 4160
0069111f
MM
41612010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4162
4163 PR target/46041
4164 * tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c.
4165 * builtins.c (mode_has_fma): Ditto.
4166
89774469
SE
41672010-10-18 Steve Ellcey <sje@cup.hp.com>
4168
4169 PR target/36898
4170 PR middle-end/43760
4171 * config/ia64/ia64.c (rws_access_regno): Remove predicate check.
4172
b69da3d8
JM
41732010-10-18 Joseph Myers <joseph@codesourcery.com>
4174
4175 * config/i386/i386.c (ix86_option_override_internal): Define and
4176 use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
4177 default.
4178 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4179 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
4180
71fc71d8
NP
41812010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4182
233a46c8 4183 Merge from 'apple/trunk' branch on FSF servers.
71fc71d8
NP
4184 * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
4185 following Objective-C change:
4186
ba4debed 4187 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
71fc71d8
NP
4188
4189 Radar 4301047
4190 * c-parse.in (objc_quals): Build objc qualifier list same way
4191 as gcc-3.3
4192
7ba6eb1e
JH
41932010-10-18 Jan Hubicka <jh@suse.cz>
4194
4195 * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
4196 function_and_variable_visibility): Revert accidental commit.
4197
e426b47b
NP
41982010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4199
4200 Merge from 'apple/trunk' branch on FSF servers.
4201 * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
4202 the following Objective-C change:
4203
ba4debed 4204 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
e426b47b
NP
4205
4206 Radar 4204796
4207 * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
4208 'volatilized' type used in a typeof operator.
4209
30fd5881
EB
42102010-10-18 Eric Botcazou <ebotcazou@adacore.com>
4211
4212 * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
4213 * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
4214 rewrite modelled on gimple_purge_dead_eh_edges.
4215 (gimple_purge_all_dead_abnormal_call_edges): New function.
4216 * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
4217 directly instead of through gimple_purge_dead_abnormal_call_edges.
4218 * tree-ssa-pre.c (need_ab_cleanup): New static variable.
4219 (eliminate): Set bit in need_ab_cleanup for the basic block if we have
4220 removed AB side-effects from one of its statements.
4221 (init_pre): Initialize need_ab_cleanup.
4222 (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
4223 are set in need_ab_cleanup. Free need_ab_cleanup afterward.
4224
84628aa8
JJ
42252010-10-18 Jakub Jelinek <jakub@redhat.com>
4226
4227 PR c/46015
4228 * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
4229 on computed goto argument.
4230
0f8d6231
RG
42312010-10-18 Richard Guenther <rguenther@suse.de>
4232
4233 PR tree-optimization/45967
4234 * tree-ssa-structalias.c (type_could_have_pointers): Remove.
4235 (could_have_pointers): Likewise.
4236 (handle_rhs_call, handle_const_call, handle_pure_call,
4237 find_func_aliases, intra_create_variable_infos): Remove calls to them.
4238 (struct fieldoff): Add must_have_pointers field.
4239 (type_must_have_pointers): New function.
4240 (field_must_have_pointers): Likewise.
4241 (push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
4242 Adjust field merging.
4243 (create_function_info_for): May-have-pointers of varinfo is
4244 almost always true.
4245 (create_variable_info_for_1): Likewise.
4246
3f2c0baf
TB
42472010-10-18 Tejas Belagod <tejas.belagod@arm.com>
4248
4249 * config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
4250 of operands to vec_concat.
4251
e20efbfb
RG
42522010-10-18 Richard Guenther <rguenther@suse.de>
4253
4254 PR lto/44950
4255 * tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
4256 also clear references to entries of it.
4257
fda9c731
AK
42582010-10-18 Andi Kleen <ak@linux.intel.com>
4259
4260 PR other/43448
4261 * gccbug.in: Remove.
4262 * Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove
4263 (doc, distclean, install-common): Remove reference to gccbug.
4264 * configure: Regenerate.
4265 * configure.ac (all_outputs): Remove gccbug.
4266 * doc/configfiles.texi: Remove references to gccbug.
4267 * doc/sourcebuild.texi: Dito.
4268
8ddf04c2
JJ
42692010-10-18 Jakub Jelinek <jakub@redhat.com>
4270
4271 PR middle-end/46019
4272 * fold-const.c (fold_binary_loc): If integer_pow2p has
4273 TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
4274
1d32bbcd
BS
42752010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
4276 Jeremie Salvucci <jeremie.salvucci@free.fr>
4277
c68015cd 4278 * gengtype.c (verbosity_level): Add variable.
1d32bbcd
BS
4279 (set_gc_used): Count variables for verbosity.
4280 (close_output_files): Backing up files, counting written ones
4281 verbosily.
4282 (write_types): Count emitted functions for verbosity. Added
4283 debug messages.
4284 (write_enum_defn): Count structures for verbosity. Added debug
4285 messages.
c68015cd 4286 (gengtype_long_options): Add "verbose" & "backupdir".
1d32bbcd
BS
4287 (print_usage): Ditto.
4288 (main): Verbose display of parsed files.
4289
c68015cd 4290 * gengtype.h (verbosity_level): Add declaration.
1d32bbcd 4291
dad22268
BS
42922010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
4293
c68015cd
BS
4294 * gengtype.c (parse_program_options): Add allocation of
4295 plugin_files, and correct test on nb_plugin_files.
dad22268 4296
90fbfdc3
NP
42972010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4298
4299 Merge from 'apple/trunk' branch on FSF servers.
233a46c8 4300
ba4debed 4301 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 4302
233a46c8 4303 Radar 4133425
90fbfdc3
NP
4304 * c-decl.c (undeclared_variable): Issue diagnostic on
4305 private 'ivar' access.
233a46c8 4306
2a4337c0
UB
43072010-10-17 Uros Bizjak <ubizjak@gmail.com>
4308
4309 PR target/46051
4310 * config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of
4311 generated sequence to match *avx_vperm2f128<mode>_nozero.
4312 (vec_interleave_lowv4df): Ditto.
4313 (vec_interleave_highv8sf): Ditto.
4314 (vec_interleave_lowv8sf): Ditto.
4315
78e7dd6a
KT
43162010-10-17 Kai Tietz <kai.tietz@onevision.com>
4317
4318 * libgcov.c (create_file_directory): Enable it for win32 case.
4319 (gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP.
4320 * doc/gcov.texi (GCOV_PREFIX): Adjusted.
4321 (GCOV_PREFIX_SKIP): Likewise.
4322
5b8b526e
NP
43232010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4324
4325 * doc/objc.texi (GNU Objective-C runtime API): New section.
4326 (Modern GNU Objective-C runtime API): New section.
4327 (Traditional GNU Objective-C runtime API): New section.
4328 (Executing code before main): Mention that this section is
4329 specific to the GNU Objective-C runtime.
4330 (Garbage Collection): Same.
4331
91b90ead
UB
43322010-10-17 Uros Bizjak <ubizjak@gmail.com>
4333
4334 * c-parser.c (c_parser_for_statement): Move initialization of
4335 cond and incr before if.
4336
abd26bfb
AS
43372010-10-17 Anatoly Sokolov <aesok@post.ru>
4338
4339 * target.def (preferred_output_reload_class): New hook.
4340 * doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
4341 * doc/tm.texi: Regenerate.
4342 * targhooks.c (default_preferred_output_reload_class): New function.
4343 * targhooks.h (default_preferred_output_reload_class): Declare.
91b90ead 4344 * reload.c (find_dummy_reload): Change rclass argument type from
abd26bfb
AS
4345 enum reg_class to reg_class_t. Change this_alternative array type
4346 from enum reg_class to reg_class_t.
4347 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
4348 (push_reload): Change preferred_class variable type to reg_class_t.
4349 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
4350 * recog.c (reg_fits_class_p): Change result type to bool. Change cl
4351 argument type from enum reg_class to reg_class_t. Use
4352 HARD_REGISTER_NUM_P predicate.
4353 * recog.h (reg_fits_class_p): Update prototype.
4354
4355 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
91b90ead
UB
4356 * config/i386/i386-protos.h (ix86_preferred_output_reload_class):
4357 Remove.
abd26bfb
AS
4358 * config/i386/i386.c (ix86_preferred_output_reload_class): Make
4359 static. Change regclass argument and result types from enum reg_class
4360 to reg_class_t.
4361 (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
4362
c37d8c30
IS
43632010-10-17 Iain Sandoe <iains@gcc.gnu.org>
4364
91b90ead 4365 * c-parser.c (c_parser_objc_class_instance_variables): Update to use
c37d8c30
IS
4366 visibility enum, and handle @package.
4367
1501d094
NP
43682010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4369
4370 * doc/objc.texi (What you can and what you cannot do in +load):
4371 Document that sending messages to constant string objects in +load
4372 is not guaranteed to work.
4373
bb853349
JH
43742010-10-16 Jan Hubicka <jh@suse.cz>
4375
4376 PR middle-end/44206
4377 * ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check
4378 existence of refrences before removing the function.
4379
844db5d0
JH
43802010-10-16 Jan Hubicka <jh@suse.cz>
4381
4382 * cgraph.c (dump_cgraph_node): Dump same_comdat_group,
4383 only_called_at_startup and only_called_at_exit.
91b90ead 4384 (cgraph_propagate_frequency): Compute only_called_at_startup and
844db5d0
JH
4385 only_called_at_exit.
4386 * cgraph.h (struct cgraph_node): New fileds only_called_at_startup and
4387 only_called_at_exit.
4388 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new
4389 flags.
4390 * predict.c (compute_function_frequency): Initialize the new flags.
4391
08d78391
EB
43922010-10-16 Eric Botcazou <ebotcazou@adacore.com>
4393
4394 * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
4395 ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
4396 on the bounds of its domain.
4397 * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
4398
4b0b4ab0
AS
43992010-10-16 Anatoly Sokolov <aesok@post.ru>
4400
4401 * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
4402 * config/avr/avr-protos.h (preferred_reload_class): Remove.
4403 * config/avr/avr.c (preferred_reload_class): Remove.
4404 * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
4405 * config/pa/pa.c (emit_move_sequence): Update comment
4406 * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
4407 * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
4408 * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
4409 * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
4410 * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
4411 * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
4412 * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
4413 * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
4414 * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
4415 * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
4416 * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
4417 * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
4418 * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
4419
7bb3487f
JM
44202010-10-16 Joseph Myers <joseph@codesourcery.com>
4421
4422 * opts.c (set_fast_math_flags,
4423 set_unsafe_math_optimizations_flags): Make static.
4424 * toplev.h (set_fast_math_flags,
4425 set_unsafe_math_optimizations_flags): Remove prototypes.
4426
0a587f65
JM
44272010-10-16 Joseph Myers <joseph@codesourcery.com>
4428
4429 * config/arm/arm.c (arm_option_optimization): Set
4430 flag_section_anchors to 1 not 2.
4431 * config/i386/i386.c (ix86_option_override_internal): Check
4432 global_options_set.x_flag_zee and
4433 global_options_set.x_flag_omit_frame_pointer.
4434 (ix86_option_optimization): Don't set flag_omit_frame_pointer and
4435 flag_zee to 2.
4436 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check
4437 global_options_set.x_flag_omit_frame_pointer.
4438 * config/rs6000/rs6000.c (rs6000_option_init_struct): Set
4439 opts->x_flag_section_anchors to 1 not 2.
4440 * config/sh/sh.c (sh_option_optimization): Don't set
4441 flag_schedule_insns to 2.
4442 (sh_option_override): Check
4443 global_options_set.x_flag_schedule_insns.
4444 * opts.c (finish_options): Check opts_set->x_flag_section_anchors.
4445
e1dbd4c8
KT
44462010-10-16 Kai Tietz <kai.tietz@onevision.com>
4447
4448 * configure.ac: Make sure inhibit_libc remains false for mingw targets
4449 as cross.
4450 * configure: Regenerated.
4451
2edb37a6
XDL
44522010-10-15 Xinliang David Li <davidxl@google.com>
4453
4454 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New
4455 function.
4456 (use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning
4457 into a recursive function.
4458
ba492752
UB
44592010-10-15 Uros Bizjak <ubizjak@gmail.com>
4460
4461 * config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute.
4462 (*movdfcc_1): ditto.
4463
7e4aae92
JM
44642010-10-15 Joseph Myers <joseph@codesourcery.com>
4465
4466 * target.def (target_option.init_struct): New hook.
4467 * doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook.
4468 * doc/tm.texi: Regenerate.
4469 * hooks.c (hook_void_gcc_optionsp): New.
4470 * hooks.h (hook_void_gcc_optionsp): Declare.
4471 * langhooks-def.h (lhd_init_options_struct): Remove.
91b90ead 4472 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp.
7e4aae92
JM
4473 * langhooks.c (lhd_init_options_struct): Remove.
4474 * opts.c (init_options_struct): Also call
4475 targetm.target_option.init_struct.
4476 * config/i386/i386.c (ix86_option_init_struct,
4477 TARGET_OPTION_INIT_STRUCT): New.
4478 (ix86_option_optimization): Move some settings to
4479 ix86_option_init_struct.
4480 * config/pdp11/pdp11.c (pdp11_option_init_struct,
4481 TARGET_OPTION_INIT_STRUCT): New.
4482 (pdp11_option_optimization): Move some settings to
4483 pdp11_option_init_struct.
4484 * config/rs6000/rs6000.c (rs6000_option_optimization): Replace by
4485 rs6000_option_init_struct. Use options structure pointer.
91b90ead 4486 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
7e4aae92
JM
4487 * config/s390/s390.c (s390_option_init_struct,
4488 TARGET_OPTION_INIT_STRUCT): New.
4489 (s390_option_optimization): Don't set
4490 flag_asynchronous_unwind_tables here.
4491 * config/sh/sh.c (sh_option_init_struct,
4492 TARGET_OPTION_INIT_STRUCT): New.
4493 (sh_option_optimization): Don't set flag_finite_math_only here.
4494 * config/spu/spu.c (spu_option_optimization): Replace by
4495 spu_option_optimization. Use options structure pointer.
91b90ead 4496 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
7e4aae92 4497
1b1562a5
MM
44982010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4499
4500 * doc/md.texi (Standard Names): Add fma@var{m}4 documentation.
4501
4502 * doc/rtl.texi (RTX_TERNARY): Document FMA is ternary. Add
4503 SIGN_EXTRACT and ZERO_EXTRACT which were missing.
4504 (Standard names): Document fma.
4505
4506 * doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA,
4507 __FP_FAST_FMAF, __FP_FAST_FMAL.
4508
4509 * builitns.c (expand_builtin_mathfn_ternary): New function for
4510 expanding ternary math functions, like fma.
4511 (expand_builtin): Call it for the fma builtins.
4512
4513 * simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA
4514 ops at present.
4515
4516 * tree-vect-stmts.c (vectorizable_call): Allow 3 argument
4517 vectorizable functions to support vectorizing fma.
4518
4519 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
4520 Handle fma builtins.
4521
4522 * config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete.
4523 (UNSPEC_VSX_MSUB): Ditto.
4524 (UNSPEC_VSX_NMADD): Ditto.
4525 (UNSPEC_VSX_NMSUB): Ditto.
4526 (vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead
4527 of UNSPEC. Renumber combiner patterns.
4528 (vsx_fmsub<mode>4*): Ditto.
4529 (vsx_fnmadd<mode>4*): Ditto.
4530 (vsx_fnmsub<mode>4*): Ditto.
4531
4532 * config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete.
4533 (altivec_vmaddfp): Rewrite to use FMA rtl if no fused
91b90ead 4534 multiply/add. Rename combiner pattern, and add TARGET_FUSED_MADD test.
1b1562a5
MM
4535 (altivec_vmaddfp_1): Ditto.
4536 (altivec_vmaddfp_2): Ditto.
4537 (atlivec_mulv4sf3): Ditto.
4538 (altivec_vnmsubfp): Ditto.
4539 (altivec_vnmsubfp_1): Ditto.
4540 (altivec_vnmsubfp_2): Ditto.
4541 (altivec_vnmsubfp_3): Delete.
4542
91b90ead 4543 * config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support.
1b1562a5
MM
4544 (fmasf4_fpr): Ditto.
4545 (fmssf4_fpr): Ditto.
4546 (fnmasf4_fpr): Ditto.
4547 (fnmssf4_fpr): Ditto.
4548 (fmadf4): Ditto.
4549 (fmadf4_fpr): Ditto.
4550 (fmsdf4_fpr): Ditto.
4551 (fnmadf4_fpr): Ditto.
4552 (fnmsdf4_fpr): Ditto.
4553
4554 * optabs.h (OTI_fma): Add fma optab.
4555 (fma_optab): Ditto.
4556
4557 * genopinit.c (optabs): Set fma optab.
4558
4559 * rtl.def (FMA): Add FMA rtl.
4560
4561 * tree.h (mode_has_fma): New function to return if MODE supports a
4562 fast multiply and add instruction.
4563 * builtins.c (mode_has_fma): Ditto.
4564
695c3817
JH
45652010-10-15 Jan Hubicka <jh@suse.cz>
4566
4567 * lto-streamer-out.c (write_symbol): Use pointer set of seen
4568 objects instead of bitmap.
4569 (produce_symtab): Likewise; output defined symbols first.
4570
c1721efb
JZ
45712010-10-15 Jie Zhang <jie@codesourcery.com>
4572
4573 * doc/invoke.texi: Add -fstrict-volatile-bitfields to
4574 Option Summary and Index.
4575
638fd1e5
RG
45762010-10-15 Richard Guenther <rguenther@suse.de>
4577
4578 * tree.c (free_lang_data_in_decl): Clear DECL_INITIAL
4579 for automatic variables again.
4580
fbdaa0b2
JM
45812010-10-15 Joseph Myers <joseph@codesourcery.com>
4582
4583 * doc/extend.texi (Variable Length): Don't refer to VLAs not
4584 conforming to C99.
4585
a32b99ad
JM
45862010-10-15 Joseph Myers <joseph@codesourcery.com>
4587
4588 * config/rx/rx.c (rx_option_optimization): Change to
4589 rx_override_options_after_change. Don't change
4590 flag_lto_compression_level. Don't check for changes to whether
4591 FPU instructions can be used. Check and set only
4592 flag_finite_math_only, not other fast-math flags.
4593 (rx_option_override): Call rx_override_options_after_change.
4594 (TARGET_OPTION_OPTIMIZATION): Remove.
4595 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
4596
b534dca5
JM
45972010-10-15 Joseph Myers <joseph@codesourcery.com>
4598
4599 * config/rs6000/rs6000.c (rs6000_option_optimization): Don't
4600 disable section anchors for lang_hooks.name[4] != 'O'.
4601
25b0dd68
JM
46022010-10-15 Joseph Myers <joseph@codesourcery.com>
4603
4604 * config/frv/frv.c (frv_option_optimization,
4605 TARGET_OPTION_OPTIMIZATION): Remove.
4606 * config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove.
4607
936fcef1
MM
46082010-10-15 Michael Matz <matz@suse.de>
4609
4610 * cgraphunit.c (clone_of_p): Define unconditionally.
4611
7a1a20d1
RG
46122010-10-15 Richard Guenther <rguenther@suse.de>
4613
4614 PR lto/45957
ba492752 4615 * tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars.
7a1a20d1 4616
034c987c
CLT
46172010-10-15 Chung-Lin Tang <cltang@codesourcery.com>
4618
4619 * ifcvt.c (find_active_insn_before): New function.
4620 (find_active_insn_after): New function.
4621 (cond_exec_process_if_block): Use new functions to replace
4622 prev_active_insn() and next_active_insn().
4623
56f01f0b
YQ
46242010-10-14 Yao Qi <yao@codesourcery.com>
4625
4626 PR target/45447
4627 * config/arm/arm.c (arm_build_builtin_va_list): Assign
4628 va_list_name to TYPE_STUB_DECL (va_list_type).
4629
97ba0040
JH
46302010-10-14 Jan Hubicka <jh@suse.cz>
4631
4632 PR middle-end/45621
4633 * cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
4634 redirected to clone, be happy.
4635 * cgraph.h (cgraph node): Enable former_clone_of unconditinally.
4636 * cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
936fcef1 4637 former_clone_of unconditionally.
ba492752 4638
668ea4b1
IS
46392010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4640
91b90ead 4641 Merge from FSF apple 'trunk' branch.
ba4debed 4642 2006 Fariborz Jahanian <fjahanian@apple.com>
ba492752 4643
668ea4b1
IS
4644 Radars 4436866, 4505126, 4506903, 4517826
4645 * c-parser.c (c_parser, objc_property_attr_context) New flag.
4646 (c_lex_one_token): Handle property attributes.
4647 (c_parser_external_declaration): Handle @property.
4648 (c_parser_declaration_or_fndef): Warn on invalid attributes before
4649 @alias, @class, @end and @property objc keywords.
4650 (c_parser_objc_methodprotolist): Handle @property.
4651 (c_parser_objc_property_attrlist): New.
4652 (c_parser_objc_at_property): New.
4653 * c-typeck.c (build_component_ref): Handle CLASS.property syntax.
4654 (build_modify_expr): Likewise.
4655
e05eee49
JJ
46562010-10-14 Jakub Jelinek <jakub@redhat.com>
4657
4658 PR tree-optimization/46008
ba492752 4659 * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible.
e05eee49 4660
7d36e538
RG
46612010-10-14 Richard Guenther <rguenther@suse.de>
4662
4663 PR tree-optimization/44913
4664 * tree-data-ref.c (disjoint_objects_p): Remove.
4665 (dr_may_alias_p): Simplify. Only hand the base object to
4666 the alias-oracle.
4667 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
4668 some more trees, bail out instead of asserting.
4669 (ptr_derefs_may_alias_p): Likewise. Export.
4670 (refs_may_alias_p_1): Handle STRING_CSTs.
4671 * tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.
4672
180f8dbb
JM
46732010-10-14 Joseph Myers <joseph@codesourcery.com>
4674
4675 PR c/45969
4676 * c-typeck.c (build_binary_op): Don't try to compute a semantic
4677 type with excess precision for boolean operations.
4678
f8ed6dc5
JS
46792010-10-14 Jeremie Salvucci <jeremie.salvucci@free.fr>
4680 Basile Starynkevitch <basile@starynkevitch.net>
4681
4682 * gengtype.c: Include getopt.h and version.h.
4683
4684 (lang_bitmap, struct outf, outf_p)
4685 (get_output_file_with_visibility, oprintf): Definitions moved to
4686 gengtype.h
4687 (output_files, header_file, srcdir, srcdir_len, this_file)
4688 (do_dump): No more static variables.
4689 (do_debug): New.
4690 (dbgprint_count_type_at): Added new function.
4691 (gengtype_long_options): New.
4692 (print_usage, print_version, parse_program_options): New.
4693 (main): Call parse_program_options, and removed old option
4694 handling code. Added some debug output.
4695
4696 * gengtype.h: Updated copyright year.
4697 (lang_bitmap, struct outf, outf_p, header_file, oprintf)
4698 (get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
4699 Moved from gengtype.c to here.
ba492752
UB
4700 (do_debug, read_state_filename, write_state_filename): New variables.
4701 (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.
f8ed6dc5
JS
4702
4703 * Makefile.in:
4704 (REVISION): Always defined.
4705 (version.o): Removed ifdef REVISION_c.
4706 (s-gtype): Pass arguments to build/gengtype program.
4707 (build/version.o): Added building rule.
4708 (build/gengtype$(build_exeext)): Added build/version.o.
4709
560d6bd5
IS
47102010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4711
4712 Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
4713 * config/darwin-c.c (darwin_cpp_builtins): Define __weak and
4714 __strong macros.
4715
a61c3633
EB
47162010-10-14 Eric Botcazou <ebotcazou@adacore.com>
4717
4718 * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
4719 may_trap_or_fault_p instead of may_trap_p predicate.
4720 * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
4721 (substitute_placeholder_in_expr): Likewise.
4722 * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
4723 flag on MEM_REF nodes.
4724 (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
4725 flags on INDIRECT_REF nodes.
4726
8ac7fdcb
NF
47272010-10-14 Nathan Froyd <froydnj@codesourcery.com>
4728
ba492752 4729 * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc.
8ac7fdcb
NF
4730 (arm*-*-uclinux*eabi) <tm_file>: Likewise.
4731 (arm*-*-eabi*) <tm_file>: Likewise.
4732 (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
4733 (frv-*-*linux*) <tm_file>: Likewise.
4734 * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
4735 and associated helper macros.
4736 * config/frv/frv-abi.h: Delete.
4737
1e85e720
RG
47382010-10-14 Richard Guenther <rguenther@suse.de>
4739
4740 PR lto/44561
4741 * tree.def (NULLPTR_TYPE): New tree code.
4742 * dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
4743 * dwarf2out.c (is_base_type): Likewise.
4744 (gen_type_die_with_usage): Likewise.
4745 * sdbout.c (plain_type_1): Likewise.
4746 * tree.c (build_int_cst_wide): Likewise.
ba492752 4747 * gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal.
1e85e720 4748
48476d13
JM
47492010-10-14 Joseph Myers <joseph@codesourcery.com>
4750
4751 * params.c (params_finished): New.
4752 (add_params): Assert !params_finished.
4753 (finish_params): New.
4754 (set_param_value_internal): Take params and params_set
4755 parameters. Assert params_finished.
4756 (set_param_value, maybe_set_param_value): Take params and
4757 params_set parameters. Update calls to set_param_value_internal.
4758 (set_default_param_value): Assert !params_finished. Don't use
4759 set_param_value_internal.
4760 (default_param_value, init_param_values): New.
4761 * params.h (struct param_info): Change value to default_value.
4762 Remove set.
4763 (set_param_value, maybe_set_param_value): Add params and
4764 params_set parameters.
4765 (PARAM_VALUE): Get parameters from global_options.
4766 (PARAM_SET_P): Remove.
4767 (finish_params, default_param_value, init_param_values): New.
4768 * common.opt (param_values): New Variable.
4769 * config/arm/arm.c (arm_option_override): Pass extra arguments to
4770 maybe_set_param_value.
4771 * config/i386/i386.c (ix86_option_override_internal): Pass extra
4772 arguments to maybe_set_param_value.
4773 * config/picochip/picochip.c (picochip_option_override): Pass
4774 extra arguments to maybe_set_param_value.
4775 * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
4776 extra arguments to maybe_set_param_value.
4777 * config/s390/s390.c (s390_option_override): Use
4778 maybe_set_param_value instead of set_param_value. Pass extra
4779 arguments to maybe_set_param_value.
4780 * config/sparc/sparc.c (sparc_option_override): Pass extra
4781 arguments to maybe_set_param_value.
4782 * config/spu/spu.c (spu_option_override): Pass extra arguments to
4783 maybe_set_param_value.
4784 * opts.c (handle_param): Take opts and opts_set parameters.
4785 Update call to set_param_value.
ba492752 4786 (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive,
48476d13
JM
4787 initial_loop_invariant_max_bbs_in_loop): Remove.
4788 (init_options_once): Don't set them.
4789 (init_options_struct): Initialize parameters structures.
4790 (default_options_optimization): Use default_param_value when
4791 restoring defaults. Update calls to maybe_set_param_value.
4792 (finish_options): Update calls to maybe_set_param_value.
4793 (common_handle_option): Update calls to handle_param and
4794 set_param_value.
ba492752 4795 * toplev.c (DEFPARAM): Update definition for changes to param_info.
48476d13
JM
4796 (general_init): Call finish_params.
4797
4af476d7
NC
47982010-10-14 Nick Clifton <nickc@redhat.com>
4799
4800 * config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
4801 (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
4802 (FIRST_PSEUDO_REGISTER): Increase by one.
4803 (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
4804 (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
4805 (MODES_TIEABLE): Call mn10300_modes_tieable.
ba492752 4806 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS.
4af476d7
NC
4807 (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
4808 (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
4809 (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
4810 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
4811 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
4812 (mn10300_cc_status_mdep): Delete.
4813 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
4814 * config/mn10300/mn10300 (mn10300_option_override): Stop disabling
4815 the combine-stack-adjust pass.
4816 (print_operand): Use the mode of the comparison operation to
4817 select the comparison suffix.
4818 (notice_update_cc): Delete.
4819 (mn10300_secondary_reload_class): Remove test for stack pointer
4820 based arithmetic.
4821 (output_tst): Rename to mn10300_output_cmp.
4822 (impossible_plus_operand): Move into predicates.md.
4823 (mn10300_legitimize_address): Make static.
4824 (mn10300_legitimate_address_p): Make static. Only allow SI sized
4825 constant pic operands.
4826 (mn10300_legitimate_constant_p): New function.
4827 (mn10300_case_values_threshold): Make static.
4828 (mn10300_hard_regno_mode_ok): New function.
4829 (mn10300_modes_tieable): New function.
4830 (mn10300_select_cc_mode): New function.
4831 * config/mn10300/predicates.md (impossible_plus_operand): Define.
4832 * config/mn10300/mn10300-protos.h: Tidy.
4833 (mn10300_legitimate_constant_p, mn10300_modes_tieable)
4834 (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
4835 * config/mn10300/mn10300.md (cc attribute): Delete. Replace
4836 with clobbers or sets of CC_REG.
4837 (CC_REG): Define.
4838 (mov*): Remove use of CLR instruction.
4839 (cbranch_si4_<code>): New pattern/split.
4840 (integer_conditional_branch): New pattern.
4841 (cbranch_sf4_<code>): New pattern/split.
4842 (float_conditional_branch): New pattern.
4843 (casesi): Use addsi3 pattern instead of movsi pattern to add and
4844 move a value at the same time.
4845 (cc0 peepholes): Remove.
4846
cfeb0fa8
AB
48472010-10-14 Andrey Belevantsev <abel@ispras.ru>
4848
4849 * sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE
4850 on RTX_FRAME_RELATED_P insns and the insn to which
4851 NOTE_INSN_EPILOGUE_BEG is attached.
4852 * sched-vis.c (print_value): Allow NULL value.
4853
3e6a3f6f
AB
48542010-10-14 Andrey Belevantsev <abel@ispras.ru>
4855
4856 PR rtl-optimization/45570
4857 * sel-sched-ir.c (cfg_preds_1): When walking out of the region,
4858 assert that we are pipelining outer loops. Allow returning
4859 zero predecessors.
4860
262d8232
AB
48612010-10-14 Andrey Belevantsev <abel@ispras.ru>
4862
4863 * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
4864 (tidy_control_flow): Tidy vertical space.
4865 (sel_remove_bb): New variable idx. Use it to remember the basic
4866 block index before deleting the block.
4867 (sel_remove_empty_bb): Remove dead code, simplify and insert to ...
4868 (sel_merge_blocks): ... here.
4869 * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
4870
6699b754
JJ
48712010-10-14 Jakub Jelinek <jakub@redhat.com>
4872
4873 * cse.c (is_dead_reg): Change into inline function that is not
4874 called through for_each_rtx.
4875 (set_live_p): Adjust caller.
4876 (insn_live_p): Don't reset DEBUG_INSNs here.
ba492752 4877 (struct dead_debug_insn_data): New data.
6699b754
JJ
4878 (count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
4879 (delete_trivially_dead_insns): If there is just one setter for the
4880 dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
4881 and add DEBUG_INSN for it right before the removed setter and
4882 use the DEBUG_EXPR instead of the dead pseudo.
4883
d2e60b7b 48842010-10-14 Zdenek Dvorak <rakdver@kam.uniff.cz>
6699b754 4885
d2e60b7b
ZD
4886 * et-forest.c (et_nca): Return NULL immediately when
4887 the dominance forest has disjoint components.
4888
854edfcd
VM
48892010-10-13 Vladimir Makarov <vmakarov@redhat.com>
4890
4891 * ira.c (setup_class_hard_regs): Fix typo in indexing
4892 ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
4893
208d8b55
TWL
48942010-10-14 Tijs Wiebe Lefering <twlevo@gmail.com>
4895
4896 * graph.c (inbb): New variable.
4897 (start_bb): Set inbb to 1 if output is inside of a building block.
4898 (end_bb): Check if output is inside of a building block.
4899
8908df28
EB
49002010-10-13 Eric Botcazou <ebotcazou@adacore.com>
4901
4902 PR rtl-optimization/45912
4903 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
4904 regno of registers instead of their index to compute the alignment.
4905
1e27129f
L
49062010-10-13 H.J. Lu <hongjiu.lu@intel.com>
4907
4908 * config/i386/i386.c (ix86_build_const_vector): Check vector
4909 mode instead of scalar mode.
4910 (ix86_build_signbit_mask): Likewise.
4911 (ix86_expand_fp_absneg_operator): Updated.
4912 (ix86_expand_copysign): Likewise.
4913 (ix86_expand_int_vcond): Likewise.
4914 (ix86_emit_swdivsf): Likewise.
4915 (ix86_sse_copysign_to_positive): Likewise.
4916 (ix86_expand_sse_fabs): Likewise.
4917 * config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
4918 * config/i386/sse.md (copysign<mode>3): Likewise.
4919 (sse2_cvtudq2ps): Likewise.
4920 (vec_unpacku_float_hi_v4si): Likewise.
4921 (vec_unpacku_float_lo_v4si): Likewise.
4922
4923 * config/i386/i386.c (ix86_builtins): Add
4924 IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
4925 (bdesc_args): Likewise.
ba492752 4926 (ix86_builtin_vectorized_function): Support
1e27129f
L
4927 IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
4928 IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
4929 and IX86_BUILTIN_CVTPS2DQ256.
4930 (ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.
4931
4932 * config/i386/sse.md (STORENT_MODE): New.
4933 (VEC_FLOAT_MODE): Likewise.
4934 (VEC_EXTRACT_MODE): Likewise.
4935 (*avx_cvtdq2pd256_2): Likewise.
4936 (vec_pack_trunc_v4df): Likewise.
4937 (vec_interleave_highv8sf): Likewise.
4938 (vec_interleave_lowv8sf): Likewise.
4939 (storent<mode>): Macroized.
4940 (<code><mode>2: absneg): Likewise.
4941 (copysign<mode>3): Likewise.
4942 (vec_extract<mode>): Likewise.
4943
4944 PR target/44180
4945 * config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
4946 for V8SFmode.
4947
49482010-10-13 Richard Guenther <rguenther@suse.de>
4949 H.J. Lu <hongjiu.lu@intel.com>
4950
4951 * config/i386/sse.md (reduc_splus_v8sf): Add.
4952 (reduc_splus_v4df): Likewise.
4953 (vec_unpacks_hi_v8sf): Likewise.
4954 (vec_unpacks_lo_v8sf): Likewise.
4955 (*avx_cvtps2pd256_2): Likewise.
4956 (vec_unpacks_float_hi_v8si): Likewise.
4957 (vec_unpacks_float_lo_v8si): Likewise.
4958 (vec_interleave_highv4df): Likewise.
4959 (vec_interleave_lowv4df): Likewise.
4960
0d8485e0
RG
49612010-10-13 Richard Guenther <rguenther@suse.de>
4962
4963 PR objc/45878
4964 * gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
4965 alone if there are no virtual methods.
4966
bde8a146
RH
49672010-10-13 Richard Henderson <rth@redhat.com>
4968
4969 * expr.c (build_personality_function): Take parameter LANG instead
4970 of parameter NAME. Build the name based on the lang prefix and the
4971 unwind method in use.
4972 * tree.c (lhd_gcc_personality): Update call to
4973 build_personality_function.
4974
74e80a24
RG
49752010-10-13 Richard Guenther <rguenther@suse.de>
4976
4977 PR objc/45878
4978 * tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref.
4979
b1ba284c
EB
49802010-10-13 Eric Botcazou <ebotcazou@adacore.com>
4981
4982 * cse.c (cse_insn): Fix thinko in the canonicalization of USE insns.
4983 Canonicalize input operands of ASM_OPERANDS insns.
4984
1b7d2dd1
RG
49852010-10-13 Richard Guenther <rguenther@suse.de>
4986
4987 PR tree-optimization/45788
4988 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay
4989 EH update until fixup-cfg.
4990
565d018d
JB
49912010-10-13 Julian Brown <julian@codesourcery.com>
4992
4993 * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
4994 from CORE_REGS and GENERAL_REGS classes.
4995 * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
4996 final constraint for register preferencing.
4997
71d61348
RG
49982010-10-13 Richard Guenther <rguenther@suse.de>
4999
5000 PR tree-optimization/45970
5001 * tree-ssa-alias.h (stmt_kills_ref_p): Declare.
5002 * tree-ssa-alias.c (stmt_kills_ref_p_1): New function.
5003 (stmt_kills_ref_p): Likewise.
5004 * tree-ssa-dse.c (dse_optimize_stmt): Use it.
5005
cb89b4b0
RG
50062010-10-13 Richard Guenther <rguenther@suse.de>
5007
5008 PR tree-optimization/45982
5009 * tree-ssa-structalias.c (make_constraints_to): New function.
5010 (make_constraint_to): Implement in terms of make_constraints_to.
5011 (find_func_aliases): Properly make return values of pure/const
5012 functions escape if they assign to sth that is not a pointer.
5013
72351fa3
RG
50142010-10-13 Richard Guenther <rguenther@suse.de>
5015
5016 PR middle-end/45874
5017 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
5018 Fixup the CFG when EH was fixed up.
5019
d59dc888
IR
50202010-10-13 Ira Rosen <irar@il.ibm.com>
5021
5022 * tree-vect-slp.c (vect_get_constant_vectors): Fix comment.
5023 Use operand's type for POINTER_PLUS_EXPR.
5024
3f6d4c52
AO
50252010-10-13 Alexandre Oliva <aoliva@redhat.com>
5026
5027 * c-parser.c (c_parser_for_statement): Initialize incr.
5028
98d30e4f
XDL
50292010-10-12 Xinliang David Li <davidxl@google.com>
5030
5031 PR tree-optimization/45972
18aebb0e 5032 * tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis
98d30e4f
XDL
5033 with too many arguments.
5034
f4684242
JJ
50352010-10-12 Jakub Jelinek <jakub@redhat.com>
5036
5037 PR fortran/45636
5038 * tree-ssa-forwprop.c: Include expr.h.
5039 (constant_pointer_difference, simplify_builtin_call): New functions.
5040 (tree_ssa_forward_propagate_single_use_vars): Call
5041 simplify_builtin_call on builtin calls.
5042
d761137f
EB
50432010-10-12 Eric Botcazou <ebotcazou@adacore.com>
5044
5045 * config/sparc/sparc.md (*adddi3_insn_sp32): Rename.
5046 (*adddi3_extend_sp32): Likewise.
5047 (*subdi3_insn_sp32): Likewise.
5048 (*subdi3_extend_sp32): Likewise.
5049 (*negdi2_sp32): Use negative test for consistency.
5050
a18bdccd
NF
50512010-10-12 Nathan Froyd <froydnj@codesourcery.com>
5052
ba492752 5053 * libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE.
a18bdccd
NF
5054 (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
5055 * config/fixed-bit.h: Likewise.
5056 * config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
5057 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
5058 * system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
5059 * doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
5060 (DF_SIZE): Likewise.
5061 * doc/tm.texi: Regenerate.
5062
d2333f6e
NF
50632010-10-12 Nathan Froyd <froydnj@codesourcery.com>
5064
5065 * config/rs6000/predicates.md (scc_rev_comparison_operator): New.
5066 * config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New.
5067 (*isel_reversed_unsigned_<mode>): New.
5068 * config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE
5069 as valid comparisons and adjust operands and output appropriately.
5070 (rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code.
5071
0c86e0dd
CLT
50722010-10-12 Chung-Lin Tang <cltang@codesourcery.com>
5073
5074 * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
5075 DATA_ALIGNMENT and add COND parameter. Update comments above.
5076 (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
ba492752 5077 (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack.
0c86e0dd 5078
515fe073
L
50792010-10-12 H.J. Lu <hongjiu.lu@intel.com>
5080
5081 PR bootstrap/45958
ba492752 5082 * exec-tool.in: Support '-plugin' as the second option to the linker.
515fe073 5083
533f611a
RH
50842010-10-12 Richard Henderson <rth@redhat.com>
5085
5086 PR middle-end/45962
5087 * cfgexpand.c (add_stack_var): Ensure every variable has 1 byte.
5088 (expand_stack_vars): Assert large base allocated when used.
5089
1f181fde
RG
50902010-10-12 Richard Guenther <rguenther@suse.de>
5091
5092 * tree-ssa-structalias.c (get_constraint_for_1): Constants
5093 only point to nonlocal, not anything.
5094
83e350f7
HS
50952010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
5096
5097 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj
5098 unwind info for exceptions.
5099
cf3e1041
RO
51002010-10-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5101
5102 PR testsuite/45851
5103 * doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options):
5104 Document optional target selector.
5105
f938f60c
JM
51062010-10-12 Joseph Myers <joseph@codesourcery.com>
5107
5108 * flag-types.h: New.
5109 * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
5110 (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of
5111 options.h.
5112 (OPTIONS_H): Define.
5113 (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
5114 of options.h.
5115 * configure.ac (tm_include_list): Include options.h not flags.h.
5116 * configure: Regenerate.
5117 * flags.h: Include flag-types.h. Include options.h at top of file
5118 again.
5119 (enum debug_info_type, enum debug_info_level, enum
5120 debug_info_usage, enum symbol_visibility, struct visibility_flags,
5121 enum ira_algorithm, enum ira_region, enum excess_precision, enum
ba492752
UB
5122 graph_dump_types, enum stack_check_type,
5123 enum warn_strict_overflow_code): Move to flag-types.h
f938f60c
JM
5124 * opth-gen.awk: Include flag-types.h in options.h.
5125
d95828db
JJ
51262010-10-12 Jakub Jelinek <jakub@redhat.com>
5127
a4feaa71
JJ
5128 * expr.c (store_expr): Share code for STRING_CST and
5129 MEM_REF of &STRING_CST cases. Don't require BLKmode, instead
5130 check if target is a MEM.
5131
d95828db
JJ
5132 * rtl.h: Include hashtab.h.
5133 (iterative_hash_rtx): New prototype.
5134 * rtl.c (iterative_hash_rtx): New function.
5135 * dwarf2out.c (dw_loc_list_node): Add hash and emitted fields.
ba492752 5136 (output_loc_list): Return immediately if emitted is set, set it.
d95828db
JJ
5137 (hash_loc_operands, hash_locs, hash_loc_list,
5138 compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq,
5139 optimize_location_lists_1, optimize_location_lists): New function.
5140 (dwarf2out_finish): Call optimize_location_lists.
5141 * Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H).
5142
8207e1fb
RW
51432010-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5144
5145 PR testsuite/45974
5146 Revert:
5147 * Makefile.in ($(lang_checks_parallel))
5148 ($(lang_checks_parallelized)): Use single quotes for
5149 $(RUNTESTFLAGS), to allow passing quoted content.
5150
5dbae367
JDA
51512010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5152
5153 * config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return
5154 actual_oldval. Use __builtin_expect.
5155 (SUBWORD_VAL_CAS): Likewise.
5156
2c8865f1
NF
51572010-10-11 Nathan Froyd <froydnj@codesourcery.com>
5158
5159 * recog.c (nonmemory_operand): Call immediate_operand for
5160 CONSTANT_P operands.
5161
bbc8841b
UB
51622010-10-11 Uros Bizjak <ubizjak@gmail.com>
5163
5164 * config/i386/i386.md (movmem<mode>): Macroize expander from
5165 movmem{si,di} using SWI48 mode iterator.
5166 (*strmovsi_1): Macroize insn pattern from *strmovsi_1 and
5167 *strmovsi_rex_1 using P mode iterator.
5168 (*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1.
5169 (*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1.
5170 (*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64.
5171 (*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64.
5172 (setmem<mode>): Macroize expander from setmem{si,di} using
5173 SWI48 mode iterator.
5174 (*strsetsi_1): Macroize insn pattern from *strsetsi_1 and
5175 *strsetsi_rex_1 using P mode iterator.
5176 (*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1.
5177 (*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1.
5178 (*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64.
5179 (*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64.
5180 (*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1.
5181 (*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1.
5182 (strlen<mode>): Macroize expander from strlen{si,di} using SWI48x
5183 mode iterator.
5184 (*strlenqi_1): Macroize insn pattern from *strlenqi_1 and
5185 *strlenqi_rex_1 using P mode iterator.
5186
579c1bf3
BS
51872010-10-11 Bernd Schmidt <bernds@codesourcery.com>
5188
5189 PR bootstrap/45445
5190 * ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New
5191 static functions.
5192 (mark_ref_live, mark_ref_dead): Use them.
5193 (make_pseudo_conflict): New arg ORIG_DREG. All callers changed.
5194 Save the original reg, and use the new functions.
5195 (check_and_make_def_use_conflict): New arg ORIG_DREG. All callers
5196 changed.
5197 (check_and_make_def_conflict): Save the original reg.
5198
3f1f0ae3
MJ
51992010-10-11 Martin Jambor <mjambor@suse.cz>
5200
5201 PR middle-end/45699
5202 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among
5203 thunks.
5204
e4590d63
RW
52052010-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5206
9dd57a6e
RW
5207 * Makefile.in ($(lang_checks_parallel))
5208 ($(lang_checks_parallelized)): Use single quotes for
5209 $(RUNTESTFLAGS), to allow passing quoted content.
5210
e4590d63
RW
5211 PR bootstrap/35855
5212 * opt-functions.awk (BEGIN): New section.
5213 (lower, upper, digit, alnum): New variables.
5214 (static_var, opt_sanitized_name): Use alnum instead of character
5215 classes, for non-C locale.
5216 * optc-gen.awk: Likewise.
5217 * opth-gen.awk: Likewise.
5218
fba42e24
AS
52192010-10-11 Anatoly Sokolov <aesok@post.ru>
5220
5221 * target.def (preferred_reload_class): New hook.
5222 * doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
5223 * doc/tm.texi: Regenerate.
5224 * targhooks.c (default_preferred_reload_class): New function.
5225 * targhooks.h (default_preferred_reload_class): Declare.
5226 * reload.c (find_dummy_reload): Change preferred_class variable type
5227 from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
5228 target hook.
5229 (find_reloads): Change goal_alternative array type from int to
5230 reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
5231 (push_reload, find_reloads_address_part): Use
5232 TARGET_PREFERRED_RELOAD_CLASS target hook.
5233 * reload1.c (emit_input_reload_insns): Ditto.
5234 * ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
5235 hook. Change rclass argument and secondary_class variable types from
5236 'enum reg_class' to reg_class_t.
5237
5238 * config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
5239 * config/i386/i386-protos (ix86_preferred_reload_class): Remove.
5240 * config/i386/i386.c (ix86_preferred_reload_class): Make static.
5241 Change regclass argument and result types from enum reg_class to
5242 reg_class_t.
5243 (TARGET_PREFERRED_RELOAD_CLASS): Define.
5244
43c36287
EB
52452010-10-11 Eric Botcazou <ebotcazou@adacore.com>
5246
5247 * simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics
5248 in masking operations.
5249 (simplify_const_unary_operation): Likewise.
5250 (simplify_binary_operation_1): Likewise.
5251 (simplify_const_binary_operation): Likewise.
5252 (simplify_const_relational_operation): Likewise.
5253 (simplify_ternary_operation): Likewise.
5254 (simplify_immed_subreg): Likewise.
5255
74b90fe2
JDA
52562010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5257
5258 PR middle-end/45862
5259 * doc/tm.texi.in (SUPPORTS_WEAK): Update.
5260 (TARGET_SUPPORTS_WEAK): New.
5261 * doc/tm.texi: Regenerate.
5262 * defaults.h (SUPPORTS_WEAK): Update comment.
5263 (TARGET_SUPPORTS_WEAK): New.
5264 * dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
5265 * varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
5266 SUPPORTS_WEAK.
5267 (merge_weak, declare_weak, do_assemble_alias, supports_one_only,
5268 make_decl_one_only): Likewise.
5269 * config/pa/som.h (SUPPORTS_WEAK): Rename defines to
5270 TARGET_SUPPORTS_WEAK.
5271 (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
5272 instead of SUPPORTS_WEAK.
5273
2861cfa1
RO
52742010-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5275
5276 * config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h.
5277
5095da95
NF
52782010-10-11 Nathan Froyd <froydnj@codesourcery.com>
5279
5280 * vec.h (VEC_qsort): Define.
5281 * dbxout.c (output_used_types): Use it.
5282 * df-scan.c (df_sort_and_compress_refs): Likewise.
5283 (df_sort_and_compress_mws): Likewise.
5284 * genautomata.c (uniq_sort_alt_states): Likewise.
5285 (evaluate_equiv_classes): Likewise.
5286 (output_trans_table): Likewise.
5287 (output_state): Likewise.
5288 * gimplify.c (compare_case_labels): Likewise.
5289 * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
5290 * ipa.c (build_cdtor_fns): Likewise.
5291 * lto.c (lto_wpa_write_files): Likewise.
5292 * sel-sched.c (fill_vec_av_set): Likewise.
5293 * tree-predcom.c (determine_roots_comp): Likewise.
5294 * tree-sra.c (sort_and_spliace_var_accesses): Likewise.
5295 (splice_param_accesses): Likewise.
5296 * tree-ssa-live.c (dump_enumerated_decls): Likewise.
5297 * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
5298 (reassociate_bb): Likewise.
5299 * tree-ssa-sccvn.c (sort_scc): Likewise.
5300 * tree-ssa-structalias.c (sort_fieldstack): Likewise.
5301
3748f5c9
ILT
53022010-10-11 Ian Lance Taylor <iant@google.com>
5303
5304 * tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5.
5305 * emit-rtl.c (set_mem_attributes_minus_bitpos): Only check
5306 TREE_THIS_NOTRAP when appropriate.
bbc8841b 5307 (get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL.
3748f5c9
ILT
5308 * gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to
5309 newly created MEM_REF.
5310
c159751b
HS
53112010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
5312
bbc8841b 5313 Nathan Froyds patch to hooks FUNCTION_ARG etc.
c159751b
HS
5314 * config/picochip/picochip-protos.h (picochip_function_arg): Delete.
5315 (picochip_incoming_function_arg): Delete.
5316 (picochip_arg_advance): Delete.
5317 * config/picochip/picochip.h (FUNCTION_ARG): Delete.
5318 (FUNCTION_INCOMING_ARG): Delete.
5319 (FUNCTION_ARG_ADVANCE): Delete.
5320 * config/picochip/picochip.c (picochip_function_arg): Take a
5321 const_tree and a bool.
5322 (picochip_incoming_function_arg): Likewise.
5323 (picochip_arg_advance): Likewise.
5324 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
5325 (TARGET_FUNCTION_ARG_ADVANCE): Define.
5326
7d26a391
JDA
53272010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5328
5329 PR middle-end/45955
5330 * ipa.c (build_cdtor): Delete endless loop.
5331
d6d5951a
AK
53322010-10-07 Andi Kleen <ak@linux.intel.com>
5333
5334 * Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add
5335 checksum-options.
5336 (checksum-options): Add.
5337 (cc1-dummy): Remove.
5338 (cc1-checksum): Change to run checksum over object files
5339 and options only.
5340 * dummy-checksum.c: Remove.
5341 * genchecksum.c: Update copyright.
5342 (usage): Allow multiple arguments.
5343 (BLOCKSIZE): Add.
5344 (dosum): Change for incremental checksum. Remove C output.
5345 (main): Iterate over all argument files. Add C output.
5346
128dc8e2
JM
53472010-10-11 Joseph Myers <joseph@codesourcery.com>
5348
5349 * params.c (set_param_value_internal): New.
5350 (set_param_value): Use set_param_value_internal.
5351 (maybe_set_param_value, set_default_param_value): New.
5352 * params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues.
5353 (maybe_set_param_value, set_default_param_value): Declare.
bbc8841b 5354 * config/arm/arm.c (arm_option_override): Use maybe_set_param_value.
128dc8e2
JM
5355 * config/i386/i386.c (ix86_option_override_internal): Use
5356 maybe_set_param_value.
5357 * config/ia64/ia64.c (ia64_option_default_params,
5358 TARGET_OPTION_DEFAULT_PARAMS): New.
5359 (ia64_option_optimization): Move some code to
5360 ia64_option_default_params.
5361 * config/picochip/picochip.c (picochip_option_override): Use
5362 maybe_set_param_value.
5363 * config/rs6000/rs6000.c (rs6000_option_default_params,
5364 TARGET_OPTION_DEFAULT_PARAMS): New.
5365 (rs6000_option_override_internal): Use maybe_set_param_value.
5366 (rs6000_option_optimization): Move some code to
5367 rs6000_option_default_params.
bbc8841b 5368 * config/s390/s390.c (s390_option_override): Use maybe_set_param_value.
128dc8e2
JM
5369 * config/sh/sh.c (sh_option_default_params,
5370 TARGET_OPTION_DEFAULT_PARAMS): New.
bbc8841b 5371 (sh_option_optimization): Move some code to sh_option_default_params.
128dc8e2
JM
5372 * config/sparc/sparc.c (sparc_option_override): Use
5373 maybe_set_param_value.
5374 * config/spu/spu.c (spu_option_default_params,
5375 TARGET_OPTION_DEFAULT_PARAMS): New.
bbc8841b 5376 (spu_option_optimization): Move some code to spu_option_default_params.
128dc8e2
JM
5377 (spu_option_override): Use maybe_set_param_value.
5378 * doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook.
5379 * doc/tm.texi: Regenerate.
5380 * ggc-common.c (init_ggc_heuristics): Use set_default_param_value.
5381 * opts.c (init_options_once): Use PARAM_VALUE not direct access to
5382 compiler_params.
5383 (default_options_optimization): Use maybe_set_param_value.
5384 (finish_options): Use maybe_set_param_value.
5385 * target.def (target_option.default_params): New hook.
bbc8841b 5386 * toplev.c (general_init): Call targetm.target_option.default_params.
128dc8e2 5387
49077698
IR
53882010-10-11 Ira Rosen <irar@il.ibm.com>
5389
5390 PR tree-optimization/45902
5391 * tree-vect-slp.c (vect_get_constant_vectors): Use statement's
5392 vector type for constants, unless it's a pointer.
5393
a6510374
AK
53942010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5395
5396 * config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg.
5397
922a06c3
JJ
53982010-10-11 Jakub Jelinek <jakub@redhat.com>
5399
5400 PR target/45870
5401 * config/i386/i386.c (ix86_delegitimize_tls_address): New function.
5402 (ix86_delegitimize_address): Use it.
5403
e9acb323
EB
54042010-10-10 Eric Botcazou <ebotcazou@adacore.com>
5405
5406 * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
5407
bdf057c6
UB
54082010-10-10 Uros Bizjak <ubizjak@gmail.com>
5409
5410 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
5411 to cum struct in the call to function_arg_advance.
5412 (alpha_function_arg_advance): Mark named as unused.
5413
0e88eb86
RS
54142010-10-10 Richard Sandiford <rdsandiford@googlemail.com>
5415
5416 * config/mips/mips.c (mips_handle_option): Make "value" with
5417 ATTRIBUTE_UNUSED.
5418
3a42502d
RH
54192010-10-09 Richard Henderson <rth@redhat.com>
5420
5421 PR rtl-opt/33721
5422 * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
5423 remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN. Honor
5424 required_align, tidy the code a bit. Emit split_stack code in the
5425 right place. Mark the return value with the alignment properly.
5426 * expr.h (allocate_dynamic_stack_space): Update decl.
5427 * builtins.c (expand_builtin_apply): Update call to
5428 allocate_dynamic_stack_space.
5429 (expand_builtin_alloca): Likewise. Remove TARGET parameter.
5430 * calls.c (initialize_argument_information): Update call to
5431 allocate_dynamic_stack_space.
5432 (expand_call): Likewise.
5433
5434 * cfgexpand.c (get_decl_align_unit): Don't limit alignment.
5435 Don't update_stack_alignment here.
5436 (alloc_stack_frame_space): Make ALIGN unsigned.
5437 (stack_var_cmp): Sort by alignment too.
5438 (partition_stack_vars): Don't merge large and small alignment vars.
5439 (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
5440 Take care when BASE is not virtual_stack_vars_rtx.
5441 (expand_stack_vars): Allocate dynamic stack space for large
5442 alignment variables.
5443 (expand_one_stack_var): Update all to expand_one_stack_var_at.
5444 (defer_stack_allocation): True for large alignment vars.
5445 (update_stack_alignment): Merge into ...
5446 (expand_one_var): ... here.
5447 (gimple_expand_cfg): Place code from expand_stack_vars.
5448
a5f4f531
NF
54492010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5450
5451 * config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5452 * config/pdp11/pdp11.c (pdp11_function_arg): New function.
5453 (pdp11_function_arg_advance): New function.
5454 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5455
4471aff6
NF
54562010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5457
5458 * libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
5459 * libgcc2.c: Likewise.
5460
5074d72c
RG
54612010-10-09 Richard Guenther <rguenther@suse.de>
5462
5463 PR lto/45956
5464 * lto-streamer-in.c (lto_register_var_decl_in_symtab):
5465 Properly check if a decl is an automatic var.
5466
865e8e8e
RG
54672010-10-09 Richard Guenther <rguenther@suse.de>
5468
5469 PR lto/45947
5470 * tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
5471
9fb41e15
NF
54722010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5473
5474 * config/mmix/mmix-protos.h (mmix_function_arg): Delete.
5475 * config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5476 * config/mmix/mmix.c (mmix_function_arg): Rename to...
5477 (mmix_function_arg_1): ...this. Make static. Take a const_tree and
5478 bool arguments.
5479 (mmix_function_arg): New function.
5480 (mmix_function_incoming_arg): New function.
5481 (mmix_function_arg_advance): New function.
5482 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
5483 (TARGET_FUNCTION_ARG_ADVANCE): Define.
5484
8f8a46ba
NF
54852010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5486
5487 * config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5488 * config/vax/vax.c (vax_function_arg): New function.
5489 (vax_function_arg_advance): New function.
5490 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5491
fd29bdaf
NF
54922010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5493
5494 * config/pa/pa-protos.h (function_arg): Delete.
5495 * config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5496 * config/pa/pa.c (function_arg): Rename to...
5497 (pa_function_arg): ...this. Make static. Take a const_tree and
5498 a bool.
5499 (pa_function_arg_advance): New function.
5500 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5501
13d3961c
NF
55022010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5503
5504 * config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5505 * config/m68k/m68k.c (m68k_function_arg): New function.
5506 (m68k_function_arg_advance): New function.
5507 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5508
733bdfbd
NF
55092010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5510
5511 * config/avr/avr-protos.h (function_arg): Delete.
5512 (function_arg_advance): Delete.
5513 * config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5514 * config/avr/avr.c (function_arg): Rename to...
5515 (avr_function_arg): ...this. Make static. Take a const_tree and
5516 a bool.
5517 (function_arg_advance): Rename to...
5518 (avr_function_arg_advance): ...this. Make static. Take a
5519 const_tree and a bool.
5520 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5521
0c3a9758
NF
55222010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5523
5524 * config/alpha/alpha-protos.h (function_arg): Delete.
5525 * config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5526 * config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
5527 * config/alpha/alpha.c (function_arg): Rename to...
5528 (alpha_function_arg): ...this. Make static. Take a const_tree and
5529 a bool. Delete TARGET_ABI_UNICOSMK code.
5530 (alpha_function_arg_advance): New function.
5531 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5532
0851c6e3
NF
55332010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5534
5535 * config/mep/mep-protos.h (mep_function_arg): Delete.
5536 (mep_function_arg_advance): Delete.
5537 * config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5538 * config/mep/mep.c (mep_function_arg): Make static. Take a
5539 const_tree and a bool.
5540 (mep_function_arg_advance): Likewise.
5541 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5542
e5160e93
RG
55432010-10-09 Richard Guenther <rguenther@suse.de>
5544
5545 PR tree-optimization/45945
bdf057c6 5546 * tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning.
e5160e93 5547
1802378d
EB
55482010-10-09 Eric Botcazou <ebotcazou@adacore.com>
5549
5550 PR tree-optimization/45612
5551 * ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
5552 Test LABEL_DECLs as well. Fix formatting issues.
5553 (verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
5554 whose label is present in NON_SSA_VARS.
5555 (mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED. Handle LABEL_DECLs
5556 as well. Fix formatting issues.
5557 (visit_bb): Fix typos and formatting issue.
5558
64978ba3
NF
55592010-10-09 Nathan Froyd <froydnj@codesourcery.com>
5560
5561 PR tree-optimization/45950
5562 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
5563 before initializing vno->op.
5564
ba4debed 55652010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>
1ddc8057
RC
5566
5567 * config.gcc (bfin*-rtems*): Add newlib-stdint.h.
5568 * config.gcc (lm32*-rtems*): Add newlib-stdint.h.
5569
c2c795ff
L
55702010-10-08 H.J. Lu <hongjiu.lu@intel.com>
5571
5572 PR target/45913
5573 * config/i386/i386.c (ix86_binary_operator_ok): Support
5574 "andhi/andsi/anddi" as a zero-extending move.
5575
8897c9ce
NF
55762010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5577
5578 * builtins.c (fold_call_stmt): Don't copy gimple call arguments
5579 into a temporary array.
5580
509dd380
JJ
55812010-10-08 Jakub Jelinek <jakub@redhat.com>
5582
5583 PR tree-optimization/45903
5584 * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
bdf057c6 5585 of {A,L}SHIFTRT of MEM.
509dd380 5586
bd39cb52
RG
55872010-10-08 Richard Guenther <rguenther@suse.de>
5588
5589 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
5590 Re-construct BLOCK_VARS.
5591 (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
5592 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
5593 * tree.c (free_lang_data_in_block): Remove.
5594 (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
5595 Do not touch the BLOCK tree.
5596 * expr.c (expand_expr_real_1): Allow externals.
5597
8686c474
RG
55982010-10-08 Richard Guenther <rguenther@suse.de>
5599
5600 * lto-streamer-out.c (lto_output_ts_block_tree_pointers):
5601 Do not output BLOCK_SUBBLOCKS.
5602 * lto-streamer-in.c (lto_input_ts_block_tree_pointers):
5603 Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
5604 Re-construct BLOCK_SUBBLOCKS of parent block.
5605 (lto_input_ts_binfo_tree_pointers): Reserve exact space needed
5606 for BINFO_BASE_ACCESSES.
5607
a75bfaa6
JM
56082010-10-08 Joseph Myers <joseph@codesourcery.com>
5609
5610 * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
5611 (TREE_H): Include $(FLAGS_H) instead of options.h.
5612 (opts-common.o): Depend on $(FLAGS_H) instead of options.h.
5613 * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
5614 * common.opt (flag_complex_method, flag_evaluation_order,
5615 flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
5616 Variable declarations.
bdf057c6 5617 * configure.ac (tm_include_list): Include flags.h instead of options.h.
a75bfaa6
JM
5618 * configure: Regenerate.
5619 * flags.h: Condition out contents for target libraries. Include
5620 options.h at end of file.
5621 (flag_complex_method, flag_ira_algorithm, flag_ira_region,
5622 flag_evaluation_order, flag_warn_unused_result): Remove.
5623 * gcc.c (main): Intialize global_options with global_options_init.
5624 * langhooks-def.h (lhd_init_options_struct): Declare.
5625 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
5626 (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
5627 * langhooks.c (lhd_init_options_struct): New.
5628 * langhooks.h (struct lang_hooks): Add init_options_struct.
5629 Update comment on init_options.
5630 * optc-gen.awk: Generate initializer for global_options_init, not
5631 global_options.
5632 * opth-gen.awk: Condition out structure declarations for target
5633 libraries. Declare global_options_init.
5634 * opts-common.c: Include flags.h instead of options.h.
5635 * opts.c (flag_warn_unused_result): Remove.
5636 (read_cmdline_options): Take gcc_options parameters. Pass them to
5637 read_cmdline_option.
5638 (initial_lang_mask, initial_min_crossjump_insns,
5639 initial_max_fields_for_field_sensitive,
5640 initial_loop_invariant_max_bbs_in_loop): Define at file scope.
5641 (init_options_once): New. Split out of decode_options.
5642 (init_options_struct): New. Split out of decode_options.
5643 (decode_cmdline_options_to_array_default_mask): New.
5644 (default_options_optimization): New. Split out of decode_options.
5645 (decode_options): Move most code to other functions. Update call
5646 to read_cmdline_options.
5647 (finish_options): New. Split out of decode_options.
5648 * opts.h (decode_options): Add gcc_options parameters.
5649 (init_options_once, init_options_struct,
5650 decode_cmdline_options_to_array_default_mask): New.
5651 * toplev.c (flag_complex_method, flag_ira_algorithm,
5652 flag_ira_region, flag_evaluation_order): Remove.
5653 (general_init): Use global_options_init for initial flag values
5654 for global_dc.
5655 (toplev_main): Call init_options_once, init_options_struct,
5656 lang_hooks.init_options_struct,
5657 decode_cmdline_options_to_array_default_mask and
5658 lang_hooks.init_option before decode_options. Update arguments to
5659 decode_options.
5660 * tree.h: Include flags.h instead of options.h.
5661
ab86687c
NF
56622010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5663
5664 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
5665
9adafb9f
NF
56662010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5667
5668 * config/sparc/sparc-protos.h (function_arg_advance, function-arg):
5669 Delete.
5670 * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
5671 (FUNCTION_INCOMING_ARG): Delete.
5672 * config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
5673 (function_arg_slotno): Likewise. Take bool arguments.
5674 (sparc_arg_partial_bytes): Update call to it.
5675 (function_arg): Rename to...
5676 (sparc_function_arg_1): ...this. Take bool arguments.
5677 (sparc_function_arg, sparc_function_incoming_arg): New functions.
5678 (function_arg_advance): Rename to...
5679 (sparc_function_arg_advance): ...this. Take bool argument.
5680 (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
5681 (TARGET_FUNCTION_INCOMING_ARG): Define.
5682
74f41f02
NF
56832010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5684
5685 * config/bfin/bfin-protos.h (function_arg, function_arg_advance):
5686 Delete.
5687 * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5688 * config/bfin/bfin.c (function_arg_advance): Rename to...
5689 (bfin_function_arg_advance): ...this. Make static. Take const_tree
5690 and bool arguments.
5691 (function_arg): Rename to...
5692 (bfin_function_arg): ...this. Make static. Take const_tree and bool
5693 arguments.
5694 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5695
3a2bd2f4
NF
56962010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5697
5698 * config/score/score-protos.h (score_function_arg): Delete.
5699 (score_function_arg_advance): Delete.
5700 * config/score/score3.h (score3_function_arg_advance): Take a
5701 const_tree and a bool.
5702 (score3_function_arg): Likewise.
5703 * config/score/score7.h (score7_function_arg_advance): Likewise.
5704 (score7_function_arg): Likewise.
5705 * config/score/score3.c (score3_classify_arg): Likewise.
5706 (score3_function_arg_advance, score3_function_arg): Likewise.
5707 * config/score/score7.c (score7_classify_arg): Likewise.
5708 (score7_function_arg_advance, score7_function_arg): Likewise.
5709 * config/score/score.c (score_function_arg_advance): Likewise.
5710 (score_function_arg): Likewise. De-const-ify `cum' argument.
5711 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5712
3cb1da52
NF
57132010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5714
5715 * config/s390/s390-protos.h (s390_function_arg_advance): Delete.
5716 (s390_function_arg): Delete.
5717 * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
5718 * config/s390/s390.c (s390_function_arg_float): Take a const_tree.
5719 (s390_function_arg_integer): Likewise.
5720 (s390_function_arg_advance): Make static. Take a const_tree and
5721 a bool.
5722 (s390_function_arg): Likewise.
5723 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5724
925ed112
NF
57252010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5726
5727 * config/spu/spu-protos.h (spu_function_arg): Delete.
5728 * config/spu/spu.h (FUNCTION_ARG): Delete.
5729 (FUNCTION_ARG_ADVANCE): Move code to ...
5730 * config/spu/spu.c (spu_function_arg_advance): New function.
5731 (spu_function_arg): Make static. Take a const_tree and a bool.
5732 (spu_setup_incoming_varargs): Call spu_function_arg_advance.
5733 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
5734
57352010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5736
5737 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
5738
9ad6bebe
NF
57392010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5740
5741 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
5742 (init_vn_nary_op_from_op): New function.
5743 (init_vn_nary_op_from_stmt): New function.
5744 (vn_nary_op_lookup_1): New function.
5745 (sizeof_vn_nary_op): New function.
5746 (alloc_vn_nary_op_noinit): New function.
5747 (alloc_vn_nary_op): New function.
5748 (vn_nary_op_insert_into): New function.
5749 (vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
5750 (vn_nary_op_lookup): Likewise.
5751 (vn_nary_op_lookup_stmt): Likewise.
5752 (vn_nary_op_insert_pieces): Likewise.
5753 (vn_nary_op_insert): Likewise.
5754 (vn_nary_op_insert_stmt): Likewise.
5755 (copy_nary): Likewise.
5756 (set_value_id_for_result): New function.
5757 (set_hashtable_value_ids): Call it.
5758
0db0c836
NF
57592010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5760
5761 * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
5762 * config/fr30/fr30.md (leave_func): Rewrite without post_inc.
5763
fd02e833
NF
57642010-10-08 Nathan Froyd <froydnj@codesourcery.com>
5765
5766 * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
5767 * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
5768
5f262d13
AO
57692010-10-08 Alexandre Oliva <aoliva@redhat.com>
5770
5771 PR debug/45656
5772 * cse.c (cse_extended_basic_block): Preserve cc0 info across
5773 debug isnsn. Skip them when searching for cc0 setter.
5774 (set_live_p): Skip debug insns when searching for cc0 user.
5775
7de9e0a1
AO
57762010-10-08 Alexandre Oliva <aoliva@redhat.com>
5777
5778 PR debug/45673
5779 PR debug/45604
5780 PR debug/45419
5781 PR debug/45408
5782 * tree-pretty-print.c (dump_generic_node): Explicitly dump the
5783 type of MEM_REFs to INTEGER_CSTs.
5784
5bd84829
NF
57852010-10-07 Nathan Froyd <froydnj@codesourcery.com>
5786
5787 * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
5788 m68hc11_print_operand_address.
5789
43ea30dc
NF
57902010-10-07 Nathan Froyd <froydnj@codesourcery.com>
5791
5792 * builtins.c (rewrite_call_expr): Move code to...
bdf057c6 5793 (rewrite_call_expr_valist): ...here. Call build_call_expr_loc_array.
43ea30dc
NF
5794 (rewrite_call_expr_array): New function.
5795 (fold_builtin_sprintf_chk_1): New function.
5796 (fold_builtin_sprintf_chk): Call it.
5797 (gimple_fold_builtin_sprintf_chk): Likewise.
5798 (fold_builtin_snprintf_chk_1): New function.
5799 (fold_builtin_snprintf_chk): Call it.
5800 (gimple_fold_builtin_snprintf_chk): Likewise.
5801 (gimple_rewrite_call_expr): Delete.
5802
39604ffe
DK
58032010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
5804
5805 * config.host: Update copyright year.
5806
1cd0b716
DK
58072010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
5808
5809 * config.host (host_lto_plugin_soname): New shell variable.
5810 * configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
5811 * config.in: Regenerate.
5812 * configure: Regenerate.
5813 * gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
5814 LTO plugin shared library.
5815
6ba74c2d
RH
58162010-10-07 Richard Henderson <rth@redhat.com>
5817
5818 * target.h (enum unwind_info_type): Move ...
5819 * coretypes.h: ... here.
5820
038d22b6
NP
58212010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
5822
5823 * doc/objc.texi (Fast enumeration protocol): Mention that
5824 'unsigned int' can also be used instead of 'unsigned long' in
5825 countByEnumeratingWithState:objects:count:.
5826
fc37536b
MJ
58272010-10-07 Martin Jambor <mjambor@suse.cz>
5828
5829 * tree-sra.c (struct access): New field grp_assignment_write.
5830 (dump_access): Dump grp_assignment_write.
5831 (build_accesses_from_assign): Set grp_assignment_write.
5832 (sort_and_splice_var_accesses): Aggregate grp_assignment_write.
5833 (mark_read_status): Renamed to mark_rw_status, individual values
5834 renamed too.
5835 (analyze_access_subtree): Changed type of mark_write to
5836 mark_read_status. Fixed propagating of mark_read and
5837 mark_write. Changed benefit estimate. Updated comment.
5838
d163c4f7
TB
58392010-10-07 Tejas Belagod <tejas.belagod@arm.com>
5840
78e27dd3 5841 PR Tree-Vect/45847
d163c4f7
TB
5842 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
5843 check for vectype_out returned by get_vectype_for_scalar_type().
5844
7f27ec08
TB
58452010-10-07 Tejas Belagod <tejas.belagod@arm.com>
5846
78e27dd3 5847 PR target/45805
7f27ec08
TB
5848 * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
5849 constraint, add register specifier in instruction template.
5850 (neon_vec_pack_trunc_<mode>): Likewise.
5851 (neon_vec_<US>mult_<mode>): Add register specifier to
5852 instruction template.
5853
3edeb30d
DK
58542010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
5855
5856 * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
5857 cygwin2.o.
5858 (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
5859 (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
5860 * config/i386/t-cygwin (cygwin1.o): Delete build rule.
5861 (cygwin2.o): Likewise.
5862 * config/i386/cygwin1.c: Delete file.
5863 * config/i386/cygwin2.c: Likewise.
5864 * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
5865 make all {%!mno-cygwin} ones unconditional.
5866 (STARTFILE_SPEC): Likewise.
5867 (REAL_LIBGCC_SPEC): Likewise.
5868 (LIB_SPEC): Likewise.
5869 (CXX_WRAP_SPEC): Likewise.
5870 (LINK_SPEC): Likewise.
5871 (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
5872 (CYGWIN_MINGW_SUBDIR_LEN): Likewise.
5873 (cygwin_gplusplus_include_dir): Delete now-unused array.
5874 (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
5875 (cygwin_gplusplus_tool_include_dir): Delete now-unused array.
5876 (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
5877 (cygwin_gplusplus_backward_include_dir): Delete now-unused array.
5878 (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
5879 (cygwin_local_include_dir): Delete now-unused array.
5880 (LOCAL_INCLUDE_DIR): Don't redefine to point to it.
5881 (cygwin_cross_include_dir): Delete now-unused array.
5882 (CROSS_INCLUDE_DIR): Don't redefine to point to it.
5883 (cygwin_tool_include_dir): Delete now-unused array.
5884 (TOOL_INCLUDE_DIR): Don't redefine to point to it.
5885 (cygwin_standard_include_dir): Delete now-unused array.
5886 (STANDARD_INCLUDE_DIR): Don't redefine to point to it.
5887 (GEN_CVT_ARRAY): Delete now-unused macro definition.
5888 (cvt_to_mingw): Delete now-unused array.
5889 (mingw_scan): Remove prototype of deleted function.
5890 (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
5891 * config/i386/cygming.opt (mcygwin): Delete target-specific option.
5892 * doc/invoke.texi (-mcygwin): Don't document removed option.
5893 (-mno-cygwin): Likewise.
5894
bb67d9c7
RG
58952010-10-07 Richard Guenther <rguenther@suse.de>
5896
5897 * machmode.h (mode_for_vector): Declare.
5898 * stor-layout.c (mode_for_vector): New function, split out from ...
5899 (layout_type): ... here.
5900 * tree-vectorizer.h (current_vector_size): Declare.
5901 * tree-vect-stmts.c (perm_mask_for_reverse): Check if the
5902 mask vector type is available.
5903 (get_vectype_for_scalar_type): Rename to ...
5904 (get_vectype_for_scalar_type_and_size): ... this. Get a vector
5905 size argument.
5906 (get_vectype_for_scalar_type): New wrapper around
5907 get_vectype_for_scalar_type_and_size using current_vector_size.
5908 (get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
5909 * tree-vect-loop.c (vect_analyze_loop_2): Split out core part
5910 of vect_analyze_loop here.
5911 (vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
5912 * tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
5913 to autodetect.
5914 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
5915 V8SF to V8SI conversion builtin.
5916
767f865f
RG
59172010-10-07 Richard Guenther <rguenther@suse.de>
5918
5919 * target.def (autovectorize_vector_sizes): New target hook.
5920 * targhooks.c (default_autovectorize_vector_sizes): New function.
5921 * targhooks.h (default_autovectorize_vector_sizes): Declare.
5922 * doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
5923 Document.
5924 * doc/tm.texi: Update.
5925 * config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
5926 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
5927
cc4b5170
RG
59282010-10-07 Richard Guenther <rguenther@suse.de>
5929
5930 * target.def (units_per_simd_word): Rename to ...
5931 (preferred_simd_mode): ... this. Return mode instead of size.
5932 * targhooks.c (default_units_per_simd_word): Rename to ...
5933 (default_preferred_simd_mode): ... this. Return word_mode.
5934 * targhooks.h (default_preferred_simd_mode): Declare.
5935 * config/arm/arm.c (arm_units_per_simd_word): Rename to ...
5936 (arm_preferred_simd_mode): ... this. Re-implement.
5937 * config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
5938 (ix86_preferred_simd_mode): ... this. Re-implement.
5939 * config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
5940 (sparc_preferred_simd_mode): ... this. Re-implement.
5941 * config/mips/mips.c (mips_units_per_simd_word): Rename to ...
5942 (mips_preferred_simd_mode): ... this. Re-implement.
5943 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
5944 (rs6000_preferred_simd_mode): ... this. Re-implement.
5945 * tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
5946 * doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
5947 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
5948 * doc/tm.texi: Update.
5949
65dcb901
RG
59502010-10-07 Richard Guenther <rguenther@suse.de>
5951
5952 PR middle-end/45869
5953 * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
5954 of pointers.
5955
a557f9cc
AM
59562010-10-07 Alan Modra <amodra@gmail.com>
5957
5958 * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
5959 rather than sign extension by hand.
5960
bd67cff1
JH
59612010-10-07 Jan Hubicka <jh@suse.cz>
5962
5963 PR middle-end/45926
5964 * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
5965
2b48f20d
RG
59662010-10-07 Richard Guenther <rguenther@suse.de>
5967
5968 PR bootstrap/45914
5969 * configure.ac: Fix typo.
5970 * configure: Regenerated.
5971
826d817f
FXC
59722010-10-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5973
5974 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
5975 define_builtin_std where it's unnecessary.
5976 * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
5977
32bd8fcf
AS
59782010-10-06 Anatoly Sokolov <aesok@post.ru>
5979
5980 * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
5981 * doc/tm.texi.in: Regenerate.
5982 * system.h (CLASS_LIKELY_SPILLED_P): Poison.
a557f9cc 5983 * targhooks.c (default_class_likely_spilled_p): Don't use the
32bd8fcf
AS
5984 CLASS_LIKELY_SPILLED_P macro.
5985
a557f9cc 5986 * config/arm/arm.md: Update comment.
32bd8fcf 5987
0e9ea52b
JH
59882010-10-06 Jan Hubicka <jh@suse.cz>
5989
a557f9cc
AM
5990 * ipa.c (cgraph_remove_unreachable_nodes): External references can
5991 always be removed.
5992 (cgraph_externally_visible_p): We can not bring local comdats that
5993 are known to linker; fix handling of internal visibility.
0e9ea52b
JH
5994 (function_and_variable_visibility): Likewise.
5995
9c506f10
EB
59962010-10-06 Eric Botcazou <ebotcazou@adacore.com>
5997
5998 PR rtl-optimization/45394
5999 * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
6000 (struct rtx_subst_pair): Remove AFTER field.
6001 (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
6002 (propagate_for_debug): Remove MOVE parameter and adjust.
6003 (try_combine): In the special case where I2 is a PARALLEL, combine only
6004 destinations of SETs and set I2SRC to the I2 source.
6005 Adjust calls to propagate_for_debug throughout.
6006 * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
6007 insns.
6008
35c26820
OH
60092010-10-06 Olivier Hainque <hainque@adacore.com>
6010
6011 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
6012 switch on insn codes as sequence of ifs.
6013
9c506f10
EB
60142010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com>
6015
131e5634
HS
6016 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
6017 be UI_NONE for picochip.
6018 (picochip_option_override): Do not disable exception flags.
9c506f10 6019 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
131e5634
HS
6020 Declare.
6021
85194319
RG
60222010-10-06 Richard Guenther <rguenther@suse.de>
6023
6024 * Makefile.in (regmove.o): Depend on $(TARGET_H).
6025
f05b9d93
NP
60262010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
6027
a557f9cc 6028 Implemented fast enumeration for Objective-C.
f05b9d93
NP
6029 * c-parser.c (objc_could_be_foreach_context): New.
6030 (c_lex_one_token): Recognize RID_IN keyword in a potential
6031 Objective-C foreach context.
6032 (c_parser_declaration_or_fndef): Added parameter. Accept
6033 Objective-C RID_IN keyword as terminating a declaration; in that
6034 case, return the declaration in the new parameter.
6035 (c_parser_extenral_declaration): Updated calls to
6036 c_parser_declaration_or_fndef.
6037 (c_parser_declaration_or_fndef): Same change.
6038 (c_parser_compound_statement_nostart): Same change.
6039 (c_parser_label): Same change.
6040 (c_parser_objc_methodprotolist): Same change.
6041 (c_parser_omp_for_loop): Same change.
6042 (c_parser_for_statement): Detect and parse Objective-C foreach
6043 statements.
6044 (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
6045 * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
6046 fast enumeration parsing code to turn off the c99 error but still
6047 perform checks on the loop declarations.
6048 * c-tree.h (check_for_loop_decls): Updated declaration.
6049 * doc/objc.texi: Document fast enumeration.
a557f9cc 6050
2720cc47
NC
60512010-10-06 Nick Clifton <nickc@redhat.com>
6052
bdf057c6 6053 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
2720cc47 6054 (MDR_REGNUM): Define.
bdf057c6 6055 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register.
2720cc47
NC
6056 (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
6057 (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
6058 (REGISTER_NAMES): Add MDR.
6059 (DWARF2_DEBUGGING_INFO): Define to 1.
6060 * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
6061 (F): New function. Sets RTX_FRAME_RELATED_P.
6062 (mn10300_gen_multiple_store): Use F.
6063 (expand_prologue): Use F. Use gen_movsf() to push floating
6064 point registers.
bdf057c6 6065 (expand_epilogue): Use gen_movsf() to pop floating point registers.
2720cc47
NC
6066 (mn10300_option_override): Disable combine stack adjust pass.
6067
28ce2f29
TS
60682010-10-06 Thomas Schwinge <thomas@schwinge.name>
6069
6070 PR target/45901
6071 * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
6072 LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
6073
d724c876
JJ
60742010-10-06 Jakub Jelinek <jakub@redhat.com>
6075
933bc232
JJ
6076 * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
6077 BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
6078 BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
6079 BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
6080 BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
6081 BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
6082 BUILT_IN_TOUPPER): Mark as leaf.
6083
d724c876
JJ
6084 PR middle-end/45838
6085 * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
6086 BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
6087 BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
6088 BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
6089 BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
6090 BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
6091 Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
6092
c1f9afd1
AS
60932010-10-05 Anatoly Sokolov <aesok@post.ru>
6094
6095 * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
6096 * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
6097 (m68hc11_class_likely_spilled_p): New function.
6098
a26d8862
NP
60992010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
6100
6101 * c-parser.c (c_parser_objc_method_definition): Updated comment.
6102
852e4bd2
JH
61032010-10-05 Jan Hubicka <jh@suse.cz>
6104
6105 * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
6106 Document.
6107 * opts.c (decode_options): Handle lto partitions.
6108 * common.opt (flto-partition=1to1, flto-partition=balanced): New.
6109 * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
6110
61112010-10-05 Jan Hubicka <jh@suse.cz>
5806d9ac
JH
6112
6113 * cgraphunit.c (assemble_function): Output thunks and aliases before
6114 the function itself.
6115
9c506f10 61162010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
0378450e
HS
6117
6118 * config/picochip/picochip.c (picochip_option_override): Disable
6119 exception flags for picochip.
6120
1ebe4b4f
JM
61212010-10-05 Joseph Myers <joseph@codesourcery.com>
6122
6123 * opts-common.c (handle_option, handle_generated_option,
6124 read_cmdline_option, set_option): Add diagnostic_context
6125 parameter. Update calls among these functions.
6126 (set_option): Don't use global_dc.
bdf057c6 6127 * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option.
1ebe4b4f
JM
6128 (decode_options): Pass global_dc to enable_warning_as_error.
6129 (common_handle_option): Pass global_dc to enable_warning_as_error.
6130 (enable_warning_as_error): Add diagnostic_context parameter.
6131 Document parameters. Don't use global_dc. Pass
6132 diagnostic_context parameter to handle_generated_option.
6133 * opts.h (set_option, handle_option, handle_generated_option,
6134 read_cmdline_option, enable_warning_as_error): Add
6135 diagnostic_context parameter.
6136 * Makefile.in (lto-opts.o): Update dependencies.
6137 * coretypes.h (struct diagnostic_context, diagnostic_context):
6138 Declare here.
6139 * diagnostic.h (diagnostic_context): Don't declare typedef here.
6140 * gcc.c (process_command): Pass global_dc to read_cmdline_option.
6141 * langhooks-def.h (struct diagnostic_context): Don't declare here.
6142 (lhd_print_error_function, lhd_initialize_diagnostics): Declare
6143 using diagnostic_context typedef.
6144 * langhooks.c (lhd_initialize_diagnostics): Declare using
6145 diagnostic_context typedef.
6146 * langhooks.h (struct diagnostic_context): Don't declare here.
6147 (initialize_diagnostics, print_error_function): Declare using
6148 diagnostic_context typedef.
6149 * lto-opts.c: Include diagnostic.h.
6150 (lto_reissue_options): Pass global_dc to set_option. Pass
6151 DK_UNSPECIFIED not 0.
6152 * plugin.c (plugins_internal_error_function): Declare using
6153 diagnostic_context typedef.
6154 * plugin.h (struct diagnostic_context): Don't declare here.
6155 (plugins_internal_error_function): Declare using
6156 diagnostic_context typedef.
6157
bcee41ff 61582010-10-05 Olivier Hainque <hainque@adacore.com>
bdf057c6 6159 Nicolas Roche <roche@adacore.com>
bcee41ff
OH
6160
6161 * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
6162 * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
6163
694a4f61
IR
61642010-10-05 Ira Rosen <irar@il.ibm.com>
6165
6166 PR tree-optimization/45752
6167 * tree-vect-slp.c (vect_get_mask_element): Remove static
6168 variables, make them function arguments.
6169 (vect_transform_slp_perm_load): Pass new arguments to
6170 vect_get_mask_element.
6171
4d3814a5
RG
61722010-10-05 Richard Guenther <rguenther@suse.de>
6173
6174 * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
6175 (gimple_mod_pow2): Likewise.
6176 (gimple_mod_subtract): Likewise.
6177 (gimple_ic): Likewise.
6178 (gimple_stringop_fixed_value): Likewise.
6179 * tree-profile.c (tree_init_edge_profiler): Mark profile
6180 functions nothrow and leaf.
6181 (add_abnormal_goto_call_edges): Remove.
6182 (tree_gen_edge_profiler): Work on SSA form.
6183 (tree_gen_ic_profiler): Likewise. Simplify.
6184 (do_tree_profiling): Update SSA form.
6185 (pass_tree_profile): Remove.
6186 (do_tree_profiling): Likewise.
6187 (gate_tree_profile_ipa): New function.
6188 (pass_ipa_tree_profile): New.
6189 (tree_profiling): Re-write as IPA pass. Properly drop const/pure
6190 state of instrumented functions.
6191 * passes.c (init_optimization_passes): Remove early non-SSA
6192 inlining. Move profiling after early optimizations.
6193 * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
6194 (pass_ipa_early_inline): Likewise.
6195 * tree-pass.h (pass_ipa_early_inline): Remove.
6196 (pass_tree_profile): Likewise.
6197 (pass_ipa_tree_profile): Declare.
6198
65b1d8ea 61992010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
bdf057c6 6200 Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
65b1d8ea 6201
8b7e8529 6202 * config/s390/s390.c (z196_cost): New.
65b1d8ea
AK
6203 (s390_handle_arch_option): Add -march=z196.
6204 (s390_option_override): Use the new cost function and use the z10
6205 defaults also for z196.
6206 (legitimate_reload_constant_p): Adjust comment.
6207 (legitimate_reload_fp_constant_p): New function.
6208 (s390_preferred_reload_class): Distingiush between FP and Int constants.
6209 (preferred_la_operand_p): Avoid la with index on z196.
6210 (s390_adjust_priority): Trigger also for z196.
6211 (s390_issue_rate): Issue rate for z196 is 3.
6212 (s390_z10_fix_long_loop_prediction): Rename to ...
6213 (s390_fix_long_loop_prediction): ... this.
6214 (s390_reorg): Apply the z10 adjustments also for z196.
6215 (s390_loop_unroll_adjust): Do this also for z196.
8b7e8529 6216 * config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
65b1d8ea
AK
6217 (enum processor_flags): Add PF_Z196.
6218 (TARGET_AVOID_CMP_AND_BRANCH): New macro.
6219 (TARGET_CPU_Z196, TARGET_Z196): New macros.
8b7e8529
EB
6220 * config.gcc: Enable z196 for --with-arch.
6221 * config/s390/2817.md: New file.
6222 * config/s390/2084.md: New type for multiply and add.
6223 * config/s390/2097.md: Likewise.
6224 * config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
65b1d8ea
AK
6225 (UNSPECV_ATOMIC_OP): New constants.
6226 (fmadddf, fmaddsf): New values for type attribute.
6227 (z196prop): New insn attribute.
6228 (cpu, cpu_facility): Add z196.
6229 (ATOMIC_Z196): New code iterator.
6230 (noxa): New code attribute.
6231 (gk): New mode attribute.
6232 (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
6233 Support load zero for fp constants.
6234 (fixuns_truncdddi2, fixuns_trunctddi2)
6235 (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
6236 for z196.
6237 (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
6238 (popcounthi2, popcountqi2): New expander.
6239 (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
6240 (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
6241 (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
6242 insn definition.
6243 (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
6244 (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
bdf057c6
UB
6245 (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc)
6246 (*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly)
6247 (*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly)
6248 (*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc)
6249 (*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch
6250 (*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc)
6251 (*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch)
6252 (*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly)
6253 (*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and)
6254 (*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
65b1d8ea
AK
6255 (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
6256 Support new z196 instructions.
6257
6e572326
RG
62582010-10-05 Richard Guenther <rguenther@suse.de>
6259
6260 PR middle-end/45877
6261 * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
6262 case where gimplification optimizes away the stmt.
6263
098db05e
JJ
62642010-10-04 Jakub Jelinek <jakub@redhat.com>
6265
6266 PR debug/45849
6267 * var-tracking.c (strip_pointer_flags): New function.
6268 (emit_note_insn_var_location): If rtx_equal_p check failed,
6269 retry on locations simplified with simplify_replace_fn_rtx
6270 and strip_pointer_flags as its callback.
6271
b3b9f3d0
JH
62722010-10-04 Jan Hubicka <jh@suse.cz>
6273
6274 * gimple-fold.c (static_object_in_other_unit_p): Rename to...
6275 (can_refer_decl_in_current_unit_p): ... this one; reverse return
6276 value; handle comdats too.
6277 (canonicalize_constructor_val): Use it; handle function_decls
6278 correctly.
6279 (gimple_fold_obj_type_ref_known_binfo): Likewise.
6280 * gimple.c (get_base_address): Accept all kinds of decls.
6281
fa37ed29
JM
62822010-10-04 Joseph Myers <joseph@codesourcery.com>
6283
6284 * flags.h (g_switch_value, g_switch_set): Remove.
6285 * opts.c (g_switch_value, g_switch_set): Remove.
6286 * config/g.opt (G): Add Var(g_switch_value).
bdf057c6 6287 * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here.
fa37ed29
JM
6288 (alpha_option_override): Check global_options_set.x_g_switch_value
6289 instead of g_switch_set.
6290 (alpha_in_small_data_p): Remove cast in comparison with
6291 g_switch_value.
6292 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
6293 g_switch_value to unsigned HOST_WIDE_INT.
6294 * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
6295 with g_switch_value.
6296 (frv_handle_option): Don't handle -G here.
6297 (frv_option_override): Check global_options_set.x_g_switch_value
6298 instead of g_switch_set. Don't modify g_switch_set.
bdf057c6 6299 (frv_in_small_data_p): Remove cast in comparison with g_switch_value.
fa37ed29
JM
6300 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
6301 g_switch_value to unsigned HOST_WIDE_INT.
6302 * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
6303 (ia64_option_override): Check global_options_set.x_g_switch_value
6304 instead of g_switch_set.
6305 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
6306 Remove.
6307 (lm32_in_small_data_p): Remove cast in comparison with
6308 g_switch_value.
6309 * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
6310 ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
6311 HOST_WIDE_INT.
6312 * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
6313 (m32r_init): Check global_options_set.x_g_switch_value instead of
6314 g_switch_set.
6315 (m32r_in_small_data_p): Remove cast in comparison with
6316 g_switch_value.
6317 (m32r_file_start): Format g_switch_value with %d.
6318 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
bdf057c6 6319 ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT.
fa37ed29
JM
6320 * config/microblaze/microblaze.c (microblaze_handle_option): Don't
6321 handle -G here.
6322 (microblaze_option_override): Check
6323 global_options_set.x_g_switch_value instead of g_switch_set.
6324 * config/mips/mips.c (mips_handle_option): Don't handle -G here.
6325 (mips_option_override): Check global_options_set.x_g_switch_value
6326 instead of g_switch_set.
bdf057c6 6327 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here.
fa37ed29
JM
6328 (rs6000_file_start): Format g_switch_value with %d.
6329 (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
6330 comparisons with g_switch_value.
6331 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
6332 global_options_set.x_g_switch_value instead of g_switch_set.
6333 * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
6334 global_options_set.x_g_switch_value instead of g_switch_set.
bdf057c6 6335 * config/score/score.c (score_handle_option): Don't handle -G here.
fa37ed29
JM
6336 * config/score/score3.c (score3_option_override): Check
6337 global_options_set.x_g_switch_value instead of g_switch_set.
6338 * config/score/score7.c (score7_option_override): Check
6339 global_options_set.x_g_switch_value instead of g_switch_set.
6340
22b0982c
VM
63412010-10-04 Vladimir Makarov <vmakarov@redhat.com>
6342
6343 * common.opt (fira-coalesce): Remove.
6344
6345 * doc/invoke.texi (flag_ira_coalesce): Remove.
6346
6347 * ira-color.c (allocno_coalesced_p): Move before
6348 copy_freq_compare_func.
6349 processed_coalesced_allocno_bitmap): Ditto.
6350 (update_conflict_hard_regno_costs): Don't use
6351 ALLOCNO_FIRST_COALESCED_ALLOCNO.
6352 (allocno_cost_compare_func, print_coalesced_allocno): Remove.
6353 (assign_hard_reg): Assume no coalesced allocnos.
6354 (get_coalesced_allocnos_attributes): Remove.
6355 (bucket_allocno_compare_func): Assume no coalesced allocnos.
6356 (push_allocno_to_stack): Ditto.
6357 (remove_allocno_from_bucket_and_push): Use
6358 ira_print_expanded_allocno instead of print_coalesced_allocno.
6359 (push_allocnos_to_stack): Assume uncoalesced allocnos.
6360 (all_conflicting_hard_regs_coalesced): Ditto. Rename to
6361 all_conflicting_hard_regs.
6362 (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
6363 (setup_allocno_left_conflicts_size): Ditto.
6364 (put_allocno_into_bucket): Ditto.
6365 (copy_freq_compare_func): Remove.
6366 (copy_freq_compare_func, merge_allocnos): Move before
6367 coalesced_pseudo_reg_freq_compare.
6368 coalesced_allocno_conflict_p): Ditto.
6369 (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove
6370 parameter. Assume it true.
6371 (color_allocnos): Assume uncoalesced allocnos. Use
6372 ira_print_expanded_allocno instead of print_coalesced_allocno.
6373 (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
6374 parameter.
6375
6376 * ira.c: Remove comment about coalescing.
6377
f770d743
JM
63782010-10-04 Joseph Myers <joseph@codesourcery.com>
6379
6380 * config/mips/mips.h (target_flags_explicit): Declare for
6381 GENERATOR_FILE.
6382
ba4debed 63832010-10-04 Andi Kleen <ak@linux.intel.com>
a90163e9
AK
6384
6385 * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
a557f9cc 6386 gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
a90163e9 6387
6fda54ac
MK
63882010-10-04 Matthias Klose <doko@ubuntu.com>
6389
6390 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
6391 multilib osdirname if it exists.
6392 * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
6393
828fde80
JJ
63942010-10-04 Jakub Jelinek <jakub@redhat.com>
6395
6396 PR middle-end/45876
6397 * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
6398 arg0's type or its unsigned counterpart as utype. Convert
6399 arg1 to utype unconditionally.
6400
c452684d
JB
64012010-10-04 Julian Brown <julian@codesourcery.com>
6402
6403 * expr.c (expand_assignment): Add assertion to prevent emitting
6404 null rtx for movmisalign pattern.
6405 (expand_expr_real_1): Likewise.
6406 * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
6407 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
6408 (arm_vector_alignment_reachable): New.
6409 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
6410 (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
6411 (arm_print_operand): Include alignment qualifier in %A.
6412 * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
6413 (movmisalign<mode>): New expander.
6414 (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
6415 insn patterns.
6416
d4d24ba4
JM
64172010-10-04 Joseph Myers <joseph@codesourcery.com>
6418
6419 * optc-gen.awk: Define global_options_set. Don't define
6420 target_flags_explicit.
6421 * opth-gen.awk: Declare global_options_set. Define
6422 target_flags_explicit as macro.
6423 * opts-common.c (handle_option): Take opts_set and generated_p
6424 parameters.
6425 (handle_generated_option, read_cmdline_option, set_option): Take
6426 opts_set parameter.
6427 (set_option): Use opts_set instead of hardcoding target_flags and
6428 target_flags_explicit.
6429 * opts.c (sel_sched_switch_set, profile_arc_flag_set,
6430 flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
6431 flag_value_profile_transformations_set, flag_peel_loops_set,
6432 flag_branch_probabilities_set, flag_inline_functions_set,
6433 flag_ipa_cp_set, flag_ipa_cp_clone_set,
6434 flag_predictive_commoning_set, flag_unswitch_loops_set,
6435 flag_gcse_after_reload_set): Remove.
6436 (common_handle_option, lang_handle_option, target_handle_option):
6437 Take opts_set parameter. Assert that it is &global_options_set.
6438 (common_handle_option): Don't set _set variables. Check opts_set
6439 instead of such variables.
6440 (enable_warning_as_error): Pass &global_options_set to
6441 handle_generated_option.
6442 * opts.h (cl_option_handler_func.handler, set_option,
6443 handle_option, handle_generated_option, read_cmdline_option): Add
6444 opts_set parameters.
6445 (handle_option): Add generated_p parameter.
6446 * config/i386/i386.c (ix86_function_specific_save,
6447 ix86_function_specific_restore): Updat for renaming of
6448 target_flags_explicit field.
6449 * config/i386/i386.opt (target_flags_explicit): Rename to
6450 ix86_target_flags_explicit.
6451 * config/ia64/ia64.c (ia64_override_options_after_change): Check
6452 global_options_set.x_flag_selective_scheduling and
6453 global_options_set.x_flag_selective_scheduling2, not
6454 sel_sched_switch_set.
6455 * flags.h (sel_sched_switch_set,
6456 flag_speculative_prefetching_set): Remove.
6457 * gcc.c (driver_handle_option): Take opts_set parameter. Assert
6458 that it is &global_options_set.
bdf057c6 6459 (process_command): Pass &global_options_set to read_cmdline_option.
d4d24ba4
JM
6460 * lto-opts.c (lto_reissue_options): Pass &global_options_set to
6461 set_option.
6462 * toplev.c (target_flags_explicit): Remove.
6463
4a2da105
JH
64642010-10-04 Jan Hubicka <jh@suse.cz>
6465
6466 PR middle-end/45871
6467 * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
6468 use get_ref_base_and_offset to handle references.
6469 (fold_const_aggregate_ref): Update.
6470
1dbee8c9
MJ
64712010-10-04 Martin Jambor <mjambor@suse.cz>
6472
6473 PR tree-optimization/45572
6474 * ipa-prop.c (ipa_make_edge_direct_to_target): Call
6475 ipa_check_create_node_params.
6476 * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
6477
eeb4dfda
YQ
64782010-10-04 Yao Qi <yao@codesourcery.com>
6479
6480 * doc/passes.texi: Clean up.
6481
478a1c5b
ILT
64822010-10-03 Ian Lance Taylor <iant@google.com>
6483
6484 * c-typeck.c (lookup_field): If -fplan9-extensions, permit
6485 referring to a field using a typedef name.
6486 (find_anonymous_field_with_type): New static function.
6487 (convert_to_anonymous_field): New static function.
6488 (convert_for_assignment): If -fplan9-extensions, permit converting
6489 pointer to struct to pointer to anonymous field.
bdf057c6 6490 * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields.
478a1c5b
ILT
6491 (is_duplicate_field): New static function.
6492 (detect_field_duplicates_hash): If -fplan9-extensions, check for
6493 typedef names duplicating field names.
6494 (detect_field_duplicates): Likewise.
6495 * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
6496 (C Dialect Options): Document -fplan9-extensions.
6497 * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
6498
a1e53f3f
L
64992010-10-03 H.J. Lu <hongjiu.lu@intel.com>
6500
6501 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
6502 revision 164914.
6503 (vect_create_data_ref_ptr): Likewise.
6504 * tree-vect-stmts.c (vectorizable_store): Likewise.
6505 (perm_mask_for_reverse): Likewise.
6506 (reverse_vec_elements): Likewise.
6507 (vectorizable_load): Likewise.
6508
82a1c2fe
FXC
65092010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6510
6511 * cppbuiltin.c: New file.
6512 * cppbuiltin.h: New file.
6513 * Makefile.in: Take into account cppbuiltin.{h,c}.
6514
ba4debed 65152010-10-03 Andi Kleen <ak@linux.intel.com>
f1e92a43 6516
82a1c2fe 6517 * lto-cgraph.c (input_cgraph): Check for missing sections.
f1e92a43 6518
5ed69344
UB
65192010-10-03 Uros Bizjak <ubizjak@gmail.com>
6520
bdf057c6 6521 * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate
5ed69344
UB
6522 to nonimmediate_operand. Force operand 2 to register when allowed.
6523 (*<shiftrt_insn><mode>3_mask): Ditto.
6524 (*<rotate_insn><mode>3_mask): Ditto.
6525
888a22d0
L
65262010-10-02 H.J. Lu <hongjiu.lu@intel.com>
6527
6528 PR tree-optimization/45720
6529 PR tree-optimization/45764
6530 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
6531 Don't accept backwards consecutive accesses.
6532 (vect_create_data_ref_ptr): Disallow negative steps.
6533
6534 * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
6535 (perm_mask_for_reverse): Removed.
6536 (reverse_vec_elements): Likewise.
5ed69344 6537 (vectorizable_load): Don't handle negative steps.
888a22d0 6538
31ceb574
JH
65392010-10-02 Jan Hubicka <jh@suse.cz>
6540
6541 * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
6542 call destination is known.
6543
715a567d
JDA
65442010-10-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6545
6546 PR target/45820
6547 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
6548 earlier.
6549
ffedf511
RW
65502010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6551
6552 * doc/install.texi (Configuration): Document build_configargs,
6553 host_configargs, target_configargs.
6554
c44d6c47
UB
65552010-10-01 Uros Bizjak <ubizjak@gmail.com>
6556
6557 * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
6558 (*<shiftrt_insn><mode>3_mask): Ditto.
6559 (*<rotate_insn><mode>3_mask): Ditto.
6560
1cc2d70b
SE
65612010-10-01 Steve Ellcey <sje@cup.hp.com>
6562
6563 PR tree-optimization/44716
6564 * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
6565 (HOT_TEXT_SECTION_NAME): Define.
6566
ccaeeafe
NC
65672010-10-01 Nick Clifton <nickc@redhat.com>
6568
6569 * common.opt: Add -fcombine-stack-adjustments.
c44d6c47 6570 * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
ccaeeafe
NC
6571 * combine-stack-adj.c (gate_handle_stack_adjustments): Check
6572 flag_combine_stack_adjustments.
6573 * doc/invoke.texi: Document the new option.
6574
0d228a52
RG
65752010-10-01 Richard Guenther <rguenther@suse.de>
6576
6577 PR tree-optimization/45854
6578 * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
6579
83f7dcf2
AG
65802010-10-01 Anthony Green <green@moxielogic.com>
6581
6582 * config.gcc: Fix moxie-*-rtems* configuration.
6583
29aca1e1
RG
65842010-10-01 Richard Guenther <rguenther@suse.de>
6585
6586 * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
6587 (gen_decl_die): Likewise.
6588
fec6e65b
UW
65892010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6590
6591 * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
6592 to the function code for SPU MD builtins.
6593 (spu_expand_builtin): Update.
6594 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
6595
1ae3762d
UW
65962010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6597
6598 * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
6599 sjlj_except_unwind_info.
6600
16045c71
TG
66012010-10-01 Tristan Gingold <gingold@adacore.com>
6602
6603 * configure.ac: Define the nop insn for avr*-*-*
6604 * configure: Regenerate.
6605
d7e7073f
AM
66062010-10-01 Alan Modra <amodra@gmail.com>
6607
6608 PR target/45807
6609 * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
6610 extend toc_restore_insn.
6611
c98b08ff
RG
66122010-09-30 Richard Guenther <rguenther@suse.de>
6613
6614 PR tree-optimization/43959
6615 * function.c (gimplify_parameters): Use create_tmp_reg instead of
6616 create_tmp_var.
6617
e631262b
KK
66182010-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
6619
6620 * config/sh/sh.c (sh_expand_prologue): Set
6621 current_function_static_stack_size.
6622
319840d3
RO
66232010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6624
6625 * configure.ac: Check for Solaris 8 ld with .hidden support.
6626 * configure: Regenerate.
6627
cdb9802c
SP
66282010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6629
6630 PR middle-end/45758
6631 * graphite.c (graphite_initialize): Call scev_reset.
6632
8ba78f92
SP
66332010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6634
6635 * sese.h (scev_analyzable_p): Return false for real or floating
6636 point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
6637
cb5f9ec6
SP
66382010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6639
6640 * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
6641 and ps.
6642 * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
6643 domain.
6644 * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
6645 Do not allocate ub_expr, it is passed in initialized.
6646
03c830c2
SP
66472010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
6648
6649 * graphite-clast-to-gimple.c (init_cloog_input_file): New.
6650 (build_cloog_prog): Dump CLooG input file when
6651 flag_graphite_dump_cloog is set. This is disabled on trunk.
6652 * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
6653
61c6973f
SP
66542010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6655
6656 * graphite-clast-to-gimple.c (graphite_verify): Remove call to
6657 verify_dominators for CDI_POST_DOMINATORS.
6658 * sese.h: Remove comment about CDI_POST_DOMINATORS.
6659 (recompute_all_dominators): Remove call to free_dominance_info
6660 for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info
6661 for CDI_POST_DOMINATORS.
6662
aad78a1a
SP
66632010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6664
6665 * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
6666 over pbb_dim_iter_domain.
6667
26315ccf
SP
66682010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6669
6670 * graphite-flattening.c: Fix comments.
6671
98af4c9f
SP
66722010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6673
6674 * Makefile.in (OBJS-common): Add graphite-flattening.o.
6675 (graphite-flattening.o): New rule.
6676 * common.opt (floop-flatten): New flag.
6677 * doc/invoke.texi (-floop-flatten): Documented.
6678 * graphite-flattening.c: New.
6679 * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
6680 * graphite-poly.h (flatten_all_loops): Declared.
6681 (lst_remove_loop_and_inline_stmts_in_loop_father): New.
6682 * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
6683 is set, also set flag_graphite.
6684
c498b9b9
SP
66852010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6686
6687 * graphite-poly.c (cloog_checksum): New.
6688 * graphite-poly.h (cloog_checksum): Declared.
6689
26ccb556
SP
66902010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6691
6692 * graphite-poly.c (pbb_number_of_iterations): Removed.
6693 (pbb_number_of_iterations_at_time): Correctly compute the number
6694 of iterations in the transformed loop.
6695 * graphite-poly.h (pbb_number_of_iterations): Removed.
6696
b8745012
SP
66972010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6698
6699 * graphite-poly.h (lst_update_scattering_seq): Removed.
6700 (lst_update_scattering): Correctly handle outermost loop dewey
6701 renumbering.
6702
22280f63
SP
67032010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6704
6705 * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
6706 lst_strip_mine_profitable_p. Call lst_niter_for_loop.
6707 * graphite-poly.h (lst_niter_for_loop): New.
6708
6eb412ef
SP
67092010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6710
6711 * graphite-poly.c (apply_poly_transforms): Do not abort when the
6712 transform read from disk is not legal. Call fatal_error instead.
6713
0ba82567
SP
67142010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6715
6716 * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
6717 (print_scop_header): Removed. Inlined in the only call place...
6718 (print_scop): ... here.
6719
69ac2bb6
SP
67202010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6721
6722 * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
6723
67242010-09-30 Sebastian Pop <sebastian.pop@amd.com>
da8cebd1
SP
6725
6726 * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
6727
1635d7b0
SP
67282010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6729
6730 * graphite-dependences.c (dot_deps): Avoid set but not used warning.
6731 (dot_deps_stmt): Same.
6732 * graphite-poly.c (dot_lst): Same.
6733
3a7cd438
SP
67342010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6735
6736 * graphite-blocking.c (scop_do_strip_mine): Do not call
6737 graphite_legal_transform.
6738 (scop_do_block): Same.
6739
45fc26fc
VK
67402010-09-30 Vladimir Kargov <kargov@gmail.com>
6741
6742 * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
6743 description.
6744
dbc08079
SP
67452010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6746
6747 * tree-scalar-evolution.c (instantiate_array_ref): New.
6748 (instantiate_scev_r): Also handle ARRAY_REFs.
6749
492e5456
SP
67502010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6751
6752 * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
6753 Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
6754 RESULT_DECL, and FIELD_DECL. Return false for an
6755 SSA_NAME_IS_DEFAULT_DEF.
6756 (compute_scalar_evolution_in_loop): Do not further analyze the
6757 scalar evolution when no_evolution_in_loop_p returns true.
6758
21d91009
SP
67592010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6760
6761 * tree-chrec.h (evolution_function_is_affine_p): Do not check
6762 whether CHREC_LEFT is invariant. A function is affine when
6763 CHREC_RIGHT is invariant.
6764
c2bc669e
SP
67652010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6766
6767 * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
6768 is_gimple_reg.
6769 (rewrite_degenerate_phi): Same.
6770 (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
6771
56f30f65
VK
67722010-09-30 Vladimir Kargov <kargov@gmail.com>
6773
6774 * graphite-scop-detection.c (graphite_can_represent_scev,
6775 graphite_can_represent_expr, stmt_has_simple_data_refs_p,
6776 graphite_can_represent_loop): Remove outermost_loop.
6777
b4c8119f
SP
67782010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6779
6780 PR middle-end/45229
6781 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
6782 handle GIMPLE_CALLs with no LHS.
6783
ba4debed 67842010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
f06ecc4b
RB
6785
6786 * graphite-poly.c (init_graphite_out_file): New.
6787 (init_graphite_in_file): New.
6788 (apply_poly_transforms): Updated to enable reading and writing of
6789 multiple scop files.
6790
d9ae7906
SP
67912010-09-30 Tobias Grosser <grosser@fim.uni-passau.de>
6792
6793 * graphite-scop-detection.c (graphite_can_represent_scev): Remove
6794 redundant checks.
6795
67962010-09-30 Sebastian Pop <sebastian.pop@amd.com>
02315365
SP
6797
6798 * graphite-clast-to-gimple.c (precision_for_value): Adjust
6799 computation of precision by 1.
6800
ba4debed 68012010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
721c8b1e
RB
6802
6803 * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
6804 (openscop_read_polyhedron_matrix): New.
6805 * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
6806 (openscop_read_N_int): Same.
6807 * graphite-poly.c (openscop_read_N_int): New.
6808 (openscop_read_one_int): New.
6809 (openscop_read_N_string): New.
6810 (openscop_read_one_string): New.
6811 (openscop_read_powerset_matrix): New.
6812 (graphite_read_transforms): Remove.
6813 (graphite_read_scatt): New.
6814 (graphite_read_scop_file): New.
6815 (apply_poly_transforms): Updated to call graphite_read_scop_file.
6816
fd8bb591
AS
68172010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
6818
6819 * graphite-poly.c: Change include order.
6820
562c1b02
AS
68212010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
6822
6823 * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
6824 (cloog_matrix_nrows): New.
6825
ba4debed 68262010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
7241f8c5
RB
6827
6828 * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
6829 from matrix lines.
6830 * graphite-poly.c (openscop_print_scattering_function_1): Same.
6831 (print_scattering_function_1): Same.
6832 (openscop_print_pbb_domain): Same.
6833 (openscop_print_scop_context): Same.
6834 (print_scop_context): Same.
6835
ba4debed 68362010-09-30 Riyadh Baghdad <baghdadi.mr@gmail.com>
d72f5037
RB
6837
6838 * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
6839 (openscop_print_pdr_polyhedron): Print pph.
6840
c6060639
SP
68412010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6842
6843 * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
6844 priority signed types.
6845
2c2aceeb
SP
68462010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6847
c44d6c47
UB
6848 * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
6849 the call to lang_hooks.types.type_for_size. Call
6850 build_nonstandard_integer_type.
2c2aceeb 6851
ba4debed 68522010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
ae403f5a
RB
6853
6854 * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
6855 (openscop_print_polyhedron_matrix): New.
6856 * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
6857 * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
6858 (openscop_print_pdr_powerset): New.
6859 (openscop_print_powerset_matrix): New.
6860 (openscop_print_scattering_function_1): New.
6861 (print_scattering_function): Add support for scattering names and
6862 OpenScop format.
6863 (graphite_write_transforms): Remove.
6864 (print_pdr_access_layout): Updated to support OpenScop format.
6865 (print_pdr): Same.
6866 (openscop_print_pbb_domain): New.
c44d6c47
UB
6867 (print_pbb_body): Added a parameter to allow indicating that pbb_body
6868 is not provided.
ae403f5a
RB
6869 (print_pbb): Updated to call the new print_pbb_body.
6870 (openscop_print_scop_context): New.
6871 (print_scop_header): New.
6872 (print_scop): Updated to call print_scop_header.
6873 * graphite-poly.h: Document OpenScop format.
6874
b95491a0
AS
68752010-09-30 Anatoly Sokolov <aesok@post.ru>
6876
6877 * config/cris/m32c.c (cris_memory_move_cost): New.
6878 (cris_register_move_cost): Make static. Change arguments type from
6879 enum reg_class to reg_class_t.
6880 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
6881 * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
6882 * config/cris/cris-protos.h (cris_register_move_cost): Remove.
6883
45c13d4c
JJ
68842010-09-30 Jakub Jelinek <jakub@redhat.com>
6885
6886 PR target/45843
6887 * config/i386/i386.c (ix86_gimplify_va_arg): Use
6888 INTVAL (XEXP (slot, 1)) as prev_size.
6889
78009d9f
MM
68902010-09-30 Michael Meissner <meissner@linux.vnet.ibm.com>
6891
6892 PR target/45837
6893 * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
6894 * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
6895 defined.
6896 * config/rs6000/option-defaults.h (toplevel): Change #if
6897 TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
6898 global option changes.
6899
140d4eff
JJ
69002010-09-30 Jakub Jelinek <jakub@redhat.com>
6901
bb6b5461
JJ
6902 * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
6903
140d4eff
JJ
6904 PR tree-optimization/31261
6905 * fold-const.c (fold_binary): Optimize ((A & N) + B) & M
6906 for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
6907
6ddddaed
RW
69082010-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6909
6910 PR bootstrap/45796
6911 * Makefile.in (build/gen%$(build_exeext)): Move rule after all
6912 special-casing for generators and turn into ...
6913 ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
c44d6c47 6914 rule, for better error messages in case of toplevel dependency errors.
6ddddaed
RW
6915 (genprog): Add hooks, rename to ...
6916 (genprogerr): ... this, and let genprog also contain check,
6917 checksum, condmd.
6918 ((genprog:%=build/gen%$(build_exeext))): Rename to ...
6919 ((genprogerr:%=build/gen%$(build_exeext))): ... this.
6920 (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
6921
abcc9b2a 69222010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
c44d6c47 6923 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
abcc9b2a
JW
6924
6925 * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
6926 for GMP, MPFR and MPC.
6927
c28aa982
RO
69282010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6929
6930 * config/sparc/sparc.opt (mimpure-text): Move ...
c44d6c47 6931 * config/sol2.opt: ... here. Correct description.
c28aa982
RO
6932 * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
6933 * doc/invoke.texi (Option Summary, SPARC Options): Move
6934 -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
6935 (Option Summary, Solaris 2 Options): ... here.
6936 (Submodel Options, Solaris 2 Options): New menu entry.
6937 (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
6938 (Solaris 2 Options): ... here.
6939
80920132
ME
69402010-09-30 Michael Eager <eager@eagercon.com>
6941
6942 * extend.texi (interrupt_handler): Add MicroBlaze to list.
6943 (save_volatiles): Describe option for MicroBlaze.
6944 * invoke.texi: Add MicroBlaze Options.
a557f9cc 6945 * contrib.texi: Add acknowledgment.
80920132
ME
6946 * md.texi: Add MicroBlaze d and z constraints.
6947 * install.texi: Add microblaze-*-elf.
6948 * configure.ac: Add microblaze-*-* to target list.
6949 * configure: Regenerate.
6950 * config.gcc: Add microblaze*-*-*, microblaze*-linux*.
6951 * config/microblaze/microblaze-protos.h: New.
6952 * config/microblaze/crti.s: New.
6953 * config/microblaze/predicates.md: New.
6954 * config/microblaze/linux.h: New.
6955 * config/microblaze/microblaze.md: New.
6956 * config/microblaze/constraints.md: New.
6957 * config/microblaze/crtn.s: New.
6958 * config/microblaze/microblaze.opt: New.
6959 * config/microblaze/microblaze-c.c: New.
6960 * config/microblaze/t-microblaze: New.
6961 * config/microblaze/microblaze.c: New.
6962 * config/microblaze/microblaze.h: New.
6963
92902b1b
IS
69642010-09-30 Iain Sandoe <iains@gcc.gnu.org>
6965
6966 * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
6967 parse @optional/@required and set the flags as appropriate.
6968
ca01d012
NF
69692010-09-30 Nathan Froyd <froydnj@codesourcery.com>
6970
6971 * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
6972
46625112
JM
69732010-09-30 Joseph Myers <joseph@codesourcery.com>
6974
6975 * opt-functions.awk (static_var): Update comment.
6976 (var_ref): Return offsetof expression or -1, not variable address.
6977 * optc-gen.awk: Generate structure field initializers instead of
6978 static variables. Expect -1 for missing variables instead of null
6979 pointer. Add gcc_options parameters to generated functions.
6980 * opth-gen.awk: Generate structure fields for static variables.
6981 Add gcc_options parameters to generated functions.
6982 * common.opt (optimize, optimize_size): Add variables.
6983 * config/i386/i386-c.c (ix86_pragma_target_parse): Pass
6984 &global_options to cl_target_option_restore.
6985 * config/i386/i386.c (ix86_valid_target_attribute_p): Pass
6986 &global_options to cl_optimization_restore, cl_target_option_save
6987 and cl_target_option_restore.
6988 (ix86_set_current_function): Pass &global_options to
6989 cl_target_option_restore.
6990 * config/pdp11/pdp11.h (optimize): Remove.
6991 * config/rs6000/rs6000.h (optimize): Remove.
6992 * config/sh/sh.h (optimize): Remove.
6993 * config/xtensa/xtensa.h (optimize): Remove.
6994 * coretypes.h (struct gcc_options): Declare.
6995 * diagnostic.c (diagnostic_initialize): Initialize
6996 context->option_state.
6997 (diagnostic_report_diagnostic): Pass option_state to
6998 option_enabled hook.
6999 * diagnostic.h (diagnostic_context.option_enabled): Add void *
7000 parameter.
7001 (diagnostic_context.option_state): New field.
7002 * final.c (final_start_function, final, final_scan_insn): Rename
7003 optimize parameter to optimize_p.
7004 * flags.h (optimize, optimize_size): Remove.
7005 * function.c (invoke_set_current_function_hook): Pass
7006 &global_options to cl_optimization_restore.
7007 * gcc.c (driver_handle_option): Take gcc_options parameter.
7008 Assert that it is &global_options.
7009 (process_command): Pass &global_options to read_cmdline_option.
7010 * ipa-pure-const.c (suggest_attribute): Pass &global_options to
7011 option_enabled.
7012 * lto-opts.c (lto_reissue_options): Use option_flag_var. Pass
7013 &global_options to set_option.
7014 * opts-common.c (handle_option, handle_generated_option,
7015 read_cmdline_option, set_option): Take explicit gcc_options
7016 parameters. Use option_flag_var.
7017 (option_flag_var): New.
7018 * opts.c (common_handle_option, lang_handle_option,
7019 target_handle_option): Take gcc_options parameter. Assert that it
7020 is &global_options.
c44d6c47 7021 (read_cmdline_options): Pass &global_options to read_cmdline_option.
46625112
JM
7022 (print_filtered_help): Use option_flag_var. Pass &global_options
7023 to option_enabled.
7024 (common_handle_option): Use option_flag_var.
7025 (option_enabled): Take opts parameter. Use option_flag_var.
7026 (get_option_state): Take gcc_options parameter. Use
7027 option_flag_var. Pass gcc_options parameter to option_enabled.
7028 (enable_warning_as_error): Pass &global_options to
7029 handle_generated_option.
7030 * opts.h (struct cl_option): Change flag_var to flag_var_offset.
7031 (cl_option_handler_func.handler): Take gcc_options parameter.
7032 (option_enabled, get_option_state, set_option, handle_option,
7033 handle_generated_option, read_cmdline_option): Take gcc_options
7034 parameters.
7035 * toplev.c (optimize, optimize_size): Remove.
7036 (print_switch_values): Pass &global_options to option_enabled.
7037 (option_affects_pch_p): Use option_flag_var. Pass &global_options
7038 to get_option_state.
7039 (general_init): Initialize global_dc->option_state.
7040 * tree.c (build_optimization_node): Pass &global_options to
7041 cl_optimization_save.
7042 (build_target_option_node): Pass &global_options to
7043 cl_target_option_save.
7044
37ccfc46
MJ
70452010-09-30 Martin Jambor <mjambor@suse.cz>
7046
7047 * tree-sra.c (type_consists_of_records_p): Do not check for trailing
7048 zero sized bit-fields.
7049
49b91f05
NP
70502010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7051
7052 * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
7053 Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
c44d6c47 7054 (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
49b91f05
NP
7055 (c_parser_objc_class_declaration): Same change.
7056 (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
7057 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
7058 (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
7059 instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
7060 and RID_AT_PUBLIC instead of RID_PUBLIC.
7061 (c_parser_statement_after_labels): Use RID_AT_TRY instead of
7062 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
a557f9cc 7063
ba4debed 70642010-09-30 Tom G. Christensen <tgc@jupiterrise.com>
58735e03
TC
7065
7066 * doc/install.texi (Binaries): Update link to HP-UX porting centre.
7067 Add links to current providers of packages for Solaris and IRIX.
7068
a6341d57
NP
70692010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7070
7071 Merge from 'apple/trunk' branch on FSF servers.
7072 * c-parser.c: Applied change originally in c-parse.in.
a557f9cc 7073
ba4debed 7074 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
7075
7076 Radar 4281748
7077 * c-decl.c (start_decl): Check for redeclaration of class name.
7078 * c-parse.in (after_type_declarator): Recognize CLASSNAME.
7079
b14446e2
SE
70802010-09-29 Steve Ellcey <sje@cup.hp.com>
7081
7082 * config/ia64/ia64.c (ia64_builtin_decl): New.
7083 (TARGET_BUILTIN_DECL): Define.
7084 (ia64_builtins): New.
7085 (ia64_init_builtins): Save decls in ia64_builtins.
7086
22939744
BS
70872010-09-29 Bernd Schmidt <bernds@codesourcery.com>
7088
7089 PR target/40457
c44d6c47 7090 * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
22939744
BS
7091 (move2add_use_add3_insn): Likewise.
7092 (reload_cse_move2add): Likewise.
7093 * rtlanal.c (get_full_rtx_cost): New function.
7094 * rtl.h (struct full_rtx_costs): New.
7095 (init_costs_to_max, init_costs_to_zero, costs_lt_p,
7096 costs_add_n_insns): New inline functions.
7097 (get_full_rtx_cost): Declare.
7098
907c53bb
BS
7099 PR c/45054
7100 * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
7101 invariants. Check for reg_equiv_invariant.
7102 (reload): Assert that spilled_pseudos is empty when returning.
7103
0f23bc16
KT
71042010-09-29 Kai Tietz <kai.tietz@onevision.com>
7105
7106 * config/i386/mingw32.h (TARGET_64BIT): replaced by
7107 TARGET_64BIT_DEFAULT in #if check.
7108
ba4debed 71092010-09-29 Jack Howarth <howarth@bromo.med.uc.edu>
a0c6102d 7110
c44d6c47 7111 * varasm.c (assemble_alias): Add error message for unsupported ifunc.
a0c6102d 7112
48b3f0a0
MS
71132010-09-29 Mike Stump <mikestump@comcast.net>
7114
7115 * config/darwin.h (flag_mkernel): Remove.
7116 (flag_apple_kext): Likewise.
7117
006097f4 71182010-09-29 Joseph Myers <joseph@codesourcery.com>
ba4debed 7119 Jack Howarth <howarth@bromo.med.uc.edu>
006097f4
JM
7120
7121 * config/darwin.opt (undefined): Add.
7122
f6c5fbfd
NS
71232010-09-29 Nathan Sidwell <nathan@codesourcery.com>
7124
416ccea5 7125 PR testsuite/45664
f6c5fbfd
NS
7126 * configure.ac: Add --enable-indirect-function option.
7127 * config.gcc: Add default_gnu_indirect_function.
7128 * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
7129 (HAVE_GNU_INDIRECT_FUNCTION): ... this.
416ccea5 7130 * varasm.c (do_assemble_alias): Adjust for macro name change.
f6c5fbfd
NS
7131 * configure: Rebuilt.
7132 * doc/install.texi: Document --enable-indirect-function.
7133
f0036cca
JM
71342010-09-29 Joseph Myers <joseph@codesourcery.com>
7135
7136 * doc/options.texi (Variable, Var, Init): Update documentation
7137 without reference to VarExists.
7138 (VarExists): Remove.
7139 * common.opt, config/i386/i386.opt, config/linux.opt,
7140 config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
7141 Don't use VarExists.
7142
e3339d0f
JM
71432010-09-29 Joseph Myers <joseph@codesourcery.com>
7144
7145 * optc-gen.awk: Generate global_options initializer instead of
c44d6c47 7146 individual variables. Add x_ prefix to names of structure members.
e3339d0f
JM
7147 * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
7148 names of structure members.
7149 * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
7150 HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
7151 * doc/tm.texi: Regenerate.
7152 * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
7153 * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
7154 * c-parser.c (disable_extension_diagnostics,
c44d6c47 7155 restore_extension_diagnostics): Update names of cpp_options members.
e3339d0f
JM
7156 * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
7157 * common.opt (fcompare-debug-second): Don't use Var.
7158 * config/alpha/alpha.h (target_flags): Remove.
7159 * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
7160 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
7161 * config/bfin/bfin.h (target_flags): Remove.
7162 * config/cris/cris.h (target_flags): Remove.
7163 * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
7164 cl_target_option members.
7165 * config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
7166 (ix86_function_specific_print, ix86_valid_target_attribute_tree,
7167 ix86_can_inline_p): Update names of cl_target_option members.
7168 * config/i386/i386.h (ix86_isa_flags): Remove.
7169 * config/lm32/lm32.h (target_flags): Remove.
7170 * config/mcore/mcore.h (mcore_stack_increment): Remove.
7171 * config/mcore/mcore.md (addsi3): Remove extern declaration of
7172 flag_omit_frame_pointer.
7173 * config/mep/mep.h (target_flags): Remove.
7174 * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
7175 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
7176 * config/mmix/mmix.h (target_flags): Remove.
7177 * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
7178 flag_expensive_optimizations): Remove.
7179 * config/s390/s390.h (flag_pic): Remove.
7180 * config/score/score-conv.h (target_flags): Remove.
7181 * config/sh/sh.h (sh_fixed_range_str): Remove.
7182 * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
7183 * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
7184 * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
7185 * diagnostic.c (diagnostic_initialize): Update names of
7186 diagnostic_context members.
7187 * diagnostic.h (diagnostic_context): Rename inhibit_warnings and
7188 warn_system_headers.
7189 (diagnostic_report_warnings_p): Update for new names.
7190 * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
7191 * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
7192 HARD_FRAME_POINTER_IS_ARG_POINTER.
7193 * flags.h (flag_compare_debug): Declare.
7194 * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
7195 * opts.c (flag_compare_debug): Define.
7196 (common_handle_option): Update names of diagnostic_context
7197 members. Handle -fcompare-debug-second.
7198 (fast_math_flags_struct_set_p): Update names of cl_optimization
7199 members.
7200 * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
7201 * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
7202 * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
7203 * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
7204 * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
7205 * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
7206 HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
7207 * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
7208 * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
7209
9c506f10 72102010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
66dfc610
HS
7211
7212 * config/picochip/picochip.c (picochip_output_internal_label):
c44d6c47
UB
7213 This function can now be called for debug CFI labels, which can come
7214 in the middle of a vliw instruction. Postpone until end of vliw.
66dfc610 7215
725214ac
RG
72162010-09-29 Richard Guenther <rguenther@suse.de>
7217
7218 * tree.h (SCOPE_FILE_SCOPE_P): New macro.
7219 (DECL_FILE_SCOPE_P): Use it.
7220 (TYPE_FILE_SCOPE_P): New macro.
7221
1973201f
NP
72222010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7223
7224 * c-parser.c (c_lex_one_token): In Objective-C, when dealing with
7225 a CPP_NAME which is a reserved word, clearly separate cases for
7226 OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
7227
a1ec5747
NP
72282010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7229
7230 * c-parser.c (c_lex_one_token): In Objective-C, do not replace
7231 token->value with the canonical spelling. Do exactly like C and
7232 C++ and leave it as it is.
7233
fd930388
RH
72342010-09-28 Richard Henderson <rth@redhat.com>
7235
7236 * config/alpha/alpha.c (alpha_builtins): New.
7237 (alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
7238 (alpha_builtin_function): New.
7239 (alpha_add_builtins, alpha_init_builtins): Use it.
7240
6b79b1b7
NP
72412010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
7242
7243 * doc/standards.texi (Standards): Expanded the section on
7244 Objective-C and Objective-C++.
7245
146456c1
DD
72462010-09-28 DJ Delorie <dj@redhat.com>
7247
7248 PR target/45800
7249 * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
7250 volatile MEMs.
7251
f7e71da5
IS
72522010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7253
7254 * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
7255 attributes on methods.
7256 (c_parser_objc_method_definition): Handle attributes.
7257 (c_parser_objc_methodproto): Likewise.
7258 (c_parser_objc_maybe_method_attributes): New.
7259 (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
7260 missing definition, similar to that in ObjC++.
7261
f0a0390e
RH
72622010-09-28 Richard Henderson <rth@redhat.com>
7263
7264 * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
7265 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
7266 (CONFIG_SJLJ_EXCEPTIONS): Remove.
7267 (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
7268 (STACK_CHECK_PROTECT): Likewise.
7269 * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
7270 (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
7271 (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
7272 (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
7273 (dwarf2out_assembly_start): Likewise.
7274 * except.c (init_eh): Use targetm.except_unwind_info.
7275 (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
7276 (output_one_function_exception_table): Likewise.
7277 * final.c: Unconditionally include dwarf2out.h.
7278 (final_start_function): Unconditionally call dwarf2out routines.
7279 (final_end_function, final_scan_insn): Likewise.
7280 * function.c (expand_function_end): Use targetm.except_unwind_info.
7281 * opts.c (decode_options): Use targetm.except_unwind_info.
7282 * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
7283 * target.def (debug_unwind_info, except_unwind_info): New.
7284 * target.h (enum unwind_info_type): New.
7285 * targhooks.c (default_debug_unwind_info): New.
7286 (default_except_unwind_info): New.
7287 (dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
7288 * targhooks.h: Declare them.
7289 * tree-tailcall.c: Include "target.h"
7290 (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
7291 * Makefile.in (tree-tailcall.o): Update.
7292 * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
7293 (lhd_gcc_personality): Likewise.
7294
7295 * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
7296 (TARGET_EXCEPT_UNWIND_INFO): New.
7297 (DWARF2_UNWIND_INFO): Update.
7298 (TARGET_DEBUG_UNWIND_INFO): New.
7299 * doc/tm.texi: Rebuild.
7300
7301 * c-family/c-cppbuiltin.c (c_cpp_builtins): Use
7302 targetm.except_unwind_info.
7303
7304 * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
7305 (arm_except_unwind_info): New.
7306 (arm_compute_func_type): Use it.
7307 (arm_expand_prologue, thumb_pushpop): Likewise.
7308 (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
7309 (arm_unwind_emit, arm_output_fn_unwind): Likewise.
7310 * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
7311 * config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
7312 (DWARF2_UNWIND_INFO): Remove.
7313 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
7314 (ARM_EABI_UNWIND_TABLES): Remove.
7315
7316 * config/ia64/ia64.c (ia64_debug_unwind_info): New.
7317 (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
7318 (ia64_except_unwind_info): New.
7319 (ia64_output_function_prologue): Use it.
7320 (ia64_add_bundle_selector_before): Likewise.
7321 (ia64_reorg, ia64_asm_unwind_emit): Likewise.
7322 * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
7323 (TARGET_UNWIND_INFO): Remove.
7324
7325 * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
c44d6c47 7326
c165dca7
IS
73272010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7328
7329 * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
7330 (c_parser_objc_protocol_definition): Likewise.
7331 (c_parser_external_declaration): Provide dummy attribute arguments.
7332 (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
7333 (c_parser_objc_class_definition): Handle attributes.
7334 (c_parser_objc_protocol_definition): Likewise.
7335
41804a5b
TB
73362010-09-28 Tobias Burnus <burnus@net-b.de>
7337
7338 PR fortran/40569
7339 PR fortran/40568
7340 * toplev.h (save_decoded_options, save_decoded_options_count):
7341 New global variables.
7342 * toplev.c (save_decoded_options, save_decoded_options_count):
c44d6c47 7343 Export variables.
41804a5b 7344
7647b127
ILT
73452010-09-28 Ian Lance Taylor <iant@google.com>
7346
7347 * config/i386/i386.c (ix86_supports_split_stack): Test
c44d6c47 7348 HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
7647b127 7349
bb469872
ILT
73502010-09-28 Ian Lance Taylor <iant@google.com>
7351
7352 PR target/45815
7353 * opts.c (decode_options): Don't test whether the target supports
7354 split stack if flag_split_stack == 0.
7355
0d6e14fd
JH
73562010-09-28 Jan Hubicka <jh@suse.cz>
7357
7358 * builtin-attrs.def (ATTR_LEAF): New attribute.
7359 (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
7360 ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
7361 ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
7362 ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
7363 ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
7364 ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
7365 ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
7366 * sync-builtins.def: Annotate all builtins by leaf.
7367 * omp-builtins.def: Annotate all builtins by leaf.
7368 * builtins.def: Annotate relevant builtins with leaf attribute.
7369 (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
7370 ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
7371 leaf.
7372
697c3575
JH
73732010-09-28 Jan Hubicka <jh@suse.cz>
7374
7375 * tree-ssa-ccp.c (fold_ctor_reference): New function.
7376 (fold_const_aggregate_ref): Use it.
7377 * fold-const.c (canonicalize_constructor_val): Check that we don't fold
7378 into external static.
7379
2770264a
RO
73802010-09-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7381
7382 PR target/44452
7383 * config/i386/i386.opt (mvect8-ret-in-mem): Define.
7384 * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
7385 (ix86_solaris_return_in_memory): Remove.
7386 * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
7387 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
7388 (TARGET_SUBTARGET_DEFAULT): Redefine.
7389 * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
7390 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
7391 (TARGET_SUBTARGET_DEFAULT): Redefine.
7392 * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
7393 -mvect8-ret-in-mem.
7394 (i386 and x86-64 Options): Document -mvect8-ret-in-mem.
7395
2268453b
AM
73962010-09-29 Alan Modra <amodra@gmail.com>
7397
7398 PR target/45807
7399 * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
7400 * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
7401 * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
7402 Delete.
7403 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
7404 (rs6000_emit_prologue): Don't just create frame save info for r2,
7405 actually save r2.
7406
4d508d59
RH
74072010-09-28 Richard Henderson <rth@redhat.com>
7408
7409 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
7410 when 8 bytes are requested.
7411
247df3b6
TG
74122010-09-28 Tristan Gingold <gingold@adacore.com>
7413
7414 * config/avr/avr.c (expand_prologue): Set
7415 current_function_static_stack_size.
7416
d5ad88c0
TG
74172010-09-28 Tristan Gingold <gingold@adacore.com>
7418
7419 * config/alpha/alpha.md: Change the initial condition of the
7420 probing loop.
7421
4150f926
UB
74222010-09-28 Uros Bizjak <ubizjak@gmail.com>
7423
7424 * config/i386/sse.md (*avx_<umaxmin:code><mode>3):
7425 Split from *avx_<maxmin:code><mode>3.
7426 (*avx_<smaxmin:code><mode>3): Ditto.
7427 * config/i386/i386.md (maxmin): Remove code iterator.
7428
b6110d6d
ILT
74292010-09-27 Ian Lance Taylor <iant@google.com>
7430
7431 * config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
7432 requires assembler support for CFI directives.
7433
9b809695
RH
74342010-09-27 Richard Henderson <rth@redhat.com>
7435
7436 * dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
7437
4f8344eb
HPN
74382010-09-27 Hans-Peter Nilsson <hp@axis.com>
7439
7440 * emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
7441 that AFTER is not in the range FROM..TO, inclusive.
7442
fdf0b018
HPN
74432010-09-27 Hans-Peter Nilsson <hp@axis.com>
7444 Bernd Schmidt <bernds@codesourcery.com>
7445
7446 PR rtl-optimization/45792
7447 * cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
7448 If not all insns are to be merged, for each edge, stash the
7449 next candidate after the to-be-merged insns before doing the
7450 merge, and use them for the retry at the new insertion point.
7451 Handle CC0 targets when retrying.
7452
7458026b
ILT
74532010-09-27 Ian Lance Taylor <iant@google.com>
7454
7455 * common.opt (fsplit-stack): New option.
7456 * opts.c (decode_options): Set flag_split_stack to final value.
7457 * target.def (supports_split_stack): New hook.
7458 * gcc.c (STACK_SPLIT_SPEC): Define.
7459 (LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
7460 * doc/invoke.texi (Option Summary): Mention -fsplit-stack.
7461 (Code Gen Options): Document -fsplit-stack.
7462 * doc/extend.texi (Function Attributes): Mention no_split_stack.
7463 (Function Attributes): Document no_split_stack.
7464 * doc/tm.texi.in (Stack Smashing Protection): Add @hook
7465 TARGET_SUPPORTS_SPLIT_STACK.
7466 * doc/tm.texi: Rebuild.
7467 * function.c (thread_prologue_and_epilogue_insns): If
7468 flag_split_stack, add split stack prologue.
7469 * explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
7470 * varasm.c (saw_no_split_stack): New static variable.
7471 (assemble_start_function): Set saw_no_split_stack if the function
7472 has the no_split_stack attribute.
7473 (file_end_indicate_split_stack): New function.
7474 * output.h (file_end_indicate_split_stack): Declare.
7475 * libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
7476 and function.
7477 * doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
7478 routines.
7479 * config/i386/i386.c (ix86_option_override_internal): Don't set
7480 expand_builtin_va_start to NULL if -fsplit-stack.
7481 (ix86_function_regparm): Reduce local regparm by 1 for 32-bit
7482 -fsplit-stack.
7483 (ix86_va_start): If -fsplit-stack, get overflow pointer from
7484 scratch register set by prologue.
7485 (ix86_code_end): If -fsplit-stack, call
7486 file_end_indicate_split_stack.
7487 (ix86_supports_split_stack): New static function.
7488 (SPLIT_STACK_AVAILABLE): Define.
7489 (split_stack_prologue_scratch_regno): New static function.
7490 (split_stack_fn): New static variable.
7491 (ix86_expand_split_stack_prologue): New function.
7492 (ix86_live_on_entry): New static function.
7493 (ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
7494 (output_pic_addr_const): Likewise.
7495 (i386_asm_output_addr_const_extra): Likewise.
7496 (ix86_expand_call): Change return type to rtx. Return the new
7497 call instruction.
7498 (TARGET_SUPPORTS_SPLIT_STACK): Define.
7499 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
7500 * config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
7501 (split_stack_prologue, split_stack_return): New insns.
7502 (split_stack_space_check): New insn.
7503 * config/i386/i386.h (struct machine_function): Add
7504 split_stack_varargs_pointer field.
7505 * config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
7506 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
7507 * config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
7508 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
7509 * config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
7510 Declare.
7511 (ix86_expand_call): Update declaration.
7512
177b48f9
NP
75132010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7514
7515 * doc/objc.texi (Type encoding): Added the new 'long double' (D)
7516 code. Added byref, which was missing in the list of codes.
7517 Explain that enumeration values are encoded as the integer type
7518 that the compiler uses to store them. Explain and make examples
7519 of how 'const' interacts with pointers, and the complication of
7520 the encoding of 'const char *'.
7521 (Legacy type encoding): New subsection, explaining that GCC emits
7522 incorrect type encodings for the NeXT runtime for compatibility
7523 reasons.
7524 (@@encode): New subsection, explaining @encode and particularly
7525 that protocol qualifiers are not recognized inside an @encode()
7526 expression.
7527 (Method signatures): New subsection, explaining how method
7528 signatures are encoded.
7529
b581b85b
NP
75302010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7531
7532 Merge from 'apple/trunk' branch on FSF servers. Removed small
7533 change in build_conditional_expr that had been added when fixing
7534 PR objc/27377 and which did the same check in a less complete way.
7535
ba4debed 7536 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b
NP
7537
7538 Radar 4229905
7539 * c-typeck.c (build_conditional_expr): Call objc_have_common_type when
7540 looking for objective-c common pointer types.
c44d6c47 7541
b581b85b
NP
7542 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7543
7544 Radar 4154928
7545 * c-typeck.c (build_conditional_expr): For two ObjC pointer types,
7546 use their ObjC common type.
7547
1787f59e
RG
75482010-09-27 Richard Guenther <rguenther@suse.de>
7549
7550 * dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
7551
16892055
JZ
75522010-09-27 Jie Zhang <jie@codesourcery.com>
7553
7554 * print-tree.c (print_node): Print in-constant-pool.
7555
63001560
UB
75562010-09-27 Uros Bizjak <ubizjak@gmail.com>
7557
7558 * config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode.
7559 (UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined.
7560 (MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD.
7561 (ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition.
7562
4470a3a3
UB
75632010-09-26 Uros Bizjak <ubizjak@gmail.com>
7564
7565 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge
7566 from pro_epilogue_adjust_stack_<mode>_{1,2}.
7567 (pro_epilogue_adjust_stack_<mode>_add): Rename from
7568 pro_epilogue_adjust_stack_<mode>_3.
7569 * config/i386/i386.c (pro_epilogue_adjust_stack): Update for
7570 renamed pro_epilogue_adjust_stack_{si,di}_add.
7571 (ix86_expand_prologue): Use indirect functions. Update for renamed
7572 pro_epilogue_adjust_stack_{si,di}_sub.
7573
d355d5ea
UB
75742010-09-26 Uros Bizjak <ubizjak@gmail.com>
7575
7576 * config/i386/i386.md (movmsk_df): New insn.
7577 (signbitdf): Split out of signbit<mode>2. Generate movmsk_df
7578 sequence for TARGET_SSE_MATH.
7579
7725086e
RS
75802010-09-26 Richard Sandiford <rdsandiford@googlemail.com>
7581
7582 * config/mips/mips.c (mips_builtin_decls): Declare.
7583 (mips_init_builtins): Store function declarations in
7584 mips_builtin_decls.
7585 (mips_builtin_decl): New function.
7586 (TARGET_BUILTIN_DECL): Define.
7587
174425ad
KT
75882010-09-25 Kai Tietz <kai.tietz@onevision.com>
7589 Richard Henderson <rth@redhat.com>
7590
7591 * config/i386/cygwin.asm: Include auto-host.h.
7592 (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
7593 cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros.
7594 (__chkstk, __alloca): Annotate for dwarf2 unwind info. Drop
7595 alignment code from the 64-bit path. Use gas local labels.
7596 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize
7597 from _di_2. Remove the useless constant integer argument.
7598 (pro_epilogue_adjust_stack_<mode>_3): New.
7599 (allocate_stack_worker_probe_<mode>): Macroize from
7600 allocate_stack_worker_{32,64}. Use __chkstk_ms. Update all users.
7601 * config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms;
7602 use gen_pro_epilogue_adjust_stack_*_3 and annotate it.
7603 (__chkstk_ms): New function.
7604 * config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms.
8b7e8529 7605 * config/i386/t-interix: Likewise.
174425ad
KT
7606 * configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target.
7607 (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
7608 (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise.
7609 * configure, config.in: Rebuild.
7610
cf1bcf06
EB
76112010-09-25 Eric Botcazou <ebotcazou@adacore.com>
7612
7613 * tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new
7614 statements because of the return slot optimization.
7615
c21136ee
AS
76162010-09-25 Anatoly Sokolov <aesok@post.ru>
7617
7618 * config/avr/avr.h (CLASS_LIKELY_SPILLED_P): Remove.
7619 * config/avr/avr-protos.h (class_likely_spilled_p): Remove.
7620 * config/avr/avr.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
7621 (class_likely_spilled_p): Rename to...
7622 (avr_class_likely_spilled_p): ...this. Make static. Change argument
7623 type to reg_class_t.
7624
051f8cc6
JH
76252010-09-24 Jan Hubicka <jh@suse.cz>
7626
7627 * lto-symtab.c (lto_symtab_entry_def): Add guessed field.
7628 (lto_symtab_resolve_symbols): Set it.
7629 (lto_symtab_merge_decls_1): Do not compute used_from_object_file;
7630 store resolution field in cgraph/varpool.
7631 * cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
7632 (cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
7633 (cgraph_dump_node): Drop used_from_object_file.
7634 (cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
7635 (cgraph_function_body_availability): Use decl_replaceable_p.
7636 (cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
7637 (cgraph_can_remove_if_no_direct_calls_and_refs): Use
7638 cgraph_used_from_object_file_p.
7639 (cgraph_will_be_removed_from_program_if_no_direct_calls): Use
7640 cgraph_used_from_object_file_p.
7641 (resolution_used_from_other_file_p): New functoin.
7642 (cgraph_used_from_object_file_p): New predicate.
7643 * cgraph.h: Include plugin-api.h
7644 (struct cgraph_local_info): Remove used_from_object_file.
7645 (struct cgraph_node): Add resolution field.
7646 (struct varpool_node): Likewise; remove used_from_object_file;
7647 reove const_value_known.
7648 (cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
7649 cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
7650 (resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
7651 varpool_used_from_object_file_p): Declare.
7652 (varpool_get_node, varpool_extra_name_alias): Update prototype.
7653 * tree.h (DECL_REPLACEABLE_P): Remove.
7654 (decl_replaceable_p, decl_binds_to_current_def_p): Declare.
7655 * final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
7656 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
7657 input_overwrite_node, input_node, input_varpool_node): Stream
7658 resolution.
7659 * expr.c (expand_expr_real_1): Use const_value_known_p
7660 * ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
7661 const_value_known.
7662 (cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
7663 (function_and_variable_visibility): Set resolution for local vars
d355d5ea 7664 and functions; use varpool_used_from_object_file_p.
051f8cc6
JH
7665 * varasm.c (resolution_to_local_definition_p, resolution_local_p): New
7666 static functions.
7667 (default_binds_local_p_1): Use resolutoin info.
7668 (decl_binds_to_current_def_p, decl_replaceable_p): New functions.
7669 * varpool.c (varpool_get_node): Constify.
7670 (const_value_known_p): Do not use vnode->const_value_known;
7671 use decl_replaceable_p.
7672 (varpool_finalize_decl): Do not set const_value_known.
7673 (cgraph_variable_initializer_availability): Use decl_replaceable_p
7674 (varpool_extra_name_alias): Return new node.
7675 (varpool_used_from_object_file_p): New function.
7676
5c255b57
RH
76772010-09-24 Richard Henderson <rth@redhat.com>
7678
7679 * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): New.
7680 (TARGET_DWARF_HANDLE_FRAME_UNSPEC): New.
7681 (do_spill): Use REG_CFA_OFFSET.
7682 (ia64_expand_prologue): Use REG_CFA_ADJUST_CFA and REG_CFA_REGISTER
7683 as appropriate.
7684 (ia64_expand_epilogue): Likewise.
7685 (process_set): Split into ...
7686 (process_cfa_adjust_cfa): this,
7687 (process_cfa_register): this,
7688 (process_cfa_offset): and this new function.
7689 (ia64_asm_unwind_emit): Use them. Expect REG_CFA_* notes
7690 instead of REG_FRAME_RELATED_EXPR.
7691
42d87712
OH
76922010-09-24 Olivier Hainque <hainque@adacore.com>
7693
7694 * config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
7695
46a4da10
JH
76962010-09-24 Jan Hubicka <jh@suse.cz>
7697
7698 * doc/extend.texi: (attribute leaf): Document.
7699 * tree.c (local_define_builtin): Handle ECF_LEAF.
7700 (build_common_builtin_nodes): Set ECF_LEAF where needed.
7701 * tree.h (ECF_LEAF): New.
d355d5ea
UB
7702 * ipa-reference.c (propagate_bits): For leaf calls propagate ever
7703 overwrittable and unavailable functions.
46a4da10
JH
7704 (ipa_init): Put all_module_statics into optimization_summary_obstack.
7705 (copy_global_bitmap): Do not copy all_module_statics.
7706 (read_write_all_from_decl): Use cgraph_node argument; handle ECF_LEAF.
7707 (propagate): Handle overwritable and unavailable leaf functions;
7708 initialize global info for overwritable and unavailable leaf functions;
7709 do not free all module statics.
74164603 7710 (ipa_reference_get_not_{read,written}_global): Leaf calls don't clobber
d355d5ea 7711 local statics.
46a4da10
JH
7712 * calls.c (flags_from_decl_or_type): Handle leaf.
7713 * tree-cfg.c (stmt_can_make_abnormal_goto): Leaf functions can't do
7714 abnormal gotos.
e1b793e7
BS
7715
77162010-09-24 Basile Starynkevitch <basile@starynkevitch.net>
7717
7718 * gengtype.c: Reindented.
e1b793e7 7719 * gengtype.h: Reindented.
e1b793e7
BS
7720 * gengtype-parse.c: Reindented.
7721
1d0804d4
JH
77222010-09-24 Jan Hubicka <jh@suse.cz>
7723
7724 PR tree-optimization/45738
7725 PR tree-optimization/45741
7726 * expr.c (string_constant): Allow CONST_DECL too;
7727 check that DECL_INITIAL is set.
7728 * varpool.c (const_value_known_p): Only look into VAR_DECL
7729 and CONST_DECL.
7730
5642f5d5
JM
77312010-09-24 Joseph Myers <joseph@codesourcery.com>
7732
7733 * common.opt (undef): New.
7734
32990d5b
JJ
77352010-09-24 Jakub Jelinek <jakub@redhat.com>
7736
7737 PR middle-end/45234
7738 * rtl.h (enum global_rtl_index): Add
7739 GR_VIRTUAL_PREFERRED_STACK_BOUNDARY.
7740 (LAST_VIRTUAL_POINTER_REGISTER): Define.
7741 (virtual_preferred_stack_boundary_rtx,
7742 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM): Define.
7743 (LAST_VIRTUAL_REGISTER): Increase by one.
7744 (REGNO_PTR_FRAME_P): Use LAST_VIRTUAL_POINTER_REGISTER
7745 instead of LAST_VIRTUAL_REGISTER.
7746 * function.c (instantiate_new_reg): Handle
7747 virtual_preferred_stack_boundary_rtx.
7748 * emit-rtl.c (init_virtual_regs): Handle
7749 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
7750 (init_emit_regs): Initialize virtual_preferred_stack_boundary_rtx.
7751 * explow.c (round_push): If crtl->preferred_stack_boundary
7752 is smaller than MAX_SUPPORTED_STACK_ALIGNMENT, use
7753 virtual_preferred_stack_boundary_rtx alignment instead of
7754 crtl->preferred_stack_boundary alignment.
7755 (allocate_dynamic_stack_space): Use CONST_INT_P and REG_P
7756 macros. Never decrease crtl->preferred_stack_boundary,
7757 use crtl->preferred_stack_boundary or MAX_SUPPORTED_STACK_ALIGNMENT
7758 instead of PREFERRED_STACK_BOUNDARY. Don't modify
7759 stack_pointer_delta in dynamic allocation, even when size
7760 is constant.
7761 (probe_stack_range, anti_adjust_stack_and_probe): Use CONST_INT_P
7762 macro.
7763 * print-rtl.c (print_rtx): Handle
7764 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
7765 * config/alpha/alpha.h (NONSTRICT_REG_OK_FP_BASE_P): Use
7766 LAST_VIRTUAL_POINTER_REGISTER instead of LAST_VIRTUAL_REGISTER.
7767 * config/frv/frv.c (frv_emit_movsi): Likewise.
7768 * config/arm/arm.c (thumb1_legitimate_address_p): Likewise.
7769 * config/rs6000/rs6000.c (virtual_stack_registers_memory_p):
7770 Likewise.
7771
7772 Revert:
7773 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
7774
7775 PR middle-end/45234
7776 * calls.c (expand_call): Make sure that all variable sized
7777 adjustments are multiple of preferred stack boundary after
7778 stack alignment.
7779
3d1b7f13
IS
77802010-09-24 Iain Sandoe <iains@gcc.gnu.org>
7781 Dominique Dhumieres <dominiq@lps.ens.fr>
d355d5ea 7782
3d1b7f13 7783 PR bootstrap/45751
8b7e8529 7784 * config/darwin-driver.c (darwin_default_min_version):
3d1b7f13 7785 Adjust size passed to memcpy in two places.
d355d5ea 7786
116f30c3
RG
77872010-09-24 Richard Guenther <rguenther@suse.de>
7788
7789 * c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
7790 Make sure to not call set_type_context with error_mark_node.
7791 * langhooks.c (lhd_set_decl_assembler_name): Use DECL_FILE_SCOPE_P.
7792
de6ba7ae
RG
77932010-09-24 Richard Guenther <rguenther@suse.de>
7794
7795 * Makefile.in (OBJS-onestep): Remove.
7796 (ALL_HOST_BACKEND_OBJS): Remove libbackend.o.
7797 (libbackend.a): Remove onestep support.
7798 (libbackend.o): Remove.
7799 * configure.ac (--enable-intermodule): Remove.
7800 * configure: Regenerate.
7801
662592e1
BS
78022010-09-24 Bernd Schmidt <bernds@codesourcery.com>
7803
7804 * cfgcleanup.c (flow_find_head_matching_sequence): Terminate when
7805 reaching the end of a block if it occurs at a DEBUG_INSN.
7806
5501bdc1
TG
78072010-09-09 Tristan Gingold <gingold@adacore.com>
7808
7809 PR target/44242
7810 * config/vms/vms-crt0-64.c: Removed.
7811 * config/vms/vms-crt0.c: Removed.
7812 * config/vms/vms-psxcrt0-64.c: Removed.
7813 * config/vms/vms-psxcrt0.c: Removed.
7814 * config/vms/vms-ucrt0.c: New file.
7815 * config/vms/t-vms64: Removed.
7816 * config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it. Remove DECC.
7817 Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o
7818 * config.gcc (alpha-dec-vms): Use t-vms.
7819
35e711d3
NP
78202010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
7821
7822 * doc/invoke.texi (-fno-nil-receivers): Tidied up line to remove
7823 underfull hbox in DVI output.
7824 (-fobjc-class-cxx-cdtors): Same change.
7825 (-fobjc-exceptions): Tidied up documentation. Explain what the
7826 option does, but moved the (lenghty) description of the exception
7827 syntax into objc.texi.
7828 (-fobjc-gc): Explain that the option is not useful with the GNU
7829 runtime.
7830 (-fzero-link): Explain that the GNU runtime always works in
7831 "zero-link" mode.
7832 * doc/objc.texi: All sections: simplified @node declarations
7833 removing specification of next, previous, up node.
7834 (Objective-C): Updated introduction.
7835 (Garbage Collection): Updated. The bohem-gc library is now
7836 included in gcc itself. Mention that this section only applies to
7837 the GNU Objective-C runtime.
7838 (compatibility_alias): Small tidy up.
7839 (Exceptions): New section mostly containing text previously in the
7840 description of the -fobjc-exception command-line option.
7841 (Synchronization): Same.
5501bdc1 7842
6fd71fde
UB
78432010-09-24 Uros Bizjak <ubizjak@gmail.com>
7844
7845 * config/i386/i386.md (ix86_code_end): Move the initialization of
7846 xops array near the consumer. Use AX_REG and SP_REG instead of
7847 numerical constants.
7848
19dc6d01
NP
78492010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
7850
6fd71fde
UB
7851 * c-typeck.c (convert_arguments): Use warning 'too many arguments to
7852 method [methodname]' for an Objective-C method instead of the less
7853 satisfactory 'too many arguments to function' (with no method name).
19dc6d01 7854
f61c8291
EB
78552010-09-23 Eric Botcazou <ebotcazou@adacore.com>
7856
452648a8 7857 * tree-flow.h (execute_update_addresses_taken): Remove parameter.
f61c8291 7858 * tree-ssa.c (maybe_optimize_var): Tweak comment and dump messages.
452648a8
EB
7859 (execute_update_addresses_taken): Remove parameter. Execute the
7860 optimization unconditionally.
7861 * passes.c (execute_function_todo): Call execute_update_addresses_taken
7862 unconditionally if TODO_rebuild_alias is set, else only when optimizing
7863 if TODO_update_address_taken is set.
f61c8291 7864
ffda8a0d
AS
78652010-09-23 Anatoly Sokolov <aesok@post.ru>
7866
7867 * config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
7868 * config/arm/arm-protos.h (arm_output_addr_const_extra): Remove.
7869 * config/arm/arm.c (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
7870 (arm_output_addr_const_extra): Make static.
7871
17eba947
UB
78722010-09-23 Uros Bizjak <ubizjak@gmail.com>
7873
7874 * config/i386/i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and
7875 define as unspec_volatile.
7876 ("nops"): Define as unspec_volatile. Use fputs to write to
7877 asm_out_file directly. Output NOPs on separate lines using while loop.
7878 * config/i386/i386.c (ix86_code_end): Use fputs to write to
7879 asm_out_file directly. Output NOPs on separate lines using while loop.
7880
3d113394
RG
78812010-09-23 Richard Guenther <rguenther@suse.de>
7882
7883 PR tree-optimization/45565
7884 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
7885 Make sure to adjust the fndecl before replacing the stmt.
7886
dca26746
RG
78872010-09-23 Richard Guenther <rguenther@suse.de>
7888
7889 PR middle-end/45750
7890 * gimplify.c (gimplify_expr): Properly pass on GS_ERROR when
7891 gimplifying MEM_REF.
7892
9f2e34e1
AM
78932010-09-23 Alan Modra <amodra@gmail.com>
7894
7895 * config/rs6000/rs6000.c (toc_relative_ok): Delete.
7896 (rs6000_emit_move): Use SYMBOL_REF_LOCAL_P instead.
7897
3c3bd471
BS
78982010-09-23 Bernd Schmidt <bernds@codesourcery.com>
7899
7900 PR rtl-optimization/44374
7901 * basic-block.h (enum bb_flags): Add BB_MODIFIED.
7902 * df-core.c (df_set_bb_dirty): Set it.
7903 * ifcvt.c (find_memory): Remove function.
7904 (dead_or_predicable): Use can_move_insns_across.
7905 * df.h (can_move_insns_across): Declare function.
7906 * cfgcleanup.c (block_was_dirty): New static variable.
7907 (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
7908 than df_get_bb_dirty.
7909 (try_head_merge_bb): New static function.
7910 (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty
7911 is set.
7912 * df-problems.c: Include "target.h"
7913 (df_simulate_find_uses): New static function.
7914 (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
7915 (find_memory, find_memory_store): New static functions.
7916 (can_move_insns_across): New function.
7917 * Makefile.in (df-problems.o): Update dependencies.
7918
40ea67af
EB
79192010-09-22 Eric Botcazou <ebotcazou@adacore.com>
7920
7921 PR java/44095
7922 * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
7923 is specified and the suffix of the file isn't ".c".
7924 * config/sparc/linux64.h (ASM_SPEC): Likewise.
7925
79262010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ab940b73 7927
17eba947 7928 * doc/contrib.texi (Contributors): Allow URL to wrap in PDF output.
ab940b73
RW
7929 * doc/cppopts.texi: Fix markup of index entry.
7930 * doc/extend.texi (Constructing Calls): Fix markup of
7931 __builtin_va_arg_pack and __builtin_va_arg_pack_len definition.
7932 (Conditionals, C++ Comments, Pragmas, Unnamed Fields, Thread-Local)
7933 (Vague Linkage, C++ Attributes): Fix markup of index entries and
7934 keywords.
7935 * doc/invoke.texi (Option Summary): Fix spacing. Rewrap to
7936 avoid long lines.
7937 (C Dialect Options, C++ Dialect Options, Warning Options)
7938 (Debugging Options, Spec Files, Darwin Options)
7939 (i386 and x86-64 Options, MIPS Options)
7940 (RS/6000 and PowerPC Options, Code Gen Options): Fix markup of
7941 index entries, avoid abbreviations, allow URLs to wrap, avoid
7942 long lines, avoid overlong pages from long @itemx lists.
7943 * doc/objc.texi (Garbage Collection): Allow URLs to wrap.
7944 * doc/standards.texi (Standards): Likewise.
17eba947 7945 * doc/trouble.texi (Incompatibilities): Fix markup of index entry.
ab940b73 7946
60cf253a
JM
79472010-09-22 Joseph Myers <joseph@codesourcery.com>
7948
7949 * opts-common.c (prune_options): Make static. Work with decoded
7950 options.
7951 (decode_cmdline_options_to_array): Call prune_options. Don't
7952 resize option array here.
7953 * opts.h (prune_options): Remove prototype.
7954 * gcc.c (process_command): Take decoded options; don't call
17eba947 7955 decode_cmdline_options_to_array here. Use decoded options for argv[0].
60cf253a
JM
7956 (main): Call decode_cmdline_options_to_array here instead of
7957 prune_options. Update call to process_command.
7958 * config/darwin-driver.c: Include opts.h.
7959 (darwin_default_min_version): Work with decoded options. Don't
7960 handle -b or -V here.
7961 * config/darwin.h (darwin_default_min_version): Update prototype.
7962 (GCC_DRIVER_HOST_INITIALIZATION): Update call to
7963 darwin_default_min_version.
7964 * config/i386/cygwin.h (mingw_scan): Update prototype.
7965 (GCC_DRIVER_HOST_INITIALIZATION): Update call to mingw_scan.
7966 * config/i386/cygwin1.c: Include opts.h.
7967 (mingw_scan): Work with decoded options.
7968 * config/i386/t-cygwin (cygwin1.o): Update dependencies.
7969 * config/t-darwin (darwin-driver.o): Update dependencies.
7970
e200444e
JM
79712010-09-22 Joseph Myers <joseph@codesourcery.com>
7972
7973 * common.opt (-assemble, -compile, -coverage, -debug, -dump,
7974 -dump=, -dumpbase, -dumpdir, -entry, -entry=, -extra-warnings,
7975 -for-assembler, -for-assembler=, -for-linker, -for-linker=,
7976 -force-link, -force-link=, -language, -language=,
7977 -library-directory, -library-directory=, -no-canonical-prefixes,
7978 -no-standard-libraries, -no-warnings, -optimize, -output,
7979 -output=, -pass-exit-codes, -pedantic, -pedantic-errors, -pie,
7980 -pipe, -prefix, -prefix=, -preprocess, -print-file-name,
7981 -print-file-name=, -print-libgcc-file-name,
7982 -print-multi-directory, -print-multi-lib,
7983 -print-multi-os-directory, -print-prog-name, -print-prog-name=,
7984 -print-search-dirs, -print-sysroot, -print-sysroot-headers-suffix,
7985 -profile, -save-temps, -shared, -specs, -specs=, -static,
7986 -symbolic, -time, -verbose, -param=, -sysroot, coverage, e, u,
7987 symbolic): New.
7988 (fhelp, fhelp=, ftarget-help, fversion): Make into aliases.
7989 * gcc.c (A Short Introduction to Adding a Command-Line Option):
7990 Remove comment.
7991 (cc1_options): Correct specs for passing down --help,
7992 --target-help and --help=*. Add spec for passing down --version.
7993 (struct option_map, option_map, target_option_translations,
7994 translate_options): Remove.
7995 (driver_handle_option): Handle OPT__version, OPT__help, OPT__help_
7996 and OPT__target_help instead of OPT_fversion, OPT_fhelp,
7997 OPT_fhelp_ and OPT_ftarget_help.
7998 (process_command): Don't call translate_options. Call
7999 decode_cmdline_options_to_array before checking for
8000 -no-canonical-prefixes using decoded options.
8001 * opts-common.c (tm.h): Update comment on #include.
8002 (find_opt): Allow abbreviations of long options.
8003 (struct option_map, option_map): New.
8004 (decode_cmdline_option): Use them instead of hardcoding -Wno, -fno
8005 and -mno handling.
8006 (target_option_translations): New.
8007 (decode_cmdline_options_to_array): Handle
8008 TARGET_OPTION_TRANSLATE_TABLE in driver.
8009 * opts.c (common_handle_option): Don't handle OPT_fhelp,
8010 OPT_ftarget_help, OPT_fhelp_ or OPT_fversion.
8011
5d7b099c
RG
80122010-09-22 Richard Guenther <rguenther@suse.de>
8013
8014 * tree-inline.c (optimize_inline_calls): Schedule cleanups
8015 only if we inlined something. Block compaction and conditional
8016 folding are done by cfg cleanup. Schedule update-address-taken.
8017 (tree_function_versioning): Remove redundant call to number_blocks.
8018 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Conditional
8019 folding is done by cfg cleanup.
8020 * passes.c (init_optimization_passes): Remove update-address-taken
8021 pass after IPA inlining.
8022
27d5e204
CLT
80232010-09-22 Chung-Lin Tang <cltang@codesourcery.com>
8024
8025 * postreload.c (move2add_note_store): Add reg_symbol_ref[] checks
8026 to update conditions. Fix reg_mode[] check.
8027
17eba947 80282010-09-22 Hariharan Sandanagobalane <hariharan@picochip.com>
be6388e1
HS
8029
8030 * config/picochip/picochip.md (movhicc): Use expand to check whether
8031 movhicc is available and split it after reload.
8032
736fe2d5
RG
80332010-09-22 Richard Guenther <rguenther@suse.de>
8034
8035 * tree-ssanames.c (release_dead_ssa_names): Do not remove
8036 callee edges here.
8037 * passes.c (init_optimization_passes): Remove early CFG cleanup.
8038 * tree-optimize.c (execute_cleanup_cfg_pre_ipa): Remove.
8039 (pass_cleanup_cfg): Likewise.
8040 (execute_fixup_cfg): Cleanup.
8041 * tree-pass.h (pass_cleanup_cfg): Remove.
8042
23c1da7a
MJ
80432010-09-22 Martin Jambor <mjambor@suse.cz>
8044
8045 * gimple-fold.c (fold_gimple_call): New parameter inplace, do not fold
8046 builtins if it is true.
8047 (fold_stmt_1): Call, fold_gimple_call always, pass inplace as a
8048 parameter.
8049
9271a43c
MJ
80502010-09-22 Martin Jambor <mjambor@suse.cz>
8051
8052 * tree-sra.c (struct access): New field grp_no_warning.
8053 (create_access_replacement): Set TREE_NO_WARNING according to
8054 grp_no_warning.
8055 (create_artificial_child_access): Use build_ref_for_model and set
8056 grp_no_warning if build_user_friendly_ref_for_offset fails.
8057 (propagate_subaccesses_across_link): Likewise.
8058
77167b6f
EB
80592010-09-22 Eric Botcazou <ebotcazou@adacore.com>
8060
8061 PR target/35664
8062 * config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU.
8063 ('f'): Likewise.
8064
50842acb
TG
80652010-09-22 Tristan Gingold <gingold@adacore.com>
8066
8067 * config/alpha/alpha.c (alpha_use_linkage): Initialize target field.
8068
c69fa2d4
UB
80692010-09-22 Uros Bizjak <ubizjak@gmail.com>
8070
8071 * config/i386/i386.h (MAX_STRINGOP_ALGS): Fix typo in the name.
8072 * config/i386/i386.c (decide_alg): Update for rename.
8073
a82e045d
JJ
80742010-09-22 Jakub Jelinek <jakub@redhat.com>
8075
8076 PR rtl-optimization/45739
8077 * simplify-rtx.c (simplify_binary_operation_1): Optimize even
8078 vector mode | CONST0_RTX (mode) and ^ CONST0_RTX (mode).
8079
5e68c77a
AS
80802010-09-21 Anatoly Sokolov <aesok@post.ru>
8081
8082 * config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): Remove macros.
8083 * config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra):
8084 Remove.
c69fa2d4 8085 * config/rs6000/rs6000.c (rs6000_output_addr_const_extra): Make static.
5e68c77a
AS
8086 (TTARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
8087
45547c7f
NP
80882010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8089
8090 PR objc/23710
45547c7f
NP
8091 * c-parser.c (c_parser_objc_method_definition): Check the return
8092 value of objc_start_method_definition and if false is returned,
8093 parse the method definition but emit no code.
50842acb 8094
c0c24aa4
NP
80952010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8096
8097 PR objc/25965
8098 * c-decl.c (detect_field_duplicates): If compiling Objective-C,
8099 call objc_get_interface_ivars ().
50842acb 8100
f997b875
KT
81012010-09-21 Kai Tietz <kai.tietz@onevision.com>
8102
8103 PR target/45694
8104 * config/i386/i386.c (ix86_expand_prologue): Save r10 in case that
8105 static chain-register is used for 64-bit.
8106
54394f4d
RG
81072010-09-21 Richard Guenther <rguenther@suse.de>
8108
8109 * dwarf2out.c (is_cu_die): New function.
8110 (add_pubtype): Use it.
8111 (gen_subprogram_die): Likewise.
8112 (gen_struct_or_union_type_die): Likewise.
8113 (dwarf2out_finish): Likewise.
8114 (comp_unit_die): Rename to ...
8115 (single_comp_unit_die): ... this.
8116 (comp_unit_die): New function lazily constructing and
8117 returning single_comp_unit_die.
8118 (is_cxx, is_fortran, is_ada, debug_dwarf, break_out_comdat_types,
8119 base_type_die, subrange_type_die, modified_type_die,
8120 lower_bound_default, add_bound_info, add_prototyped_attribute,
8121 dwarf2out_vms_debug_main_pointer, scope_die_for, retry_incomplete_types,
8122 dwarf2out_abstract_function, gen_type_die_with_usage, get_context_die,
8123 force_decl_die, gen_namespace_die, dwarf2out_decl,
8124 dwarf2out_start_source_file, dwarf2out_end_source_file,
8125 prune_unused_types, dwarf2out_finish): Use it.
8126 (gen_compile_unit_die): For GNU GIMPLE derive DW_AT_language from
8127 the global list of translation-unit decls.
8128 (dwarf2out_init): Do not create single_comp_unit_die here.
8129 (force_decl_die): Handle TRANSLATION_UNIT_DECL.
8130
9cad5fe7
RG
81312010-09-21 Richard Guenther <rguenther@suse.de>
8132
8133 * dwarf2out.c (dwarf2out_decl): Do not always generate a DIE
8134 for bool for C++.
8135
c9cdcaa5
BS
81362010-09-21 Bernd Schmidt <bernds@codesourcery.com>
8137
8138 * config/arm/iterators.md (qhs_extenddi_op): New mode_attr.
8139 (qhs_extenddi_cstr): Likewise.
8140 * config/arm/arm.md (zero_extend<mode>di2, extend<mode>di2): Use
8141 them for the source operand.
8142
903c31ee
UB
81432010-09-21 Uros Bizjak <ubizjak@gmail.com>
8144
8145 * config/i386/i386.c (ix86_split_ashl): Rename single_width variable
8146 to half_width. Use GET_MODE_BITSIZE to calculate mode size.
8147 (ix86_split_ashr): Ditto.
8148 (ix86_split_lshr): Ditto.
8149
ce2b1d68
RG
81502010-09-21 Richard Guenther <rguenther@suse.de>
8151
8152 PR tree-optimization/45580
8153 * tree-ssa-propagate.c (substitute_and_fold): Always replace
8154 regular uses.
8155 * gimple-fold.c (gimple_fold_obj_type_ref): For a BINFO without
8156 virtuals fold the call into a regular indirect one.
8157
ad78b8a6
EB
81582010-09-20 Eric Botcazou <ebotcazou@adacore.com>
8159
8160 PR rtl-optimization/42775
8161 * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
8162 scheduling is enabled.
8163
0a7a6af6
JJ
81642010-09-20 Jakub Jelinek <jakub@redhat.com>
8165
220c5f0c
JJ
8166 PR rtl-optimization/45728
8167 * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
8168 gen_lowpart_common first and if that fails, force_reg first
8169 before calling gen_lowpart.
8170
0a7a6af6
JJ
8171 PR middle-end/45678
8172 * cfgexpand.c (expand_one_stack_var_at): Use
8173 crtl->max_used_stack_slot_alignment as max_align, instead
8174 of maximum of that and PREFERRED_STACK_BOUNDARY.
8175 Don't call update_stack_alignment.
8176
523e82a7
EB
81772010-09-20 Eric Botcazou <ebotcazou@adacore.com>
8178
8179 * langhooks.h (struct lang_hooks_for_types): Remove hash_types field.
8180 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete.
8181 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES.
8182 * system.h (LANG_HOOKS_HASH_TYPES): Poison.
8183 * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types.
8184 (build_nonstandard_integer_type): Likewise.
8185 (build_range_type_1): New function, built from...
8186 (build_range_type): ...this. Call build_range_type_1.
8187 (build_nonshared_range_type): New function.
8188 (build_array_type_1): New function, built from...
8189 (build_array_type: ...this. Call build_array_type_1.
8190 (build_nonshared_array_type): New function.
8191 * tree.h (build_nonshared_range_type): Declare.
8192 (build_nonshared_array_type): Likewise.
8193
d163e655
AS
81942010-09-20 Anatoly Sokolov <aesok@post.ru>
8195
8196 * config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove.
8197 * config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
8198 (arm_class_likely_spilled_p): New function.
8199
382eb33c
UB
82002010-09-20 Uros Bizjak <ubizjak@gmail.com>
8201
8202 * config/i386/i386.c (ix86_expand_ashl_const): Rewrite using
8203 indirect functions.
8204 (ix86_split_ashl): Ditto.
8205 (ix86_split_ashr): Ditto.
8206 (ix86_split_lshr): Ditto.
8207 (ix86_adjust_counter): Ditto.
8208
abc88a08
NP
82092010-09-20 Nicola Pero <nicola.pero@meta-innovation.com>
8210
8211 * c-family/c-common.h (constant_string_class): Documented with
8212 comment identical to the one already in c-common.c.
8213
fbbe0995
JJ
82142010-09-20 Jakub Jelinek <jakub@redhat.com>
8215
9bedc09b
JJ
8216 * dwarf2out.c (any_cfis_emitted): New static variable.
8217 (add_fde_cfi): Set it.
8218 (dwarf2out_frame_debug): Clear it before processing,
8219 if it is set afterwards, flush any queued reg saves.
8220
fbbe0995
JJ
8221 PR debug/45124
8222 * dwarf2out.c (add_accessibility_attribute): Assume
8223 DW_ACCESS_private as the default for dwarf_version > 2
8224 and DW_TAG_class_type parent.
8225 (gen_inheritance_die): Assume DW_ACCESS_public as the default
8226 for dwarf_version > 2 and parent other than DW_TAG_class_type.
8227
382eb33c 82282010-09-20 Rafael Carre <rafael.carre@gmail.com>
cce470f9
RC
8229
8230 PR target/45726
8231 * arm.md (arm_movt): Only enable on machines with MOVT.
8232
47d8f18d
JZ
82332010-09-20 Jie Zhang <jie@codesourcery.com>
8234
8235 * config/arm/arm.c (arm_address_offset_is_imm): New.
8236 (arm_early_store_addr_dep): New.
8237 (arm_early_load_addr_dep): New.
8238 * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
8239 (arm_early_load_addr_dep): Declare.
8240 (arm_address_offset_is_imm): Declare.
8241 * config/arm/cortex-m4.md: New file.
8242 * config/arm/cortex-m4-fpu.md: New file.
8243 * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
8244 (attr generic_sched): Exclude cortexm4.
8245 (attr generic_vfp): Exclude cortexm4.
8246
06baaba3
RG
82472010-09-20 Richard Guenther <rguenther@suse.de>
8248
8249 PR middle-end/45704
8250 * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness.
8251
64e0f5ff
JH
82522010-09-20 Jan Hubicka <jh@suse.cz>
8253
8254 PR tree-optimize/45605
8255 * cgraph.h (const_value_known_p): Declare.
8256 (varpool_decide_const_value_known): Remove.
8257 * tree-ssa-ccp.c (get_base_constructor): Use it.
8258 * lto-cgraph.c (compute_ltrans_boundary): Likewise.
8259 * expr.c (string_constant): Likewise.
8260 * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
8261 * ipa.c (ipa_discover_readonly_nonaddressable_var,
8262 function_and_variable_visibility): Likewise.
8263 * gimplify.c (gimplify_call_expr): Likewise.
8264 * gimple-fold.c (get_symbol_constant_value): Likewise.
8265 * varpool.c (varpool_decide_const_value_known): Replace by...
8266 (const_value_known_p): ... this one; handle other kinds of DECLs
8267 too and work for automatic vars.
8268 (varpool_finalize_decl): Use const_value_known_p.
8269
382eb33c 82702010-09-20 Rafael Carre <rafael.carre@gmail.com>
4ce9b2b2
RC
8271
8272 PR target/45726
8273 * arm.md (arm_movtas_ze): Only enable on machine with MOVT.
8274
565b8886
RG
82752010-09-20 Richard Guenther <rguenther@suse.de>
8276
8277 PR tree-optimization/45705
8278 * tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination.
8279
2960be83
JJ
82802010-09-20 Jakub Jelinek <jakub@redhat.com>
8281
8282 PR rtl-optimization/45695
8283 * combine.c (try_combine): When splitting a two set pattern,
8284 make sure the pattern which will be put into i2 doesn't use REGs
8285 or MEMs set by insns in between i2 and i3.
8286
d1f6261f
JH
82872010-09-19 Jan Hubicka <jh@suse.cz>
8288
8289 PR lto/44246
8290 * lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid
8291 processing same node twice.
8292
0b182178
AS
82932010-09-19 Anatoly Sokolov <aesok@post.ru>
8294
8295 * config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove.
8296 * config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
8297 (bfin_class_likely_spilled_p): New function
8298
039d9ea1
IR
82992010-09-19 Ira Rosen <irar@il.ibm.com>
8300
8301 PR tree-optimization/45714
8302 * tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement
8303 created in vectorizable_call instead of the original statement in
8304 def stmt updates.
8305
b146446c
UB
83062010-09-19 Uros Bizjak <ubizjak@gmail.com>
8307
8308 * config/i386/i386-protos.h (split_double_mode): New prototype.
8309 (split_di, split_ti): Remove prototypes.
8310 * config/i386/i386.c (split_double_mode): New function.
8311 (split_di, split_ti): Remove.
8312 (ix86_expand_branch): Use split_double_mode.
8313 (ix86_split_to_parts): Ditto.
8314 (ix86_split_ashl): Ditto.
8315 (ix86_split_ashr): Ditto.
8316 (ix86_split_lshr): Ditto.
8317 (ix86_force_to_memory): Ditto.
8318 * config/i386/i386.md: Use split_double_mode in double-mode splitters.
8319
9b389a5e
JH
83202010-09-18 Jan Hubicka <jh@suse.cz>
8321
8322 PR tree-optimization/45453
8323 * cgraphunit.c (cgraph_finalize_function): Consider comdat & external
8324 virtual functions are reachable.
8325 * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
8326 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
8327 * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
8328 when modifying function.
8329
1389294c
JH
83302010-09-18 Jan Hubicka <jh@suse.cz>
8331
8332 PR tree-optimization/45605
8333 * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
8334 * gimple-fold.c (static_object_in_other_unit_p): New function.
8335 (canonicalize_constructor_val): Use it.
8336 (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
8337 returning NULL.
b146446c
UB
8338 (gimple_fold_obj_type_ref_known_binfo): Use
8339 static_object_in_other_unit_p.
1389294c 8340
6a78fd06
RG
83412010-09-18 Richard Guenther <rguenther@suse.de>
8342
8343 PR tree-optimization/45709
8344 * tree-inline.c (copy_phis_for_bb): Delay commit of edge
8345 insertions until after all PHI nodes of the block are processed.
8346
17eba947 83472010-09-18 Tijl Coosemans <tijl@coosemans.org>
f52a39cd
TC
8348
8349 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
8350
b4b7e792
KT
83512010-09-18 Kai Tietz <kai.tietz@onevision.com>
8352
8353 * config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
8354
a9db10d4
RG
83552010-09-18 Richard Guenther <rguenther@suse.de>
8356
8357 PR tree-optimization/45709
b146446c 8358 * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it.
a9db10d4 8359
1f424006
SP
83602010-09-17 Sebastian Pop <sebastian.pop@amd.com>
8361
8362 * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
8363 (dot_deps_stmt): Same.
8364 * graphite-poly.c (dot_lst): Same.
8365 * graphite-scop-detection.c (dot_all_scops): Same.
8366 (dot_scop): Same.
8367
f3241b29
SP
83682010-09-17 Sebastian Pop <sebastian.pop@amd.com>
8369
b146446c
UB
8370 Revert:
8371 2009-12-16 Ben Elliston <bje@au.ibm.com>
8372
f3241b29
SP
8373 * tree-data-ref.c (dot_rdg_1): Added back.
8374 (dot_rdg): Same. Added "#if 0" around system call.
8375
e7ed95a2
L
83762010-09-17 H.J. Lu <hongjiu.lu@intel.com>
8377 Richard Henderson <rth@redhat.com>
8378
8379 * config/i386/i386.c (initial_ix86_tune_features): Add
8380 X86_TUNE_PAD_SHORT_FUNCTION.
8381 (ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
8382 (ix86_count_insn): New.
8383 (ix86_pad_short_function): Likewise.
8384 (ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.
8385
8386 * config/i386/i386.h (ix86_tune_indices): Add
8387 X86_TUNE_PAD_SHORT_FUNCTION.
8388 (TARGET_PAD_SHORT_FUNCTION): New.
8389
8390 * config/i386/i386.md (UNSPEC_NOPS): New.
8391 (nops): Likewise.
8392
2b3ded42
L
83932010-09-17 H.J. Lu <hongjiu.lu@intel.com>
8394
8395 PR middle-end/45234
8396 * calls.c (expand_call): Make sure that all variable sized
8397 adjustments are multiple of preferred stack boundary after
8398 stack alignment.
8399
bf9afb7d
DD
84002010-09-17 DJ Delorie <dj@redhat.com>
8401
8402 * config/rx/rx.c (rx_print_operand): If __builtin_rx_setpsw() is
8403 passed an invalid value, print an error instead of ICEing.
8404 (valid_psw_flag): New.
8405 (rx_expand_builtin): Call it for setpsw/clrpsw.
b146446c 8406 (rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX.
bf9afb7d
DD
8407
8408 * config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
8409 (bitclr_in_memory): Likewise.
8410 (clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.
8411
765c3e8f
L
84122010-09-17 H.J. Lu <hongjiu.lu@intel.com>
8413
8414 PR middle-end/45678
8415 * cfgexpand.c (update_stack_alignment): New.
8416 (get_decl_align_unit): Use it.
8417 (expand_one_stack_var_at): Call update_stack_alignment.
8418
0982fd64
RG
84192010-09-17 Richard Guenther <rguenther@suse.de>
8420
8421 * lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
8422 Properly copy the read string.
8423
e90afde6
JM
84242010-09-17 Joseph Myers <joseph@codesourcery.com>
8425
8426 * doc/options.texi (Variable): Document.
8427 * optc-gen.awk, opth-gen.awk: Handle Variable records. Don't
8428 generate target_flags declarations explicitly. Don't define
8429 VarExists variables for the driver.
8430 * common.opt (target_flags): New Variable record.
8431 (flag_dump_unnumbered, flag_dump_unnumbered_links,
8432 flag_var_tracking, flag_var_tracking_assignments,
8433 flag_var_tracking_assignments_toggle): Don't mark variables with
8434 VarExists.
8435 * config/i386/i386.c (ix86_isa_flags): Don't define here.
8436 * config/i386/i386.opt (ix86_isa_flags): Define here.
8437 * config/mcore/mcore.c (mcore_stack_increment): Don't define here.
8438 * config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
8439 VarExists.
8440 * flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
8441 * print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
8442 Only define for generator programs.
8443 * rtlanal.c (target_flags): Remove.
8444 * toplev.c (flag_var_tracking, flag_var_tracking_assignments,
8445 flag_var_tracking_assignments_toggle): Remove.
8446
18ba3ce7
MM
84472010-09-17 Michael Matz <matz@suse.de>
8448
8449 PR tree-optimization/43432
8450 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
8451 Accept backwards consecutive accesses.
8452 (vect_create_data_ref_ptr): If step is negative generate
8453 decreasing IVs.
8454 * tree-vect-stmts.c (vectorizable_store): Reject negative steps.
8455 (perm_mask_for_reverse, reverse_vec_elements): New functions.
8456 (vectorizable_load): Handle loads with negative steps when easily
8457 possible.
8458
4c588abf
JH
84592010-09-03 Jan Hubicka <jh@suse.cz>
8460
8461 * lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
8462
122603fa
N
84632010-09-03 Naveen H.S <naveen.S@kpitcummins.com>
8464
8465 * config/v850/v850.c (v850_function_value_regno_p): Make static.
8466 Adjust comments. Declare.
8467 (TARGET_FUNCTION_VALUE_REGNO_P): Define.
8468 * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.
8469
c3224d6f
RG
84702010-09-17 Richard Guenther <rguenther@suse.de>
8471
8472 * common.opt (combine): Remove.
8473 * gcc.c (default_compilers): Remove specs testing combine.
8474 The C compilers no longer can combine.
8475 (option_map): Remove -combine.
8476 (display_help): Remove -combine.
8477 (driver_handle_option): Remove OPT_combine handling.
8478 (compile_input_file_p): Remove.
8479 (do_spec): Remove code concerning combine.
8480 (main): Likewise.
8481 * doc/invoke.texi: Remove traces of -combine.
b146446c 8482 * lto-wrapper.c (run_gcc): Do not pass -combine to the compiler driver.
c3224d6f 8483
dbad82f5
RG
84842010-09-17 Richard Guenther <rguenther@suse.de>
8485
8486 PR middle-end/45678
8487 * builtins.c (fold_builtin_memory_op): Always properly adjust
8488 alignment of memory accesses.
8489
52b3b3c7
JH
84902010-09-16 Jan Hubicka <jh@suse.cz>
8491
8492 * lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
8493 processing clone.
8494
26ec9308
L
84952010-09-16 H.J. Lu <hongjiu.lu@intel.com>
8496
8497 * config/i386/i386-protos.h (ix86_split_idivmod): New prototype.
8498
8499 * config/i386/i386.c (predict_jump): Add prototype.
8500 (flag_opts): Add -m8bit-idiv.
8501 (ix86_split_idivmod): New.
8502
8503 * config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
8504 Add 2 splitters for SI/DI mode divide.
8505 (divmod<mode>4_1): New pattern.
8506 (udivmod<mode>4_1): Likewise.
8507 (testdi_ccno_1): Likewise.
8508
8509 * config/i386/i386.opt (m8bit-idiv): New.
8510
8511 * doc/invoke.texi: Document -m8bit-idiv.
8512
782d5172
RY
85132010-09-16 Reza Yazdani <reza.yazdani@amd.com>
8514
8515 PR bootstrap/45680
8516 * config/i386/i386.c (min_insn_size): Moved out of the
8517 ASM_OUTPUT_MAX_SKIP_PAD ifdef.
8518
0cac82a0
JH
85192010-09-16 Jan Hubicka <jh@suse.cz>
8520
8521 * lto-cgraph.c (lto_output_node): Fix handling of clones.
8522 * ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
8523 unreachable clones with reachable clones.
8524 * tree-inline.c (copy_bb): Fix sanity checking when producing
8525 unreachable clone.
8526
40e2dfaa
AS
85272010-09-16 Anatoly Sokolov <aesok@post.ru>
8528
8529 * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
8530 (TARGET_MEMORY_MOVE_COST): Define.
8531 (m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED.
8532
65592aad
AM
85332010-09-16 Alexander Monakov <amonakov@ispras.ru>
8534
8535 * sel-sched.c (move_cond_jump): Use tidy_control_flow instead of
8536 maybe_tidy_empty_bb.
8537
8538 Revert:
8539 2010-09-06 Alexander Monakov <amonakov@ispras.ru>
8540 * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
8541
fac0f722
JM
85422010-09-16 Joseph Myers <joseph@codesourcery.com>
8543
8544 * target.def (target_option.optimization): New hook.
8545 * doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to
8546 TARGET_OPTION_OPTIMIZATION hook.
8547 * doc/tm.texi: Regenerate.
8548 * hooks.c (hook_void_int_int): New.
8549 * hooks.h (hook_void_int_int): Declare.
8550 * opts.c: Don't include tm_p.h.
8551 (decode_options): Use targetm.target_option.optimization instead
8552 of OPTIMIZATION_OPTIONS.
8553 * system.h (OPTIMIZATION_OPTIONS): Poison.
8554 * config/arm/arm-protos.h (arm_optimization_options): Remove.
8555 * config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define.
8556 (arm_optimization_options): Rename to arm_option_optimization.
8557 Make static.
8558 * config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove.
8559 * config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define.
8560 (cris_option_optimization): New.
8561 * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove.
8562 * config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define.
8563 (crx_option_optimization): New.
8564 * config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove.
8565 * config/frv/frv-protos.h (frv_optimization_options): Remove.
8566 * config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define.
8567 (frv_optimization_options): Rename to frv_option_optimization.
8568 Make static.
8569 * config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove.
8570 * config/h8300/h8300.c (h8300_option_optimization): New.
8571 (TARGET_OPTION_OPTIMIZATION): Define.
8572 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove.
8573 * config/i386/i386-protos.h (optimization_options): Remove.
8574 * config/i386/i386.c (optimization_options): Rename to
8575 ix86_option_optimization. Make static.
8576 (TARGET_OPTION_OPTIMIZATION): Define.
8577 * config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove.
8578 * config/ia64/ia64-protos.h (ia64_optimization_options): Remove.
8579 * config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define.
8580 (ia64_optimization_options): Rename to ia64_option_optimization.
8581 Make static. Call SUBTARGET_OPTIMIZATION_OPTIONS.
8582 * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove. Remove
8583 commented-out definition.
8584 * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
8585 instead of OPTIMIZATION_OPTIONS.
8586 * config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define.
8587 (m32r_option_optimization): New.
8588 * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove.
8589 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
8590 Remove.
8591 * config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define.
8592 (mcore_option_optimization): New.
8593 * config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove.
8594 * config/mep/mep-protos.h (mep_optimization_options): Remove.
8595 * config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define.
8596 (mep_optimization_options): Rename to mep_option_optimization.
8597 Make static. Take unused level and size parameters.
8598 * config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove.
8599 * config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define.
8600 (mmix_option_optimization): New.
8601 * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove.
8602 * config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define.
8603 (pdp11_option_optimization): New.
8604 * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove.
8605 * config/rs6000/rs6000-protos.h (optimization_options): Remove.
8606 * config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define.
8607 (optimization_options): Rename to rs6000_option_optimization.
8608 Make static.
8609 * config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove.
8610 * config/rx/rx-protos.h (rx_set_optimization_options): Remove.
8611 * config/rx/rx.c (rx_set_optimization_options): Rename to
8612 rx_option_optimization. Make static. Take unused level and size
8613 parameters.
8614 (TARGET_OPTION_OPTIMIZATION): Define.
8615 * config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove.
8616 * config/s390/s390-protos.h (optimization_options): Remove.
8617 * config/s390/s390.c (optimization_options): Rename to
8618 s390_option_optimization. Make static. Don't mark size parameter
8619 unused.
8620 (TARGET_OPTION_OPTIMIZATION): Define.
8621 * config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove.
8622 * config/sh/sh-protos.h (sh_optimization_options): Remove.
8623 * config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define.
8624 (sh_optimization_options): Rename to sh_option_optimization. Make
8625 static. Don't mark parameters unused.
8626 * config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove.
8627 * config/spu/spu-protos.h (spu_optimization_options): Remove.
8628 * config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define.
8629 (spu_optimization_options): Rename to spu_option_optimization.
8630 Make static.
8631 * config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove.
8632 * config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define.
8633 (v850_option_optimization): New.
8634 * config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove.
8635 * config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define.
8636 (xtensa_option_optimization): New.
8637 * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove.
8638
c5387660
JM
86392010-09-16 Joseph Myers <joseph@codesourcery.com>
8640
8641 * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
8642 (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
8643 * doc/tm.texi: Regenerate.
8644 * system.h (OVERRIDE_OPTIONS): Poison.
8645 * target.def (override): Default to hook_void_void.
8646 * targhooks.c (default_target_option_override): Remove.
8647 * genmodes.c, machmode.def: Update comments mentioning
8648 OVERRIDE_OPTIONS.
8649 * config/alpha/alpha-modes.def: Update comment mentioning
8650 alpha_override_options.
8651 * config/alpha/alpha-protos.h (override_options): Remove.
8652 * config/alpha/alpha.c (override_options): Rename to
b146446c 8653 alpha_option_override. Call SUBTARGET_OVERRIDE_OPTIONS. Make static.
c5387660
JM
8654 (TARGET_OPTION_OVERRIDE): Define.
8655 * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
8656 * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
8657 of OVERRIDE_OPTIONS.
8658 * config/arc/arc-protos.h (arc_init): Remove.
8659 * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
8660 (arc_init): Rename to arc_option_override. Make static.
8661 * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
8662 (OVERRIDE_OPTIONS): Remove.
8663 * config/arm/arm-protos.h (arm_override_options): Remove.
8664 * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
8665 (arm_override_options): Rename to arm_option_override. Make
8666 static. Call SUBTARGET_OVERRIDE_OPTIONS.
8667 * config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
b146446c 8668 * config/arm/arm.md: Update comment referring to arm_override_options.
c5387660
JM
8669 * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
8670 instead of OVERRIDE_OPTIONS.
8671 * config/avr/avr-protos.h (avr_override_options): Remove.
8672 * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8673 (avr_override_options): Rename to avr_option_override. Make static.
c5387660
JM
8674 * config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
8675 * config/bfin/bfin-protos.h (override_options): Remove (twice).
8676 * config/bfin/bfin.c (override_options): Rename to
8677 bfin_option_override. Make static.
8678 (TARGET_OPTION_OVERRIDE): Define.
8679 * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
8680 * config/cris/cris-protos.h (cris_override_options): Remove.
8681 * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8682 (cris_override_options): Rename to cris_option_override. Make static.
c5387660
JM
8683 * config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
8684 * config/frv/frv-protos.h (frv_override_options): Remove.
8685 * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8686 (frv_override_options): Rename to frv_option_override. Make static.
c5387660
JM
8687 * config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
8688 * config/h8300/h8300-protos.h (h8300_init_once): Remove.
8689 * config/h8300/h8300.c (h8300_init_once): Rename to
8690 h8300_option_override. Make static.
8691 (TARGET_OPTION_OVERRIDE): Define.
8692 * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
8693 * config/i386/i386-protos.h (override_options): Remove.
8694 * config/i386/i386.c (override_options): Rename to
8695 ix86_option_override_internal. Make static. Comments referring
8696 to this function and callers changed.
8697 (ix86_option_override): New.
8698 (TARGET_OPTION_OVERRIDE): Define.
8699 * config/i386/i386.h (OVERRIDE_OPTION): Remove.
b146446c 8700 * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment.
c5387660
JM
8701 * config/ia64/ia64.c (ia64_file_start): Update comment referring
8702 to ia64_override_options.
8703 * config/iq2000/iq2000-protos.h (override_options): Remove.
8704 * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8705 (override_options): Rename to iq2000_option_override. Make static.
c5387660
JM
8706 * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
8707 * config/lm32/lm32-protos.h (lm32_override_options): Remove.
8708 * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8709 (lm32_override_options): Rename to lm32_option_override. Make static.
c5387660
JM
8710 * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
8711 * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
8712 (m32r_option_override): New.
8713 (m32r_init): Update comment.
8714 * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
b146446c 8715 * config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove.
c5387660
JM
8716 * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
8717 (m68hc11_override_options): Rename to m68hc11_option_override.
8718 Make static. Return void.
8719 * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
8720 * config/m68k/m68k-protos.h (override_options): Remove.
8721 * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
8722 (override_options): Rename to m68k_option_override. Make static.
8723 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
8724 * config/mcore/mcore-protos.h (mcore_override_options): Remove.
8725 * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
8726 (mcore_override_options): Rename to mcore_option_override. Make
8727 static.
8728 * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
8729 * config/mep/mep-protos.h (mep_override_options): Remove.
8730 * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8731 (mep_override_options): Rename to mep_option_override. Make static.
c5387660
JM
8732 * config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
8733 * config/mmix/mmix-protos.h (mmix_override_options): Remove.
8734 * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8735 (mmix_override_options): Rename to mmix_option_override. Make static.
c5387660 8736 * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
b146446c 8737 * config/mn10300/mn10300-protos.h (mn10300_override_options): Remove.
c5387660
JM
8738 * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
8739 (mn10300_override_options): Rename to mn10300_option_override.
8740 Make static.
8741 * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
8742 * config/moxie/moxie-protos.h (moxie_override_options): Remove.
8743 * config/moxie/moxie.c (moxie_override_options): Rename to
8744 moxie_option_override. Make static.
8745 (TARGET_OPTION_OVERRIDE): Define.
8746 * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
8747 * config/picochip/picochip-protos.h (picochip_override_options):
8748 Remove. Update comment referring to picochip_override_options.
8749 * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
8750 (picochip_override_options): Rename to picochip_option_override.
8751 Make static. Update comment and definition of
8752 TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
8753 * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
b146446c
UB
8754 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
8755 * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
8756 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
8757 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
8758 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
c5387660
JM
8759 * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
8760 instead of OVERRIDE_OPTIONS.
8761 * config/rs6000/rs6000-modes.def: Update comment referring to
8762 rs6000_override_options.
8763 * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
8764 * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
8765 (rs6000_override_options): Rename to
8766 rs6000_option_override_internal. Make static. Commented
8767 referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
8768 (rs6000_option_override): New.
8769 * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
8770 instead of OVERRIDE_OPTIONS.
b146446c 8771 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
c5387660
JM
8772 * config/s390/s390-protos.h (override_options): Remove.
8773 * config/s390/s390.c (override_options): Rename to
8774 s390_option_override. Make static.
8775 (TARGET_OPTION_OVERRIDE): Define.
8776 * config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
8777 * config/score/score-protos.h (score_override_options): Remove.
8778 * config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
8779 (score_override_options): Rename to score_option_override. Make
8780 static.
8781 * config/score/score.h (OVERRIDE_OPTIONS): Remove.
8782 Update comment referring to override_options.
8783 * config/score/score3.c (score3_override_options): Rename to
8784 score3_option_override.
8785 * config/score/score3.h (score3_override_options): Rename to
8786 score3_option_override.
8787 * config/score/score7.c (score7_override_options): Rename to
8788 score7_option_override.
8789 * config/score/score7.h (score7_override_options): Rename to
8790 score7_option_override.
8791 * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
8792 * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
8793 (sparc_override_options): Rename to sparc_option_override. Make
8794 static. Call SUBTARGET_OVERRIDE_OPTIONS.
8795 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
8796 * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
8797 instead of OVERRIDE_OPTIONS.
8798 * config/spu/spu-protos.h (spu_override_options): Remove.
8799 * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
8800 (spu_override_options): Rename to spu_option_override. Make
8801 static.
8802 * config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
8803 * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
8804 OVERRIDE_OPTIONS.
8805 * config/vax/vax-protos.h (override_options): Remove.
8806 * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
8807 (override_options): Rename to vax_option_override. Make static.
8808 Call SUBTARGET_OVERRIDE_OPTIONS.
8809 * config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
8810 * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
8811 * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
8812 * config/xtensa/xtensa-protos.h (override_options): Remove.
8813 * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
b146446c 8814 (override_options): Rename to xtensa_option_override. Make static.
c5387660
JM
8815 * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
8816
ed6c4831
RG
88172010-09-16 Richard Guenther <rguenther@suse.de>
8818
8819 PR tree-optimization/45623
8820 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
8821 (get_constraint_for_component_ref): If computing a constraint
8822 for the rhs handle type punning through unions.
8823 (get_constraint_for_address_of): Adjust.
8824 (get_constraint_for_1): Likewise.
8825 (get_constraint_for): Likewise.
8826 (get_constraint_for_rhs): New function.
8827 (do_structure_copy): Adjust.
8828 (make_constraint_to): Likewise.
8829 (handle_const_call): Likewise.
8830 (find_func_aliases): Likewise.
8831 (process_ipa_clobber): Likewise.
8832 (create_variable_info_for): Likewise.
8833
ff802fa1
IR
88342010-09-16 Ira Rosen <irar@il.ibm.com>
8835
8836 * tree-vectorizer.c: Fix documentation.
8837 * tree-vectorizer.h (vinfo_for_stmt): Add documentation.
8838 (set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
8839 is_pattern_stmt_p, is_loop_header_bb_p,
8840 stmt_vinfo_set_inside_of_loop_cost,
8841 stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
8842 known_alignment_for_access_p): Likewise.
8843 * tree-vect-loop.c: Fix documentation.
8844 (vect_get_cost): Start function name from new line.
8845 * tree-vect-data-refs.c: Fix documentation.
8846 * tree-vect_stmts.c: Likewise.
8847 (vect_create_vectorized_promotion_stmts): Always free vec_tmp.
8848 (vectorizable_store): Free vec_oprnds if allocated.
8849 (vectorizable_condition): Initialize several variables to avoid
8850 warnings.
8851 * tree-vect-slp.c: Fix documentation.
8852
6be14c0e
RG
88532010-09-16 Richard Guenther <rguenther@suse.de>
8854
8855 * tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL
8856 is TS_TRANSLATION_UNIT_DECL.
8857 (initialize_tree_contains_struct): Adjust.
8858 (all_translation_units): New global vector.
8859 (build_translation_unit_decl): New function.
8860 * tree.h (TRANSLATION_UNIT_LANGUAGE): New macro.
8861 (struct tree_translation_unit_decl): New.
8862 (all_translation_units): Declare.
8863 (union tree_node): Add translation_unit_decl member.
8864 (build_translation_unit_decl): Declare.
8865 * treestruct.def (TS_TRANSLATION_UNIT_DECL): New.
8866 * lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
8867 New function.
8868 (pack_value_fields): Call it.
8869 (lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL.
8870 (lto_output_ts_translation_unit_decl_tree_pointers): New function.
8871 (lto_output_tree_pointers): Call it.
8872 * lto-streamer-in.c (lto_input_tree_ref): Handle references
8873 to TRANSLATION_UNIT_DECL.
8874 (unpack_ts_translation_unit_decl_value_fields): New function.
8875 (unpack_value_fields): Call it.
8876 (lto_input_ts_translation_unit_decl_tree_pointers): New function.
8877 (lto_input_tree_pointers): Call it.
8878 * lto-streamer.c (check_handled_ts_structures): Adjust.
8879 * lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref.
8880 * c-decl.c (all_translation_units): Remove.
8881 (pop_scope): Use build_translation_unit_decl.
8882 (collect_all_refs): Adjust.
8883 (for_each_global_decl): Likewise.
8884 (c_write_global_declarations): Likewise.
8885
0c3dbcf0
JJ
88862010-09-16 Jakub Jelinek <jakub@redhat.com>
8887
8888 PR bootstrap/45686
8889 * fold-const.c (fold_checksum_tree): Change slot from const void **
8890 to void **, use CONST_CAST_TREE to store into *slot.
8891
a427621f
UB
88922010-09-16 Uros Bizjak <ubizjak@gmail.com>
8893
8894 * config/i386/i386.md: Remove unneeded empty conditions and
8895 preparation statements from expanders.
8896 * config/i386/mmx.md: Ditto.
8897 * config/i386/sse.md: Ditto.
8898
8c2b2fae
UB
88992010-09-16 Uros Bizjak <ubizjak@gmail.com>
8900
8901 * config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD.
8902
9fa07b13
EB
89032010-09-15 Eric Botcazou <ebotcazou@adacore.com>
8904
8905 PR rtl-optimization/45593
8906 * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
8907 insns that were in delay slots as stand-alone insns.
8908
46327e12
ILT
89092010-09-15 Ian Lance Taylor <iant@google.com>
8910
8911 * incpath.c (remove_duplicates): If name is not a directory, issue
8912 a warning rather than an error.
8913
1faab08d
MJ
89142010-09-15 Martin Jambor <mjambor@suse.cz>
8915
8916 PR middle-end/45644
8917 * tree-sra.c (create_access): Check for bit-fields directly.
8918
cc99c5fe
JJ
89192010-09-15 Jakub Jelinek <jakub@redhat.com>
8920
8921 PR tree-optimization/45633
8922 * tree-cfg.c (verify_gimple_assign_binary): Allow
8923 MINUS_EXPR with lhs and rhs1 pointer vector and
8924 rhs2 sizetype vector.
8925 * expr.c (expand_expr_real_2) <case PLUS_EXPR>: For pointer
8926 or vector pointer use TER to optimize pointer subtraction.
8927
7dd8ecf0
JZ
89282010-09-15 Jie Zhang <jie@codesourcery.com>
8929
8930 * config/arm/vfp.md (cmpsf_trap_vfp): Change type from
8931 fcmpd to fcmps.
8932
1f944e88
ILT
89332010-09-15 Ian Lance Taylor <iant@google.com>
8934
8935 * config/i386/i386.md (truncxf<mode>2): Fix indentation.
8936
c1d9a70a
ILT
89372010-09-15 Ian Lance Taylor <iant@google.com>
8938
8939 * function.c (get_arg_pointer_save_area): Set
8940 arg_pointer_save_area_init to true.
8941
ea395a11
MJ
89422010-09-15 Martin Jambor <mjambor@suse.cz>
8943
8944 * tree-sra.c (generate_subtree_copies): Updated comment.
8945 (handle_unscalarized_data_in_subtree): Removed parameter lhs which is
8946 obtained from the statement iterator instead.
8947 (load_assign_lhs_subreplacements): Removed parameters lhs and
8948 right_offset, which is obtained from top_racc instead. Parameter lacc
8949 is now expected to be the root of the processed tree rather than root's
8950 first child. Updated all callers.
8951
6d96b48b
JM
89522010-09-15 Joseph Myers <joseph@codesourcery.com>
8953
8954 * config/pdp11/pdp11.c (register_move_cost): Rename to
8955 pdp11_register_move_cost.
8956 * config/pdp11/pdp11-protos.h (register_move_cost): Rename to
8957 pdp11_register_move_cost.
8958 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Call
8959 pdp11_register_move_cost instead of register_move_cost.
8960
0f38f229
TB
89612010-09-15 Tejas Belagod <tejas.belagod@arm.com>
8962
8963 * config/arm/neon.md (vec_pack_trunc_<mode>): Instruction
17eba947 8964 pattern for vmovn. Expansion in case of non
0f38f229
TB
8965 -mvectorize-with-neon-quad.
8966 (neon_vec_pack_trunc_<mode>): Instruction pattern for vmovn for
8967 non- -mvectorize-with-neon-quad case.
8968 (move_lo_quad_<mode>): New expansion to vmov into low part.
8969 (move_hi_quad_<mode>): New expansion to vmov into high part.
8970 (move_lo_quad_v4si): Refactor to move_lo_quad_<mode> expansion.
8971 (move_lo_quad_v4sf): Likewise.
8972 (move_lo_quad_v8hi): Likewise.
8973 (neon_move_lo_quad_<mode>): Instruction pattern for vmov into
8974 low part.
8975 (neon_move_hi_quad_<mode>): Instruction pattern for vmov into
8976 high part.
8977 * config/arm/iterators.md (ANY128): New mode iterator.
8978 (V_narrow_pack): New mode attribute.
8979 (V_HALF): Add attribute.
8980 (V_DOUBLE): Add attribute.
8981 (V_mode_nunits): Add attribute.
8982
10937190
EB
89832010-09-15 Eric Botcazou <ebotcazou@adacore.com>
8984
8985 * config/alpha/alpha.c (alpha_expand_prologue): If stack checking
8986 is enabled, probe up to frame_size + STACK_CHECK_PROTECT bytes.
8987
6c175675 89882010-09-15 Olivier Hainque <hainque@adacore.com>
8c2b2fae 8989 Jose Ruiz <ruiz@adacore.com>
6c175675
OH
8990
8991 * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Define.
8992 * config/alpha/osf5-unwind.h: New file.
8993
2b7237bb
L
89942010-09-14 H.J. Lu <hongjiu.lu@intel.com>
8995
8996 PR bootstrap/45672
8c2b2fae 8997 * config/mips/mips.c (mips_units_per_simd_word): Correct return type.
2b7237bb
L
8998 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
8999 * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
9000
969c37b7
LB
90012010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9002
9003 * c-lang.h (struct lang_type): Add variable_size GTY option.
9004
187c10dc
L
90052010-09-14 H.J. Lu <hongjiu.lu@intel.com>
9006
9007 PR bootstrap/45672
9008 * config/rs6000/rs6000.c (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
9009
2c03791b
L
90102010-09-14 H.J. Lu <hongjiu.lu@intel.com>
9011
9012 * config/i386/i386.c (ix86_lea_for_add_ok): Return false if
9013 result isn't used in memory address.
9014
26983c22
L
90152010-09-14 H.J. Lu <hongjiu.lu@intel.com>
9016
9017 * defaults.h (UNITS_PER_SIMD_WORD): Removed.
9018 * config/arm/arm.h (UNITS_PER_SIMD_WORD): Likewise.
9019 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
9020 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
9021 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
9022 * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
9023
9024 * target.def: Add units_per_simd_word to vectorize.
9025
9026 * targhooks.c (default_units_per_simd_word): New.
9027 * targhooks.h (default_units_per_simd_word): Likewise.
9028 * config/arm/arm.c (arm_units_per_simd_word): Likewise.
9029 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
9030 * config/mips/mips.c (mips_units_per_simd_word): Likewise.
9031 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
9032 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
9033 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
9034 * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
9035 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
9036
9037 * tree-vect-loop.c: Replace UNITS_PER_SIMD_WORD with
9038 TARGET_VECTORIZE_UNITS_PER_SIMD_WORD in comments.
9039
9040 * tree-vect-stmts.c: Don't include "tm_p.h".
9041 (get_vectype_for_scalar_type): Replace UNITS_PER_SIMD_WORD
9042 with targetm.vectorize.units_per_simd_word.
9043
9044 * system.h (UNITS_PER_SIMD_WORD): Poisoned.
9045
9046 * config/i386/i386-protos.h (ix86_units_per_simd_word): Removed.
9047
8c2b2fae 9048 * config/i386/i386.c (ix86_units_per_simd_word): Make it static.
26983c22
L
9049 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
9050
9051 * doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD. Add
9052 TARGET_VECTORIZE_UNITS_PER_SIMD_WORD.
9053
9054 * doc/tm.texi: Regenerated.
9055
4de264ab
L
90562010-09-14 H.J. Lu <hongjiu.lu@intel.com>
9057
9058 * tree-vect-stmts.c: Include "tm_p.h".
9059
9060 * config/i386/i386-protos.h (ix86_units_per_simd_word): Moved
9061 out of RTX_CODE.
9062
e4b5cace
MJ
90632010-09-14 Martin Jambor <mjambor@suse.cz>
9064
9065 * tree-sra.c (build_ref_for_offset): Loc made a parameter. Set the
9066 location of generated statement. Changed all callers.
9067 (build_ref_for_model): New parameter loc which used to set location of
9068 all generated expressions. Changed all callers.
9069 (generate_subtree_copies): Likewise.
9070 (init_subtree_with_zero): Likewise.
9071 (sra_modify_expr): Set locations of all generated statements and
9072 expressions to the location the original statement.
9073 (handle_unscalarized_data_in_subtree): Likewise.
9074 (load_assign_lhs_subreplacements): Likewise.
9075 (sra_modify_constructor_assign): Likewise.
9076 (sra_modify_assign): Likewise.
9077
d191cd06
EB
90782010-09-14 Eric Botcazou <ebotcazou@adacore.com>
9079
9080 PR target/45277
9081 PR target/45363
9082 PR target/45407
9083 * doc/install.texi (sparc*-*-*): New section.
9084 (sparc-sun-solaris2*): Mention MPC alongside GMP and MPFR.
9085
4359dc2a
JJ
90862010-09-14 Jakub Jelinek <jakub@redhat.com>
9087
9088 PR middle-end/45567
9089 * builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi,
9090 expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead.
9091 (expand_builtin): Adjust caller.
9092 (expand_builtin_unop): Only use subtarget if it has the right mode.
9093
515871c7
TG
90942010-09-14 Tristan Gingold <gingold@adacore.com>
9095
9096 * configure.ac (plugins): Fix typos.
9097 * configure: Regenerate.
9098
4a6e5cc8
JJ
90992010-09-14 Jakub Jelinek <jakub@redhat.com>
9100
9101 PR debug/45660
9102 * dwarf2out.c (gen_decl_die): Call gen_type_die for origin before
9103 gen_type_die for function/method return type.
9104
5a2c1986
IR
91052010-09-14 Ira Rosen <irar@il.ibm.com>
9106
9107 PR tree-optimization/45470
9108 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
9109 can throw an exception.
8c2b2fae 9110 * tree-vect-stmts.c (vectorizable_call): Likewise.
5a2c1986 9111
c28883e6
DD
91122010-09-14 DJ Delorie <dj@redhat.com>
9113
9114 PR target/44749
9115 * config/mep/mep-protos.h (mep_save_register_info,
9116 mep_reinit_regs, mep_init_regs): Declare.
9117
9118 * config/mep/mep.c: Move all target definitions to the end of the
9119 file to avoid the need for duplicate declarations.
9120 (mep_save_register_info, mep_reinit_regs, mep_init_regs): New.
9121 (mep_reorg_erepeat): Remove unused variables.
9122 (mep_expand_builtin): Likewise.
9123
9124 * config/mep/mep-pragma.c: Don't include rtl.h.
9125 (INVALID_REGNUM): New.
9126 (mep_pragma_coprocessor_which): Call mep-specific rtl-layer bridge
9127 functions.
9128 (mep_pragma_coprocessor_subclass): Rename "class" to "rclass".
9129 Avoid enum/integer math.
9130
ce959463
JM
91312010-09-13 Joseph Myers <joseph@codesourcery.com>
9132
9133 PR target/44749
9134 * config/mep/t-mep (GTM_H): Add insn-constants.h.
9135 * config/mep/mep.c (mep_conditional_register_usage): Take no
9136 parameters.
9137 * config/mep/mep-protos.h (mep_conditional_register_usage): Update
9138 prototype.
9139 * config/mep/mep-pragma.c (CONDITIONAL_REGISTER_USAGE): Update
9140 call to mep_conditional_register_usage.
9141
5c9bf752
EB
91422010-09-13 Eric Botcazou <ebotcazou@adacore.com>
9143
9144 PR debug/43937
9145 * varasm.c (output_constant_def_contents): Set TREE_ASM_WRITTEN on
9146 the DECL as well.
9147
ef3be7da
JJ
91482010-09-13 Jakub Jelinek <jakub@redhat.com>
9149
9150 PR rtl-optimization/45617
9151 * combine.c (simplify_comparison): Optimize (X >> N) {>,>=,<,<=} C
9152 even if low N bits of X aren't known to be zero.
9153
e72eba85
L
91542010-09-13 H.J. Lu <hongjiu.lu@intel.com>
9155
9156 * config/i386/i386-protos.h (ix86_units_per_simd_word): New.
9157
9158 * config/i386/i386.c (initial_ix86_tune_features): Add
9159 X86_TUNE_VECTORIZE_DOUBLE.
9160 (ix86_units_per_simd_word): New.
9161
9162 * config/i386/i386.h (ix86_tune_indices): Add
9163 X86_TUNE_VECTORIZE_DOUBLE.
9164 (TARGET_VECTORIZE_DOUBLE): New.
9165 (UNITS_PER_SIMD_WORD): Defined with ix86_units_per_simd_word.
9166
2ea5ee06
PH
91672010-09-13 Pat Haugen <pthaugen@us.ibm.com>
9168
9169 * tree-ssa-ter.c (temp_expr_table_d): Add call_cnt field.
9170 (new_temp_expr_table): Allocate call_cnt vector.
9171 (free_temp_expr_table): Free it.
9172 (process_replaceable): Add call_cnt parm and set in vector.
9173 (find_replaceable_in_bb): Skip replacement if def/use span a call.
9174 (debug_ter): Dump call_cnt value, remove stderr uses.
9175
e196b221
JH
91762010-09-13 Jan Hubicka <jh@suse.cz>
9177
9178 * tree.c (build_zero_cst): New.
9179 * tree.h (build_zero_cst): Declare.
9180 * tree-ssa-ccp.c (get_constant_value): Accept general operands.
9181 (get_base_constructor): Break out from ...
9182 (fold_const_aggregate_ref): Here; handle empty constructors.
9183
e88290ac
MS
91842010-09-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
9185
9186 * config/arm/arm.md: (define_attr "conds"): Update comment.
8c2b2fae 9187 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change
e88290ac 9188 conds attribute to clob.
8c2b2fae 9189 (arm_sync_compare_and_swapsi): Likewise.
e88290ac
MS
9190 (arm_sync_compare_and_swap<mode>): Likewise.
9191 (arm_sync_lock_test_and_setsi): Likewise.
9192 (arm_sync_lock_test_and_set<mode>): Likewise.
9193 (arm_sync_new_<sync_optab>si): Likewise.
9194 (arm_sync_new_nandsi): Likewise.
9195 (arm_sync_new_<sync_optab><mode>): Likewise.
9196 (arm_sync_new_nand<mode>): Likewise.
9197 (arm_sync_old_<sync_optab>si): Likewise.
9198 (arm_sync_old_nandsi): Likewise.
9199 (arm_sync_old_<sync_optab><mode>): Likewise.
9200 (arm_sync_old_nand<mode>): Likewise.
9201
2f434b97
OH
92022010-09-13 Olivier Hainque <hainque@adacore.com>
9203
8c2b2fae 9204 * fwprop.c (forward_propagate_and_simplify): Only attach a
2f434b97 9205 REG_EQUAL note to an insn if the destination is a register.
8c2b2fae 9206 * gcse.c (try_replace_reg): Likewise.
2f434b97 9207
654a61fb
RG
92082010-09-13 Richard Guenther <rguenther@suse.de>
9209
9210 PR tree-optimization/45611
9211 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fix typo.
9212 (copy_ref_info): Likewise.
9213
4e3a5f19
AO
92142010-09-13 Alexandre Oliva <aoliva@redhat.com>
9215
9216 PR debug/45604
9217 PR debug/45419
9218 PR debug/45408
9219 * tree-pretty-print.c (dump_generic_node): Disregard top-level
9220 types of MEM_REF pointer types to the same type.
9221
ddf68ab9
HPN
92222010-09-13 Hans-Peter Nilsson <hp@axis.com>
9223
9224 PR rtl-optimization/41087
9225 * ifcvt.c (noce_get_condition): Don't allow conditions with
9226 side-effects.
9227
33124e84
AS
92282010-09-12 Anatoly Sokolov <aesok@post.ru>
9229
9230 * config/frv/frv.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
9231 * config/frv/frv-protos.h (frv_register_move_cost): Remove.
9232 * config/frv/frv.c (frv_register_move_cost): Make static. Change
9233 arguments type to reg_class_t. Add mode argument.
9234 (frv_memory_move_cost): New.
9235 (TARGET_REGISTER_MOVE_COSTS, TARGET_MEMORY_MOVE_COSTS): Define.
9236
2cea21dd
BS
92372010-09-12 Bernd Schmidt <bernds@codesourcery.com>
9238
9239 * config/arm/arm.md (arm_ashldi3_1bit, arm_ashrdi3_1bit,
9240 arm_lshrdi3_1bit): Put earlyclobber on the right alternative.
9241
1b0086cc
JH
92422010-09-10 Jan Hubicka <jh@suse.cz>
9243
9244 * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not check STATIC flag.
9245
bedbdfcf
RG
92462010-09-10 Richard Guenther <rguenther@suse.de>
9247
9248 * tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
9249 * tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove.
9250 * lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
9251 not stream TYPE_DEBUG_REPRESENTATION_TYPE.
9252 * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise.
9253
cf6a4097
RG
92542010-09-10 Richard Guenther <rguenther@suse.de>
9255
9256 * dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type
9257 for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS.
9258 * dbxout.c (dbxout_type): Manually deal with VECTOR_TYPE
9259 using TYPE_VECTOR_SUBPARTS, not TYPE_DEBUG_REPRESENTATION_TYPE.
9260
90966337
L
92612010-09-10 H.J. Lu <hongjiu.lu@intel.com>
9262
9263 PR middle-end/45634
9264 * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result
9265 of string folding is of integral type.
9266
2962b1bb
RM
92672010-09-10 Ryan Mansfield <rmansfield@qnx.com>
9268
9269 * doc/invoke.texi (-x): Fix typo.
9270
e836611d
RG
92712010-09-10 Richard Guenther <rguenther@suse.de>
9272
9273 PR debug/44115
9274 * tree.c (free_lang_data_in_decl): Do not clear DECL_DEBUG_EXPR.
9275 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
9276 Output DECL_DEBUG_EXPR.
9277 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
9278 Input DECL_DEBUG_EXPR.
9279
8c4353b7
RG
92802010-09-10 Richard Guenther <rguenther@suse.de>
9281
8c2b2fae 9282 * tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE.
8c4353b7
RG
9283 (build_index_type): Implement in terms of build_range_type.
9284 (build_range_type): Do not allow NULL_TREE type, improve
9285 hashing to cover more cases. Set TYPE_STRUCTURAL_EQUALITY_P
9286 if we didn't hash.
9287 * c-decl.c (grokdeclarator): When modifying TYPE_SIZE manually
9288 create a distinct copy of the type.
9289
996b42ef
KT
92902010-09-10 Kai Tietz <kai.tietz@onevision.com>
9291
9292 * configure: Regenerated.
9293 * config.gcc: Add for x86_64 and i?86 mingw t-dfprule.
9294
a8c171c1
RR
92952010-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9296
8c2b2fae
UB
9297 * config/arm/neon-schedgen.ml (allCores): Add support for Cortex-A9.
9298 * config/arm/cortex-a9-neon.md: New and partially generated.
9299 * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
a8c171c1 9300
88df93ce
RG
93012010-09-10 Richard Guenther <rguenther@suse.de>
9302
9303 * tree.h (build_index_2_type): Remove.
9304 * tree.c (build_index_2_type): Remove.
9305
40ed057b
JJ
93062010-09-10 Jakub Jelinek <jakub@redhat.com>
9307
9308 PR bootstrap/45630
9309 * dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
9310 HOST_WIDE_INT_PRINT_DEC to print ref->die_offset.
9311 (implicit_ptr_descriptor): Return NULL if dwarf_strict.
9312
d242d063
MJ
93132010-09-10 Martin Jambor <mjambor@suse.cz>
9314
9315 PR tree-optimization/44972
9316 * tree-sra.c: Include toplev.h.
9317 (build_ref_for_offset): Entirely reimplemented.
9318 (build_ref_for_model): New function.
9319 (build_user_friendly_ref_for_offset): New function.
9320 (analyze_access_subtree): Removed build_ref_for_offset check.
9321 (propagate_subaccesses_across_link): Likewise.
9322 (create_artificial_child_access): Use
9323 build_user_friendly_ref_for_offset.
9324 (propagate_subaccesses_across_link): Likewise.
9325 (ref_expr_for_all_replacements_p): Removed.
9326 (generate_subtree_copies): Updated comment. Use build_ref_for_model.
9327 (sra_modify_expr): Use build_ref_for_model.
9328 (load_assign_lhs_subreplacements): Likewise.
9329 (sra_modify_assign): Removed ref_expr_for_all_replacements_p checks,
9330 checks for return values of build_ref_for_offset.
9331 * ipa-cp.c (ipcp_lattice_from_jfunc): No need to check return value of
9332 build_ref_for_offset.
9333 * ipa-prop.h: Include gimple.h
9334 * ipa-prop.c (ipa_compute_jump_functions): Update to look for MEM_REFs.
9335 (ipa_analyze_indirect_call_uses): Update comment.
9336 * Makefile.in (tree-sra.o): Add $(GIMPLE_H) to dependencies.
9337 (IPA_PROP_H): Likewise.
9338
fffe1e40
MJ
93392010-09-10 Martin Jambor <mjambor@suse.cz>
9340
9341 PR tree-optimization/44972
9342 * ipa-prop.c (ipa_modify_call_arguments): Build MEM_REF instead of
9343 calling build_ref_for_offset.
9344
508371fe
RR
93452010-09-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9346
2b74262b
UB
9347 * config/arm/bpabi.h (BE8_LINK_SPEC): Handle Cortex-a15.
9348 * config/arm/arm-cores.def (cortex-a15): New core. Treat it as a v7-a.
9349 * config/arm/arm-tune.md: Regenerate.
9350 * doc/invoke.texi (ARM Options): Document it.
508371fe 9351
7942e47e
RY
93522010-09-09 Reza Yazdani <reza.yazdani@amd.com>
9353
9354 * config/i386/i386.c: Include sched-int.h.
9355 (TARGET_SCHED_DISPATCH): Defined.
9356 (TARGET_SCHED_DISPATCH_DO): Defined.
9357 (DISPATCH_WINDOW_SIZE): Defined.
9358 (MAX_DISPATCH_WINDOWS): Defined.
9359 (MAX_INSN): Defined.
9360 (MAX_IMM): Defined.
9361 (MAX_IMM_SIZE): Defined.
9362 (MAX_IMM_32): Defined.
9363 (MAX_IMM_64): Defined.
9364 (MAX_LOAD): Defined.
9365 (MAX_STORE): Defined.
9366 (BIG): Defined.
9367 (dispatch_group): New.
9368 (num_allowable_groups): New.
9369 (group_name): New.
9370 (sched_insn_info_s): New.
9371 (dispatch_windows_s): New.
9372 (imm_info_s): New.
9373 (dispatch_window_list): New.
9374 (dispatch_window_list1): New.
9375 (get_mem_group): New.
9376 (is_cmp): New.
9377 (dispatch_violation): New.
9378 (is_branch): New.
9379 (is_prefetch): New.
9380 (init_window): New.
9381 (allocate_window): New.
9382 (init_dispatch_sched): New.
9383 (is_end_basic_block): New.
9384 (process_end_window): New.
9385 (allocate_next_window): New.
9386 (find_constant_1): New.
9387 (find_constant): New.
9388 (get_num_immediates): New.
9389 (has_immediate): New.
9390 (get_insn_path): New.
9391 (get_insn_group): New.
9392 (count_num_restricted): New.
9393 (fits_dispatch_window): New.
9394 (add_insn_window): New.
9395 (add_to_dispatch_window): New.
9396 (debug_dispatch_window_file): New.
9397 (debug_dispatch_window): New.
9398 (debug_insn_dispatch_info_file): New.
9399 (debug_ready_dispatch): New.
9400 (do_dispatch): New.
9401 (has_dispatch): New.
9402 * config/i386/i386.h (debug_ready_dispatch): Declared.
9403 (debug_dispatch_window): Declared.
9404 * config/i386/i386.opt (mdispatch-scheduler): New flag.
9405 * doc/tm.texi.in (TARGET_SCHED_DISPATCH): New.
9406 (TARGET_SCHED_DISPATCH_DO): New.
9407 * doc/tm.texi: Regererated.
9408 * haifa-sched.c (choose_ready): Call targetm.sched.dispatch and
9409 ready_remove_first_dispatch
9410 (schedule_block): Call targetm.sched.dispatch and
9411 targetm.sched.dispatch_do.
9412 (sched_init): Call targetm.sched.dispatch and
9413 targetm.sched.dispatch_do.
9414 (ready_remove_first_dispatch): New.
9415 (number_in_ready): New.
9416 (get_ready_element): New.
9417 * hooks.c (hook_bool_rtx_int_false): New.
9418 (hook_void_rtx_int): New.
9419 * hooks.h (hook_bool_rtx_int_false): Declared.
9420 (hook_void_rtx_int): Declared.
9421 * sched-int.h (IS_DISPATCH_ON): Defined.
9422 (IS_CMP): Defined.
9423 (DISPATCH_VIOLATION): Defined.
9424 (FITS_DISPATCH_WINDOW): Defined.
9425 (DISPATCH_INIT): Defined.
9426 (ADD_TO_DISPATCH_WINDOW): Defined.
9427 (get_ready_element): Declared.
9428 (number_in_ready): Declared.
9429 * target.def (dispatch): Defined.
9430 (dispatch_do): Defined.
9431
82916e7e
VM
94322010-09-09 Vladimir Makarov <vmakarov@redhat.com>
9433
9434 PR middle-end/45312
9435 * reload1.c (merge_assigned_reloads): Remove.
9436 (reload_as_needed): Don't call it.
9437
b9be2842
AS
94382010-09-09 Anatoly Sokolov <aesok@post.ru>
9439
9440 * config/m32r/m32r.c (m32r_mode_dependent_address_p): New functions.
9441 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
9442 * config/m32r/m32r.h: (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
9443
709e26f0
MK
94442010-09-09 Matthias Klose <doko@ubuntu.com>
9445
9446 PR bootstrap/43847
9447 * configure.ac (--enable-plugin): Enhance for cross builds.
9448 * configure: Regenerate.
9449
54e34c35
JH
94502010-09-09 Jan Hubicka <jh@suse.cz>
9451
9452 PR tree-optimization/45598
9453 * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result of
9454 string folding is of integral type.
9455
ba885ec5
NS
94562010-09-09 Nathan Sidwell <nathan@codesourcery.com>
9457
9458 * configure.ac (gnu_indirect_function): New test.
9459 * configure: Rebuilt.
9460 * config.in (HAVE_GAS_INDIRECT_FUNCTION): New.
9461 * defaults.h (IFUNC_ASM_TYPE): Provide default.
9462
9463 * doc/extend.texi (Function Attributes): Document ifunc.
9464 * varasm.c (do_assemble_alias): Deal with ifuncs too.
9465
74164603 94662010-09-09 Hariharan Sandanagobalane <hariharan@picochip.com>
5582cb29
HS
9467
9468 * config/picochip/picochip.c (picochip_reorg): Check for note_p for
9469 epilogue instruction move.
9470
ed2222c8
JH
94712010-09-09 Jan Hubicka <jh@suse.cz>
9472
9473 * collect2.c (maybe_run_lto_and_relink): Rewrite code producing ld
9474 command line to allow more partitions than input files.
9475
de8e52f0
VM
94762010-09-09 Vladimir Makarov <vmakarov@redhat.com>
9477
9478 PR middle-end/44554
9479 * ira.c (ira): Switch off sharing spill slots if setjmp is called.
9480
b100151b
VM
94812010-09-09 Vladimir Makarov <vmakarov@redhat.com>
9482
9483 PR middle-end/40386
9484 * ira.c (pseudo_for_reload_consideration_p): Don't use
9485 flag_ira_share_spill_slots.
9486
45e5214c
UW
94872010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9488
9489 * config/s390/s390.c (legitimate_reload_constant_p): Accept floating-
9490 point zero operands that fit into a single GPR.
9491 (s390_preferred_reload_class): Ensure we only return general-purpose
9492 register classes.
9493 * config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load
9494 floating-point zero operands into GPRs.
9495 ("*mov<mode>_64"): Likewise.
9496 ("mov<mode>"): Likewise using lhi.
9497
98635b04
UW
94982010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9499
9500 * config/s390/s390.c (s390_symref_operand_p): Return false for
9501 literal pool references.
9502 (s390_check_qrst_address): Update caller.
9503
d2795d58
UB
95042010-09-09 Uros Bizjak <ubizjak@gmail.com>
9505
9506 * config/i386/predicates.md (ext_register_operand): Check that
9507 SUBREG_REG is really a register before looking for REGNO.
9508 (reg_not_xmm0_operand): Handle SUBREGs correctly.
9509 (nonimm_not_xmm0_operand): Call reg_not_xmm0_operand.
9510
c8a27c40
JJ
95112010-09-09 Jakub Jelinek <jakub@redhat.com>
9512
9513 * rtl.def (DEBUG_IMPLICIT_PTR): New rtl code.
9514 * rtl.h (DEBUG_IMPLICIT_PTR_DECL): Define.
9515 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle DEBUG_IMPLICIT_PTR.
9516 * print-rtl.c (print_rtx): Likewise.
9517 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
9518 * cfgexpand.c (expand_debug_expr): Generate DEBUG_IMPLICIT_PTR
9519 for ADDR_EXPR with non-addressable object.
9520 * dwarf2out.c (enum dw_val_class): Add dw_val_class_decl_ref.
9521 (struct dw_val_struct): Add v.val_decl_ref.
9522 (dwarf_stack_op_name, output_loc_operands, output_loc_operands_raw):
9523 Handle DW_OP_GNU_implicit_pointer.
9524 (size_of_loc_descr): Likewise. Fix up DW_OP_call_ref size.
9525 (get_ref_die_offset_label): New function.
9526 (implicit_ptr_descriptor): New function.
9527 (mem_loc_descriptor): Handle DEBUG_IMPLICIT_PTR.
9528 (loc_descriptor): Likewise.
9529 (gen_variable_die): Put even definitions into decl_die_table.
9530 (resolve_addr_in_expr): Resolve still unresolved
9531 DW_OP_GNU_implicit_pointer operands, if it can't be resolved
9532 return false.
9533 (dwarf2out_finish): Call output_location_lists after outputting
9534 .debug_info and .debug_abbrev instead of before.
9535
95362010-09-09 Roland McGrath <roland@redhat.com>
9537
9538 * dwarf2out.c (DWARF_REF_SIZE): Define.
9539 (size_of_loc_descr): Use it for DW_OP_call_ref.
9540
5a79bcc4
AM
95412010-09-09 Alan Modra <amodra@gmail.com>
9542
9543 * doc/invoke.text: Reinstate mcmodel=medium.
9544 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
9545 CMODEL_MEDIUM as default.
9546 * config/rs6000/rs6000.h (enum rs6000_cmodel): Add CMODEL_MEDIUM.
9547 * config/rs6000/rs6000.c (rs6000_handle_option): Add mcmodel=medium.
9548 (toc_relative_ok, offsettable_ok_by_alignment): New functions.
9549 (rs6000_emit_move): Reinstate mcmodel=medium optimization.
9550
bc707992
JDA
95512010-09-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9552
9553 PR target/45250
9554 * config/pa/pa.md (nonlocal_goto): Restore hard frame pointer using
9555 hard_frame_pointer_rtx instead of virtual_stack_vars_rtx.
9556 (builtin_longjmp): Likewise.
9557 (allocate_stack): Use hard_frame_pointer_rtx instead of
9558 frame_pointer_rtx.
9559 * config/pa/pa-protos.h (pa_initial_elimination_offset): Declare.
9560 * config/pa/pa.c (pa_internal_arg_pointer): Declare.
9561 (pa_can_eliminate): Likewise.
9562 (TARGET_INTERNAL_ARG_POINTER): Define.
9563 (TARGET_CAN_ELIMINATE): Define.
9564 (hppa_expand_prologue): Use hard frame pointer instead of soft frame
9565 pointer.
9566 (hppa_expand_epilogue, pa_eh_return_handler_rtx): Likewise.
9567 (pa_internal_arg_pointer, pa_can_eliminate,
9568 pa_initial_elimination_offset): New.
9569 * config/pa/pa.h (FRAME_POINTER_REGNUM): Set to new general register.
9570 (HARD_FRAME_POINTER_REGNUM): Set to register three.
9571 (INITIAL_FRAME_POINTER_OFFSET): Delete.
9572 (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET, DWARF_FRAME_REGISTERS):
9573 Define.
9574 (DWARF_ALT_FRAME_RETURN_COLUMN, REGNO_OK_FOR_INDEX_P,
9575 REGNO_OK_FOR_BASE_P): Update to include soft frame pointer.
9576 * config/pa/pa32-regs.h (FIRST_PSEUDO_REGISTER): Increase by one.
9577 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
9578 REG_CLASS_CONTENTS, REGNO_REG_CLASS, REGISTER_NAMES): Update to include
9579 new soft frame pointer.
9580 * config/pa/pa64-regs.h: Likewise.
9581
2824d6e5
UB
95822010-09-08 Uros Bizjak <ubizjak@gmail.com>
9583
9584 * config/i386/i386.h (EH_RETURN_DATA_REGNO) Use DX_REG instead of
9585 numerical constant.
9586 (EH_RETURN_STACKADJ_RTX): Use CX_REG insted of numerical constant.
9587
c485684d
AO
95882010-09-08 Alexandre Oliva <aoliva@redhat.com>
9589
9590 PR debug/45531
9591 * cfglayout.c (fixup_reorder_chain): Skip debug insns.
9592
359bea1d
AO
95932010-09-08 Alexandre Oliva <aoliva@redhat.com>
9594
9595 PR debug/45419
9596 PR debug/45408
9597 * tree-pretty-print.c (dump_generic_node): Disregard top-level
9598 qualifiers in otherwise equal MEM_REF pointer types.
9599 * fold-const.c (operand_equal_p): Compare pointer type of MEM_REFs.
9600 * tree.c (iterative_hash_expr): Hash the pointer type of MEM_REFs.
9601
0a7822a3
RR
96022010-09-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9603
9604 PR target/44392
9605 * config/arm/arm.md (bswapsi2): Handle condition correctly
9606 for armv6 and optimize_size.
9607
2bfef1ad
FXC
96082010-09-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9609
9610 PR other/18555
2824d6e5 9611 * doc/cppopts.texi (-isysroot): Document Darwin behaviour.
2bfef1ad 9612
19ed9d7b
UB
96132010-09-08 Uros Bizjak <ubizjak@gmail.com>
9614
9615 * config/i386/i386-protos.h (ix86_can_use_return_insn_p,
9616 symbolic_reference_mentioned_p, ix86_expand_movmem, ix86_expand_setmem,
9617 ix86_expand_strlen, legitimate_pic_address_disp_p,
9618 ix86_binary_operator_ok, ix86_unary_operator_ok, ix86_match_ccmode,
9619 ix86_expand_int_movcc, ix86_expand_fp_movcc, ix86_expand_int_addcc,
9620 ix86_check_movabs, ix86_secondary_memory_needed): Change function
9621 prototype to bool.
9622 * config/i386/i386.c (return_in_memory_32, return_in_memory_64,
9623 return_in_memory_ms_64, ix86_check_movabs,
9624 symbolic_reference_mentioned_p, ix86_can_use_return_insn_p,
9625 legitimate_pic_address_disp_p, ix86_binary_operator_ok,
9626 ix86_unary_operator_ok, ix86_match_ccmode, ix86_expand_int_movcc,
9627 ix86_expand_fp_movcc, ix86_expand_int_addcc, ix86_expand_movmem,
9628 ix86_expand_setmem, ix86_expand_strlen, inline_secondary_memory_needed,
9629 ix86_secondary_memory_needed): Change to bool. Return
9630 "true" and "false" values.
9631 * config/i386/i386.md: Return "true" and "false" values.
9632
0fa3d594
RO
96332010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9634
9635 * doc/sourcebuild.texi (Effective-Target Keywords): Document
9636 run_expensive_tests.
9637
86923f6e
RO
96382010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9639
19ed9d7b 9640 * toplev.c (output_stack_usage): Use lbasename instead of basename.
86923f6e 9641
da1cc2e4
MJ
96422010-09-08 Martin Jambor <mjambor@suse.cz>
9643
9644 PR other/45443
9645 * doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on
9646 at -O3.
9647
0f443ad0
RG
96482010-09-08 Richard Guenther <rguenther@suse.de>
9649
9650 * gimple.c (gimple_types, type_hash_cache): Move to GC memory.
9651 (visit): Adjust.
9652 (iterative_hash_gimple_type): Likewise.
9653 (gimple_type_hash): Likewise.
9654 (gimple_register_type): Likewise.
9655 (print_gimple_types_stats): Likewise.
9656 (free_gimple_type_tables): Likewise.
9657
a855b1b1
MM
96582010-09-08 Michael Matz <matz@suse.de>
9659
9660 PR tree-optimization/43430
9661 * tree-vect-stmts.c (vectorizable_condition): Support multiple
9662 copies for conditional statements if it's not part of a reduction.
9663
3834917d
MM
96642010-09-08 Michael Matz <matz@suse.de>
9665
9666 PR tree-optimization/33244
9667 * tree-ssa-sink.c (statement_sink_location): Don't sink into
9668 empty loop latches.
9669
b5c878a5
RG
96702010-09-08 Richard Guenther <rguenther@suse.de>
9671
9672 PR tree-optimization/45578
9673 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr):
9674 Be more careful when transfering alignment information to
9675 the new induction variable.
9676 (copy_ref_info): Likewise.
9677
1814522d
RG
96782010-09-08 Richard Guenther <rguenther@suse.de>
9679
9680 * tree.h (TYPE_ORIG_SIZE_TYPE): Remove.
19ed9d7b 9681 * c-typeck.c (comptypes_internal): Remove TYPE_ORIG_SIZE_TYPE checks.
1814522d 9682
7370e0da
AC
96832010-09-08 Arnaud Charlet <charlet@adacore.com>
9684
9685 * c-tree.h, c-decl.c (build_enumerator): Add location parameter.
9686 * c-parser.c (c_parser_enum_specifier): Adjust call to build_enumerator.
9687
74164603 96882010-09-08 Kenneth Zadeck <zadeck@naturalbridge.com>
19ed9d7b 9689
e0d4c0b3
KZ
9690 PR doc/45587
9691 * doc/md.texi: Fixed modes on several standard pattern names.
9692
59bdeecb
MX
96932010-09-08 Mingjie Xing <mingjie.xing@gmail.com>
9694
9695 * config/mips/loongson.md (loongson_psll<V_suffix>): Rename to...
9696 (ashl<mode>3): ...this.
9697 (loongson_psra<V_suffix>): Rename to...
9698 (ashr<mode>3): ...this.
9699 (loongson_psrl<V_suffix>): Rename to...
9700 (lshr<mode>3): ...this.
9701 * config/mips/mips.c (CODE_FOR_loongson_psllh): Define.
9702 (CODE_FOR_loongson_psllw): Define.
9703 (CODE_FOR_loongson_psrlh): Define.
9704 (CODE_FOR_loongson_psrlw): Define.
9705 (CODE_FOR_loongson_psrah): Define.
9706 (CODE_FOR_loongson_psraw): Define.
9707
237e9c04
RH
97082010-09-07 Richard Henderson <rth@redhat.com>
9709
9710 * tree-vect-data-refs.c: Include tm_p.h.
9711 * Makefile.in (tree-vect-data-refs.o): Update deps.
9712 * config/i386/i386-protos.h (ix86_cfun_abi, ix86_function_type_abi):
9713 Move delarations outside #ifdef RTX_CODE.
9714
182a0c11
RH
97152010-09-07 Richard Henderson <rth@redhat.com>
9716
19ed9d7b 9717 * final.c (rest_of_handle_final): Unconditionally do
182a0c11
RH
9718 output_function_exception_table before assemble_end_function.
9719
f27e50db
JH
97202010-09-07 Jan Hubicka <jh@suse.cz>
9721
19ed9d7b
UB
9722 * tree-inline.c (tree_inlinable_function_p): Do not test
9723 DECL_REPLACEABLE_P.
9724 * ipa-inline.c (cgraph_default_inline_p, update_caller_keys,
9725 update_callee_keys, cgraph_decide_inlining): Test function availability.
f27e50db
JH
9726 * cif-code.def (OVERWRITABLE): New code.
9727
a0766cdb 97282010-09-07 H.J. Lu <hjl.tools@gmail.com>
74164603 9729 Jack Howarth <howarth@bromo.med.uc.edu>
a0766cdb
L
9730
9731 PR target/36502
9732 PR target/42313
9733 PR target/44651
eed023cc 9734 * config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for
a0766cdb
L
9735 profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise.
9736 (PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in
9737 MAX macro.
9738
4e751772
L
97392010-09-07 H.J. Lu <hongjiu.lu@intel.com>
9740
9741 * unwind-dw2-fde-glibc.c: Include <elf.h> for DT_CONFIG.
9742 Include <link.h> only if USE_PT_GNU_EH_FRAME is defined.
9743
274eec6c
L
97442010-09-07 H.J. Lu <hongjiu.lu@intel.com>
9745
9746 * config.gcc: Don't append t-android for Android targets.
9747
9748 * config/t-android: Removed.
9749
a68b5e52
RH
97502010-09-07 Richard Henderson <rth@redhat.com>
9751
9752 * target.def (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): New hook.
9753 * doc/tm.texi.in: Add doc marker.
9754 * doc/tm.texi: Rebuild.
9755 * except.c (switch_to_exception_section): Always build.
9756 (output_one_function_exception_table): Move section switch,
9757 personality output, and label output ...
9758 (output_function_exception_table): ... here. Use the new
9759 personality hook.
9760
9761 * config/ia64/ia64.c (ia64_asm_emit_except_personality,
9762 ia64_asm_init_sections, TARGET_ASM_EMIT_EXCEPT_PERSONALITY,
9763 TARGET_ASM_INIT_SECTIONS): New.
9764 (ia64_asm_unwind_emit): Rename from process_for_unwind_directive,
9765 make static.
9766 (TARGET_ASM_UNWIND_EMIT): Update to match.
9767 * config/ia64/ia64-protos.h (process_for_unwind_directive): Remove.
9768
9769 * config/arm/arm.c (arm_asm_emit_except_personality): New.
9770 (arm_asm_init_sections): New.
9771 (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): New.
9772
9b3a7a26
RR
97732010-09-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9774
9775 * config/arm/arm.md: Remove unused variable.
9776
7149f02c
AS
97772010-09-07 Anatoly Sokolov <aesok@post.ru>
9778
9779 * config/m32r/m32r.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
9780 * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Define.
9781 (m32r_memory_move_cost): New function.
9782
c811b2a5
L
97832010-09-07 H.J. Lu <hongjiu.lu@intel.com>
9784
9785 * config.gcc: Append t-android for Android targets.
9786
9787 * config/t-android: New.
9788
3bc6b3e6
RH
97892010-09-07 Richard Henderson <rth@redhat.com>
9790
9791 * target.def (unwind_emit_before_insn): New hook.
9792 * doc/tm.texi.in: Add @hook marker for it.
9793 * doc/tm.texi: Rebuild.
9794 * final.c (final_scan_insn): Respect unwind_emit_before_insn.
9795
aa229804
MJ
97962010-09-07 Martin Jambor <mjambor@suse.cz>
9797
9798 PR fortran/43665
9799 * ipa-cp.c (ipcp_versionable_function_p): Return false if there
9800 are any type attributes.
9801
9c4ce18d
JH
98022010-09-07 Jan Hubicka <jh@suse.cz>
9803
3bc6b3e6
RH
9804 * tree-ssa-ccp.c (fold_const_aggregate_ref): Fix handling of
9805 array_ref_low_bound in string access folding.
9c4ce18d 9806
d341a5d0
UB
98072010-09-07 Uros Bizjak <ubizjak@gmail.com>
9808
9809 PR target/45206
9810 * config/i386/i386.c (ix86_expand_epilogue): Mark SP as valid after
9811 eh_return fixup sequence.
9812
8683f051
JH
98132010-09-07 Jan Hubicka <jh@suse.cz>
9814
9c4ce18d 9815 * gimple-fold.c (maybe_fold_reference): Verify that operand is
8683f051
JH
9816 gimple_min_invariant.
9817
f5e5b46c
RG
98182010-09-07 Richard Guenther <rguenther@suse.de>
9819
9820 PR middle-end/45569
9821 * tree-eh.c (operation_could_trap_helper_p): Neither COMPLEX_EXPR
9822 nor CONSTRUCTOR can trap.
9823 * tree-complex.c (update_complex_assignment): Update EH info.
9824
c9d6130e
RG
98252010-09-07 Richard Guenther <rguenther@suse.de>
9826
9827 PR middle-end/45569
9828 * tree-cfg.c (build_gimple_cfg): Remove redundant stmt verification.
9829 * passes.c (execute_function_todo): Do not verify anything if
9830 we saw errors.
9831
d7806def
RG
98322010-09-07 Richard Guenther <rguenther@suse.de>
9833
d341a5d0 9834 * tree-pretty-print.c (dump_generic_node): Dump void types as void.
d7806def 9835
da0a441d
BS
98362010-09-07 Bernd Schmidt <bernds@codesourcery.com>
9837
9838 PR target/43137
9839 * config/arm/iterators.md (qhs_zextenddi_cond, qhs_sextenddi_cond):
9840 New define_mode_attrs.
9841 * config/arm/arm.md (zero_extendsidi2, arm_zero_extendsidi2,
9842 arm_exxtendsidi2, arm_extendsidi2): Delete patterns.
9843 (zero_extend<mode>di2, extend<mode>di2 and related splits): New.
9844 (thumb1_zero_extendhisi2): Remove code to handle LABEL_REFs.
9845 Remove pool_range attribute.
9846 (arm_zero_extendhisi2, arm_zero_extendhisi2_v6, arm_zero_extendqisi2,
9847 arm_zero_extendqisi2_v6, thumb1_zero_extendqisi2_v6): Remove
9848 pool_range and neg_pool_range attributes.
9849 * config/arm/thumb2.md (thumb2_zero_extendsidi2,
9850 thumb2_zero_extendhidi2, thumb2_zero_extendqidi2, thumb2_extendsidi2,
9851 thumb2_extendhidi2, thumb2_extendqidi2): Delete.
9852
4e18507b
L
98532010-09-06 H.J. Lu <hongjiu.lu@intel.com>
9854
9855 * config/i386/linux-unwind.h (x86_fallback_frame_state): Properly
9856 check glibc.
9857
61ec1123
UB
98582010-09-06 Uros Bizjak <ubizjak@gmail.com>
9859
9860 PR target/22152
9861 * config/i386/mmx.md (*mov<mode>_internal_rex64,
9862 *mov<mode>_internal_avx, *mov<mode>_internal,
9863 *movv2sf_internal_rex64_avx, *movv2sf_internal_rex64,
9864 *movv2sf_internal_avx, *movv2sf_internal): Split out !y-!y alternative.
9865
c5ee1358
MM
98662010-09-06 Mark Mitchell <mark@codesourcery.com>
9867
9868 * c-typeck.c (do_warn_double_promotion): Remove.
9869 * doc/invoke.texi (-Wdouble-promotion): Note available for C++ and
9870 Objective-C++ too.
9871
c28350ab
AS
98722010-09-06 Anatoly Sokolov <aesok@post.ru>
9873
9874 * config/frv/frv.h (CLASS_LIKELY_SPILLED_P): Remove.
9875 * config/frv/frv-protos.h (frv_class_likely_spilled_p): Remove.
9876 * config/frv/frv.c (frv_class_likely_spilled_p): Make static. Change
9877 argument type to reg_class_t. Change result type to bool.
9878 (TARGET_CLASS_LIKELY_SPILLED_P): Define.
9879
708e07fb
NP
98802010-09-06 Nicola Pero <nicola.pero@meta-innovation.com>
9881
9882 PR libobjc/19850
9883 * gthr-posix.h (__gthread_objc_thread_detach): Use
9884 _objc_thread_attribs when detaching a thread.
9885 * gthr-posix95.h (__gthread_objc_thread_detach): Same change.
9886
cc0ae0ca
L
98872010-09-06 H.J. Lu <hongjiu.lu@intel.com>
9888
9889 PR target/45524
61ec1123 9890 * configure.ac (enable_decimal_float): Set to $default_decimal_float.
cc0ae0ca
L
9891 * configure: Regenerated.
9892
c18605cc
AK
98932010-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9894
9895 * combine.c (try_combine): Set subst_low_luid to i0.
9896
be1ac4ec
RG
98972010-09-06 Richard Guenther <rguenther@suse.de>
9898
9899 * tree.def (MISALIGNED_INDIRECT_REF): Remove.
9900 * tree.h (INDIRECT_REF_P): Only check for INDIRECT_REF.
9901 (build_aligned_type): Declare.
9902 * tree.c (check_qualified_type): Also compare TYPE_ALIGN.
9903 (check_aligned_type): New function.
9904 (build_aligned_type): Likewise.
9905 * expr.c (expand_assignment): Handle misaligned stores via
9906 TARGET_MEM_REF and MEM_REF using movmisalign_optab.
9907 (expand_expr_real_1): Likewise.
9908 (safe_from_p): Remove MISALIGNED_INDIRECT_REF handling.
9909 * tree-vect-stmts.c (vectorizable_store): Do not build
9910 MISALIGNED_INDIRECT_REF but initialize alignment information.
9911 (vectorizable_load): Likewise.
9912 * builtins.c (get_object_alignment): Remove MISALIGNED_INDIRECT_REF
9913 handling.
9914 * cfgexpand.c (expand_debug_expr): Likewise.
9915 * dwarf2out.c (loc_list_from_tree): Likewise.
9916 * fold-const.c (maybe_lvalue_p): Likewise.
9917 (operand_equal_p): Likewise.
9918 (build_fold_addr_expr_with_type_loc): Likewise.
9919 * gimplify.c (gimplify_addr_expr): Likewise.
9920 (gimplify_expr): Likewise.
9921 * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
9922 (verify_gimple_assign_single): Likewise.
9923 * tree-dump.c (dequeue_and_dump): Likewise.
9924 (tree_could_trap_p): Likewise.
9925 * tree-predcom.c (ref_at_iteration): Likewise.
9926 * tree-pretty-print.c (dump_generic_node): Likewise.
9927 (op_code_prio): Likewise.
9928 (op_symbol_code): Likewise.
9929 * tree-ssa-ccp.c (get_value_from_alignment): Likewise.
9930 * tree-ssa-loop-im.c (for_each_index): Likewise.
9931 (gen_lsm_tmp_name): Likewise.
9932 * tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
9933 (find_interesting_uses_address): Likewise.
9934 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
9935 * tree-ssa-operands.c (get_expr_operands): Likewise.
9936 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
9937 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
9938 (ao_ref_init_from_vn_reference): Likewise.
9939 * tree.c (staticp): Likewise.
9940 (build1_stat): Likewise.
9941 (reference_alias_ptr_type): Likewise.
9942 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
9943 * config/rs6000/rs6000.c (rs6000_check_sdmode): Remove
9944 MISALIGNED_INDIRECT_REF handling.
9945
863a7578
RB
99462010-09-06 Richard Guenther <rguenther@suse.de>
9947
9948 PR tree-optimization/45534
9949 * tree-ssa-address.c (create_mem_ref_raw): Add verify parameter.
9950 (create_mem_ref): Do verify the created TARGET_MEM_REF is valid
9951 on the target.
9952 (maybe_fold_tmr): Do not verify the created TARGET_MEM_REF is
9953 valid on the target.
9954
84f47d20
AS
99552010-09-06 Andreas Schwab <schwab@redhat.com>
9956
9957 * configure.ac: Quote argument of AC_MSG_WARN.
9958 * configure: Regenerate.
9959
e5cb031f
AM
99602010-09-06 Alexander Monakov <amonakov@ispras.ru>
9961
863a7578
RB
9962 * sel-sched.c (move_cond_jump): Correct arguments to
9963 maybe_tidy_empty_bb.
e5cb031f
AM
9964 * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
9965
324d3f45
AM
99662010-09-06 Andrey Belevantsev <abel@ispras.ru>
9967
9968 PR rtl-optimization/44919
9969 * sel-sched.c (move_cond_jump): Remove assert, check that
9970 the several blocks case can only happen with mutually exclusive
9971 insns instead. Rewrite the movement code to support moving through
9972 several basic blocks.
9973
d1e74401
UB
99742010-09-06 Uros Bizjak <ubizjak@gmail.com>
9975
9976 * config/i386/i386.md (iptrsize): New mode attribute.
9977 (tp_seg): Ditto.
9978 (*load_tp_<mode>): Macroize insn from *load_tp_{si,di} using P
9979 mode iterator.
9980 (*add_tp_<mode>): Ditto from *add_tp_{si,di}.
9981 (stack_protect_set_<mode>): Ditto from stack_protect_set_{si,di}.
9982 (stack_protect_test_<mode>): Ditto from stack_protect_test_{si,di}.
9983 (stack_tls_protect_set_<mode>): Ditto from
9984 stack_tls_protect_set_{si,di}. Use %@ to output segment register
9985 of thread base pointer load.
9986 (stack_tls_protect_test_<mode>): Ditto from
9987 stack_tls_protect_test_{si,di}. Use %@ to output segment register
9988 of thread base pointer load.
9989 (stack_protect_set): Rewrite using indirect functions.
9990 (stack_protect_test): Ditto.
9991 * config/i386/i386.c (ix86_print_operand_punct_valid): Add '@'.
9992 (ix86_print_operand): Handle '@'.
9993
68fce4ed
GS
99942010-09-05 Giuseppe Scrivano <gscrivano@gnu.org>
9995
9996 * tree-tailcall.c (process_assignment): Handle NEGATE_EXPR and
9997 MINUS_EXPR.
9998
0a0b3574
MM
99992010-09-05 Mark Mitchell <mark@codesourcery.com>
10000
10001 * doc/invoke.texi: Document -Wdouble-promotion.
10002 * c-typeck.c (convert_arguments): Check for implicit conversions
10003 from float to double.
10004 (do_warn_double_promotion): New function.
10005 (build_conditional_expr): Use it.
10006 (build_binary_op): Likewise.
10007
f38fb2c4
RG
100082010-09-05 Richard Guenther <rguenther@suse.de>
10009
10010 PR tree-optimization/45535
10011 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
10012 handle TMR_INDEX2. Make sure TMR_INDEX is not NULL before
10013 dereferencing it.
10014 (indirect_refs_may_alias_p): Likewise.
10015
e7a8f681
N
100162010-09-05 Naveen H.S <naveen.S@kpitcummins.com>
10017
10018 * config/sh/sh.c (sh_option_override): Make static.
10019 Adjust comments. Declare.
68fce4ed 10020 (sh_function_value_regno_p): Likewise.
e7a8f681
N
10021 (sh_register_move_cost): Modify the arguments, make static.
10022 Adjust comments. Declare.
10023 (TARGET_OPTION_OVERRIDE, TARGET_REGISTER_MOVE_COST
10024 TARGET_FUNCTION_VALUE_REGNO_P): Define.
10025 * config/sh/sh.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P
10026 REGISTER_MOVE_COST): Delete.
10027 * config/sh/sh-protos.h (sh_override_options): Delete.
10028 (sh_register_move_cost): Delete.
10029 (sh_function_value_regno_p): Delete.
10030
8c9cb6e6
AS
100312010-09-04 Anatoly Sokolov <aesok@post.ru>
10032
10033 * config/m32r/m32r.c (m32r_function_value, m32r_libcall_value,
10034 m32r_function_value_regno_p): New functions.
10035 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
10036 TARGET_FUNCTION_VALUE_REGNO_P): Declare.
10037 * config/m32r/m32r.h: (FUNCTION_VALUE, LIBCALL_VALUE,
10038 FUNCTION_VALUE_REGNO_P): Remove.
10039
17f39a39
JH
100402010-09-04 Jan Hubicka <jh@suse.cz>
10041
10042 * gimple-fold.c (maybe_fold_reference): Use fold_const_aggregate_ref.
10043 * tree-ssa-ccp.c (fold_const_aggregate_ref): Use
10044 fold_read_from_constant_string.
10045
10046 * gimple.h (canonicalize_constructor_val): Declare.
10047 * gimple-fold.c (canonicalize_constructor_val): New function.
10048 (get_symbol_constant_value):Use it.
10049 * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
10050
5f7ae6b6
JH
100512010-09-04 Jan Hubicka <jh@suse.cz>
10052
10053 * tree-switch-conversion.c (build_one_array): Set constructor to be
10054 static.
10055 * varpool.c (varpool_finalize_decl): Compute const_value_known.
10056
bcf71673
RG
100572010-09-04 Richard Guenther <rguenther@suse.de>
10058
10059 PR bootstrap/45519
10060 * tree-flow.h (force_gimple_operand_1): Declare.
10061 (force_gimple_operand_gsi_1): Likewise.
10062 * gimplify.c (force_gimple_operand_1): New worker taking a
10063 gimple predicate for ...
10064 (force_gimple_operand): ... which now wraps it.
10065 (force_gimple_operand_gsi_1, force_gimple_operand_gsi): Likewise.
10066 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Revert
10067 last change.
10068 * tree-ssa-address.c (gimplify_mem_ref_parts): Use
10069 force_gimple_operand_gsi_1 with is_gimple_mem_ref_addr.
10070 (create_mem_ref): Likewise.
10071
770b37b9
UB
100722010-09-04 Uros Bizjak <ubizjak@gmail.com>
10073
10074 * config/i386/predicates.md (sse_reg_operand): New predicate.
10075 * config/i386/i386.md (TFmode push splitter): Use sse_reg_operand
10076 predicate for operand 1.
10077 (XFmode push splitter): Use fp_register_operand predicate
10078 for operand 1.
10079 (*dummy_extendsfdf2, *dummy_extendsfxf2): Remove disabled patterns.
10080 (SF-DF float_extend push splitter): Add reload_completed insn
10081 predicate.
10082 ({SF,DF}-XF float_extend_push splitter): Macroize splitter using
10083 MODEF mode macro. Add reload_completed insn predicate.
10084
502ef838
PB
100852010-09-04 Paolo Bonzini <bonzini@gnu.org>
10086
10087 * df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
10088 (struct df_extract_ref): Remove.
10089 (union df_ref_d): Remove extract_ref member.
10090 (df_ref_create): Remove last three arguments.
10091 (DF_REF_LOC): Remove DF_REF_EXTRACT case.
10092 * df-scan.c (df_ref_record): Remove last three arguments, do not
10093 pass them to df_ref_create_structure.
10094 (df_uses_record): Remove first and last three arguments. Replace
10095 first argument with DF_REF_REGULAR, adjust calls to remove the
10096 width, offset and mode. Always call recursively on the second
10097 and third argument of ZERO_EXTRACT and SIGN_EXTRACT.
10098 (df_ref_create_structure): Remove first argument.
10099 (struct df_scan_problem_data): Remove ref_extract_pool.
10100 (df_scan_free_internal): Do not free it.
10101 (df_scan_alloc): Do not allocate it.
10102 (df_ref_create): Remove last three arguments, do not pass them to
10103 df_ref_create_structure.
10104 (df_free_ref): Remove DF_REF_EXTRACT case.
10105 (df_notes_rescan): Adjust call to df_uses_record.
10106 (df_ref_equal_p, df_ref_compare, df_ref_create_structure):
10107 Remove DF_REF_EXTRACT case.
10108 (df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs.
10109 Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG
10110 and SUBREG definitions.
10111 (df_get_conditional_uses): Remove references to width/offset/mode,
10112 adjust call to df_ref_create_structure.
10113 (df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
10114 df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust
10115 calls to df_uses_record and df_ref_record.
10116 * fwprop.c (update_df): Remove references to width/offset/mode,
10117 adjust call to df_ref_create.
10118
48c24aca
JH
101192010-09-03 Jan Hubicka <jh@suse.cz>
10120
10121 * ipa.c (build_cdtor): Take VECtor as argument; fix array walk.
10122 (build_cdtor_fns): Update use of build_cdtor.
10123
d1583032
JM
101242010-09-03 Joseph Myers <joseph@codesourcery.com>
10125
10126 * doc/options.texi (SeparateAlias): Document.
10127 * opt-functions.awk (switch_flags): Handle SeparateAlias.
10128 * opth-gen.awk: Generate enumeration names for options marked
10129 SeparateAlias, but not for those marked Ignore.
10130 * opts-common.c (generate_canonical_option): Don't output separate
10131 argument for options marked CL_SEPARATE_ALIAS.
10132 (decode_cmdline_option): Handle CL_SEPARATE_ALIAS.
10133 * opts.h (CL_SEPARATE_ALIAS): New.
10134 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
10135 CL_COMMON): Adjust definitions.
10136 * config/i386/darwin.opt, config/mips/sde.opt: New.
10137 * common.opt (fdump-final-insns): New.
10138 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
10139 i386/darwin.opt.
10140 (mips*-sde-elf*): Add mips/sde.opt.
10141 * config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle
10142 -mno-data-in-code and -mcode-xonly here.
10143 * defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'.
10144 * gcc.c (option_map): Add "j" to --dump entry.
770b37b9 10145 (translate_options): Don't translate -d to -foutput-class-dir= here.
d1583032 10146
b0af49c4
SP
101472010-09-03 Sebastian Pop <sebastian.pop@amd.com>
10148
10149 * tree-data-ref.c (dr_may_alias_p): Replace !DR_IS_READ with
10150 DR_IS_WRITE.
10151 (compute_all_dependences): Same.
10152 (create_rdg_edge_for_ddr): Same.
10153 * tree-data-ref.h (DR_IS_WRITE): New.
10154 (ddr_is_anti_dependent): Replace !DR_IS_READ with DR_IS_WRITE.
10155 * tree-if-conv.c (write_memrefs_written_at_least_once): Same.
10156 (write_memrefs_written_at_least_once): Same.
10157 * tree-predcom.c (suitable_component_p): Same.
10158 (determine_roots_comp): Same.
10159 (execute_load_motion): Same.
10160 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Same.
10161 (vect_enhance_data_refs_alignment): Same.
10162 (vect_analyze_group_access): Same.
10163
de3f621b
JR
101642010-09-03 Joern Rennecke <joern.rennecke@embecosm.com>
10165
10166 PR testsuite/42843
10167 * Makefile.in (PLUGINCC): Define in terms of @CC@ / @CXX@
10168 (PLUGINCFLAGS): Define in terms of @CFLAGS@ / @CXXFLAGS@
10169
4d8ff563
MB
101702010-09-03 Marcin Baczynski <marbacz@gmail.com>
10171
10172 * dwarf2out.c (file scope): Remove #if0'd code.
10173 (gen_subprogram_die): Same.
10174
87df9ea5
JJ
101752010-09-03 Jakub Jelinek <jakub@redhat.com>
10176
10177 PR middle-end/45484
10178 * dwarf2out.c (flush_queued_reg_saves): Rename to...
10179 (dwarf2out_flush_queued_reg_saves): ... this. No longer static.
10180 (dwarf2out_frame_debug_expr, dwarf2out_frame_debug): Adjust callers.
10181 * dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
10182 * config/i386/i386.c (output_set_got): Call it.
10183
15a54c10
MM
101842010-09-03 Michael Matz <matz@suse.de>
10185
10186 PR middle-end/45415
10187 * tree-sra.c (sra_modify_assign): If we modify the statement,
10188 say so.
10189
10190 * tree-ssa.c (verify_ssa): Check number of operands and links
10191 per statement to agree.
10192
0df8fcc8
UB
101932010-09-03 Uros Bizjak <ubizjak@gmail.com>
10194 Iain Sandoe <iains@gcc.gnu.org>
10195
10196 PR target/45476
10197 * config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
10198 * config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
10199 LIBGCC2_TF_CEXT, TF_SIZE): New defines.
10200
ac364a48
RG
102012010-09-03 Richard Guenther <rguenther@suse.de>
10202
10203 * lto-streamer-out.c (output_function): Output function
10204 start and end loci.
10205 * lto-streamer-in.c (input_function): Input function start
10206 and end loci.
10207
3c39bca6
AK
102082010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10209
10210 * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
10211 * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
10212 * configure: Regenerate.
10213 * aclocal.m4: Regenerate.
10214
1c7b11d2
JH
102152010-09-03 Jan Hubicka <jh@suse.cz>
10216
10217 PR lto/44812
10218 * lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
10219 on functions/variables in other partition.
10220
155c92a7
JH
102212010-09-03 Jan Hubicka <jh@suse.cz>
10222
10223 * cgraph.h (struct varpool_node): Add const_value_known.
10224 (varpool_decide_const_value_known): Declare.
10225 * tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding.
10226 * lto-cgraph.c (lto_output_varpool_node): Store const_value_known.
10227 (input_varpool_node): Restore const_value_known.
10228 * tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for
10229 initializer folding.
10230 * ipa.c (ipa_discover_readonly_nonaddressable_var,
10231 function_and_variable_visibility): Compute const_value_known.
0df8fcc8
UB
10232 * gimple-fold.c (get_symbol_constant_value): Use varpool for
10233 initializer folding.
155c92a7
JH
10234 * varpool.c (varpool_decide_const_value_known): New function.
10235
cb1b497e
UB
102362010-09-03 Uros Bizjak <ubizjak@gmail.com>
10237
0df8fcc8 10238 * config/i386/i386.md: Remove empty preparation statements
cb1b497e
UB
10239 from splitters.
10240
a482b1f5
JH
102412010-09-03 Jan Hubicka <jh@suse.cz>
10242
cb1b497e
UB
10243 * passes.c (rest_of_decl_compilation): Do not add local vars into
10244 varpool.
a482b1f5
JH
10245 * varpool.c (varpool_get_node, varpool_node): Sanity check that only
10246 static or extern vars are in varpool.
cb1b497e
UB
10247 (varpool_finalize_decl): Sanity check that only static vars are
10248 finalized.
a482b1f5 10249
2f757e4a
JJ
102502010-09-03 Jakub Jelinek <jakub@redhat.com>
10251
10252 PR debug/45500
10253 * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
10254 not just generic vectors with BLKmode.
10255
4d948885
RG
102562010-09-03 Richard Guenther <rguenther@suse.de>
10257
10258 * tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
10259 Move TMR_OFFSET to second operand. Add TMR_INDEX2.
10260 * tree.h (TMR_SYMBOL): Remove.
10261 (TMR_BASE, TMR_OFFSET): Adjust.
10262 (TMR_INDEX2): New.
10263 * alias.c (ao_ref_from_mem): Use TMR_BASE.
10264 * builtins.c (get_object_alignment): Merge TMR_BASE and
10265 TMR_SYMBOL handling.
10266 * cfgexpand.c (expand_debug_expr): Use TMR_BASE.
10267 * gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF
10268 handling. Also allow TARGET_MEM_REF as base address.
10269 (walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL.
10270 * gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF
10271 base. Gimplify TMR_INDEX2.
10272 * tree-cfg.c (verify_types_in_gimple_reference): Adjust.
10273 * tree-dfa.c (get_ref_base_and_extent): Likewise.
10274 (get_addr_base_and_unit_offset): Likewise.
10275 * tree-eh.c (tree_could_trap_p): Likewise.
10276 * tree-pretty-print.c (dump_generic_node): Likewise.
cb1b497e 10277 * tree-ssa-address.c (tree_mem_ref_addr): Simplify. Handle TMR_INDEX2.
4d948885
RG
10278 (create_mem_ref_raw): Merge symbol and base. Move 2ndary
10279 base to index2.
10280 (get_address_description): Reconstruct addres description
10281 from merged TMR_BASE and TMR_INDEX2.
10282 (maybe_fold_tmr): Fold propagated addresses.
10283 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge
10284 MEM_REF and TARGET_MEM_REF paths.
10285 (indirect_refs_may_alias_p): Likewise.
10286 * tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2
10287 instead of TMR_SYMBOL.
10288 * tree-ssa-operands.c (get_tmr_operands): Simplify.
10289 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust
10290 according to changes ...
10291 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here.
10292 Split TARGET_MEM_REF into two fields plus the base.
10293 * tree.c (mem_ref_offset): Simplify.
10294 * tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2.
10295 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
10296 Strip NOPs when folding MEM_REF addresses.
10297 * tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF.
10298 * gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ...
10299 (fold_gimple_assign): ... not here.
10300
49042313
MX
103012010-09-03 Mingjie Xing <mingjie.xing@gmail.com>
10302
10303 * config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change the definition.
10304 * config/mips/mips.c (mips_shift_truncation_mask): New function.
10305 (TARGET_SHIFT_TRUNCATION_MASK): Define.
10306
92053f38
RH
103072010-09-02 Richard Henderson <rth@redhat.com>
10308
10309 * configure.ac (gcc_cv_as_cfi_advance_working): Use objdump
10310 instead of readelf in the test.
10311 (gcc_cv_as_cfi_sections_directive): Check for correct relocation
10312 in the .debug_frame section for coff targets.
10313 * configure: Rebuild.
10314
184866c5
AS
103152010-09-02 Anatoly Sokolov <aesok@post.ru>
10316
10317 * config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
10318 * config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove.
10319 * config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
10320 (m32c_class_likely_spilled_p): Make static. Change argument type to
10321 reg_class_t. Change result type to bool.
10322
688e4919
MM
103232010-09-02 Michael Meissner <meissner@linux.vnet.ibm.com>
10324
10325 * config/rs6000/rs6000.opt (-mfriz): New switch to control whether
10326 to convert (double)(long) into a single FRIZ instruction or not
10327 when -ffast-math is used.
10328
10329 * config/rs6000/vsx.md (VSX_DF): New iterator for DF/V2DF modes.
10330 (vsx_float_fix_<mode>2): Optimize (double)(long) into X{S,V}RDPIZ
10331 or FRIZ instruction if -ffast-math.
10332 * config/rs6000/rs6000.md (friz): Ditto.
10333
10334 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mfriz.
10335
398da2ac
JM
103362010-09-02 Joseph Myers <joseph@codesourcery.com>
10337
10338 * opth-gen.awk (quote, comma): Remove unused variables.
10339
fe7645b9
RM
103402010-09-02 Ryan Mansfield <rmansfield@qnx.com>
10341
10342 * arm.c (arm_override_options): Correct fall-back code to use
10343 SUBTARGET_CPU_DEFAULT.
10344
5bfc5baa
JB
103452010-09-02 Julian Brown <julian@codesourcery.com>
10346
10347 * config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for
10348 unspecs.
10349 (vcond<mode>, vcondu<mode>): New expanders.
10350 (neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support
10351 comparisons with zero.
10352 (neon_vcle<mode>, neon_vclt<mode>): New patterns.
10353 * config/arm/constraints.md (Dz): New constraint.
10354
07b8f0a8
AS
103552010-09-02 Anatoly Sokolov <aesok@post.ru>
10356
10357 * target.def (class_likely_spilled_p): New hook.
10358 * doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Document.
10359 * doc/tm.texi: Regenerate.
10360 * targhooks.c (default_class_likely_spilled_p): New function.
10361 * targhooks.h (default_class_likely_spilled_p): Declare.
10362 * regs.h (CLASS_LIKELY_SPILLED_P): Remove.
cb1b497e 10363 * combine.c (cant_combine_insn_p, likely_spilled_retval_p): Use
07b8f0a8
AS
10364 TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro.
10365 Use fixed_reg_set instead of fixed_regs.
10366 * cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
10367 * calls.c (avoid_likely_spilled_reg): Ditto.
cb1b497e 10368 * ira-conflicts.c (ira_build_conflicts): Ditto.
07b8f0a8
AS
10369 * ira.c (update_equiv_regs): Ditto.
10370 * mode-switching.c (create_pre_exit): Ditto.
10371 * regmove.c (find_matches): Ditto.
cb1b497e 10372 (regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
07b8f0a8
AS
10373 * reload.c (SMALL_REGISTER_CLASS_P): Remove macro.
10374 (small_register_class_p): New inline function.
10375 (push_secondary_reload, find_reusable_reload, find_reloads): Use
10376 small_register_class_p instead of SMALL_REGISTER_CLASS_P.
10377
10378 * config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Remove.
10379 * config/i386/i386.c (ix86_class_likely_spilled_p): New.
10380 (TARGET_CLASS_LIKELY_SPILLED_P): Define.
10381
6b8c9df8
RG
103822010-09-02 Richard Guenther <rguenther@suse.de>
10383
10384 PR tree-optimization/44937
10385 PR tree-optimization/45412
10386 * ipa-split.c (split_function): Properly remove PHI nodes.
10387
2d2bd949
JM
103882010-09-02 Joseph Myers <joseph@codesourcery.com>
10389
10390 * opts.h (struct cl_option): Add warn_message field.
10391 (struct cl_decoded_option): Add warn_message field.
10392 * doc/options.texi (Ignore, Warn): Document.
10393 * opt-functions.awk (needs_state_p): Don't consider aliases or
10394 ignored options to need state saved.
10395 * optc-gen.awk: Handle Warn and Ignore.
10396 * opth-gen.awk: Output OPT_SPECIAL_ignore.
10397 * opts-common.c (decode_cmdline_option): Set warn_message field.
10398 Handle ignored options.
10399 (decode_cmdline_options_to_array, generate_option,
10400 generate_option_input_file): Set warn_message field.
10401 (read_cmdline_option): Generate warnings from warn_message field.
10402 Handle ignored options.
10403 * common.opt (Wunreachable-code, fargument-alias,
10404 fargument-noalias, fargument-noalias-global,
10405 fargument-noalias-anything, fcse-skip-blocks, fforce-addr,
10406 floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee,
10407 fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop,
10408 ftree-salias): Mark Ignore.
10409 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu,
10410 -mintel-syntax and -mno-intel-syntax here.
10411 * config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases
10412 using Warn.
10413 * opts.c (common_handle_option): Don't handle options marked as
10414 ignored.
10415 (enable_warning_as_error): Handle ignored options.
10416
5de8299c
JM
104172010-09-02 Joseph Myers <joseph@codesourcery.com>
10418
10419 PR driver/44076
10420 * opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
10421 alias_target fields.
10422 * opt-functions.awk (opt_sanitized_name): Don't handle
10423 finline-limit=, Wlarger-than= and ftemplate-depth= specially.
10424 * optc-gen.awk: Generate alias fields.
10425 * opth-gen.awk: Explicitly give values for OPT_* enum constants.
10426 Don't generate such constants for aliases.
10427 * opts-common.c (generate_canonical_option): New.
10428 (decode_cmdline_option): Handle aliases. Use
10429 generate_canonical_option for known options instead of copying the
10430 input option text.
10431 * doc/options.texi (Alias): Document.
10432 * common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
10433 fstack-check, specs): Mark as aliases.
10434 * gcc.c (driver_handle_option): Canonicalize -L options to joined
10435 arguments.
10436 (driver_handle_option): Don't handle OPT_specs.
10437 * opts.c (common_handle_option): Don't handle options marked as
10438 aliases.
10439 (enable_warning_as_error): Handle aliases.
10440 * stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
10441 OPT_Wlarger_than_eq.
10442 * tree-optimize.c (tree_rest_of_compilation): Use
10443 OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.
10444
cfc20f00
UB
104452010-09-02 Uros Bizjak <ubizjak@gmail.com>
10446
10447 * config/i386/i386.md (nonmemory_operand): New mode attribute.
10448 (push memory peephole2): Macroize peepholes using SWI mode iterator.
10449 (move immediate to memory peephole2): Macroize peepholes using
10450 SWI124 mode iterator.
10451 (non-pairable NOT peephole2): Macroize peepholes using SWI124
10452 mode iterator.
10453 (simple lea add peephole2): Macroize peepholes using SWI48
10454 mode iterator.
10455 (simple lea mult peephole2): Ditto.
10456 (imul by 3,5,9 to lea peephole2): Ditto.
10457 (mov $-1, reg peephole2): Macroize peepholes using SWI248
10458 mode iterator.
10459 (imul $32bit_imm,mem,reg peephole2): Ditto.
10460 (imul $8/16bit_imm,regmem,reg peephole2): Ditto.
10461
bae077dc
IB
104622010-09-02 Ian Bolton <ian.bolton@arm.com>
10463
10464 * tree-ssa-loop-prefetch.c: Fix comment at head of file.
10465
71af27d2
OH
104662010-09-02 Olivier Hainque <hainque@adacore.com>
10467
815248b1 10468 PR middle-end/44763
71af27d2
OH
10469 * ira-color.c (SORTGT): New macro, helper for qsort callbacks.
10470 (allocno_priority_compare_func): Use it instead of a straight
10471 difference computation over priorities.
10472
e10909ce
AK
104732010-09-02 Andi Kleen <ak@linux.intel.com>
10474
10475 * opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_ handling.
10476
e4a707c4
IR
104772010-09-02 Ira Rosen <irar@il.ibm.com>
10478
10479 * tree-vectorizer.h (get_later_stmt): New function.
10480 (vect_analyze_data_ref_dependences): Add argument.
10481 * tree-vect-loop.c (vect_analyze_loop): Update call to
10482 vect_analyze_data_ref_dependences.
10483 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block):
10484 New function.
10485 (vect_analyze_data_ref_dependence): Add argument for basic block
10486 dependencies. Check dependencies in basic block vectorization.
10487 (vect_analyze_data_ref_dependences): Add argument and update call to
10488 vect_analyze_data_ref_dependences.
10489 * tree-vect-slp.c (vect_find_last_store_in_slp_instance): New.
10490 (vect_bb_vectorizable_with_dependencies): New.
10491 (vect_slp_analyze_bb): Check dependencies in basic block.
10492 (vect_schedule_slp_instance): Insert stores before the last store in
10493 SLP instance.
10494
282ac51f
UB
104952010-09-02 Uros Bizjak <ubizjak@gmail.com>
10496
10497 PR target/45476
10498 * config/i386/freebsd.h (LIBGCC2_HAS_TF_MODE,
10499 LIBGCC2_TF_CEXT, TF_SIZE): New defines.
10500
596aa3f0
JJ
105012010-09-01 Jakub Jelinek <jakub@redhat.com>
10502
10503 PR middle-end/45458
10504 * bb-reorder.c (add_labels_and_missing_jumps): Treat
10505 bbs ending with throwing insns like blocks ending with a call.
10506 (fix_up_fall_thru_edges): Likewise.
10507
cd34bbe8
NF
105082010-09-01 Nathan Froyd <froydnj@codesourcery.com>
10509
10510 * config/m32c/m32c-protos.h (m32c_function_arg): Delete.
10511 (m32c_function_arg_advance): Delete.
10512 * config/m32c/m32c.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10513 * config/m32c/m32c.c (m32c_function_arg): Make static. Adjust
10514 comments. Take a const_tree and a bool. Declare.
10515 (m32c_function_arg_advance): Likewise.
10516 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10517
cecab05b
UB
105182010-09-01 Uros Bizjak <ubizjak@gmail.com>
10519
cb1b497e
UB
10520 PR target/45476
10521 * config/i386/cygming.h (LIBGCC2_HAS_TF_MODE,
cecab05b 10522 LIBGCC2_TF_CEXT, TF_SIZE): Move from ...
cb1b497e 10523 * config/i386/mingw32.h: ... here.
cecab05b 10524
427eb57d
AK
105252010-09-01 Andi Kleen <ak@linux.intel.com>
10526
cecab05b
UB
10527 PR lto/45475
10528 * lto-streamer-in.c (lto_input_ts_target_option): Add.
10529 (lto_input_tree_pointers): Call lto_input_ts_target_option.
cb1b497e 10530 * lto-streamer-out (lto_output_ts_target_option): Add.
cecab05b 10531 (lto_output_tree_pointers): Call lto_output_ts_target_option.
427eb57d 10532
d323f47e
KT
105332010-09-01 Kai Tietz <kai.tietz@onevision.com>
10534
10535 PR/target 45452
10536 * config/i386/cygwin.h: Change order of specified import libraries.
10537 * config/i386/mingw32.h: Likewise.
10538 * config/i386/t-cygwin: Likewise.
10539 * config/i386/t-mingw32: Likewise.
10540 * config/i386/t-mingw-w32: Likewise.
10541 * config/i386/t-mingw-w64: Likewise.
10542
4600a8d1
RR
105432010-09-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10544
10545 * config/arm/neon-schedgen.ml (core): New type.
10546 (allCores): List of supported cores.
10547 (availability_table): Add supported cores.
10548 (collate_bypasses): Accept core as a parameter.
282ac51f
UB
10549 (worst_case_latencies_and_bypasses): Accept core as a parameter.
10550 (emit_insn_reservations): Accept core as a parameter. Use tuneStr
10551 and coreStr to get tune attribute and prefix for functional units.
4600a8d1
RR
10552 (emit_bypasses): Accept core name and use it.
10553 (calculate_per_core_availability_table): New.
10554 (filter_core): New.
10555 (calculate_core_availability_table): New.
10556 (main): Use calculate_core_availablity_table.
10557 * config/arm/cortex-a8-neon.md: Update copyright year.
10558 Regenerated from ml file and merged in.
10559 (neon_mrrc, neon_mrc): Rename to cortex_a8_neon_mrrc and
10560 cortex_a8_neon_mrc.
10561
f6857310
IB
105622010-09-01 Ian Bolton <ian.bolton@arm.com>
10563
10564 * Makefile.in (tree-switch-conversion.o): Update dependencies.
10565
23a534a1
RG
105662010-09-01 Richard Guenther <rguenther@suse.de>
10567
10568 * alias.c (ao_ref_from_mem): Adjust.
10569 * builtins.c (get_object_alignment): Likewise.
10570 * cfgexpand.c (expand_debug_expr): Likewise.
10571 * gimple.c (get_base_address): Likewise.
10572 * tree-dfa.c (get_ref_base_and_extent): Likewise.
10573 (get_addr_base_and_unit_offset): Likewise. Fix for
10574 both TMR_SYMBOL and TMR_BASE being set.
10575 * tree-eh.c (tree_could_trap_p): Likewise.
10576 * gimplify.c (gimplify_expr): Do not attempt to gimplify
10577 TMR_SYMBOL. Always gimplify TMR_BASE.
10578 * tree-cfg.c (verify_types_in_gimple_reference): Verify
10579 TMR_BASE if there is a TMR_SYMBOL.
10580 * tree-pretty-print.c (dump_generic_node): Adjust.
10581 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
10582 (tree_mem_ref_addr): Likewise.
10583 (create_mem_ref_raw): Likewise.
10584 (move_fixed_address_to_symbol): Likewise.
10585 (create_mem_ref): Likewise.
10586 (dump_mem_address): Likewise.
10587 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust.
10588 Fix for both TMR_SYMBOL and TMR_BASE being set.
10589 (indirect_refs_may_alias_p): Likewise.
10590 * tree-ssa-operands.c (get_tmr_operands): Adjust.
10591 * tree.def (TARGET_MEM_REF): Adjust documentation.
10592
d8b08ecd
UB
105932010-09-01 Uros Bizjak <ubizjak@gmail.com>
10594
10595 * config/i386/i386.h (enum ix86_tune_indices) <X86_TUNE_SINGLE_POP>:
10596 Rename from X86_TUNE_ADD_ESP_4.
10597 <IX86_TUNE_DOUBLE_POP>: Rename from X86_TUNE_ADD_ESP_8.
10598 <IX86_TUNE_SINGLE_PUSH>: Rename from X86_TUNE_SUB_ESP_4.
10599 <IX86_TUNE_DOUBLE_PUSH>: Rename from X86_TUNE_SUB_ESP_8.
10600 (TARGET_SINGLE_POP): Rename from TARGET_ADD_ESP_4.
10601 (TARGET_DOUBLE_POP): Rename from TARGET_ADD_ESP_8.
10602 (TARGET_SINGLE_PUSH): Rename from TARGET_SUB_ESP_4.
10603 (TARGET_DOUBLE_POP): Rename from TARGET_SUB_ESP_8.
10604 * config/i386/i386.c (initial_ix86_tune_features)
10605 <X86_TUNE_SINGLE_POP>: Invert members.
10606 <X86_TUNE_DOUBLE_POP>: Ditto.
10607 <X86_TUNE_SINGLE_PUSH>: Ditto.
10608 <X86_TUNE_DOUBLE_PUSH>: Ditto.
10609 * config/i386/i386.md (*pop<mode>1): Rename from pop<mode>1.
10610 No longer exported.
10611 (push peephole2 patterns): Macroize peepholes using P mode iterator.
10612 Adjust for renamed TARGET_{SINGLE,DOUBLE}_PUSH defines.
10613 (pop peephole2 patterns): Macroize peepholes using P mode iterator.
10614 Adjust for renamed TARGET_{SINGLE,DOUBLE}_POP defines.
10615
558af7ca
EB
106162010-09-01 Eric Botcazou <ebotcazou@adacore.com>
10617
10618 * gimplify.c (gimplify_init_constructor): Do not create a temporary for
10619 a volatile LHS if the constructor has only one element.
10620
6e0833db
MP
106212010-09-01 Mikael Pettersson <mikpe@it.uu.se>
10622
558af7ca
EB
10623 PR bootstrap/45321
10624 * tree.c (stdarg_p): Make fntype parameter const.
10625 * tree.h (stdarg_p): Likewise.
10626 (function_args_iterator): Remove unused fntype field.
10627 (function_args_iter_init): Do not initialize fntype
d8b08ecd 10628 field. Make fntype parameter const.
6e0833db 10629
e3488283
RG
106302010-09-01 Richard Guenther <rguenther@suse.de>
10631
10632 * tree-vrp.c (adjust_range_with_scev): Use number of iteration
10633 estimate.
d8b08ecd 10634 (vrp_visit_phi_node): Delay using SCEV till we balloon the range.
e3488283
RG
10635 (execute_vrp): Compute number of iteration estimates.
10636 * cfgloop.h (estimate_numbers_of_iterations_loop): Adjust prototype.
10637 * tree-flow.h (estimate_numbers_of_iterations): Likewise.
10638 * tree-data-ref.c (estimated_loop_iterations): Adjust.
10639 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
d8b08ecd 10640 Infer loop bounds from undefined behavior based on a new parameter.
e3488283
RG
10641 (estimate_numbers_of_iterations): Likewise.
10642 (scev_probably_wraps_p): Adjust.
10643 * tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
10644
a21eaf5e
NC
106452010-09-01 Nick Clifton <nickc@redhat.com>
10646
10647 * config/stormy16/stormy16.c: Use REG_P, MEM_P and CONST_INT_P
10648 where appropriate.
10649 (xstormy16_legitimate_address_p): Use true and false instead of 1
10650 and 0.
10651 (xstormy16_expand_prologue): Delete unused local variable 'insn'.
10652 (xstormy16_function_arg): Use FIRST_ARGUMENT_REGNUM in place of
10653 magic constant 2.
10654 (xstormy16_expand_call): Fix comment at start of function.
10655
e14ca1ce
NC
106562010-09-01 Nick Clifton <nickc@redhat.com>
10657
10658 * config/rx/rx.c (rx_expand_prologue): Do not adjust frame size
10659 when pushing accumulator register.
10660 (rx_get_stack_layout): Always save call clobbered registers inside
10661 interrupt handlers.
10662 * config/rx/rx-modes.def: Fix descriptive comment at start of file.
10663
d78552bd
UB
106642010-09-01 Uros Bizjak <ubizjak@gmail.com>
10665
10666 * config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
10667 i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
10668
10669 * libgcc-std.ver (GCC_4.6.0): Define version.
10670
0c1bebc4
EB
106712010-08-31 Eric Botcazou <ebotcazou@adacore.com>
10672
10673 * tree-nested.c (convert_all_function_calls): Iterate until after the
10674 sum of static chains in the nest doesn't change.
10675
0e607518
AS
106762010-08-31 Anatoly Sokolov <aesok@post.ru>
10677
10678 * config/m32c/m32c.c (classes_intersect): Remove.
10679 (m32c_preferred_reload_class, m32c_secondary_reload_class): Use
10680 reg_classes_intersect_p instead of classes_intersect.
10681 (class_can_hold_mode): Change arguments type from enum reg_class to
10682 reg_class_t. Use reg_class_contents instead of class_contents.
10683 (m32c_register_move_cost): Make static. Change arguments type from
10684 enum reg_class to reg_class_t. Use reg_classes_intersect_p instead of
10685 classes_intersect. Use reg_class_contents instead of class_contents.
10686 (m32c_memory_move_cost): Make static. Change arguments type from
10687 enum reg_class to reg_class_t.
10688 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
10689 * config/m32c/m32c.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
10690 * config/m32c/m32c-protos.h (m32c_register_move_cost,
10691 m32c_memory_move_cost): Remove.
10692
9c6a2bee
NF
106932010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10694
10695 * config/arm/arm-protos.h (arm_function_arg_advance): Delete.
10696 (arm_function_arg): Delete.
10697 (arm_needs_doubleword_align): Take a const_tree.
10698 * config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10699 * config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree.
10700 (aapcs_layout_arg, arm_needs_doubleword_align): Likewise.
10701 (arm_function_arg): Make static. Take a const_tree and a bool.
10702 (arm_function_arg_advance): Likewise.
10703 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10704
d78552bd 107052010-08-31 Andi Kleen <ak@linux.intel.com>
a478ffff
AK
10706
10707 * common.opt (fwhopr=): Update for -fwhopr=jobserver
10708 * doc/invoke.texi (fwhopr): Document -fwhopr=jobserver.
10709 * lto-wrapper.c (run_gcc): Add jobserver mode.
10710 * opts.c (common_handle_option): Fix OPT_fwhopr for non numeric
10711 argument.
10712
7d2c38c0
UB
107132010-08-31 Uros Bizjak <ubizjak@gmail.com>
10714
10715 * config/i386/i386.md (popdi1): Rewrite using POST_INC memory operand.
10716 (popsi1): Ditto.
10717 (*popdi1_epilogue): Ditto.
10718 (*popsi1_epilogue): Ditto.
10719 (popsi, popdi peephole2 patterns): Update peepholes for changed
10720 pop{si,di}1 and *pop{si,di}1_epilogue patterns.
10721
10722 (pop<mode>1): Macroize insn from pop{si,di}1 using P code iterator.
10723 (*pop<mode>1_epilogue): Ditto from *pop{si,di}1_epilogue.
10724
10725 * config/i386/i386.c (*ix86_gen_pop1): Remove indirect function.
10726 (override_options): Do not initialize removed ix86_gen_pop1.
10727 (gen_pop): New static function.
10728 (ix86_expand_prologue): Use gen_pop instead of ix86_gen_pop1.
10729 (release_scratch_register_on_entry): Ditto.
10730 (ix86_restore_reg_using_pop): Ditto.
10731 (ix86_expand_epilogue): Ditto.
10732
0f643366
JJ
107332010-08-31 Jakub Jelinek <jakub@redhat.com>
10734
10735 PR middle-end/45461
10736 * builtins.c (dummy_object): Return a MEM_REF instead of INDIRECT_REF.
10737
08350106
NF
107382010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10739
10740 * config/fr30/fr30.c (fr30_move_double): Delete `dregno' and extra
10741 semicolons.
10742
6cea734d
FXC
107432010-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10744
10745 * doc/extend.texi: Fix documentation of the return value of
10746 __builtin_choose_expr.
10747
74a3d2c3
NF
107482010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10749
10750 * config/v850/v850-protos.h (function_arg): Delete.
10751 * config/v850/v850.h (FUNCTION_ARG): Delete.
10752 (FUNCTION_ARG_ADVANCE): Move code to...
10753 * config/v850/v850.c (v850_function_arg_advance): ...here.
10754 (v850_function_arg): Make static. Take a const_tree and a bool.
10755 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10756
6fadd9bb
NF
107572010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10758
10759 * config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move
10760 these...
10761 (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
10762 ...and these...
10763 * config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance):
10764 ..to here..
10765 (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
10766 ...and here.
10767 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10768
3968a1c0
NF
107692010-08-31 Nathan Froyd <froydnj@codesourcery.com>
10770
10771 * config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size):
10772 Delete.
10773 * config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10774 * config/rx/rx.c (rx_function_arg_size): Make static.
10775 (rx_function_arg): Likewise.
10776 (rx_function_arg_advance): New function.
10777 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10778
4546a2ef
JT
107792010-08-31 John Tytgat <John.Tytgat@aaug.net>
10780
10781 * config/arm/arm.c (arm_override_options): Remove superfluous test.
10782 Fix indentation.
10783
658af27d
EB
107842010-08-31 Eric Botcazou <ebotcazou@adacore.com>
10785
10786 * dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
10787 (dwarf2out_decl) <CONST_DECL>: Likewise.
10788
d3c12306
EB
107892010-08-30 Eric Botcazou <ebotcazou@adacore.com>
10790
10791 Stack usage support
10792 * common.opt (-fstack-usage): New option.
10793 * doc/invoke.texi (Debugging options): Document it.
10794 * builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to
10795 allocate_dynamic_stack_space.
10796 (expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE
10797 and propagate it to allocate_dynamic_stack_space.
10798 (expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change.
10799 * calls.c (initialize_argument_information): Pass TRUE as 4th
10800 argument to allocate_dynamic_stack_space.
10801 (expand_call): Set current_function_has_unbounded_dynamic_stack_size
10802 to 1 when pushing a variable-sized argument onto the stack. Pass
10803 TRUE as 4th argument to allocate_dynamic_stack_space.
10804 Update current_function_pushed_stack_size.
10805 (emit_library_call_value_1): Likewise.
10806 * explow.c (allocate_dynamic_stack_space): Add 4th bool parameter
10807 CANNOT_ACCUMULATE. If flag_stack_usage, look into the size and
10808 attempt to find an upper bound. Remove redundant code for the
10809 SETJMP_VIA_SAVE_AREA case.
10810 * expr.h (allocate_dynamic_stack_space): Add 4th bool parameter.
10811 * function.h (struct stack_usage): New structure.
10812 (current_function_static_stack_size): New macro.
10813 (current_function_dynamic_stack_size): Likewise.
10814 (current_function_pushed_stack_size): Likewise.
10815 (current_function_dynamic_alloc_count): Likewise.
10816 (current_function_has_unbounded_dynamic_stack_size): Likewise.
10817 (current_function_allocates_dynamic_stack_space): Likewise.
10818 (struct function): Add new field 'su'.
10819 * function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA,
10820 add the value of the dynamic offset to the dynamic stack usage.
10821 (gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA
10822 for variable-sized objects.
10823 (prepare_function_start): Allocate cfun->su if flag_stack_usage.
10824 (rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage.
10825 * gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to
10826 BUILT_IN_ALLOCA for variable-sized objects.
10827 * output.h (output_stack_usage): Declare.
10828 * toplev.c (stack_usage_file): New file pointer.
10829 (output_stack_usage): New function.
10830 (open_auxiliary_file): Likewise.
10831 (lang_dependent_init): Open file if flag_stack_usage is set.
10832 (finalize): Close file if stack_usage_file is not null.
10833 * tree.h (ALLOCA_FOR_VAR_P): New macro.
10834 * config/alpha/alpha.c (compute_frame_size): New function.
10835 (alpha_expand_prologue): Use it.
10836 (alpha_start_function): Likewise.
10837 (alpha_expand_epilogue): Likewise. Set stack usage info.
10838 * config/i386/i386.c (ix86_expand_prologue): Likewise.
10839 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
10840 * config/mips/mips.c (mips_expand_prologue): Likewise.
10841 * config/pa/pa.c (hppa_expand_prologue): Likewise.
10842 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
10843 * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
10844
1987baa3
ZD
108452010-08-30 Zdenek Dvorak <ook@ucw.cz>
10846
10847 PR tree-optimization/45427
10848 * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten.
10849 Handle the case that the exit is never taken correctly.
10850 (number_of_iterations_ne): Pass exit_must_be_taken to
10851 number_of_iterations_ne_max.
10852
d3c12306 108532010-08-30 Catherine Moore <clm@codesourcery.com>
037f9973
CM
10854
10855 * config/mips/mips.h (BASE_DRIVER_SELF_SPECS):
10856 Infer -mdspr2 for the the 74K.
10857
f2b11865
JJ
108582010-08-30 Jakub Jelinek <jakub@redhat.com>
10859
b0268cc0
JJ
10860 PR debug/45419
10861 * tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable.
10862
f2b11865
JJ
10863 PR middle-end/45423
10864 * gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR
10865 and TRUTH_{AND,OR,XOR}_EXPR.
10866 * c-parser.c (c_parser_omp_atomic): Handle boolean
10867 {PRE,POST}_{INC,DEC}REMENT.
10868
626a4b31
NF
108692010-08-30 Nathan Froyd <froydnj@codesourcery.com>
10870
10871 * config/xtensa/xtensa-protos.h (function_arg_advance): Delete.
10872 (function_arg): Delete.
10873 * config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10874 (FUNCTION_INCOMING_ARG): Delete.
10875 * config/xtensa/xtensa.c (function_arg_advance): Rename to...
d78552bd 10876 (xtensa_function_arg_advance): ...this. Make static. Take a const_tree
626a4b31
NF
10877 and a bool.
10878 (function_arg): Rename to...
10879 (xtensa_function_arg_1): ...this. Make static. Take a const_tree and
10880 a bool.
10881 (xtensa_function_arg, xtensa_function_incoming_arg): Nex functions.
10882 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10883 (TARGET_FUNCTION_INCOMING_ARG): Define.
10884
2e481a2f
RG
108852010-08-30 Richard Guenther <rguenther@suse.de>
10886
10887 PR tree-optimization/21602
10888 * builtins.c (fold_builtin_memory_op): Fold memmove to memcpy
10889 using points-to information.
10890
a95054c1
L
108912010-08-30 H.J. Lu <hongjiu.lu@intel.com>
10892
10893 * config/linux.h (TARGET_HAS_SINCOS): Replace | with ||.
10894
525fb35c
RG
108952010-08-30 Richard Guenther <rguenther@suse.de>
10896
10897 PR tree-optimization/45449
10898 * tree-ssa-live.c (remove_unused_locals): Also remove address-taken
10899 variables.
10900
184eb658
JM
109012010-08-30 Joseph Myers <joseph@codesourcery.com>
10902
10903 * opts.h (CL_ERR_NEGATIVE): Define.
10904 * opts.c (unknown_option_callback): Don't postpone warnings for
10905 options marked with CL_ERR_NEGATIVE.
10906 * opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error
10907 for negative versions of CL_REJECT_NEGATIVE options.
10908
9552aca7
UB
109092010-08-30 Uros Bizjak <ubizjak@gmail.com>
10910
10911 * config/i386/i386.md (zero_extendsidi2_1): Rename from
10912 zero_extendsidi2_32.
10913 (zero_extend<mode>di2): Macroize insn from zero_extend{qi,hi}di2
10914 using SWI12 mode iterator.
10915 (zero_extendhisi2_and): Merge insn pattern and corresponding spliter
10916 to define_insn_and_split pattern.
10917 (zero_extendqi<mode>2): Macroize expander from zero_extendqi{hi,si}2
10918 using SWI24 mode iterator.
10919 (*zero_extendqi<mode>2_and): Macroize insn from
10920 *zero_extendqi{hi,si}2_and using SWI24 mode iterator.
10921 (*zero_extendqi<mode>2_movzbl_and): Macroize insn from
10922 *zero_extendqihi2_movzbw_and and *zero_extendqisi2_movzbl_and using
10923 SWI24 mode iterator.
10924 (*zero_extendqi<mode>2_movzbl): Ditto from
10925 *zero_extendqi{hi,si}2_movzbl.
10926 (extendsidi2_1): Rename from extendsidi2_32.
10927 (extend<mode>di2): Macroize insn from extend{qi,hi}di2 using
10928 SWI12 mode iterator.
10929
33620355
EB
109302010-08-29 Eric Botcazou <ebotcazou@adacore.com>
10931
10932 * config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in
10933 general purpose registers.
10934 (HARD_REGNO_MODE_OK): Accept CCImode in general purpose registers.
10935 * config/ia64/ia64.md (*movcci): Change to named pattern. Deal
10936 with general purpose registers and memory operands. Add associated
10937 CCImode post-reload splitter.
10938 * config/ia64/div.md: Change BImode to CCImode throughout.
10939
bf321310
EB
109402010-08-28 Eric Botcazou <ebotcazou@adacore.com>
10941
10942 * config/ia64/ia64.md (cstorebi4): Fix thinko.
10943
74164603 109442010-08-28 Hariharan Sandanagobalane <hariharan@picochip.com>
179ba6b8
HS
10945
10946 * config/picochip/picochip.c (reorder_var_tracking_notes): This
10947 function was dropping debug insns which caused PR45299.
ee9dd92e 10948
179ba6b8 109492010-08-28 Uros Bizjak <ubizjak@gmail.com>
bf321310 10950
ee9dd92e
UB
10951 * config/i386/sse.md (extsuffix): New code attribute.
10952 (sse4_1_<code>v8qiv8hi2): Macroize insn from sse4_1_extendv8qiv8hi2
10953 and sse4_1_zero_extendv8qiv8hi2 using any_extend code iterator.
10954 (sse4_1_<code>v4qiv4si2): Ditto from sse4_1_extendv4qiv4si2
10955 and sse4_1_zero_extendv4qiv4si2.
10956 (sse4_1_<code>v2qiv2di2): Ditto from sse4_1_extendv2qiv2di2
10957 and sse4_1_zero_extendv2qiv2di2.
10958 (sse4_1_<code>v4hiv4si2): Ditto from sse4_1_extendv4hiv4si2
10959 and sse4_1_zero_extendv4hiv4si2.
10960 (sse4_1_<code>v2hiv2di2): Ditto from sse4_1_extendv2hiv2di2
10961 and sse4_1_zero_extendv2hiv2di2.
10962 (sse4_1_extendv2siv2di2): Ditto from sse4_1_extendv2siv2di2
10963 and sse4_1_zero_extendv2siv2di2
10964
10965 (<s>mulv8hi3_highpart): Macroize expander from {u,s}mulv8hi3_highpart
10966 using any_extend code iterator.
10967 (*avx_<s>mulv8hi3_highpart): Macroize insn from
10968 *avx_{u,s}mulv8hi3_highpart using any_extend code iterator.
10969 (*<s>mulv8hi3_highpart): Ditto from *{u,s}mulv8hi3_highpart.
10970
10971 * config/i386/i386.c (ix86_expand_sse4_unpack): Update for renamed
10972 gen_sse4_1_sign_extend* functions.
10973 (struct builtin_description bdesc_args): Ditto.
10974
f06e400f
XDL
109752010-08-27 Xinliang David Li <davidxl@google.com>
10976
10977 PR/45422
10978 * tree-ssa-loop-ivopts.c (iv_ca_get_num_inv_exprs): Remove.
10979 (iv_ca_set_no_cp): Update used inv expr count.
10980 (iv_ca_set_cp): Ditto.
10981 (iv_ca_new): Initialize new member.
10982 (iv_ca_free): Free memory.
10983
b64336b8
NF
109842010-08-27 Nathan Froyd <froydnj@codesourcery.com>
10985
10986 * config/sh/sh-protos.h (sh_function_arg): Delete.
10987 (sh_function_arg_advance): Delete.
10988 * config/sh/sh.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
10989 (PASS_IN_REG_P): Eliminate cast.
10990 * config/sh/sh.c (sh_function_arg_advance): Make static. Take a
10991 const_tree and a bool.
10992 (sh_function_arg): Likewise.
10993 (sh_output_mi_thunk): Call sh_function_arg_advance) and
10994 sh_function_arg.
10995 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
10996
91a19652
N
109972010-08-27 Naveen H.S <naveen.S@kpitcummins.com>
10998 Kaz Kojima <kkojima@gcc.gnu.org>
10999
11000 * config/sh/sh.c (push_regs): Emit movml for interrupt handler
11001 when possible.
11002 (sh_expand_epilogue): Likewise.
11003 * config/sh/sh.md (movml_push_banked): New insn.
11004 (movml_pop_banked): Likewise.
11005
c1cb371a
BS
110062010-08-28 Bernd Schmidt <bernds@codesourcery.com>
11007
11008 * genautomata.c (gen_regexp_repeat, gen_regexp_allof,
11009 gen_regexp_oneof, gen_regexp_sequence): Use the string found
11010 in vector element 0 rather than the original string when there's
11011 only one element.
11012 (gen_regexp): Remove extra semicolon.
11013
f8045c41
BS
11014 * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp,
11015 thumb2_movsf_vfp): Set attribute "insn".
11016 * config/arm/arm.md (arm_ashrdi3_1bit, arm_lshrdi3_1bit, not_shiftsi,
11017 not_shiftsi_compare0, not_shiftsi_compare0_scratch, arm_one_cmplsi2,
11018 thumb1_one_cmplsi2, notsi_compare0, notsi_compare0_scratch,
11019 arm_zero_extendsidi2, arm_extendsidi2, thumb1_movdi_insn,
11020 arm_movsi_insn, movhi_insn_arch4, movhi_bytes, arm_movqi_insn,
11021 thumb1_movqi_insn arm32_movhf, thumb1_movhf, arm_movsf_soft_insn,
11022 thumb1_movsf_insn, thumb_movdf_insn, mov_scc, mov_negscc, mov_notscc,
11023 movsicc_insn, movsfcc_soft_insn, and_scc, cond_move, if_move_not,
11024 if_not_move, if_shift_move, if_move_shift, if_shift_shift,
11025 if_not_arith, if_arith_not, cond_move_not): Likewise.
11026
7042fe5e
MM
110272010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
11028
11029 * config/rs6000/rs6000-protos.h (rs6000_address_for_fpconvert):
11030 New declaration.
11031 (rs6000_allocate_stack_temp): Ditto.
11032 (rs6000_expand_convert_si_to_sfdf): Ditto.
11033
11034 * config/rs6000/rs6000.c (rs6000_override_options): Adjust long
11035 line. Update the options set if power6 or power7 server/embedded
11036 type options are used. If we give a warning for no vsx under
11037 -mcpu=power7 -mno-altivec, mark -mvsx as an explicit option.
11038 (rs6000_allocate_stack_temp): New function to allocate a stack
11039 tempoary and adjust the address so it meets either REG+OFFSET or
11040 REG+REG addressing requirements.
11041 (rs6000_address_for_fpconvert): Adjust REG+OFFSET addresses so
11042 that they can be used with the LFIWAX/LFIWZX instrucitons.
11043 (rs6000_expand_convert_si_to_sfdf): New helper funciton for
11044 converting signed/unsigned SImode to either SFmode/DFmode.
11045
11046 * config/rs6000/rs6000.h (TARGET_FCFID): New macros to determine
11047 whether certain instructions can be generated.
11048 (TARGET_FCTIDZ): Ditto.
11049 (TARGET_STFIWX): Ditto.
11050 (TARGET_LFIWAX): Ditto.
11051 (TARGET_LFIWZX): Ditto.
11052 (TARGET_FCFIDS): Ditto.
11053 (TARGET_FCFIDU): Ditto.
11054 (TARGET_FCFIDUS): Ditto.
11055 (TARGET_FCTIDUZ): Ditto.
11056 (TARGET_FCTIWUZ): Ditto.
11057
11058 * config/rs6000/rs6000.md (UNSPEC_FCTIW): New unspec constants.
11059 (UNSPEC_FCTID): Ditto.
11060 (UNSPEC_LFIWAX): Ditto.
11061 (UNSPEC_LFIWZX): Ditto.
11062 (UNSPEC_FCTIWUZ): Ditto.
11063 (rreg): Use correct constraints.
11064 (SI_CONVERT_FP): New mode attribute for floating point conversion
11065 tests.
11066 (E500_CONVERT): Ditto.
11067 (lfiwax): New insns for converting from integer to floating point
11068 utilizing newer instructions. Attempt to optimize conversions
11069 that come from memory so that we don't load the value into a GPR,
11070 spill it to the stack and reload it into a FPR.
11071 (floatsi<mode>2_lfiwax): Ditto.
11072 (floatsi<mode>2_lfiwax_mem): Ditto.
11073 (floatsi<mode>2_lfiwax_mem2): Ditto.
11074 (lfiwzx): Ditto.
11075 (floatunssi<mode>2_lfiwzx): Ditto.
11076 (floatunssi<mode>2_lfiwzx_mem): Ditto.
11077 (floatunssi<mode>2_lfiwzx_mem2): Ditto.
11078 (floatdidf2_mem): Ditto.
11079 (floatunsdidf2_fcfidu): Ditto.
11080 (floatunsdidf2_mem): Ditto.
11081 (floatunsdisf2): Ditto.
11082 (floatunsdisf2_fcfidus): Ditto.
11083 (floatunsdisf2_mem): Ditto.
11084 (floatsidf2): Add support for LFIWAX/LFIWZX/FCFIDS/FCFIDU/FCFIDUS.
11085 Use FCFID on 32-bit hosts that support it.
11086 (floatsidf2_internal): Ditto.
11087 (floatunssisf2): Ditto.
11088 (floatunssidf2): Ditto.
11089 (floatunssidf2_internal): Ditto.
11090 (floatsisf2): Ditto.
11091 (floatdidf2): Ditto.
11092 (floatdidf2_fpr): Ditto.
11093 (floatunsdidf2): Ditto.
11094 (floatdisf2): Ditto.
11095 (floatdisf2_fcfids): Ditto.
11096 (floatdisf2_internal1): Ditto.
11097 (fixuns_truncsfsi2): Delete, merge into common pattern for both
11098 SF/DF. Add power7 support.
11099 (fix_truncsfsi2): Ditto.
11100 (fixuns_truncdfsi2): Ditto.
11101 (fixuns_truncdfdi2): Ditto.
11102 (fix_truncdfsi2): Ditto.
11103 (fix_truncdfsi2_internal): Ditto.
11104 (fix_truncdfsi2_internal_gfxopt): Ditto.
11105 (fix_truncdfsi2_mfpgpr): Ditto.
11106 (fctiwz): Ditto.
11107 (btruncdf2): Ditto.
11108 (btruncdf2_fpr): Ditto.
11109 (btructsf2): Ditto.
11110 (ceildf2): Ditto.
11111 (ceildf2_fpr): Ditto.
11112 (ceilsf2): Ditto.
11113 (floordf2): Ditto.
11114 (floordf2_fpr): Ditto.
11115 (floorsf2): Ditto.
11116 (rounddf2): Ditto.
11117 (rounddf2_fpr): Ditto.
11118 (roundsf2): Ditto.
11119 (fix_trunc<mode>si2): Combine SF/DF conversion into one insn.
11120 (fix_trunc<mode>di2): Ditto.
11121 (fixuns_trunc<mode>si2): Ditto.
11122 (fixuns_trunc<mode>di2): Ditto.
11123 (fctiwz_<mode>): Ditto.
11124 (btrunc<mode>2): Ditto.
11125 (btrunc<mode>2_fpr): Ditto.
11126 (ceil<mode>2): Ditto.
11127 (ceil<mode>2_fpr): Ditto.
11128 (floor<mode>2): Ditto.
11129 (float<mode>2_fpr): Ditto.
11130 (round<mode>2): Ditto.
11131 (round<mode>2_fpr): Ditto.
11132 (fix_trunc<mode>si2_stfiwx): New insn for machines with STFIWX.
11133 (fixuns_trunc<mode>si2_stfiwx): Ditto.
11134 (fix_truncdfsi2_internal): Ditto.
11135 (fix_trunc<mode>si2_mem): Combiner pattern to eliminate storing
11136 converted value on stack, loaded into GPR, and then stored into
11137 the final destination.
11138 (fix_trunc<mode>di2_fctidz): New pattern for targets supporting
11139 FCTIDZ.
11140 (lrint<mode>di2): New insn, provide the lrint builtin functions.
11141 (ftruncdf2): Delete, unused.
11142 (fix_trunctfsi2_internal): Use gen_fctiwz_df, not gen_fctiwz.
11143
11144 * config/rs6000/vsx.md (toplevel): Update copyright year.
11145 (VSr2): Use "ws" contraint for DFmode, not "!r#r".
11146 (VSr3): Ditto.
6ba2db5e
BS
11147
111482010-08-27 Basile Starynkevitch <basile@starynkevitch.net>
7d2c38c0 11149 Jeremie Salvucci <jeremie.salvucci@free.fr>
6ba2db5e 11150
7d2c38c0 11151 * gengtype.c (output_type_enum): Test the right union member.
6ba2db5e 11152
83d58961
UB
111532010-08-27 Uros Bizjak <ubizjak@gmail.com>
11154
11155 PR target/41484
11156 * config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
11157 operands for operand 1.
11158 (sse4_1_extendv4qiv4si2): Ditto.
11159 (sse4_1_extendv2qiv2di2): Ditto.
11160 (sse4_1_extendv4hiv4si2): Ditto.
11161 (sse4_1_extendv2hiv2di2): Ditto.
11162 (sse4_1_extendv2siv2di2): Ditto.
11163 (sse4_1_zero_extendv8qiv8hi2): Ditto.
11164 (sse4_1_zero_extendv4qiv4si2): Ditto.
11165 (sse4_1_zero_extendv2qiv2di2): Ditto.
11166 (sse4_1_zero_extendv4hiv4si2): Ditto.
11167 (sse4_1_zero_extendv2hiv2di2): Ditto.
11168 (sse4_1_zero_extendv2siv2di2): Ditto.
11169 (*sse4_1_extendv8qiv8hi2): Remove insn pattern.
11170 (*sse4_1_extendv4qiv4si2): Ditto.
11171 (*sse4_1_extendv2qiv2di2): Ditto.
11172 (*sse4_1_extendv4hiv4si2): Ditto.
11173 (*sse4_1_extendv2hiv2di2): Ditto.
11174 (*sse4_1_extendv2siv2di2): Ditto.
11175 (*sse4_1_zero_extendv8qiv8hi2): Ditto.
11176 (*sse4_1_zero_extendv4qiv4si2): Ditto.
11177 (*sse4_1_zero_extendv2qiv2di2): Ditto.
11178 (*sse4_1_zero_extendv4hiv4si2): Ditto.
11179 (*sse4_1_zero_extendv2hiv2di2): Ditto.
11180 (*sse4_1_zero_extendv2siv2di2): Ditto.
11181
c8717ea3
NF
111822010-08-27 Nathan Froyd <froydnj@codesourcery.com>
11183
11184 * config/mips/mips-protos.h (mips_function_arg_advance): Delete
11185 (mips_function_arg): Delete.
11186 (mips_function_arg_boundary): Take a const_tree.
11187 * config/mips/mips.c (mips_function_arg_boundary): Likewise.
11188 (mips_arg_info): Likewise.
11189 (mips_setup_incoming_varargs): Call mips_function_arg_advance
11190 instead of FUNCTION_ARG_ADVANCE.
11191 (mips_function_arg_advance): Adjust prototype. Make static.
11192 (mips_function_arg): Likewise.
11193 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
11194 * config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
11195
7c8232a2
NF
111962010-08-27 Nathan Froyd <froydnj@codesourcery.com>
11197
11198 * config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
11199 * config/rs6000/rs6000-protos.h (function_arg_advance): Delete.
11200 (function_arg): Delete.
11201 (function_arg_boundary): Take a const_tree.
11202 * config/rs6000/rs6000.c (function_arg_boundary): Likewise.
11203 (rs6000_spe_function_arg): Likewise.
11204 (rs6000_parm_start): Likewise.
11205 (rs6000_arg_size): Likewise.
11206 (rs6000_darwin64_record_arg_advance_recurse): Likewise.
83d58961 11207 (rs6000_darwin64_record_arg): Likewise. Take a bool instead of an int.
7c8232a2
NF
11208 (rs6000_mixed_function_arg): Likewise.
11209 (function_arg): Rename to...
11210 (rs6000_function_arg): ...this.
11211 (function_arg_advance): Rename to...
11212 (rs6000_function_arg_advance_1): ...this
11213 (rs6000_function_arg_advance): New function. Call it.
11214 (setup_incoming_varargs): Call rs6000_function_arg_advance_1.
11215 (rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
11216 (rs6000_function_value): Likewise.
11217 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
11218
da787dec
RR
112192010-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11220
11221 * config/arm/arm.md (enabled): Test the value of arch_enabled
ee9dd92e 11222 rather than just using it.
da787dec 11223
d32f725a 112242010-08-27 Olivier Hainque <hainque@adacore.com>
ee9dd92e 11225 Eric Botcazou <ebotcazou@adacore.com>
d32f725a
OH
11226
11227 * dse.c (group_info.base_mem, get_group_info): Use BLKmode to
11228 cover all the possible offsets from this base.
11229 (scan_reads_nospill): Pass base_mem's mode to canon_true_dependence.
11230
9e3920e9
JJ
112312010-08-26 Jakub Jelinek <jakub@redhat.com>
11232
11233 PR tree-optimization/44485
11234 * calls.c (flags_from_decl_or_type): For const or pure
11235 noreturn functions return ECF_LOOPING_CONST_OR_PURE|ECF_NORETURN
11236 together with ECF_CONST resp. ECF_PURE.
11237 * builtins.c (expand_builtin): Use flags_from_decl_or_type
11238 instead of querying flags directly.
11239 * tree-ssa-loop-niter.c (finite_loop_p): Likewise.
11240 * tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.
11241
4be4cd6d
RG
112422010-08-26 Richard Guenther <rguenther@suse.de>
11243
11244 PR tree-optimization/45255
83d58961
UB
11245 * tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P statics
11246 and externals are also invariant.
4be4cd6d 11247
932c9bff
JJ
112482010-08-25 Jakub Jelinek <jakub@redhat.com>
11249
ea9f1d6f
JJ
11250 PR rtl-optimization/44858
11251 * combine.c (try_combine): If recog_for_combine added CLOBBERs to
11252 newi2pat, make sure they don't affect newpat.
11253
932c9bff
JJ
11254 PR rtl-optimization/45400
11255 * combine.c (simplify_shift_const_1) <case SUBREG>: Only use
11256 SUBREG_REG if both modes are of MODE_INT class.
11257
d8099dd8
JB
112582010-08-25 Julian Brown <julian@codesourcery.com>
11259
11260 * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
11261 * config/arm/arm.md (generic_sched): No for Cortex-A5.
11262 (generic_vfp): Likewise.
11263 (cortex-a5.md): Include.
11264 * config/arm/cortex-a5.md: New.
11265
0ceb0201
RG
112662010-08-25 Richard Guenther <rguenther@suse.de>
11267
83d58961 11268 * alias.c (get_alias_set): Assign a single alias-set to all pointers.
0ceb0201
RG
11269 * gimple.c (gimple_get_alias_set): Remove special handling
11270 for pointers.
11271
4942fc56
BS
112722010-08-25 Bernd Schmidt <bernds@codesourcery.com>
11273
11274 PR middle-end/45355
11275 * combine.c (try_combine): Use reg_overlap_mentioned_p rather than
11276 dead_or_set_p when computing i0_feeds_i2_n.
11277
0cdf7b49
BS
11278 * combine.c (find_split_point): Undo canonicalization of multiply-add
11279 to (minus x (mult)) when it seems likely that this will increase the
11280 chances of a split.
11281
1cf01301
RG
112822010-08-25 Richard Guenther <rguenther@suse.de>
11283
11284 PR lto/44562
11285 * lto-streamer.c (lto_record_common_node): Do not mess with
11286 TYPE_CANONICAL when not in lto.
11287 * gimple.c (gimple_register_type): Likewise.
11288
a2c0ed2e
RG
112892010-08-25 Richard Guenther <rguenther@suse.de>
11290
11291 PR tree-optimization/45316
11292 * tree-ssa-pre.c (eliminate): Properly clean EH info.
11293
90bc1cb8
RG
112942010-08-25 Richard Guenther <rguenther@suse.de>
11295
11296 PR tree-optimization/45393
11297 * tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer
11298 and clean EH info. Avoid SSA update.
11299 (execute_cse_sincos): Cleanup the CFG if it has changed.
11300
9407f6bc
RG
113012010-08-25 Richard Guenther <rguenther@suse.de>
11302
11303 PR middle-end/45379
11304 * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle
11305 TARGET_MEM_REF in alignment computation.
11306
ca046f7f
JJ
113072010-08-25 Jakub Jelinek <jakub@redhat.com>
11308
11309 PR tree-optimization/45059
11310 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless
11311 type conversions from newop{1,2}. Assert t is a comparison and
11312 newop{1,2} after the stripping are gimple vals.
11313
46b57af1
TB
113142010-08-25 Tejas Belagod <tejas.belagod@arm.com>
11315
11316 * config/arm/iterators.md (VU, SE, V_widen_l): New.
11317 (V_unpack, US): New.
83d58961 11318 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for vmovl.
46b57af1
TB
11319 (vec_unpack<US>_lo_<mode>): Likewise.
11320 (neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
11321 (neon_vec_unpack<US>_lo_<mode>): Likewise.
11322 (vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
11323 (vec_widen_<US>mult_hi_<mode>): Likewise.
11324 (neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
11325 (neon_vec_<US>mult_hi_<mode>"): Likewise.
11326 (neon_unpack<US>_<mode>): Widening move intermediate step for
11327 vectorizing without -mvectorize-with-neon-quad.
11328 (neon_vec_<US>mult_<mode>): Widening multiply intermediate step
11329 for vectorizing without -mvectorize-with-neon-quad.
11330 * config/arm/predicates.md (vect_par_constant_high): Check for
11331 high-half lanes of a vector.
11332 (vect_par_constant_low): Check for low-half lanes of a vector.
11333
4b9c23ea
SP
113342010-08-24 Sebastian Pop <sebastian.pop@amd.com>
11335
11336 * tree-if-conv.c (struct ifc_dr): New.
11337 (IFC_DR): New.
11338 (DR_WRITTEN_AT_LEAST_ONCE): New.
11339 (DR_RW_UNCONDITIONALLY): New.
11340 (memref_read_or_written_unconditionally): Use the cached values
11341 when possible.
11342 (write_memref_written_at_least_once): Same.
11343 (if_convertible_loop_p): Initialize and free DR->aux fields.
11344
e1fd038a
SP
113452010-08-24 Sebastian Pop <sebastian.pop@amd.com>
11346
11347 * gimple.c (gimple_could_trap_p_1): Not static anymore.
11348 Pass an extra bool parameter include_mem.
11349 (gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
11350 (gimple_assign_rhs_could_trap_p): Same.
11351 * gimple.h (gimple_could_trap_p_1): Declared.
11352 * tree-data-ref.h (same_data_refs_base_objects): New.
11353 (same_data_refs): New.
11354 * tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
11355 (write_memrefs_written_at_least_once): New.
11356 (ifcvt_memrefs_wont_trap): New.
11357 (operations_could_trap): New.
11358 (ifcvt_could_trap_p): New.
11359 (if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
11360 Gets a vector of data refs.
11361 (if_convertible_stmt_p): Same.
11362 (if_convertible_loop_p_1): New.
11363 (if_convertible_loop_p): Call if_convertible_loop_p_1.
11364
bd544141
SP
113652010-08-24 Sebastian Pop <sebastian.pop@amd.com>
11366
11367 * common.opt (ftree-loop-if-convert-stores): New flag.
11368 * doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
11369 * tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI. Insert
11370 the created statement before GSI.
11371 (if_convertible_phi_p): Allow virtual phi nodes when
11372 flag_loop_if_convert_stores is set.
11373 (if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
11374 Do not handle types that do not match is_gimple_reg_type.
11375 Remove loop and bb parameters. Call gimple_could_trap_p instead of
11376 when flag_loop_if_convert_stores is set, as LHS can contain
11377 memory refs.
11378 (if_convertible_stmt_p): Remove loop and bb parameters. Update calls
11379 to if_convertible_gimple_assign_stmt_p.
11380 (if_convertible_loop_p): Update call to if_convertible_stmt_p.
11381 (replace_phi_with_cond_gimple_assign_stmt): Renamed
11382 predicate_scalar_phi. Do not handle virtual phi nodes.
11383 (ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
11384 Call predicate_scalar_phi.
11385 (insert_gimplified_predicates): Insert the gimplified predicate of a BB
11386 just after the labels for flag_loop_if_convert_stores, otherwise
11387 insert the predicate in the end of the BB.
11388 (predicate_mem_writes): New.
11389 (combine_blocks): Call predicate_all_scalar_phis. When
11390 flag_loop_if_convert_stores is set, call predicate_mem_writes.
11391 (tree_if_conversion): Call mark_sym_for_renaming when
11392 flag_loop_if_convert_stores is set.
11393 (main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
11394 flag_loop_if_convert_stores is set.
11395
8a5b8538
AS
113962010-08-24 Anatoly Sokolov <aesok@post.ru>
11397
11398 * config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
11399 pa_function_value_regno_p, pa_print_operand_punct_valid_p): New.
11400 (pa_function_value): Make static.
11401 (override_options): Rename to...
11402 (pa_option_override): ...this. Make static.
11403 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST,
11404 TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P,
11405 TARGET_OPTION_OVERRIDE): Define.
11406 * config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P,
11407 LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P):
11408 Remove.
11409 * config/pa/pa-protos.h (override_options): Remove.
11410
d15adbeb
RG
114112010-08-24 Richard Guenther <rguenther@suse.de>
11412
11413 PR middle-end/45379
11414 * tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
11415 if addr->index is NULL or zero.
11416 * tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
11417 TARGET_MEM_REF more properly.
11418 (indirect_ref_may_alias_decl_p): Likewise.
11419 * emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
83d58961 11420 * alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more properly.
d15adbeb 11421
f28f2337
AS
114222010-08-23 Anatoly Sokolov <aesok@post.ru>
11423
11424 * config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
11425 (m32c_override_options): Rename to...
11426 (m32c_option_override): ...this. Make static.
11427 (TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
11428 * config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
11429 Remove.
11430 * config/m32c/m32c-protos.h (m32c_override_options,
11431 m32c_function_value_regno_p): Remove.
11432
756f50ce
CF
114332010-08-23 Changpeng Fang <changpeng.fang@amd.com>
11434
11435 * tree-ssa-loop-prefetch.c (gather_memory_references_ref) :
11436 Fix a typo in a previous commit.
11437
0b3f0088
KT
114382010-08-23 Kai Tietz <kai.tietz@onevision.com>
11439
11440 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost):
11441 Pre-initialize innerloop_iters to one.
11442
bc068a23
CF
114432010-08-23 Changpeng Fang <changpeng.fang@amd.com>
11444
11445 * tree-flow.h (may_be_nonaddressable_p): New definition. Make the
11446 existing static function global.
11447
83d58961 11448 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
bc068a23
CF
11449 is changed to global.
11450
83d58961 11451 * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
bc068a23
CF
11452 may_be_nonaddressable_p on base, and don't collect this reference
11453 if the address of the base could not be taken.
11454
8bcc0304
MM
114552010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
11456
b36cf9d2
MM
11457 * config/rs6000/rs6000.opt (-mveclibabi=mass): New option to
11458 enable the compiler to autovectorize mathmetical functions for
11459 power7 using the Mathematical Acceleration Subsystem library.
8bcc0304 11460
b36cf9d2
MM
11461 * config/rs6000/rs6000.c (rs6000_veclib_handler): New variable to
11462 handle which vector math library we have.
11463 (rs6000_override_options): Add -mveclibabi=mass support.
11464 (rs6000_builtin_vectorized_libmass): New function to handle auto
11465 vectorizing math functions that are in the MASS library.
8bcc0304
MM
11466 (rs6000_builtin_vectorized_function): Call it.
11467
b36cf9d2
MM
11468 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
11469 -mveclibabi=mass.
8bcc0304 11470
8c157f90
JDA
114712010-08-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11472
11473 PR boehm-gc/34544
11474 * gthr-posix.h (__gthread_active_init): Delete.
11475 (__gthread_active_p): Do activity check here.
11476 Don't include errno.h on hppa-hpux. Update comment.
11477 * gthr-posix95.h (__gthread_active_init): Delete.
11478 (__gthread_active_p): Do activity check here.
11479 Don't include errno.h on hppa-hpux. Update comment.
11480 * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
11481 * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
11482 add -lpthread when -mt or -pthread is specified.
11483 * config/pa/pa-hpux11.h (LIB_SPEC): likewise.
11484 (LINK_GCC_C_SEQUENCE_SPEC): Define.
11485 * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
11486 (stublib.c, pthread_default_stacksize_np-stub.o,
11487 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
11488 $(T)libgcc_stub.a): Add methods.
11489 * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
11490 (stublib.c, pthread_default_stacksize_np-stub.o,
11491 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
11492 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
11493 pthread_mutex_unlock): New stubs.
11494
d9d16a19
JM
114952010-08-22 Joseph Myers <joseph@codesourcery.com>
11496
11497 * Makefile.in (gccspec.o, cppspec.o): Update dependencies.
11498 * common.opt (L, nodefaultlibs, nostdlib, pg, static): New
11499 options.
11500 * config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
11501 * config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
11502 * config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
11503 * config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
11504 * config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
11505 "-l".
11506 * cppspec.c: Include opts.h.
11507 (lang_specific_driver): Use cl_decoded_option structures.
11508 * doc/tm.texi.in (MATH_LIBRARY): Update documentation.
11509 * doc/tm.texi: Regenerate.
11510 * gcc.c (translate_options): Translate -d to -foutput-class-dir=.
11511 (driver_handle_option): Allow driver options needing no special
11512 processing.
11513 (process_command): Decode options before call to
11514 lang_specific_driver. Pass decoded options to
11515 lang_specific_driver.
11516 * gcc.h (lang_specific_driver): Update prototype.
11517 * gccspec.c: Include opts.h.
11518 (lang_specific_driver): Use cl_decoded_option structures.
11519 * opts-common.c (option_ok_for_language, generate_option,
11520 generate_option_input_file): New.
11521 (decode_cmdline_option): Use option_ok_for_language.
11522 (decode_cmdline_options_to_array): Use generate_option_input_file.
11523 (handle_generated_option): Use generate_option.
11524 * opts.h (generate_option, generate_option_input_file): Declare.
11525
525c561d
AS
115262010-08-22 Anatoly Sokolov <aesok@post.ru>
11527
11528 * config/mips/mips.c (mips_override_options): Rename to...
11529 (mips_option_override): ...this. Make static.
11530 (TARGET_OPTION_OVERRIDE): Define.
11531 (mips_in_small_data_p): Update comment.
11532 * config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
11533 (FIXED_REGISTERS): Update comment.
11534 * config/mips/mips-protos.h (mips_override_options): Remove.
11535
65f1047a
OH
115362010-08-21 Olivier Hainque <hainque@adacore.com>
11537
11538 * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
11539
b3552548
OH
115402010-08-21 Olivier Hainque <hainque@adacore.com>
11541
74025114 11542 * config/rs6000/vxworks.h (PREFERRED_STACK_BOUNDARY,
b3552548
OH
11543 ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.
11544
9e97ff61
JH
115452010-08-20 Jan Hubicka <jh@suse.cz>
11546
11547 * tree-pass.h (pass_ipa_cdtor_merge): New function.
11548 * cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
11549 heap allocated.
11550 (record_cdtor_fn): Move to ipa.c; do not test for
11551 have_ctors_dtors.
11552 (build_cdtor): Move to ipa.c; add code avoiding construction
11553 when target have ctors/dtors and there is only one ctor/dtor at given
11554 priority.
757fc8ed
EB
11555 (compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize
11556 sort; reverse order of constructors.
83d58961 11557 (cgraph_build_cdtor_fns): Move to ipa.c; rename to build_cdtor_fns.
9e97ff61
JH
11558 (cgraph_finalize_function): Do not call record_cdtor_fn.
11559 (cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
11560 (cgraph_build_static_cdtor): Move to ipa.c.
11561 * ipa.c: Include target.h and tree-iterator.h.
11562 (cgraph_build_static_cdtor, static_ctors, static_dtors,
11563 record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
11564 build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
11565 pass_ipa_cdtor_merge): New.
11566 * passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
757fc8ed
EB
11567 * ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of
11568 bounds access.
9e97ff61 11569
508e4757
JH
115702010-08-20 Jan Hubicka <jh@suse.cz>
11571
11572 PR c++/45307
11573 PR c++/17736
11574 * cgraph.h (cgraph_only_called_directly_p,
11575 cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
11576 static cdtors.
11577 * cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
11578 are not needed.
11579 (cgraph_finalize_function): Static cdtors are reachable.
11580 (cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.
11581
f1395d4a
JH
115822010-08-20 Jan Hubicka <jh@suse.cz>
11583
757fc8ed
EB
11584 * lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of
11585 flag_wpa.
f1395d4a 11586 * lto-streamer-out.c (lto_output): Likewise.
83d58961
UB
11587 * passes.c (ipa_write_optimization_summaries): Initialize statement
11588 uids.
f1395d4a 11589
b4d456ff
OH
115902010-08-20 Olivier Hainque <hainque@adacore.com>
11591
11592 * tree.h (alias_diag_flags): New enum.
11593 (alias_pair): Add an 'emitted_diags' field.
11594 * varasm.c (finish_aliases_1): Honor and update p->emitted_diags.
11595 (assemble_alias): Initialize emitted_diags of new pairs.
11596
39acb18f
EB
115972010-08-20 Eric Botcazou <ebotcazou@adacore.com>
11598
11599 * config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
11600 * config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
11601 * config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
11602 (STACK_CHECK_PROTECT): Define.
11603 * config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
11604 (output_probe_stack_range): Likewise.
11605 (rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
11606 builtin stack checking is enabled.
11607 * config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
11608 * config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
11609 (probe_stack_range): New insn.
11610
410841c6
L
116112010-08-20 H.J. Lu <hongjiu.lu@intel.com>
11612
11613 PR target/45336
11614 * config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
11615 short first.
11616
11617 * config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
11618 char first.
11619
50d724a7
JJ
116202010-08-20 Jakub Jelinek <jakub@redhat.com>
11621
11622 PR target/45336
11623 * config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
11624 to cover zero extension into 64-bit register.
11625 (*sse2_pextrw): Likewise.
11626 (*sse4_1_pextrd_zext): New insn.
11627
c6d8116a
IS
116282010-08-20 Iain Sandoe <iains@gcc.gnu.org>
11629
11630 revert r163410, partially revert r163267.
11631 * config/rs6000/darwin.h (LIB_SPEC): Remove.
83d58961 11632 * config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all
c6d8116a 11633 Darwin versions.
83d58961 11634
994fc9ab
JJ
116352010-08-20 Jakub Jelinek <jakub@redhat.com>
11636
11637 PR middle-end/44974
11638 * builtins.c (expand_builtin): Don't optimize away
11639 calls to DECL_LOOPING_CONST_OR_PURE_P builtins.
11640
6c334090
UB
116412010-08-20 Uros Bizjak <ubizjak@gmail.com>
11642
83d58961 11643 * config/i386/i386.md (ashift %rsp splitter): Remove splitter.
6c334090
UB
11644 (pro_epilogue_adjust_stack_di_2): Use "l" constraint for
11645 alternative 1 of operand 2.
11646
561da6bc
JJ
116472010-08-20 Jakub Jelinek <jakub@redhat.com>
11648 Paolo Bonzini <bonzini@gnu.org>
11649
11650 * simplify-rtx.c (simplify_unary_operation_1): Optimize
6c334090 11651 (sign_extend (zero_extend (...)) and
561da6bc
JJ
11652 ({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).
11653
89ad0f25
JJ
116542010-08-20 Jakub Jelinek <jakub@redhat.com>
11655
11656 PR rtl-optimization/45353
11657 * sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
11658 after bb_note is a BARRIER.
11659
bf794e41
IS
116602010-08-20 Iain Sandoe <iains@gcc.gnu.org>
11661
6c334090 11662 * config/rs6000/darwin.h (LIB_SPEC): New. Provide saveFP/restFP by
bf794e41 11663 linking libgcc.a.
6c334090 11664
521fdcda
JJ
116652010-08-20 Jakub Jelinek <jakub@redhat.com>
11666 Michael Matz <matz@suse.de>
11667
6c334090 11668 * tree-ssa-address.c (tree_mem_ref_addr): Convert offset to sizetype.
521fdcda 11669
71bb2d86
NF
116702010-08-20 Nathan Froyd <froydnj@codesourcery.com>
11671
11672 * ggc-common.c (ggc_mark_root_tab): New function, split out from...
11673 (ggc_mark_roots): ...here.
11674
ac47786e
NF
116752010-08-20 Nathan Froyd <froydnj@codesourcery.com>
11676
11677 * vec.h (FOR_EACH_VEC_ELT): Define.
11678 * c-decl.c: Use it.
11679 * cfgloop.c: Likewise.
11680 * cfgloopmanip.c: Likewise.
11681 * cgraph.c: Likewise.
11682 * cgraphunit.c: Likewise.
11683 * combine.c: Likewise.
11684 * config/bfin/bfin.c: Likewise.
11685 * config/mips/mips.c: Likewise.
11686 * config/rs6000/rs6000.c: Likewise.
11687 * dbxout.c: Likewise.
11688 * df-scan.c: Likewise.
11689 * dominance.c: Likewise.
11690 * dse.c: Likewise.
11691 * dwarf2out.c: Likewise.
11692 * except.c: Likewise.
11693 * expr.c: Likewise.
11694 * function.c: Likewise.
11695 * gcse.c: Likewise.
11696 * genattr.c: Likewise.
11697 * ggc-common.c: Likewise.
11698 * gimplify.c: Likewise.
11699 * graphite-blocking.c: Likewise.
11700 * graphite-clast-to-gimple.c: Likewise.
11701 * graphite-dependences.c: Likewise.
11702 * graphite-interchange.c: Likewise.
11703 * graphite-poly.c: Likewise.
11704 * graphite-scop-detection.c: Likewise.
11705 * graphite-sese-to-poly.c: Likewise.
11706 * graphite.c: Likewise.
11707 * haifa-sched.c: Likewise.
11708 * ifcvt.c: Likewise.
11709 * implicit-zee.c: Likewise.
11710 * ipa-prop.c: Likewise.
11711 * ipa-struct-reorg.c: Likewise.
11712 * ipa.c: Likewise.
11713 * ira-build.c: Likewise.
11714 * ira-color.c: Likewise.
11715 * ira-emit.c: Likewise.
11716 * lambda-code.c: Likewise.
11717 * loop-invariant.c: Likewise.
11718 * loop-unroll.c: Likewise.
11719 * lower-subreg.c: Likewise.
11720 * lto-cgraph.c: Likewise.
11721 * lto-opts.c: Likewise.
11722 * lto-streamer-in.c: Likewise.
11723 * lto-streamer-out.c: Likewise.
11724 * lto-streamer.c: Likewise.
11725 * lto-symtab.c: Likewise.
11726 * matrix-reorg.c: Likewise.
11727 * opts.c: Likewise.
11728 * predict.c: Likewise.
11729 * print-tree.c: Likewise.
11730 * sdbout.c: Likewise.
11731 * sel-sched-dump.c: Likewise.
11732 * sel-sched-ir.c: Likewise.
11733 * sel-sched.c: Likewise.
11734 * sese.c: Likewise.
11735 * stor-layout.c: Likewise.
11736 * tree-cfg.c: Likewise.
11737 * tree-cfgcleanup.c: Likewise.
11738 * tree-chrec.c: Likewise.
11739 * tree-data-ref.c: Likewise.
11740 * tree-emutls.c: Likewise.
11741 * tree-inline.c: Likewise.
11742 * tree-into-ssa.c: Likewise.
11743 * tree-loop-distribution.c: Likewise.
11744 * tree-loop-linear.c: Likewise.
11745 * tree-mudflap.c: Likewise.
11746 * tree-outof-ssa.c: Likewise.
11747 * tree-parloops.c: Likewise.
11748 * tree-predcom.c: Likewise.
11749 * tree-pretty-print.c: Likewise.
11750 * tree-scalar-evolution.c: Likewise.
11751 * tree-ssa-live.c: Likewise.
11752 * tree-ssa-loop-im.c: Likewise.
11753 * tree-ssa-loop-ivcanon.c: Likewise.
11754 * tree-ssa-loop-ivopts.c: Likewise.
11755 * tree-ssa-loop-manip.c: Likewise.
11756 * tree-ssa-loop-niter.c: Likewise.
11757 * tree-ssa-loop-prefetch.c: Likewise.
11758 * tree-ssa-phiprop.c: Likewise.
11759 * tree-ssa-pre.c: Likewise.
11760 * tree-ssa-reassoc.c: Likewise.
11761 * tree-ssa-sccvn.c: Likewise.
11762 * tree-ssa-structalias.c: Likewise.
11763 * tree-ssa.c: Likewise.
11764 * tree-vect-data-refs.c: Likewise.
11765 * tree-vect-loop-manip.c: Likewise.
11766 * tree-vect-loop.c: Likewise.
11767 * tree-vect-patterns.c: Likewise.
11768 * tree-vect-slp.c: Likewise.
11769 * tree-vect-stmts.c: Likewise.
11770 * tree-vrp.c: Likewise.
11771 * tree.c: Likewise.
11772 * value-prof.c: Likewise.
11773 * var-tracking.c: Likewise.
11774 * varasm.c: Likewise.
11775 * vmsdbgout.c: Likewise.
11776
1f5a46fe
NS
117772010-08-19 Nathan Sidwell <nathan@codesourcery.com>
11778 Richard Guenther <richard.guenther@gmail.com>
11779
11780 * gimplify.c (gimplify_modify_expr): When assigning to volatiles,
11781 copy the src value and return a copy.
11782 * doc/extend.texi (Volatiles): Move from C++ to C and expand.
11783 (C++ Volatiles): Adjust to describe C++ semantics only.
11784
f8fe0a4a
JM
117852010-08-20 Joseph Myers <joseph@codesourcery.com>
11786
11787 * doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
11788 be zero or nonzero.
11789 * doc/tm.texi: Regenerate.
11790 * defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
11791 * df-scan.c (df_get_exit_block_use_set), reginfo.c
11792 (init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
11793 Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
11794 * config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
11795 to 1.
11796
891aa2ec
OH
117972010-08-20 Olivier Hainque <hainque@adacore.com>
11798
11799 * config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output
11800 an extra nop past a sibling call at the very end.
11801
b98425da
BS
118022010-08-19 Bernd Schmidt <bernds@codesourcery.com>
11803
11804 PR bootstrap/45350
11805 * combine.c (try_combine): Initialize i1_is_used and i2_is_used. Fix
11806 a comment.
11807
29e88142
NF
118082010-08-19 Nathan Froyd <froydnj@codesourcery.com>
11809
11810 * target.def (function_arg, function_incoming_arg): Remove const
11811 qualifier on CUMULATIVE_ARGS parameter.
11812 * targhooks.h (default_function_arg, default_function_incoming_arg):
11813 Likewise.
11814 * targhooks.c (default_function_arg, default_function_incoming_arg):
11815 Likewise.
11816 * config/i386/i386.c (ix86_function_arg): Likewise.
11817
a5d8253f
JJ
118182010-08-19 Jakub Jelinek <jakub@redhat.com>
11819
11820 PR target/45336
11821 * simplify-rtx.c (simplify_unary_operation_1): Optimize nested
11822 SIGN_EXTENDs or ZERO_EXTENDs.
11823
0524d2d6
BS
118242010-08-19 Bernd Schmidt <bernds@codesourcery.com>
11825
11826 PR target/42172
11827 * combine.c (combine_validate_cost): New arg I0. All callers changed.
11828 Take its cost into account if nonnull.
11829 (insn_a_feeds_b): New static function.
11830 (combine_instructions): Look for four-insn combinations.
11831 (can_combine_p): New args PRED2, SUCC2. All callers changed. Take
11832 them into account when computing all_adjacent and looking for other
11833 uses.
11834 (combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC. All callers
11835 changed. Treat them like I1DEST and I1_NOT_IN_SRC.
11836 (try_combine): New arg I0. Handle four-insn combinations.
11837 (distribute_notes): New arg ELIM_I0. All callers changed. Treat it
11838 like ELIM_I1.
11839
ce3beba3
JM
118402010-08-19 Jason Merrill <jason@redhat.com>
11841
11842 PR c++/45307
11843 * gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
11844 if ctor is empty.
11845 (gimplify_modify_expr_rhs): Adjust.
11846
fcaa4ca4
NF
118472010-08-19 Nathan Froyd <froydnj@codesourcery.com>
11848
11849 * cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
11850 bitmap_bit_p.
11851 * config/bfin/bifn.c (bfin_discover_loop): Likewise.
11852 * dominance.c (iterate_fix_dominators): Likewise.
11853 * dse.c (set_usage_bits): Likewise.
11854 (set_position_unneeded, record_store): Likewise.
11855 * gimple-fold.c (get_maxval_strlen): Likewise.
11856 * haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
11857 * ipa-inline.c (update_caller_keys): Likewise.
11858 * ipa-split.c (verify_non_ssa_vars): Likewise.
11859 * ipa-type-escape.c (mark_type, close_type_seen): Likewise.
11860 (close_type_exposed_parameter, close_type_full_escape): Likewise.
11861 (close_addressof_down): Likewise.
11862 * ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
11863 (setup_allocno_left_conflicts_size): Likewise.
11864 (ira_reassign_conflict_allocnos): Likewise.
11865 (ira_reassign_pseudos): Likewise.
11866 * ira-emit.c (change_loop): Likewise.
11867 * loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
11868 * lto-streamer-out.c (write_symbol): Likewise.
11869 * predict.c (expr_expected_value_1): Likewise.
11870 * regstat.c (regstat_bb_compute_ri): Likewise.
11871 * sel-sched.c (create_block_for_bookkeeping): Likewise.
11872 (track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
11873 * stmt.c (expand_case): Likewise.
11874 * tree-eh.c (emit_eh_dispatch): Likewise.
11875 * tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
11876 * tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
11877 Likewise.
11878 (rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
11879 (rdg_build_components): Likewise.
11880 * tree-object-size.c (collect_object_sizes_for): Likewise.
11881 * tree-sra.c (convert_callers): Likewise.
11882 * tree-ssa-coalesce.c (live_track_add_partition): Likewise.
11883 * tree-ssa-live.c (mark_all_vars_used_1): Likewise.
11884 * tree-ssa-pre.c (bitmap_set_replace_value): Likewise.
11885
f1b62c9f
UB
118862010-08-19 Uros Bizjak <ubizjak@gmail.com>
11887
11888 * config/i386/i386.md (*lea_1): Use P mode iterator.
11889 (lea add splitter): Also handle DImode operands.
11890 (DImode lea add splitter): Use x86_64_immediate_operand for operand 2
11891 predicate. Do not use ix86_lea_for_add_ok.
11892 (zext DImode lea add splitter): Use ix86_lea_for_add_ok.
11893 (lea ashift splitter): Also handle DImode operands.
11894 (DImode lea ashift splitter): Remove splitter.
11895
118962010-08-19 Uros Bizjak <ubizjak@gmail.com>
11897
11898 * config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
11899 ix86_binary_operator_ok.
11900
5e841c82
AB
119012010-08-19 Andrey Belevantsev <abel@ispras.ru>
11902
11903 PR rtl-optimization/44691
11904 * sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
f1b62c9f 11905 is not a register.
5e841c82 11906
c92f1823
IB
119072010-08-19 Ian Bolton <ian.bolton@arm.com>
11908
11909 PR target/45070
11910 * config/arm/arm.c (arm_output_epilogue): Ensure that return
11911 value of size 1-3 is handled correctly.
11912
f096c02a
IB
119132010-08-19 Ian Bolton <ian.bolton@arm.com>
11914
11915 * tree-switch-conversion.c (gen_inbound_check): Ensure that the
11916 type for the conditional has wide enough range.
11917
0fb2f9b1
UB
119182010-08-18 Uros Bizjak <ubizjak@gmail.com>
11919
11920 PR target/45327
11921 * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
11922 ix86_binary_operator_ok.
11923
21667997
UB
119242010-08-18 Uros Bizjak <ubizjak@gmail.com>
11925
11926 * config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
11927 <default>: Swap operands 1 and 2 for alternative 2 to use existing
11928 code to output insn mnemonic. Fix comment.
11929 (*addsi_1_zext): Add r-r-0 alternative 1.
11930 <TYPE_LEA>: Split insn to lea.
11931 <default>: Handle alternative 1.
11932 (*addhi_1_lea): Add r-r-0 alternative 2. Use cond RTX instead of
11933 multi-level if_then_else RTX to set "type" attribute.
11934 <default>: Handle alternative 2.
11935 (*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
11936 Use cond RTX instead of multi-level if_then_else RTX to set
11937 "type" attribute.
11938 <default>: Handle alternatives 2 and 4.
11939 (lea splitters): Update calls to ix86_lea_for_add_ok.
11940
11941 * config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
11942 argument.
11943 * config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.
11944
480161b5
RG
119452010-08-18 Richard Guenther <rguenther@suse.de>
11946
11947 * tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
11948 use operand helpers.
11949
e5f5fa2d
PB
119502010-08-18 Paolo Bonzini <bonzini@gnu.org>
11951
11952 PR middle-end/45292
11953 * optabs.c (expand_bool_compare_and_swap): Expand pending
11954 pops before trying the optab.
11955
8019fcfb
YQ
119562010-08-18 Yao Qi <yao@codesourcery.com>
11957
11958 PR target/45094
21667997 11959 * config/arm/arm.c (output_move_double): Fix typo generating
8019fcfb
YQ
11960 instructions ('ldr'->'str').
11961
c701e857
MK
119622010-08-18 Maxim Kuvyrkov <maxim@codesourcery.com>
11963
11964 PR rtl-optimization/42575
11965 * optabs.c (expand_doubleword_mult): Generate new pseudos to shorten
11966 live ranges.
11967
029e79eb
MS
119682010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
11969
11970 * config/arm/arm-protos.h (arm_expand_sync): New.
11971 (arm_output_memory_barrier, arm_output_sync_insn): New.
11972 (arm_sync_loop_insns): New.
11973 * config/arm/arm.c (FL_ARCH7): New.
11974 (FL_FOR_ARCH7): Include FL_ARCH7.
11975 (arm_arch7): New.
11976 (arm_print_operand): Support %C markup.
11977 (arm_legitimize_sync_memory): New.
11978 (arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
11979 (arm_process_output_memory_barrier, arm_output_memory_barrier): New.
11980 (arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
11981 (arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
11982 (arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
11983 (arm_process_output_sync_insn, arm_output_sync_insn): New.
11984 (arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
11985 * config/arm/arm.h (struct arm_sync_generator): New.
11986 (TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
11987 (TARGET_HAVE_MEMORY_BARRIER): New.
11988 (TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
11989 * config/arm/arm.md: Include sync.md.
11990 (UNSPEC_MEMORY_BARRIER): New.
11991 (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
11992 (VUNSPEC_SYNC_OP):New.
11993 (VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
11994 (sync_result, sync_memory, sync_required_value): New attributes.
11995 (sync_new_value, sync_t1, sync_t2): Likewise.
11996 (sync_release_barrier, sync_op): Likewise.
11997 (length): Add logic to length attribute defintion to call
11998 arm_sync_loop_insns when appropriate.
11999 * config/arm/sync.md: New file.
12000
a085a55a
JJ
120012010-08-17 Jakub Jelinek <jakub@redhat.com>
12002
12003 * tree.h (host_integerp): Add ATTRIBUTE_PURE when not
12004 ENABLE_TREE_CHECKING.
12005 (tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
12006 and GCC >= 4.3.
12007
1c111d0a
L
120082010-08-17 H.J. Lu <hongjiu.lu@intel.com>
12009
12010 * config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
12011 or optimizing for size, always avoid lea if possible.
12012
21667997 12013 * config/i386/i386.md (*add<mode>_1): Always avoid lea if possible.
1c111d0a 12014
e2a1fcf0
IS
120152010-08-17 Iain Sandoe <iains@gcc.gnu.org>
12016
12017 * unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction):
21667997 12018 Dunmmy function with NULL return unless the target is
e2a1fcf0 12019 OSX >= 10.6 (Darwin10).
21667997 12020
74164603 120212010-08-17 Jack Howarth <howarth@bromo.med.uc.edu>
2642f659
JH
12022
12023 * gcc.c (spec_function): Add remove-outfile.
12024 (remove_outfile_spec_function): New function.
21667997 12025 * config/darwin.h (LINK_SPEC): Add removal of -ldl, -lm and -lpthread.
2642f659
JH
12026 * invoke.texi (replace-outfile): Document.
12027
2c65142a
UB
120282010-08-17 Uros Bizjak <ubizjak@gmail.com>
12029
12030 PR target/45296
12031 * reginfo.c (globalize_reg): Reject stack registers.
12032
fd4a760e
RG
120332010-08-17 Richard Guenther <rguenther@suse.de>
12034
12035 * tree-ssa-dom.c (struct edge_info): Use a VEC for the
12036 list of conditional equivalences.
12037 (free_all_edge_infos): Adjust.
12038 (record_equivalences_from_incoming_edge): Likewise.
12039 (record_cond): Likewise.
12040 (build_and_record_new_cond): Likewise.
12041 (record_conditions): Likewise.
12042 (dom_opt_leave_block): Likewise.
12043
b17b584f
KT
120442010-08-17 Kai Tietz <kai.tietz@onevision.com>
12045
12046 * doc/invoke.texi (ms-extension): Add documentation.
12047
743ad76e
RG
120482010-08-17 Richard Guenther <rguenther@suse.de>
12049
21667997 12050 * fold-const.c (fold_comparison): Strip nops inside POINTER_PLUS_EXPR.
743ad76e 12051
51f4ec66
SZ
120522010-08-17 Shujing Zhao <pearly.zhao@oracle.com>
12053
12054 PR c/40563
12055 * c-decl.c (diagnose_uninitialized_cst_member): New function.
12056 (finish_decl): Use it to issue a -Wc++-compat warning about
12057 uninitialized const field in struct or union.
2c65142a 12058
51f4ec66
SZ
12059 (finish_struct): Use strip_array_types.
12060
3373692b
JJ
120612010-08-17 Jakub Jelinek <jakub@redhat.com>
12062
12063 * function.c (block_fragments_nreverse, blocks_nreverse_all): New
12064 functions.
12065 (reorder_blocks): Use blocks_nreverse_all instead of blocks_nreverse.
12066 (reorder_blocks_1): Assert BLOCK_FRAGMENT_ORIGIN is NULL. Don't
12067 call block_nreverse here.
12068 (blocks_nreverse): Rename decl temporary to block.
12069
c29e2982
BS
120702010-08-16 Bernd Schmidt <bernds@codesourcery.com>
12071
12072 * config/arm/thumb2.md (thumb2_notsi_shiftsi,
12073 thumbsi_notsi_shiftsi_compare0, thumb2_not_shiftsi_compare0_scratch,
12074 thumb2_cmpsi_shiftsi, thumb2_cmpsi_shiftsi_swp, thumb2_arith_shiftsi,
12075 thumb2_arith_shiftsi splitter, thumb2_arith_shiftsi_compare0,
12076 thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi,
12077 thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch,
12078 thumb2_iorsi3): Delete.
12079 (orsi_notsi_si): No longer a named pattern.
12080 (orsi_not_shiftsi_si): Renamed from thumb_orsi_not_shiftsi_si.
12081 * config/arm/predicates.md (shift_amount_operand): New.
12082 (mult_operator): New.
12083 * config/arm/arm.md (attr arch, attr arch_enabled, attr insn_enabled,
12084 attr enabled): New.
12085 (iorsi3_insn): Renamed from arm_iorsi3. Handle a new alternative if
12086 arch matches t2.
12087 (not_shiftsi): Renamed from arm_notsi_shiftsi. Handle Thumb2 variant.
12088 (not_shiftsi_compare0): Likewise, renamed from
12089 arm_notsi_shiftsi_compare0.
12090 (not_shiftsi_compare0_scratch): Likweise, renamed from
12091 arm_notsi_shiftsi_compare0_scratch.
12092 (cmpsi_shiftsi): Likewise, renamed from arm_cmpsi_shiftsi.
12093 (cmpsi_shiftsi_swp): Likewise, renamed from arm_cmpsi_shiftsi_swp.
12094 (arith_shiftsi): Handle Thumb2 variant. Set insn_enabled attribute
12095 so that the register alternative is disabled when the shift_operator
12096 is MULT. Use "M" as the constraint for constants.
12097 (arith_shiftsi splitter): Enable for TARGET_32BIT.
12098 (arith_shiftsi_compare0): Handle Thumb2 variant. Use "M" as the
12099 constraint for constants.
12100 (arith_shiftsi_compare0_scratch): Likewise.
12101 (sub_shiftsi, sub_shiftsi_compare0, sub_shiftsi_compare0_scratch):
12102 Handle Thumb2 alternative.
12103
c878765b
JM
121042010-08-16 Joseph Myers <joseph@codesourcery.com>
12105
12106 * doc/options.texi (NoDriverArg): Document.
12107 * gcc.c (cpp_unique_options): Generate -MD and -MMD instead of
12108 -MDX and -MMDX.
12109 * opt-functions.awk (switch_flags): Handle NoDriverArg.
12110 * opts-common.c (decode_cmdline_option): Ignore CL_SEPARATE
12111 marking for CL_NO_DRIVER_ARG options when in the driver.
12112 * opts.h (CL_NO_DRIVER_ARG): Define.
12113 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
12114 CL_COMMON): Update values.
12115
603349bf
JM
121162010-08-16 Joseph Myers <joseph@codesourcery.com>
12117
12118 * common.opt: Add driver options.
12119 (auxbase, auxbase-strip, quiet, version): Mark RejectDriver.
12120 * doc/options.texi (Driver, RejectDriver): Document.
12121 * gcc.c (pass_exit_codes, print_search_dirs, print_file_name,
12122 print_prog_name, print_multi_directory, print_sysroot,
12123 print_multi_os_directory, print_multi_lib,
12124 print_sysroot_headers_suffix, report_times, combine_flag,
12125 use_pipes, wrapper_string): Remove.
12126 (save_switch, driver_unknown_option_callback,
12127 driver_wrong_lang_callback, driver_post_handling_callback,
12128 driver_handle_option): New.
12129 (spec_lang, last_language_n_infiles): Make file-scope static
12130 instead of local to process_command.
12131 (process_command): Use decode_cmdline_options_to_array and
12132 read_cmdline_option for option processing. Compute have_c in
12133 prescan of decoded options.
12134 * opt-functions.awk (switch_flags): Handle Driver and
12135 RejectDriver.
12136 (var_type, var_type_struct): Handle Separate options as generating
12137 const char * variables.
12138 * opts-common.c (decode_cmdline_option): Expect CL_COMMON and
12139 CL_TARGET to be passed by caller if required.
12140 (decode_cmdline_options_to_array): Update comment.
12141 * opts.c (complain_wrong_lang): Handle options only valid for the
12142 driver.
12143 (decode_options): Update call to decode_cmdline_options_to_array.
12144 (print_filtered_help): Ignore driver-only options.
12145 (print_specific_help): Ignore CL_DRIVER.
2c65142a 12146 (common_handle_option): Don't call print_specific_help for CL_DRIVER.
603349bf
JM
12147 * opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define.
12148 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON):
12149 Update values.
12150
4b228e61
RG
121512010-08-16 Richard Guenther <rguenther@suse.de>
12152
12153 * tree-cfg.c (verify_types_in_gimple_reference): Verify
12154 TARGET_MEM_REF a bit.
12155 * tree-ssa-address.c (addr_for_mem_ref): Adjust.
12156 (create_mem_ref_raw): Always create TMR_OFFSET, store the
12157 alias pointer type via it.
12158 (copy_mem_ref_info): Adjust.
12159 (maybe_fold_tmr): Likewise.
12160 * tree.c (mem_ref_offset): Also handle TARGET_MEM_REF.
12161 (reference_alias_ptr_type): Likewise.
12162 * tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand,
12163 adjust documentation of TMR_OFFSET operand.
12164 * alias.c (get_alias_set): Do not look at TMR_ORIGINAL but
12165 use the alias pointer type.
12166 * expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to
12167 initialize mem attrs but the TMR itself.
12168 * tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF
12169 similar to MEM_REF.
12170 * tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL.
12171 * tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove.
12172 (unshare_and_remove_ssa_names): Likewise.
12173 (copy_ref_info): Adjust.
12174 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify
12175 TARGET_MEM_REF case.
12176 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look
12177 at TMR_ORIGINAL.
12178 * tree.h (TMR_ORIGINAL): Remove.
12179 * gimple.c (get_base_address): For TARGET_MEM_REF with a
12180 symbol return that.
12181 * tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF
12182 with a symbol.
12183 (get_addr_base_and_unit_offset): Likewise.
12184 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle
12185 TARGET_MEM_REFs.
12186 (indirect_ref_may_alias_decl_p): Likewise.
12187 (refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs.
12188
ef7e0035
UB
121892010-08-15 Uros Bizjak <ubizjak@gmail.com>
12190
12191 * doc/invoke.texi (-fomit-frame-pointer): Document that starting
12192 with GCC version 4.6, the default setting (when not optimizing
12193 for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has
12194 been changed to -fomit-frame-pointer.
12195
5fc265c1
IS
121962010-08-15 Iain Sandoe <iains@gcc.gnu.org>
12197
ef7e0035 12198 * config/darwin.h (REAL_LIBGCC_SPEC): Remove libgcc_s.10.5 stub for
5fc265c1
IS
12199 Darwin10. Do not link libgcc.a for Darwin >= 9.
12200
09ccff9f
GP
122012010-08-15 Gerald Pfeifer <gerald@pfeifer.com>
12202
12203 * doc/invoke.texi (Warning Options): Fix terminology and markup
12204 in the description of how unknown warning options are handled.
12205
69f11a13
IR
122062010-08-15 Ira Rosen <irar@il.ibm.com>
12207
12208 * tree-vect-data-refs.c (vect_setup_realignment): Support realignment
12209 in basic blocks.
12210 (vect_supportable_dr_alignment): Check alignment for basic blocks.
ef7e0035 12211 * tree-vect-slp.c (vect_build_slp_tree): Allow different codes for
69f11a13
IR
12212 data references.
12213 (vect_bb_vectorization_profitable_p): New function.
12214 (vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to
12215 check if it's worthwhile to vectorize the basic block.
12216
faa832a7
AS
122172010-08-14 Anatoly Sokolov <aesok@post.ru>
12218
12219 * reload.h (register_move_cost, memory_move_secondary_cost,
12220 secondary_reload_class): Adjust prototype.
12221 * rtl.h (reg_class_subset_p): Adjust prototype.
12222 * reload.c (secondary_reload_class): Change arguments type from
12223 enum reg_class to reg_class_t. Change result type to reg_class_t.
12224 * reginfo.c (register_move_cost, reg_class_subset_p): Change
12225 arguments type from enum reg_class to reg_class_t.
12226 (memory_move_secondary_cost): Change arguments type from
12227 enum reg_class to reg_class_t. Change type of saved_flags to
12228 reg_class_t.
12229
ef7e0035 12230 * config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
faa832a7
AS
12231 Remove macros.
12232 (mips_cost): Remove.
12233 (struct mips_rtx_cost_data): Moved to mips.c.
12234 * config/mips/mips-protos.h (mips_register_move_cost): Remove.
12235 * config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h.
12236 (mips_cost): Make static.
12237 (mips_canonicalize_move_class): Change argument type to reg_class_t.
12238 Change result type to reg_class_t.
12239 (mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments
12240 type from enum reg_class to reg_class_t.
12241 (mips_register_move_cost): Make static. Change arguments
12242 type from enum reg_class to reg_class_t.
12243 (mips_memory_move_cost): New function.
12244 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
12245
6d1e1a26
RS
122462010-08-14 Richard Sandiford <rdsandiford@googlemail.com>
12247
12248 PR rtl-optimization/43358
12249 * ira-lives.c (process_single_reg_class_operands): Adjust the costs
12250 of a single hard register, using simplify_subreg_regno to decide
12251 what that register should be.
12252
a44ecea1
MX
122532010-08-14 Mingjie Xing <mingjie.xing@gmail.com>
12254
12255 * config/mips/mips.c (CODE_FOR_loongson_pmullh): Define.
12256 * config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete.
12257 (loongson_pmull<V_suffix>): Rename to...
12258 (mul<mode>3): ...this and use MULT instead of an UNSPEC.
12259
74164603 122602010-08-13 Jack Howarth <howarth@bromo.med.uc.edu>
1b2d4118 12261
eed023cc 12262 * configure.ac: Enable -fomit-frame-pointer on darwin
1b2d4118
JH
12263 which support dwarf2.
12264 * config/i386/i386.c (override_options): Same.
12265
9b821a09
JZ
122662010-08-13 Jie Zhang <jie@codesourcery.com>
12267
ef7e0035 12268 * config/arm/arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
9b821a09 12269
644fa7ac
JM
122702010-08-12 Joseph Myers <joseph@codesourcery.com>
12271
12272 * gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
12273 -MMD.
12274
3cb35c12
CF
122752010-08-12 Changpeng Fang <changpeng.fang@amd.com>
12276
12277 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
12278 up dot_prod pattern searching if a stmt is outside the loop.
12279
d79389af
L
122802010-08-12 H.J. Lu <hongjiu.lu@intel.com>
12281 Uros Bizjak <ubizjak@gmail.com>
12282
12283 * config.gcc: Handle --enable-frame-pointer.
12284
12285 * configure.ac: Add --enable-frame-pointer.
12286 * configure: Regenerated.
12287
12288 * config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
12289 (override_options): If not configured with --enable-frame-pointer,
12290 enable -fomit-frame-pointer (but not for TARGET_MACHO or when
12291 optimizing for size), -fasynchronous-unwind-tables and
12292 -maccumulate-outgoing-args by default.
12293
d2be8071
JJ
122942010-08-12 Jakub Jelinek <jakub@redhat.com>
12295
ef7e0035 12296 * builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
d2be8071 12297
a8c56818
JJ
12298 PR middle-end/45262
12299 * fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
12300 -a overflows. Normalize the range.
12301
2d698d3b
RG
123022010-08-12 Richard Guenther <rguenther@suse.de>
12303
12304 PR tree-optimization/45232
12305 * tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
12306 for types with undefined overflow.
12307 (reassociate_bb): Allow re-associating of bit and min/max
12308 operations for types with undefined overflow.
12309 * tree-ssa-forwprop.c (associate_plusminus): New function.
12310 (tree_ssa_forward_propagate_single_use_vars): Call it.
12311
1be38ccb
RG
123122010-08-12 Richard Guenther <rguenther@suse.de>
12313
12314 * tree-flow.h (struct ptr_info_def): Add align and misalign fields.
12315 * tree-ssa-alias.c (get_ptr_info): Move ...
12316 * tree-ssanames.c (get_ptr_info): ... here. Initialize
12317 align and misalign fields conservatively.
12318 * tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
12319 derive alignment information.
12320 (evaluate_stmt): Derive alignment information from memory
12321 allocation functions.
12322 * tree.h (get_pointer_alignment): Make unsigned.
12323 * builtins.c (get_object_alignment): Use alignment information we
12324 have computed for pointers.
12325 (get_pointer_alignment): Likewise. Make conservative, return
12326 and unsigned value.
12327 (expand_builtin_strlen): Adjust.
12328 (expand_builtin_memcmp): Likewise.
12329 (expand_builtin_strcmp): Likewise.
12330 (expand_builtin_strncmp): Likewise.
12331 (get_builtin_sync_mem): Use at least mode alignment.
12332 (fold_builtin_memset): Adjust.
12333 (fold_builtin_memory_op): Likewise.
12334 * gimple-pretty-print.c (dump_gimple_phi): Alongside alias
12335 information also dump pointer alignment knowledge.
12336 (dump_gimple_stmt): Likewise.
12337
a96ad348
UB
123382010-08-12 Uros Bizjak <ubizjak@gmail.com>
12339
12340 * config/i386/i386.c (LONG_TYPE_SIZE): Remove.
12341 (EMPTY_FIELD_BOUNDARY): Remove.
12342 * config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove.
12343
49b48605
JJ
123442010-08-12 Jakub Jelinek <jakub@redhat.com>
12345
12346 PR debug/45259
12347 * caller-save.c (save_call_clobbered_regs): Only swap notes with
12348 DEBUG_INSNs if n_regs_saved.
12349
3565ffed
WG
123502010-08-12 Wei Guozhi <carrot@google.com>
12351
12352 PR target/44999
12353 * config/arm/arm.md (andsi3): Change to zero extension if possible.
12354 * config/arm/thumb2.md (thumb2_zero_extendqisi2_v6): Change the name.
12355
183c87cd
VM
123562010-08-11 Vladimir Makarov <vmakarov@redhat.com>
12357
12358 * ira-int.h (ira_remove_allocno_copy_from_list): Remove.
12359
12360 * ira-build.c (ira_remove_allocno_copy_from_list): Remove.
12361
cb5da135 123622010-08-11 Sebastian Pop <sebastian.pop@amd.com>
9707eeb0
SP
12363
12364 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
12365 the case removed in the previous patch, when the only phi argument
12366 is defined in the same loop as the phi node itself. Handle it
12367 separately from the invariant case by both propagating it outside
12368 the region and replacing the phi node with an assign.
12369
cb5da135 123702010-08-11 Sebastian Pop <sebastian.pop@amd.com>
974335d6
SP
12371
12372 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
12373 constant phi nodes with one argument are is_gimple_min_invariant
12374 and SSA_NAME_IS_DEFAULT_DEF.
12375
cb5da135 123762010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
85437633
AS
12377
12378 * graphite-cloog-util.c (oppose_constraint):
12379 Extend loop counter's value range (CLOOG_ORG).
12380 (cloog_matrix_to_ppl_constraint): Same.
12381 (new_Constraint_System_from_Cloog_matrix): Same.
12382 * graphite-cloog-compat.h (matrix_num_type): New.
12383
cb5da135 123842010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
85437633
AS
12385
12386 * graphite.c (graphite_initialize): Do not initialize
12387 CLooG and initialize the Parma Polyhedra Library
12388 manually when using CLOOG_ORG.
12389 (graphite_finalize): Do not finalize CLooG and finalize
12390 the Parma Polyhedra Library manually when using CLOOG_ORG.
12391 * graphite-cloog-compat.h (cloog_initialize): Hide function
12392 when using CLOOG_ORG.
12393 (cloog_finalize): Same.
12394
cb5da135 123952010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
1461761b
AS
12396
12397 * graphite-clast-to-gimple.c (free_scattering): Change
12398 CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering
12399 (CLOOG_ORG).
12400 (build_cloog_prog): Same.
12401 * graphite-cloog-compat.h (cloog_domain): Removed.
12402 (cloog_scattering): New.
12403 (cloog_set_domain): Removed.
12404 (cloog_set_scattering): New.
12405 (cloog_next_domain): Removed.
12406 (cloog_next_scattering): New.
12407 (cloog_set_next_domain): Removed.
12408 (cloog_set_next_scattering): New.
12409 (CloogScatteringList): New.
12410 (CloogScattering): New.
12411 (cloog_scattering_free): New.
12412 (new_Cloog_Scattering_from_ppl_Polyhedron): New.
12413 * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron):
12414 New.
12415
cb5da135 124162010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
60f87855
AS
12417
12418 * graphite-clast-to-gimple.c (build_cloog_prog): Extend with
12419 CloogState.
12420 (set_cloog_options): Same.
12421 (print_clast_stmt): Same.
12422 (scop_to_clast): Same.
12423 (print_generated_program): Same.
12424 (gloog): Same.
12425 * graphite-clast-to-gimple.h: Include graphite-cloog-util.h.
12426 (scop_to_clast): Extend with CloogState.
12427 * graphite-cloog-util.c: Include graphite-cloog-compat.h
12428 (new_Cloog_Domain_from_ppl_Polyhedron):
12429 Extend with CloogState. Use cloog_domain_from_cloog_matrix (CLOOG_ORG).
12430 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState.
12431 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
12432 * graphite-cloog-util.h (build_cloog_prog): Same.
12433 * graphite-cloog-copat.h (build_cloog_prog): New.
12434 (CloogState): New.
12435 (cloog_state_malloc): New.
12436 (cloog_state_free): New.
12437 (cloog_loop_malloc): New.
12438 (cloog_options_malloc): New.
12439 (cloog_statement_alloc): New.
12440 (cloog_domain_from_cloog_matrix): New.
12441 (new_Cloog_Domain_from_ppl_Pointset_Powerset): New.
12442 (new_Cloog_Domain_from_ppl_Polyhedron): New.
12443
cb5da135 124442010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
4431102b
AS
12445
12446 * graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter
12447 type of NAME now depends on used CLooG version.
12448 (clast_to_gcc_expression): Replace expr_* with clast_expr_*.
12449 (gcc_type_for_clast_expr): Same.
12450 (print_clast_stmt): Replace pprint with clast_pprint.
12451 * graphite-cloog-compat.h: Provide compatibility macros for
12452 CLooG Legacy.
12453 (clast_name_p): New.
12454 (clast_expr_term): New.
12455 (clast_expr_red): New.
12456 (clast_expr_bin): New.
12457 (clast_pprint): New.
12458
cb5da135 124592010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
ac3b070a
AS
12460
12461 * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
12462 compatible to newer CLooG releases (CLOOG_ORG).
12463 (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
12464 (scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG).
12465 * graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy.
12466 (build_cloog_prog) : New.
12467 (cloog_program_extract_scalars): New.
12468 (cloog_program_scatter): New.
12469
cb5da135 124702010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2bbb190a
AS
12471
12472 * graphite-clast-to-gimple.c: Include graphite-cloog-compat.h
12473 conditionally (CLOOG_ORG).
12474 * graphite-cloog-compat.h: New. Include graphite-cloog-compat.h.
12475 (cloog_statement_usr): New.
12476 (cloog_domain): Same.
12477 (cloog_set_domain): Same.
12478 (cloog_next_domain): Same.
12479 (cloog_set_next_domain): Same.
12480 (cloog_program_nb_scattdims): Same.
12481 (cloog_program_set_nb_scattdims): Same.
12482 (cloog_program_names): Same.
12483 (cloog_program_set_names): Same.
12484 (cloog_program_set_context): Same.
12485 (cloog_program_set_loop): Same.
12486 (cloog_program_blocklist): Same.
12487 (cloog_program_set_blocklist): Same.
12488 (cloog_program_scaldims): Same.
12489 (cloog_program_set_scaldims): Same.
12490 (cloog_names_nb_parameters): Same.
12491 (cloog_names_set_nb_parameters): Same.
12492 (cloog_names_parameters): Same.
12493 (cloog_names_set_parameters): Same.
12494 (cloog_names_set_nb_iterators): Same.
12495 (cloog_names_set_iterators): Same.
12496 (cloog_names_set_nb_scattering): Same.
12497 (cloog_names_set_scattering): Same.
12498 (cloog_statement_set_usr): Same.
12499 (cloog_loop_set_next): Same.
12500 (cloog_loop_set_domain): Same.
12501 (cloog_loop_set_block): Same.
12502 (cloog_block_list_next): Same.
12503 (cloog_block_list_set_next):
12504 (cloog_block_list_set_block): Same.
12505
cb5da135 125062010-08-11 Sebastian Pop <sebastian.pop@amd.com>
5d737345
SP
12507
12508 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Returns
12509 a bool.
12510 (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
12511 (rewrite_commutative_reductions_out_of_ssa_loop): Same.
12512 (rewrite_cross_bb_scalar_deps_out_of_ssa): Call scev_reset_htab
12513 when something has been changed.
12514 (rewrite_commutative_reductions_out_of_ssa): Same.
12515
cb5da135 125162010-08-11 Sebastian Pop <sebastian.pop@amd.com>
4ee23fa8 12517
ab756588
SP
12518 * graphite-sese-to-poly.c (propagate_expr_outside_region): Also
12519 handle the case when def is in the sese region.
12520 (rewrite_close_phi_out_of_ssa): Call propagate_expr_outside_region
12521 for invariant expressions.
12522 (rewrite_cross_bb_phi_deps): Removed.
12523 (rewrite_cross_bb_scalar_deps): Also handle GIMPLE_PHI nodes.
12524 (rewrite_cross_bb_scalar_deps_out_of_ssa): Do not call
cb5da135 12525 rewrite_cross_bb_phi_deps.
ab756588 12526
cb5da135 125272010-08-11 Sebastian Pop <sebastian.pop@amd.com>
ab756588 12528
4ee23fa8
SP
12529 * graphite-sese-to-poly.c
12530 (rewrite_commutative_reductions_out_of_ssa_loop): Call
12531 scev_analyzable_p only on is_gimple_reg
12532
cb5da135 125332010-08-11 Sebastian Pop <sebastian.pop@amd.com>
1c2a7491
SP
12534
12535 * graphite-sese-to-poly.c (propagate_expr_outside_region): New.
12536 (rewrite_close_phi_out_of_ssa): Propagate constant values or
12537 parametric expressions outside the scop region.
12538 (rewrite_cross_bb_scalar_deps): Same.
12539 * sese.c (rename_uses): Use NULL_TREE instead of NULL for trees.
12540
cb5da135 125412010-08-11 Sebastian Pop <sebastian.pop@amd.com>
320532a8
SP
12542
12543 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
12544 SSA_NAME_DEF_STMT only on SSA_NAMEs.
12545
cb5da135 125462010-08-11 Sebastian Pop <sebastian.pop@amd.com>
2847388e
SP
12547
12548 * tree-scalar-evolution.c (instantiate_scev_name): Do not
12549 instantiate default definitions.
12550
cb5da135 125512010-08-11 Vladimir Kargov <kargov@gmail.com>
f4ce375d
VK
12552 Sebastian Pop <sebastian.pop@amd.com>
12553
12554 * cfgloop.c (is_loop_exit): Renamed loop_exits_to_bb_p.
12555 (loop_exits_from_bb_p): New.
12556 * cfgloop.h (is_loop_exit): Renamed loop_exits_to_bb_p.
12557 (loop_exits_from_bb_p): Declared.
12558 * graphite-scop-detection.c (scopdet_basic_block_info): Call
12559 loop_exits_to_bb_p.
12560
cb5da135 125612010-08-11 Sebastian Pop <sebastian.pop@amd.com>
a7d00e71
SP
12562
12563 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an
12564 extra parameter for the region. Call scev_analyzable_p.
12565 (rewrite_reductions_out_of_ssa): Update call to
12566 rewrite_close_phi_out_of_ssa.
12567 (rewrite_cross_bb_phi_deps): Same.
12568 (rewrite_commutative_reductions_out_of_ssa_loop): Add an extra
12569 parameter for the region. Call scev_analyzable_p.
12570 (rewrite_commutative_reductions_out_of_ssa): Update call to
12571 rewrite_commutative_reductions_out_of_ssa_loop.
12572
cb5da135 125732010-08-11 Sebastian Pop <sebastian.pop@amd.com>
6f23dd91
SP
12574
12575 * sese.c (rename_uses): Call unshare_expr before force_gimple_operand.
12576
cb5da135 125772010-08-11 Sebastian Pop <sebastian.pop@amd.com>
87b28340
SP
12578
12579 * graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
12580 SSA scalar phi nodes that can be scev_analyzable_p.
12581
cb5da135 125822010-08-11 Sebastian Pop <sebastian.pop@amd.com>
3dd2dd57
SP
12583
12584 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Correctly
12585 handle SSA_NAME_IS_DEFAULT_DEF.
12586
cb5da135 125872010-08-11 Sebastian Pop <sebastian.pop@amd.com>
a0dd1502
SP
12588
12589 * sese.c (rename_uses): Handl unconditionally gimple_debug statements.
12590
cb5da135 125912010-08-11 Sebastian Pop <sebastian.pop@amd.com>
8af6d9cd
SP
12592
12593 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special
12594 case non close-phi nodes with one argument.
12595
cb5da135 125962010-08-11 Sebastian Pop <sebastian.pop@amd.com>
f36fc876
SP
12597
12598 * sese.h (scev_analyzable_p): Scevs could be expressions without
12599 chrecs and still be scev_analyzable_p.
12600
cb5da135 126012010-08-11 Sebastian Pop <sebastian.pop@amd.com>
57fe3c87
SP
12602
12603 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
12604
cb5da135 126052010-08-11 Sebastian Pop <sebastian.pop@amd.com>
a0d1afb3
SP
12606
12607 * cfgloop.c (alloc_loop): Remove initialization of loop->single_iv.
12608 * cfgloop.h (struct loop): Remove single_iv field.
12609 * graphite-sese-to-poly.c (graphite_loop_normal_form): Removed.
12610 (scop_canonicalize_loops): Removed.
12611 (scop_ivs_can_be_represented): Do not use loop->single_iv. Iterate
12612 over all the loop phi nodes in loop->header.
12613 (build_poly_scop): Remove use of scop_canonicalize_loops.
12614
cb5da135 126152010-08-11 Sebastian Pop <sebastian.pop@amd.com>
dba9acfa
SP
12616
12617 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
12618 handle GIMPLE_CALL.
12619
cb5da135 126202010-08-11 Sebastian Pop <sebastian.pop@amd.com>
8b059232
SP
12621
12622 * tree-chrec.c (chrec_apply): Should only apply to the specified
12623 variable. Also handle multivariate chains of recurrences that
12624 satisfy evolution_function_is_affine_p. Also handle CASE_CONVERT.
12625
cb5da135 126262010-08-11 Sebastian Pop <sebastian.pop@amd.com>
2e286fd2
SP
12627
12628 * graphite-clast-to-gimple.c (debug_clast_name_index): Removed.
12629 (debug_clast_name_indexes_1): Removed.
12630 (debug_clast_name_indexes): Removed.
12631 (pbb_to_depth_to_oldiv): Removed.
12632 (build_iv_mapping): Replace the use of rename_map with iv_map.
12633 (translate_clast_user): Remove uses of rename_map. Allocate and
12634 free iv_map.
12635 (translate_clast_for_loop): Remove uses of rename_map.
12636 (translate_clast_for): Same.
12637 (translate_clast_guard): Same.
12638 (translate_clast): Same.
12639 (gloog): Same.
12640 * graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed.
12641 * graphite-sese-to-poly.c (scev_analyzable_p): Moved...
12642 * sese.c (set_rename): Now static.
12643 (rename_variables_in_stmt): Removed.
12644 (rename_uses): New.
12645 (is_parameter): Removed.
12646 (is_iv): Removed.
12647 (expand_scalar_variables_call): Removed.
12648 (expand_scalar_variables_ssa_name): Removed.
12649 (expand_scalar_variables_expr): Removed.
12650 (expand_scalar_variables_stmt): Removed.
12651 (expand_scalar_variables): Removed.
12652 (rename_variables): Removed.
12653 (remove_condition): Removed.
12654 (get_true_edge_from_guard_bb): Removed.
12655 (get_false_edge_from_guard_bb): Removed.
12656 (struct igp): Removed.
12657 (default_before_guard): Removed.
12658 (convert_for_phi_arg): Removed.
12659 (add_guard_exit_phis): Removed.
12660 (insert_guard_phis): Removed.
12661 (graphite_copy_stmts_from_block): Now also uses iv_map and a
12662 region. Do not copy conditions. Do not copy induction variables.
12663 Call rename_uses.
12664 (copy_bb_and_scalar_dependences): Allocate a local rename_map for
12665 the translated statement. Use the iv_map for the induction
12666 variable renaming.
12667 * sese.h (copy_bb_and_scalar_dependences): Update declaration.
12668 (set_rename): Removed declaration.
12669 (scev_analyzable_p): ...here.
12670 * tree-chrec.c (chrec_apply_map): New.
12671 * tree-chrec.h (chrec_apply_map): Declared.
12672
cb5da135 126732010-08-11 Sebastian Pop <sebastian.pop@amd.com>
e11d25e0
SP
12674
12675 * graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call
12676 insert_loop_close_phis.
12677 * sese.c (name_defined_in_loop_p): Removed.
12678 (expr_defined_in_loop_p): Removed.
12679 (alive_after_loop): Removed.
12680 (close_phi_not_yet_inserted_p): Removed.
12681 (struct alep): Removed.
12682 (add_loop_exit_phis): Removed.
12683 (insert_loop_close_phis): Removed.
12684
cb5da135 126852010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
61298f69
AS
12686
12687 * graphite-cloog-util.c
12688 (cloog_matrix_to_ppl_constraint): Fix flipped condition.
12689 * graphite-poly.c
12690 (psct_scattering_dim_for_loop_depth): Same.
12691
cb5da135 126922010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
a9c2ba8f
AS
12693
12694 * graphite-cloog-util.h: Added cloog.h.
12695 * graphite-blocking.c: Removed cloog.h.
12696 * graphite-dependences.c: Same.
12697 * graphite-interchange.c: Same.
12698 * graphite-poly.c: Same.
12699 * graphite-ppl.c: Same.
12700 * graphite-scop-detection.c: Same.
12701 * graphite-sese-to-poly.c:
12702 Removed cloog.h.
12703 Removed graphite-clast-to-gimple.h.
12704 (check_poly_representation): Removed (unused).
12705 * graphite-sese-to-poly.h
12706 (check_poly_representation): Removed (unused).
12707
cb5da135 127082010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
0647324a
AS
12709
12710 * Makefile.in (OBJS-common): Added graphite-cloog-util.o.
12711 (graphite-clast-to-gimple.o): Added graphite-cloog-util.h.
12712 (graphite-cloog-util.o): New.
12713 (graphite-ppl.o): Added graphite-cloog-util.h.
12714 * graphite-clast-to-gimple.c:
12715 Added graphite-cloog-util.h to include statements.
12716 * graphite-cloog-util.c: New.
12717 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c.
12718 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
12719 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
12720 (new_C_Polyhedron_from_Cloog_Matrix): Same.
12721 (insert_constraint_into_matrix): Same.
12722 (ppl_Constrain_System_number_of_constraints): Same.
12723 (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
12724 (oppose_constraint): Same.
12725 (cloog_matrix_to_ppl_constraint): Same.
12726 (new_Constraint_System_from_Cloog_Matrix): Same.
12727 * graphite-cloog-util.h: New.
12728 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h.
12729 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
12730 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
12731 (new_C_Polyhedron_from_Cloog_Matrix): Same.
12732 (insert_constraint_into_matrix): Same.
12733 * graphite-ppl.c:
12734 Added graphite-cloog-util.h to include statements.
12735 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c.
12736 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
12737 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
12738 (new_C_Polyhedron_from_Cloog_Matrix): Same.
12739 (insert_constraint_into_matrix): Same.
12740 (ppl_Constrain_System_number_of_constraints): Same.
12741 (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
12742 (oppose_constraint): Same.
12743 (cloog_matrix_to_ppl_constraint): Same.
12744 (new_Constraint_System_from_Cloog_Matrix): Same.
12745 * graphite-ppl.h:
12746 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to
12747 graphite-cloog-util.h.
12748 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
12749 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
12750 (new_C_Polyhedron_from_Cloog_Matrix): Same.
12751 (insert_constraint_into_matrix): Same.
12752
cb5da135 127532010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
589ac63c
AS
12754
12755 * graphite-clast-to-gimple.c
12756 (precision_for_value): Resolve value_* calls to matching mpz_* calls.
12757 (precision_for_interval): Same.
12758 (gcc_type_for_interval): Same.
12759 (compute_type_for_level): Same.
12760 * graphite-interchange.c
12761 (lst_interchange_profitable_p): Same.
12762 * graphite-poly.c
12763 (psct_scattering_dim_for_loop_depth): Same.
12764 * graphite-ppl.c
12765 (ppl_max_for_le_pointset): Same.
12766 (ppl_min_for_le_pointset): Same.
12767
cb5da135 127682010-08-11 Sebastian Pop <sebastian.pop@amd.com>
d3e7b889
SP
12769
12770 * graphite-sese-to-poly.c (rewrite_degenerate_phi): New.
12771 (rewrite_reductions_out_of_ssa): Call it for degenerate_phi_result.
12772
cb5da135 127732010-08-11 Sebastian Pop <sebastian.pop@amd.com>
aedede66
SP
12774
12775 * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Call
12776 rewrite_close_phi_out_of_ssa.
12777
cb5da135 127782010-08-11 Sebastian Pop <sebastian.pop@amd.com>
f2c51113
SP
12779
12780 * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Remove dead code.
12781
cb5da135 127822010-08-11 Sebastian Pop <sebastian.pop@amd.com>
32e68db9
SP
12783
12784 * graphite-clast-to-gimple.c (build_iv_mapping): Rename map with
12785 rename_map.
12786 * sese.c (debug_rename_map): Same.
12787 (get_rename): Same.
12788 (set_rename): Same.
12789 (rename_variables_in_stmt): Same.
12790 (expand_scalar_variables_call): Same.
12791 (expand_scalar_variables_ssa_name): Same.
12792 (expand_scalar_variables_expr): Same.
12793 (expand_scalar_variables_stmt): Same.
12794 (expand_scalar_variables): Same.
12795 (rename_variables): Same.
12796 (graphite_copy_stmts_from_block): Same.
12797 (copy_bb_and_scalar_dependences): Same.
12798
cb5da135 127992010-08-11 Sebastian Pop <sebastian.pop@amd.com>
8b164754
SP
12800
12801 * graphite-clast-to-gimple.c (copy_renames): Removed.
12802 (translate_clast_for): Do not call copy_renames.
12803 (translate_clast_guard): Same.
12804
cb5da135 128052010-08-11 Sebastian Pop <sebastian.pop@amd.com>
9773d730
SP
12806
12807 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Moved up.
12808 (rewrite_cross_bb_phi_deps): Split out of rewrite_cross_bb_scalar_deps.
12809 (rewrite_cross_bb_scalar_deps_out_of_ssa): Run rewrite_cross_bb_phi_deps
12810 before rewrite_cross_bb_scalar_deps.
12811
cb5da135 128122010-08-11 Sebastian Pop <sebastian.pop@amd.com>
cc588970
SP
12813
12814 * graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa):
12815 Early return in when flag_associative_math is not set.
12816
cb5da135 128172010-08-11 Sebastian Pop <sebastian.pop@amd.com>
4aa9a167
SP
12818
12819 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
12820 of SSA copies on edges except for loop->latch.
12821
cb5da135 128222010-08-11 Sebastian Pop <sebastian.pop@amd.com>
ee646fc6
SP
12823
12824 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps_out_of_ssa):
12825 Split out of rewrite_reductions_out_of_ssa.
12826 * graphite-sese-to-poly.h (rewrite_cross_bb_scalar_deps_out_of_ssa):
12827 Declared.
12828 * graphite.c (graphite_transform_loops): Call it.
12829
cb5da135 128302010-08-11 Sebastian Pop <sebastian.pop@amd.com>
6a7441f5
SP
12831
12832 * graphite.c (graphite_transform_loops): Add two more dbg_cnt calls.
12833
cb5da135 128342010-08-11 Alexander Monakov <amonakov@ispras.ru>
6a7441f5
SP
12835
12836 * dbgcnt.def (graphite_scop): New counter.
12837 * graphite.c: Include dbgcnt.h.
12838 (graphite_transform_loops): Use new counter to limit transformations.
12839 * Makefile.in (graphite.o): Depend on DBGCNT_H.
12840
cb5da135 128412010-08-11 Sebastian Pop <sebastian.pop@amd.com>
d4332d00
SP
12842
12843 * passes.c (init_optimization_passes): Add pass_graphite.
12844 Schedule a pass_copy_prop before pass_graphite_transforms.
12845 * timevar.def (TV_GRAPHITE): Declared.
12846 * tree-pass.h (pass_graphite): Declared.
12847 * tree-ssa-loop.c (pass_graphite): New.
12848
cb5da135 128492010-08-11 Sebastian Pop <sebastian.pop@amd.com>
14d0e129
SP
12850
12851 * graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter.
12852 Remove calls to rename_nb_iterations and rename_sese_parameters.
12853 * graphite-clast-to-gimple.h (gloog): Update declaration.
12854 * graphite.c (graphite_transform_loops): Update call to gloog.
12855 * sese.c (rename_variables_in_expr): Removed.
12856 (rename_nb_iterations): Removed.
12857 (rename_sese_parameters): Removed.
12858 * sese.h (rename_nb_iterations): Removed.
12859 (rename_sese_parameters): Removed.
12860
cb5da135 128612010-08-11 Sebastian Pop <sebastian.pop@amd.com>
d1ba0721
SP
12862
12863 * graphite-clast-to-gimple.c (gloog): Remove call to
12864 sese_adjust_liveout_phis.
12865 * graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an
12866 SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps.
12867 (rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call
12868 rewrite_phi_out_of_ssa.
12869 * sese.c (get_vdef_before_sese): Removed.
12870 (sese_adjust_vphi): Removed.
12871 (sese_adjust_liveout_phis): Removed.
12872 * sese.h (sese_adjust_liveout_phis): Removed.
12873
cb5da135 128742010-08-11 Sebastian Pop <sebastian.pop@amd.com>
5fed5769
SP
12875
12876 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Pass an extra
12877 argument for the place after which to insert the out of SSA copy.
12878 (rewrite_close_phi_out_of_ssa): Update calls to insert_out_of_ssa_copy.
12879 (rewrite_phi_out_of_ssa): Same.
12880 (rewrite_cross_bb_scalar_deps): Same.
12881 (insert_copyout): Removed.
12882 (insert_copyin): Removed.
12883 (translate_scalar_reduction_to_array): Call insert_out_of_ssa_copy and
12884 insert_out_of_ssa_copy_on_edge instead of insert_copyout and
12885 insert_copyin.
12886
cb5da135 128872010-08-11 Sebastian Pop <sebastian.pop@amd.com>
3a7086cc
SP
12888
12889 * graphite-sese-to-poly.c (build_scop_bbs): Not static anymore.
12890 (rewrite_reductions_out_of_ssa): Same.
12891 (rewrite_commutative_reductions_out_of_ssa): Same.
12892 (build_poly_scop): Do not call these functions.
12893 * graphite-sese-to-poly.h (build_poly_scop): Declared.
12894 (rewrite_reductions_out_of_ssa): Declared.
12895 (rewrite_commutative_reductions_out_of_ssa): Declared.
12896 * graphite.c (graphite_transform_loops): Call on every scop
12897 rewrite_commutative_reductions_out_of_ssa before calling
12898 rewrite_reductions_out_of_ssa and build_scop_bbs.
12899
cb5da135 129002010-08-11 Sebastian Pop <sebastian.pop@amd.com>
61ca46ce
SP
12901
12902 * graphite-dependences.c (dot_deps): Make system call to dotty run
12903 in background.
12904 (dot_deps_stmt): Same.
12905 * graphite-poly.c (dot_lst): Same.
12906
cb5da135 129072010-08-11 Sebastian Pop <sebastian.pop@amd.com>
159e4616
SP
12908
12909 * graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed
12910 phi_arg_in_outermost_loop.
12911 (remove_simple_copy_phi): Call phi_arg_in_outermost_loop.
12912 (remove_invariant_phi): Same.
12913
6cbd8875
AS
129142010-08-11 Anatoly Sokolov <aesok@post.ru>
12915
12916 * target.def (output_addr_const_extra): New hook.
12917 * doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document.
12918 * doc/tm.texi: Regenerate.
12919 * targhooks.c (default_asm_output_addr_const_extra): New function.
12920 * targhooks.h (default_asm_output_addr_const_extra): Declare.
cb1b497e 12921 * final.c (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
6cbd8875
AS
12922 target hook.
12923
12924 * config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
12925 * config/i386/i386-protos.h (output_addr_const_extra): Remove.
12926 * config/i386/i386.h (output_addr_const_extra): Rename to...
12927 (i386_asm_output_addr_const_extra): ...this. Make static.
12928 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
12929
51ba747a
RH
129302010-08-11 Richard Henderson <rth@redhat.com>
12931
12932 * config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.
12933
bfd71bc1
NC
129342010-08-11 Nick Clifton <nickc@redhat.com>
12935
12936 * config/stormy16/stormy16-lib2.c (__cmpsi2): New function.
12937 * config/stormy16/stormy16-lib2-cmpsi2.c: New file.
12938 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
12939 stormy16-lib2-cmpsi.c.
12940
12941 * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Change to
12942 -O2.
12943
481e1176
JM
129442010-08-11 Joseph Myers <joseph@codesourcery.com>
12945
12946 * opts.h (struct cl_option_handler_func): Make handler take
12947 cl_decoded_option structure as parameter, not individual elements.
12948 (struct cl_option_handlers): Make callbacks take cl_decoded_option
12949 structure as parameter, not individual elements.
12950 (handle_option): Take cl_decoded_option structure as parameter,
12951 not individual elements.
12952 (handle_generated_option): Declare.
12953 * opts-common.c (handle_option): Take cl_decoded_option structure
12954 as parameter, not individual elements. Update calls to callback
12955 and handler functions.
12956 (handle_generated_option): New.
12957 (read_cmdline_option): Update calls to callback functions and
12958 handle_option.
12959 * opts.c (common_handle_option, complain_wrong_lang,
12960 unknown_option_callback, post_handling_callback,
12961 lang_handle_option, target_handle_option): Take cl_decoded_option
12962 structure as parameter, not individual elements.
12963 (lang_handle_option, target_handle_option, common_handle_option):
12964 Assert option has at most one argument.
12965 (enable_warning_as_error): Call handle_generated_option instead of
12966 handle_option. Do not pass -Werror argument as argument of
12967 generated option.
12968
e5fbc9bf
JDA
129692010-08-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12970
12971 * config/pa/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
12972 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
12973 (SUBWORD_BOOL_CAS): Likewise.
12974 (SUBWORD_SYNC_OP): Likewise.
12975 (SUBWORD_TEST_AND_SET): Likewise.
12976 (FETCH_AND_OP_WORD): Parenthesise INF_OP
12977 (SUBWORD_SYNC_OP): Likewise.
12978 (OP_AND_FETCH_WORD): Likewise.
12979
d6fa2d17
XDL
129802010-08-10 Xinliang David Li <davidxl@google.com>
12981
12982 * tree-ssa-loop-ivopts.c (get_address_cost): Properly
12983 compute max/min offset in address.
12984
9995f209
VM
129852010-08-10 Vladimir Makarov <vmakarov@redhat.com>
12986
12987 * ira-live.c: Include sbitmap.h.
12988 (remove_some_program_points_and_update_live_ranges): Use sbitmaps.
12989 Compress live ranges even more.
12990
175a62b7
NF
129912010-08-10 Nathan Froyd <froydnj@codesourcery.com>
12992
12993 * coverage.c (ctr_labels): Delete.
12994
8f4c6e28
BS
129952010-08-10 Bernd Schmidt <bernds@codesourcery.com>
12996
12997 PR bootstrap/45177
12998 * config/arm/arm.c (multiple_operation_profitable_p): Move xscale
12999 test here from arm_gen_load_multiple_1.
13000 (arm_gen_load_multiple_1, arm_gen_store_multiple_1): Use
13001 multiple_operation_profitable_p.
13002
a72ae88a
NF
130032010-08-10 Nathan Froyd <froydnj@codesourcery.com>
13004
009c04bf 13005 * tree-ssa-pre.c (init_pre): Call alloc_aux_for_blocks.
a72ae88a
NF
13006 (fini_pre): Call free_aux_for_blocks. Delete unused bb variable.
13007
35b15a46
RH
130082010-08-10 Richard Henderson <rth@redhat.com>
13009
13010 * config/i386/i386.c (ix86_compute_frame_layout): Re-align stack
13011 after saving registers. Assert that SSE registers are only saved
13012 with a sufficiently aligned frame.
13013 (ix86_emit_save_reg_using_mov): Assert realigned only with DRAP;
13014 remove stack_realign_fp handling.
13015 (ix86_expand_prologue): Save int registers before stack_realign_fp,
13016 and do not mark the stack alignment as frame related.
13017 (ix86_expand_epilogue): SP is now invalid with stack_realign_fp.
13018
13019 * dwarf2out.c (dwarf2out_frame_debug_expr): Flush queued register
13020 saves when re-aligning the stack.
13021
a398224a
NF
130222010-08-10 Nathan Froyd <froydnj@codesourcery.com>
13023
13024 * basic-block.h (alloc_aux_for_block, alloc_aux_for_edge): Delete.
13025 * cfg.c (alloc_aux_for_block, alloc_aux_for_edge): Make static.
13026 (alloc_aux_for_blocks, clear_aux_for_blocks): Use FOR_ALL_BB.
13027
774038e6
NF
130282010-08-10 Nathan Froyd <froydnj@codesourcery.com>
13029
13030 * dwarf2out.c (struct die_struct): Move die_tag to the end.
13031
ceddf62c
SN
130322010-08-09 Sofiane Naci <sofiane.naci@arm.com>
13033
f6aa1e0f
RR
13034 * config/arm/iterators.md: New file.
13035 * config/arm/arm.md: Include iterators.md.
13036 (QHSI): Move to new file.
13037 (LTUGEU, cnb, optab, ior_xor): Likewise.
13038 * config/arm/iwmmxt.md (VMMX): Move to new file.
13039 (VSHFT, MMX_char): Likewise.
13040 * config/arm/neon.md (VD): Move to new file.
13041 (VDX, VDI, VQ, VQX, VQI, VQXMOV, VSTRUCT, VTAB, V_TAB_n, VW): Likewise.
13042 (VN, VDQ, VDQW, VDQIW, VCVTF, VCVTI, VMD, VMQ, VMDQ, VMDI): Likewise.
13043 (VMDQI, VX, VE, V64, V32, V_CVTTO, V_elem, V_ext): Likewise.
13044 (V_two_elem, V_three_elem, V_four_elem, V_req, V_widen): Likewise.
13045 (V_narrow, V_HALF, V_half,V_DOUBLE, V_double): Likewise.
13046 (V_double_width, V_cmp_result, V_if_elem, V_s_elem): Likewise.
13047 (V_u_elem, V_uf_sclr, V_sz_elem, VD_dup): Likewise.
13048 (V_PAIR, vqh_ops, vqhs_ops, VQH_mnem, VQH_sign, V_suf64): Likewise.
13049 (scalar_mul_constraint,Is_float_mode, Scalar_mul_8_16): Likewise.
13050 (Is_d_reg, V_mode_nunits): Likewise.
13051 * config/arm/vec-common.md (VALL): Move to new file.
13052 (VALLW, VINT, VINTW): Likewise.
ceddf62c 13053
5466d63d
BS
130542010-08-10 Bernd Schmidt <bernds@codesourcery.com>
13055
13056 PR middle-end/45182
13057 * combine.c (make_compound_operation): Don't try to convert
13058 shifts into multiplications for modes that aren't SCALAR_INT_MODE_P.
13059
e80c2726
RG
130602010-08-10 Richard Guenther <rguenther@suse.de>
13061
13062 * tree.h (get_object_alignment): Adjust prototype.
13063 * builtins.c (get_object_alignment): Return unsigned int,
13064 drop the align parameter. Handle MEM_REF, MISALIGNED_INDIRECT_REF
13065 and TARGET_MEM_REF properly.
13066 (get_pointer_alignment): Adjust.
13067 * emit-rtl.c (get_mem_align_offset): Adjust comment.
13068 (set_mem_attributes_minus_bitpos): Adjust.
13069 * tree-ssa-ccp.c (get_value_from_alignment): Adjust.
13070
a024390f
RG
130712010-08-10 Richard Guenther <rguenther@suse.de>
13072
13073 * tree-ssa-copy.c (set_copy_of_val): Use operand_equal_p.
13074 (copy_prop_visit_assignment): Simplify.
13075 (copy_prop_visit_stmt): Also visit assignments from
13076 constants.
13077 (copy_prop_visit_phi_node): Use operand_equal_p.
13078
ff61e417
NF
130792010-08-09 Nathan Froyd <froydnj@codesourcery.com>
13080
13081 * ipa-split.c (find_split_points): Free stack.
13082
5a351c3c
NF
130832010-08-09 Nathan Froyd <froydnj@codesourcery.com>
13084
13085 * tree.h (tree_node_kind) [perm_list_kind,temp_list_kind]: Delete.
13086 * tree.c (tree_node_kind): Delete corresponding entries.
13087
0c9510ab
L
130882010-08-09 H.J. Lu <hongjiu.lu@intel.com>
13089
13090 * alias.c (may_alias_p): Remove unused ret.
13091
c6ea834c
BM
130922010-08-09 Bingfeng Mei <bmei@broadcom.com>
13093
13094 * ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of
13095 alias_sets_conflict_p.
13096 (walk_mems_1): Moved from alias.c.
13097 (insns_may_alias_p): New function, originally insn_alias_sets_conflict_p
a96ad348 13098 in alias.c.
ef7e0035
UB
13099 (add_inter_loop_mem_dep): Use insns_may_alias_p now.
13100 * cse.c (cse_insn): New argument in calling nonoverlapping_memrefs_p.
13101 * alias.c (walk_mems_2): Moved to ddg.c.
c6ea834c
BM
13102 (walk_mems_1): Ditto.
13103 (insn_alias_sets_conflict_p): Renamed to insns_may_alias_p and moved
13104 to ddg.c.
13105 (nonoverlapping_memrefs_p): Add flag to guard offset-based memory
13106 disambiguation.
13107 *(may_alias_p): New function to check whether two memory expression
13108 may alias or not. Currently used in buidling inter-iteration memory
13109 dependence.
13110 *alias.h (nonoverlapping_memrefs_p): New flag as third argument.
13111 (insn_alias_sets_conflict_p): Removed
13112 *rtl.h (may_alias_p): New function prototype.
a96ad348 13113
72ac05b0
NF
131142010-08-09 Nathan Froyd <froydnj@codesourcery.com>
13115
13116 * tree.c (nreverse): Assert that we don't have a BLOCK.
13117
f38958e8
NF
131182010-08-09 Nathan Froyd <froydnj@codesourcery.com>
13119
13120 * builtins.c (fold_builtin_next_arg): Use stdarg_p.
13121 * config/arm/arm.c (arm_get_pcs_model): Likewise.
13122 * config/avr/avr.c (init_cumulative_args): Likewise.
13123 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
13124 * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
13125 * config/m68k/m68k.c (m68k_return_pops_args): Likewise.
13126 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
13127 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
13128 * config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
13129 * config/rs6000/rs6000.c (init_cumulative_args): Likewise.
13130 * dwarf2out.c (gen_subprogram_die): Likewise.
13131 * function.c (allocate_struct_function): Likewise.
13132 * c-aux-info.c (gen_formal_list_for_func_dec): Likewise.
13133 (deserves_ellipsis): Delete.
13134
ec64af64
RG
131352010-08-09 Richard Guenther <rguenther@suse.de>
13136
13137 * tree-ssa-copy.c (cached_last_copy_of): Remove.
13138 (valueize_val): New function.
13139 (get_last_copy_of): Remove.
13140 (set_copy_of_val): Simplify.
13141 (dump_copy_of): Likewise.
13142 (copy_prop_visit_cond_stmt): Use valueize_val.
13143 (copy_prop_visit_phi_node): Properly handle unvisited names.
13144 Drop code managing copy-of chains.
13145 (init_copy_prop): Adjust.
13146 (fini_copy_prop): Likewise.
13147 (execute_copy_prop): Remove obsolete comment.
13148
37609bf0
RG
131492010-08-09 Richard Guenther <rguenther@suse.de>
13150
13151 PR middle-end/44632
13152 * function.c (gimplify_parameters): Do not clear addressable
13153 bit of the original parameter.
13154
3e32c761
RG
131552010-08-09 Richard Guenther <rguenther@suse.de>
13156
13157 PR middle-end/45212
13158 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust
13159 alignment from MEM_REF offset only if we took it from the
13160 base object.
13161
74164603 131622010-08-09 Eric Fisher <joefoxreal@gmail.com>
cee00e22
EF
13163
13164 * doc/sourcebuild.texi (vect_int_mult): Remove duplicate entry.
13165
b3399d18
NF
131662010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13167
13168 * c-tree.h (build_arg_info): Declare.
13169 * c-decl.c (build_arg_info): Define.
13170 (get_parm_info): Call it. Delete initialization code.
13171 * c-parser.c (c_parser_parms_declarator): Likewise.
13172 (c_parser_parms_list_declaractor): Likewise.
13173
e60bf9d4
NF
131742010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13175
13176 * c-tree.h (c_arg_tag): Define. Define a VEC containing it.
13177 (struct c_arg_info): Change type of tags field.
13178 * c-decl.c (grokdeclarator): Update for changed type of tags field.
13179 (get_parm_info): Likewise.
13180 (store_parm_decls_newstyle): Likewise.
13181
e7c64c7d
NF
131822010-08-08 Nathan Froyd <froydnj@codesourcery.com>
13183
13184 * config/rs6000/rs6000.c (branch_island): Define. Define a VEC of it.
13185 (branch_island_list): Delete.
13186 (branch_islands): Declare.
13187 (add_compiler_branch_island): Adjust for branch_islands instead of
13188 branch_island_list.
13189 (macho_branch_islands): Likewise.
13190 (no_previous_def): Likewise.
13191 (get_prev_label): Likewise.
13192
cf00499e
JDA
131932010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13194
13195 PR boehm-gc/34544
13196 * gthr-posix.h (__gthread_start): Delete.
13197 (__gthread_active_init): Use pthread_default_stacksize_np instead of
13198 pthread_create to determine if hpux pthreads are active.
13199 * gthr-posix95.h (__gthread_start): Delete.
13200 (__gthread_active_init): Likewise use pthread_default_stacksize_np.
13201
1159da44
KT
132022010-08-08 Kai Tietz <kai.tietz@onevision.com>
13203
13204 * config/i386/mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define
13205 _WIN64 not expanded.
13206
f6ddf131
UB
132072010-08-07 Uros Bizjak <ubizjak@gmail.com>
13208 H.J. Lu <hongjiu.lu@intel.com>
13209
13210 PR target/45213
13211 * config/i386/i386.c (ix86_print_operand): Handle 'q' operand modifier
13212 to output 32bit SFmode immediate as 8 byte sign extended value.
13213
17fec01d
MS
132142010-08-07 Marcus Shawcroft <marcus.shawcroft@arm.com>
13215
13216 * config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
13217 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
13218 (SUBWORD_BOOL_CAS): Likewise.
13219 (SUBWORD_SYNC_OP): Likewise.
13220 (SUBWORD_TEST_AND_SET): Likewise.
13221 (FETCH_AND_OP_WORD): Parenthesise INF_OP
13222 (SUBWORD_SYNC_OP): Likewise.
13223 (OP_AND_FETCH_WORD): Likewise.
13224
b0c13111
RR
132252010-08-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13226
f6ddf131
UB
13227 * config/arm/cortex-a9.md: Rewrite VFP Pipeline description.
13228 * config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost.
13229 (arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise.
13230 (arm_adjust_cost): Split into xscale_sched_adjust_cost and a
13231 generic part.
13232 (cortex_a9_sched_adjust_cost): New function.
13233 (xscale_sched_adjust_cost): New function.
13234 * config/arm/arm-protos.h (struct tune_params): New field
13235 sched_adjust_cost.
13236 * config/arm/arm-cores.def: Adjust costs for cortex-a9.
b0c13111 13237
e0c7ff23
EB
132382010-08-06 Eric Botcazou <ebotcazou@adacore.com>
13239
13240 PR target/44942
13241 * config/sparc/sparc.c (function_arg_advance): Always take into account
13242 the padding, if any.
13243
0b4b14ac
RG
132442010-08-06 Richard Guenther <rguenther@suse.de>
13245
13246 * tree-ssa-ccp.c (struct prop_value_d): Add mask member.
13247 (dump_lattice_value): Dump it.
13248 (get_default_value): Adjust.
13249 (get_constant_value): Likewise.
13250 (set_value_varying): Likewise.
13251 (set_lattice_value): Make sure to not go up the lattice
13252 with bitwise constant values.
13253 (get_value_for_expr): Handle ADDR_EXPRs.
13254 (value_to_double_int): New function.
13255 (get_value_from_alignment): Likewise.
13256 (do_dbg_cnt): Adjust.
13257 (ccp_lattice_meet): Handle partially constant values.
13258 (bit_value_unop_1): New function.
13259 (bit_value_binop_1): Likewise.
13260 (bit_value_unop): Likewise.
13261 (bit_value_binop): Likewise.
13262 (evaluate_stmt): Track partially constant values if
13263 flag_tree_bit_ccp is set.
13264 (ccp_fold_stmt): Dump if we folded a predicate.
13265 (ccp_visit_stmt): Adjust.
13266 * common.opt (ftree-bit-ccp): New flag.
13267 * doc/invoke.texi (ftree-bit-ccp): Document.
13268 * opts.c (decode_options): Enable bit-CCP at -O1.
13269
4942323e
AM
132702010-08-06 Alan Modra <amodra@gmail.com>
13271
13272 * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
13273 and -mrelocatable-lib description.
13274
5444da31
BS
132752010-08-05 Bernd Schmidt <bernds@codesourcery.com>
13276
13277 From Martin Thuresson <martint@google.com>
13278 * postreload.c (reload_cse_simplify_operands): Use
13279 SET_REGNO_RAW instead of SET_REGNO.
13280 * caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
13281 SET_REGNO.
13282 * ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
13283 instead of SET_REGNO.
13284 * rtl.h (SET_REGNO_RAW): New macro.
13285
c04fc4f0
EB
132862010-08-05 Eric Botcazou <ebotcazou@adacore.com>
13287
13288 * rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
13289 computations. Fix formatting issues.
13290 (num_sign_bit_copies1): Likewise.
13291 (canonicalize_condition): Likewise.
13292
bd95721f
RH
132932010-08-05 Richard Henderson <rth@redhat.com>
13294
13295 * toplev.h (ctz_hwi, clz_hwi, ffs_hwi): New.
13296 (floor_log2): Use clz_hwi.
13297 (exact_log2): Use ctz_hwi.
13298 * toplev.c (ctz_hwi, clz_hwi, ffs_hwi): New.
13299 * builtins.c (fold_builtin_bitop): Use them.
13300 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
13301 * combine.c (get_pos_from_mask): Use ctz_hwi.
13302 * double-int.c (double_int_ctz): Likewise.
13303 * explow.c (force_reg): Likewise.
13304 * tree.h (SET_DECL_OFFSET_ALIGN): Use ffs_hwi.
13305
55b324a6
RH
133062010-08-05 Richard Henderson <rth@redhat.com>
13307
13308 PR target/45189
13309 * config/i386/i386.c (ix86_emit_save_reg_using_mov): Make sure
13310 the alignment constant is properly sign-extended.
13311
29e9efdf
RG
133122010-08-05 Richard Guenther <rguenther@suse.de>
13313
13314 * expr.c (store_expr): Use emit_block_move only if both
13315 source and target are MEMs. Use store_bit_field if only
13316 the target is a MEM.
13317
c3576fa7
RH
133182010-08-05 Richard Henderson <rth@redhat.com>
13319
55b324a6 13320 PR debug/45188
c3576fa7
RH
13321 * dwarf2out.c (DWARF2_UNWIND_INFO): Provide default definition.
13322 (INCOMING_RETURN_ADDR_RTX): Likewise.
13323 (dwarf2out_do_frame): Remove conditional compilation.
13324 (dwarf2out_frame_init): Likewise.
13325
acdb4da7
NS
133262010-08-05 Nicolas Setton <setton@adacore.com>
13327
13328 * gcov.c (flag_display_progress): New static variable.
13329 (main): Display progress info on standard output if requested.
13330 (options): Add -d/--display-progress.
13331 (print_usage): Print them.
13332 (process_args): Handle them.
13333 * doc/gcov.texi: Document them.
13334
3e66255c
MJ
133352010-08-05 Martin Jambor <mjambor@suse.cz>
13336
13337 * ipa-cp.c (ipcp_discover_new_direct_edges): New function.
13338 (ipcp_insert_stage): Redirect only edges not flagged with
13339 indirect_inlining_edge. Call ipcp_discover_new_direct_edges for all
13340 discovered constants.
13341
3949c4a7
MJ
133422010-08-05 Martin Jambor <mjambor@suse.cz>
13343
13344 * ipa-prop.h (enum ipa_lattice_type): Changed comments.
13345 (struct ipa_param_descriptor): New fields types and
13346 cannot_devirtualize.
13347 (ipa_param_cannot_devirtualize_p): New function.
13348 (ipa_param_types_vec_empty): Likewise.
13349 (ipa_make_edge_direct_to_target): Declare.
13350 * ipa-cp.c: Fixed first stage driver name in initial comment,
13351 described devirtualization there too.
13352 (ipcp_analyze_node): Call ipa_analyze_params_uses.
13353 (ipcp_print_all_lattices): Print devirtualization info.
13354 (ipa_set_param_cannot_devirtualize): New function.
13355 (ipcp_initialize_node_lattices): Set cannot_devirtualize when setting
13356 lattice to BOTTOM.
13357 (ipcp_init_stage): Merged into...
13358 (ipcp_generate_summary): ...its caller.
13359 (ipcp_change_tops_to_bottom): Also process type lists.
13360 (ipcp_add_param_type): New function.
13361 (ipcp_copy_types): Likewise.
13362 (ipcp_propagate_types): Likewise.
13363 (ipcp_propagate_stage): Also propagate types.
13364 (ipcp_need_redirect_p): Variable jump_func moved to its scope block.
13365 Also return true if propagated types require it.
13366 (ipcp_update_callgraph): Dump redirection info.
13367 (ipcp_process_devirtualization_opportunities): New function.
13368 (ipcp_const_param_count): Include known type information.
13369 (ipcp_insert_stage): Call ipcp_process_devirtualization_opportunities
13370 on new node. Fixed formatting.
13371 * ipa-prop.c (make_edge_direct_to_target): Renamed to
13372 ipa_make_edge_direct_to_target and changed all callers. Made
13373 externally visible.
13374 (ipa_node_duplication_hook): Duplicate types vector.
13375 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Also try to
13376 redirect outgoing calls for which we can't get a decl from the
13377 statement. Check that we can get a decl from the call statement.
13378 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
13379 ipa_analyze_params_uses only when ipa-cp is disabled.
13380 * tree-inline.c (get_indirect_callee_fndecl): Removed.
13381 (expand_call_inline): Do not call get_indirect_callee_fndecl.
13382 * params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): New parameter.
13383 * Makefile.in (ipa-cp.o): Add gimple.h to dependencies.
13384
4caa21a1
UB
133852010-08-05 Uros Bizjak <ubizjak@gmail.com>
13386
13387 * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
13388 temporary. Emit move from temporary to accum, so REG_EQUAL note will
13389 be attached to this insn in correct mode.
13390
a5b2e0ef
UB
133912010-08-05 Uros Bizjak <ubizjak@gmail.com>
13392
13393 * config/i386/i386.c (ix86_decompose_address): Check for SI_REG
13394 using REGNO of base_reg directly.
13395
36b86f4a
JZ
133962010-08-05 Jie Zhang <jie@codesourcery.com>
13397
13398 PR tree-optimization/45144
13399 * tree-sra.c (type_consists_of_records_p): Return false
13400 if the record contains bit-field.
13401
9bf40564
RH
134022010-08-04 Richard Henderson <rth@redhat.com>
13403
106c3c10
RH
13404 * config/i386/i386.c (struct ix86_frame): Remove padding and
13405 to_allocate members.
13406 (ix86_compute_frame_layout): Don't store them.
13407 (ix86_can_use_return_insn_p): Use a more direct and more obviously
13408 correct condition for the position of the stack pointer.
13409 (ix86_expand_prologue): Compute remaining stack allocation based
13410 on the ultimate stack pointer offset.
13411 (ix86_expand_epilogue): Use more obvious expressions testing for
13412 the stack pointer already pointing to the saved registers.
13413
87ec2632
RH
13414 * config/i386/i386.c (ix86_expand_epilogue): Eliminate code
13415 duplication deconstructing the frame pointer. Simplify
13416 deallocation of the local stack frame.
13417
c9f4c451
RH
13418 * reg-notes.def (CFA_EXPRESSION): New.
13419 * dwarf2out.c (dwarf2out_frame_debug): Handle it.
13420 (dwarf2out_frame_debug_cfa_expression): New.
13421 (dwarf2out_frame_debug_def_cfa): Handle simple MEMs.
13422
13423 * config/i386/i386.h (struct machine_frame_state): Add realigned flag.
13424 * config/i386/i386.c (ix86_expand_prologue): Set it.
13425 (ix86_expand_epilogue): Clear it.
13426 (ix86_emit_save_reg_using_mov): For registers saved in a realigned
13427 context, add REG_CFA_EXPRESSION notes.
13428
ec7ded37
RH
13429 * config/i386/i386.h (struct machine_frame_state): Rename from
13430 machine_cfa_state. Add members tracking SP and FP regardless
a5b2e0ef 13431 of the current CFA register.
ec7ded37
RH
13432 (ix86_cfa_state): Remove.
13433 * config/i386/i386.c (struct ix86_frame): Add reg_save_offset
13434 and sse_reg_save_offset members.
13435 (ix86_compute_frame_layout): Set them.
13436 (gen_push): Increment sp_offset too.
13437 (choose_baseaddr_len, choose_baseaddr): New.
13438 (ix86_emit_save_reg_using_mov): New.
13439 (ix86_emit_save_regs_using_mov): Use it.
13440 (ix86_emit_save_sse_regs_using_mov): Likewise.
13441 (ix86_add_cfa_restore_note): Take cfa_offset not red_offset argument;
13442 compare vs the saved red_zone_offset.
13443 (pro_epilogue_adjust_stack): Adjust sp_offset.
13444 (ix86_adjust_stack_and_probe): Likewise.
13445 (ix86_expand_prologue): Set up, use, and validate the new
13446 frame_state_info members. Use gen_frame_mem.
13447 (ix86_emit_restore_regs_using_pop): Remove red_offset parameter.
13448 (ix86_emit_restore_reg_using_pop): Likewise. Use and update the
13449 new frame_state_info members.
13450 (ix86_emit_leave): Likewise.
13451 (ix86_emit_restore_regs_using_mov): Likewise. Don't check for
13452 out-of-range stack pointer offsets here.
13453 (ix86_emit_restore_sse_regs_using_mov): Likewise.
13454 (ix86_expand_epilogue): Use and validate the new frame_state_info
13455 members. Break up and simplify the logic selecting the
13456 restore_regs_via_mov code path. Ensure that there will be no
13457 out-of-range stack pointer offsets.
13458
17959958
RH
13459 * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Remove.
13460
e8dc4658
RH
13461 * config/i386/i386.c (ix86_function_ms_hook_prologue): Fix
13462 argument name to reflect the expected tree; fix indentation.
13463 (ix86_asm_output_function_label): Output the entire 32-bit
13464 ms_hook here as bytes ...
13465 (ix86_expand_prologue): ... not here as insns. Attach the
13466 unwind info for the ms_hook to a blockage insn.
13467 (ix86_handle_fndecl_attribute): Don't check HAVE_AS_IX86_SWAP.
13468 (ix86_ms_bitfield_layout_p): Fix indentation.
13469 * config/i386/i386.md (UNSPECV_VSWAPMOV, vswapmov): Remove.
13470
25502041
RH
13471 * config/i386/i386.c (ix86_using_red_zone): New.
13472 (ix86_compute_frame_layout, ix86_add_cfa_restore_note,
13473 ix86_expand_prologue, ix86_force_to_memory): Use it.
13474
cdcb5f26
RH
13475 * config/i386/i386.c (ix86_expand_prologue): Simplify logic
13476 saving the int registers.
13477
9bf40564
RH
13478 * dwarf2out.c: Remove most of the DWARF2_DEBUGGING_INFO
13479 and DWARF2_UNWIND_INFO conditional compilation.
13480
e78f1a3f
RH
134812010-08-04 Richard Henderson <rth@redhat.com>
13482
13483 PR debug/45171
13484 * dwarf2out.c (gen_typedef_die): Don't re-generate the die of
13485 an is_naming_typedef_decl.
13486
fde157f2
BS
134872010-08-04 Bernd Schmidt <bernds@codesourcery.com>
13488
13489 PR rtl-optimization/45162
13490 * df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs.
13491 * dce.c (word_dce_process_block): Likewise.
13492
33974673
SE
134932010-08-04 Steve Ellcey <sje@cup.hp.com>
13494
13495 PR target/44583
13496 * config/ia64/constraints.md (Z): New.
13497 * config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New.
13498 (xfreg_or_signed_fp01_operand): New.
13499 * config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand
13500 with fr_reg_or_signed_fp01_operand and constraint G with Z.
13501 (subsf3): Ditto.
13502 (*maddsf4): Ditto.
13503 (*msubsf4): Ditto.
13504 (adddf3): Ditto.
13505 (adddf3_trunc): Ditto.
13506 (subdf3): Ditto.
13507 (*subdf3_trunc): Ditto.
13508 (*madddf4): Ditto.
13509 (*madddf4_trunc): Ditto.
13510 (*msubdf4): Ditto.
13511 (*msubdf4_trunc): Ditto.
13512 (addxf3): Replace xfreg_or_fp01_operand with
13513 xfreg_or_signed_fp01_operand and constraint G with Z.
13514 (*addxf3_truncsf): Ditto.
13515 (*addxf3_truncdf): Ditto.
13516 (subxf3): Ditto.
13517 (*subxf3_truncsf): Ditto.
13518 (*subxf3_truncdf): Ditto.
13519 (*maddxf4): Ditto.
13520 (*maddxf4_truncsf): Ditto.
13521 (*maddxf4_truncdf): Ditto.
13522 (*msubxf4): Ditto.
13523 (*msubxf4_truncsf): Ditto.
13524 (*msubxf4_truncdf): Ditto.
13525
55e3bc4c
RG
135262010-08-04 Richard Guenther <rguenther@suse.de>
13527
13528 * alias.c (rtx_refs_may_alias_p): Do not resort to TBAA
13529 if either alias-set is zero.
13530
455e6d5b
RG
135312010-08-04 Richard Guenther <rguenther@suse.de>
13532
13533 * tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ...
13534 * tree-ssa-ccp.c: ... here.
13535 * tree-ssa-copy.c: ... and here.
a5b2e0ef 13536 * tree-ssa-propagate.h (enum value_range_type, struct value_range_d,
455e6d5b
RG
13537 value_range_t): Move ...
13538 * tree-vrp.c: ... here.
13539 * tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef.
13540 (substitute_and_fold): Adjust prototype.
13541 * tree-ssa-propagate.c (replace_uses_in): Adjust.
13542 (replace_phi_args_in): Likewise.
13543 (substitute_and_fold): Take callback to query lattice instead
13544 of pointer to lattice. Replace SSA name defs with lattice
13545 values first.
13546 * tree-ssa-ccp.c (ccp_finalize): Adjust.
13547 * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust.
13548 (get_value): New function.
13549 (fini_copy_prop): Adjust.
13550 * tree-vrp.c (vrp_finalize): Adjust.
13551
48176d81
RG
135522010-08-04 Richard Guenther <rguenther@suse.de>
13553
13554 PR middle-end/45176
13555 * expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF
13556 points-to set for original MEM_REF.
13557
84d77ca6
RG
135582010-08-04 Richard Guenther <rguenther@suse.de>
13559
13560 * tree-ssa-ccp.c (get_constant_value): New function.
13561 (get_rhs_assign_op_for_ccp): Remove.
13562 (valueize_op): New function.
13563 (ccp_fold): Use get_constant_value and valueize_op.
13564 (fold_const_aggregate_ref): Likewise.
13565 (ccp_fold_stmt): Likewise.
13566 (visit_assignment): Simplify.
13567
552cbe64
RG
135682010-08-04 Richard Guenther <rguenther@suse.de>
13569
13570 * Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.
13571 * double-int.h (double_int_ctz): Declare.
13572 * double-int.c (double_int_ctz): New function.
13573
74164603 135742010-08-04 Hariharan Sandanagobalane <hariharan@picochip.com>
31af8367
HS
13575
13576 * config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
13577 Define.
13578 picochip_expand_movmemhi : Expand movmem pattern.
13579 * config/picochip/picochip-protos.h (picochip_expand_movmemhi) :
13580 Declare.
13581 * config/picochip/picochip.md (movmemhi) : New pattern.
13582
f39cd38b
UB
135832010-08-03 Uros Bizjak <ubizjak@gmail.com>
13584
13585 * config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.
13586
29b40d79
BS
135872010-08-03 Bernd Schmidt <bernds@codesourcery.com>
13588
13589 * simplify-rtx.c (simplify_binary_operation_1): Try to simplify away
13590 NEG as operand of a MULT by merging it with the other operand.
13591 * combine.c (make_compound_operation): Use trunc_int_for_mode when
13592 generating a MULT with constant. Canonicalize PLUS and MINUS involving
13593 MULT.
13594 * config/arm/constraints.md (M): Examine only 32 bits of a
13595 HOST_WIDE_INT.
13596 * config/arm/predicates.md (power_of_two_operand): Likewise.
13597
051de0eb
UW
135982010-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13599
13600 * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
13601 non-NOTE insns.
13602
241a2b9e
JH
136032010-08-03 Jan Hubicka <jh@suse.cz>
13604
13605 * ipa-split.c (struct split_point): Add split_part_set_retval.
13606 (find_retval): Forward declare.
13607 (test_nonssa_use, mark_nonssa_use): Special case return by reference.
13608 (consider_split): Compute current->split_part_set_retval.
13609 (visit_bb): Do not look into return value.
13610 (split_function): Handle !split_part_set_retval
13611
fc734382
MJ
136122010-08-03 Martin Jambor <mjambor@suse.cz>
13613
13614 * tree-sra.c (completely_scalarize_record): New parameter REF, create
13615 its own access->expr intead of using build_ref_for_offset.
13616
1890bccc
JM
136172010-08-03 Joseph Myers <joseph@codesourcery.com>
13618
13619 * config/alpha/alpha.h (SWITCH_TAKES_ARG): Define.
13620 * config/alpha/osf5.h (LIB_SPEC): Don't handle -a.
f39cd38b 13621 * config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G* options.
1890bccc
JM
13622 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework.
13623 * config/ia64/ia64.h (SWITCH_TAKES_ARG): Define.
13624 * config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove.
13625 * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using
13626 DEFAULT_SWITCH_TAKES_ARG.
13627 * config/rx/rx.opt (-patch=): Remove option.
13628 * config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_.
13629 * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib.
13630 * doc/invoke.texi (RX Options): Remove -patch=.
13631 * gcc.c (cc1_options): Pass -aux-info* instead of -a* options.
13632 (option_map): Remove --profile-blocks, --quiet and --silent.
13633
dc91d892
UB
136342010-08-03 Uros Bizjak <ubizjak@gmail.com>
13635
13636 * config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
13637 * config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove.
13638 (ix86_expand_branch): Add op0 and op1 arguments. Do not access
13639 ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
13640 Update calls to ix86_expand_compare and ix86_expand_branch.
13641 (ix86_expand_setcc): Add op0 and op1 arguments. Update calls to
13642 ix86_expand_compare.
13643 (ix86_expand_compare): Add op0 and op1 arguments. Do not access
13644 ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
13645 Make static.
13646 (ix86_expand_carry_flag_compare): Do not set ix86_compare_op0
13647 and ix86_compare_op1. Update calls to ix86_expand_compare.
13648 (ix86_expand_int_movcc): Ditto.
13649 (ix86_expand_fp_movcc): Ditto. Update calls to ix86_expand_setcc.
13650 * config/i386/i386-protos.h (ix86_expand_branch): Update prototype.
13651 (ix86_expand_setcc): Ditto.
13652 (ix86_expand_compare): Remove prototype.
13653 * config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set
13654 ix86_compare_op0 and ix86_compare_op1. Update calls
13655 to ix86_expand_branch to directly pass operands[1] and operands[2].
13656 (cbranchxf4): Ditto.
13657 (cbranch<MODEF:mode>4): Ditto.
13658 (cbranchcc4): Ditto.
13659 (cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1.
13660 Update calls to ix86_expand_setcc to directly pass operands[2] and
13661 operands[3].
13662 (cstorexf4): Ditto.
13663 (cstore<MODEF:mode>4): Ditto.
13664 (cstorecc4): Ditto.
13665
14292418
BS
136662010-08-02 Bernd Schmidt <bernds@codesourcery.com>
13667
13668 PR target/45063
13669 * caller-save.c (save_call_clobbered_regs): Remove regs from
13670 hard_regs_saved when they are set.
13671
fea8c257
UB
136722010-08-02 Uros Bizjak <ubizjak@gmail.com>
13673
13674 PR target/41089
13675 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
13676 as volatile.
13677
20769d5e
SP
136782010-08-02 Sebastian Pop <sebastian.pop@amd.com>
13679
13680 * common.opt (ftree-loop-distribute-patterns): New.
13681 * invoke.texi (-ftree-loop-distribute-patterns): Documented.
13682 * opts.c (decode_options): Enable flag_tree_loop_distribute_patterns
13683 at -O3.
13684 * tree-data-ref.c (stores_zero_from_loop): New.
13685 * tree-data-ref.h (stores_zero_from_loop): Declared.
13686 * tree-loop-distribution.c (tree_loop_distribution): Call
13687 stores_zero_from_loop.
13688 (tree_loop_distribution): Check flag_tree_loop_distribute_patterns.
13689
f37e278a
BS
136902010-08-02 Bernd Schmidt <bernds@codesourcery.com>
13691
13692 * postreload.c (reload_cse_simplify_operands): Take attribute enabled
13693 into account.
13694
906668bb
BS
13695 * final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
13696 * config/arm/arm.c (thumb1_code): New variable.
13697 (arm_override_options): Set it.
13698 (thumb1_final_prescan_insn): Keep track of condition code status.
13699 (arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
13700 jumps that depend on them.
13701 * config/arm/arm.h (thumb1_code): Declare variable.
13702 (struct machine_function): Guard with #ifndef GENERATOR_FILE. Add
13703 members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
13704 thumb1_cc_mode.
13705 (CC_STATUS_INIT): New macro.
13706 * config/arm/constraints.md (Pd): New constraint.
13707 * config/arm/predicates.md (noov_comparison_operator): New predicate.
13708 * config/arm/arm.md (is_thumb1): New define_attr.
13709 (conds): Set default to "clob" when generating Thumb1 code.
13710 (thumb1_bicsi3): Renamed from bicsi3. All uses changed. Condition
13711 code are set. Use two-operand assembly syntax.
13712 (thumb1_subsi3_insn): Condition codes are set. Now a properly named
13713 pattern.
13714 (thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
13715 codes are set. Use two-operand assembly syntax.
13716 (zero_extendhisi splitter): Remove constraints.
13717 (thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
13718 thumb1_movsf_insn): Set conds attribute as appropriate.
13719 (cbranchsi4_insn): Use condition code status from struct
13720 machine_function to determine whether the comparison can be eliminated.
13721 Discourage the alternative using high registers.
13722 (movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
13723 orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
13724 bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
13725 subsi3_cbranch): Delete.
13726 (movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
13727 one subtract and one cbranch insn.
13728
0bd44ba2
BS
13729 * config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn,
13730 thumb2_movdf_soft_insn): Delete patterns.
13731 * config/arm/arm.md (arm_pool_range, thumb2_pool_range,
13732 arm_neg_pool_range, thumb2_neg_pool_range): New attributes.
13733 (pool_range, neg_pool_range): Use them to define defaults.
13734 (movdi, arm_movsf_soft_insn, arm_movdf_soft_insn): Define them
13735 and allow for TARGET_32BIT.
13736
37119410
BS
13737 PR target/40457
13738 * config/arm/arm.h (arm_regs_in_sequence): Declare.
13739 * config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq,
13740 load_multiple_sequence, store_multiple_sequence): Delete
13741 declarations.
13742 (arm_gen_load_multiple, arm_gen_store_multiple): Adjust
13743 declarations.
13744 * config/arm/ldmstm.md: New file.
13745 * config/arm/arm.c (arm_regs_in_sequence): New array.
13746 (load_multiple_sequence): Now static. New args SAVED_ORDER,
13747 CHECK_REGS. All callers changed.
13748 If SAVED_ORDER is nonnull, copy the computed order into it.
13749 If CHECK_REGS is false, don't sort REGS. Handle Thumb mode.
13750 (store_multiple_sequence): Now static. New args NOPS_TOTAL,
13751 SAVED_ORDER, REG_RTXS and CHECK_REGS. All callers changed.
13752 If SAVED_ORDER is nonnull, copy the computed order into it.
13753 If CHECK_REGS is false, don't sort REGS. Set up REG_RTXS just
13754 like REGS. Handle Thumb mode.
13755 (arm_gen_load_multiple_1): New function, broken out of
13756 arm_gen_load_multiple.
13757 (arm_gen_store_multiple_1): New function, broken out of
13758 arm_gen_store_multiple.
13759 (arm_gen_multiple_op): New function, with code from
13760 arm_gen_load_multiple and arm_gen_store_multiple moved here.
13761 (arm_gen_load_multiple, arm_gen_store_multiple): Now just
13762 wrappers around arm_gen_multiple_op. Remove argument UP, all callers
13763 changed.
13764 (gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions.
13765 * config/arm/predicates.md (commutative_binary_operator): New.
13766 (load_multiple_operation, store_multiple_operation): Handle more
13767 variants of these patterns with different starting offsets. Handle
13768 Thumb-1.
13769 * config/arm/arm.md: Include "ldmstm.md".
13770 (ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2,
13771 ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1,
13772 stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related
13773 peepholes): Delete.
13774 * config/arm/ldmstm.md: New file.
13775 * config/arm/arm-ldmstm.ml: New file.
13776
13cc4787
BS
13777 * config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
13778 if statement which adds extra costs to frame-related expressions.
13779
0eeeef07
RR
137802010-08-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13781
13782 * config/arm/arm.c (COSTS_N_INSNS): Remove definition.
13783
22db1fbc
UB
137842010-08-01 Uros Bizjak <ubizjak@gmail.com>
13785
13786 PR target/45142
13787 * config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for
13788 alternative 2.
b146446c 13789 (vec_set<mode>_0 splitter): Use SSEMODE4S mode iterator to also
22db1fbc
UB
13790 split V4SI operands.
13791
501d087d
AS
137922010-08-01 Anatoly Sokolov <aesok@post.ru>
13793
13794 * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
13795 * config/mmix/mmix-protos.h (mmix_asm_output_source_filename): Remove.
13796 * config/mmix/mmix.c (mmix_asm_output_source_filename): Make static.
13797 (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
13798
da46381f
KT
137992010-07-31 Kai Tietz <kai.tietz@onevision.com>
13800
13801 * cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before
13802 LOCAL_INCLUDE_DIR.
13803
9eab7f91
RS
138042010-07-31 Richard Sandiford <rdsandiford@googlemail.com>
13805
13806 * tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type
13807 used in the call to optab_for_tree_code. Fix the second
13808 is_widening_mult_p call. Check that both unwidened operands
13809 have the same sign.
13810
6601202c
JT
138112010-07-31 John Tytgat <John.Tytgat@aaug.net>
13812
13813 * config/arm/arm.c (arm_function_arg): Remove superfluous test.
13814
08cbf291
AS
138152010-07-31 Anatoly Sokolov <aesok@post.ru>
13816
13817 * config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
13818
cf6521b4
DD
138192010-07-30 DJ Delorie <dj@redhat.com>
13820
13821 * config/rx/predicates.md (rx_constshift_operand): New.
13822 * config/rx/rx.md (zs_cond): New.
13823 (cbranchsi4): Remove mode.
13824 (*cbranchsi4_<code>): Likewise.
13825 (*tstbranchsi4_<code>): New.
13826 (*tstbranchsi4r_<code>): New.
13827 (*tstbranchsi4m_eq): New.
13828 (*tstbranchsi4m_ne): New.
13829 (cbranchsf4): Remove mode.
13830 (*cbranchsf4_<code>): Likewise.
13831
d4e0d036
BS
138322010-07-30 Bernd Schmidt <bernds@codesourcery.com>
13833
13834 * rtlanal.c (simplify_subreg_regno): Don't treat
13835 HARD_FRAME_POINTER_REGNUM specially.
13836
34251c0e
JM
138372010-07-30 Joseph Myers <joseph@codesourcery.com>
13838
13839 * common.opt (-G): Don't define option here.
13840 * config/g.opt: New.
13841 * config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips,
13842 rs6000/powerpc and score targets.
13843 * opts.c (common_handle_option): Don't handle -G here.
13844 * config/alpha/alpha.c (alpha_handle_option): Handle -G.
13845 * config/frv/frv.c (frv_handle_option): Handle -G.
13846 * config/ia64/ia64.c (ia64_handle_option): Handle -G.
22db1fbc 13847 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New.
34251c0e
JM
13848 * config/m32r/m32r.c (m32r_handle_option): Handle -G.
13849 * config/mips/mips.c (mips_handle_option): Handle -G.
13850 * config/rs6000/rs6000.c (rs6000_handle_option) Handle -G.
13851 * config/score/score.c (score_handle_option): Handle -G.
13852
2d5bfc67
AS
138532010-07-30 Anatoly Sokolov <aesok@post.ru>
13854
13855 * config/mmix/mmix.c: Include basic-block.h.
13856
f0fc0803
JJ
138572010-07-30 Jakub Jelinek <jakub@redhat.com>
13858
13859 PR debug/45055
13860 PR rtl-optimization/45137
13861 * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
13862 prototypes.
13863 * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
13864 New functions.
13865 * combine.c (next_nonnote_nondebug_insn): Removed.
13866 * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
13867 * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
13868 * sched-deps.c (sched_analyze_insn): Likewise.
13869 (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
13870 * rtlanal.c (canonicalize_condition): Likewise.
13871 * postreload.c (reload_combine_recognize_pattern): Likewise.
13872 (reload_cse_move2add): Use next_nonnote_nondebug_insn.
13873
f53ea4f0
UB
138742010-07-29 Uros Bizjak <ubizjak@gmail.com>
13875
13876 * config/i386/i386.md (int_cond): Remove code iterator.
13877 (fp_cond): Ditto.
13878 (cbranch<mode>4): Use ordered_comparison_operator predicate
13879 for operator0.
13880 (cstore<mode>4): Ditto for operator1.
8aadc2f3
UB
13881 (mov<SWIM:mode>cc and corresponding splitter): Ditto.
13882 (add<mode>cc): ditto.
f53ea4f0 13883
1f60f74e
RG
138842010-07-30 Richard Guenther <rguenther@suse.de>
13885
13886 PR middle-end/45141
13887 * expr.c (expand_expr_real_1): Check for not handled base address.
13888
4eb3f32c
RG
138892010-07-30 Richard Guenther <rguenther@suse.de>
13890
13891 * ipa-prop.c (ipa_modify_formal_parameters): Use
13892 build_distinct_type_copy.
13893
1242723c
AG
138942010-07-30 Anthony Green <green@moxielogic.com>
13895
13896 * config/moxie/rtems.h: New file.
13897 * config.gcc: Add moxie-rtems support.
13898
25aef556
BS
138992010-07-29 Bernd Schmidt <bernds@codesourcery.com>
13900
13901 * dce.c (run_word_dce): Take flag_dce into account. Clear and restore
13902 df flags as in run_fast_df_dce.
13903
0f953f83
JJ
139042010-07-29 Jakub Jelinek <jakub@redhat.com>
13905
13906 Revert:
f53ea4f0
UB
13907 2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
13908
0f953f83 13909 * rtl.def (NOTE): Swap operands 4 and 5.
f53ea4f0 13910 * rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK,
0f953f83
JJ
13911 NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND):
13912 Adjust accordingly.
f53ea4f0 13913 * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs.
0f953f83 13914
8b522bef
JJ
139152010-07-29 Jakub Jelinek <jakub@redhat.com>
13916
13917 PR debug/45110
13918 * dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer.
13919 (gen_formal_types_die): Add DW_AT_object_pointer in methods.
13920 (gen_subprogram_die): Likewise. Remove it when removing declaration's
13921 formal parameters.
13922 (gen_decl_die): Change return type to dw_die_ref, return what
13923 gen_formal_parameter_die returned.
13924
a1a6c2df
MJ
139252010-07-29 Martin Jambor <mjambor@suse.cz>
13926
13927 * dbgcnt.def (eipa_sra): New counter.
13928 * tree-sra.c (ipa_early_sra_gate): Also check eipa_sra debug counter.
13929
0c5bb946
XDL
139302010-07-29 Xinliang David Li <davidxl@google.com>
13931
13932 PR bootstrap/45119
13933 * tree-ssa-loop-ivopts.c (get_address_cost): Revert change
13934 in revision 162652.
13935
2c2fbff7
RG
139362010-07-29 Richard Guenther <rguenther@suse.de>
13937
13938 * timevar.def (TV_TREE_STORE_COPY_PROP): Remove.
13939 (TV_TREE_STORE_CCP): Likewise.
13940 (TV_TREE_REDPHI): Likewise.
13941
139422010-07-29 Richard Guenther <rguenther@suse.de>
950f7f45
RG
13943
13944 * double-int.h (double_int_and_not): New function.
13945 * combine.c (try_combine): Use it.
13946 * tree-vrp.c (simplify_bit_ops_using_ranges): Likewise.
13947
8d074192
BS
139482010-07-29 Bernd Schmidt <bernds@codesourcery.com>
13949
13950 PR rtl-optimization/42575
13951 * dce.c (word_dce_process_block): Renamed from byte_dce_process_block.
13952 Argument AU removed. All callers changed. Ignore artificial refs.
13953 Use return value of df_word_lr_simulate_defs to decide whether an insn
13954 is necessary.
13955 (fast_dce): Rename arg to WORD_LEVEL.
13956 (run_word_dce): Renamed from rest_of_handle_fast_byte_dce. No longer
13957 static.
13958 (pass_fast_rtl_byte_dce): Delete.
13959 * dce.h (run_word_dce): Declare.
13960 * df-core.c (df_print_word_regset): Renamed from df_print_byteregset.
13961 All callers changed. Simplify code to only deal with two-word regs.
13962 * df.h (DF_WORD_LR): Renamed from DF_BYTE_LR.
13963 (DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO.
13964 (DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN.
13965 (DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT.
13966 (struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info.
13967 (df_word_lr_mark_ref): Declare.
13968 (df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs,
13969 df_word_lr_simulate_uses): Declare or rename from byte variants.
13970 (df_byte_lr_simulate_artificial_refs_at_top,
13971 df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
13972 df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete
13973 declarations.
13974 (df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info.
13975 (enum df_mm): Delete.
13976 * df-byte-scan.c: Delete file.
13977 * df-problems.c (df_word_lr_problem_data): Renamed from
13978 df_byte_lr_problem_data, all members deleted except for
13979 WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS. Uses changed.
13980 (df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top,
13981 df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
13982 df_byte_lr_get_regno_len, df_byte_lr_check_regs,
13983 df_byte_lr_confluence_0): Delete functions.
13984 (df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all
13985 callers changed.
13986 (df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed.
13987 Don't initialize members that were deleted, don't try to discover data
13988 about registers. Ignore hard regs.
13989 (df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed.
13990 (df_word_lr_mark_ref): New function.
13991 (df_word_lr_bb_local_compute): Renamed from
13992 df_byte_bb_lr_local_compute; all callers changed. Use
13993 df_word_lr_mark_ref. Assert that artificial refs don't include
13994 pseudos. Ignore hard registers.
13995 (df_word_lr_local_compute): Renamed from df_byte_lr_local_compute.
13996 Assert that exit block uses don't contain pseudos.
13997 (df_word_lr_init): Renamed from df_byte_lr_init; all callers changed.
13998 (df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all
13999 callers changed. Ignore hard regs.
14000 (df_word_lr_transfer_function): Renamed from
14001 df_byte_lr_transfer_function; all callers changed.
14002 (df_word_lr_free): Renamed from df_byte_lr_free; all callers changed.
14003 (df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers
14004 changed.
14005 (df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all
14006 callers changed.
14007 (problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed;
14008 confluence operator 0 set to NULL.
14009 (df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all
14010 callers changed.
14011 (df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs.
14012 Return bool, true if bitmap changed or insn otherwise necessary.
14013 All callers changed. Simplify using df_word_lr_mark_ref.
14014 (df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses;
14015 all callers changed. Simplify using df_word_lr_mark_ref.
14016 * lower-subreg.c: Include "dce.h"
14017 (decompose_multiword_subregs): Call run_word_dce if df available.
14018 * Makefile.in (lower-subreg.o): Adjust dependencies.
14019 (df-byte-scan.o): Delete.
14020 * timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR.
14021
9b638c03
RG
140222010-07-29 Richard Guenther <rguenther@suse.de>
14023
14024 * tree.c (build_vector): Assert that the vector constant
14025 has enough elements.
14026 (build_vector_from_ctor): Pad with trailing zeros.
14027
1c09321c
RG
140282010-07-29 Richard Guenther <rguenther@suse.de>
14029
14030 PR tree-optimization/45120
14031 * tree-ssa-structalias.c (get_constraint_for_component_ref):
14032 Handle offset in DEREFs properly.
14033 (get_constraint_for_1): Handle MEM_REF offset properly.
14034
6befd6b0
RG
140352010-07-29 Richard Guenther <rguenther@suse.de>
14036
14037 PR middle-end/45034
14038 * convert.c (convert_to_integer): Always use an unsigned
14039 type for narrowed negate and bitwise not.
14040
61869cc9
IR
140412010-07-29 Ira Rosen <irar@il.ibm.com>
14042
14043 * tree-vect-loop.c (vect_create_epilog_for_reduction): Switch
f53ea4f0 14044 to outer loop when creating reduction epilogue for double reduction,
61869cc9
IR
14045 and switch back to the inner loop when updating the phi nodes.
14046 Update uses of outer loop exit phi nodes in double reduction (instead
14047 of uses of reduction).
14048
8119a6a6
MM
140492010-07-28 Michael Meissner <meissner@linux.vnet.ibm.com>
14050
14051 * config/rs6000/rs6000.c (rs6000_rtx_costs): Update costs for
14052 popcount on power7 and parity on power6 systems.
14053 (rs6000_emit_popcount): Rename gen_popcntwsi2 to gen_popcntddi2.
14054 (rs6000_emit_parity): Add support for power6 prtyd/prtyw
14055 instructions.
14056
14057 * config/rs6000/rs6000.md (UNSPEC_COPYSIGN): New unspec.
14058 (UNSPEC_PARITY): Ditto.
14059 (SFDF): New iterator for SF/DF.
14060 (rreg2): New mode attribute for floating register constraint.
14061 (TARGET_FLOAT): New mode attribute for whether single/double float
14062 is supported.
14063 (popcntd<mode>2): Combine popcntwsi2 and popcntddi2 into one
14064 pattern.
14065 (parity<mode>2_cmpb): New insn for parity on power6 and newer
14066 machines.
14067 (copysign<mode>3): Combine copysignsf3, copysigndf3 into one
14068 pattern. Add support for fcpsgn instruction added in power6.
14069 (copysignsf3): Delete.
14070 (copysigndf3): Delete.
14071 (copysign<mode>3_fcpsgn): New insn to generate fcpsgn. Use UNSPEC
14072 instead of if_then_else in RTL to avoid problems with -0.
14073
14074 * config/rs6000/vsx.md (vsx_copysign<mode>3): Use UNSPEC instead
14075 of if_then_else to mirror scalar code.
14076 (vsx_copysignsf3): Delete, use copysign<mode>3_fcpsgn in
14077 rs6000.md.
14078
14079 * config/rs6000/vector.md (vector_copysign<mode>3): Use UNSPEC
14080 instead of if_then_else.
14081
18081149
XDL
140822010-07-28 Xinliang David Li <davidxl@google.com>
14083
14084 * tree-ssa-loop-ivopts.c (avg_loop_niter): New function.
14085 (dump_cand): Dump var_before/after.
14086 (htab_inv_expr_eq): New function.
14087 (htab_inv_expr_hash): New function.
14088 (tree_ssa_iv_optimize_init): Support pseudo invariants.
14089 (add_candidate_1): consider base type precision.
14090 (set_use_iv_cost): New parameter.
14091 (adjust_setup_cost): Use profile information.
14092 (get_address_cost): Do not hard code width in computing address
14093 offset limits.
14094 (compare_aff_trees): New function.
14095 (get_loop_invariant_expr_id): New function.
14096 (get_computation_cost_at): New parameter and use profile information.
14097 (get_computation_cost): New parameter.
14098 (determine_use_iv_cost_generic): Pass new parameter.
14099 (determine_use_iv_cost_address): Ditto.
14100 (determine_use_iv_cost_condition): Ditto.
14101 (autoinc_possible_for_pair): Ditto.
14102 (determine_use_iv_costs): More dumps.
14103 (iv_ca_get_num_inv_exprs): New function.
14104 (iv_ca_recount_cost): Consider loop invariants in register pressure
14105 cost.
14106 (iv_ca_add_use): New parameter.
14107 (iv_ca_dump): Better dumping.
14108 (iv_ca_extend): New parameter.
14109 (try_add_cand_for): Attempt to get better partial solution.
14110 (try_improve_iv_set): Pass new parameter to iv_ca_extend.
14111 (create_new-ivs): More dumps.
14112 (rewrite_use_compare): Ditto.
14113 (free_loop_data): More cleanup.
14114 (treee_ssa_iv_optimize_finalize): Ditto.
14115
3c5273a9
KT
141162010-07-28 Kai Tietz <kai.tietz@onevision.com>
14117
14118 * config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
14119 * config/i386/i386.c (ix86_profile_before_prologue): New.
14120 (override_options): Add special handling for -mfentry.
14121 (ix86_function_regparm): Likewise.
14122 (ix86_function_sseregparm): Likewise.
14123 (ix86_frame_pointer_required): Likewise.
14124 (ix86_expand_prologue): Check for ms_hook_prologue.
14125 (x86_function_profiler): Adjust mcount output.
14126 (TARGET_PROFILE_BEFORE_PROLOGUE): Define hook.
14127 * config/i386/i386.opt (mfentry): New.
14128 * doc/invoke.texi (mfentry): Add documentation.
14129 * doc/tm.texi: Regenerated..
14130 * doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New.
14131 * final.c (final_start_function): Replace macro
14132 PROFILE_BEFORE_PROLOGUE by target hook.
14133 * function.c (thread_prologue_and_epilogue_insns): Likewise.
14134 * target.def (profile_before_prologue): New hook.
14135 * targhooks.c (default_profile_before_prologue): New.
14136 * targhooks.h (default_profile_before_prologue): New.
14137
652c4638
JJ
141382010-07-28 Jakub Jelinek <jakub@redhat.com>
14139
05b5ea34
JJ
14140 PR debug/45105
14141 * gcse.c (hoist_code): Use FOR_BB_INSNS macro.
14142
652c4638
JJ
14143 PR debug/45103
14144 * dwarf2out.c (dwarf2out_var_location): Always consider
14145 NOTE_DURING_CALL_P notes, even when not followed by real instructions.
14146
fb039b24
MK
141472010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
14148
14149 PR rtl-optimization/45107
14150 * gcse.c (hash_scan_set): Use max_distance for gcse-las.
14151
7a95d078
RG
141522010-07-28 Richard Guenther <rguenther@suse.de>
14153
14154 * tree-ssa-ccp.c: Remove comment regarding STORE-CCP.
14155 (set_lattice_value): Do not query an old default value.
14156 (get_value_for_expr): New function. Properly canonicalize
14157 float values.
14158 (ccp_visit_phi_node): Use it.
14159
12ffc7d5
CLT
141602010-07-28 Chung-Lin Tang <cltang@codesourcery.com>
14161
14162 * config/arm/arm.c (arm_pcs_default): Remove static.
14163 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or
14164 __ARM_PCS_VFP to indicate soft/hard-float calling convention.
14165 (arm_pcs_default): Declare.
14166
b2a0ce24
IS
141672010-07-28 Iain Sandoe <iains@gcc.gnu.org>
14168
f53ea4f0 14169 * config/rs6000/rs6000.c (rs6000_override_options):
b2a0ce24
IS
14170 Use TARGET_MACHO inline, move darwin_one_byte_bool from here...
14171 ... to darwin_rs6000_override_options.
14172 (rs6000_return_in_memory): Update preceding comment for darwin
14173 64 bit ABI. Use TARGET_MACHO inline.
14174 (rs6000_darwin64_struct_check_p): New.
14175 (function_arg_advance): Use rs6000_darwin64_struct_check_p.
14176 (function_arg): Likewise.
14177 (rs6000_arg_partial_bytes): Likewise.
14178 (rs6000_function_value): Likewise.
14179
74164603 141802010-07-28 Andi Kleen <ak@linux.intel.com>
c71eb2b7
AK
14181
14182 * lto-opts.c (lto_file_read_options): Add loop over all inputs.
14183
3abd6c1a
RG
141842010-07-28 Richard Guenther <rguenther@suse.de>
14185
14186 PR middle-end/44903
14187 * builtins.c (fold_builtin_memory_op): On STRICT_ALIGNMENT
14188 targets try harder to not generate unaligned accesses.
14189
4bcaf354
MK
141902010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
14191
14192 PR rtl-optimization/45101
14193 * gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
14194 for gcse-las.
14195
c2cf2f4a
EB
141962010-07-28 Eric Botcazou <ebotcazou@adacore.com>
14197
14198 PR tree-optimization/44885
14199 * tree-sra.c (find_param_candidates): Skip pointer types to arrays
14200 with non-aliased component.
14201
eea13ead
JM
142022010-07-28 Joseph Myers <joseph@codesourcery.com>
14203
14204 * config/darwin-driver.c (SWITCH_TAKES_ARG,
14205 WORD_SWITCH_TAKES_ARG): Remove.
14206 * cppspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
14207 * defaults.h (DEFAULT_SWITCH_TAKES_ARG,
14208 DEFAULT_WORD_SWITCH_TAKES_ARG): Move from gcc.h.
14209 (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move default
14210 definitions from gcc.c.
14211 * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move to
14212 defaults.h.
14213 * gcc.h (DEFAULT_SWITCH_TAKES_ARG, DEFAULT_WORD_SWITCH_TAKES_ARG):
14214 Move to defaults.h.
14215 * opts-common.c: Include tm.h.
14216 (decode_cmdline_option): Use SWITCH_TAKES_ARG and
14217 WORD_SWITCH_TAKES_ARG to count arguments to unknown options.
14218 Handle more than one argument. Set canonical_option_num_elements.
14219 (decode_cmdline_options_to_array): Set
14220 canonical_option_num_elements and trailing elements of
14221 canonical_option.
14222 * opts.h (struct cl_decoded_option): Allow four elements in
14223 canonical_option. Add field canonical_option_num_elements.
14224 * Makefile.in (opts-common.o): Update dependencies.
14225
b4351367
EB
142262010-07-28 Eric Botcazou <ebotcazou@adacore.com>
14227
14228 PR middle-end/44790
14229 PR middle-end/44993
14230 * expr.c (expand_expr_real_1) <MEM_REF>: Revert latest change. Make
14231 sure the base has address_mode before adding the offset.
14232
74164603 142332010-07-27 Xinliang David Li <davidxl@google.com>
b4351367 14234
880a1451
XDL
14235 * tree-flow.h (create_mem_ref): Add one new parameter.
14236 * tree-ssa-address.c (create_mem_ref): New parameter.
14237 (addr_to_parts): Ditto.
14238 (move_variant_to_index): New function.
14239 * tree-ssa-loop-ivopts.c (rewrite_use_address): Pass new argument.
14240
418e920f
BS
142412010-07-27 Bernd Schmidt <bernds@codesourcery.com>
14242
14243 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, NOTE): Swap operands
14244 4 and 5.
14245 * rtl.h (PATTERN, INSN_LOCATOR, NOTE_DATA, NOTE_DELETED_LABEL_NAME,
14246 NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION,
14247 NOTE_KIND, LABEL_NUSES, LABEL_REFS): Adjust accordingly.
14248 * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of
14249 CODE_LABELs and NOTEs.
14250 * caller-save.c (init_caller_save): Fix up gen_rtx_INSN call.
14251 * combine.c (try_combine): Likewise.
14252 * ira.c (setup_prohibited_mode_move_regs): Likewise.
14253 * print-rtl.c (print_rtx): Start REG_NOTES on a new line.
14254
5f20c657
JM
142552010-07-27 Joseph Myers <joseph@codesourcery.com>
14256
14257 * coretypes.h (struct cl_option_handlers): Declare.
14258 * hooks.c (hook_int_size_t_constcharptr_int_0): Remove.
14259 * hooks.h (hook_int_size_t_constcharptr_int_0): Remove.
14260 * langhooks-def.h (lhd_handle_option): Declare.
14261 (LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option.
14262 * langhooks.c (lhd_handle_option): New.
14263 * langhooks.h (struct lang_hooks): Update prototype and return
14264 value type of handle_option hook.
14265 * optc-gen.awk: Generate target_flags_explicit definition for the
14266 driver.
14267 * opts-common.c: Include diagnostic.h.
14268 (handle_option): Move from opts.c. Update prototype and return
14269 value type. Use handlers structure.
14270 (read_cmdline_option): Move from opts.c. Update prototype. Use
14271 handlers structure.
14272 (set_option): Move from opts.c.
14273 * opts.c (common_handle_option): Update prototype and return value
14274 type. Update calls to handle_option and enable_warning_as_error.
14275 (unknown_option_callback, post_handling_callback,
14276 lang_handle_option, target_handle_option): New.
14277 (handle_option, read_cmdline_option): Move to opts-common.c.
14278 (read_cmdline_options): Update prototype. Update call to
14279 read_cmdline_option.
14280 (decode_options): Initialize and use handlers structure.
14281 (set_option): Move to opts-common.c.
14282 (enable_warning_as_error): Update prototype. Update call to
14283 handle_option.
14284 * opts.h (struct cl_option_handler_func, struct
14285 cl_option_handlers): New.
14286 (handle_option, enable_warning_as_error): Update prototypes.
14287 (read_cmdline_option): Declare.
14288 * Makefile.in (opts-common.o): Update dependencies.
14289
ec3728ad
MK
142902010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14291
14292 * config/arm/arm.c (params.h): Include.
14293 (arm_override_options): Tune gcse-unrestricted-cost.
14294 * config/arm/t-arm (arm.o): Define dependencies.
14295
cad9aa15
MK
142962010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14297
14298 PR target/42495
14299 PR middle-end/42574
14300 * basic-block.h (get_dominated_to_depth): Declare.
14301 * dominance.c (get_dominated_to_depth): New function, use
14302 get_all_dominated_blocks as a base.
14303 (get_all_dominated_blocks): Use get_dominated_to_depth.
14304
14305 * gcse.c (occr_t, VEC (occr_t, heap)): Define.
14306 (hoist_exprs): Remove.
14307 (alloc_code_hoist_mem, free_code_hoist_mem): Update.
14308 (compute_code_hoist_vbeinout): Add debug print outs.
14309 (hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth.
14310
14311 * params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
14312 quadratic behavior.
14313 * params.h (MAX_HOIST_DEPTH): New macro.
14314 * doc/invoke.texi (max-hoist-depth): Document.
14315
9b9ee6d3
MK
143162010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14317
14318 PR rtl-optimization/40956
14319 * config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
14320 constants.
14321
d37c3c62
MK
143222010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14323
14324 PR target/42495
14325 PR middle-end/42574
14326 * config/arm/arm.c (legitimize_pic_address): Use
14327 gen_calculate_pic_address pattern to emit calculation of PIC address.
14328 (will_be_in_index_register): New function.
14329 (arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
14330 (thumb1_legitimate_address_p): Use it provided !strict_p.
14331 * config/arm/arm.md (calculate_pic_address): New expand and split.
14332
3393e880
MK
143332010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14334
14335 PR target/42495
14336 PR middle-end/42574
14337 * config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
14338 * config/arm/arm.md (define_split "J", define_split "K"): Make
14339 IRA/reload friendly.
14340
eae7938e
MK
143412010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14342
14343 * gcse.c (insert_insn_end_basic_block): Update signature, remove
14344 unused checks.
14345 (pre_edge_insert, hoist_code): Update.
14346
c7c910ce
MK
143472010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14348
14349 PR target/42495
14350 PR middle-end/42574
14351 * gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
14352
3d489bc7
MK
143532010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14354
14355 * gcse.c (hoist_code): Generate new pseudo for every new set insn.
14356
ce4c0015
MK
143572010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14358
14359 PR rtl-optimization/40956
14360 PR target/42495
14361 PR middle-end/42574
14362 * gcse.c (compute_code_hoist_vbeinout): Consider more expressions
14363 for hoisting.
14364 (hoist_code): Count occurences in current block too.
14365
20160347
MK
143662010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14367
14368 * gcse.c (struct expr:max_distance): New field.
14369 (doing_code_hoisting_p): New static variable.
14370 (want_to_gcse_p): Change signature. Allow constrained hoisting of
14371 simple expressions, don't change behavior for PRE. Set max_distance.
14372 (insert_expr_in_table): Set new max_distance field.
14373 (hash_scan_set): Update.
14374 (hoist_expr_reaches_here_p): Stop search after max_distance
14375 instructions.
14376 (find_occr_in_bb): New static function. Use it in ...
14377 (hoist_code): Calculate sizes of basic block before any changes are
14378 done. Pass max_distance to hoist_expr_reaches_here_p.
14379 (one_code_hoisting_pass): Set doing_code_hoisting_p.
14380
14381 * params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
14382 (PARAM_GCSE_UNRESTRICTED_COST): New parameters.
14383 * params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
14384 macros.
14385 * doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
14386 Document.
14387
9b774782
JL
143882010-07-27 Jeff Law <law@redhat.com>
14389 Maxim Kuvyrkov <maxim@codesourcery.com>
14390
14391 * gcse.c (compute_transpout, transpout): Remove, move logic
14392 to prune_expressions.
14393 (compute_pre_data): Move pruning of trapping expressions ...
14394 (prune_expressions): ... here. New static function.
14395 (compute_code_hoist_data): Use it.
14396 (alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.
14397
55791fcd
XDL
143982010-07-27 Xinliang David Li <davidxl@google.com>
14399
14400 * tree-ssa-loop-ivopts.c (adjust_iv_update_pos): New function.
14401 (rewrite_use_address): Adjust iv update position when needed.
14402
62a3f636
MK
144032010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
14404
14405 * dbgcnt.def (hoist_insn): New debug counter.
14406 * gcse.c (hoist_code): Use it.
14407
e2102efc
XDL
144082010-07-27 Xinliang David Li <davidxl@google.com>
14409
14410 * tree-ssa-loop-ivopts.c (niter_for_exit): New parameter.
14411 (niter_for_single_dom_exit): Passes additional parameter.
14412 (iv_period): Fix comments.
14413 (may_eliminate_iv): Handles multiple exit loops properly.
14414 (free_tree_niter_desc): New function.
14415 (free_loop_data): Frees up loop iteration descriptors.
14416
fea31288
JJ
144172010-07-27 Jakub Jelinek <jakub@redhat.com>
14418
f3184b4c
JJ
14419 PR target/44542
14420 * cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
14421 of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
14422 instead of MAX_SUPPORTED_STACK_ALIGNMENT.
14423 (expand_one_var): Don't consider DECL_ALIGN for variables for
14424 which expand_one_stack_var_at has been already called.
14425
fea31288
JJ
14426 PR testsuite/44701
14427 * doc/md.texi: Clarify m and es constraints on PowerPC and m and S
14428 constraints on IA-64.
14429
65e29588
JZ
144302010-07-27 Jie Zhang <jie@codesourcery.com>
14431
14432 PR target/44290
f53ea4f0 14433 Revert:
65e29588 14434 2010-07-23 Jie Zhang <jie@codesourcery.com>
f53ea4f0 14435
65e29588
JZ
14436 * tree-sra.c (ipa_sra_preliminary_function_checks): Return
14437 false if ! tree_versionable_function_p.
14438
9f39bd53
JJ
144392010-07-27 Jakub Jelinek <jakub@redhat.com>
14440
14441 * dwarf2out.c (add_data_member_location_attribute): Use
14442 add_AT_unsigned instead of add_AT_int if offset is non-negative.
14443
a78e242c
BS
144442010-07-27 Bernd Schmidt <bernds@codesourcery.com>
14445
14446 * postreload.c (try_replace_in_use): New static function.
14447 (reload_combine_recognize_const_pattern): Use it here. Allow
14448 substituting into a final add insn, and substituting into a memory
14449 reference in an insn that sets the reg.
14450
61ff2bdc
JM
144512010-07-27 Joseph Myers <joseph@codesourcery.com>
14452
14453 * common.opt (o): Add MissingArgError.
14454 * doc/options.texi (MissingArgError): Document.
14455 * hooks.c (hook_bool_constcharptr_size_t_false): Remove.
14456 * hooks.h (hook_bool_constcharptr_size_t_false): Remove.
14457 * langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
f53ea4f0 14458 (LANG_HOOKS_INITIALIZER): Remove missing_argument hook initializer.
61ff2bdc
JM
14459 * langhooks.h (struct lang_hooks): Remove missing_argument.
14460 * optc-gen.awk: Handle MissingArgError and output new structure
14461 field initializers.
14462 * opts.c (read_cmdline_option): Use missing_argument_error field
14463 instead of missing_argument langhook.
14464 * opts.h (struct cl_option): Add missing_argument_error field.
14465 * system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.
14466
4e98bcaf
IS
144672010-07-27 Iain Sandoe <iains@gcc.gnu.org>
14468
14469 PR target/29090
14470 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Special-case the
14471 Darwin64 ABI, for zero-sized objects.
14472
a9ab25e2
IS
144732010-07-27 Iain Sandoe <iains@gcc.gnu.org>
14474
14475 PR target/35491
14476 PR target/29090
14477
14478 Merge from Apple local 4.2.1.
14479 2005-05-11 Stan Shebs <shebs@apple.com>
14480 Fix 64-bit varargs for Darwin (Radar 4028089).
14481 * config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr.
14482 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
14483 Add argument, add case for 8-byte register half-filled with a float.
14484 (rs6000_darwin64_record_arg_advance_recurse): Detect and handle
14485 single-precision floats specially.
14486
2200fc49
IR
144872010-07-27 Ira Rosen <irar@il.ibm.com>
14488
14489 PR tree-optimization/44152
14490 * tree-vect-slp.c (vect_build_slp_tree): Collect nodes with
14491 complex numbers for further check.
f53ea4f0 14492 (vect_supported_load_permutation_p): Check nodes with
2200fc49
IR
14493 complex numbers.
14494
7a9bf9a4
JM
144952010-07-27 Joseph Myers <joseph@codesourcery.com>
14496
14497 * langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK,
14498 LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New.
14499 (LANG_HOOKS_INIT_OPTIONS): Update default definition.
14500 (LANG_HOOKS_INITIALIZER): Add new hooks.
14501 * langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New.
14502 * langhooks.h (struct lang_hooks): Add new hooks option_lang_mask
14503 and complain_wrong_lang_p. Update init_options prototype.
14504 * c-objc-common.c (c_initialize_diagnostics): First call
14505 c_common_initialize_diagnostics.
14506 * c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK,
14507 LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
a691bb08 14508 * coretypes.h (struct cl_option, struct cl_decoded_option): Declare.
7a9bf9a4
JM
14509 * hooks.c (hook_uint_uint_constcharptrptr_0): Remove.
14510 (hook_uint_void_0): New.
14511 * hooks.h (hook_uint_uint_constcharptrptr_0): Remove.
14512 (hook_uint_void_0): New.
14513 * opts-common.c (decode_cmdline_option,
a691bb08 14514 decode_cmdline_options_to_array): Also fill in canonical_option field.
7a9bf9a4
JM
14515 * opts.c (complain_wrong_lang): Use langhook to determine whether
14516 to complain instead of special-casing LTO.
14517 (decode_options): Separate lang_mask determination with
14518 option_lang_mask hook from call of init_options hook.
14519 * opts.h (struct cl_decoded_option): Add canonical_option.
14520
42694189
JJ
145212010-07-27 Jakub Jelinek <jakub@redhat.com>
14522
14523 PR tree-optimization/45083
14524 * tree-inline.c (add_local_variables): Also remap DECL_DEBUG_EXPR.
14525
62036819
BS
145262010-07-27 Bernd Schmidt <bernds@codesourcery.com>
14527
14528 * postreload.c (reload_combine_recognize_const_pattern): Move test
14529 for limiting the insn movement to the right scope.
14530
2b0cb007
BS
14531 PR rtl-optimization/45051
14532 * reload1.c (delete_output_reload): Use refers_to_regno_p rather
14533 than reg_mentioned_p.
14534
8b84c596
RH
145352010-07-26 Richard Henderson <rth@redhat.com>
14536
14537 PR target/44132
14538 * tree-emutls.c: New file.
14539 * Makefile.in (OBJS-common): Add it.
14540 * tree-pass.h (pass_ipa_lower_emutls): Declare.
14541 * passes.c (init_optimization_passes): Add it.
14542
14543 * dwarf2out.c (loc_list_from_tree): If emutls.debug_form_tls_address,
14544 pull the control variable from DECL_VALUE_EXPR, not emutls_decl.
14545 * expr.c (emutls_var_address): Delete.
14546 (expand_expr_addr_expr_1, expand_expr_real_1): Don't use it.
14547 * output.h (SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL): Delete.
14548 (emutls_finish): Delete.
14549 * toplev.c (compile_file): Don't call it.
14550 * tree.h (emutls_decl): Delete.
14551 * varasm.c (emutls_htab, DECL_EMUTLS_VAR_P): Delete.
14552 (emutls_finish, emutls_finalize_control_var): Delete.
14553 (emutls_object_type): Move to tree-emutls.c.
14554 (EMUTLS_SEPARATOR, prefix_name, get_emutls_object_name,
14555 default_emutls_var_fields, get_emutls_object_type,
14556 get_emutls_init_templ_addr, emutls_decl, emutls_common_1
14557 default_emutls_var_init): Likewise.
14558 (get_variable_section): Don't special case emutls.
14559 (assemble_variable, do_assemble_alias, categorize_decl_for_section,
14560 default_elf_select_section, default_unique_section,
14561 default_encode_section_info): Likewise.
14562 * varpool.c (decide_is_variable_needed): Likewise.
14563 * gimple-iterator.c (update_call_edge_frequencies): New
14564 (gsi_insert_on_edge_immediate): Use it.
14565 (gsi_insert_seq_on_edge_immediate): Likewise.
14566 (gsi_commit_one_edge_insert): Likewise.
14567
14568 * config/i386/i386.c (x86_64_elf_select_section): Don't handle
14569 SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL.
14570 (x86_64_elf_unique_section): Likewise.
14571
b7956a5b
JH
145722010-07-26 Jan Hubicka <jh@suse.cz>
14573
14574 * lto-streamer.h (struct lto_file_decl_data): Mark resolutions with
14575 GTY((skip)).
14576
b5f5d41d
AS
145772010-07-26 Anatoly Sokolov <aesok@post.ru>
14578
14579 * target.def (output_source_filename): New hook.
14580 * doc/tm.texi.in (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Document.
14581 * doc/tm.texi: Regenerate.
14582 * toplev.c (output_file_directive) Remove function.
14583 * toplev.h (output_file_directive) Remove.
14584 * output.h (default_asm_output_source_filename,
14585 output_file_directive): Declare.
14586 * varasm.h (default_asm_output_source_filename,
14587 output_file_directive): New functions.
14588
14589 * config/mips/mips.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
14590 * config/mips/mips-protos.h (mips_output_filename): Remove.
14591 * config/mips/mips.c (mips_output_filename): Make Static.
14592 (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
14593
7f8ac3d7
RG
145942010-07-26 Richard Guenther <rguenther@suse.de>
14595
14596 PR tree-optimization/43784
14597 * tree-nrv.c (dest_safe_for_nrv_p): It's not safe to NRV
14598 if the destination is used by the call.
14599
edc74207
RG
146002010-07-26 Richard Guenther <rguenther@suse.de>
14601
14602 PR middle-end/45073
14603 * gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize
14604 SSA updating on being in SSA form.
14605
bd422c4a
RG
146062010-07-26 Richard Guenther <rguenther@suse.de>
14607
14608 PR middle-end/45056
a691bb08 14609 * gimple-fold.c (fold_stmt_1): Also fold references in debug stmts.
bd422c4a 14610
e093ffe3
RG
146112010-07-26 Richard Guenther <rguenther@suse.de>
14612
14613 PR tree-optimization/45071
a691bb08 14614 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Always
e093ffe3
RG
14615 adjust op->opcode.
14616
223a9d64
N
146172010-07-26 Naveen.H.S <naveen.S@kpitcummins.com>
14618
14619 * config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31,
14620 save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31,
14621 save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31,
14622 save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31,
14623 save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31,
14624 save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31,
14625 save_r31, return_r31, save_interrupt, return_interrupt,
14626 save_all_interrupt, return_all_interrupt, L_save_r2_r31,
14627 L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt,
a691bb08 14628 L_save_##START##_r31c, L_callt_save_r31c): Updated as per the
223a9d64 14629 new ABI requirements.
a691bb08 14630 (save_r6_r9, L_callt_save_r6_r9): Remove.
223a9d64
N
14631 * config/v850/predicates.md (even_reg_operand, disp23_operand,
14632 const_float_1_operand const_float_0_operand): New Predicates.
14633 (pattern_is_ok_for_prepare, pattern_is_ok_for_prologue,
14634 pattern_is_ok_for_epilogue): Update as per the ABI requirements.
14635 * config/v850/t-v850: Update multilibs for new target variants.
14636 (save_varargs, callt_save_varargs, callt_save_r6_r9): Remove.
14637 * config/v850/t-v850e: Likewise.
14638 * config/v850/v850.c (v850_issue_rate): New.
14639 (v850_strict_argument_naming): New.
14640 (function_arg): Modify to generate a different ABI.
14641 (print_operand): Update case 'z' to support float modes.
14642 (output_move_single): Modify to generate appropriate and better
14643 assembly.
14644 (v850_float_z_comparison_operator, v850_select_cc_mode,
14645 v850_float_nz_comparison_operator, v850_gen_float_compare,
a691bb08 14646 v850_gen_compare): New functions to support comparison of float values.
223a9d64
N
14647 (ep_memory_offset): Add support for V850E2 targets.
14648 (INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update.
14649 (INTERRUPT_REGPARM_NUM): Remove.
a691bb08 14650 (compute_register_save_size): Add extra case to save/restore long call.
223a9d64
N
14651 (use_prolog_function): New function to support prologue.
14652 (expand_prologue): Add support for V850E2 targets and modified
14653 as per the current ABI requirements.
14654 (expand_epilogue): Likewise.
14655 (construct_restore_jr): Modify based on TARGET_LONG_CALLS.
14656 (construct_save_jarl): Likewise.
14657 (construct_dispose_instruction): Update as per the current ABI
14658 requirements.
14659 (construct_prepare_instruction): Likewise.
a691bb08 14660 * config/v850/v850.h (TARGET_CPU_DEFAULT): Add target predefines.
223a9d64
N
14661 (TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define
14662 (CPP_SPEC): Updated to support v850e2 targets.
14663 (STRICT_ALIGNMENT): Modified.
14664 (FIRST_PSEUDO_REGISTER): Updated to add even registers.
14665 (FIXED_REGISTERS): Likewise.
14666 (CALL_USED_REGISTERS): Likewise.
14667 (CONDITIONAL_REGISTER_USAGE): Updated.
14668 (HARD_REGNO_MODE_OK): Updated.
14669 (reg_class): Updated to add even registers.
14670 (REG_CLASS_NAMES): Likewise.
14671 (REG_CLASS_CONTENTS): Likewise.
14672 (REGNO_REG_CLASS): Updated for CC registers.
14673 (REG_CLASS_FROM_LETTER): Added support for even registers.
14674 (REGNO_OK_FOR_BASE_P): Updated for CC registers.
14675 (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM,
14676 ARG_POINTER_REGNUM): Updated.
14677 (FUNCTION_ARG_ADVANCE): Define.
14678 (REG_PARM_STACK_SPACE): Update as per the current ABI requirements.
14679 (OUTGOING_REG_PARM_STACK_SPACE): Remove.
14680 (EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement.
14681 (GO_IF_LEGITIMATE_ADDRESS): Updated.
14682 (SELECT_CC_MODE): Define.
14683 (REGISTER_NAMES): Updated to add psw and fcc registers.
14684 (ADDITIONAL_REGISTER_NAMES): Updated.
14685 (ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets.
14686 (JUMP_TABLES_IN_TEXT_SECTION): Updated.
14687 * config/v850/v850.md (define_constants): Define new constants.
14688 (type): Update store,bit1,macc,div,fpu and single attributes.
14689 (cpu): New attribute.
14690 (cc): Add set_z attribute.
14691 (unsign23byte_load, sign23byte_load, unsign23hword_load,
14692 sign23hword_load, 23word_load, 23byte_store, 23hword_store,
a691bb08 14693 23word_store): New instructions for 23-bit displacement load and store.
223a9d64
N
14694 (movqi_internal, movhi_internal): Update the attributes.
14695 (movsi, movsi_internal_v850e): Updated to support v850e2 targets.
14696 (movsi_internal_v850e, movsi_internal, movsf_internal): Update
14697 the attributes.
14698 (v850_tst1): Modified using CC_REGNUM.
14699 (tstsi): Remove.
14700 (cmpsi): Modified as define_expand from define_insn.
14701 (cmpsi_insn, cmpsf, cmpdf): New instructions.
14702 (addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4,
14703 udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3,
14704 v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3,
14705 one_cmplsi2): Clobber the CC_REGNUM register.
14706 (v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1,
14707 v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2,
a691bb08 14708 v850_not1_3, xorsi3, one_cmplsi2): Update the attributes accordingly.
223a9d64
N
14709 (setf_insn, set_z_insn, set_nz_insn): New instructions for
14710 v850e2v3 target.
14711 (movsicc_normal_cc, movsicc_reversed_cc): New instructions.
14712 (movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2
14713 targets.
14714 (sasf_1, sasf_2): Remove.
14715 (sasf): New instruction.
14716 (rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2
14717 targets. CC_REGNUM register is clobbered and attributes are
14718 updated.
14719 (branch_z_normal, branch_z_invert, branch_nz_normal,
14720 branch_nz_invert): New branch related instructions.
14721 (jump): Updated the attributes.
14722 (switch): Update to support new targets. CC_REGNUM register is
14723 clobbered and attributes are updated.
14724 (call_internal_short, call_internal_long, call_value_internal_short,
14725 call_value_internal_long): Updated the attributes.
14726 (zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is
14727 clobbered and attributes are updated.
14728 (extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2):
14729 Update to support new targets. CC_REGNUM register is clobbered.
14730 (ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift
14731 instructions.
14732 (lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes
14733 are updated.
14734 (ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3,
14735 divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2,
14736 negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2,
14737 floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2,
14738 rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4,
14739 cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn,
14740 cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn,
14741 cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr,
14742 movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn,
14743 movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating
14744 point instructions defined for V850e2v3 target.
14745 (callt_save_interrupt, callt_return_interrupt, return_interrupt):
14746 Add support for V850E2 targets and CC_REGNUM register is clobbered.
14747 (callt_save_all_interrupt, callt_restore_all_interrupt): Add
14748 support for new targets.
14749 * config/v850/v850-modes.def: New file.
14750 * config/v850/v850.opt(mstrict-align): Remove.
14751 (mno-strict-align, mjump-tables-in-data-section, mv850e2,
14752 mv850e2v3): New command line options for V850.
14753 * config.gcc: Update the newly added files.
14754 * doc/invoke.texi: Update the newly added command line options for
14755 V850 target.
14756
4e89a3fa
RG
147572010-07-26 Richard Guenther <rguenther@suse.de>
14758
14759 PR tree-optimization/45052
14760 * ipa-pure-const.c (check_stmt): Check volatileness.
14761
58e6223e
EB
147622010-07-25 Eric Botcazou <ebotcazou@adacore.com>
14763
14764 PR target/44707
14765 * config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New.
14766 * config/sparc/sparc.c: Include reload.h.
14767 (legitimize_tls_address): Rename into...
14768 (sparc_legitimize_tls_address): ...this.
14769 (legitimize_pic_address): Rename into...
14770 (sparc_legitimize_pic_address): ...this.
14771 (sparc_expand_move): Adjust to above renaming.
14772 (sparc_tls_referenced_p): Likewise.
14773 (sparc_legitimize_tls_address): Likewise.
14774 (sparc_legitimize_pic_address): Likewise.
14775 (sparc_legitimize_address): Likewise.
14776 (sparc_output_mi_thunk): Likewise.
14777 (sparc_legitimize_reload_address): New global function. Recognize
14778 (lo_sum (high ...) ...) patterns generated by earlier passes.
14779 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function.
14780
bfb7cccf
EB
147812010-07-25 Eric Botcazou <ebotcazou@adacore.com>
14782
14783 PR target/44484
14784 * config/sparc/predicates.md (memory_reg_operand): Delete.
14785 * config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
14786 (*sync_compare_and_swap): Encode the address form in the pattern.
14787 (*sync_compare_and_swapdi_v8plus): Likewise.
14788
aac91b74
GP
147892010-07-24 Gerald Pfeifer <gerald@pfeifer.com>
14790
a691bb08
UB
14791 * doc/install.texi (Specific, *-*-freebsd*): Adjust to recent changes.
14792 Streamline paragraph on compatibility with the system compiler.
aac91b74 14793
a522de15
SB
147942010-07-24 Steven Bosscher <steven@gcc.gnu.org>
14795
14796 PR middle-end/45035
14797 * alias.c (true_dependence_1): Fix thinko in merge of old
14798 true_dependence and canon_true_dependence.
14799
5d7f4d9c
JH
148002010-07-23 Jan Hubicka <jh@suse.cz>
14801
14802 * lto-streamer-out.c (write_symbol): Fix visibilities of external
14803 references.
14804
3d07b7cd
LCW
148052010-07-23 Le-Chun Wu <lcwu@google.com>
14806
14807 * omega.c (omega_eliminate_redundant): Remove a self-assign statement.
14808 * tree-ssa-ccp.c (ccp_lattice_meet): Remove a self-assign statement
14809 and an unnecessary assignment.
14810 * dbxout.c (DEBUGGER_ARG_OFFSET): Change OFFSET to OFFSET+0 to avoid
14811 self-assign warning.
14812 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Remove
14813 unnecessary self-init.
14814
aff08b12
RG
148152010-07-23 Richard Guenther <rguenther@suse.de>
14816
14817 PR lto/43071
14818 * gcc.c (LINK_COMMAND_SPEC): Filter out -fcompare-debug
14819 for -flto and -fwhopr.
14820
9b91e436
KT
148212010-07-23 Kai Tietz <kai.tietz@onevision.com>
14822
14823 PR target/41943
a691bb08 14824 * Makefile.in (USER_H_INC_NEXT_PRE, USER_H_INC_NEXT_POST): New.
9b91e436
KT
14825 (stmp-int-hdrs): Prefix/postfix headers by include_next.
14826 * config.gcc (user_headers_inc_next_pre): New.
14827 (user_headers_inc_next_post): Likewise.
14828 (*-w64-mingw*): Use for float.h post-fixing, and for
14829 stddef.h/stdarg.h pre-fixing by include_next.
14830 * configure.ac (user_headers_inc_next_post): New.
14831 (user_headers_inc_next_pre): New.
14832 * configure: Regenerated.
14833
16c9d3b1
RO
148342010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14835
14836 * configure.ac: Don't disable TLS on Solaris 8/9 by default
14837 Set tga_func for Solaris 2/x86 resp. SPARC.
14838 Remove duplicate parts of sparc*-sun-solaris2.* TLS check.
14839 (LIB_THREAD_LDFLAGS_SPEC): Define.
a691bb08 14840 (LIB_TLS_SPEC): Define. Check for required Sun ld version.
16c9d3b1
RO
14841 * configure: Regenerate.
14842 * config.in: Regenerate.
14843 * config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with
14844 -pthread, -threads, LIB_TLS_SPEC with -pthread.
14845 * doc/install.texi (Specific, *-*-solaris2*): Document use of
14846 alternate thread libraries on Solaris 8.
14847 Document TLS patch requirements.
14848 * doc/sourcebuild.texi (Add Options): Sort alphabetically.
14849 Document tls.
14850
14851 PR target/18788
14852 * config/sol2.h (LIB_SPEC): Link with thread libraries even with
14853 -shared.
14854
cd3f04c8
JJ
148552010-07-23 Jakub Jelinek <jakub@redhat.com>
14856
14857 * tree.h (struct tree_base): Add nameless_flag bitfield.
14858 (TYPE_NAMELESS, DECL_NAMELESS): Define.
14859 * omp-low.c (create_omp_child_function, scan_omp_parallel,
14860 scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or
14861 DECL_ARTIFICIAL where needed.
14862 * dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS.
14863 (type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL
14864 has DECL_NAMELESS set.
14865
556ede65
MJ
148662010-07-23 Martin Jambor <mjambor@suse.cz>
14867
14868 PR tree-optimization/44915
14869 * ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
14870 * ipa-inline.c (cgraph_mark_inline_edge): Likewise.
14871 (analyze_function): Likewise.
14872
8cbeddcc
MJ
148732010-07-23 Martin Jambor <mjambor@suse.cz>
14874
14875 PR tree-optimization/44914
14876 * tree-sra.c (sra_modify_function_body): Return true if CFG was
14877 changed, add purging dead eh edges.
14878 (ipa_sra_modify_function_body): Return true if CFG was changed,
14879 simplify purging dead eh edges.
14880 (modify_function): Return true if CFG was changed.
14881 (perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG
14882 was changed.
14883 (ipa_early_sra): Likewise.
14884
61044492
JZ
148852010-07-23 Jie Zhang <jie@codesourcery.com>
14886
14887 PR target/44290
14888 * attribs.c (decl_attributes): Insert "noinline" and "noclone"
14889 if "naked".
14890 * tree-sra.c (ipa_sra_preliminary_function_checks): Return
14891 false if ! tree_versionable_function_p.
14892
c59a0a1d
NF
148932010-07-23 Nathan Froyd <froydnj@codesourcery.com>
14894
14895 * builtins.def (BUILT_IN_ARGS_INFO): Remove.
14896 * ipa-pure-const.c (special_builtlin_state): Remove
14897 BUILT_IN_ARGS_INFO case.
14898 * tree-stdarg.c (execute_optimize_stdarg): Likewise.
14899 * builtins.c (expand_builtin): Likewise.
14900 (expand_builtin_args_info): Remove.
14901 * doc/tm.texi (__builtin_args_info): Remove.
14902 (__builtin_next_arg): Adjust to not refer to __builtin_args_info.
14903 * doc/tm.text.in: Likewise.
14904
c4fcd06a
RG
149052010-07-23 Richard Guenther <rguenther@suse.de>
14906
a691bb08 14907 * lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
c4fcd06a
RG
14908 (lto_symtab_merge_decls_2): Likewise.
14909 * tree-ssa.c (useless_type_conversion_p): Likewise.
14910 * lto-streamer-in.c (input_gimple_stmt): Likewise.
14911 * gimple.c (gtc_visited2, gtc_ob2): Remove.
14912 (struct type_pair_d): Make same_p an array indexed by mode.
14913 Update comment.
14914 (lookup_type_pair): Update initialization.
14915 (struct sccs): Adjust same_p type.
14916 (gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p):
14917 Adjust.
14918 (print_gimple_types_stats): Likewise.
14919 * gimple.h (enum gtc_mode): New.
14920 (gimple_types_compatible_p): Adjust prototype.
14921
6afb52d3
DJ
149222010-07-23 Daniel Jacobowitz <dan@codesourcery.com>
14923
14924 * dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
14925 again after processing insn.
14926
a23c4464
JZ
149272010-07-23 Jie Zhang <jie@codesourcery.com>
14928
14929 * tree-sra.c (ipa_sra_preliminary_function_checks): Dump
14930 proper words when !tree_versionable_function_p.
14931
97a73876
RG
149322010-07-23 Richard Guenther <rguenther@suse.de>
14933
14934 PR tree-optimization/45037
14935 * tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base.
14936
ed3100b2
JZ
149372010-07-23 Jie Zhang <jie@codesourcery.com>
14938
a691bb08
UB
14939 * doc/extend.texi: Remove IP2K from the description of naked attribute.
14940 Add MCORE instead.
ed3100b2 14941
a691bb08 149422010-07-10 Andi Kleen <ak@linux.intel.com>
73ce4d1e
AK
14943
14944 PR lto/44992
a691bb08 14945 * lto-opts.c (lto_write_options): Add NULL file_data argument to
73ce4d1e
AK
14946 lto_get_section_name.
14947 * lto-section-out.c (lto_destroy_simple_output_block): Likewise.
14948 * lto-streamer-out.c (produce_asm): Likewise.
14949 (copy_function): Likewise.
14950 (produce_symtab): Likewise.
14951 (produce_asm_for_decls): Likewise.
14952 * lto-streamer.c (lto_get_section_name): Add file_data argument.
14953 Rewrite to add random postfix to LTO sections.
14954 * lto-streamer.h (lto_file_decl_data): Add next, id, resolutions.
14955 (lto_get_section_name): Add file_data argument to prototype.
14956
a691bb08 149572010-07-10 Andi Kleen <ak@linux.intel.com>
2994ee14
AK
14958
14959 * lto-section-in.c (lto_section_name): Synchronize names
14960 with lto_get_section_name.
14961
a691bb08 149622010-07-10 Andi Kleen <ak@linux.intel.com>
090fc3f4
AK
14963
14964 * lto-opts.c (lto_read_file_options): Check for missing section.
14965
8cfd82bf
BS
149662010-07-22 Bernd Schmidt <bernds@codesourcery.com>
14967
14968 * ira.c (check_allocation): Correctly handle the case where an allocno
14969 with two objects was allocated to a single reg.
14970
1a39adae
RS
149712010-07-22 Richard Sandiford <rdsandiford@googlemail.com>
14972
14973 * tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
14974 (is_widening_mult_p): Likewise.
14975 (convert_to_widen): Use them.
14976 (convert_plusminus_to_widen): Likewise. Handle fixed-point types as
14977 well as integer ones.
14978
9362286d
SB
149792010-07-22 Steven Bosscher <steven@gcc.gnu.org>
14980
14981 * alias.c (true_dependence_1): New function, merged version of
14982 true_dependence and canon_true_dependence.
14983 (true_dependence): Simplify.
14984 (canon_true_dependence): Simplify.
14985
b78cb618
RH
149862010-07-22 Richard Henderson <rth@redhat.com>
14987
14988 PR target/45027
14989 * config/i386/i386.c (setup_incoming_varargs_64): Force the use
14990 of V4SFmode for the SSE saves; increase stack alignment if needed.
14991 (ix86_gimplify_va_arg): Don't increase stack alignment here.
14992
828f2c8b
JJ
149932010-07-22 Jakub Jelinek <jakub@redhat.com>
14994
14995 PR bootstrap/45028
14996 * recgprop.c (copyprop_hardreg_forward_1): If changed is true,
14997 call cprop_find_used_regs again via note_uses.
14998
7be7d292
EB
149992010-07-22 Eric Botcazou <ebotcazou@adacore.com>
15000
15001 * alias.c (get_alias_set): Fix formatting issues.
15002
426d6333
SE
150032010-07-22 Steve Ellcey <sje@cup.hp.com>
15004
15005 PR middle-end/44878
15006 * stmt.c (expand_value_return): Call promote_function_mode with
15007 a for_return argument of 2 when returning by reference.
15008
35ea1c5a
DS
150092010-07-22 Dodji Seketeli <dodji@redhat.com>
15010
15011 PR debug/45024
15012 * dwarf2out.c (scope_die_for): Don't fall back to the compilation
15013 unit DIE if we can find the scope DIE.
15014
ac0ab4f7
BS
150152010-07-22 Bernd Schmidt <bernds@codesourcery.com>
15016
bd3a5d17
UB
15017 * ira-build.c (ira_create_object): New arg SUBWORD; all callers
15018 changed. Initialize OBJECT_SUBWORD.
ac0ab4f7
BS
15019 (ira_create_allocno): Clear ALLOCNO_NUM_OBJECTS.
15020 (ira_create_allocno_objects): Renamed from ira_create_allocno_object;
15021 all callers changed.
15022 (merge_hard_reg_conflicts): Iterate over allocno subobjects.
15023 (finish_allocno): Likewise.
15024 (move_allocno_live_ranges, copy_allocno_live_ranges): Likewise.
15025 (remove_low_level_allocnos): Likewise.
15026 (update_bad_spill_attribute): Likewise.
15027 (setup_min_max_allocno_live_range_point): Likewise.
15028 (sort_conflict_id_map): Likewise.
15029 (ira_flattening): Likewise. Use ior_hard_reg_conflicts.
15030 (ior_hard_reg_conflicts): New function.
15031 (ior_allocate_object_conflicts): Renamed first argument to OBJ.
15032 (compress_conflict_vecs): Iterate over objects, not allocnos.
15033 (ira_add_live_range_to_object): New function.
15034 (object_range_compare_func): Renamed from allocno_range_compare_func.
15035 All callers changed.
15036 (setup_min_max_conflict_allocno_ids): For allocnos with multiple
15037 subobjects, widen the min/max range of the lowest-order object to
15038 potentially include all other such low-order objects.
15039 * ira.c (ira_bad_reload_regno_1): Iterate over allocno subobjects.
15040 (check_allocation): Likewise. Use more fine-grained tests for register
15041 conflicts.
15042 * ira-color.c (allocnos_have_intersected_live_ranges_p): Iterate over
15043 allocno subobjects.
15044 (assign_hard_reg): Keep multiple sets of conflicts. Make finer-grained
15045 choices about which bits to set in each set. Don't use
15046 ira_hard_reg_not_in_set_p, perform a more elaborate test for conflicts
15047 using the multiple sets we computed.
15048 (push_allocno_to_stack): Iterate over allocno subobjects.
15049 (all_conflicting_hard_regs_coalesced): New static function.
15050 (setup_allocno_available_regs_num): Use it.
15051 (setup_allocno_left_conflicts_size): Likewise. Iterate over allocno
15052 subobjects.
15053 (coalesced_allocno_conflict): Test subobject 0 in each allocno.
15054 (setup_allocno_priorities): Divide ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
15055 by ALLOCNO_NUM_OBJECTS.
15056 (calculate_spill_cost): Likewise.
15057 (color_pass): Express if statement in a more normal way.
15058 (ira_reassign_conflict_allocnos): Iterate over allocno subobjects.
15059 (slot_coalesced_allocno_live_ranges_intersect_p): Likewise.
15060 (setup_slot_coalesced_allocno_live_ranges): Likewise.
15061 (allocno_reload_assign): Likewise.
15062 (ira_reassign_pseudos): Likewise.
15063 (fast_allocation): Likewise.
15064 * ira-conflicts.c (build_conflict_bit_table): Likewise.
15065 (print_allocno_conflicts): Likewise.
15066 (ira_build_conflicts): Likewise.
15067 (allocnos_conflict_for_copy_p): Renamed from allocnos_conflict_p. All
15068 callers changed. Test subword 0 of each allocno for conflicts.
15069 (build_object_conflicts): Renamed from build_allocno_conflicts. All
15070 callers changed. Iterate over allocno subobjects.
15071 * ira-emit.c (modify_move_list): Iterate over allocno subobjects.
bd3a5d17
UB
15072 * ira-int.h (struct ira_allocno): New member: num_objects.
15073 Rename object to objects and change it into an array.
ac0ab4f7
BS
15074 (ALLOCNO_OBJECT): Add new argument N.
15075 (ALLOCNO_NUM_OBJECTS, OBJECT_SUBWORD): New macros.
15076 (ira_create_allocno_objects): Renamed from ira_create_allocno_object.
15077 (ior_hard_reg_conflicts): Declare.
15078 (ira_add_live_range_to_object): Declare.
15079 (ira_allocno_object_iterator): New.
15080 (ira_allocno_object_iter_init, ira_allocno_object_iter_cond): New.
15081 (FOR_EACH_ALLOCNO_OBJECT): New macro.
bd3a5d17
UB
15082 * ira-lives.c (objects_live): Renamed from allocnos_live; all
15083 uses changed.
ac0ab4f7 15084 (allocnos_processed): New sparseset.
bd3a5d17
UB
15085 (make_object_born): Renamed from make_allocno_born; take an
15086 ira_object_t argument. All callers changed.
15087 (make_object_dead): Renamed from make_allocno_dead; take an
15088 ira_object_t argument. All callers changed.
ac0ab4f7
BS
15089 (update_allocno_pressure_excess_length): Take an ira_obejct_t argument.
15090 All callers changed.
15091 (mark_pseudo_regno_live): Iterate over allocno subobjects.
15092 (mark_pseudo_regno_dead): Likewise.
15093 (mark_pseudo_regno_subword_live, mark_pseudo_regno_subword_dead): New
15094 functions.
15095 (mark_ref_live): Detect subword accesses and call
15096 mark_pseudo_regno_subword_live as appropriate.
15097 (mark_ref_dead): Likewise for mark_pseudo_regno_subword_dead.
15098 (process_bb_nodes_live): Deal with object-related updates first; set
15099 and test bits in allocnos_processed to avoid computing allocno
15100 statistics more than once.
15101 (create_start_finish_chains): Iterate over objects, not allocnos.
15102 (print_object_live_ranges): New function.
15103 (print_allocno_live_ranges): Use it.
15104 (ira_create_allocno_live_ranges): Allocate and free allocnos_processed
15105 and objects_live.
15106
d4398a43
RG
151072010-07-22 Richard Guenther <rguenther@suse.de>
15108
15109 PR lto/42451
15110 * gimple.c (gtc_next_dfs_num): New global.
15111 (struct sccs): Make value a union, add integer same_p member.
15112 (gtc_visit): New function.
15113 (gimple_types_compatible_p_1): New function, split out from ...
15114 (gimple_types_compatible_p): ... here. Start a DFS walk here.
15115 (iterative_hash_gimple_type): Adjust for sccs change.
15116
56a42add
MJ
151172010-07-22 Martin Jambor <mjambor@suse.cz>
15118
15119 PR tree-optimization/44891
15120 * tree-sra.c: Include gimple-pretty-print.h.
15121 (replace_uses_with_default_def_ssa_name): Renamed to
15122 get_repl_default_def_ssa_name, return the new SSA name instead of
15123 replacing the old one.
15124 (sra_modify_assign): Dump a message when removing a load, if the LHS
15125 is an SSA_NAME, do not do any propagation, just set the RHS to a
15126 default definition SSA NAME, type convert if necessary.
15127 * Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.
15128
5ccbfc1f
RG
151292010-07-22 Richard Guenther <rguenther@suse.de>
15130
15131 PR tree-optimization/45017
15132 * tree-ssa-sccvn.c (vn_reference_eq): Make sure we honor
15133 TYPE_PRECISION of integral types in addition to size.
15134
14ee5f0a
MK
151352010-07-22 Maxim Kuvyrkov <maxim@codesourcery.com>
15136
15137 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Default to GLIBC
15138 when no C library is specified.
15139
93c594a3
MJ
151402010-07-22 Martin Jambor <mjambor@suse.cz>
15141
15142 * ipa-prop.h (struct ipa_node_params): Updated comment.
15143 (struct ipa_edge_args): Likewise.
15144 * Makefile.in (ipa-prop.o): Remove bogus $(GIMPLE_FOLD_H) dependency.
15145
02ec6988
MJ
151462010-07-22 Martin Jambor <mjambor@suse.cz>
15147
15148 * cgraphunit.c (verify_edge_count_and_frequency): New function.
15149 (verify_cgraph_node): Verify frequencies of indirect edges.
15150 * tree-inline.c (tree_function_versioning): Update frequencies of
15151 indirect edges.
15152
f67325e8
RR
151532010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15154
a557f9cc 15155 PR target/43698
a691bb08
UB
15156 * config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev.
15157 Set *arm_rev to be predicable.
f67325e8 15158
50eb566f
IS
151592010-07-22 Iain Sandoe <iains@gcc.gnu.org>
15160
15161 * config/darwin.h (LINK_COMMAND_SPEC): Split into...
15162 (LINK_COMMAND_SPEC_A): New.
15163 (DSYMUTIL): New.
15164 (DSYMUTIL_SPEC): New.
15165 * config/darwin9.h (LINK_COMMAND_SPEC): Remove.
15166 (DSYMUTIL_SPEC): Update for darwin >= 9 requirements.
15167
3b2ee170
IS
151682010-07-22 Iain Sandoe <iains@gcc.gnu.org>
15169
15170 * calls.c (load_register_parameters): Move check for zero
bd3a5d17 15171 sized items so that only the call to
3b2ee170
IS
15172 mem_overlaps_already_clobbered_arg_p () is protected.
15173
37512c66
JH
151742010-07-22 Jan Hubicka <jh@suse.cz>
15175
15176 * ipa-pure-const.c (varying_state): Break out from ...
15177 (get_function_state): ... here; always return varying_state
15178 when state would be NULL otherwise.
15179 (remove_node_data): Do not free varying state.
15180
08bd6876
BS
151812010-07-22 Bernd Schmidt <bernds@codesourcery.com>
15182
15183 PR bootstrap/44970
15184 PR middle-end/45009
15185 * postreload.c: Include "target.h".
15186 (reload_combine_closest_single_use): Don't take DEBUG_INSNs
15187 into account.
15188 (fixup_debug_insns): Don't copy the rtx.
a691bb08
UB
15189 (reload_combine_recognize_const_pattern): DEBUG_INSNs can't have uses.
15190 Don't copy when replacing. Call fixup_debug_insns in the case where
15191 we merged one add with another.
15192 (reload_combine_recognize_pattern): Fail if there aren't any uses.
15193 Try harder to determine whether we're picking a valid index register.
15194 Don't set store_ruid for an insn we're going to scan in the
15195 next iteration.
08bd6876
BS
15196 (reload_combine): Remove unused code.
15197 (reload_combine_note_use): When updating use information for
15198 an old insn, ignore a use that occurs after store_ruid.
15199 * Makefile.in (postreload.o): Update dependencies.
15200
dbb94435
BS
15201 * function.c (record_hard_reg_sets): Restrict the previous change
15202 to cases where the incoming nominal mode is the same as the
15203 incoming promoted mode and everything happens in MODE_INT.
15204
fcc71c6c
JJ
152052010-07-21 Jakub Jelinek <jakub@redhat.com>
15206
15207 PR debug/45015
15208 * var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
15209 ASM_OPERANDS_OUTPUT_IDX.
15210 (adjust_insn): For inline asm with multiple sets ensure first
15211 ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
15212 the insn.
15213
650b5329
RH
152142010-07-21 Richard Henderson <rth@redhat.com>
15215
15216 * config/i386/i386.c (setup_incoming_varargs_64): Emit a simple
15217 comparison for avoiding xmm register saves. Emit the xmm register
15218 saves explicitly.
15219 * config/i386/i386.md (UNSPEC_SSE_PROLOGUE_SAVE): Remove.
15220 (UNSPEC_SSE_PROLOGUE_SAVE_LOW): Remove.
15221 (sse_prologue_save, sse_prologue_save_insn1, sse_prologue_save_insn):
15222 Remove patterns and the associated splitters.
15223
7c6dafac
CF
152242010-07-21 Changpeng Fang <changpeng.fang@amd.com>
15225
15226 * tree-ssa-loop-prefetch.c (analyze_ref): Strip off the real
15227 and imagine parts of a complex, so that they can have the same
15228 base and fall into the same group.
15229
60f6be5a
RG
152302010-07-21 Richard Guenther <rguenther@suse.de>
15231
15232 PR lto/45018
15233 * tree.c (find_decls_types_r): Do not follow TREE_CHAIN
15234 of TYPE_DECLs. Do not follow TYPE_NEXT_VARIANT,
15235 TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL.
15236
75a75e91
MJ
152372010-07-21 Martin Jambor <mjambor@suse.cz>
15238
15239 PR tree-optimization/44900
15240 * tree-sra.c (load_assign_lhs_subreplacements): Updated comments.
15241 (sra_modify_assign): Move gsi to the next statmenent unconditionally.
15242
426797b2
BS
152432010-07-21 Bernd Schmidt <bernds@codesourcery.com>
15244
15245 PR middle-end/44738
15246 * tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message.
15247
35e3a6e9
RG
152482010-07-21 Richard Guenther <rguenther@suse.de>
15249
15250 PR middle-end/45013
15251 * tree-ssa.c (useless_type_conversion_p): Dispatch to
15252 gimple_types_compatible_p only when in lto.
15253 * gimple.c (gimple_types_compatible_p): Use canonical types
15254 to speed up comparison.
15255
3f2930d8
RG
152562010-07-21 Richard Guenther <rguenther@suse.de>
15257
15258 * tree-flow.h (referenced_var): Move define ...
15259 * tree-flow-inline.h (referenced_var): ... here as an inline
15260 function. Assert here ...
15261 * tree-dfa.c (referenced_var_lookup): ... instead of here.
15262 * tree-ssa.c (maybe_optimize_var): Check if the variable
15263 is in referenced vars.
15264 (execute_update_addresses_taken): Remove old broken check.
15265 * gimple-pretty-print.c (pp_points_to_solution): Use
15266 referenced_var_lookup.
15267 * tree-into-ssa.c (dump_decl_set): Likewise.
15268
370ae599
JJ
152692010-07-21 Jakub Jelinek <jakub@redhat.com>
15270
15271 PR debug/45003
a691bb08 15272 * var-tracking.c (reverse_op): Also handle {SIGN,ZERO}_EXTEND of a MEM.
370ae599
JJ
15273 * dwarf2out.c (loc_descriptor): Don't handle SIGN_EXTEND nor
15274 ZERO_EXTEND here.
15275
7703295f
RH
152762010-07-20 Richard Henderson <rth@redhat.com>
15277
15278 * vxworks.c (vxworks_emutls_var_fields): Pass locus to build_decls.
15279
16737e76
BS
152802010-07-20 Bernd Schmidt <bernds@codesourcery.com>
15281
15282 * config/arm/arm.md (thumb1_addsi3): Add alternative and split for
15283 computing the sum of the stack pointer and a large constant.
15284 * config/arm/constraints.md (M): Remove superfluous parentheses.
15285 (Pc): New constraint.
15286
1b47fe3f
JJ
152872010-07-20 Jakub Jelinek <jakub@redhat.com>
15288
15289 PR debug/45006
15290 * cfgexpand.c (expand_debug_expr): Only look at TYPE_UNSIGNED of
15291 operand's type if exp is tcc_unary class tree.
15292
97c56ee3
NF
152932010-07-20 Nathan Froyd <froydnj@codesourcery.com>
15294
15295 * config/rs6000/rs6000.md (abs<mode>2_isel, nabs<mode>2_isel):
15296 Reverse sense of if_then_else condition.
15297
d95016e0
NF
152982010-07-20 Nathan Froyd <froydnj@codesourcery.com>
15299
15300 * config/rs6000/rs6000.opt (mblock-move-inline-limit): New option.
15301 * config/rs6000/rs6000.c (rs6000_override_options): Set
15302 rs6000_block_move_inline_limit appropriately.
15303 (expand_block_move): Use rs6000_block_move_inline_limit.
15304 * doc/invoke.texi (mblock-move-inline-limit): Document.
15305
caa4a250
BS
153062010-07-20 Bernd Schmidt <bernds@codesourcery.com>
15307
15308 * postreload.c (fixup_debug_insns): Remove arg REGNO. New args
15309 FROM and TO. All callers changed. Don't look for tracked uses,
15310 just scan the RTL for DEBUG_INSNs and substitute.
15311 (reload_combine_recognize_pattern): Call fixup_debug_insns.
15312 (reload_combine): Ignore DEBUG_INSNs.
15313
68eaf35c
JJ
153142010-07-20 Jakub Jelinek <jakub@redhat.com>
15315
d2d57152
JJ
15316 * var-tracking.c (vt_expand_loc, vt_expand_loc_dummy): Bump maximum
15317 depth to 8 from 5.
15318
68eaf35c
JJ
15319 PR debug/45003
15320 * cfgexpand.c (expand_debug_expr) <case NOP_EXPR>: Use ZERO_EXTEND
15321 or SIGN_EXTEND depending on TYPE_UNSIGNED of the operand's type
15322 instead of the result's type.
15323
720151ca
RG
153242010-07-20 Richard Guenther <rguenther@suse.de>
15325
15326 PR tree-optimization/44977
15327 * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid
15328 SSA form.
15329
f5d6836a
RG
153302010-07-20 Richard Guenther <rguenther@suse.de>
15331
15332 * lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p.
15333 (lto_symtab_merge_decls_2): Likewise.
15334 * gimple.h (gimple_types_compatible_p): Declare.
15335 * gimple.c (gimple_queue_type_fixup): Remove.
15336 (gimple_fixup_complete_and_incomplete_subtype_p): Likewise.
bd3a5d17 15337 (gimple_compatible_complete_and_incomplete_type_p): New function.
f5d6836a
RG
15338 (gimple_types_compatible_p): Adjust.
15339 (gimple_register_type): Remove type fixup code.
15340 (print_gimple_types_stats): Adjust.
15341 (free_gimple_type_tables): Likewise.
15342 * lto-streamer-in.c (input_gimple_stmt): Use gimple_types_compatible_p.
15343 * tree-ssa.c (useless_type_conversion_p): Likewise.
15344
ad650c92
RG
153452010-07-20 Richard Guenther <rguenther@suse.de>
15346
15347 PR middle-end/44971
15348 PR middle-end/44988
15349 * tree-ssa.c (maybe_optimize_var): New function split out from ...
15350 (execute_update_addresses_taken): ... here.
15351 (non_rewritable_mem_ref_base): Likewise.
15352 (execute_update_addresses_taken): Do not iterate over all referenced
15353 vars but just all local decls and parms.
15354 Properly check call and asm arguments and rewrite call arguments.
15355
2c8f43e6
MK
153562010-07-20 Maxim Kuvyrkov <maxim@codesourcery.com>
15357
15358 * config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constants
15359 to top level.
15360 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific
15361 definitions ...
15362 * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here.
15363 New macro.
15364 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it.
15365
b08e0339
RS
153662010-07-19 Richard Sandiford <rdsandiford@googlemail.com>
15367
15368 * gengtype.c (start_root_entry): New function, split out from
15369 write_root. Check whether V is null and raise an error if so.
15370 (write_field_root): Check for V being null. Don't raise an error here;
15371 set V to null instead.
15372 (write_root): Update comment above function. Use start_root_entry.
15373
e74780a3
XDL
153742010-07-19 Xinliang David Li <davidxl@google.com>
15375
15376 PR testsuite/44932
bd3a5d17
UB
15377 * tree-ssa-uninit.c (collect_phi_def_edges): Fix bug collecting
15378 def edges.
e74780a3
XDL
15379 (find_uninit_use): Add dump.
15380 (is_use_properly_guarded): Ditto.
15381 (warn_uninitialized_phi): Ditto.
15382 (execute_late_warn_uninitialized): Ditto.
15383
8b4c365c
RG
153842010-07-19 Richard Guenther <rguenther@suse.de>
15385
15386 PR middle-end/44941
15387 * expr.c (emit_block_move_hints): Move zero size check first.
15388 Move asserts to more useful places.
15389 * calls.c (load_register_parameters): Check for zero size.
15390
157be8f6
RH
153912010-07-19 Richard Henderson <rth@redhat.com>
15392
15393 * tree-optimize.c (execute_all_early_local_passes): New. Change
15394 cgraph_state here ...
15395 (execute_early_local_optimizations): ... not here. Remove.
15396 (pass_early_local_passes, pass_all_early_optimizations): Update.
15397
b1d5eee8
BS
153982010-07-19 Bernd Schmidt <bernds@codesourcery.com>
15399
15400 * postreload.c (reload_combine_closest_single_use): Ignore the
15401 number of uses for DEBUG_INSNs.
15402 (fixup_debug_insns): New static function.
15403 (reload_combine_recognize_const_pattern): Use it. Don't let the
15404 main loop be affected by DEBUG_INSNs.
15405 Really disallow moving adds past a jump insn.
15406 (reload_combine_recognize_pattern): Don't update use_ruid here.
15407 (reload_combine_note_use): Do it here.
15408 (reload_combine): Use control_flow_insn_p rather than JUMP_P.
15409
0be955e7 154102010-07-19 Bingfeng Mei <bmei@broadcom.com>
157be8f6 15411
0be955e7 15412 * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
bd3a5d17
UB
15413 of a loop.
15414 * loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
0be955e7 15415
9005471b
IS
154162010-07-19 Iain Sandoe <iains@gcc.gnu.org>
15417
15418 * config/i386/darwin.h: Define darwin_emit_branch_islands.
15419 (TARGET_MACHO_BRANCH_ISLANDS): New.
15420 (FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS.
15421 * config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a
15422 default value.
15423 * config/i386/i386.c (output_pic_addr_const): Do not emit
15424 branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set.
15425 (x86_output_mi_thunk): Adjust symbol creation.
15426 * config/rs6000/darwin.h: Define darwin_emit_branch_islands.
15427 Remove out of date comment.
15428 * config/rs6000/rs6000.c (print_operand): Adjust symbol.
bd3a5d17
UB
15429 (DARWIN_LINKER_GENERATES_ISLANDS): Remove.
15430 (DARWIN_GENERATE_ISLANDS): Ditto.
9005471b
IS
15431 (output_call): Do not emit branch islands unless
15432 darwin_emit_branch_islands is set.
15433 * config/darwin.c: Declare darwin_emit_branch_islands.
15434 (machopic_indirect_data_reference): Do not emit unless
15435 darwin_emit_branch_islands is set.
15436 (darwin_override_options): Set darwin_emit_branch_islands
15437 where it is needed.
bd3a5d17 15438 * config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Remove.
9005471b 15439
39354b3b
RO
154402010-07-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15441
15442 * doc/sourcebuild.texi (Effective-Target Keywords): Document
15443 sse_runtime, sse2_runtime.
15444
93f63c68
RS
154452010-07-18 Richard Sandiford <rdsandiford@googlemail.com>
15446
15447 * config/mips/mips.c (mips16_build_call_stub): Zero-extend the
15448 low half of a single-register SCmode return value before ORing
15449 it with the high half.
15450 * config/mips/mips16.S (MERGE_GPRf): Likewise.
15451
84aa7cea
JDA
154522010-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15453
15454 PR target/44805
15455 * config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD
15456 on all targets.
15457
dc0d5a57
BS
154582010-07-17 Bernd Schmidt <bernds@codesourcery.com>
15459
15460 PR target/42235
15461 * postreload.c (reload_cse_move2add): Return bool, true if anything.
15462 changed. All callers changed.
15463 (move2add_use_add2_insn): Likewise.
15464 (move2add_use_add3_insn): Likewise.
15465 (reload_cse_regs): If reload_cse_move2add changed anything, rerun
15466 reload_combine.
15467 (RELOAD_COMBINE_MAX_USES): Bump to 16.
15468 (last_jump_ruid): New static variable.
15469 (struct reg_use): New members CONTAINING_MEM and RUID.
15470 (reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
15471 (reload_combine_split_one_ruid, reload_combine_split_ruids,
15472 reload_combine_purge_insn_uses, reload_combine_closest_single_use
15473 reload_combine_purge_reg_uses_after_ruid,
15474 reload_combine_recognize_const_pattern): New static functions.
15475 (reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
15476 is true for our reg and that we have available index regs.
15477 (reload_combine_note_use): New args RUID and CONTAINING_MEM. All
15478 callers changed. Use them to initialize fields in struct reg_use.
15479 (reload_combine): Initialize last_jump_ruid. Be careful when to
15480 take PREV_INSN of the scanned insn. Update REAL_STORE_RUID fields.
15481 Call reload_combine_recognize_const_pattern.
15482 (reload_combine_note_store): Update REAL_STORE_RUID field.
15483
d4404fee
JM
154842010-07-16 Jason Merrill <jason@redhat.com>
15485
15486 * Makefile.in (opts-common.o): Depend on options.h.
15487
6a4825bd
NF
154882010-07-16 Nathan Froyd <froydnj@codesourcery.com>
15489
15490 * tree.c (build_common_builtin_nodes): Use build_function_type_list
15491 instead of build_function_type.
15492 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
15493 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
15494
c5af628d
NF
154952010-07-16 Nathan Froyd <froydnj@codesourcery.com>
15496
15497 * config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
15498 do all the work.
15499 (rs6000_emit_int_cmove): Use function pointers for insn generation.
15500 Don't force values into registers unnecessarily.
15501 (output_isel): Assert that we're not given conditions we can't handle.
15502 Delete corresponding code.
15503 * config/rs6000/rs6000.md (isel_signed_<mode>): Use
15504 scc_comparison_operator constraint. Permit 0 for the consequent
15505 operand. Permit any GPR for the alternative operand.
15506 (isel_unsigned_<mode>): Likewise.
15507
88ad03c2
JJ
155082010-07-16 Jakub Jelinek <jakub@redhat.com>
15509
15510 PR target/44942
15511 * config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
15512 argument to const_tree.
15513 * config/i386/i386.c (function_arg_advance): If padding needs to be
15514 inserted before argument, increment cum->words by number of padding
15515 words as well.
15516 (contains_aligned_value_p): Change argument to const_tree.
15517 (ix86_function_arg_boundary): Change second argument to const_tree.
15518
71008de4
BS
155192010-07-16 Bernd Schmidt <bernds@codesourcery.com>
15520
15521 PR target/42235
15522 * function.c (record_hard_reg_sets): New static function.
15523 (assign_parm_setup_reg): If an optab for extending exists and the
15524 generated code clobbbers no hard regs, emit the insn directly and
15525 create a REG_EQUIV note.
15526
f7587ed0
NF
155272010-07-15 Nathan Froyd <froydnj@codesourcery.com>
15528
15529 * c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of
15530 TREE_CHAIN.
15531 * c-typeck.c (push_init_level): Likewise.
15532 (process_init_element): Likewise.
15533
9a9d280e
AS
155342010-07-15 Anatoly Sokolov <aesok@post.ru>
15535
15536 * tree.h (enum tree_index): Add TI_INTEGER_THREE.
15537 (integer_three_node): Add.
15538 * tree.c (build_common_tree_nodes_2): Use integer_type_node insead of
15539 NULL_TREE in build_int_cst calls. Initialize the integer_three_node.
15540 * builtins.c (expand_builtin_prefetch): Use common tree nodes instead
15541 of call build_int_cst.
15542 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto.
15543 * tree-ssa-loop-ivopts.c (idx_find_step): Ditto.
15544 (find_interesting_uses_address): Ditto.
15545 * tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto.
15546 * tree-eh.c (lower_eh_constructs_2): Ditto.
15547 * tree-vect-loop.c (get_initial_def_for_induction): Ditto.
15548 * c-typeck.c (really_start_incremental_init, push_init_level): Ditto.
15549 * expmed.c (expand_divmod): Ditto.
15550 * tree-mudflap.c (mx_register_decls): Ditto.
15551 * varasm.c (array_size_for_constructor): Ditto.
15552 * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
15553 * c-parser.c (c_parser_postfix_expression): Ditto.
15554
67bb0206
BS
155552010-07-15 Bernd Schmidt <bernds@codesourcery.com>
15556
15557 * postreload.c (last_label_ruid, first_index_reg, last_index_reg):
15558 New static variables.
15559 (reload_combine_recognize_pattern): New static function, broken out
15560 of reload_combine.
15561 (reload_combine): Use it. Only initialize first_index_reg and
15562 last_index_reg once.
15563
c5f77dcb
RH
155642010-07-15 Richard Henderson <rth@redhat.com>
15565
15566 * cgraphunit.c (cgraph_build_static_cdtor): Clear current_function_decl
15567 when done.
15568
ef8fc6c2
JH
155692010-07-15 Jan Hubicka <jh@suse.cz>
15570
bd3a5d17
UB
15571 * lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling
15572 comdats for broken gold.
15573 (lto_sy mtab_merge_decls_1): Set used_from_object_file correctly.
ef8fc6c2 15574
3d894a8e
NF
155752010-07-15 Nathan Froyd <froydnj@codesourcery.com>
15576
15577 * tree.h (TREE_RTL_OPERAND_CHECK): Delete.
15578
910ad8de
NF
155792010-07-15 Nathan Froyd <froydnj@codesourcery.com>
15580
15581 * tree.h (DECL_CHAIN): Define.
15582 * alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
15583 * c-decl.c: Likewise.
15584 * c-parser.c: Likewise.
15585 * c-typeck.c: Likewise.
15586 * cfgexpand.c: Likewise.
15587 * cgraph.c: Likewise.
15588 * cgraphunit.c: Likewise.
15589 * combine.c: Likewise.
15590 * config/alpha/alpha.c: Likewise.
15591 * config/arm/arm.c: Likewise.
15592 * config/frv/frv.c: Likewise.
15593 * config/i386/i386.c: Likewise.
15594 * config/i386/winnt-cxx.c: Likewise.
15595 * config/ia64/ia64.c: Likewise.
15596 * config/iq2000/iq2000.c: Likewise.
15597 * config/mep/mep.c: Likewise.
15598 * config/mips/mips.c: Likewise.
15599 * config/pa/som.h: Likewise.
15600 * config/rs6000/rs6000.c: Likewise.
15601 * config/s390/s390.c: Likewise.
15602 * config/sh/sh.c: Likewise.
15603 * config/sh/symbian-cxx.c: Likewise.
15604 * config/sparc/sparc.c: Likewise.
15605 * config/spu/spu.c: Likewise.
15606 * config/stormy16/stormy16.c: Likewise.
15607 * config/vxworks.c: Likewise.
15608 * config/xtensa/xtensa.c: Likewise.
15609 * coverage.c: Likewise.
15610 * dbxout.c: Likewise.
15611 * dwarf2out.c: Likewise.
15612 * emit-rtl.c: Likewise.
15613 * expr.c: Likewise.
15614 * function.c: Likewise.
15615 * gimple-low.c: Likewise.
15616 * gimple-pretty-print.c: Likewise.
15617 * gimplify.c: Likewise.
15618 * integrate.c: Likewise.
15619 * ipa-inline.c: Likewise.
15620 * ipa-prop.c: Likewise.
15621 * ipa-split.c: Likewise.
15622 * ipa-struct-reorg.c: Likewise.
15623 * ipa-type-escape.c: Likewise.
15624 * langhooks.c: Likewise.
15625 * lto-cgraph.c: Likewise.
15626 * omp-low.c: Likewise.
15627 * stor-layout.c: Likewise.
15628 * tree-cfg.c: Likewise.
15629 * tree-complex.c: Likewise.
15630 * tree-dfa.c: Likewise.
15631 * tree-dump.c: Likewise.
15632 * tree-inline.c: Likewise.
15633 * tree-mudflap.c: Likewise.
15634 * tree-nested.c: Likewise.
15635 * tree-object-size.c: Likewise.
15636 * tree-pretty-print.c: Likewise.
15637 * tree-sra.c: Likewise.
15638 * tree-ssa-live.c: Likewise.
15639 * tree-ssa-loop-niter.c: Likewise.
15640 * tree-ssa-math-opts.c: Likewise.
15641 * tree-ssa-reassoc.c: Likewise.
15642 * tree-ssa-sccvn.c: Likewise.
15643 * tree-ssa-structalias.c: Likewise.
15644 * tree-tailcall.c: Likewise.
15645 * tree-vrp.c: Likewise.
15646 * tree.c: Likewise.
15647 * var-tracking.c: Likewise.
15648 * varasm.c: Likewise.
15649
643afedb
UW
156502010-07-15 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15651
15652 PR target/44877
15653 * config/spu/spu.c (spu_expand_builtin_1): Allow references
15654 (as well as pointers) as argument to mask_for_load builtins.
15655
0ba0772b
RB
156562010-07-15 Richard Guenther <rguenther@suse.de>
15657
15658 PR tree-optimization/44946
15659 * tree-ssa-structalias.c (get_constraint_for_component_ref): Deal
15660 with accessing only padding properly.
15661
02ee7bea
JH
156622010-07-15 Jan Hubicka <jh@suse.cz>
15663
0ba0772b
RB
15664 * ipa.c (function_and_variable_visibility): Variables marked as used
15665 should not be localized.
02ee7bea 15666
99fecd47
JH
156672010-07-15 Jan Hubicka <jh@suse.cz>
15668
15669 * cgraph.c: Include lto-streamer.h
15670 (change_decl_assembler_name): Work when assembler name hash is at place.
bd3a5d17
UB
15671 (cgraph_make_decl_local): When localizing COMDAT symbol at WPA stage,
15672 be sure to rename it to avoid name clash.
99fecd47
JH
15673 * ipa.c (cgraph_externally_visible_p, function_and_variable_visibility):
15674 Localize hidden symbols only when locally defined.
15675
53f00dde
UB
156762010-07-15 Uros Bizjak <ubizjak@gmail.com>
15677
15678 * config/i386/i386.h (SHIFT_COUNT_TRUNCATED): Expand comment.
15679
8ffadef9
MG
156802010-07-15 Magnus Granberg <zorry@gentoo.org>
15681 Kevin F. Quinn <kevquinn@gentoo.org>
15682
53f00dde
UB
15683 * builtins.c (expand_builtin_init_trampoline): Warn for -Wtrampolines.
15684 * common.opt: Add -Wtrampolines.
15685 * doc/invoke.texi: Add -Wtrampolines.
8ffadef9 15686
5cb55204
JZ
156872010-07-15 Jie Zhang <jie@codesourcery.com>
15688
15689 * config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve
15690 cortex_a8_issue_ls.
15691
4c4837a3
DK
156922010-07-15 Dave Korn <dave.korn.cygwin@gmail.com>
15693
15694 * config/i386/cygwin.h (LIBGCJ_SONAME): Update.
15695 * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
15696
588c71da
UW
156972010-07-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15698
15699 * config/spu/spu.c (reg_names): Remove prototype.
15700 (call_used_regs): Likewise.
15701
a9c5db80
DK
157022010-07-14 Dave Korn <dave.korn.cygwin@gmail.com>
15703
15704 * config/i386/cygming-crtend.c (__FRAME_END__): Replace attribute
15705 "unused" with attribute "used".
15706 (__JCR_END__): Likewise.
15707 * config/i386/cygming-crtbegin.c (__EH_FRAME_BEGIN__): Add missing
15708 "used" attribute.
15709 (__JCR_LIST__): Replace attribute "unused" with attribute "used".
15710
61593e5e
RG
157112010-07-14 Richard Guenther <rguenther@suse.de>
15712
15713 * lto-streamer-in.c (maybe_fixup_handled_component): Remove.
15714 (maybe_fixup_decls): Likewise.
15715 (input_gimple_stmt): Do not fixup anything.
15716 * lto-streamer-out.c (output_gimple_stmt): Make sure all
15717 non-automatic variable uses are wrapped inside a MEM_REF.
15718
fc7fcda1
RH
157192010-07-14 Richard Henderson <rth@redhat.com>
15720
15721 * passes.c (rest_of_decl_compilation): Do not call assemble_variable
15722 for functions.
15723 * varasm.c (assemble_variable): Remove early exit for functions;
15724 assert that we're given a variable.
15725
eab3f92e
JZ
157262010-07-14 Jie Zhang <jie@codesourcery.com>
15727
15728 * config/arm/cortex-a8.md (cortex_a8_alu): Don't use
15729 cortex_a8_default when neon_type is not none.
15730
402464a0
BS
157312010-07-14 Bernd Schmidt <bernds@codesourcery.com>
15732
15733 * lower-subreg.c (subreg_context): New static bitmap.
15734 (decompose_multiword_subregs): Allocate and free it.
15735 (find_decomposable_subregs): Set a bit in it for a register that
15736 occurs in a subreg that changes mode but not size.
15737 (can_decompose_p): Test it instead of non_decomposable_context.
15738
bf9899d4
RG
157392010-07-14 Richard Guenther <rguenther@suse.de>
15740
15741 PR tree-optimization/44824
15742 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Use
15743 is_gimple_mem_ref_addr.
15744 (tree_ssa_forward_propagate_single_use_vars): Do not propagate
15745 non-decl_address_invariant_p addresses.
15746
b1c8622e
BS
157472010-07-14 Bernd Schmidt <bernds@codesourcery.com>
15748
15749 * reload.c (find_reloads): Revert code to penalize small register
15750 classes that was brought in with the IRA merge.
15751
2bd6311d
RG
157522010-07-14 Richard Guenther <rguenther@suse.de>
15753
15754 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle MEM_REF
15755 as base of ARRAY_REFs.
15756
f051cb5d
RG
157572010-07-14 Richard Guenther <rguenther@suse.de>
15758
15759 PR middle-end/44930
15760 * tree-pretty-print.c (do_niy): Do not print a newline.
15761
a49ae217
BS
157622010-07-14 Bernd Schmidt <bernds@codesourcery.com>
15763
15764 * ira-int.h (struct ira_object): New.
53f00dde 15765 (ira_object_t): New typedef. Add DEF_VEC_P and DEF_VEC_ALLOC_P for it.
a49ae217
BS
15766 (struct ira_allocno): Remove members min, max,
15767 conflict_allocno_array, conflict_id, conflict_allocno_array_size,
15768 conflict_allocnos_num and conflict_vec_p. Add new member object.
15769 (OBJECT_CONFLICT_ARRAY, OBJECT_CONFLICT_VEC_P,
15770 OBJECT_NUM_CONFLICTS, OBJECT_CONFLICT_ARRAY_SIZE,
15771 OBJECT_CONFLICT_HARD_REGS, OBJECT_TOTAL_CONFLICT_HARD_REGS,
15772 OBJECT_MIN, OBJECT_MAX, OBJECT_CONFLICT_ID): Renamed from
15773 ALLOCNO_CONFLICT_ALLOCNO_ARRAY, ALLOCNO_CONFLICT_VEC_P,
15774 ALLOCNO_CONFLICT_ALLOCNOS_NUM, ALLOCNO_CONFLICT_ALLOCNO_ARRAY_SIZE,
15775 ALLOCNO_CONFLICT_HARD_REGS, ALLOCNO_TOTAL_CONFLICT_HARD_REGS)
15776 ALLOCNO_MIN, ALLOCNO_MAX, and ALLOCNO_CONFLICT_ID; now operate on
15777 an ira_object_t rather than ira_allocno_t. All uses changed.
15778 (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
15779 contains a vector of ira_object_t; all uses changed.
15780 (ira_objects_num): Declare variable.
15781 (ira_create_allocno_object): Declare function.
15782 (ira_conflict_vector_profitable_p): Adjust prototype.
15783 (ira_allocate_conflict_vec): Renamed from
15784 ira_allocate_allocno_conflict_vec; first arg now ira_object_t.
15785 (ira_allocate_object_conflicts): Renamed from
15786 ira_allocate_allocno_conflicts; first arg now ira_object_t.
15787 (struct ira_object_iterator): New.
15788 (ira_object_iter_init, ira_object_iter_cond, FOR_EACH_OBJECT): New.
15789 (ira_allocno_conflict_iterator): Renamed member allocno_conflict_vec_p
15790 to conflict_vec_p. All uses changed.
15791 (ira_allocno_conflict_iter_init, ira_allocno_conflict_iter_cond):
15792 Changed to take into account that conflicts are now tracked for
15793 objects.
53f00dde
UB
15794 * ira-conflicts.c (OBJECTS_CONFLICT_P): Renamed from CONFLICT_ALLOCNO_P.
15795 Args changed to accept ira_object_t. All uses changed.
a49ae217
BS
15796 (allocnos_conflict_p): New static function.
15797 (collected_conflict_objects): Renamed from collected_allocno_objects;
15798 now a vector of ira_object_t. All uses changed.
15799 (build_conflict_bit_table): Changed to take into account that
15800 conflicts are now tracked for objects.
15801 (process_regs_for_copy, propagate_copies, build_allocno_conflicts)
15802 (print_allocno_conflicts, ira_build_conflicts): Likewise.
15803 * ira-color.c (assign_hard_reg, setup_allocno_available_regs_num)
15804 setup_allocno_left_conflicts_size, allocno_reload_assign,
15805 fast_allocation): Likewise.
15806 * ira-lives.c (make_hard_regno_born, make_allocno_born)
15807 process_single_reg_class_operands, process_bb_node_lives): Likewise.
15808 * ira-emit.c (modify_move_list, add_range_and_copies_from_move_list):
15809 Likewise.
15810 * ira-build.c (ira_objects_num): New variable.
15811 (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
15812 contains a vector of ira_object_t; all uses changed.
15813 (ira_object_id_map_vec): Corresponding change.
15814 (object_pool): New static variable.
15815 (initiate_allocnos): Initialize it.
15816 (finish_allocnos): Free it.
15817 (ira_create_object, ira_create_allocno_object, create_allocno_objects):
15818 New functions.
15819 (ira_create_allocno): Don't set members that were removed.
15820 (ira_set_allocno_cover_class): Don't change conflict hard regs.
15821 (merge_hard_reg_conflicts): Changed to take into account that
15822 conflicts are now tracked for objects.
15823 (ira_conflict_vector_profitable_p, ira_allocate_conflict_vec,
15824 allocate_conflict_bit_vec, ira_allocate_object_conflicts,
15825 compress_conflict_vecs, remove_low_level_allocnos, ira_flattening,
15826 setup_min_max_allocno_live_range_point, allocno_range_compare_func,
15827 setup_min_max_conflict_allocno_ids, ): Likewise.
53f00dde 15828 (add_to_conflicts): Renamed from add_to_allocno_conflicts, args changed
a49ae217
BS
15829 to ira_object_t; all callers changed.
15830 (ira_add_conflict): Renamed from ira_add_allocno_conflict, args changed
15831 to ira_object_t, all callers changed.
15832 (clear_conflicts): Renamed from clear_allocno_conflicts, arg changed
15833 to ira_object_t, all callers changed.
15834 (conflict_check, curr_conflict_check_tick): Renamed from
15835 allocno_conflict_check and curr_allocno_conflict_check_tick; all uses
15836 changed.
15837 (compress_conflict_vec): Renamed from compress_allocno_conflict_vec,
15838 arg changed to ira_object_t, all callers changed.
15839 (create_cap_allocno): Call ira_create_allocno_object.
15840 (finish_allocno): Free the corresponding object.
15841 (sort_conflict_id_map): Renamed from sort_conflict_id_allocno_map; all
15842 callers changed. Adjusted for dealing with objects.
15843 (ira_build): Call create_allocno_objects after ira_costs. Adjusted for
15844 dealing with objects.
15845 * ira.c (ira_bad_reload_regno_1): Adjusted for dealing with objects.
15846
53f00dde
UB
15847 * ira-int.h (struct live_range): Rename allocno member to object
15848 and change type to ira_object_t.
9140d27b
BS
15849 (struct ira_object): New member live_ranges.
15850 (struct ira_allocno): Remove member live_ranges.
15851 (ALLOCNO_LIVE_RANGES): Remove.
15852 (OBJECT_LIVE_RANGES): New macro.
15853 (ira_create_live_range, ira_copy_live_range_list,
15854 ira_merge_live_range_list, ira_live_ranges_intersect_p,
15855 ira_finish_live_range, ira_finish_live_range_list): Adjust declarations.
15856 * ira-build.c (ira_create_object): Initialize live ranges here.
15857 (ira_create_allocno): Not here.
15858 (ira_create_live_range): Rename from ira_create_allocno_live_range, arg
15859 changed to ira_object_t, all callers changed.
15860 (copy_live_range): Rename from copy_allocno_live_range, all callers
15861 changed.
53f00dde
UB
15862 (ira_copy_live_range_list): Rename from
15863 ira_copy_allocno_live_range_list, all callers changed.
9140d27b
BS
15864 (ira_merge_live_ranges): Rename from ira_merge_allocno_live_range_list,
15865 all callers changed.
15866 (ira_live_ranges_intersect_p): Rename from
15867 ira_allocno_live_ranges_intersect_p, all callers changed.
15868 (ira_finish_live_range): Rename from ira_finish_allocno_live_range, all
15869 callers changed.
15870 (ira_finish_live_range_list): Rename from
15871 ira_finish_allocno_live_range_list, all callers changed.
15872 (change_object_in_range_list): Rename from change_allocno_in_range_list,
15873 last arg changed to ira_object_t, all callers changed.
15874 (finish_allocno): Changed to expect live ranges in the allocno's object.
15875 (move_allocno_live_ranges, copy_allocno_live_ranges,
15876 update_bad_spill_attribute, setup_min_max_allocno_live_range_point,
15877 ira_flattening, ira_build): Likewise.
15878 * ira-color.c (allocnos_have_intersected_live_ranges_p,
15879 slot_coalesced_allocno_live_ranges_intersect,
15880 setup_slot_coalesced_allocno_live_ranges, fast_allocation): Likewise.
15881 * ira-conflicts.c (build_conflict_bit_table): Likewise.
15882 * ira-emit.c (add_range_and_copies_from_move_list): Likewise.
15883 * ira-lives.c (make_allocno_born, update_allocno_pressure_excess_length,
15884 make_allocno_dead, create_start_finish_chains,
15885 remove_some_program_points_and_update_live_ranges,
15886 ira_debug_live_range_list): Likewise.
15887
fa86d337
BS
15888 * ira-int.h (ira_object_conflict_iterator): Rename from
15889 ira_allocno_conflict_iterator.
15890 (ira_object_conflict_iter_init): Rename from
15891 ira_allocno_conflict_iter_init, second arg changed to
15892 * ira.c (check_allocation): Use FOR_EACH_OBJECT_CONFLICT rather than
15893 FOR_EACH_ALLOCNO_CONFLICT.
15894 * ira-color.c (assign_hard_reg, push_allocno_to_stack)
15895 setup_allocno_left_conflicts_size, coalesced_allocno_conflict_p,
15896 ira_reassign_conflict_allocnos, ira_reassign_pseudos): Likewise.
15897 * ira-conflicts.c (print_allocno_conflicts): Likewise.
15898
c31c32f9
JR
158992010-07-13 Joern Rennecke <joern.rennecke@embecosm.com>
15900
15901 PR other/44874
15902 * tree-dump.c (dump_options): Add enumerate_locals entry.
15903 Add TDF_NOID exclusion to all entry.
15904 * tree-dump.h (dump_enumerated_decls): Declare.
15905 * tree-pretty-print.c (dump_generic_node): For TDF_NOID,
15906 Don't display type uid.
15907 (print_declaration): Don't crash on TREE_TYPE (t) == 0.
15908 * tree-pass.h (TDF_ENUMERATE_LOCALS): Define.
15909 * tree-ssa-live.c: Include gimple.h.
15910 (numbered_tree_d): New struct.
15911 (numbered_tree): New typedef.
15912 (DEF_VEC_O (numbered_tree): New.
15913 (DEF_VEC_ALLOC_O (numbered_tree, heap)): Likewise.
15914 (compare_decls_by_uid, dump_enumerated_decls_push): New functions.
15915 (dump_enumerated_decls): Likewise.
15916 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): If comparing
15917 debug info and flag_dump_final_insns, call dump_enumerated_decls.
15918 * tree-cfg.c (dump_function_to_file): Call dump_enumerated_decls.
15919 * Makefile.in (tree-ssa-live.o): Depend on $(GIMPLE_H).
15920
d1465187
RS
159212010-07-13 Richard Sandiford <rdsandiford@googlemail.com>
15922
15923 * expmed.h (MAX_BITS_PER_WORD): Move to...
15924 * defaults.h (MAX_BITS_PER_WORD): ...here.
15925
0685e770
DD
159262010-07-13 DJ Delorie <dj@redhat.com>
15927
15928 * config/h8300/h8300.c (h8300_init_once): Default to
15929 -fstrict_volatile_bitfields.
15930
15931 * config/sh/sh.c (sh_override_options): Default to
15932 -fstrict_volatile_bitfields.
15933
15934 * config/rx/rx.c (rx_option_override): New.
15935
15936 * config/m32c/m32c.c (m32c_override_options): Default to
15937 -fstrict_volatile_bitfields.
15938
3bb06db4
NF
159392010-07-13 Nathan Froyd <froydnj@codesourcery.com>
15940
15941 * tree.h (build_function_call_expr): Delete.
15942 (build_call_expr_loc_array): New function.
15943 (build_call_expr_loc_vec): New function.
15944 * tree-flow.h (struct omp_region): Change type of ws_args field
15945 to a VEC.
15946 * builtins.c (build_function_call_expr): Delete.
15947 (build_call_expr_loc_array): New function.
15948 (build_call_expr_loc): Call it. Use XALLOCAVEC.
15949 (build_call_expr): Likewise.
15950 (build_call_expr_loc_vec): New function.
15951 * cgraphunit.c (build_cdtor): Call build_call_expr instead of
15952 build_function_call_expr.
15953 * expr.c (emutls_var_address): Likewise.
15954 * varasm.c (emutls_common_1): Likewise.
15955 * omp-low.c (expand_omp_atomic_mutex): Likewise.
15956 (expand_omp_taskreg): Adjust for new type of region->ws_args.
15957 (get_ws_args_for): Return a VEC instead of a tree.
15958 (expand_parallel_call): Call build_call_expr_loc_vec instead of
15959 build_function_call_expr.
15960 * stor-layout.c (self_referential_size): Likewise.
15961
c55c061a
JJ
159622010-07-13 Jakub Jelinek <jakub@redhat.com>
15963
15964 PR testsuite/44701
15965 * recog.c (constrain_operands): Allow side-effects in memory
15966 operands if either < or > constraint is used, rather than if
15967 both < and > is used.
15968
2eb0b984
RG
159692010-07-13 Richard Guenther <rguenther@suse.de>
15970
15971 PR middle-end/44911
15972 * tree-pretty-print.c (dump_generic_node): Use TDF_SLIM for
15973 MEM_REF pointer type dumping. Avoid recursing for TYPE_DECLs
15974 without name.
15975
535b951f
KK
159762010-07-13 Kaz Kojima <kkojima@gcc.gnu.org>
15977
15978 PR target/44761
15979 * mode-switching.c (optimize_mode_switching): Add ATTRIBUTE_UNUSED
15980 to variable emited.
15981 * config/sh/sh.c (sh_expand_epilogue): Remove unused variable.
15982 * config/sh/sh.md (symGOT_load): Likewise.
15983 (symDTPOFF2reg): Likewise.
15984 (symTPOFF2reg): Likewise.
15985
6d06590d
RR
159862010-07-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15987
15988 * expmed.c (MAX_BITS_PER_WORD): Moved to expmed.h.
15989 * expmed.h (MAX_BITS_PER_WORD): Moved from expmed.c.
15990
ea2d8f12
RO
159912010-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15992
15993 * config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
15994 explanation.
15995 Find ucontext_t * on Solaris 11.
15996 (x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
15997 Handle new Solaris 11 __sighndlr patterns.
15998
2fed2012
JJ
159992010-07-13 Jakub Jelinek <jakub@redhat.com>
16000
16001 PR debug/44901
16002 * vec.h (VEC_block_remove): Fix comment.
16003 * tree-ssa-live.c (remove_unused_locals): Don't use
16004 VEC_unordered_remove on local_decls, instead replace a single
16005 vector element in each iteration if at least one element had
16006 to be removed and VEC_truncate at the end.
16007 * omp-low.c (expand_omp_taskreg): Likewise.
16008
cc343f65
MLI
160092010-07-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
16010
16011 * c-decl.c (finish_function): Fix typo in comment.
a691bb08 16012
5676e87d
L
160132010-07-12 H.J. Lu <hongjiu.lu@intel.com>
16014
16015 PR bootstrap/44921
16016 * postreload.c (move2add_use_add3_insn): Silence gcc warning
16017 on min_regno.
16018
8556f58f
JJ
160192010-07-12 Jakub Jelinek <jakub@redhat.com>
16020
16021 * tree-vrp.c (simplify_bit_ops_using_ranges): New function.
16022 (simplify_stmt_using_ranges): Use it.
16023
8dc9f5bd
UW
160242010-07-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16025
16026 * config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
16027 member. Do not mark as GTY(()).
16028 * config/spu/spu.c (spu_builtins): Remove FNDECL initializer elements.
16029 (spu_builtin_decls): New static variable.
16030 (spu_builtin_decl): Use it instead of spu_builtins[].fndecl.
16031 (spu_init_builtins): Likewise.
16032 (spu_builtin_mul_widen_even): Likewise.
16033 (spu_builtin_mul_widen_odd): Likewise.
16034 (spu_builtin_mask_for_load): Likewise.
16035 (spu_builtin_vec_perm): Likewise.
16036 * config/spu/spu-c.c: Include "target.h".
16037 (spu_resolve_overloaded_builtin): Call targetm.builtin_decl instead
16038 of using spu_builtins[].fndecl.
16039
ac9b0eea
RS
160402010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16041
16042 * config/mips/mips.c (mips_override_options): Make -mflip-mips16
16043 imply -minterlink-mips16.
16044
5aa62249
RS
160452010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16046
16047 * config/mips/mips.h (mips16_globals): Declare.
16048 (SWITCHABLE_TARGET): Define.
16049 * config/mips/mips.c: Include target-globals.h.
16050 (mips16_globals): New variable.
16051 (mips_set_mips16_mode): Use save_target_globals and
16052 restore_target_globals instead of target_reinit.
16053
77f55879
RS
160542010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16055
16056 * reginfo.c (init_reg_sets): Don't zero globals here. Update comment
16057 to say that the function can be called more than once.
16058 * target-globals.c (save_target_globals): Call init_reg_sets.
16059
76ee381a
RS
160602010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16061
16062 * Makefile.in (bb-reorder.o, target-globals.o): Depend on bb-reorder.h
16063 * bb-reorder.h: New file.
16064 * bb-reorder.c (default_target_bb_reorder): New variable.
16065 (this_target_bb_reorder): New conditional variable.
16066 (uncond_jump_length): Redefine as a macro.
16067 * target-globals.h (this_target_bb_reorder): Declare.
16068 (target_globals): Add a bb_reorder field.
16069 (restore_target_globals): Copy the bb_reorder field to
16070 this_target_bb-reorder.
16071 * target-globals.c: Include bb-reorder.h.
16072 (default_target_globals): Initialize the bb_reorder field.
16073 (save_target_globals): Likewise.
16074
7c6811fe
RS
160752010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16076
16077 * Makefile.in (gcse.o, target-globals.o): Depend on gcse.h..
16078 * gcse.h: New file.
16079 * gcse.c: Include gcse.h.
16080 (default_target_gcse): New variable.
16081 (this_target_gcse): New conditional variable.
16082 (can_copy): Redefine as a macro.
16083 (can_copy_init_p): New macro.
16084 (can_copy_p): Remove can_copy_init_p.
16085 * target-globals.h (this_target_gcse): Declare.
16086 (target_globals): Add a gcse field.
53f00dde 16087 (restore_target_globals): Copy the gcse field to this_target_gcse.
7c6811fe
RS
16088 * target-globals.c: Include gcse.h.
16089 (default_target_globals): Initialize the gcse field.
16090 (save_target_globals): Likewise.
16091
15e7b94f
RS
160922010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16093
16094 * ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs
16095 and x_ira_prohibited_mode_move_regs_initialized_p.
16096 (ira_prohibited_mode_move_regs): Redefine as a macro.
16097 * ira.c (ira_prohibited_mode_move_regs): Delete.
16098 (ira_prohibited_mode_move_regs_initialized_p): Redefine as a macro.
16099
cc14227f
RS
161002010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16101
16102 * reload.h (target_reload): Add x_cached_reg_save_code and
16103 x_cached_reg_restore_code.
16104 * caller-save.c (cached_reg_save_code, cached_reg_restore_code):
16105 Redefine as macros.
16106
fa19795e
RS
161072010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16108
16109 * Makefile.in (target-globals.o): Depend on builtins.h.
16110 * builtins.h: New file.
16111 * builtins.c: Include builtins.h.
16112 (default_target_builtins): New variable.
16113 (this_target_builtins): New conditional variable.
16114 (apply_args_mode, apply_result_mode): Redefine as macros.
16115 * target-globals.h (this_target_builtins): Declare.
16116 (target_globals): Add a builtins field.
16117 (restore_target_globals): Copy the builtins field to
16118 this_target_builtins.
16119 * target-globals.c: Include builtins.h.
16120 (default_target_globals): Initialize the builtins field.
16121 (save_target_globals): Likewise.
16122
c371bb73
RS
161232010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16124
16125 * expmed.h (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST)
16126 (algorithm, alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved
16127 from expmed.c.
16128 (target_expmed): Add x_alg_hash and x_alg_hash_used_p.
16129 (alg_hash, alg_hash_used_p): New macros.
16130 * expmed.c (init_expmed): Clear alg_hash if reinitializing.
16131 (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST, algorithm)
16132 (alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved to expmed.h.
16133
aa1c5d72
RS
161342010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16135
16136 * ira-int.h (target_ira_int): Add x_max_struct_costs_size, x_init_cost,
16137 x_temp_costs, x_op_costs, x_this_op_costs and x_cost_classes.
16138 * ira-costs.c (max_struct_costs_size, init_cost, temp_costs, op_costs)
16139 (this_op_costs, costs_classes): Redefine as macros.
16140 (record_reg_classes): Don't take op_costs as a parameter.
16141 (record_operand_costs): Likewise. Update calls to record_reg_classes.
16142 (scan_one_insn): Update call to record_operand_costs.
16143
afcc66c4
RS
161442010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16145
16146 * Makefile.in (target-globals.o): Depend on $(IRA_INT_H).
16147 * ira-int.h (ira_max_nregs, ira_important_class_nums): Delete.
16148 (target_ira_int): New structure.
16149 (default_target_ira_int): Declare.
16150 (this_target_ira_int): Declare as a variable or define as a macro.
16151 (ira_reg_mode_hard_regset, ira_register_move_cost)
16152 (ira_may_move_in_cost, ira_may_move_out_cost, ira_class_subset_p)
16153 (ira_non_ordered_class_hard_regs, ira_class_hard_reg_index)
16154 (prohibited_class_mode_regs, ira_important_classes_num)
16155 (ira_important_classes, ira_reg_class_intersect)
16156 (ira_reg_classes_intersect_p, ira_reg_class_super_classes)
16157 (ira_reg_class_union): Redefine as macros.
16158 * ira.h (target_ira): New structure.
16159 (default_target_ira): Declare.
16160 (this_target_ira): Declare as a variable or define as a macro.
16161 (ira_available_class_regs, ira_hard_regno_cover_class)
16162 (ira_reg_class_cover_size, ira_reg_class_cover, ira_class_translate)
16163 (ira_reg_class_nregs, ira_memory_move_cost, ira_class_hard_regs)
16164 (ira_class_hard_regs_num): Redefine as macros.
16165 * ira.c (default_target_ira, default_target_ira_int): New variables.
16166 (this_target_ira, this_target_ira_int): New conditional variables.
16167 (ira_reg_mode_hard_regset, ira_memory_move_cost)
16168 (ira_register_move_cost, ira_may_move_in_cost, ira_may_move_out_cost)
16169 (ira_class_subset_p): Delete.
16170 (no_unit_alloc_regs): Redefine as a macro.
16171 (ira_class_hard_regs, ira_non_ordered_class_hard_regs)
16172 (ira_class_hard_regs_num, ira_class_hard_reg_index)
16173 (ira_available_class_regs): Delete.
16174 (alloc_reg_class_subclasses): Redefine as a macro.
16175 (ira_reg_class_cover_size, ira_reg_class_cover)
16176 (ira_important_classes_num, ira_important_classes)
16177 (ira_important_class_nums, ira_class_translate): Delete.
16178 (cover_class_order): Document the variable's lifetime.
16179 (reorder_important_classes): Don't set ira_important_class_nums.
16180 (ira_reg_class_intersect, ira_reg_classes_intersect_p)
16181 (ira_reg_class_super_classes, ira_reg_class_union)
16182 (ira_hard_regno_cover_class, ira_reg_class_nregs, ira_max_nregs):
16183 Delete.
16184 (setup_reg_class_nregs): Don't set ira_max_regs.
16185 (prohibited_class_mode_regs): Delete.
16186 * target-globals.h (this_target_ira, this_target_ira_int): Declare.
16187 (target_globals): Add ira and ira_int fields.
16188 (restore_target_globals): Copy the ira field to this_target_ira
16189 and the ira_int field to this_target_ira_int.
16190 * target-globals.c: Include ira-int.h.
16191 (default_target_globals): Initialize the ira and ira_int fields.
16192 (save_target_globals): Likewise.
16193
4391924a
RS
161942010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16195
16196 * Makefile.in (target-globals.o): Depend on $(CFGLOOP_H).
16197 * cfgloop.h (target_cfgloop): New structure.
16198 (default_target_cfgloop): Declare.
16199 (this_target_cfgloop): Declare as a variable or define as a macro.
16200 (target_avail_regs, target_clobbered_regs, target_res_regs)
16201 (target_reg_cost, target_spill_cost): Redefine as macros.
16202 * cfgloopanal.c (default_target_cfgloop): New variable.
16203 (this_target_cfgloop): New conditional variable.
16204 (target_avail_regs, target_clobbered_regs, target_res_regs)
16205 (target_reg_cost, target_spill_cost): Delete.
16206 * target-globals.h (this_target_cfgloop): Declare.
16207 (target_globals): Add a cfgloop field.
16208 (restore_target_globals): Copy the cfgloop field to
16209 this_target_cfgloop.
16210 * target-globals.c: Include cfgloop.h.
16211 (default_target_globals): Initialize the cfgloop field.
16212 (save_target_globals): Likewise.
16213
9d86796b
RS
162142010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16215
16216 * regs.h (target_regs): Add x_direct_load, x_direct_store and
16217 x_float_extend_from_mem.
16218 (direct_load, direct_store, float_extend_from_mem): New macros.
16219 * expr.c (direct_load, direct_store, float_extend_from_mem): Delete.
16220
3e9c326a
RS
162212010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16222
16223 * Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H).
16224 (target-globals.o): Depend on $(LIBFUNCS_H).
16225 * libfuncs.h: Include hashtab.h.
16226 (libfunc_entry): Moved from optabs.c.
16227 (target_libfuncs): New structure.
16228 (default_target_libfuncs): Declare.
16229 (this_target_libfuncs): Declare as a variable or define as a macro.
16230 (libfunc_table): Redefine as a macro.
16231 * optabs.c (default_target_libfuncs): New variable.
16232 (this_target_libfuncs): New conditional variable.
16233 (libfunc_table): Delete.
16234 (libfunc_entry): Moved to optabs.h.
16235 (libfunc_hash): Redefine as a macro.
16236 (hash_libfunc, eq_libfunc): Fix comments.
16237 (init_optabs): Use libfunc_hash to detect cases where the function
16238 has already been called. Clear the hash table instead of
16239 recreating it.
16240 * target-globals.h (this_target_libfuncs): Declare.
16241 (target_globals): Add a libfuncs field.
16242 (restore_target_globals): Copy the libfuncs field to
16243 this_target_libfuncs.
16244 * target-globals.c: Include libfuncs.h.
16245 (default_target_globals): Initialize the libfuncs field.
16246 (save_target_globals): Likewise.
16247
9f7f1892
RS
162482010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16249
16250 * Makefile.in (LIBFUNCS_H): New variable. Use instead of libfuncs.h
16251 in all dependency lists.
16252
4bcbfa03
RS
162532010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16254
16255 * Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
16256 * optabs.h (target_optabs): New structure.
16257 (default_target_optabs): Declare.
16258 (this_target_optabs): Declare as a variable or define as a macro.
16259 (optab_table, convert_optab_table, direct_optab_table): Redefine
16260 as macros.
16261 * optabs.c (default_target_optabs): New variable.
16262 (this_target_optabs): New conditional variable.
16263 (optab_table, convert_optab_table, direct_optab_table): Delete.
16264 * target-globals.h (this_target_optabs): Declare.
16265 (target_globals): Add a optabs field.
16266 (restore_target_globals): Copy the optabs field to
16267 this_target_optabs.
16268 * target-globals.c: Include expr.h and optabs.h.
16269 (default_target_globals): Initialize the optabs field.
16270 (save_target_globals): Likewise.
16271
b6609375
RS
162722010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16273
16274 * flags.h (target_flagstate): Add x_flag_excess_precision.
16275 (flag_excess_precision): Redefine as a macro.
16276 * toplev.c (flag_excess_precision): Delete.
16277
bcbaaba1
RS
162782010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16279
16280 * defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined.
16281 * libgcc2.c (MIN_UNITS_PER_WORD): Delete.
16282 * hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set.
16283 (no_caller_save_reg_set): Redefine as a macro.
16284 * reload.h (target_reload): Add x_caller_save_initialized_p and
16285 x_regno_save_mode.
16286 (caller_save_initialized_p): Redefine as a macro.
16287 * caller-save.c (caller_save_initialized_p, no_caller_save_reg_set)
16288 (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete.
16289 (regno_save_mode): Redefine as a macro.
16290
462f85ce
RS
162912010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16292
16293 * Makefile.in (expmed.o, target-globals.o): Depend on expmed.h.
16294 * expmed.h: New file.
16295 * expmed.c (default_target_costs): New variable.
16296 (this_target_costs): New conditional variable.
16297 (sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost, neg_cost)
16298 (shift_cost, shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost)
16299 (sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete.
16300 * target-globals.h (this_target_expmed): Declare.
16301 (target_globals): Add a expmed field.
16302 (restore_target_globals): Copy the expmed field to
16303 this_target_expmed.
16304 * target-globals.c: Include expmed.h.
16305 (default_target_globals): Initialize the expmed field.
16306 (save_target_globals): Likewise.
16307
d474db84
RS
163082010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16309
16310 * Makefile.in (target-globals.o): Depend on reload.h.
16311 * reload.h (target_reload): New structure.
16312 (default_target_reload): Declare.
16313 (this_target_reload): Declare as a variable or define as a macro.
16314 (indirect_symref_ok, double_reg_address_ok): Redefine as macros.
16315 * reload1.c (default_target_reload): New variable
16316 (this_target_reload): New conditional variable.
16317 (indirect_symref_ok, double_reg_address_ok): Delete.
16318 (spill_indirect_levels): Redefine as a macro.
16319 * target-globals.h (this_target_reload): Declare.
16320 (target_globals): Add a reload field.
16321 (restore_target_globals): Copy the reload field to
16322 this_target_reload.
16323 * target-globals.c: Include hard-reg-set.h.
16324 (default_target_globals): Initialize the reload field.
16325 (save_target_globals): Likewise.
16326
7bf84454
RS
163272010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16328
16329 * rtl.h (target_rtl): Add x_static_reg_base_value.
16330 * alias.c (static_reg_base_value): Redefine as a macro.
16331
360d045b
RS
163322010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16333
16334 * Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
16335 (GTFILES): Remove reginfo.c.
16336 * rtl.h (target_rtl): Add x_top_of_stack.
16337 (top_of_stack): New macro.
16338 * reginfo.c: Don't include ggc.h or gt-reginfo.h.
16339 (top_of_stack): Delete.
16340
55e78c8c
RS
163412010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16342
53f00dde
UB
16343 * regs.h (target_regs): Add x_hard_regs_of_mode,
16344 x_contains_reg_of_mode, x_move_cost, x_may_move_in_cost,
16345 x_may_move_out_cost and x_last_mode_for_init_move_cost.
55e78c8c
RS
16346 (have_regs_of_mode, contains_reg_of_mode, move_cost)
16347 (may_move_in_cost, may_move_out_cost): Redefine as macros.
16348 * reginfo.c (have_regs_of_mode, contains_reg_of_mode, move_cost)
16349 (may_move_in_cost, may_move_out_cost): Delete.
16350 (last_mode_for_init_move_cost): Redefine as a macro.
16351
6642445b
RS
163522010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16353
16354 * hard-reg-set.h (target_hard_regs): New structure.
16355 (default_target_hard_regs): Declare.
16356 (this_target_hard_regs): Declare as a variable or define as a macro.
16357 (fixed_regs, fixed_reg_set, call_used_regs, call_really_used_regs)
16358 (call_used_reg_set, call_fixed_reg_set, regs_invalidated_by_call)
16359 (reg_alloc_order, inv_reg_alloc_order, reg_class_contents)
16360 (reg_class_size, reg_class_subclasses, reg_class_subunion)
16361 (reg_class_superunion, reg_names): Redefine as macros.
16362 * reginfo.c (fixed_regs, fixed_reg_set, call_used_regs)
16363 (call_used_reg_set, call_really_used_regs, call_fixed_reg_set)
16364 (regs_invalidated_by_call, reg_alloc_order, inv_reg_alloc_order)
16365 (reg_class_contents, reg_class_size, reg_class_subclasses)
16366 (reg_class_subunion, reg_class_superunion, reg_names): Delete.
16367 (default_target_hard_regs): New variable
16368 (this_target_hard_regs, initial_call_really_used_regs)
16369 (initial_reg_alloc_order): New conditional variables.
16370 (initial_reg_names): New variable.
16371 (init_reg_sets): Assert that initial_call_really_used_regs,
16372 initial_reg_alloc_order and initial_reg_names
16373 are all the same size as their variable counterparts. Use them to
16374 initialize those counterparts.
16375 * target-globals.h (this_target_hard_regs): Declare.
16376 (target_globals): Add a hard_regs field.
16377 (restore_target_globals): Copy the hard_regs field to
16378 this_target_hard_regs.
16379 * target-globals.c: Include hard-reg-set.h.
16380 (default_target_globals): Initialize the hard_regs field.
16381 (save_target_globals): Likewise.
16382
5fb0e246
RS
163832010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16384
16385 * Makefile.in (target-globals.o): Depend on $(RTL_H).
bd3a5d17 16386 * rtl.h (target_rtl): New structure.
5fb0e246
RS
16387 (default_target_rtl): Declare.
16388 (this_target_rtl): Declare as a variable or define as a macro.
16389 (global_rtl, pic_offset_table_rtx, return_address_pointer_rtx):
16390 Redefine as macros.
16391 * emit-rtl.c (default_target_rtl): New variable.
16392 (this_target_rtl): New conditional variable.
16393 (global_rtl, static_regno_reg_rtx, pic_offset_table_rtx)
16394 (return_address_pointer_rtx): Delete.
16395 (initial_regno_reg_rtx): New macro.
16396 (init_emit): Use initial_regno_reg_rtx instead of static_regno_reg_rtx.
16397 (init_emit_regs): Likewise.
16398 * target-globals.h (this_target_rtl): Declare.
16399 (target_globals): Add a rtl field.
16400 (restore_target_globals): Copy the rtl field to this_target_rtl.
16401 * target-globals.c: Include rtl.h.
16402 (default_target_globals): Initialize the rtl field.
16403 (save_target_globals): Likewise.
16404
939dcd0d
RS
164052010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16406
16407 * Makefile.in (target-globals.o): Depend on $(REGS_H).
16408 * regs.h (target_reg_modes): New structure.
16409 (default_target_reg_modes): Declare.
16410 (this_target_reg_modes): Declare as a variable or define as a macro.
16411 (hard_regno_nregs, reg_raw_mode): Redefine as macros.
16412 * reginfo.c (default_target_reg_modes): New variable.
16413 (this_target_reg_modes): New conditional variable.
16414 (hard_regno_nregs, reg_raw_mode): Delete.
16415 * target-globals.h (this_target_regs): Declare.
16416 (target_globals): Add a regs field.
16417 (restore_target_globals): Copy the regs field to this_target_regs.
16418 * target-globals.c: Include regs.h.
16419 (default_target_globals): Initialize the regs field.
16420 (save_target_globals): Likewise.
16421
3bd36029
RS
164222010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
16423
16424 * doc/tm.texi.in (SWITCHABLE_TARGET): Document.
16425 * doc/tm.texi: Regenerate.
16426 * Makefile.in (OBJS-common): Add target-globals.o.
16427 (gtype-desc.o): Depend on $(IPA_PROP_H), $(LTO_STREAMER_H)
16428 and target-globals.h.
16429 (target-globals.o): New rule.
16430 (GTFILES): Include $(srcdir)/target-globals.h.
16431 * defaults.h (SWITCHABLE_TARGET): Define.
16432 * gengtype.c (open_base_files): Add target-globals.h to the
16433 list of includes.
16434 * target-globals.h: New file.
16435 * target-globals.c: Likewise.
16436
16437 * Makefile.in (target-globals.o): Depend on $(FLAGS_H).
16438 * flags.h (target_flag_state): New structure.
16439 (default_target_flag_state): Declare.
16440 (this_target_flag_state): Declare as a variable or define as a macro.
16441 (align_loops_log): Redefine as a macro.
16442 (align_loops_max_skip, align_jumps_log): Likewise.
16443 (align_jumps_max_skip, align_labels_log): Likewise.
16444 (align_labels_max_skip, align_functions_log): Likewise.
16445 * toplev.c (default_target_flag_state): New variable.
16446 (this_target_flag_state): New conditional variable.
16447 (align_loops_log): Delete.
16448 (align_loops_max_skip, align_jumps_log): Likewise.
16449 (align_jumps_max_skip, align_labels_log): Likewise.
16450 (align_labels_max_skip, align_functions_log): Likewise.
16451 * target-globals.h (this_target_flag_state): Declare.
16452 (target_globals): Add a flag_state field.
16453 (restore_target_globals): Copy the flag_state field to
16454 this_target_flag_state.
16455 * target-globals.c: Include flags.h.
16456 (default_target_globals): Initialize the flag_state field.
16457 (save_target_globals): Likewise.
16458
7beb0596
JZ
164592010-07-12 Jie Zhang <jie@codesourcery.com>
16460
16461 * postreload.c (reg_symbol_ref[]): New.
16462 (move2add_use_add2_insn): New.
16463 (move2add_use_add3_insn): New.
16464 (reload_cse_move2add): Handle SYMBOL + OFFSET case.
16465 (move2add_note_store): Likewise.
16466
ea19b1ec
JR
164672010-07-12 Joern Rennecke <joern.rennecke@embecosm.com>
16468
16469 PR rtl-optimization/44752
16470 * genautomata.c (main): Don't emit an empty file even if there
16471 is no automaton.
16472
e2b4f103
RO
164732010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16474
16475 * config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
16476 ix86_solaris_return_in_memory.
16477 * config/i386-protos.h: Reflect this.
16478 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
16479 * config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
16480 Move ...
16481 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.
16482
fb2f8cf8
JZ
164832010-07-12 Jie Zhang <jie@codesourcery.com>
16484
16485 * config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
16486 align the stack when it's going to be saved.
16487
8f89ba7c
RO
164882010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16489
16490 PR pch/14940
16491 * config/host-solaris.c (mmap_fixed): New function.
16492 (sol_gt_pch_get_address): Use it.
16493 (sol_gt_pch_use_address): Likewise.
16494
ae6a0535
RO
164952010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16496
16497 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
16498 pentiumpro on Solaris 8 and 9/x86.
16499 * doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
16500 Document SSE/SSE2 support.
16501 * doc/sourcebuild.texi (Effective-Target Keywords): Document sse.
16502
e56d9a76
AK
165032010-07-12 Andi Kleen <ak@linux.intel.com>
16504
16505 * lto-symtab.c (lto_symtab_merge_decls_1): Use fatal_error
16506 instead of gcc_assert to print better error message for multiple
16507 prevailing defs.
16508
9db335b9
UB
165092010-07-12 Uros Bizjak <ubizjak@gmail.com>
16510
16511 * config/i386/i386.c (ix86_asm_output_function_label): Change format
16512 string placeholder from 0x%x to %#x.
16513 (ix86_code_end): Use putc to output '\n'.
16514 (ix86_print_operand) <case ';'>: Use putc to output ';'.
16515
23b488ad
KT
165162010-07-11 Kai Tietz <kai.tietz@onevision.com>
16517
16518 * config/i386/winnt.c (i386_pe_file_end): Quote symbol name
16519 in directive -export.
16520
a56b31ca
AS
165212010-07-10 Anatoly Sokolov <aesok@post.ru>
16522
16523 * reginfo.h (reg_classes_intersect_p): Change arguments type to
16524 reg_class_t.
16525 * rtl.h (reg_classes_intersect_p): Adjust prototype.
16526
16527 * config/rs6000/rs6000.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
16528 Remove macros.
16529 * config/rs6000/rs6000-protos.h (rs6000_register_move_cost,
16530 rs6000_memory_move_cost): Remove
16531 * config/rs6000/rs6000.c (TARGET_REGISTER_MOVE_COST,
16532 TARGET_MEMORY_MOVE_COST): Define.
16533 (rs6000_register_move_cost): Make static. Change arguments type from
16534 enum reg_class to reg_class_t. Adjust rs6000_memory_move_cost calls.
16535 (rs6000_memory_move_cost): Make static. Change arguments type from
16536 'enum reg_class' to reg_class_t.
16537
bec922f0
SL
165382010-07-10 Sandra Loosemore <sandra@codesourcery.com>
16539
16540 PR middle-end/42505
16541 * tree-inline.c (estimate_num_insns): Refactor builtin complexity
16542 lookup code into....
16543 * builtins.c (is_simple_builtin, is_inexpensive_builtin): ...these
16544 new functions.
16545 * tree.h (is_simple_builtin, is_inexpensive_builtin): Declare.
16546 * cfgloopanal.c (target_clobbered_regs): Define.
16547 (init_set_costs): Initialize target_clobbered_regs.
16548 (estimate_reg_pressure_cost): Add call_p argument. When true,
16549 adjust the number of available registers to exclude the
16550 call-clobbered registers.
16551 * cfgloop.h (target_clobbered_regs): Declare.
16552 (estimate_reg_pressure_cost): Adjust declaration.
16553 * tree-ssa-loop-ivopts.c (struct ivopts_data): Add body_includes_call.
16554 (ivopts_global_cost_for_size): Pass it to estimate_reg_pressure_cost.
16555 (determine_set_costs): Dump target_clobbered_regs.
16556 (loop_body_includes_call): New function.
16557 (tree_ssa_iv_optimize_loop): Use it to initialize new field.
16558 * loop-invariant.c (gain_for_invariant): Adjust arguments to pass
16559 call_p flag through.
16560 (best_gain_for_invariant): Likewise.
16561 (find_invariants_to_move): Likewise.
16562 (move_single_loop_invariants): Likewise, using already-computed
16563 has_call field.
16564
ccf134c7
RG
165652010-07-10 Richard Guenther <rguenther@suse.de>
16566 Joern Rennecke <joern.rennecke@embecosm.com>
16567
16568 PR debug/44832
9db335b9 16569 * tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for LABEL_DECL.
ccf134c7
RG
16570 (remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs
16571 unless they have DECL_IGNORED_P set.
16572
bcee752e
RG
165732010-07-10 Richard Guenther <rguenther@suse.de>
16574
16575 PR lto/44889
16576 * gimple.c (gimple_fixup_complete_and_incomplete_subtype_p): New
16577 helper function.
16578 (gimple_types_compatible_p): Similar to pointed-to
16579 types allow and merge a mix of complete and incomplete aggregate.
16580 Use gimple_fixup_complete_and_incomplete_subtype_p for that.
16581 (iterative_hash_gimple_type): Adjust for that.
16582
7e9b9697
RS
165832010-07-10 Richard Sandiford <r.sandiford@uk.ibm.com>
16584
16585 * tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.
16586
058bfe53
IS
165872010-07-10 Iain Sandoe <iains@gcc.gnu.org>
16588
16589 PR objc/44140
16590 * config/darwin.c (output_objc_section_asm_op): Save and restore
16591 section when outputting ObjC section list.
16592
b772114c
JH
165932010-07-09 Jan Hubicka <jh@suse.cz>
16594
9db335b9
UB
16595 * lto-streamer-out.c (produce_symtab): Do not write alias
16596 cgraph/varpool nodes.
b772114c 16597
7e97ee1a
JH
165982010-07-09 Jan Hubicka <jh@suse.cz>
16599
16600 * tree-inline.c (declare_return_variable): Fix ICE while
16601 inlining DECL_BY_VALUE function not in SSA form
16602
0bbe50f6
CF
166032010-07-09 Changpeng Fang <changpeng.fang@amd.com>
16604
16605 PR tree-optimization/44576
16606 * tree-ssa-loop-prefetch.c (trip_count_to_ahead_ratio_too_small_p):
16607 New. Pull out from is_loop_prefetching_profitable to implement
16608 the trip count to ahead ratio heuristic.
16609 (mem_ref_count_reasonable_p): New. Pull out from
16610 is_loop_prefetching_profitable to implement the instruction to
16611 memory reference ratio heuristic. Also consider not reasonable if
16612 the memory reference count is above a threshold (to avoid
16613 explosive compilation time.
16614 (insn_to_prefetch_ratio_too_small_p): New. Pull out from
16615 is_loop_prefetching_profitable to implement the instruction to
16616 prefetch ratio heuristic.
16617 (is_loop_prefetching_profitable): Removed.
16618 (loop_prefetch_arrays): Distribute the cost analysis across the
16619 function to allow early exit of the prefetch analysis.
16620 is_loop_prefetching_profitable is splitted into three functions,
16621 with each one called as early as possible.
16622 (PREFETCH_MAX_MEM_REFS_PER_LOOP): New. Threshold above which the
16623 number of memory references in a loop is considered too many.
16624
c033690d
BS
166252010-07-09 Bernd Schmidt <bernds@codesourcery.com>
16626
9db335b9
UB
16627 * reload.c (find_reloads): Don't clear badop if we have a winreg
16628 alternative, but not win, and the class only has fixed regs.
c033690d
BS
16629 * hard-reg-set.h (class_only_fixed_regs): Declare.
16630 * reginfo.c (class_only_fixed_regs): New array.
16631 (init_reg_sets_1): Initialize it.
16632 * config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
16633 discourage alternatives using the stack pointer.
16634
0879e7b3
BS
16635 * config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
16636
1744c800
BS
16637 * config/arm/arm.md (Thumb-1 ldrsb peephole): New.
16638
95da5cf9
BS
16639 * config/arm/arm.md (cbranchqi4): Fix array size.
16640 (addsi3_cbranch): Also andle alternative 2 like alternative 3 when
16641 calculating length.
16642
e8edaf95
RG
166432010-07-09 Richard Guenther <rguenther@suse.de>
16644
16645 * gimple.c (struct type_fixup_s): New struct and VEC type.
16646 (gimple_register_type_fixups): New static global.
16647 (gimple_queue_type_fixup): New function.
16648 (gimple_types_compatible_p): Queue type fixups instead of
16649 applying them here.
16650 (gimple_register_type): Apply queued fixups for the
16651 canonical type. Empty the type fixup queue.
16652
7085bfb6
UB
166532010-07-09 Uros Bizjak <ubizjak@gmail.com>
16654
16655 * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
16656 * configure: Regenerate.
abcb0bd9 16657 * config.in: Ditto.
7085bfb6 16658
85e693aa
JJ
166592010-07-09 Jakub Jelinek <jakub@redhat.com>
16660 Denys Vlasenko <dvlasenk@redhat.com>
16661 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
16662
16663 PR tree-optimization/28632
16664 * tree-vrp.c (zero_nonzero_bits_from_vr): New function.
16665 (extract_range_from_binary_expr): Further optimize
16666 BIT_AND_EXPR and BIT_IOR_EXPR.
16667
59ee2304
SP
166682010-07-09 Sebastian Pop <sebastian.pop@amd.com>
16669
16670 * tree-if-conv.c (fold_or_predicates): New.
16671 (add_to_predicate_list): Call it.
16672
38a178dd
RG
166732010-07-09 Richard Guenther <rguenther@suse.de>
16674
16675 PR middle-end/44890
16676 * tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
16677 if base is a pointer.
16678 * tree-cfg.c (verify_expr): Update MEM_REF checking.
16679
c8aa02cc
MM
166802010-07-08 Michael Meissner <meissner@linux.vnet.ibm.com>
16681
16682 PR target/44877
16683 * config/rs6000/rs6000.c (rs6000_expand_builtin): Use
16684 POINTER_TYPE_P instead of checking only for POINTER_TYPE for the
16685 builtin mask for load/store builtins.
16686
4bade865
UB
166872010-07-09 Uros Bizjak <ubizjak@gmail.com>
16688
16689 * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
16690 for "lock addl".
16691 * configure: Regenerate.
16692 * config/i386/i386.c (ix86_print_operand) <case ';'>:
16693 Remove TARGET_MACHO.
16694
2c9ccc21
PB
166952010-07-09 Peter Bergner <bergner@vnet.ibm.com>
16696
16697 * config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
16698 default ISA flags.
16699 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mvsx.
16700
5c9fae0d
TV
167012010-07-09 Tom de Vries <tjvries@xs4all.nl>
16702
16703 * tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
16704
7085bfb6 167052010-07-09 Hariharan Sandanagobalane <hariharan@picochip.com>
099379da
HS
16706
16707 * config/picochip/picochip.md (commsTestPort): Emit more
16708 efficient sequence for tstport instruction.
16709
f55a7cbc
UB
167102010-07-09 Uros Bizjak <ubizjak@gmail.com>
16711
16712 * config/i386/i386.c (ix86_veclib_handler): Make static.
16713
dbfcc059
RG
167142010-07-09 Richard Guenther <rguenther@suse.de>
16715
16716 PR tree-optimization/44852
16717 * tree-ssa-alias.c: Include toplev.h for exact_log2.
16718 (indirect_ref_may_alias_decl_p): Properly handle negative offsets
16719 in MEM_REF.
16720 (indirect_refs_may_alias_p): Likewise.
16721 * Makefile.in (tree-ssa-alias.o): Add $(TOPLEV_H).
16722
ca1316d2
RG
167232010-07-09 Richard Guenther <rguenther@suse.de>
16724
16725 PR tree-optimization/44882
16726 * tree-vect-stmts.c (vectorizable_store): Do not assert alias
16727 sets do conflict.
16728 (vectorizable_load): Likewise.
16729
e784c52c
BS
167302010-07-09 Bernd Schmidt <bernds@codesourcery.com>
16731
16732 PR target/40657
16733 * config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
16734 All callers changed.
16735 Handle the case when we're called for the epilogue.
16736 (thumb_unexpanded_epilogue): Use it.
16737 (thumb1_expand_epilogue): Likewise.
16738
ac285648
JJ
167392010-07-09 Jakub Jelinek <jakub@redhat.com>
16740
16741 * tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
16742 both ranges are range_int_cst_p with non-negative minimum,
16743 try harder to derive smaller range.
16744
79a3f089
MLI
167452010-07-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
16746
16747 * genrecog.c: Include diagnostic-core.h before toplev.h.
16748 * genoutput.c: Likewise.
16749 * genextract.c: Likewise.
16750 * genautomata.c: Likewise.
16751 * genemit.c: Likewise.
16752 * genpeep.c: Likewise.
16753 * genattrtab.c: Likewise.
16754 * genconditions.c: Likewise.
16755 * genpreds.c: Likewise.
16756
f55a7cbc 167572010-07-08 Andi Kleen <ak@linux.intel.com>
1df15c3d
AK
16758
16759 * lto-section-in.c (lto_section_name): Add missing comma.
16760
930572b9
AS
167612010-07-08 Anatoly Sokolov <aesok@post.ru>
16762
16763 * config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
16764 * config/ia64/ia64-protos.h (ia64_override_options): Remove.
16765 * config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
16766 (ia64_override_options): Rename to...
16767 (ia64_option_override): ... this one. Make static.
16768
5951297a
EB
167692010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16770
16771 PR middle-end/44843
16772 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not rely on the
16773 pointed-to type of the offset in a MEM_REF to compute the alignment.
16774
135a687e
KT
167752010-07-08 Kai Tietz <kai.tietz@onevision.com>
16776
2784ed9c
KT
16777 * final.c (final_scan_insn): Replace
16778 TARGET_UNWIND_INFO macro check by unwind_emit
16779 hook NULL check.
16780 * targhooks.c (default_unwind_emit): Removed.
16781 * targhooks.h (default_unwind_emit): Likewise.
16782 * target.def (unwind_emit): Set default value to NULL.
16783
135a687e
KT
16784 * config/i386/i386-protos.h (ix86_asm_output_function_label):
16785 New prototype.
16786 * config/i386/i386.c (ix86_function_ms_hook_prologue): Check
16787 for NULL fntype argument and allow 64-bit targets.
16788 (ix86_asm_output_function_label): New function.
16789 (ix86_expand_prologue): Handle 64-bit ms hook prologue.
16790 (ix86_handle_fndecl_attribute): Likewise.
16791 * doc/extend.texi (ms_hook_prologue): Adjust documentation.
16792 * doc/doc/tm.texi: Regenerated.
16793 * doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
16794 (ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
16795 * defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
16796 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
16797 ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
16798 * config/elfos.h: Likewise.
16799 * config/i386/cygming.h: Likewise.
16800 * config/netbsd-aout.h: Likewise.
16801 * config/openbsd.h: Likewise.
16802 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
16803 by ix86_asm_output_function_label function call.
16804 * varasm.c (assemble_start_function): Use
16805 ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
16806
09411461
JH
168072010-07-08 Jan Hubicka <jh@suse.cz>
16808
16809 * cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
16810 New function.
16811 * cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
16812 Declare.
16813 * ipa-cp.c (ipcp_estimate_growth): Use it.
16814 * ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
16815 Likewise.
16816
72109b25
JH
168172010-07-08 Jan Hubicka <jh@suse.cz>
16818
16819 * tree-inline.c (declare_return_variable): Allocate annotation for new
16820 temporary.
16821
d89e5e20
SP
168222010-07-08 Sebastian Pop <sebastian.pop@amd.com>
16823
16824 PR tree-optimization/44710
16825 * tree-if-conv.c (parse_predicate): New.
16826 (add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
16827 Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.
16828
384a5197
SP
168292010-07-08 Sebastian Pop <sebastian.pop@amd.com>
16830
16831 * common.opt (ftree-loop-if-convert): New flag.
16832 * doc/invoke.texi (ftree-loop-if-convert): Documented.
16833 * tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
16834 when flag_tree_loop_if_convert is set.
16835
f8e1995a
UB
168362010-07-08 Uros Bizjak <ubizjak@gmail.com>
16837
16838 * config/i386/i386.c: Use short syntax for function calls
16839 through function pointers.
16840 * config/i386/i386.md: Ditto.
16841
a80903ff
EB
168422010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16843
16844 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
16845
d0c422cb
RG
168462010-07-08 Richard Guenther <rguenther@suse.de>
16847
16848 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
16849 stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
16850
b298f924
JJ
168512010-07-08 Jakub Jelinek <jakub@redhat.com>
16852
16853 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
16854 instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
16855 (loc_list_from_tree): Likewise.
16856 (output_loc_operands): Handle outputting DW_OP_const[48]u
16857 with loc->dtprel set.
16858 (resolve_addr_in_expr): Handle loc->dtprel like DW_OP_addr.
16859
5dde3b01
JH
168602010-07-08 Jan Hubicka <jh@suse.cz>
16861
16862 * ipa.c: Include pointer-set.h
16863 (cgraph_externally_visible_p): New attribute ALIASED;
16864 when in LTO, hidden symbols are local unless they are aliased.
16865 (function_and_variable_visibility): Compute aliased nodes;
16866 handle LTO and hidden symbol on functions and vars.
16867 * cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
16868 for COMDAT symbols; handle COMDAT_GROUPS also at vars.
16869
2de710b9
EB
168702010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16871
16872 * config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
16873 * config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
16874 * config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
16875 * config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
16876 * config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
16877 * config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable.
16878 (ix86_gen_probe_stack_range): Likewise.
16879 (override_options): Set them.
16880 (ix86_target_stack_probe): New function.
16881 (ix86_compute_frame_layout): Force use of push instructions to
16882 save registers if stack checking with probes is enabled.
16883 (get_scratch_register_on_entry): New function.
16884 (release_scratch_register_on_entry): Likewise.
16885 (ix86_adjust_stack_and_probe): Likewise.
16886 (output_adjust_stack_and_probe): Likewise.
16887 (ix86_emit_probe_stack_range): Likewise.
16888 (output_probe_stack_range): Likewise.
16889 (ix86_expand_prologue): Emit stack checking code if static built-in
16890 stack checking is enabled.
16891 Test ix86_target_stack_probe instead of TARGET_STACK_PROBE.
16892 * config/i386/i386-protos.h (ix86_target_stack_probe): Declare.
16893 (output_adjust_stack_and_probe): Likewise.
16894 (output_probe_stack_range): Likewise.
16895 * config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant.
16896 (allocate_stack_worker_32): Test ix86_target_stack_probe instead of
16897 TARGET_STACK_PROBE.
16898 (allocate_stack_worker_64): Likewise.
16899 (allocate_stack): Likewise.
16900 (adjust_stack_and_probe): New insn.
16901 (probe_stack_range): Likewise.
16902
f076deba
RG
169032010-07-08 Richard Guenther <rguenther@suse.de>
16904
16905 PR tree-optimization/44831
16906 * tree-ssa-phiprop.c (phiprop_insert_phi): Properly build
16907 a MEM_REF preserving TBAA info of the original dereference.
4bade865 16908 Dereference the original pointer if the address is not invariant.
f076deba
RG
16909 (propagate_with_phi): Fixup type checks wrt MEM_REFs. Require
16910 at least one invariant address that we are going to dereference.
16911
20ede5c6
RG
169122010-07-08 Richard Guenther <rguenther@suse.de>
16913
16914 PR tree-optimization/44861
16915 * tree-vect-stmts.c (vectorizable_store): Preserve TBAA
16916 information when building MEM_REFs.
16917 (vectorizable_load): Likewise.
16918 * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
16919
80edb36c
EB
169202010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16921
16922 * config/sol2-c.c: Do not include diagnostic-core.h.
16923
2e1ec94f
RR
169242010-07-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16925
1df15c3d 16926 PR bootstrap/44768
2e1ec94f
RR
16927 * cfgexpand.c (estimated_stack_frame_size): Make self-contained
16928 with respect to current_function_decl. Pass decl of the function.
16929 * tree-inline.h (estimated_stack_frame_size): Adjust prototype.
16930 * ipa-inline.c (compute_inline_parameters): Pass decl to
16931 estimated_stack_frame_size.
16932
a03a9774
RG
169332010-07-08 Richard Guenther <rguenther@suse.de>
16934
16935 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
16936 New function.
16937 (valueize_refs): Call it.
16938
e73cfe5d
RG
169392010-07-08 Richard Guenther <rguenther@suse.de>
16940
16941 PR rtl-optimization/44838
16942 * tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
16943 SSA form do not use pointer equivalence.
16944
51d49bc2
EB
169452010-07-08 Eric Botcazou <ebotcazou@adacore.com>
16946
16947 * dwarf2out.c (AT_linkage_name): Delete.
16948 (add_linkage_attr): New function.
16949 (add_linkage_name): Call it to emit the linkage attribute.
16950 (dwarf2out_finish): Likewise.
16951 (move_linkage_attr): Explicitly accept both attribute variants.
16952
718f9c0f
MLI
169532010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
16954
16955 * toplev.h: Do not include diagnostic-core.h.
16956 Include diagnostic-core.h in every file that includes toplev.h.
16957 * c-tree.h: Do not include toplev.h.
16958 * pretty-print.h: Update comment.
16959 * Makefile.in: Update dependencies.
16960 * alias.c: Include diagnostic-core.h in every file that includes
16961 toplev.h.
16962 * attribs.c: Likewise.
16963 * auto-inc-dec.c: Likewise.
16964 * bb-reorder.c: Likewise.
16965 * bt-load.c: Likewise.
16966 * caller-save.c: Likewise.
16967 * calls.c: Likewise.
16968 * cfg.c: Likewise.
16969 * cfganal.c: Likewise.
16970 * cfgbuild.c: Likewise.
16971 * cfgcleanup.c: Likewise.
16972 * cfghooks.c: Likewise.
16973 * cfgloop.c: Likewise.
16974 * combine.c: Likewise.
16975 * config/alpha/alpha.c: Likewise.
16976 * config/arc/arc.c: Likewise.
16977 * config/arm/arm.c: Likewise.
16978 * config/arm/pe.c: Likewise.
16979 * config/avr/avr.c: Likewise.
16980 * config/bfin/bfin.c: Likewise.
16981 * config/cris/cris.c: Likewise.
16982 * config/crx/crx.c: Likewise.
16983 * config/darwin-c.c: Likewise.
16984 * config/darwin.c: Likewise.
16985 * config/fr30/fr30.c: Likewise.
16986 * config/frv/frv.c: Likewise.
16987 * config/h8300/h8300.c: Likewise.
16988 * config/host-darwin.c: Likewise.
16989 * config/i386/i386.c: Likewise.
16990 * config/i386/netware.c: Likewise.
16991 * config/i386/nwld.c: Likewise.
16992 * config/i386/winnt-cxx.c: Likewise.
16993 * config/i386/winnt-stubs.c: Likewise.
16994 * config/i386/winnt.c: Likewise.
16995 * config/ia64/ia64-c.c: Likewise.
16996 * config/ia64/ia64.c: Likewise.
16997 * config/iq2000/iq2000.c: Likewise.
16998 * config/lm32/lm32.c: Likewise.
16999 * config/m32c/m32c-pragma.c: Likewise.
17000 * config/m32c/m32c.c: Likewise.
17001 * config/m32r/m32r.c: Likewise.
17002 * config/m68hc11/m68hc11.c: Likewise.
17003 * config/m68k/m68k.c: Likewise.
17004 * config/mcore/mcore.c: Likewise.
17005 * config/mep/mep-pragma.c: Likewise.
17006 * config/mep/mep.c: Likewise.
17007 * config/mmix/mmix.c: Likewise.
17008 * config/mn10300/mn10300.c: Likewise.
17009 * config/moxie/moxie.c: Likewise.
17010 * config/pa/pa.c: Likewise.
17011 * config/pdp11/pdp11.c: Likewise.
17012 * config/picochip/picochip.c: Likewise.
17013 * config/rs6000/rs6000-c.c: Likewise.
17014 * config/rs6000/rs6000.c: Likewise.
17015 * config/rx/rx.c: Likewise.
17016 * config/s390/s390.c: Likewise.
17017 * config/score/score.c: Likewise.
17018 * config/score/score3.c: Likewise.
17019 * config/score/score7.c: Likewise.
17020 * config/sh/sh.c: Likewise.
17021 * config/sh/symbian-base.c: Likewise.
17022 * config/sh/symbian-c.c: Likewise.
17023 * config/sh/symbian-cxx.c: Likewise.
17024 * config/sol2-c.c: Likewise.
17025 * config/sol2.c: Likewise.
17026 * config/sparc/sparc.c: Likewise.
17027 * config/spu/spu.c: Likewise.
17028 * config/stormy16/stormy16.c: Likewise.
17029 * config/v850/v850-c.c: Likewise.
17030 * config/v850/v850.c: Likewise.
17031 * config/vax/vax.c: Likewise.
17032 * config/vxworks.c: Likewise.
17033 * config/xtensa/xtensa.c: Likewise.
17034 * convert.c: Likewise.
17035 * cse.c: Likewise.
17036 * cselib.c: Likewise.
17037 * dbgcnt.c: Likewise.
17038 * dbxout.c: Likewise.
17039 * ddg.c: Likewise.
17040 * dominance.c: Likewise.
17041 * emit-rtl.c: Likewise.
17042 * explow.c: Likewise.
17043 * expmed.c: Likewise.
17044 * fixed-value.c: Likewise.
17045 * fold-const.c: Likewise.
17046 * fwprop.c: Likewise.
17047 * gcse.c: Likewise.
17048 * ggc-common.c: Likewise.
17049 * ggc-page.c: Likewise.
17050 * ggc-zone.c: Likewise.
17051 * gimple-low.c: Likewise.
17052 * gimplify.c: Likewise.
17053 * graph.c: Likewise.
17054 * haifa-sched.c: Likewise.
17055 * ifcvt.c: Likewise.
17056 * implicit-zee.c: Likewise.
17057 * integrate.c: Likewise.
17058 * ira-build.c: Likewise.
17059 * ira-color.c: Likewise.
17060 * ira-conflicts.c: Likewise.
17061 * ira-costs.c: Likewise.
17062 * ira-lives.c: Likewise.
17063 * ira.c: Likewise.
17064 * lists.c: Likewise.
17065 * loop-doloop.c: Likewise.
17066 * loop-iv.c: Likewise.
17067 * lto-opts.c: Likewise.
17068 * lto-symtab.c: Likewise.
17069 * main.c: Likewise.
17070 * modulo-sched.c: Likewise.
17071 * optabs.c: Likewise.
17072 * params.c: Likewise.
17073 * plugin.c: Likewise.
17074 * postreload-gcse.c: Likewise.
17075 * postreload.c: Likewise.
17076 * predict.c: Likewise.
17077 * profile.c: Likewise.
17078 * real.c: Likewise.
17079 * regcprop.c: Likewise.
17080 * reginfo.c: Likewise.
17081 * regmove.c: Likewise.
17082 * reorg.c: Likewise.
17083 * resource.c: Likewise.
17084 * rtl.c: Likewise.
17085 * rtlanal.c: Likewise.
17086 * sched-deps.c: Likewise.
17087 * sched-ebb.c: Likewise.
17088 * sched-rgn.c: Likewise.
17089 * sdbout.c: Likewise.
17090 * sel-sched-dump.c: Likewise.
17091 * sel-sched-ir.c: Likewise.
17092 * simplify-rtx.c: Likewise.
17093 * stmt.c: Likewise.
17094 * stor-layout.c: Likewise.
17095 * store-motion.c: Likewise.
17096 * targhooks.c: Likewise.
17097 * tree-cfg.c: Likewise.
17098 * tree-cfgcleanup.c: Likewise.
17099 * tree-dump.c: Likewise.
17100 * tree-eh.c: Likewise.
17101 * tree-inline.c: Likewise.
17102 * tree-nomudflap.c: Likewise.
17103 * tree-object-size.c: Likewise.
17104 * tree-optimize.c: Likewise.
17105 * tree-outof-ssa.c: Likewise.
17106 * tree-phinodes.c: Likewise.
17107 * tree-profile.c: Likewise.
17108 * tree-ssa-ccp.c: Likewise.
17109 * tree-ssa-coalesce.c: Likewise.
17110 * tree-ssa-live.c: Likewise.
17111 * tree-ssa-loop-niter.c: Likewise.
17112 * tree-ssa-loop-prefetch.c: Likewise.
17113 * tree-ssa-loop.c: Likewise.
17114 * tree-ssa-structalias.c: Likewise.
17115 * tree-ssa-uninit.c: Likewise.
17116 * tree-ssa.c: Likewise.
17117 * tree-vect-data-refs.c: Likewise.
17118 * tree-vect-loop-manip.c: Likewise.
17119 * tree-vect-loop.c: Likewise.
17120 * tree-vect-patterns.c: Likewise.
17121 * tree-vect-stmts.c: Likewise.
17122 * tree-vrp.c: Likewise.
17123 * varasm.c: Likewise.
17124 * vec.c: Likewise.
17125 * web.c: Likewise.
17126 * xcoffout.c: Likewise.
17127
647565f6
RS
171282010-07-07 Richard Sandiford <rdsandiford@googlemail.com>
17129
17130 * gengtype.c (write_field_root): New function.
17131 (write_root): Use it.
17132
88c1612f
WG
171332010-07-07 Wei Guozhi <carrot@google.com>
17134
17135 * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
17136 of lowest bits to lshift/compare): Add a missing line.
17137
ece53c91
WG
171382010-07-07 Wei Guozhi <carrot@google.com>
17139
17140 * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
17141 of lowest bits to lshift/compare): New.
17142
9730bc27
TT
171432010-07-07 Tom Tromey <tromey@redhat.com>
17144
17145 * doc/tm.texi: Update.
17146 * doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>:
17147 Add @hook.
17148 * target.def (want_debug_pub_sections): New hook.
17149 * config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define.
17150 * dwarf2out.c (add_pubname_string): Check
17151 targetm.want_debug_pub_sections.
17152 (add_pubname): Likewise.
17153 (add_pubtype): Likewise.
17154
f5d5226b
JZ
171552010-07-07 Jie Zhang <jie@codesourcery.com>
17156
17157 * genautomata.c (output_automata_list_min_issue_delay_code):
17158 Correctly decompress min_issue_delay.
17159
71df5a7e
BS
171602010-07-07 Bernd Schmidt <bernds@codesourcery.com>
17161
17162 PR rtl-optimization/44404
17163 * auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
17164 possible, use reg_overlap_mentioned_p instead.
17165
f625098e
DS
171662010-07-07 Duncan Sands <baldrick@free.fr>
17167
17168 PR middle-end/41355
17169 * tree.c (build_function_type_skip_args): Copy the original type using
1df15c3d 17170 build_distinct_type_copy rather than copy_node.
f625098e 17171
ab33bd5c
L
171722010-07-07 H.J. Lu <hongjiu.lu@intel.com>
17173
17174 PR target/44850
17175 * config/i386/i386.c (ix86_function_ms_hook_prologue): Revert
17176 revision 161876.
17177 (ix86_expand_prologue): Likewise.
17178 (ix86_handle_fndecl_attribute): Likewise.
17179 (ix86_asm_declare_function_name): Likewise.
17180 * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
17181 * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
17182 (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): Likewise.
4bade865 17183 * config/i386/i386-protos.h (ix86_asm_declare_function_name): Likewise.
ab33bd5c
L
17184 * doc/extend.texi: Likewise.
17185
5e86e540
L
171862010-07-07 H.J. Lu <hongjiu.lu@intel.com>
17187
17188 PR target/44844
17189 * config/i386/i386.md (rdrand<mode>): Changed to expand to
17190 retry if the carry flag isn't valid.
17191 (rdrand<mode>_1): New.
17192
0ee95c43
RG
171932010-07-07 Richard Guenther <rguenther@suse.de>
17194
17195 PR middle-end/44790
17196 * expr.c (expand_expr_real_1): Go the POINTER_PLUS_EXPR path
17197 for expanding the constant offset for MEM_REFs.
17198
523968bf
RG
171992010-07-07 Richard Guenther <rguenther@suse.de>
17200
17201 * tree-ssa-propagate.h (valid_gimple_call_p): Remove.
17202 * tree-ssa-propagate.c (valid_gimple_call_p): Make static. Fix.
17203 * gimple.h (is_gimple_operand): Remove.
17204 * gimple.c (is_gimple_operand): Likewise.
17205 (walk_gimple_op): Fix wi->val_only setting for calls.
17206 * tree-cfg.c (verify_gimple_call): Fix argument validation.
17207 * tree-profile.c (tree_gen_ic_func_profiler): Do not create
17208 invalid gimple calls.
17209
86353474
JH
172102010-07-06 Jan Hubicka <jh@suse.cz>
17211
17212 * lto-cgraph.c (output_cgraph): Add missing declaration.
17213
b0d9e663
JH
172142010-07-06 Jan Hubicka <jh@suse.cz>
17215
17216 * lto-cgraph.c (output_cgraph): Output toplevel asms only into first
17217 partition.
17218
38be945b
AO
172192010-07-06 Alexandre Oliva <aoliva@redhat.com>
17220
17221 * doc/gimple.texi (GIMPLE_DEBUG): Document.
17222 * doc/rtl.texi (Debug Information): New node.
17223 (NOTE_INSN_VAR_LOCATION): Document.
17224 (debug_insn): Likewise.
17225 * doc/generic.texi (DEBUG_EXPR_DECL): Document.
17226
6938f93f
JH
172272010-07-07 Jan Hubicka <jh@suse.cz>
17228
4bade865 17229 With parts by Richard Guenther.
6938f93f
JH
17230
17231 PR middle-end/44813
17232 * tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
17233 for functions passed by reference.
17234 * tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
17235 in memory when passed by reference.
17236 * tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
17237 beggining.
17238 * ipa-split.c (split_function): Cleanup way return value is passed;
17239 handle SSA DECL_BY_REFERENCE retvals.
17240 * tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
17241 DECL_BY_REFERENCE is set.
17242 * tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
17243 find_what_p_points_to): Handle RESULT_DECL.
17244 * tree-inline.c (declare_return_variable): Get new entry_block argument;
17245 when passing by reference ensure that RESULT_DECL is gimple_val.
17246 (remap_gimple_op_r): Remap RESULT_DECL ssa name.
17247 (remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
17248
325d7997
BS
172492010-07-07 Bernd Schmidt <bernds@codesourcery.com>
17250
17251 PR rtl-optimization/44787
17252 * config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
17253 * config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
17254
e10aaec0
JH
172552010-07-06 Jan Hubicka <jh@suse.cz>
17256
17257 * lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
17258 (lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
17259 with body can prevail.
17260 (lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
17261 (lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
17262 * cgraph.c (cgraph_get_node_or_alias): New function.
17263 * cgraph.h (cgraph_get_node_or_alias): Declare.
17264
4bbf141c
KT
172652010-07-06 Kai Tietz <kai.tietz@onevision.com>
17266
17267 * config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
17268 support.
17269 (ix86_expand_prologue): Likewise.
17270 (ix86_handle_fndecl_attribute): Likewise.
17271 (ix86_asm_declare_function_name): New function for
17272 ASM_DECLARE_FUNCTION_NAME.
17273 * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
17274 * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
17275 (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
17276 * config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
17277 * doc/extend.texi: Adjust documentation about ms_hook_prologue
17278 attribute.
17279
9aa5922d
UB
172802010-07-06 Uros Bizjak <ubizjak@gmail.com>
17281
17282 * config/i386/i386.md (immediate_operand): New mode attribute.
f8e1995a 17283
9aa5922d
UB
17284 (pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
17285 pro_epilogue_adjust_stack and pro_epilogue_adjust_stack_rex64
17286 using P mode iterator.
17287 (pro_epilogue_adjust_stack_di_2): Rename from
17288 pro_epilogue_adjust_stack_rex64_2.
17289
17290 * config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.
17291
172922010-07-06 Uros Bizjak <ubizjak@gmail.com>
17293
17294 * config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
17295 through gen_mov_insv_1 function pointer.
17296 (fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
17297 gen_truncxf<mode>2 through gen_truncxf function pointer.
17298 (remainder<mode>3): Ditto.
17299 (cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
17300 (allocate_stack): Call gen_allocate_stack_worker_64 or
17301 gen_allocate_stack_worker_32 through gen_allocate_stack_worker
17302 function pointer.
17303 (probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
17304 function pointer.
17305
173062010-07-06 Uros Bizjak <ubizjak@gmail.com>
17307
17308 * config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
17309 operand constraint instead of <r><i>m.
17310
dfb88126
RG
173112010-07-06 Richard Guenther <rguenther@suse.de>
17312
17313 PR middle-end/44828
17314 * convert.c (convert_to_integer): Watch out for overflowing
17315 MULT_EXPR as well.
17316
c5d1f058
JH
173172010-07-05 Jan Hubicka <jh@suse.cz>
17318
17319 * lto-streamer.c (write_symbol_vec): Rename to ...
17320 (write_symbol) ... this one; write only symbol given and when
17321 present in cache. Sanity check that what is defined is present
17322 in cgraph/varpool with body/finalized decl.
17323 (write_symbols_of_kind): Remove.
17324 (produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
17325 pairs to produce symtab.
17326 (produce_asm_for_decls): Update call of produce_symtab; don't do so
17327 when doing WPA streaming.
17328
6e4da084
JH
173292010-07-05 Jan Hubicka <jh@suse.cz>
17330
17331 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
17332 function is still available to fold into.
17333
c021f10b
NF
173342010-07-05 Nathan Froyd <froydnj@codesourcery.com>
17335
17336 * vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
17337 * function.h (struct_function): Change type of local_decls field
17338 to a VEC.
17339 (add_local_decl): New function.
17340 (FOR_EACH_LOCAL_DECL): New macro.
17341 * cfgexpand.c (init_vars_expansion): Adjust for new type of
17342 cfun->local_decls.
17343 (estimated_stack_frame_size): Likewise.
17344 (expand_used_vars): Likewise.
17345 * cgraphbuild.c (build_cgraph_edges): Likewise.
17346 * function.c (instantiate_decls_1): Likewise.
17347 * ipa-struct-reorg.c (build_data_structure): Likewise.
17348 * ipa-type-escape.c (analyze_function): Likewise.
17349 * lto-streamer-in.c (input_function): Likewise.
17350 * lto-streamer-out.c (output_function): Likewise.
17351 * tree-ssa-live.c (remove_unused_locals): Likewise.
17352 * tree.c (free_lang_data_in_decl): Likewise.
17353 (find_decls_types_in_node): Likewise.
17354 * omp-low.c (remove_exit_barrier): Likewise.
17355 (expand_omp_taskreg): Likewise.
17356 (list2chain): Rename to...
17357 (vec2chain): ...this. Adjust.
17358 * cgraphunit.c (assemble_thunk): Call add_local_decl.
17359 * tree-cfg.c (replace_by_duplicate_decl): Likewise.
17360 * gimple-low.c (record_vars_into): Likewise.
17361 * tree-inline.c (remap_decls): Likewise.
17362 (declare_return_variable): Likewise.
17363 (declare_inline_vars): Likewise.
17364 (copy_forbidden): Adjust for new type of cfun->local_decls.
17365 (add_local_variables): New function.
17366 (expand_call_inline): Call it.
17367 (tree_function_versioning): Likewise.
17368
4ee89d5f
L
173692010-07-05 H.J. Lu <hongjiu.lu@intel.com>
17370
17371 AVX Programming Reference (June, 2010)
17372 * config/i386/cpuid.h (bit_F16C): New.
17373 (bit_RDRND): Likewise.
17374 (bit_FSGSBASE): Likewise.
17375
17376 * config/i386/i386-builtin-types.def: Add
17377 "DEF_FUNCTION_TYPE (UINT16)", function types for
17378 float16 <-> float conversions and
17379 "DEF_FUNCTION_TYPE (VOID, UINT64)".
17380
17381 * config/i386/i386-c.c (ix86_target_macros_internal): Support
17382 OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
17383 OPTION_MASK_ISA_F16C.
17384
17385 * config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
17386 (OPTION_MASK_ISA_RDRND_SET): Likewise.
17387 (OPTION_MASK_ISA_F16C_SET): Likewise.
17388 (OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
17389 (OPTION_MASK_ISA_RDRND_UNSET): Likewise.
17390 (OPTION_MASK_ISA_F16C_UNSET): Likewise.
17391 (OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
9aa5922d 17392 (ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and OPT_mf16c.
4ee89d5f
L
17393 (ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
17394 (pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
17395 (override_options): Handle them.
9aa5922d 17396 (ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd and f16c.
4ee89d5f
L
17397 (ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
17398 IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
17399 IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
17400 IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
17401 IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
17402 IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
17403 IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
17404 IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
17405 (bdesc_args): Likewise.
17406 (ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
17407 V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
17408 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
17409 VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
17410 Handle non-memory store.
17411
17412 * config/i386/i386.h (TARGET_FSGSBASE): New.
17413 (TARGET_RDRND): Likewise.
17414 (TARGET_F12C): Likewise.
17415
17416 * config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
17417 (UNSPEC_VCVTPS2PH): Likewise.
17418 (UNSPECV_RDFSBASE): Likewise.
17419 (UNSPECV_RDGSBASE): Likewise.
17420 (UNSPECV_WRFSBASE): Likewise.
17421 (UNSPECV_WRGSBASE): Likewise.
17422 (UNSPECV_RDRAND): Likewise.
17423 (rdfsbase<mode>): Likewise.
17424 (rdgsbase<mode>): Likewise.
17425 (wrfsbase<mode>): Likewise.
17426 (wrgsbase<mode>): Likewise.
17427 (rdrand<mode>): Likewise.
17428
17429 * config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.
17430
17431 * config/i386/immintrin.h (_rdrand_u16): New.
17432 (_rdrand_u32): Likewise.
17433 (_readfsbase_u32): Likewise.
17434 (_readfsbase_u64): Likewise.
17435 (_readgsbase_u32): Likewise.
17436 (_readgsbase_u64): Likewise.
17437 (_writefsbase_u32): Likewise.
17438 (_writefsbase_u64): Likewise.
17439 (_writegsbase_u32): Likewise.
17440 (_writegsbase_u64): Likewise.
17441 (_rdrand_u64): Likewise.
17442 (_cvtsh_ss): Likewise.
17443 (_mm_cvtph_ps): Likewise.
17444 (_mm256_cvtph_ps): Likewise.
17445 (_cvtss_sh): Likewise.
17446 (_mm_cvtps_ph): Likewise.
17447 (_mm256_cvtps_ph): Likewise.
17448
17449 * config/i386/sse.md (vcvtph2ps): New.
17450 (*vcvtph2ps_load): Likewise.
17451 (vcvtph2ps256): Likewise.
17452 (vcvtps2ph): Likewise.
17453 (*vcvtps2ph): Likewise.
17454 (*vcvtps2ph_store): Likewise.
17455 (vcvtps2ph256): Likewise.
17456
17457 * doc/extend.texi: Document FSGSBASE and RDRND built-in functions.
17458
17459 * doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.
17460
3341aeda
JR
174612010-07-05 Joern Rennecke <joern.rennecke@embecosm.com>
17462
17463 PR bootstrap/44512
17464 * genenums.c (main): Output include of insn-constants.h
17465 * Makefile.in (insn-enums.o): Depend on insn-constants.h.
17466
71b2fd74
UB
174672010-07-05 Uros Bizjak <ubizjak@gmail.com>
17468
17469 * config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
17470 (override_options): Initialize it.
17471 (ix86_expand_prologue): Use it.
17472
938650d8
JJ
174732010-07-05 Jakub Jelinek <jakub@redhat.com>
17474
17475 * tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
17476
88e06841
AS
174772010-07-05 Anatoly Sokolov <aesok@post.ru>
17478
17479 * double-int.h (fit_double_type): Remove declaration.
17480 * double-int.c (fit_double_type): Remove function.
17481 * tree.h (int_fits_type_p): Adjust prototype.
17482 * tree.c (int_fits_type_p): Return bool. Use double_int_fits_to_tree_p
17483 instead of fit_double_type.
17484 (build_int_cst_type): Use double_int_to_tree and shwi_to_double_int
17485 instead of fit_double_type and build_int_cst_wide.
17486 * builtins.c (): Use double_int_fits_to_tree_p and double_int_to_tree
17487 instead of fit_double_type and build_int_cst_wide.
17488 (fold_builtin_object_size): Use double_int_fits_to_tree_p instead
17489 of fit_double_type.
17490
92eb4438
JH
174912010-07-05 Jan Hubicka <jh@suse.cz>
17492
17493 * cgraph.h (cgraph_node, cgraph_varpool_node): Update docmentation of
17494 in_other_partition.
17495 * lto-cgraph.c (referenced_from_other_partition_p,
17496 reachable_from_other_partition_p): Use in_other_partition flags.
17497 (output_node, output_varpool_node): COMDAT nodes always have private
17498 copies and thus are never used from other partition.
17499
69e18c09
AS
175002010-07-05 Anatoly Sokolov <aesok@post.ru>
17501
17502 * config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
17503 * config/ia64/t-ia64 (ia64.o): Depend on reload.h.
17504 * config/ia64/ia64.c Include reload.h.
17505 (ia64_memory_move_cost): New function.
17506 (TARGET_MEMORY_MOVE_COST): Define.
17507 (ia64_register_move_cost): Replace MEMORY_MOVE_COST with
17508 memory_move_cost.
17509
16ad8025
SL
175102010-07-05 Sandra Loosemore <sandra@codesourcery.com>
17511
17512 PR middle-end/42505
16ad8025
SL
17513 * tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
17514 comments about cost model.
17515 (try_add_cand_for): Add second strategy for choosing initial set
17516 based on original IVs, controlled by ORIGINALP argument.
17517 (get_initial_solution): Add ORIGINALP argument.
17518 (find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
17519 (find_optimal_iv_set): Try two different strategies for choosing
17520 the IV set, and return the one with lower cost.
17521
bdf0f819
RG
175222010-07-05 Richard Guenther <rguenther@suse.de>
17523
9aa5922d 17524 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
bdf0f819 17525
a41e5e86
RG
175262010-07-05 Richard Guenther <rguenther@suse.de>
17527
17528 * tree.c (reference_alias_ptr_type): New function.
17529 * tree.h (reference_alias_ptr_type): Declare.
17530 * tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to
17531 allow non-TARGET_MEM_REF new refs.
94dbbc81 17532 (rewrite_use_address): Pass old alias pointer type to create_mem_ref.
a41e5e86
RG
17533 * tree-ssa-address.c (create_mem_ref_raw): Get alias pointer type.
17534 Build a MEM_REF instead of a TARGET_MEM_REF if possible.
17535 (create_mem_ref): Get alias pointer type. Adjust calls to
17536 create_mem_ref_raw.
17537 (maybe_fold_tmr): Likewise.
17538 * tree-flow.h (create_mem_ref): Adjust prototype.
17539
f2896bc9
JJ
175402010-07-05 Jakub Jelinek <jakub@redhat.com>
17541
17542 PR c++/44808
17543 * gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if
17544 *from_p is VAR_DECL.
17545
cfe6dea2
NF
175462010-07-05 Nathan Froyd <froydnj@codesourcery.com>
17547
17548 * tree.h (build_call_list): Remove.
17549 * tree.c (build_call_list): Remove.
17550
e22f7f31
RB
175512010-07-05 Richard Guenther <rguenther@suse.de>
17552
17553 * double-int.h (double_int_sub): Declare.
17554 * double-int.c (double_int_sub): New function.
17555 * dwarf2out.c (field_byte_offset): Use it.
17556 * fixed-value.c (do_fixed_add): Likewise.
17557 (do_fixed_multiply): Likewise.
17558 (do_fixed_divide): Likewise.
17559 * tree-predcom.c (add_ref_to_chain): Likewise.
17560 (determine_roots_comp): Likewise.
17561 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
17562
989ea525
NF
175632010-07-05 Nathan Froyd <froydnj@codesourcery.com>
17564
17565 * vec.h (VEC_splice, VEC_safe_splice): New macros. Add function
17566 implementations.
17567
7ec6356e
BS
175682010-07-05 Bernd Schmidt <bernds@codesourcery.com>
17569
17570 * config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
17571 * arm-modes.def (CC_NOTB): Don't define.
17572 * config/arm/arm.md (arm_adddi3): Generate canonical RTL.
17573 (adddi_sesidi_di, adddi_zesidi_di): Likewise.
17574 (LTUGEU): New code_iterator.
17575 (cnb, optab): New corresponding code_attrs.
17576 (addsi3_carryin_<optab>): Renamed from addsi3_carryin. Change pattern
17577 to canonical form. Operands 1 and 2 are commutative. Parametrize
17578 using LTUGEU.
17579 (addsi3_carryin_shift_<optab>): Likewise.
17580 (addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
17581 Operands 1 and 2 are commutative. Parametrize using LTUGEU.
17582 (addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
94dbbc81
UB
17583 (subsi3_compare): Renamed from subsi3_compare0_c.
17584 Change CC_NOTB to CC.
7ec6356e
BS
17585 (arm_subsi3_insn): Allow constants for operand 0.
17586 (compare_scc peephole for eq case): New.
17587 (compare_scc splitters): Change CC_NOTB to CC.
17588
75421dcd
RG
175892010-07-05 Richard Guenther <rguenther@suse.de>
17590
17591 * tree-ssa-loop-im.c (for_each_index): Do not handle
17592 ALIGN_INDIRECT_REF.
17593 (gen_lsm_tmp_name): Likewise.
17594 * tree-dump.c (dequeue_and_dump): Likewise.
17595 * tree-pretty-print.c (dump_generic_node): Likewise.
17596 (op_code_prio): Likewise.
17597 (op_symbol_code): Likewise.
17598 * tree.c (staticp): Likewise.
17599 (build1_stat): Likewise.
17600 * tree.h (INDIRECT_REF_P): Likewise.
17601 * fold-const.c (maybe_lvalue_p): Likewise.
17602 (operand_equal_p): Likewise.
17603 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
17604 (ao_ref_init_from_vn_reference): Likewise.
17605 * tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
17606 (find_interesting_uses_address): Likewise.
17607 * dwarf2out.c (loc_list_from_tree): Likewise.
17608 * gimplify.c (gimplify_expr): Likewise.
17609 * tree-eh.c (tree_could_trap_p): Likewise.
17610 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
17611 * cfgexpand.c (expand_debug_expr): Likewise.
17612 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
17613 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
17614 * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
17615 * config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
17616 * tree-ssa-operands.c (get_expr_operands): Likewise.
17617 * expr.c (safe_from_p): Likewise.
17618 (expand_expr_real_1): Likewise. TER BIT_AND_EXPRs into MEM_REFs.
17619 * tree-vect-data-refs.c (vect_setup_realignment): Build
17620 BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
17621 * tree-vect-stmts.c (vectorizable_load): Likewise.
17622 * tree.def (ALIGN_INDIRECT_REF): Remove.
17623
5d657263
RG
176242010-07-05 Richard Guenther <rguenther@suse.de>
17625
17626 PR tree-optimization/44784
17627 * tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
17628 for inserted stmts.
17629 (find_or_generate_expression): Fix SCCVN insertion check.
17630
3cd0d4fa
NS
176312010-07-05 Nathan Sidwell <nathan@codesourcery.com>
17632
17633 * config/rs6000/e500crtsavg64gprctr.asm: Correct done label name.
17634 * config/rs6000/e500crtsav64gprctr.asm: Likewise.
17635 * config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END
17636 directives.
17637
9940b13c
IR
176382010-07-05 Ira Rosen <irar@il.ibm.com>
17639
17640 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip
17641 statements that are not vectorized.
17642 * tree-vect-stmts.c (vect_get_load_cost): Update the value stored
94dbbc81 17643 in INSIDE_COST.
9940b13c 17644
e4dde839
MP
176452010-07-05 Mikael Pettersson <mikpe@it.uu.se>
17646
17647 PR bootstrap/44820
17648 * config/arm/arm.c (arm_attr_length_move_neon): Delete regno.
17649
e3061843
RB
176502010-07-05 Richard Guenther <rguenther@suse.de>
17651
17652 * tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE
17653 RESULT_DECLs properly.
17654
c2a78352
L
176552010-07-04 H.J. Lu <hongjiu.lu@intel.com>
17656
17657 PR rtl-optimization/44695
17658 * config/i386/i386.md (extract_code): Removed.
17659 (<u>divmodqi4): Likewise.
17660 (divmodqi4): New.
17661 (udivmodqi4): Likewise.
94dbbc81 17662 (divmodhiqi3): Change div/mod to HImode and extend operand 2 to HImode.
c2a78352
L
17663 (udivmodhiqi3): Likewise.
17664
4aa1c0d5
JH
176652010-07-04 Jan Hubicka <jh@suse.cz>
17666
17667 * lto-cgraph.c (input_edge): Do not care about resolution decisions.
17668
a05541a9
JH
176692010-07-04 Jan Hubicka <jh@suse.cz>
17670
94dbbc81
UB
17671 * cgraphunit.c (init_cgraph): Only initialize dump file if it
17672 is not already initialized.
a05541a9 17673
f9621cc4
RS
176742010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
17675
17676 * optabs.h (reload_in_optab, reload_out_optab, code_to_optab)
17677 (vcond_gen_code, vcondu_gen_code, movmem_optab, setmem_optab)
17678 (cmpstr_optab, cmpstrn_optab, cmpmem_optab, sync_add_optab)
17679 (sync_sub_optab, sync_ior_optab, sync_and_optab, sync_xor_optab)
17680 (sync_nand_optab, sync_old_add_optab, sync_old_sub_optab)
17681 (sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab)
17682 (sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab)
17683 (sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab)
17684 (sync_new_nand_optab): Redefine as macros.
17685 (sync_compare_and_swap, sync_lock_test_and_set, sync_lock_release):
17686 Delete.
17687 (direct_optab_index): New enum.
17688 (direct_optab_d): New structure.
17689 (direct_optab): New typedef.
17690 (direct_optab_table): Declare.
17691 (direct_optab_handler, set_direct_optab_handler): New functions.
17692 (sync_compare_and_swap_optab, sync_lock_test_and_set_optab)
17693 (sync_lock_release_optab): New macros.
17694 * optabs.c (direct_optab_table): New variable.
17695 (movcc_gen_code, vcond_gen_code, vcondu_gen_code): Delete.
17696 (prepare_cmp_insn): Use direct_optab_handler for cmpmem_optab,
17697 cmpstr_optab and cmpstrn_optab.
17698 (emit_conditional_move): Likewise for movcc_optab.
17699 (can_conditionally_move_p): Likewise for movcc_gen_code.
17700 (init_insn_codes): Clear direct_optab_table.
17701 (init_optabs): Don't initialize the new "direct optabs" here.
17702 (get_vcond_icode): Use direct_optab_handler for vcondu_gen_code and
17703 vcond_gen_code.
17704 (expand_val_compare_and_swap): Likewise sync_compare_and_swap_optab.
17705 (expand_bool_compare_and_swap): Likewise sync_compare_and_swap_optab.
17706 (expand_compare_and_swap_loop): Likewise sync_compare_and_swap_optab.
17707 (expand_sync_operation): Likewise other sync_*_optabs.
17708 (expand_sync_fetch_operation): Likewise. Rename sync_compare_and_swap
17709 to sync_compare_and_swap_optab.
17710 (expand_sync_lock_test_and_set): Use direct_optab_handler for
17711 sync_lock_test_and_set and sync_compare_and_swap, adding "_optab"
17712 to the names of both.
17713 * builtins.c (expand_builtin_strcmp): Use direct_optab_handler for
17714 cmpstr_optab and cmpstrn_optab.
17715 (expand_builtin_lock_release): Likewise sync_lock_release.
17716 * expr.c (movmem_optab, setmem_optab, cmpstr_optab, cmpstrn_optab)
17717 (cmpmem_optab, sync_add_optab, sync_sub_optab, sync_ior_optab)
17718 (sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab)
17719 (sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab)
17720 (sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab)
17721 (sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab)
17722 (sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap)
17723 (sync_lock_test_and_set, sync_lock_release): Delete.
17724 (emit_block_move_via_movmem): Use direct_optab_handler for movmem_optab.
17725 (emit_block_move_via_setmem): Use direct_optab_handler for setmem_optab.
17726 * genopinit.c (optabs): Use set_direct_optab_handler for the new
17727 macro optabs.
17728 * omp-low.c (expand_omp_atomic_fetch_op): Update the type of
17729 the "optab" local variable. Use direct_optab_handler for optab and
17730 sync_compare_and_swap_optab.
17731 * reload1.c (reload_in_optab, reload_out_optab): Delete.
17732 * targhooks.c (default_secondary_reload): Use direct_optab_handler for
17733 reload_in_optab and reload_out_optab.
17734 * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
17735 * config/frv/frv.c (frv_alloc_temp_reg): Likewise.
17736 * config/pa/pa.c (pa_secondary_reload): Likewise.
17737 * java/builtins.c (compareAndSwapInt_builtin): Use direct_optab_handler
17738 for sync_compare_and_swap, renaming it to sync_compare_and_swap_optab.
17739 (compareAndSwapLong_builtin, compareAndSwapObject_builtin): Likewise.
17740 (VMSupportsCS8_builtin): Likewise.
17741
596455ce
RS
177422010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
17743
17744 * optabs.h (optab_handlers): Change type of insn_code to int.
17745 (optab_handler, set_optab_handler, convert_optab_handler)
17746 (set_convert_optab_handler): Treat the insn_code field as "insn_code -
17747 CODE_FOR_nothing".
17748 * optabs.c (optab_table, convert_optab_table): Always zero-initialize.
17749 (init_insn_codes): Zero both the above arrays.
17750 (init_optabs): Never call init_insn_codes first time around.
17751
947131ba
RS
177522010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
17753
17754 * optabs.h (optab_handler, convert_optab_handler): Turn into
17755 inline functions that return an insn code.
17756 (set_optab_handler, set_convert_optab_handler): New functions.
17757 * builtins.c: Replace optab_handler(X)->insn_code with
17758 optab_handler or set_optab_handler thoughout. Likewise
17759 convert_optab_handler(X)->insn_code with convert_optab_handler
17760 and set_convert_optab_handler.
17761 * expmed.c, expr.c, genopinit.c, ifcvt.c, optabs.c, reload.c,
17762 reload1.c, stmt.c, targhooks.c, tree-ssa-loop-prefetch.c,
17763 tree-ssa-math-opts.c, tree-vect-data-refs.c, tree-vect-generic.c,
17764 tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
17765 tree-vect-stmts.c, config/m32c/m32c.c, config/rs6000/rs6000.c,
17766 config/spu/spu.c: Likewise.
17767
47e5ff44
KK
177682010-07-04 Kaz Kojima <kkojima@gcc.gnu.org>
17769
17770 PR target/44531
17771 * config.gcc (sh*-*-*): Use regular expressions instead of
17772 the 'i' modifier for sed substitutions.
17773
abbd64b9
JS
177742010-07-04 Jeremie Salvucci <jeremie.salvucci@free.fr>
17775
17776 * gimple.c (gimple_body): Comments added.
17777
7f5ad6d7
RG
177782010-07-04 Richard Guenther <rguenther@suse.de>
17779
17780 PR middle-end/44809
17781 * gimplify.c (gimplify_expr): Properly build a MEM_REF instead
17782 of an INDIRECT_REF.
17783
17fc049f
RG
177842010-07-04 Richard Guenther <rguenther@suse.de>
17785
17786 PR tree-optimization/44479
17787 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
17788 extra SSA name copy statements which preserves points-to
17789 information.
17790 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
17791 Copy points-to information for all pointers. Properly handle
17792 MEM_REFs.
17793 (vect_create_data_ref_ptr): Likewise. Avoid extra SSA name
17794 copy statements.
17795 * Makefile.in (tree-ssa-loop-ivopts.o): Add tree-ssa-propagate.h
17796 dependency.
17797
72aa3dca
RG
177982010-07-04 Richard Guenther <rguenther@suse.de>
17799
17800 PR middle-end/44785
17801 * tree-inline.c (initialize_inlined_parameters): Do not
17802 re-use pointer-map slot over remap_type call.
17803
ef2a9157
RG
178042010-07-04 Richard Guenther <rguenther@suse.de>
17805
17806 * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.
17807
4fa4929e
RG
178082010-07-04 Richard Guenther <rguenther@suse.de>
17809
17810 PR tree-optimization/44656
17811 * tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
17812 again after value-replacing in the defintions lhs.
17813
720f5239
IR
178142010-07-04 Ira Rosen <irar@il.ibm.com>
17815 Revital Eres <eres@il.ibm.com>
17816
94dbbc81 17817 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
720f5239
IR
17818 Document new arguments.
17819 * doc/tm.texi: Regenerate.
17820 * targhooks.c (default_builtin_vectorization_cost): Add new arguments.
17821 Handle unaligned store.
17822 * targhooks.h (default_builtin_vectorization_cost): Add new arguments.
17823 * target.def (builtin_vectorization_cost): Add new arguments.
17824 * target.h (enum vect_cost_for_stmt): Add unaligned_store.
17825 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Take number
17826 of iterations of prolog loop directly from LOOP_PEELING_FOR_ALIGNMENT.
17827 (vect_vfa_segment_size): Fix indentation.
17828 * tree-vectorizer.h (struct _vect_peel_info): New.
17829 (struct _vect_peel_extended_info): New.
17830 (struct _loop_vec_info): Add new field for peeling hash table and a
17831 macro for its access.
17832 (VECT_MAX_COST): Define.
17833 (vect_get_load_cost): Declare.
94dbbc81 17834 (vect_get_store_cost, vect_get_known_peeling_cost,
720f5239
IR
17835 vect_get_single_scalar_iteraion_cost): Likewise.
17836 (vect_supportable_dr_alignment): Add new argument.
17837 * tree-vect-loop.c (new_loop_vec_info): Initialize peeling hash table
17838 field.
17839 (destroy_loop_vec_info): Free peeling hash table.
17840 (vect_analyze_loop_form): Update call to builtin_vectorization_cost.
17841 (vect_analyze_loop): Move vect_enhance_data_refs_alignment before
17842 vect_analyze_slp. Fix indentation.
17843 (vect_get_single_scalar_iteraion_cost): New function.
17844 (vect_get_known_peeling_cost): Likewise.
94dbbc81
UB
17845 (vect_estimate_min_profitable_iters): Rename byte_misalign to npeel.
17846 Call vect_get_single_scalar_iteraion_cost instead of cost_for_stmt per
720f5239
IR
17847 statement. Move outside cost calculation inside unknown peeling case.
17848 Call vect_get_known_peeling_cost for known amount of peeling.
17849 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Add data
17850 reference to the print message of forced alignment.
94dbbc81 17851 (vect_verify_datarefs_alignment): Update call to
720f5239
IR
17852 vect_supportable_dr_alignment.
17853 (vect_get_data_access_cost): New function.
17854 (vect_peeling_hash, vect_peeling_hash_eq, vect_peeling_hash_insert,
17855 vect_peeling_hash_get_most_frequent, vect_peeling_hash_get_lowest_cost,
17856 vect_peeling_hash_choose_best_peeling): Likewise.
17857 (vect_enhance_data_refs_alignment): Fix documentation. Use hash table
17858 to store all the accesses in the loop and find best possible access to
17859 align using peeling for known alignment case. For unknown alignment
17860 check if stores are preferred or if peeling is worthy.
17861 (vect_find_same_alignment_drs): Analyze pairs of loads too.
17862 (vect_supportable_dr_alignment): Add new argument and check aligned
94dbbc81 17863 accesses according to it.
720f5239 17864 * tree-vect-stmts.c (vect_get_stmt_cost): New function.
94dbbc81 17865 (cost_for_stmt): Call vect_get_stmt_cost.
720f5239 17866 (vect_model_simple_cost): Likewise.
94dbbc81 17867 (vect_model_store_cost): Call vect_get_stmt_cost. Call
720f5239
IR
17868 vect_get_store_cost to calculate the cost of the statement.
17869 (vect_get_store_cost): New function.
94dbbc81 17870 (vect_model_load_cost): Call vect_get_stmt_cost. Call
720f5239
IR
17871 vect_get_load_cost to calculate the cost of the statement.
17872 (vect_get_load_cost): New function.
17873 (vectorizable_store): Update call to vect_supportable_dr_alignment.
17874 (vectorizable_load): Likewise.
94dbbc81 17875 * config/spu/spu.c (spu_builtin_vectorization_cost): Add new arguments.
720f5239
IR
17876 * config/i386/i386.c (ix86_builtin_vectorization_cost): Add new
17877 arguments. Handle unaligned store.
17878 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): New.
17879 (rs6000_builtin_support_vector_misalignment): Return true for word and
17880 double word alignments for VSX.
94dbbc81 17881 * tree-vect-slp.c (vect_build_slp_tree): Update calls to
720f5239
IR
17882 vect_supportable_dr_alignment and builtin_vectorization_cost.
17883
d3ca3d6b
JDA
178842010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17885
17886 PR target/44597
17887 * config/pa/predicates.md (prefetch_cc_operand): Remove.
17888 (prefetch_nocc_operand): Likewise.
17889 * config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
17890 (prefetch_20): New insn.
17891 (prefetch_cc): Remove.
17892 (prefetch_nocc): Likewise.
17893
4d451982
MLI
178942010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
17895
17896 * expr.c (vector_mode_valid_p): Move to c-common.c.
17897 * expr.h (vector_mode_valid_p): Do not declare here.
17898 * system.h: Poison GCC_EXPR_H in front-ends.
17899 * Makefile.in: Update dependencies.
17900
3a0c7e3a
JDA
179012010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17902
17903 PR target/44705
17904 * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.
17905
f029db69
JH
179062010-07-03 Jan Hubicka <jh@suse.cz>
17907
17908 * timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
17909 TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
17910 * cfgexpand.c (gimple_expand_cfg): Use new timevars.
17911 * var-tracking.c (vt_find_locations, variable_tracking_main_1):
17912 Likewise.
17913
17914 * lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
17915 Update timevars.V
17916 * timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
17917 (TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
17918 TV_IPA_LTO_DECL_OUT): New.
17919 * lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.
17920
9b8051b4
JH
179212010-07-03 Jan Hubicka <jh@suse.cz>
17922
17923 * ipa-inline.c (update_edge_key): Break out from ...
17924 update_callers_keys): ... here;
17925 (update_callee_keys): Update only the edges from caller to callee.
17926 (update_all_calle_keys): Do what update_calle_keys did.
17927 (decide_inlining_of_small_functions): Avoid recomputing of all
17928 callees when badness increase.
17929
7c4f0041
JZ
179302010-07-03 Jie Zhang <jie@codesourcery.com>
17931
17932 * config/arm/arm.c (arm_attr_length_move_neon): New.
17933 * config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
17934 * config/arm/neon.md (define_mode_attr V_slen): Remove.
17935 (neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
17936 to compute length attribute.
17937
4e6f5666
JZ
179382010-07-03 Jie Zhang <jie@codesourcery.com>
17939
17940 * config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
17941 as predicate for operand 1 and remove its constraint.
17942 * config/arm/predicates.md (vfp_register_operand): New.
94dbbc81 17943 * config/arm/arm.md (*push_multi): Remove the constraint of operand 1.
4e6f5666
JZ
17944 (*push_fp_multi): Likewise.
17945
6687b740
EB
179462010-07-03 Eric Botcazou <ebotcazou@adacore.com>
17947
17948 * gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.
17949
179502010-07-03 Jan Hubicka <jh@suse.cz>
bd7f30a1
JH
17951
17952 * config/i386/i386.c (override_options): Revert accidental commit.
17953
3f59fa1c
LCW
179542010-07-02 Le-Chun Wu <lcwu@google.com>
17955
e2cb8da2 17956 PR c++/44128
3f59fa1c
LCW
17957 * doc/invoke.texi: Update documentation of -Wshadow.
17958
73160ba9
DJ
179592010-07-02 Daniel Jacobowitz <dan@codesourcery.com>
17960 Julian Brown <julian@codesourcery.com>
74164603 17961 Sandra Loosemore <sandra@codesourcery.com>
73160ba9
DJ
17962
17963 * config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
17964 comparisons. Adjust to take both operands.
17965 (arm_select_cc_mode): Handle DImode comparisons.
17966 (arm_gen_compare_reg): Generate a scratch register for DImode
17967 comparisons which require one. Use xor for Thumb equality checks.
17968 (arm_const_double_by_immediates): New.
17969 (arm_print_operand): Allow 'Q' and 'R' for constants.
17970 (get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
17971 * config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
17972 arm_canonicalize_comparison.
17973 * config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
17974 * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
17975 prototype.
17976 (arm_const_double_by_immediates): Declare.
17977 * config/arm/constraints.md (Di): New constraint.
17978 * config/arm/predicates.md (arm_immediate_di_operand)
17979 (arm_di_operand, cmpdi_operand): New.
17980 * config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
17981 (*arm_cmpdi_insn, *arm_cmpdi_unsigned)
17982 (*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
17983 (cstoredi4): Handle non-Cirrus also.
17984
400cfcf5 179852010-07-02 Julian Brown <julian@codesourcery.com>
74164603 17986 Sandra Loosemore <sandra@codesourcery.com>
400cfcf5
JB
17987
17988 PR target/43703
400cfcf5
JB
17989 * config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3)
17990 (smax<mode>3): Disable for NEON float modes when
17991 flag_unsafe_math_optimizations is false.
17992 * config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon)
17993 (*mul<mode>3_neon)
17994 (mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon)
17995 (reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable
17996 for NEON float modes when flag_unsafe_math_optimizations is false.
94dbbc81
UB
17997 (quad_halves_<code>v4sf): Only enable if
17998 flag_unsafe_math_optimizations is true.
400cfcf5
JB
17999 * doc/invoke.texi (ARM Options): Add note about floating point
18000 vectorization requiring -funsafe-math-optimizations.
18001
bab53516
SL
180022010-07-02 Sandra Loosemore <sandra@codesourcery.com>
18003 Julian Brown <julian@codesourcery.com>
18004
18005 * config/arm/neon.md (UNSPEC_VABA): Delete.
18006 (UNSPEC_VABAL): Delete.
18007 (UNSPEC_VABS): Delete.
18008 (UNSPEC_VMUL_N): Delete.
18009 (adddi3_neon): New.
18010 (subdi3_neon): New.
18011 (mul<mode>3add<mode>_neon): Make the pattern named.
18012 (mul<mode>3neg<mode>add<mode>_neon): Likewise.
18013 (neon_vadd<mode>): Replace with define_expand, and move the remaining
18014 unspec parts...
18015 (neon_vadd<mode>_unspec): ...to this.
18016 (neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
18017 (neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
18018 (neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
18019 (neon_vaba<mode>): Rewrite in terms of vabd.
18020 (neon_vabal<mode>): Rewrite in terms of vabdl.
18021 (neon_vabs<mode>): Rewrite without unspec.
18022 * config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
18023 (*arm_subdi3): Likewise.
18024 * config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
18025 No_op attribute to disable assembly output checks.
18026 * config/arm/arm_neon.h: Regenerated.
18027 * doc/arm-neon-intrinsics.texi: Regenerated.
18028
556e9ba0
JH
180292010-07-02 Jan Hubicka <jh@suse.cz>
18030
e2cb8da2
EB
18031 * ipa-split.c (split_function): For aggregate values, set the return
18032 slot optimization bit. When passing DECL_BY_REFERENCE, produce
a557f9cc 18033 *<retval> = fncall.part ().
556e9ba0
JH
18034 (execute_split_functions): Do not care about DECL_BY_REFERENCE.
18035
b3b7bbce
SL
180362010-07-02 Sandra Loosemore <sandra@codesourcery.com>
18037
18038 * config/arm/neon.md (UNSPEC_VAND): Delete.
18039 (UNSPEC_VBIC): Delete.
18040 (UNSPEC_VCLZ): Delete.
18041 (UNSPEC_VCNT): Delete.
18042 (UNSPEC_VEOR): Delete.
18043 (UNSPEC_VORN): Delete.
18044 (UNSPEC_VORR): Delete.
18045 (iordi3_neon): Rewrite RTL without unspec. Add alternatives to handle
18046 core registers too.
18047 (anddi3_neon): Likewise.
18048 (orndi3_neon): Likewise.
18049 (bicdi3_neon): Likewise.
18050 (xordi3_neon): Likewise.
18051 (neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
18052 rid of unspec and handle unused operand.
18053 (neon_vcnt<mode>): Similarly, with popcount<mode>2.
18054 * config/arm/predicates.md (imm_for_neon_logic_operand):
18055 Require TARGET_NEON.
18056 (imm_for_neon_inv_logic_operand): Likewise.
94dbbc81 18057 * config/arm/arm.md (define_split for logical_binary_operator):
b3b7bbce
SL
18058 Disable for NEON registers.
18059 (anddi3): Add new define_expand, and rename the insn. Disable
18060 this insn for NEON, where anddi3_neon now applies.
18061 (*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
18062 (iordi3): As for anddi3.
18063 (xordi3): Likewise.
18064 * config/arm/neon.ml (Vand): Split DImode variants and mark them
18065 as No_op to disable testing for exact instruction match.
18066 (Vorr): Likewise.
18067 (Veor): Likewise.
18068 (Vbic): Likewise.
18069 (Vorn): Likewise.
18070 * config/arm/arm_neon.h: Regenerated.
18071 * doc/arm-neon-intrinsics.texi: Regenerated.
18072
260c8ba3
EB
180732010-07-02 Eric Botcazou <ebotcazou@adacore.com>
18074
18075 * expr.h (emit_stack_probe): Declare.
18076 * explow.c (emit_stack_probe): Make global.
18077 (anti_adjust_stack_and_probe): Fix comments.
18078 * config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
18079 * config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
18080 * config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
18081 * config/sparc/sparc.c: Include except.h.
18082 (sparc_emit_probe_stack_range): New function.
18083 (output_probe_stack_range): Likewise.
18084 (sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static
18085 built-in stack checking is enabled.
18086 * config/sparc/sparc-protos.h (output_probe_stack_range): Declare.
18087 * config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant.
18088 (probe_stack_range): New insn.
18089
e4f1aef1
RG
180902010-07-02 Richard Guenther <rguenther@suse.de>
18091
18092 PR target/43958
18093 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
18094 for argument alignment.
18095
2094f1fc
JH
180962010-07-02 Jan Hubicka <jh@suse.cz>
18097
e2cb8da2
EB
18098 * ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS
18099 walk backwards from entry_bb to check only those basic block of header
2094f1fc
JH
18100 that might lead to execution of split part.
18101 (consider_split) ... here.
18102 (find_return_bb): Allow assignment in return BB.
18103 (find_retval): New.
260c8ba3
EB
18104 (split_function): Fix name of cloned function; take care of updating
18105 return value in return_bb containing move.
2094f1fc 18106
2dc8bd76
AS
181072010-07-02 Andreas Schwab <schwab@linux-m68k.org>
18108
18109 PR target/44771
18110 * config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
18111 used variable insn.
18112
0acba2b4
EB
181132010-07-02 Eric Botcazou <ebotcazou@adacore.com>
18114
18115 * implicit-zee.c (combine_reaching_defs): Fix long lines.
18116 (is_set_with_extension_DI): Delete.
18117 (struct zero_extend_info): New structure.
f4a4b582 18118 (add_removable_zero_extend): New function.
0acba2b4
EB
18119 (find_removable_zero_extends): Use note_stores to find SETs.
18120 (find_and_remove_ze): Fix long line, remove superfluous parentheses.
18121
14e444c3
CF
181222010-07-02 Changpeng Fang <changpeng.fang@amd.com>
18123
18124 * tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
18125 is_miss_rate_acceptable. Pull total_positions computation
18126 out of the loops. Early return if miss_positions exceeds
18127 the acceptable threshold.
18128 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
18129 is_miss_rate_acceptable after renaming of compute_miss_rate.
18130
a245c04b
CF
181312010-07-02 Changpeng Fang <changpeng.fang@amd.com>
18132
18133 PR middle-end/44576
18134 * tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
18135 of 1000) for miss rate if the address diference is greater than or
18136 equal to the cache line size (the two reference will never hit the
18137 same cache line).
18138
18e8200f
BS
181392010-07-02 Bernd Schmidt <bernds@codesourcery.com>
18140
18141 PR target/42835
18142 * config/arm/arm-modes.def (CC_NOTB): New mode.
18143 * config/arm/arm.c (get_arm_condition_code): Handle it.
18144 * config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
18145 * config/arm/arm.md (subsi3_compare0_c): New pattern.
18146 (compare_scc): Now a define_and_split. Add a number of extra
18147 splitters before it.
18148
e4c6a07a
BS
18149 PR target/42172
18150 * config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
18151 and ZERO_EXTEND.
18152 (arm_rtx_costs_1): Likewise.
18153 (arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
18154 * config/arm/arm.md (is_arch6): New attribute.
18155 (zero_extendhisi2, zero_extendqisi2, extendhisi2,
18156 extendqisi2): Tighten the code somewhat, avoiding invalid
18157 RTL to occur in the expander patterns.
18158 (thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
18159 (thumb1_zero_extendhisi2_v6): Delete.
18160 (thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
18161 (thumb1_extendhisi2_v6): Delete.
18162 (thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
18163 (thumb1_extendqisi2_v6): Delete.
18164 (zero_extendhisi2 for register input splitter): New.
18165 (zero_extendqisi2 for register input splitter): New.
18166 (thumb1_extendhisi2 for register input splitter): New.
18167 (extendhisi2 for register input splitter): New.
18168 (extendqisi2 for register input splitter): New.
18169 (TARGET_THUMB1 extendqisi2 for memory input splitter): New.
18170 (arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
18171 and add support for a register alternative requiring a split.
18172 (thumb1_zero_extendqisi2): Likewise.
18173 (arm_zero_extendqisi2): Likewise.
18174 (arm_extendhisi2): Likewise.
18175 (arm_extendqisi2): Likewise.
18176
a277dd9b
SL
181772010-07-02 Sandra Loosemore <sandra@codesourcery.com>
18178
18179 * config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL
18180 instead of an unspec.
18181 (neon_expand_vector_init): Likewise.
18182 * config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
18183 (UNSPEC_VDUP_LANE): Delete.
18184 (UNSPEC VDUP_N): Delete.
18185 (UNSPEC_VGET_HIGH): Delete.
18186 (UNSPEC_VGET_LANE): Delete.
18187 (UNSPEC_VGET_LOW): Delete.
18188 (UNSPEC_VMVN): Delete.
18189 (UNSPEC_VSET_LANE): Delete.
18190 (V_double_vector_mode): New.
18191 (vec_set<mode>_internal): Make code emitted match that for the
18192 corresponding intrinsics.
18193 (vec_setv2di_internal): Likewise.
18194 (neon_vget_lanedi): Rewrite to expand into emit_move_insn.
18195 (neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
18196 (neon_vset_lane<mode>): Combine double and quad patterns and
18197 expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE.
18198 (neon_vset_lanedi): Rewrite to expand into emit_move_insn.
18199 (neon_vdup_n<mode>): Rewrite RTL without unspec.
18200 (neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
18201 (neon_vdup_nv2di): Rewrite RTL without unspec and merge with
18202 with neon_vdup_lanev2di, adjusting the pattern from the latter
18203 to be predicable for consistency.
18204 (neon_vdup_lane<mode>_internal): New.
18205 (neon_vdup_lane<mode>): Turn into a define_expand and rewrite
18206 to avoid using an unspec.
18207 (neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
18208 (neon_vdup_lanev2di): Turn into a define_expand.
18209 (neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.
18210 (neon_vget_high<mode>): Replace with....
18211 (neon_vget_highv16qi): New pattern using canonical RTL.
18212 (neon_vget_highv8hi): Likewise.
18213 (neon_vget_highv4si): Likewise.
18214 (neon_vget_highv4sf): Likewise.
18215 (neon_vget_highv2di): Likewise.
18216 (neon_vget_low<mode>): Replace with....
18217 (neon_vget_lowv16qi): New pattern using canonical RTL.
18218 (neon_vget_lowv8hi): Likewise.
18219 (neon_vget_lowv4si): Likewise.
18220 (neon_vget_lowv4sf): Likewise.
18221 (neon_vget_lowv2di): Likewise.
18222
18223 * config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress
18224 test for this emitting vmov.
18225 (Vset_lane): Likewise.
18226 (Vdup_n): Likewise.
18227 (Vmov_n): Likewise.
18228
18229 * doc/arm-neon-intrinsics.texi: Regenerated.
18230
8c98c2a6
SL
182312010-07-02 Sandra Loosemore <sandra@codesourcery.com>
18232
18233 * config/arm/neon.md (vec_extractv2di): Correct error in register
18234 numbering to reconcile with neon_vget_lanev2di.
18235
90fa9e17
RG
182362010-07-02 Richard Guenther <rguenther@suse.de>
18237
18238 * tree-ssa-structalias.c (pt_solution_set_var): New function.
18239 * tree-ssa-alias.h (pt_solution_set_var): Declare.
18240 * tree-ssa-loop-ivopts.c (copy_ref_info): Also copy or create
18241 points-to information.
18242
c3ac3ddf
CB
182432010-07-02 Christian Borntraeger <borntraeger@de.ibm.com>
18244
18245 * config/s390/s390.c (override_options): Adopt prefetching
18246 at -O3 to handle flag_prefetch_loop_arrays as a tristate.
18247
b144ba9d
JH
182482010-07-02 Jan Hubicka <jh@suse.cz>
18249
18250 * df-problems.c (df_kill_notes): Do not collect dead notes.
18251 (df_set_note): Just call add_reg_note.
18252 (df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
18253 df_create_unused_note): Do not deal with lists of old notes.
18254 (df_note_bb_compute): Likewise.
18255
fca821b5
RG
182562010-07-02 Richard Guenther <rguenther@suse.de>
18257
18258 * tree-ssa-structalias.c (find_func_aliases): Handle
18259 pointer alignment via BIT_AND_EXPR.
18260 * tree-vrp.c (extract_range_from_binary_expr): Likewise.
18261
19368333
RG
182622010-07-02 Richard Guenther <rguenther@suse.de>
18263
18264 * tree-data-ref.c (initialize_data_dependence_relation): Handle
18265 mismatching number of dimensions properly.
18266
1a4fc49d
UW
182672010-07-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
18268
18269 PR target/44707
18270 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize
18271 (lo_sum (high ...) ...) patterns generated by earlier passes.
18272
c18dc5cc
RO
182732010-07-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18274
18275 * doc/install.texi (Prerequisites): Document Perl requirement on
18276 Solaris 2.
18277 (Specific, *-*-solaris2*): Document GNU c++filt requirement.
18278
7dd536f1
RG
182792010-07-02 Richard Guenther <rguenther@suse.de>
18280
18281 PR middle-end/44777
18282 * tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.
18283
450997ef
JH
182842010-07-02 Jan Hubicka <jh@suse.cz>
18285
18286 PR middle-end/44706
18287 * predict.c (predict_paths_for_bb): Handle case when control dependence
18288 BB has only abnormal edges.
18289
3fa39831
RG
182902010-07-02 Richard Guenther <rguenther@suse.de>
18291
18292 PR tree-optimization/44748
18293 * tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle
18294 the embedded conversion in MEM_REFs.
18295
5a5bd694
MLI
182962010-07-01 López-Ibáñez <manu@gcc.gnu.org>
18297
18298 * reload.c: Include toplev.h.
18299 * recog.c: Likewise.
18300 * Makefile.in: Adjust dependencies.
18301
3aa05bb6
JJ
183022010-07-01 Jakub Jelinek <jakub@redhat.com>
18303
18304 PR debug/44694
18305 * dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx
18306 or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value.
18307
e3ccfc8b
RG
183082010-07-01 Richard Guenther <rguenther@suse.de>
18309
18310 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned
18311 types for offsets.
18312
c689f757
JR
183132010-07-01 Joern Rennecke <joern.rennecke@embecosm.com>
18314
18315 PR target/44732
18316 * config/ia64/ia64.c (ia64_register_move_cost): Remove stray '{'.
94dbbc81 18317 Fix argument types.
c21fc181 18318
cc9568ba
BS
183192010-07-01 Bernd Schmidt <bernds@codesourcery.com>
18320
18321 PR target/44727
18322 * config/i386/i386.md (peephole2 for arithmetic ops with memory):
18323 Make sure operand 0 dies.
18324
70f34814
RG
183252010-07-01 Richard Guenther <rguenther@suse.de>
18326
18327 PR middle-end/42834
18328 PR middle-end/44468
18329 * doc/gimple.texi (is_gimple_mem_ref_addr): Document.
18330 * doc/generic.texi (References to storage): Document MEM_REF.
18331 * tree-pretty-print.c (dump_generic_node): Handle MEM_REF.
18332 (print_call_name): Likewise.
18333 * tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF.
18334 (build_simple_mem_ref_loc): New function.
18335 (mem_ref_offset): Likewise.
18336 * tree.h (build_simple_mem_ref_loc): Declare.
18337 (build_simple_mem_ref): Define.
18338 (mem_ref_offset): Declare.
18339 * fold-const.c: Include tree-flow.h.
18340 (operand_equal_p): Handle MEM_REF.
18341 (build_fold_addr_expr_with_type_loc): Likewise.
18342 (fold_comparison): Likewise.
18343 (fold_unary_loc): Fold
18344 VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>.
18345 (fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2],
18346 fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2].
18347 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF.
18348 (ptr_deref_may_alias_ref_p_1): Likewise.
18349 (ao_ref_base_alias_set): Properly differentiate base object for
18350 offset and TBAA.
18351 (ao_ref_init_from_ptr_and_size): Use MEM_REF.
18352 (indirect_ref_may_alias_decl_p): Handle MEM_REFs properly.
18353 (indirect_refs_may_alias_p): Likewise.
18354 (refs_may_alias_p_1): Likewise. Remove pointer SSA name def
18355 chasing code.
18356 (ref_maybe_used_by_call_p_1): Handle MEM_REF.
18357 (call_may_clobber_ref_p_1): Likewise.
18358 * dwarf2out.c (loc_list_from_tree): Handle MEM_REF.
18359 * expr.c (expand_assignment): Handle MEM_REF.
18360 (store_expr): Handle MEM_REFs from STRING_CSTs.
18361 (store_field): If expanding a MEM_REF of a non-addressable
18362 decl use bitfield operations.
18363 (get_inner_reference): Handle MEM_REF.
18364 (expand_expr_addr_expr_1): Likewise.
18365 (expand_expr_real_1): Likewise.
18366 * tree-eh.c (tree_could_trap_p): Handle MEM_REF.
18367 * alias.c (ao_ref_from_mem): Handle MEM_REF.
18368 (get_alias_set): Likewise. Properly handle VIEW_CONVERT_EXPRs.
18369 * tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF.
18370 (dr_analyze_indices): Likewise.
18371 (dr_analyze_alias): Likewise.
18372 (object_address_invariant_in_loop_p): Likewise.
18373 * gimplify.c (mark_addressable): Handle MEM_REF.
18374 (gimplify_cond_expr): Build MEM_REFs.
18375 (gimplify_modify_expr_to_memcpy): Likewise.
18376 (gimplify_init_ctor_preeval_1): Handle MEM_REF.
18377 (gimple_fold_indirect_ref): Adjust.
18378 (gimplify_expr): Handle MEM_REF. Gimplify INDIRECT_REF to MEM_REF.
18379 * tree.def (MEM_REF): New tree code.
18380 * tree-dfa.c: Include toplev.h.
18381 (get_ref_base_and_extent): Handle MEM_REF.
18382 (get_addr_base_and_unit_offset): New function.
18383 * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF.
18384 * gimple-fold.c (may_propagate_address_into_dereference): Handle
18385 MEM_REF.
18386 (maybe_fold_offset_to_array_ref): Allow possibly out-of bounds
18387 accesses if the array has just one dimension. Remove always true
18388 parameter. Do not require type compatibility here.
18389 (maybe_fold_offset_to_component_ref): Remove.
18390 (maybe_fold_stmt_indirect): Remove.
18391 (maybe_fold_reference): Remove INDIRECT_REF handling.
18392 Fold back to non-MEM_REF.
18393 (maybe_fold_offset_to_address): Simplify. Deal with type
18394 mismatches here.
18395 (maybe_fold_reference): Likewise.
18396 (maybe_fold_stmt_addition): Likewise. Also handle
18397 &ARRAY + I in addition to &ARRAY[0] + I.
18398 (fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs.
18399 (gimple_get_relevant_ref_binfo): Handle MEM_REF.
18400 * cfgexpand.c (expand_debug_expr): Handle MEM_REF.
18401 * tree-ssa.c (useless_type_conversion_p): Make most pointer
18402 conversions useless.
18403 (warn_uninitialized_var): Handle MEM_REF.
18404 (maybe_rewrite_mem_ref_base): New function.
18405 (execute_update_addresses_taken): Implement re-writing of MEM_REFs
18406 to SSA form.
18407 * tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove
18408 INDIRECT_REF handling.
18409 (copy_tree_body_r): Handle MEM_REF.
18410 * gimple.c (is_gimple_addressable): Adjust.
18411 (is_gimple_address): Likewise.
18412 (is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with
18413 invariant base are invariant.
18414 (is_gimple_min_lval): Adjust.
18415 (is_gimple_mem_ref_addr): New function.
18416 (get_base_address): Handle MEM_REF.
18417 (count_ptr_derefs): Likewise.
18418 (get_base_loadstore): Likewise.
18419 * gimple.h (is_gimple_mem_ref_addr): Declare.
18420 (gimple_call_fndecl): Handle invariant MEM_REF addresses.
18421 * tree-cfg.c (verify_address): New function, split out from ...
18422 (verify_expr): ... here. Use for verifying ADDR_EXPRs and
18423 the address operand of MEM_REFs. Verify MEM_REFs. Reject
18424 INDIRECT_REFs.
18425 (verify_types_in_gimple_min_lval): Handle MEM_REF. Disallow
18426 INDIRECT_REF. Allow conversions.
18427 (verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of
18428 a register does not change its size.
18429 (verify_types_in_gimple_reference): Verify MEM_REF.
18430 (verify_gimple_assign_single): Disallow INDIRECT_REF.
18431 Handle MEM_REF.
18432 * tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable):
18433 New.
18434 (mark_address_taken): Handle MEM_REF.
18435 (get_indirect_ref_operands): Pass through opf_not_non_addressable.
18436 (get_asm_expr_operands): Pass opf_not_non_addressable.
18437 (get_expr_operands): Handle opf_[not_]non_addressable.
18438 Handle MEM_REF. Remove INDIRECT_REF handling.
bd3a5d17 18439 * tree-vrp.c (check_array_ref): Handle MEM_REF.
70f34814
RG
18440 (search_for_addr_array): Likewise.
18441 (check_array_bounds): Likewise.
18442 (vrp_stmt_computes_nonzero): Adjust for MEM_REF.
18443 * tree-ssa-loop-im.c (for_each_index): Handle MEM_REF.
18444 (ref_always_accessed_p): Likewise.
18445 (gen_lsm_tmp_name): Likewise. Handle ADDR_EXPR.
18446 * tree-complex.c (extract_component): Do not handle INDIRECT_REF.
18447 Handle MEM_REF.
18448 * cgraphbuild.c (mark_load): Properly check for NULL result
18449 from get_base_address.
18450 (mark_store): Likewise.
18451 * tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF.
18452 * tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF
18453 handling for MEM_REF.
18454 * tree-scalar-evolution.c (follow_ssa_edge_expr): Handle
18455 &MEM[ptr + CST] similar to POINTER_PLUS_EXPR.
18456 * builtins.c (stabilize_va_list_loc): Use the function ABI
18457 valist type if we couldn't canonicalize the argument type.
18458 Always dereference with the canonical va-list type.
18459 (maybe_emit_free_warning): Handle MEM_REF.
18460 (fold_builtin_memory_op): Simplify and handle MEM_REFs in folding
18461 memmove to memcpy.
18462 * builtins.c (fold_builtin_memory_op): Use ref-all types
18463 for all memcpy foldings.
18464 * omp-low.c (build_receiver_ref): Adjust for MEM_REF.
18465 (build_outer_var_ref): Likewise.
18466 (scan_omp_1_op): Likewise.
18467 (lower_rec_input_clauses): Likewise.
18468 (lower_lastprivate_clauses): Likewise.
18469 (lower_reduction_clauses): Likewise.
18470 (lower_copyprivate_clauses): Likewise.
18471 (expand_omp_atomic_pipeline): Likewise.
18472 (expand_omp_atomic_mutex): Likewise.
18473 (create_task_copyfn): Likewise.
18474 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF.
18475 Remove old union trick. Initialize constant offsets.
18476 (ao_ref_init_from_vn_reference): Likewise. Do not handle
18477 INDIRECT_REF. Init base_alias_set properly.
94dbbc81 18478 (vn_reference_lookup_3): Replace INDIRECT_REF handling with MEM_REF.
70f34814
RG
18479 (vn_reference_fold_indirect): Adjust for MEM_REFs.
18480 (valueize_refs): Fold MEM_REFs. Re-evaluate constant offset
18481 for ARRAY_REFs.
18482 (may_insert): Remove.
18483 (visit_reference_op_load): Do not test may_insert.
18484 (run_scc_vn): Remove parameter, do not fiddle with may_insert.
18485 * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
18486 a field to store the constant offset this op applies.
18487 (run_scc_vn): Adjust prototype.
18488 * cgraphunit.c (thunk_adjust): Adjust for MEM_REF.
18489 * tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with
18490 MEM_REF. Propagate &foo + CST as &MEM[&foo, CST]. Do not
18491 bother about volatile qualifiers on pointers.
18492 (fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF.
18493 * tree-ssa-loop-ivopts.c
94dbbc81 18494 * tree-ssa-loop-ivopts.c (determine_base_object): Adjust for MEM_REF.
70f34814
RG
18495 (strip_offset_1): Likewise.
18496 (find_interesting_uses_address): Replace INDIRECT_REF handling with
18497 MEM_REF handling.
18498 (get_computation_cost_at): Likewise.
18499 * ipa-pure-const.c (check_op): Handle MEM_REF.
18500 * tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF.
18501 * tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF
18502 and constants.
18503 * ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF.
18504 * tree-parloops.c (take_address_of): Adjust for MEM_REF.
18505 (eliminate_local_variables_1): Likewise.
18506 (create_call_for_reduction_1): Likewise.
18507 (create_loads_for_reductions): Likewise.
18508 (create_loads_and_stores_for_name): Likewise.
18509 * matrix-reorg.c (may_flatten_matrices_1): Sanitize.
18510 (ssa_accessed_in_tree): Handle MEM_REF.
18511 (ssa_accessed_in_assign_rhs): Likewise.
18512 (update_type_size): Likewise.
18513 (analyze_accesses_for_call_stmt): Likewise.
18514 (analyze_accesses_for_assign_stmt): Likewise.
18515 (transform_access_sites): Likewise.
18516 (transform_allocation_sites): Likewise.
18517 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF.
18518 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
18519 not handle INDIRECT_REF.
18520 * tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF.
18521 (cond_store_replacement): Likewise.
18522 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
18523 MEM_REF, no not handle INDIRECT_REFs.
18524 (insert_into_preds_of_block): Properly initialize avail.
18525 (phi_translate_1): Fold MEM_REFs. Re-evaluate constant offset
18526 for ARRAY_REFs. Properly handle reference lookups that
18527 require a bit re-interpretation.
18528 (can_PRE_operation): Do not handle INDIRECT_REF. Handle MEM_REF.
70f34814
RG
18529 * tree-sra.c (build_access_from_expr_1): Handle MEM_REF.
18530 (build_ref_for_offset_1): Remove.
18531 (build_ref_for_offset): Build MEM_REFs.
18532 (gate_intra_sra): Disable for now.
18533 (sra_ipa_modify_expr): Handle MEM_REF.
18534 (ipa_early_sra_gate): Disable for now.
18535 * tree-sra.c (create_access): Swap INDIRECT_REF handling for
18536 MEM_REF handling.
18537 (disqualify_base_of_expr): Likewise.
18538 (ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for
18539 MEM_REF handling.
18540 (sra_ipa_modify_expr): Remove INDIRECT_REF handling.
18541 Use mem_ref_offset. Remove bogus folding.
94dbbc81 18542 (build_access_from_expr_1): Properly handle MEM_REF for non IPA-SRA.
70f34814
RG
18543 (make_fancy_name_1): Add support for MEM_REF.
18544 * tree-predcom.c (ref_at_iteration): Handle MEM_REFs.
18545 * tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF.
18546 * ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF.
18547 (compute_complex_ancestor_jump_func): Likewise.
18548 (ipa_analyze_virtual_call_uses): Likewise.
18549 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace
18550 INDIRECT_REF folding with more generalized MEM_REF folding.
18551 (tree_ssa_forward_propagate_single_use_vars): Adjust accordingly.
18552 (forward_propagate_addr_into_variable_array_index): Also handle
18553 &ARRAY + I in addition to &ARRAY[0] + I.
18554 * tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF.
18555 * tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that
18556 creates assignments with overlap.
18557 * tree-nested.c (get_static_chain): Adjust for MEM_REF.
18558 (get_frame_field): Likewise.
18559 (get_nonlocal_debug_decl): Likewise.
18560 (convert_nonlocal_reference_op): Likewise.
18561 (struct nesting_info): Add mem_refs pointer-set.
18562 (create_nesting_tree): Allocate it.
18563 (convert_local_reference_op): Insert to be folded mem-refs.
18564 (fold_mem_refs): New function.
94dbbc81 18565 (finalize_nesting_tree_1): Perform defered folding of mem-refs
70f34814
RG
18566 (free_nesting_tree): Free the pointer-set.
18567 * tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF.
18568 (vectorizable_load): Likewise.
18569 * tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF.
18570 (propagate_with_phi): Likewise.
18571 * tree-object-size.c (addr_object_size): Handle MEM_REFs
18572 instead of INDIRECT_REFs.
18573 (compute_object_offset): Handle MEM_REF.
18574 (plus_stmt_object_size): Handle MEM_REF.
18575 (collect_object_sizes_for): Dispatch to plus_stmt_object_size
18576 for &MEM_REF.
18577 * tree-flow.h (get_addr_base_and_unit_offset): Declare.
18578 (symbol_marked_for_renaming): Likewise.
18579 * Makefile.in (tree-dfa.o): Add $(TOPLEV_H).
18580 (fold-const.o): Add $(TREE_FLOW_H).
18581 * tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF.
18582 (find_func_clobbers): Likewise.
18583 * ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF.
18584 (decompose_access): Likewise.
18585 (replace_field_acc): Likewise.
18586 (replace_field_access_stmt): Likewise.
18587 (insert_new_var_in_stmt): Likewise.
18588 (get_stmt_accesses): Likewise.
18589 (reorg_structs_drive): Disable.
18590 * config/i386/i386.c (ix86_va_start): Adjust for MEM_REF.
18591 (ix86_canonical_va_list_type): Likewise.
18592
a87cf97e
JR
185932010-06-30 Joern Rennecke <joern.rennecke@embecosm.com>
18594
18595 PR other/44566
18596 * coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define.
18597 * target.def (struct gcc_target): Replace enum reg_class with
18598 reg_class_t in hook argument / return types.
18599 * doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise.
18600 (TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise.
18601 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
18602 * targhooks.h (default_branch_target_register_class): Likewise.
18603 (default_ira_cover_classes, default_secondary_reload): Likewise.
18604 (default_memory_move_cost, default_register_move_cost): Likewise.
18605 * targhooks.c (default_branch_target_register_class): Likewise.
18606 (default_ira_cover_classes, default_secondary_reload): Likewise.
18607 (default_memory_move_cost, default_register_move_cost): Likewise.
18608 * reload.c (push_secondary_reload, secondary_reload_class): Likewise.
18609 * bt-load.c (branch_target_load_optimize): Likewise.
18610 * ira.c (setup_cover_and_important_classes): Likewise.
18611 * ira-costs.c (copy_cost): Likewise.
18612 * reload1.c (emit_input_reload_insns): Likewise.
18613 * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
18614 * config/frv/frv.c (frv_secondary_reload): Likewise.
18615 * config/s390/s390.c (s390_secondary_reload): Likewise.
18616 * config/i386/i386.c (i386_ira_cover_classes): Likewise.
18617 (ix86_secondary_reload, ix86_memory_move_cost): Likewise.
18618 (ix86_register_move_cost): Likewise.
18619 * config/sh/sh-protos.h (sh_secondary_reload): Likewise.
18620 * config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise.
18621 * config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise.
18622 * config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise.
18623 * config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise.
18624 (rs6000_ira_cover_classes): Likewise.
18625 * config/picochip/picochip.c (picochip_secondary_reload): Likewise.
18626 * config/picochip/picochip-protos.h (picochip_secondary_reload):
18627 Likewise.
18628 * config/pa/pa.c (pa_secondary_reload): Likewise.
18629 * config/mips/mips.c (mips_ira_cover_classes): Likewise.
18630 * config/bfin/bfin.c (bfin_secondary_reload): Likewise.
18631 * config/ia64/ia64.c (ia64_register_move_cost): Likewise.
18632 * doc/tm.texi: Regenerate.
18633
6e44d26e
SP
186342010-06-30 Sebastian Pop <sebastian.pop@amd.com>
18635
18636 PR bootstrrap/44726
18637 * graphite-sese-to-poly.c (build_poly_dr): Avoid uninitialized
18638 use.
18639 (build_alias_set_optimal_p): Likewise.
18640 (build_base_obj_set_for_drs): Likewise.
18641
f6170701
JR
186422010-06-30 Joern Rennecke <joern.rennecke@embecosm.com>
18643
18644 * target.def: Remove comment about licensing problems of function
18645 declarations.
18646
ad78130c
JR
18647 * target.def (declare_constant_name): Change exp to expr. Use DEFHOOK.
18648 * doc/tm.texi.in (TARGET_ASM_DECLARE_CONSTANT_NAME): Use @hook.
18649 * doc/tm.texi: Regenerate.
18650
89356d17
JR
18651 * target.def (builtin_reciprocal): Change tm_fn to md_fn. Use DEFHOOK.
18652 * doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook.
18653
07a5b2bc
JR
18654 * target.def (enum_va_list_p): Use DEFHOOK.
18655 * doc/tm.texi.in (TARGET_ENUM_VA_LIST_P): Use @hook.
18656 Rename ptype to ptree.
18657 * doc/tm.texi: Regenerate.
18658
08914aaa
JR
18659 * target.def (fold_builtin): Rename nargs to n_args. Use DEFHOOK.
18660 * doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook.
18661 * doc/tm.texi: Regenerate.
18662
911852ff
JR
18663 * target.def (memory_move_cost): Use DEFHOOK.
18664 * doc/tm.texi.in (TARGET_MEMORY_MOVE_COST): Use @hook.
18665 Rename regclass AKA class to rclass.
18666 * doc/tm.texi: Regenerate.
18667
56cb42ea
JR
18668 * target.def (pragma_parse): Use DEFHOOK.
18669 * doc/tm.texi.in (TARGET_OPTION_PRAGMA_PARSE): Use @hook.
18670 s/TARGET_VALID_OPTION_ATTRIBUTE_P/TARGET_OPTION_VALID_ATRIBUTE_P/ .
18671 * doc/tm.texi: Regenerate.
18672
ec9f85e5
JR
18673 * target.def (pass_by_reference): Use DEFHOOK.
18674 * doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook.
18675 * doc/tm.texi: Regenerate.
18676
d66f5459
JR
18677 * target.def (resolve_overloaded_builtin): Rename params to arglist.
18678 Use DEFHOOK.
18679 * doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook.
18680 * doc/tm.texi: Regenerate.
18681
893d13d5
JR
18682 * target.def (return_pops_args): Use DEFHOOK.
18683 * doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook.
18684 Rename stack-size to size.
18685 * doc/tm.texi: Regenerate.
18686
c06bbdf7
JR
18687 * target.def (dfa_new_cycle): Use DEFHOOK. Rename dump_file to dump,
18688 last-sched_cycle to last_clock, cur_cycle to clock.
18689 * doc/tm.texi.in: Use @hook.
18690 * doc/tm.texi: Regenerate.
18691
4d00d5dd
JR
18692 * target.def (print_operand, print_operand_address): Update comment.
18693 (print_operand_punct_valid_p): Likewise.
18694
0cbd9993
MLI
186952010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
18696
18697 * toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations
18698 to rtl.h.
18699 (error_for_asm, warning_for_asm): Move declarations to rtl-error.h.
94dbbc81 18700 * rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations here.
0cbd9993
MLI
18701 * rtl-error.h: New.
18702 * regrename.c: Do not include toplev.h. Include rtl-error.h.
18703 * rtl-error.c: Likewise.
18704 * reload.c: Likewise.
18705 * recog.c: Likewise.
18706 * sel-sched.c: Likewise.
18707 * function.c: Likewise.
18708 * reg-stack.c: Likewise.
18709 * cfgrtl.c: Likewise.
18710 * reload1.c: Likewise.
18711 * final.c: Include rtl-error.
18712 * Makefile.in: Adjust dependencies.
18713
8a9c1ae6
JH
187142010-06-30 Jan Hubicka <jh@suse.cz>
18715
18716 PR middle-end/PR44706
18717 * ipa-split (split_function): Refine conditions when to use DECL_RESULT
18718 to return the value.
18719
8a1561bc
MM
187202010-06-30 Michael Matz <matz@suse.de>
18721
18722 PR bootstrap/44699
18723 * tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names.
18724 * gimple-fold.c (gimplify_and_update_call_from_tree): If LHS is
18725 a gimple reg, attach the original VDEF to the last store in the
18726 sequence.
18727
8a1dabd5
IS
187282010-06-30 Iain Sandoe <iains@gcc.gnu.org>
18729
18730 PR other/44034
18731 * config/darwin.c (darwin_override_options): Use renamed
18732 targetm.asm_out.emit_unwind_label.
18733
dcad005d
BS
187342010-06-30 Bernd Schmidt <bernds@codesourcery.com>
18735
18736 PR tree-optimization/39799
18737 * tree-inline.c (remap_ssa_name): Initialize variable only if
18738 SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
18739
1d468b06
NF
187402010-06-30 Nathan Froyd <froydnj@codesourcery.com>
18741
18742 * c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.
18743
501d1a70
RG
187442010-06-30 Richard Guenther <rguenther@suse.de>
18745
18746 PR target/44722
18747 * config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard
18748 against oscillation with reverse peephole2.
18749
ed1db000
L
187502010-06-30 H.J. Lu <hongjiu.lu@intel.com>
18751
18752 PR target/44721
18753 * config/i386/i386.md (peephole2 for arithmetic ops with memory):
18754 Fix last commit.
18755
aea8fc97
NC
187562010-06-30 Nick Clifton <nickc@redhat.com>
18757
18758 * config/rx/rx-modes.def: New file.
18759 * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
18760 (CC_REGNUM): Define.
18761 (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
18762 register.
18763 (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
18764 (SELECT_CC_MODE): Define.
18765 * config/rx/rx.md (CC_REG): Define. Update all patterns to use
18766 (reg:CC CC_REG) instead of (cc0).
18767 (attr "cc"): Delete.
18768 (cbranchsi4): Do not split compare and branch here. Instead move
18769 it to...
18770 (cbranchsi4_<code>): ... here. New patterns.
18771 (cmpsi): Call rx-compare_redundant to find out if it is necessary
18772 to emit the compare instruction.
18773 * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
18774 cc_status flags.
18775 (rx_get_stack_layout): Iterate up to before CC_REGNUM not
18776 FIRST_PSEUDO_REGNUM.
18777 (rx_expand_prologue, rx_expand_epilogue): Likewise.
18778 (rx_notice_update_cc): Delete.
18779 (rx_cc_modes_compatible): New function.
18780 (flags_needed_for_conditional): New function.
18781 (flags_from_mode): New function.
18782 (rx_compare_redundant): New function - scans backwards through
94dbbc81 18783 insn list to find out if condition flags are already set correctly.
aea8fc97
NC
18784 (TARGET_CC_MODES_COMPATIBLE): Define.
18785 * config/rx/rx-protos.h (rx_compare_redundant): Prototype.
18786
18787 * config/rx/rx.h (BRANCH_COST): Define.
18788 (REGISTER_MOVE_COST): Define.
94dbbc81 18789 * config/rx/predicates (rx_source_operand): Allow all constant types.
aea8fc97
NC
18790 * config/rx/rx.md (addsi3): Add alternative for swapped operands.
18791 (tstsi4): New pattern.
18792 * config/rx/rx.c (rx_memory_move_cost): Define.
18793 (TARGET_MEMORY_MOVE_COST): Define.
18794
6662d794
MLI
187952010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
18796
18797 * tree.h (block_may_fallthru): Declare here.
18798 * tree-flow.h (block_may_fallthru): Do not declare here.
18799 * c-typeck.c: Do not include tree-flow.h. Include gimple.h and
18800 bitmap.h
18801 * Makefile.in (c-typeck.o): Update dependencies.
18802
9de9cbaf
JJ
188032010-06-30 Jakub Jelinek <jakub@redhat.com>
18804
18805 PR debug/44694
18806 * cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
18807 * cselib.c (cfa_base_preserved_regno): New static variable.
18808 (cselib_reset_table): Don't reset cfa_base_preserved_regno instead
18809 of REGNO (cfa_base_preserved_val->locs->loc).
18810 (cselib_preserve_cfa_base_value): Add regno argument, set
18811 cfa_base_preserved_regno to it.
18812 (cselib_invalidate_regno): Allow removal of registers other than
18813 cfa_base_preserved_regno from cfa_base_preserved_val.
18814 (cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
18815 * var-tracking.c (adjust_mems): Replace sp or hfp even outside
18816 of MEM addresses, if not on LHS.
18817 (reverse_op): Don't add reverse ops for cfa_base_rtx.
18818 (vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.
18819
ee932b8f
BS
188202010-06-30 Bernd Schmidt <bernds@codesourcery.com>
18821
18822 * recog.c (peep2_do_rebuild_jump_labels, peep2_do_cleanup_cfg): New
18823 static variables.
18824 (peep2_buf_position): New static function.
18825 (peep2_regno_dead_p, peep2_reg_dead_p, peep2_find_free_register,
18826 peephole2_optimize): Use it.
18827 (peep2_attempt, peep2_update_life): New static functions, broken out
18828 of peephole2_optimize.
18829 (peep2_fill_buffer): New static function.
18830 (peephole2_optimize): Change the main loop to try to fill the buffer
18831 with the maximum number of insns before matching them against
18832 peepholes. Use a forward scan. Remove special case for targets with
18833 conditional execution.
18834 * genrecog.c (change_state): Delete dead code.
18835 * config/i386/i386.md (peephole2 for arithmetic ops with memory):
18836 Rewrite so as not to expect the second insn to have had a peephole
18837 applied yet.
18838
4d64faec
NF
188392010-06-29 Nathan Froyd <froydnj@codesourcery.com>
18840
18841 * genhooks.c (emit_findices): Cast field precision to int.
18842 (emit_documentation): Likewise.
18843
0287000a
JJ
188442010-06-29 Jakub Jelinek <jakub@redhat.com>
18845
087fa34b
JJ
18846 PR tree-optimization/43801
18847 * cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
18848 if old_decl was DECL_ONE_ONLY.
18849
0287000a
JJ
18850 PR debug/44668
18851 * dwarf2out.c (add_accessibility_attribute): New function.
18852 (gen_subprogram_die, gen_variable_die, gen_field_die): Use it
18853 instead of adding DW_AT_accessibility manually.
18854 (gen_enumeration_type_die, gen_struct_or_union_type_die,
18855 gen_typedef_die): Use it.
18856
6a07b007
DR
188572010-06-29 Douglas B Rupp <rupp@gnat.com>
18858
18859 * vmsdbgout.c (full_name): Just output the file name if not native.
18860
6ca45368
DR
188612010-06-29 Douglas B Rupp <rupp@gnat.com>
18862
18863 * vmsdbgout.c (func_table): Replace with VEC func{nam,num}_tables.
18864 (funcnam_table): New static table.
18865 (funcnum_table): New static table.
18866 (write_rtnbeg): Write value saved in funcnum_table.
18867 (write_rtnend): Write value saved in funcnum_table.
18868 (vmsdbgout_begin_function): Save current function info in
18869 (vmsdbgout_init): Initialize func{nam,num}_tables. Minor reformatting.
18870 (vmsdbgout_finish): Iterate over funcnum_table.
18871
528b7aa4
DR
188722010-06-29 Douglas B Rupp <rupp@gnat.com>
18873
18874 * vmsdbgout.c (vmsdbgout_begin_epilogue): Declare
18875 (vmsdbgout_type_decl): Declare
18876 (vmsdbg_debug_hooks): Add entry for type_decl and begin_epilogue.
18877 (FUNC_EPILOGUE_LABEL): New macro
18878 (vmsdbgout_begin_epilogue): New function.
18879 (vmsdbgout_type_decl): New function.
18880
cb488ce1
DR
188812010-06-29 Douglas B Rupp <rupp@gnat.com>
18882
18883 * vmsdbg.h: Update copyright.
18884
b313b165
DR
188852010-06-29 Douglas B Rupp <rupp@gnat.com>
18886
18887 * vmsdbg.h (DST_K_TBG): New DST constant.
18888 * vmsdbgout.c (addr_const_to_string): Removed, not referenced.
18889 (write_modbeg): Cast module_language to avoid warning.
18890 (write_rtnbeg): Use DST_K_TBG vice magic mystery number.
18891
38f8b050
JR
188922010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
18893
18894 PR other/44034
18895 * target.def, doc/tm.texi.in, genhooks.c: New files.
18896 * target.h: Instead of defining individual hook members,
18897 define DEFHOOKPOD / DEFHOOK / DEFHOOK_UNDOC / HOOKSTRUCT and
18898 include target.def.
18899 * target-def.h: Instead of defining individual hook initializers,
18900 include target-hooks-def.h.
18901 * df-scan.c, haifa-sched.c, sel-sched.c: Rename targetm members:
18902 targetm.live_on_entry -> targetm.extra_live_on_entry
18903 targetm.sched.md_finish ->targetm.sched.finish
18904 targetm.sched.md_init -> targetm.sched.init
18905 targetm.sched.md_init_global -> targetm.sched.init_global
18906 targetm.asm_out.unwind_label -> targetm.asm_out.emit_unwind_label
18907 targetm.asm_out.except_table_label ->
18908 targetm.asm_out.emit_except_table_label
18909 targetm.asm_out.visibility -> targetm.asm_out.assemble_visibility
18910 targetm.target_help -> targetm.help
18911 targetm.vectorize.builtin_support_vector_misalignment ->
18912 targetm.vectorize.support_vector_misalignment
18913 targetm.file_start_app_off -> targetm.asm_file_start_app_off
18914 targetm.file_start_file_directive ->
18915 targetm.asm_file_start_file_directive
18916 * dwarf2out.c, opts.c, tree-vect-data-refs.c, except.c: Likewise.
18917 * varasm.c, config/alpha/alpha.c, config/cris/cris.c: Likewise.
eed023cc 18918 * config/spu/spu.c, config/ia64/ia64.c: Rename target macros:
38f8b050
JR
18919 TARGET_VECTOR_ALIGNMENT_REACHABLE ->
18920 TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE
18921 TARGET_SUPPORT_VECTOR_MISALIGNMENT ->
18922 TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT
18923 TARGET_UNWIND_EMIT -> TARGET_ASM_UNWIND_EMIT
18924 * config/rs6000/rs6000.c, config/arm/arm.c: Likewise.
18925 * Makefile.in (TARGET_H): Depend on target.def.
18926 (TARGET_DEF_H): Depend on target-hooks-def.h.
18927 (target-hooks-def.h, tm.texi, s-target-hooks-def-h): New rules.
18928 (s-tm-texi, build/genhooks.o, build/genhooks): Likewise.
18929 * doc/tm.texi: Regenerate.
18930
e82a40fc
JR
18931 * Makefile.in (s-tm-texi): Remove stray tab / rule.
18932
7ecb00a6
JR
18933 * config/m68k/m68k.c (targetm.sched.init_global): Update comment.
18934 (targetm.sched.init): Likewise.
18935
3fc7cd18
NF
189362010-06-29 Nathan Froyd <froydnj@codesourcery.com>
18937
18938 PR bootstrap/44713
18939 * config/i386/i386.c (type_natural_mode): Const-ify CUM parameter.
18940 (function_arg_advance_32): Const-ify TYPE parameter.
18941 (function_arg_advance_64): Likewise. Change type of NAMED to bool.
18942 (ix86_function_arg_advance): Change type of NAMED to bool.
18943 (function_arg_32): Const-ify CUM and TYPE parameters.
18944 (function_arg_64): Likewise. Change type of NAMED to bool.
18945 (function_arg_ms_64): Const-ify CUM parameter. Change type of NAMED
18946 to bool.
18947 (ix86_function_arg): Change type of NAMED to bool.
18948 (ix86_setup_incoming_varargs): Call ix86_function_arg_advance. Pass
18949 last argument as a bool.
18950
74f7912a
JR
189512010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
18952
18953 * doc/tm.texi (TARGET_OPTION_OVERRIDE): Document.
18954 (OVERRIDE_OPTIONS): Add note of obsolescence.
18955 Replace references with references to TARGET_OPTION_OVERRIDE.
18956 (Except for C_COMMON_OVERRIDE_OPTIONS, which remains similar to
18957 the macro).
18958 * targhooks.c (default_target_option_override): New function.
18959 * targhooks.h (default_target_option_override): Declare.
18960 * target.h (struct gcc_target): Add override member to
9afcc09d 18961 target_option member.
74f7912a
JR
18962 * toplev.c (process_options): Replace OVERRIDE_OPTIONS use with
18963 targetm.target_option.override call.
18964 * target-def.h (TARGET_OPTION_OVERRIDE): Define.
18965 (TARGET_OPTION_HOOKS): Add TARGET_OPTION_OVERRIDE.
18966
20a6bb58
JH
189672010-06-29 Jan Hubicka <jh@suse.cz>
18968
18969 * tree-inline.c: Replace incomming by incomin and clonning by cloning.
18970
b35366ce
JH
189712010-06-29 Jan Hubicka <jh@suse.cz>
18972
18973 * predict.c (propagate_freq): Clear EXIT_BLOCK_PTR frequency if it is
18974 unreachable.
18975 (rebuild_frequencies): New function.
18976 * predict.h (rebuild_frequencies): Declare.
18977 * tree-inline.c (copy_cfg_body): Compute properly count & frequency of
18978 entry block and edge reaching new_entry.
94dbbc81
UB
18979 (tree_function_versioning): When doing partial cloning, rebuild
18980 frequencies when done.
b35366ce
JH
18981 * passes.c (execute_function_todo): Use rebild_frequencies.
18982
50b56694
RG
189832010-06-29 Richard Guenther <rguenther@suse.de>
18984
18985 * tree-dfa.c (dump_variable): Remove noalias_state dumping.
18986 * tree-flow.h (enum noalias_state): Remove.
18987 (struct var_ann_d): Remove noalias_state member.
18988
810c4bf4
BS
189892010-06-29 Bernd Schmidt <bernds@codesourcery.com>
18990
18991 PR target/43902
18992 * config/arm/arm.md (maddsidi4, umaddsidi4): New expanders.
18993 (maddhisi4): Renamed from mulhisi3addsi. Operands renumbered.
18994 (maddhidi4): Likewise.
18995
3df41baf
BS
18996 Revert parts of the change for PR25130.
18997 * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
18998 MEM_ALIAS_SET.
18999
3c07301f
NF
190002010-06-29 Nathan Froyd <froydnj@codesourcery.com>
19001
19002 * calls.c, dse.c, expr.c, function.c: Call targetm.calls.function_arg,
19003 targetm.calls.function_incoming_arg, and
19004 targetm.calls.function_arg_advance instead of FUNCTION_ARG,
19005 FUNCTION_INCOMING_ARG, and FUNCTION_ARG_ADVANCE, respectively.
19006 * target.h (struct gcc_target): Add function_arg_advance,
19007 function_arg, and function_incoming_arg fields.
19008 * target-def.h (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG):
19009 (TARGET_FUNCTION_INCOMING_ARG): Define.
19010 (TARGET_CALLS): Add TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG,
19011 and TARGET_FUNCTION_INCOMING_ARG.
19012 * targhooks.h (default_function_arg_advance): Declare.
19013 (default_function_arg, default_function_incoming_arg): Declare.
19014 * targhooks.c (default_function_arg_advance): New function.
19015 (default_function_arg, default_function_incoming_arg): New function.
19016 * config/i386/i386.c (function_arg_advance): Rename to...
19017 (ix86_function_arg_advance): ...this. Make static.
19018 (function_arg): Rename to...
19019 (ix86_function_arg): ...this. Make static.
19020 (TARGET_FUNCTION_ARG_ADVANCE): Define.
19021 (TARGET_FUNCTION_ARG): Define.
19022 * config/i386/i386.h (FUNCTION_ARG_ADVANCE): Delete.
19023 (FUNCTION_ARG): Delete.
19024 * config/i386/i386-protos.h (function_arg_advance): Delete prototype.
19025 (function_arg): Delete prototype.
19026
079e7538
NF
190272010-06-29 Nathan Froyd <froydnj@codesourcery.com>
19028
19029 * reginfo.c (init_reg_sets_1): Adjust comments.
19030 * combine-stack-adj.c (rest_of_handle_stack_adjustments): Likewise.
19031 * calls.c (prepare_call_address): Likewise.
19032 (emit_call_1): Use targetm.calls.return_pops_args.
19033 (expand_call): Likewise.
19034 * function.c (assign_parms): Likewise.
19035 * system.h (RETURN_POPS_ARGS): Add to #pragma poison list.
19036 * target.h (struct gcc_target) [struct calls]: Add
19037 return_pops_args field.
19038 * targhooks.h (default_return_pops_args): Declare.
19039 * targhooks.c (default_return_pops_args): Define.
19040 * target-def.h (TARGET_RETURN_POPS_ARGS): Define.
19041 (TARGET_CALLS): Add TARGET_RETURN_POPS_ARGS.
19042 * doc/tm.texi (RETURN_POPS_ARGS): Rename to...
19043 (TARGET_RETURN_POPS_ARGS): ...this. Use deftypefn. Adjust
19044 documentation.
19045 * config/alpha/alpha.h (RETURN_POPS_ARGS): Delete.
19046 * config/arc/arc.h (RETURN_POPS_ARGS): Likewise.
19047 * config/arm/arm.h (RETURN_POPS_ARGS): Likewise.
19048 * config/avr/avr.h (RETURN_POPS_ARGS): Likewise.
19049 * config/bfin/bfin.h (RETURN_POPS_ARGS): Likewise.
19050 * config/cris/cris.h (RETURN_POPS_ARGS): Likewise.
19051 * config/crx/crx.h (RETURN_POPS_ARGS): Likewise.
19052 * config/fr30/fr30.h (RETURN_POPS_ARGS): Likewise.
19053 * config/frv/frv.h (RETURN_POPS_ARGS): Likewise.
19054 * config/h8300/h8300.h (RETURN_POPS_ARGS): Likewise.
19055 * config/ia64/ia64.h (RETURN_POPS_ARGS): Likewise.
19056 * config/iq2000/iq2000.h (RETURN_POPS_ARGS): Likewise.
19057 * config/lm32/lm32.h (RETURN_POPS_ARGS): Likewise.
19058 * config/m32c/m32c.h (RETURN_POPS_ARGS): Likewise.
19059 * config/m32r/m32r.h (RETURN_POPS_ARGS): Likewise.
19060 * config/m68hc11/m68hc11.h (RETURN_POPS_ARGS): Likewise.
19061 * config/mcore/mcore.h (RETURN_POPS_ARGS): Likewise.
19062 * config/mep/mep.h (RETURN_POPS_ARGS): Likewise.
19063 * config/mips/mips.h (RETURN_POPS_ARGS): Likewise.
19064 * config/mmix/mmix.h (RETURN_POPS_ARGS): Likewise.
19065 * config/mn10300/mn10300.h (RETURN_POPS_ARGS): Likewise.
19066 * config/moxie/moxie.h (RETURN_POPS_ARGS): Likewise.
19067 * config/pa/pa.h (RETURN_POPS_ARGS): Likewise.
19068 * config/pdp11/pdp11.h (RETURN_POPS_ARGS): Likewise.
19069 * config/picochip/picochip.h (RETURN_POPS_ARGS): Likewise.
19070 * config/rs6000/rs6000.h (RETURN_POPS_ARGS): Likewise.
19071 * config/rx/rx.h (RETURN_POPS_ARGS): Likewise.
19072 * config/s390/s390.h (RETURN_POPS_ARGS): Likewise.
19073 * config/score/score.h (RETURN_POPS_ARGS): Likewise.
19074 * config/sh/sh.h (RETURN_POPS_ARGS): Likewise.
19075 * config/sparc/sparc.h (RETURN_POPS_ARGS): Likewise.
19076 * config/spu/spu.h (RETURN_POPS_ARGS): Likewise.
19077 * config/stormy16/stormy16.h (RETURN_POPS_ARGS): Likewise.
19078 * config/v850/v850.h (RETURN_POPS_ARGS): Likewise.
19079 * config/xtensa/xtensa.h (RETURN_POPS_ARGS): Likewise.
19080 * config/i386/i386-protos.h (ix86_return_pops_args): Delete.
19081 * config/i386/i386.h (RETURN_POPS_ARGS): Delete.
19082 * config/i386/i386.c (ix86_return_pops_args): Make static.
19083 Constify arguments.
19084 (TARGET_RETURN_POPS_ARGS): Define.
19085 * config/m68k/m68k.h (RETURN_POPS_ARGS): Move to...
19086 * config/m68k/m68k.c (m68k_return_pops_args): ...here. New function.
19087 (TARGET_RETURN_POPS_ARGS): Define.
19088 * config/vax/vax.h (RETURN_POPS_ARGS): Move to...
19089 * config/vax/vax.c (vax_return_pops_args): ...here. New function.
19090 (TARGET_RETURN_POPS_ARGS): Define.
19091
ea184343
RG
190922010-06-29 Richard Guenther <rguenther@suse.de>
19093
19094 PR middle-end/44667
19095 * tree-inline.c (initialize_inlined_parameters): Make sure
19096 to remap the inlined parameter variable substitutions types.
19097
5dfebe0a
EB
190982010-06-29 Eric Botcazou <ebotcazou@adacore.com>
19099
19100 PR rtl-optimization/44659
19101 * combine.c (make_compound_operation) <SUBREG>: Do not return the
19102 result of force_to_mode if it partially re-expanded the compound.
19103
6b5c2d6c
JH
191042010-06-28 Jan Hubicka <jh@suse.cz>
19105
19106 PR middle-end/44671
5dfebe0a
EB
19107 * ipa-split.c (test_nonssa_use, mark_nonssa_use): Check also uses of
19108 RESULT_DECL.
6b5c2d6c 19109
9589f23e
AS
191102010-06-28 Anatoly Sokolov <aesok@post.ru>
19111
19112 * double-int.h (force_fit_type_double): Remove declaration.
19113 * double-int.c (force_fit_type_double): Move to tree.c.
19114 * tree.h (force_fit_type_double): Declare.
19115 * tree.h (force_fit_type_double): Moved from double-int.c. Use
19116 double_int type for 'cst' argument. Use double_int_fits_to_tree_p and
19117 double_int_to_tree instead of fit_double_type and build_int_cst_wide.
19118 * convert.c (convert_to_pointer): Adjust call to
19119 force_fit_type_double.
19120 * tree-vrp.c (extract_range_from_assert,
19121 extract_range_from_unary_expr): Adjust call to force_fit_type_double.
19122 * fold-const.c: Update comment.
19123 (int_const_binop, fold_convert_const_int_from_int,
19124 fold_convert_const_int_from_real, fold_convert_const_int_from_fixed,
19125 extract_muldiv_1, fold_div_compare, fold_sign_changed_comparison,
19126 fold_unary_loc, fold_negate_const, fold_abs_const, fold_not_const,
19127 round_up_loc): Adjust call to force_fit_type_double.
19128
5dfebe0a 191292010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
dfecaf59
PT
19130
19131 * config/rs6000/rs6000.h (PROCESSOR_TITAN): Declare.
19132
bb8e5dca
MJ
191332010-06-28 Martin Jambor <mjambor@suse.cz>
19134
19135 * tree-sra.c (convert_callers): New parameter, change fndecls of
19136 recursive calls.
19137 (modify_function): Pass the old decl to convert_callers.
19138
f5d3b855
MJ
191392010-06-28 Martin Jambor <mjambor@suse.cz>
19140
19141 * ipa-cp.c (ipcp_init_cloned_node): Replace calls to
19142 ipa_check_create_node_params and ipa_initialize_node_params with
19143 checking asserts they are not necessary.
19144
4021f4a1
JH
191452010-06-28 Jan Hubicka <jh@suse.cz>
19146
19147 PR tree-optimization/44687
19148 * ipa-split.c (split_function): Use DECL_RESULT to store return value.
19149
621f4189
MJ
191502010-06-28 Martin Jambor <mjambor@suse.cz>
19151
19152 PR c++/44535
19153 * gimple-fold.c (get_first_base_binfo_with_virtuals): New function.
19154 (gimple_get_relevant_ref_binfo): Use get_first_base_binfo_with_virtuals
19155 instead of BINFO_BASE_BINFO.
19156
fe2ef088
MM
191572010-06-28 Michael Matz <matz@suse.de>
19158
19159 PR middle-end/44592
19160 * gimple-fold.c (gimplify_and_update_call_from_tree): Maintain
19161 proper VDEF chain for intermediate stores in the sequence.
19162
f0cc75e0
JH
191632010-06-28 Jan Hubicka <jh@suse.cz>
19164
19165 PR tree-optimization/44357
94dbbc81
UB
19166 * ipa-inline.c (add_new_edges_to_heap): Do not add edges to
19167 uninlinable functions.
f0cc75e0 19168
5dfebe0a 191692010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3c005e6c
PT
19170
19171 * config.gcc (powerpc*-*-*): Handle titan.
19172 * config/rs6000/rs6000.c (titan_cost): New costs.
19173 (rs6000_override_options): Add "titan" to processor_target_table.
19174 Add Titan to branch alignment logic.
19175 Correctly set rs6000_cost for titan.
19176 * config/rs6000/rs6000.md (cpu): Add titan. Include "titan.md".
19177 * config/rs6000/titan.md: New file.
19178 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=titan.
94dbbc81 19179
40523581
NF
191802010-06-28 Nathan Froyd <froydnj@codesourcery.com>
19181
19182 * tree-browser.c (TB_history_stack): Convert to a VEC.
19183 (TB_SET_HEAD): Adjust for new type of TB_history_stack.
19184 (TB_history_prev): Likewise.
19185
04924d6a
NF
191862010-06-28 Nathan Froyd <froydnj@codesourcery.com>
19187
19188 * vec.h (vec_heap_free): Add parentheses around free.
19189
3b06d379
SB
191902010-06-28 Steven Bosscher <steven@gcc.gnu.org>
19191
19192 * system.h: Poison GCC_EXCEPT_H for front-end files.
19193
19194 * langhooks.h (struct lang_hooks): Add eh_protect_cleanup_actions
19195 langhook.
19196 * langhooks-def.h (LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS) New.
19197 Define to NULL by default.
19198 * except.h: Define GCC_EXCEPT_H.
19199 (doing_eh): Remove prototype.
19200 (init_eh, init_eh_for_function): Move prototypes to toplev.h.
19201 (lang_protect_cleanup_actions): Remove.
19202 * except.c (lang_protect_cleanup_actions): Remove.
19203 (doing_eh): Remove.
19204 (gen_eh_region): Don't check doing_eh here.
19205 * toplev.h (init_eh, init_eh_for_function_): Moved from except.h.
19206 * tree-eh.c (honor_protect_cleanup_actions): Use new langhook
19207 instead of lang_protect_cleanup_actions.
19208 * omp-low.c (maybe_catch_exception): Likewise.
19209 * Makefile.in: Update dependencies.
19210
5dfebe0a 192112010-06-28 Bingfeng Mei <bmei@broadcom.com>
6d41cd02 19212
94dbbc81
UB
19213 * cgraph.h (struct varpool_node): new used_from_object_file flag.
19214 (struct cgraph_local_info): new used_from_object_file flag.
19215 * cgraph.c (dump_cgraph_node): dump used_from_object_file flag.
19216 (cgraph_clone_node): initialize used_from_object_file.
19217 (cgraph_create_virtual_clone): initialize used_from_object_file.
19218 * lto-symbtab.c (lto_symtab_merge_decls_1): Set
19219 used_from_object_file flags for symbols of LDPR_PREVAILING_DEF
19220 when compiling with -fwhole-program.
19221 (lto_symtab_resolve_symbols) Use LDPR_PREVAILING_DEF_IRONLY for
6d41cd02 19222 internal resolver.
94dbbc81
UB
19223 * ipa.c (function_and_variable_visibility): Set externally_visible
19224 flag of varpool_node if used_from_object_file flag is set.
19225 (cgraph_externally_visible_p): check used_from_object_file flag.
19226 * doc/invoke.texi (-fwhole-program option): Change description of
19227 externally_visible attribute accordingly.
19228 * doc/extend.texi (externally_visible): Ditto.
6d41cd02 19229
7802ca7c
JH
192302010-06-27 Jan Hubicka <jh@suse.cz>
19231
19232 * params.def (max-inline-insns-auto): Default to 40.
19233 * doc/invoke.texi (max-inline-insns-auto): Document the change.
19234
d402c33d
JH
192352010-06-27 Jan Hubicka <jh@suse.cz>
19236
19237 PR middle-end/44671
19238 PR middle-end/44686
5dfebe0a
EB
19239 * tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on
19240 signature change.
d402c33d
JH
19241 * ipa-split.c (split_function): Always clear DECL_BUILT_IN.
19242 * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
19243
de8f4b07
AS
192442010-06-27 Anatoly Sokolov <aesok@post.ru>
19245
19246 * target.h (struct gcc_target): Add register_move_cost field.
19247 * target-def.h (TARGET_REGISTER_MOVE_COST): New.
19248 (TARGET_INITIALIZER): Use TARGET_REGISTER_MOVE_COST.
19249 * targhooks.c (default_register_move_cost): New function.
19250 * targhooks.h (default_register_move_cost): Declare function.
19251 * defaults.h (REGISTER_MOVE_COST): Delete.
19252 * ira-int.h (ira_register_move_cost): Update comment.
bd3a5d17 19253 * ira.c (ira_register_move_cost): Update comment.
de8f4b07
AS
19254 * reload.h (register_move_cost): Declare.
19255 * reginfo.c (register_move_cost): New function.
19256 (move_cost): Update comment.
19257 (init_move_cost, memory_move_secondary_cost): Replace
19258 REGISTER_MOVE_COST with register_move_cost.
19259 * postreload.c (reload_cse_simplify_set): (Ditto.).
19260 * reload.c (find_valid_class, find_reloads): (Ditto.).
19261 * reload1.c (choose_reload_regs): (Ditto.).
19262 * doc/tm.texi (TARGET_REGISTER_MOVE_COST): New.
19263 (REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Update documentation.
19264 * doc/md.texi (can_create_pseudo_p): Update documentation.
19265
19266 * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
19267 * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
19268 * config/i386/i386.h (ix86_memory_move_cost): Make static.
19269 (TARGET_MEMORY_MOVE_COST): Define.
19270
19271 * config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
19272 * config/ia64/ia64-protos.h (int ia64_memory_move_cost): Remove.
19273 * config/ia64/ia64.h (ia64_memory_move_cost): Make static.
19274 (TARGET_MEMORY_MOVE_COST): Define.
19275
533e50f6
RG
192762010-06-27 Richard Guenther <rguenther@suse.de>
19277
19278 PR tree-optimization/44683
19279 * tree-ssa-dom.c (record_edge_info): Record equivalences for the
19280 false edge from the inverted condition.
19281
11af16ef
RG
192822010-06-27 Richard Guenther <rguenther@suse.de>
19283
19284 PR middle-end/44684
19285 * tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
19286 (stmt_may_clobber_ref_p_1): Do not bother to call the oracle
19287 for register LHS. Or non-store assignments.
19288
d9816849
EB
192892010-06-26 Eric Botcazou <ebotcazou@adacore.com>
19290
19291 * config/sparc/sparc.c (sparc_emit_set_const32): Make static.
19292 (sparc_emit_set_const64): Likewise. Remove disabled code.
19293 * config/sparc/sparc-protos.h (sparc_emit_set_const32): Delete.
19294 (sparc_emit_set_const64): Likewise.
19295
2639084e
CM
192962010-06-26 Catherine Moore <clm@codesourcery.com>
19297
19298 * config/mips/mips.md (alu_type): New attribute.
19299 (type): Infer type from alu_type.
19300 (*add<mode>3, *add<mode>3_mips16, *addsi3_extended,
19301 *baddu_si_eb, *baddu_si_el, *baddu_di, sub<mode>3,
19302 *subsi3_extended, negsi2, negdi2, *low<mode>,
19303 *low<mode>_mips16, *ior<mode>3, *ior<mode>3_mips16,
19304 xor<mode>3, *nor<mode>3,
19305 *zero_extend<GPR:mode>_trunc<SHORT:mode>,
19306 *zero_extendhi_truncqi): Set alu_type instead of type.
19307
df453731
DR
193082010-06-26 Douglas B Rupp <rupp@gnat.com>
19309
19310 * config/alpha/alpha.c (alpha_need_linkage): Adjust
6a02864a 19311 splay_tree_new_ggc call.
df453731
DR
19312 (alpha_use_linkage): Likewise.
19313
d5d8b111
JM
193142010-06-26 Joseph Myers <joseph@codesourcery.com>
19315
19316 * collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
19317 * doc/tm.texi (SWITCHES_NEED_SPACES): Don't document.
19318 * gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove.
19319 (static_specs): Remove switches_need_spaces.
19320 (process_command, do_self_spec): Hardcode handling "-o" instead of
19321 checking switches_need_spaces.
19322 * system.h (SWITCHES_NEED_SPACES): Poison.
19323
2706a615
RG
193242010-06-26 Richard Guenther <rguenther@suse.de>
19325
19326 PR tree-optimization/44393
19327 * tree-loop-distribution.c (generate_loops_for_partition): Fix
19328 stmt removal and VOP renaming.
19329 (generate_memset_zero): Remove redundant stmt updating.
19330 * tree-flow.h (mark_virtual_ops_in_bb): Remove.
19331 * tree-cfg.c (mark_virtual_ops_in_bb): Likewise.
19332
8b3057b3
JH
193332010-06-26 Jan Hubicka <jh@suse.cz>
19334
19335 * ipa-split.c (consider_split): PHI in entry block is OK as long as all
19336 edges comming from header are equivalent.
19337 (visit_bb): Handle PHIs correctly.
19338 * tree-inline.c (copy_phis_for_bb): Be able to copy
19339 PHI from entry edge.
94dbbc81 19340 (copy_cfg_body): Produce edge from entry BB before copying PHIs.
8b3057b3 19341
6bfd4302
RB
193422010-06-26 Richard Guenther <rguenther@suse.de>
19343
19344 PR middle-end/44674
19345 * tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
19346 decls. Handle LABEL_DECLs like FUNCTION_DECLs.
19347
922e1882
JM
193482010-06-26 Joseph Myers <joseph@codesourcery.com>
19349
19350 * gcc.c (n_switches_alloc, n_infiles_alloc, alloc_infile,
19351 add_infile, alloc_switch): New.
19352 (process_command): Remove variable lang_n_infiles. Process
19353 options in a single pass. Use new functions for allocating
19354 infiles and switches arrays. Properly skip operands of
19355 -Xpreprocessor and -Xassembler.
19356
8cf9feca
JH
193572010-06-26 Jan Hubicka <jh@suse.cz>
19358
19359 PR middle-end/44671
6bfd4302
RB
19360 * cgraphunit.c (cgraph_function_versioning): Remove wrong
19361 cgraph_make_decl_local call; fix typo copying RTL data.
8cf9feca 19362
f6052f86
DD
193632010-06-25 DJ Delorie <dj@redhat.com>
19364
19365 * config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
19366 (m32c_output_aligned_common): Likewise.
19367 * config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
19368 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
19369 * config/m32c/m32c-pragma.c (m32c_pragma_address): New.
19370 (m32c_register_pragmas): Register it.
19371 * config/m32c/m32c.c (m32c_get_pragma_address): New.
19372 (m32c_insert_attributes): Set #pragma address decls volatile.
19373 (pragma_entry_eq): New.
19374 (pragma_entry_hash): New.
19375 (m32c_note_pragma_address): New.
19376 (m32c_get_pragma_address): New.
19377 (m32c_output_aligned_common): New.
19378 * doc/extend.texi: Document the new pragma.
19379
19380 * config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs
19381 also.
19382 * config/m32c/predicates.md (m32c_any_operand): Check the code
19383 instead of memory_operand so as to allow matching volatile MEMs.
19384 (m32c_nonimmediate_operand): Likewise.
19385 (mra_operand): Allow volatiles.
19386
e0a80069
AO
193872010-06-25 Alexandre Oliva <aoliva@redhat.com>
19388
19389 PR debug/44610
19390 * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
19391 address if the offset is unknown.
19392
8e7745dc
DR
193932010-06-25 Douglas B Rupp <rupp@gnat.com>
19394
19395 * dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
19396 * dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
19397 * config/ia64/ia64-protos.h (ia64_start_function): Declare.
19398 * config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
19399 to ia64_start_function. Invoke it.
19400 * config/ia64/ia64.c (ia64_start_function): Call new function
19401 dwarf2out_vms_debug_main_pointer.
19402
5c8b27d7
SP
194032010-06-25 Sebastian Pop <sebastian.pop@amd.com>
19404
19405 * tree-if-conv.c (insert_gimplified_predicates): Do not insert
19406 statements computing the true predicate.
19407
29caa68a
SP
194082010-06-25 Sebastian Pop <sebastian.pop@amd.com>
19409
19410 * tree-if-conv.c (init_bb_predicate): Initialize the predicate
19411 to boolean_true_node.
19412 (reset_bb_predicate): New.
19413 (predicate_bbs): Call reset_bb_predicate.
19414
0f741287
SP
194152010-06-25 Sebastian Pop <sebastian.pop@amd.com>
19416
19417 * tree-if-conv.c (combine_blocks): Remove FIXME comment.
19418 (tree_if_conversion): Returns true when something has been changed.
19419 (main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
19420 changed something.
19421
53aa40a8
SP
194222010-06-25 Sebastian Pop <sebastian.pop@amd.com>
19423
19424 * Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
19425 * dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
19426 * tree-if-conv.c: Include dbgcnt.h.
19427 (tree_if_conversion): Use if_conversion_tree to count the number of
19428 if-convertible loops.
19429
1fbb509a
CF
194302010-06-25 Changpeng Fang <changpeng.fang@amd.com>
19431
19432 * common.opt (fprefetch-loop-arrays): Re-define
19433 -fprefetch-loop-arrays as a tri-state option with the initial
19434 value of -1.
19435 * tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch
19436 pass only when flag_prefetch_loop_arrays > 0.
19437 * toplev.c (process_options): Note that, with tri-states,
19438 flag_prefetch_loop_arrays>0 means prefetching is enabled.
19439 * config/i386/i386.c (override_options): Enable prefetching at -O3
19440 for a set of CPUs that sw prefetching is helpful.
19441 (software_prefetching_beneficial_p): New. Return TRUE if software
19442 prefetching is beneficial for the given CPU.
19443
97f43086
L
194442010-06-25 H.J. Lu <hongjiu.lu@intel.com>
19445
19446 PR rtl-optimization/44326
19447 * implicit-zee.c (find_removable_zero_extends): Replace
19448 INSN_P with NONDEBUG_INSN_P.
19449
062c604f
MJ
194502010-06-25 Martin Jambor <mjambor@suse.cz>
19451
19452 * ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
19453 (struct ipa_node_params): Removed the modification_analysis_done flag.
19454 (ipa_is_param_modified): Removed.
19455 (ipa_analyze_node): Declare.
19456 (ipa_compute_jump_functions): Remove declaration.
19457 (ipa_count_arguments): Likewise.
19458 (ipa_detect_param_modifications): Likewise.
19459 (ipa_analyze_params_uses): Likewise.
19460 * ipa-prop.c (struct param_analysis_info): New type.
19461 (visit_store_addr_for_mod_analysis): Removed.
19462 (visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis,
19463 moved down in the file.
19464 (ipa_detect_param_modifications): Merged into ipa_analyze_params_uses.
19465 (ipa_count_arguments): Made static.
19466 (mark_modified): New function.
19467 (is_parm_modified_before_call): New function.
19468 (compute_pass_through_member_ptrs): New parameter parms_info, call
19469 is_parm_modified_before_call instead of ipa_is_param_modified.
19470 (ipa_compute_jump_functions_for_edge): New parameter parms_info, pass
19471 it to compute_pass_through_member_ptrs.
19472 (ipa_compute_jump_functions): New parameter parms_info, pass it to
19473 ipa_compute_jump_functions_for_edge. Call ipa_initialize_node_params
19474 on the callee if it is analyzed. Made static.
19475 (ipa_analyze_indirect_call_uses): New parameter parms_info, call
19476 is_parm_modified_before_call instead of ipa_is_param_modified.
19477 (ipa_analyze_call_uses): New parameter parms_info, pass it to
19478 ipa_analyze_indirect_call_uses.
19479 (ipa_analyze_stmt_uses): New parameter parms_info, pass it to
19480 ipa_analyze_call_uses.
19481 (ipa_analyze_params_uses): New parameter parms_info, pass it to
19482 ipa_analyze_stmt_uses. Also perform the used analysis. Made static.
19483 (ipa_analyze_node): New function.
19484 (ipa_print_node_params): Do not dump the modified flag.
19485 (ipa_write_node_info): Assert uses_analysis_done rather than streaming
19486 it. Do not stream the modified parameter flag.
19487 (ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming
19488 it. Do not stream the modified parameter flag.
19489 * ipa-cp.c (ipcp_analyze_node): Removed.
19490 (ipcp_init_stage): Iterate only once over the nodes, analyze each one
19491 with only a call to ipa_analyze_node.
19492 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
19493 node with only a call to ipa_analyze_node.
53aa40a8 19494
212580ff
MLI
194952010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
19496
19497 * doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.
53aa40a8 19498
3e485f62
JH
194992010-06-25 Jan Hubicka <jh@suse.cz>
19500
19501 * tree-pass.h (pass_split_functions): Declare.
19502 * opts.c (decode_options): Enable function splitting at -O2
19503 * timevar.def (TV_IPA_FNSPLIT): New macro.
19504 * ipa-split.c: New file.
19505 * common.opt (-fpartial-inlining): New flag.
19506 * Makefile.in (ipa-split.o): New object file.
19507 * passes.c (init_optimization_passes): Add ipa-split.
19508 * params.def (partial-inlining-entry-probability): New parameters.
19509 * doc/invoke.texi (-fpartial-inlining): New.
19510
12947319
MLI
195112010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
19512
19513 PR 44665
19514 * tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
19515 * gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
19516 (gimplify_expr): Likewise.
53aa40a8 19517
8aa29647
MJ
195182010-06-25 Martin Jambor <mjambor@suse.cz>
19519
19520 * ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering
19521 statements instead of bailing out on them.
19522 (ipa_analyze_indirect_call_uses): Do not require that loads from the
19523 parameter are in the same BB as the condition. Update comments.
19524
8ba0479e
JJ
195252010-06-25 Jakub Jelinek <jakub@redhat.com>
19526
7a2eceff
JJ
19527 PR middle-end/43866
19528 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
19529 true or always false, return NULL_TREE.
19530 (tree_unswitch_single_loop): Optimize conditions even when reaching
19531 max-unswitch-level parameter. If num > 0, optimize first all conditions
19532 using entry checks, then do still reachable block discovery and consider
19533 only conditions in still reachable basic blocks in the loop.
19534
8ba0479e
JJ
19535 PR tree-optimization/44539
19536 * tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when
19537 the call doesn't have LHS, but has VDEF.
19538
d6841109
JM
195392010-06-25 Joseph Myers <joseph@codesourcery.com>
19540
19541 * config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
19542 * doc/tm.texi (MODIFY_TARGET_NAME): Don't document.
94dbbc81 19543 * gcc.c (enum add_del, struct modify_target, modify_target): Remove.
d6841109
JM
19544 (process_command): Remove code conditional on MODIFY_TARGET_NAME.
19545 * system.h (MODIFY_TARGET_NAME): Poison.
19546
4c9d416e
AM
195472010-06-25 Alan Modra <amodra@gmail.com>
19548
19549 * doc/invoke.texi: Delete mcmodel=medium from powerpc options.
19550 * config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM.
19551 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
19552 CMODEL_LARGE as default.
19553 * config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium.
19554 (offsettable_ok_by_alignment): Delete.
19555 (rs6000_emit_move): Remove mcmodel=medium optimization.
19556
0354c0c7
BS
195572010-06-25 Bernd Schmidt <bernds@codesourcery.com>
19558
19559 With large parts from Jim Wilson:
19560 PR target/43902
19561 * tree-pretty-print.c (dump_generic_node, op_code_prio): Add
19562 WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
19563 * optabs.c (optab_for_tree_code): Likewise.
19564 (expand_widen_pattern_expr): Likewise.
19565 * tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
19566 out of execute_optimize_widening_mul.
19567 (convert_plusminus_to_widen): New function.
19568 (execute_optimize_widening_mul): Use the two new functions.
19569 * expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
19570 Remove code to generate widening multiply-accumulate. Add support
19571 for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
19572 * gimple-pretty-print.c (dump_ternary_rhs): New function.
19573 (dump_gimple_assign): Call it when appropriate.
19574 * tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
19575 * cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
19576 (expand_gimple_stmt_1): Likewise.
19577 (expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
19578 WIDEN_MULT_MINUS_EXPR.
19579 * tree-ssa-operands.c (get_expr_operands): Likewise.
19580 * tree-inline.c (estimate_operator_cost): Likewise.
19581 * gimple.c (extract_ops_from_tree_1): Renamed from
19582 extract_ops_from_tree. Add new arg for a third operand; fill it.
19583 (gimple_build_assign_stat): Support operations with three operands.
19584 (gimple_build_assign_with_ops_stat): Likewise.
19585 (gimple_assign_set_rhs_from_tree): Likewise.
19586 (gimple_assign_set_rhs_with_ops_1): Renamed from
19587 gimple_assign_set_rhs_with_ops. Add new arg for a third operand.
19588 (get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
19589 (get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
19590 WIDEN_MULT_MINUS_EXPR.
19591 * gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
19592 (extract_ops_from_tree_1): Adjust declaration.
19593 (gimple_assign_set_rhs_with_ops_1): Likewise.
19594 (gimple_build_assign_with_ops): Pass NULL for last operand.
19595 (gimple_build_assign_with_ops3): New macro.
19596 (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
19597 gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
19598 functions.
19599 * tree-cfg.c (verify_gimple_assign_ternary): New static function.
19600 (verify_gimple_assign): Call it.
19601 * doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
19602 (Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
19603 functions for dealing with three-operand statements.
19604 * tree.c (commutative_ternary_tree_code): New function.
19605 * tree.h (commutative_ternary_tree_code): Declare it.
5dfebe0a
EB
19606 * tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for
19607 ternary statements.
0354c0c7
BS
19608 (gimple_assign_nonzero_warnv_p): Likewise.
19609 * tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
19610 * tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
19611 (ccp_fold): Use it. Handle GIMPLE_TERNARY_RHS.
19612 * tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
19613 (struct hashtable_expr): New member ternary in the union.
19614 (initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
19615 (hashable_expr_equal_p): Fix indentation. Handle EXPR_TERNARY.
19616 (iterative_hash_hashable_expr): Likewise.
19617 (print_expr_hash_elt): Handle EXPR_TERNARY.
19618 * gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
19619 * tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
19620 statements. Handle GIMPLE_TERNARY_RHS.
19621
38f78b0c
JH
196222010-06-25 Jan Hubicka <jh@suse.cz>
19623
19624 * doc/invoke.texi (-Wsuggest-attribute): Add noreturn.
19625
09a1e889
SZ
196262010-06-25 Shujing Zhao <pearly.zhao@oracle.com>
19627
19628 PR c/44517
19629 * c-parser.c (c_parser_parms_list_declarator): Return NULL if one of
19630 parameters are not good.
19631 (c_parser_parameter_declaration): Error unknown type name if the type
19632 name can't start declaration specifiers.
19633
418f840c
JM
196342010-06-25 Joseph Myers <joseph@codesourcery.com>
19635
19636 * gcc.c (translate_options): Don't mention +e in comment.
19637 (process_command): Don't handle +e specially.
19638
dd2e0807
BS
196392010-06-25 Bernd Schmidt <bernds@codesourcery.com>
19640
19641 * ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.
19642
3c55880a
BS
19643 * ira-build.c (merge_hard_reg_conflicts): New function.
19644 (create_cap_allocno, copy_info_to_removed_store_destinations,
19645 propagate_some_info_from_allocno, propagate_allocno_info): Use it.
19646 (move_allocno_live_ranges, copy_allocno_live_ranges): New functions.
19647 (remove_unnecessary_allocnos, remove_low_level_allocnos)
19648 copy_nifo_to_removed_store_destination): Use them.
19649 * ira-lives.c (make_hard_regno_born): New function, split out of
19650 make_regno_born.
19651 (make_allocno_born): Likewise.
19652 (make_hard_regno_dead): New function, split out of make_regno_dead.
19653 (make_allocno_dead): Likewise.
19654 (inc_register_pressure): New function, split out of set_allocno_live.
19655 (dec_register_pressure): New function, split out of clear_allocno_live.
19656 (mark_pseudo_regno_live): New function, split out of mark_reg_live.
19657 (mark_hard_reg_live): Likewise. Use inc_register_pressure.
19658 (mark_pseudo_regno_dead): New function, split out of mark_reg_dead.
19659 (mark_hard_reg_dead): Likewise. Use dec_register_pressure.
19660 (make_pseudo_conflict): Use mark_pseudo_regno_dead and
19661 mark_pseudo_regno_live.
19662 (process_bb_node_lives): Use mark_pseudo_regno_live,
19663 make_hard_regno_born and make_allocno_dead.
19664 (make_regno_born, make_regno_dead, mark_reg_live, mark_reg_dead,
19665 set_allocno_live, clear_allocno_live): Delete functions.
19666
029da7d4
BS
19667 * ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare.
19668 * ira-build.c (ira_parent_allocno, ira_parent_or_cap_allocno): New
19669 functions.
19670 (ira_flattening): Use ira_parent_allocno.
19671 * ira-conflicts.c (process_regs_for_copy, propagate_copies)
19672 build_allocno_conflicts): Use ira_parent_or_cap_allocno.
19673
6300cb73
BS
19674 * ira-color.c (assign_hard_reg): Improve formatting of multi-line for
19675 statement.
19676
42ce1cc4
BS
19677 * ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT,
19678 TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init,
19679 minmax_set_iter_cond, minmax_set_iter_next,
19680 FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT,
19681 CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator,
19682 ira_allocno_set_iter_init, ira_allocno_set_iter_cond,
19683 ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET. All
19684 uses changed.
19685
b14151b5
BS
19686 * ira-int.h (struct live_range, live_range_t): Renamed from struct
19687 ira_allocno_live_range and allocno_live_range_t; all uses changed.
19688 * ira-build.c (live_range_pool): Renamed from allocno_live_range_pool.
19689 All uses changed.
19690
8850383b
RE
196912010-06-24 Richard Earnshaw <rearnsha@arm.com>
19692
19693 * thumb2.md (thumb2_tlobits_cbranch): Delete.
19694 (peephole2 to convert zero_extract/compare of single bit to
19695 lshift/compare): New.
19696
43a5d30b
AS
196972010-06-24 Anatoly Sokolov <aesok@post.ru>
19698
19699 * fold-const.c (const_binop): Remove 'notrunc' argement. Adjust
19700 recursive call and call to 'int_const_binop'.
19701 (build_range_check, fold_cond_expr_with_comparison, unextend,
19702 fold_truthop, extract_muldiv_1, fold_comparison, fold_binary_loc,
19703 multiple_of_p): Adjust call to const_binop.
19704
b1c6d018
UB
197052010-06-24 Uros Bizjak <ubizjak@gmail.com>
19706
19707 * config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to
19708 determine size of XFmode operand.
19709 (XFmode extended DFmode push splitter): Ditto.
19710 (XFmode extended SFmode push splitter): Ditto.
19711
da0ae970
L
197122010-06-24 H.J. Lu <hongjiu.lu@intel.com>
19713
19714 PR target/44588
19715 * config/i386/i386.md (extract_code): New.
19716 (<u>divmodqi4): Likewise.
19717 (divmodhiqi3): Likewise.
19718 (udivmodhiqi3): Likewise.
19719 (<u>divqi3): Remvoved.
19720
54f044eb
JJ
197212010-06-24 Jakub Jelinek <jakub@redhat.com>
19722
19723 PR middle-end/44492
19724 * recog.h (struct recog_data): Add is_asm field.
19725 * recog.c (asm_operand_ok, constrain_operands): If neither < nor > is
19726 present in constraints of inline-asm operand and memory operand
19727 contains {PRE,POST}_{INC,DEC,MODIFY}, return 0.
19728 (extract_insn): Initialize recog_data.is_asm.
19729 * doc/md.texi (Constraints): Document operand side-effect rules.
19730
d166d4c3
AK
197312010-06-24 Andi Kleen <ak@linux.intel.com>
19732
b1c6d018
UB
19733 * c-parser.c (c_parser_conditional_expression): Call
19734 warn_for_omitted_condop.
19735 * doc/invoke.texi: Document omitted condop warning.
d166d4c3 19736
b27c1cde
NC
197372010-06-24 Nick Clifton<nickc@redhat.com>
19738
19739 * loop-unswitch.c (compare_and_jump_seq): Assert that the last
19740 insn in the sequence is a jump insn before setting its label.
19741
2dcef31e
AM
197422010-06-24 Alan Modra <amodra@gmail.com>
19743
19744 * collect2.c (main): Match exactly --version and --help.
19745
5f4a67a5
DD
197462010-06-24 DJ Delorie <dj@redhat.com>
19747
19748 * config/m32c/m32c-pragma.c: Don't include rtl.h.
19749
bc051083
UB
197502010-06-23 Uros Bizjak <ubizjak@gmail.com>
19751
b1c6d018 19752 * config/i386/i386.md (mov<mode>): Macroize expander from mov{sf,df,xf}
bc051083
UB
19753 using X87MODEF mode iterator.
19754 (pushsf splitter): Macroize splitter using P mode iterator.
19755 (*swap<mode>): Macroize insn from *swap{sf,df} using MODEF
19756 mode iterator.
19757
19758 (*movxf_internal): Rename from *movxf_integer.
19759 (*movxf_internal_nointeger): Rename from *movxf_nointeger.
19760 (*movdf_internal_rex64): Rename from *movdf_integer_rex64.
19761 (*movdf_internal): Rename from *movdf_integer.
19762 (*movdf_internal_nointeger): Rename from *movdf_nointeger.
19763 (*movsf_internal): Rename from *movdf_1.
19764
cde8534c
BS
197652010-06-23 Basile Starynkevitch <basile@starynkevitch.net>
19766
bd3a5d17 19767 * coretypes.h (gimple_seq_node_d, gimple_seq_node)
cde8534c
BS
19768 (const_gimple_seq_node): Removed typedefs.
19769
bd3a5d17 19770 * gimple.h (gimple_seq_node_d, gimple_seq_node)
cde8534c
BS
19771 (const_gimple_seq_node): Added typedefs moved from coretypes.h.
19772
9b2133cd
L
197732010-06-23 H.J. Lu <hongjiu.lu@intel.com>
19774
19775 * config/i386/i386.c (bdesc_args): Replace CODE_FOR_avx_si_si256,
19776 CODE_FOR_avx_ps_ps256 and CODE_FOR_avx_pd_pd256 with
19777 CODE_FOR_vec_extract_lo_v8si, CODE_FOR_vec_extract_lo_v8sf
19778 and CODE_FOR_vec_extract_lo_v4df.
19779
19780 * config/i386/sse.md (vec_extract_lo_<AVX256MODE4P:mode>):
19781 Changed to define_insn_and_split.
19782 (vec_extract_lo_<AVX256MODE8P:mode>): Likewise.
19783 (vec_extract_lo_v16hi): Likewise.
19784 (vec_extract_lo_v32qi): Likewise.
19785 (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>): Likewise.
19786 (avx_<avxmodesuffixp>_<avxmodesuffixp><avxmodesuffix>): Removed.
19787
82c0295a
JR
197882010-06-23 Joern Rennecke <joern.rennecke@embecosm.com>
19789
f52d94aa 19790 PR target/44640
82c0295a
JR
19791 * config/spu/spu-protos.h (spu_expand_epilogue) Use bool.
19792 * config/spu/spu.c (spu_scalar_mode_supported_p): Declare with bool.
19793 (spu_vector_mode_supported_p, spu_handle_fndecl_attribute): Likewise.
19794 (spu_handle_vector_attribute, spu_pass_by_reference): Likewise.
19795 (spu_rtx_costs, spu_function_ok_for_sibcall): Likewise.
19796
f52d94aa 19797 PR target/44640
bec02c18
JR
19798 * config/spu/spu.c (ea_load_store_inline): Use add_reg_note.
19799
f12c802a
JR
19800 PR other/44644
19801 * df-core.c (struct df): Rename to df_d.
19802 * df.h (struct df): Likewise.
19803 * dse.h (struct df): Remove forward declaration.
19804 * recog.h (struct insn_data): Rename to:
19805 (struct_insn_data_d). Adjusted all users.
19806
1004318e
AC
198072010-06-23 Arnaud Charlet <charlet@adacore.com
19808
422f3939 19809 PR ada/22220
1004318e
AC
19810 * doc/install.texi: Update requirements to build GNAT.
19811
f878882b
AS
198122010-06-22 Andreas Schwab <schwab@linux-m68k.org>
19813
19814 * config/m68k/m68k.c (m68k_output_addr_const_extra): Add cast to
19815 enum type.
19816 (m68k_sched_attr_opx_type): Remove unreachable return.
19817 (m68k_sched_attr_opy_type): Likewise.
19818 (m68k_sched_attr_size): Likewise.
19819 (sched_get_opxy_mem_type): Likewise.
19820 (m68k_sched_attr_op_mem): Likewise.
19821
8d2adc24
EB
198222010-06-22 Eric Botcazou <ebotcazou@adacore.com>
19823
19824 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
19825 new statement and adjust VDEF only if necessary. Remove superfluous
19826 call to maybe_clean_or_replace_eh_stmt.
19827 * gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
19828 copy the flags.
19829 * gimple-iterator.c (gsi_replace): Clear BB of old statement here...
19830 * tree-inline.c (copy_bb): ...and not there.
19831
ca3e07b4
CC
198322010-06-22 Cary Coutant <ccoutant@google.com>
19833
19834 * dwarf2out.c (is_nested_in_subprogram): New function.
19835 (should_move_die_to_comdat): Use it.
19836 (copy_ancestor_tree): Don't mark DIEs here.
19837 (copy_decls_walk): Start walk from root of newly-added tree;
19838 mark DIEs here instead.
19839
153b6955
L
198402010-06-22 H.J. Lu <hongjiu.lu@intel.com>
19841
19842 * config/i386/i386.md (unit): Also check sseishft1.
19843
b074e783
JH
198442010-06-22 Jan Hubicka <jh@suse.cz>
19845
8d2adc24
EB
19846 * gimple.h (gimple_expr_code): Do checking on when gimple checking is
19847 enabled.
b074e783 19848
1a0f3fa1
JH
198492010-06-22 Jan Hubicka <jh@suse.cz>
19850
8d2adc24
EB
19851 * df-problems.c (df_rd_confluence_n, df_lr_confluence_n,
19852 df_live_confluence_n, df_byte_lr_confluence_n, df_md_confluence_n):
19853 Return true if something changed.
1a0f3fa1 19854 * df.h (df_confluence_function_n): Return bool.
8d2adc24
EB
19855 * df-core.c (df_worklist_propagate_forward,
19856 df_worklist_propagate_backward): Track changes and ages.
1a0f3fa1
JH
19857 (df_worklist_dataflow_doublequeue): Use bitmap iterator for main walk;
19858 track ages.
19859 * dse.c (dse_confluence_n): Return always true.
19860
198612010-06-22 Jan Hubicka <jh@suse.cz>
07309d58
UB
19862
19863 * bitmap.c (bitmap_clear_bit): Micro optimize.
19864
a8ecfc9f
UB
198652010-06-22 Uros Bizjak <ubizjak@gmail.com>
19866
19867 * config/i386/i386.md (SWI1248x): New mode iterator.
19868 (SWI48x): Ditto.
19869 (SWI12): Ditto.
19870 (SWI24): Ditto.
bc051083 19871
a8ecfc9f
UB
19872 (mov<mode>): Macroize expander from mov{qi,hi,si,di} using
19873 SWI1248x mode iterator.
19874 (*push<mode>2_rex64): Macroize insn from *push{qi,hi,si}_rex64
19875 using SWI124 mode iterator.
19876 (*push<mode>2): Macroize insn from *push{qi,hi} using SWI12
19877 mode iterator.
19878 (*push<mode>2_prologue): Macroize insn from *pushsi2_prologue and
19879 *pushdi2_prologue_rex64 using P mode iterator.
19880 (*mov<mode>_xor): Macroize insn from *movsi_xor and *movdi_xor_rex64
19881 using SWI48 mode iterator.
19882 (*mov<mode>_or): Ditto from *movsi_or and *movdi_or_rex64.
19883 (*movabs<mode>_1): Macroize insn from *movabs{qi,hi,si,di}_1_rex64
19884 using SWI1248x mode iterator.
19885 (*movabs<mode>_2): Ditto from *movabs{qi,hi,si,di}_1_rex64.
19886 (*swap<mode>): Macroize insn from *swapsi and *swapdi_rex64 using
19887 SWI48 mode iterator.
19888 (*swap<mode>_1): Macroize insn from *swap{qi,hi}_1 using SWI12 mode
19889 iterator.
19890 (*swap<mode>_2): Ditto from *swap{qi,hi}_2.
19891 (movstrict<mode>): Macroize expander from movstrict{qi,hi} using
19892 SWI12 mode iterator.
19893 (*movstrict<mode>_1): Macroize insn from *movstrict{qi,hi}_1 using
19894 SWI12 mode iterator.
19895 (*movstrict<mode>_xor): Ditto from *movstrict{qi,hi}_xor.
19896 (*mov<mode>_extv_1): Macroize insn from *mov{hi,si}_extv_1 using
19897 SWI24 mode iterator.
19898 (*mov<mode>_extzv_1): Macroize insn from *mov{si,di}_extzv_1 using
19899 SWI48 mode iterator.
19900 (mov<mode>_insn_1): New expander.
19901 (*mov<mode>_insv_1_rex64): Macroize insn from *mov{si,di}_insv_1_rex64
19902 using SWI48x mode iterator.
19903
19904 (*movoi_internal_avx): Rename from *movoi_internal.
19905 (*movti_internal_rex64): Rename from *movti_rex64.
19906 (*movti_internal_sse): Rename from *movti_sse.
19907 (*movdi_internal_rex64): Rename from *movdi_1_rex64.
19908 (*movdi_internal): Rename from *movdi_2.
19909 (*movsi_internal): Rename from *movsi_1.
19910 (*movhi_internal): Rename from *movhi_1.
19911 (*movqi_internal): Rename from *movqi_1.
19912
19913 (insv): Update the call to gen_movsi_insv_1 for rename.
19914 * config/i386/i386.c (promote_duplicated_reg): Ditto.
19915
0d6a035d
JH
199162010-06-22 Jan Hubicka <jh@suse.cz>
19917
19918 * passes.c (execute_function_todo): Move call of statistics_fini_pass
19919 to ...
19920 (execute_todo) ... this one.
19921
8d2547f2
AM
199222010-06-22 Alan Modra <amodra@gmail.com>
19923
19924 PR target/44364
19925 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
19926 * caller-save.c (insert_restore, insert_save): Use non-validate
19927 form of adjust_address.
19928
e92abd50
JDA
199292010-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19930
19931 PR target/39690
a181e869 19932 * config/pa/pa.c (override_options): Disable
e92abd50
JDA
19933 -freorder-blocks-and-partition.
19934
c1b157a6
L
199352010-06-21 H.J. Lu <hongjiu.lu@intel.com>
19936
19937 PR target/44615
19938 * config/i386/atom.md (atom_sseishft_2): Also check sseishft1.
19939
19940 * config/i386/i386.md (type): Add sseishft1
19941
19942 * config/i386/ppro_insn (ppro_insn): Also check sseishft1.
19943 (ppro_insn_load): Likewise.
19944 (ppro_insn_store): Likewise.
19945 (ppro_insn_both): Likewise.
19946
19947 * config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
19948 (*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
19949 for type.
19950 (*vec_extractv2di_1_avx): Likewise.
19951 (*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
19952 type. Remove atom_unit.
19953 (*vec_extractv2di_1_sse2): Likewise.
19954
cd7fe53b
DD
199552010-06-21 DJ Delorie <dj@redhat.com>
19956
19957 * diagnostic.h (diagnostic_classification_change_t): New.
19958 (diagnostic_context): Add history and push/pop list.
19959 (diagnostic_push_diagnostics): Declare.
19960 (diagnostic_pop_diagnostics): Declare.
19961 * diagnostic.c (diagnostic_classify_diagnostic): Store changes
19962 from pragmas in a history chain instead of the global table.
19963 (diagnostic_push_diagnostics): New.
19964 (diagnostic_pop_diagnostics): New.
19965 (diagnostic_report_diagnostic): Scan history chain to find state
19966 of diagnostics as of the diagnostic location.
19967 * opts.c (set_option): Pass UNKNOWN_LOCATION to
19968 diagnostic_classify_diagnostic.
19969 (enable_warning_as_error): Likewise.
19970 * diagnostic-core.h (DK_POP): Add after "real" diagnostics, for
19971 use in the history chain.
cd7fe53b
DD
19972 * doc/extend.texi: Document pragma GCC diagnostic changes.
19973
d34b4f64
JJ
199742010-06-21 Jakub Jelinek <jakub@redhat.com>
19975
5ec96609
JJ
19976 * dwarf2out.c (add_linkage_name): New function. Don't add
19977 anything to DW_TAG_member DIEs.
19978 (add_name_and_src_coords_attributes): Use it.
19979 (gen_variable_die): Call it for C++ static data members if
19980 specification is DW_TAG_member.
19981
f0057424
JJ
19982 * dwarf2out.c (base_type_die): Use DW_ATE_UTF for
19983 C++ char16_t and char32_t.
19984
2e1e8c5d
JJ
19985 * Makefile.in (build/genattrtab.o): Depend on vecprim.h.
19986 * genattrtab.c: Include vecprim.h.
19987 (cached_attrs, cached_attr_count, attrs_seen_once,
19988 attrs_seen_more_than_once, attrs_to_cache, attrs_cached_inside,
19989 attrs_cached_after): New variables.
19990 (find_attrs_to_cache): New function.
19991 (FLG_BITWISE, FLG_AFTER, FLG_INSIDE, FLG_OUTSIDE_AND): Define.
19992 (write_test_expr): Add attrs_cached argument, return it too,
19993 attempt to cache non-const attributes used more than once in
19994 a single case handling.
19995 (write_attr_get): Use find_attrs_to_cache, for caching candidates
19996 emit cached_* variables. Adjust write_attr_set callers.
19997 (write_attr_set): Add attrs_cached attribute, use find_attrs_to_cache
19998 to find attributes that should be cached in this block. Adjust
19999 write_test_expr callers.
20000 (write_attr_case): Clear attrs_to_cache. Adjust write_attr_set
20001 callers.
20002 (make_automaton_attrs): Adjust write_test_expr caller.
20003
2b21299c
JJ
20004 * Makefile.in (cfgexpand.o): Depend on $(INSN_ATTR_H).
20005 * genattrtab.c (check_tune_attr, find_tune_attr): New functions.
20006 (make_automaton_attrs): If find_tune_attr returns non-NULL,
20007 write separate internal_dfa_insn_code_* and insn_default_latency_*
20008 functions for each attribute's value and emit init_sched_attrs
20009 function and function pointers.
20010 * genattr.c (const_attrs, reservations): New variables.
20011 (gen_attr): Add const attributes to const_attrs vector.
20012 (check_tune_attr, find_tune_attr): New functions.
20013 (main): Add reservations to reservations vector. If find_tune_attr
20014 returns true, add prototype for init_sched_attrs and make
20015 internal_dfa_insn_code and insn_default_latency function pointers,
20016 otherwise define init_sched_attrs as dummy macro.
20017 * cfgexpand.c: Include insn-attr.h.
20018 (gimple_expand_cfg): Call init_sched_attrs.
20019
5e88be0d 20020 * stmt.c (resolve_asm_operand_names): Fix handling of %%.
d34b4f64 20021
529e5fc9
JJ
20022 PR target/44575
20023 * config/i386/i386.c (ix86_gimplify_va_arg): When copying
20024 va_arg from a set of register save slots into a temporary,
20025 if the container is bigger than type size, do the copying
20026 using smaller mode or using memcpy.
20027
67477881
JJ
20028 PR bootstrap/44426
20029 * sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove
20030 prototype.
20031 (sel_print_to_dot): Remove macro.
20032 (sel_print): Likewise. New prototype.
20033 * sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static.
20034 (sel_print): New function.
20035
babc4728
RO
200362010-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20037
20038 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define
20039 __STDC_VERSION__=199901L, _XOPEN_SOURCE=600 for C++.
20040
31e727b0
NC
200412010-06-21 Nick Clifton <nickc@redhat.com>
20042
20043 * config/rx/rx.h (PTRDIFF_TYPE): Define.
20044 (SMALL_REGISTER_CLASS): Define (to zero).
20045 (PRINT_OPERAND): Delete.
20046 (PRINT_OPERAND_ADDRESS): Delete.
20047 * config/rx/rx-protos.h (rx_print_operand): Delete prototype.
20048 (rx_print_operand_address): Delete prototype.
20049 * config/rx/rx.c (rx_print_operand): Make static.
20050 Allow %H and %L to handle CONST_DOUBLEs.
20051 (rx_print_operand_address): Make static.
20052 (rx_gen_move_template): Rename local variable 'template' to
20053 out_template.
5e88be0d 20054 (rx_function_arg): Do not pass unknown sized objects in registers.
31e727b0
NC
20055 (TARGET_PRINT_OPERAND): Define.
20056 (TARGET_PRINT_OPERAND_ADDRESS): Define.
20057
b361b153
JK
200582010-06-21 Jan Kratochvil <jan.kratochvil@redhat.com>
20059
20060 * Makefile.in (POD2MAN): Provide --date from $(DATESTAMP).
20061
7916a546
KT
200622010-06-21 Kai Tietz <kai.tietz@onevision.com>
20063
20064 * config/i386/i386.c (ix86_compute_frame_layout): Avoid
20065 stack-alignment for simple leaf-functions.
20066
339325b3
AO
200672010-06-20 Alexandre Oliva <aoliva@redhat.com>
20068
20069 * doc/install.texi: Document bootstrap-lto.
20070
7254364e
AO
200712010-06-20 Alexandre Oliva <aoliva@redhat.com>
20072
20073 PR debug/44248
20074 * lto-streamer-in.c (input_bb): Leave debug stmts alone.
20075 (input_function): Drop them here, if VTA is disabled.
20076
dedd9d05
UB
200772010-06-20 Uros Bizjak <ubizjak@gmail.com>
20078
20079 PR target/44546
20080 * config/i386/predicates.md (ix86_swapped_fp_comparsion_operator):
20081 New predicate.
5e88be0d 20082 * config/i386/i386.md (*fp_jcc_8<mode>_387 and splitters): Use
dedd9d05
UB
20083 ix86_swapped_fp_comparsion_operator instead of
20084 ix86_fp_comparison_operator.
20085
20086 (*fp_jcc_1_387): Rename from *fp_jcc_3_387.
20087 (*fp_jcc_1r_387): Rename from *fp_jcc_4_387.
20088 (*fp_jcc_2_387): Rename from *fp_jcc_5_387.
20089 (*fp_jcc_2r_387): Rename from *fp_jcc_6_387.
20090 (*fp_jcc_3_387): Rename from *fp_jcc_7_387.
20091 (*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387.
20092
6e2f1956
JM
200932010-06-20 Joseph Myers <joseph@codesourcery.com>
20094
20095 PR other/32998
20096 * opth-gen.awk: Generate definitions of OPT_SPECIAL_unknown,
20097 OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
20098 * opts-common.c (find_opt): Return OPT_SPECIAL_unknown on failure.
20099 (decode_cmdline_option): Update for this return value. Set
20100 orig_option_with_args_text field. Set arg field for unknown
20101 options. Make static.
20102 (decode_cmdline_options_to_array): New.
20103 (prune_options): Update handling of find_opt return value.
20104 * opts.c (read_cmdline_option): Take decoded option. Return void.
20105 (read_cmdline_options): Take decoded options.
20106 (decode_options): Add parameters for decoded options. Use
20107 decode_cmdline_options_to_array. Use decoded options for -O
20108 scan. Use integral_argument for -O parameters. Update call to
20109 read_cmdline_options.
dedd9d05 20110 (enable_warning_as_error): Update handling of find_opt return value.
6e2f1956
JM
20111 * opts.h: Update comment on unknown options.
20112 (struct cl_decoded_option): Update comments on opt_index and arg.
20113 Add orig_option_with_args_text.
20114 (decode_cmdline_option): Remove.
20115 (decode_cmdline_options_to_array): Declare.
20116 (decode_options): Update prototype.
20117 * toplev.c (save_argv): Remove.
20118 (save_decoded_options, save_decoded_options_count): New.
20119 (read_integral_parameter): Remove.
20120 (print_switch_values): Use decoded options.
dedd9d05 20121 (toplev_main): Don't set save_argv. Update call to decode_options.
6e2f1956 20122 * toplev.h (read_integral_parameter): Remove.
dedd9d05 20123 * varasm.c (elf_record_gcc_switches): Don't handle holding back names.
6e2f1956 20124
e6bfe8a2
RE
201252010-06-19 Richard Earnshaw <rearnsha@arm.com>
20126
20127 PR target/44072
20128 * arm.md (cmpsi2_addneg): Prefer emitting adds to subs with a negative
20129 immediate.
20130 * constraints.md (Pw, Px): New constraints.
20131 * thumb2.md (cmpsi2_addneg peephole2): New peepholes.
20132
1c154a23
L
201332010-06-19 H.J. Lu <hongjiu.lu@intel.com>
20134
20135 * config/i386/sse.md (fma4modesuffixf4): Removed.
20136 (ssemodesuffixf2s): Likewise.
20137 (ssemodesuffixf4): Likewise.
20138 (ssemodesuffixf2c): Likewise.
20139 (ssescalarmodesuffix2s): Likewise.
20140 (avxmodesuffixf2c): Likewise.
20141 (ssemodesuffix): New.
20142 (ssescalarmodesuffix): Likewise.
20143 Update patterns with ssemodesuffix and ssescalarmodesuffix.
20144
5a2983ce
PH
201452010-06-19 Philip Herron <herron.philip@googlemail.com>
20146
a8ecfc9f 20147 * c-decl.c (c_write_global_declarations): Don't check flag_syntax_only.
5a2983ce 20148
fae76410
L
201492010-06-18 H.J. Lu <hongjiu.lu@intel.com>
20150
20151 * stor-layout.c (debug_rli): Remove unused local variables.
20152
d36d83e9
EB
201532010-06-18 Eric Botcazou <ebotcazou@adacore.com>
20154
20155 PR rtl-optimization/40900
20156 * expr.c (expand_expr_real_1) <SSA_NAME>: Fix long line. Save the
20157 original expression for later reuse.
20158 <expand_decl_rtl>: Use promote_function_mode to compute the signedness
20159 of the promoted RTL for a SSA_NAME on the LHS of a call statement.
20160
fd7de64c
AS
201612010-06-18 Anatoly Sokolov <aesok@post.ru>
20162
20163 * double-int.h (double_int_to_shwi, double_int_to_uhwi,
20164 double_int_fits_in_uhwi_p): Implement as static inline.
20165 (double_int_xor): New inline function.
20166 (double_int_lrotate, double_int_rrotate, double_int_max,
20167 double_int_umax, double_int_smax, double_int_min, double_int_umin,
20168 double_int_smin): Declare.
20169 (lrotate_double, rrotate_double): Remove declaration.
20170 * double-int.c (double_int_fits_in_uhwi_p, double_int_to_shwi,
20171 double_int_to_uhwi, lrotate_double, rrotate_double): Remove function.
20172 (double_int_lrotate, double_int_rrotate, double_int_max,
20173 double_int_umax, double_int_smax, double_int_min, double_int_umin,
20174 double_int_smin): New function.
20175 * fold-const.c (int_const_binop): Clean up, use double_int_*
20176 functions.
20177 * simplify-rtx.c (simplify_const_binary_operation): Clean up, use
20178 double_int_* and immed_double_int_const functions.
20179
bc87224e
NF
201802010-06-18 Nathan Froyd <froydnj@codesourcery.com>
20181
20182 * function.h (types_used_by_cur_var_decl): Change type to a VEC.
20183 * function.c (types_used_by_cur_var_decl): Likewise.
a8ecfc9f 20184 (used_types_insert): Adjust for new type of types_used_by_cur_var_decl.
bc87224e 20185
76d971cc
NF
201862010-06-18 Nathan Froyd <froydnj@codesourcery.com>
20187
20188 * tree.h (record_layout_info): Change type of pending_statics field
20189 to a VEC.
20190 * stor-layout.c (start_record_layout): Store NULL into
20191 pending_statics.
20192 (debug_rli): Call debug_vec_tree instead of debug_tree.
20193 (place_field): Likewise.
20194 (finish_record_layout): Likewise.
20195
9628d8f6
AM
201962010-06-18 Alan Modra <amodra@gmail.com>
20197
20198 * config/rs6000/linux64.h (SET_CMODEL): Don't expand to empty.
20199
8ccfe1ab
JDA
202002010-06-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
20201
20202 PR target/43740
dedd9d05
UB
20203 * config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag
20204 for SET source operand from SET destination operand.
8ccfe1ab 20205
60de8907
BS
202062010-06-17 Bernd Schmidt <bernds@codesourcery.com>
20207
20208 PR rtl-optimization/39871
20209 * reload1.c (init_eliminable_invariants): For flag_pic, disable
20210 equivalences only for constants that aren't LEGITIMATE_PIC_OPERAND_P.
20211 (function_invariant_p): Rule out a plus of frame or arg pointer with
20212 a SYMBOL_REF.
20213 * ira.c (find_reg_equiv_invariant_const): Likewise.
20214
d398d903
GN
202152010-06-17 Gunther Nikl <gnikl@users.sourceforge.net>
20216
20217 * config/rs6000/rs6000.c (print_operand) <'K'>: Also use
20218 print_operand_address and puts to output the operand for CONST.
20219
654bbfea
JJ
202202010-06-17 Jakub Jelinek <jakub@redhat.com>
20221
20222 PR debug/44572
20223 * dwarf2out.c (dwarf2out_debug_hooks): Add entry for begin_epilogue
20224 hook.
20225
11d259f0
NF
202262010-06-17 Nathan Froyd <froydnj@codesourcery.com>
20227
20228 * v850-protos.h (print_operand): Delete.
20229 (print_operand_address): Delete.
20230 * v850.h (PRINT_OPERAND): Delete.
20231 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
20232 (PRINT_OPERAND_ADDRESS): Delete.
20233 * v850.c (print_operand_address): Rename to...
20234 (v850_print_operand_address): ...this. Make static. Call
20235 v850_print_operand.
20236 (print_operand): Rename to...
20237 (v850_print_operand): ...this. Make static. Call
20238 v850_print_operand_address.
20239 (v850_print_operand_punct_valid_p): New function.
20240 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
20241 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
20242
9e94b957
NF
202432010-06-17 Nathan Froyd <froydnj@codesourcery.com>
20244
20245 * config/sh/sh-protos.h (print_operand): Delete.
20246 (print_operand_address): Delete.
20247 * config/sh/sh.h (PRINT_OPERAND): Delete.
20248 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
20249 (PRINT_OPERAND_ADDRESS): Delete.
20250 * config/sh/sh.c (sh_print_operand_address): Make static.
20251 (sh_print_operand): Make static. Call sh_print_operand_address
20252 and sh_print_operand.
20253 (sh_print_operand_punct_valid_p): New function.
20254 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
20255 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
20256
349f851e
NF
202572010-06-17 Nathan Froyd <froydnj@codesourcery.com>
20258
20259 * config/mcore/mcore-protos.h (mcore_print_operand): Delete.
20260 (mcore_print_operand_address): Delete.
20261 * config/mcore/mcore.h (PRINT_OPERAND): Delete.
20262 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
20263 (PRINT_OPERAND_ADDRESS): Delete.
20264 * config/mcore/mcore.c (mcore_print_operand_address): Make static.
20265 (mcore_print_operand): Make static.
20266 (mcore_print_operand_punct_valid_p): New function.
20267 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define
20268 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
20269
efe554e4
NF
202702010-06-17 Nathan Froyd <froydnj@codesourcery.com>
20271
20272 * config/m68hc11/m68hc11-protos.h (print_operand): Delete.
20273 (print_operand_address): Delete.
20274 * config/m68hc11/m68hc11.h (PRINT_OPERAND): Delete.
20275 (PRINT_OPERAND_ADDRESS): Delete.
20276 * config/m68hc11/m68hc11.c (m68hc11_print_operand_address): Make
20277 static.
20278 (m68hc11_print_operand): Make static.
20279 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
20280
c73035c7
NF
202812010-06-17 Nathan Froyd <froydnj@codesourcery.com>
20282
20283 * config/m32r/m32r-protos.h (m32r_print_operand): Delete.
20284 (m32r_print_operand_address): Delete.
20285 * config/m32r/m32r.h (m32r_punct_chars): Delete.
20286 (PRINT_OPERAND): Delete.
20287 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
20288 (PRINT_OPERAND_ADDRESS): Delete.
20289 * config/m32r/m32r.c (m32r_punct_chars): Make static.
20290 (m32r_print_operand_address): Make static.
20291 (m32r_print_operand): Make static.
20292 (m32r_print_operand_punct_valid_p): New function.
20293 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
20294 (TARGET_PRINT_OPERAND_ADDRESS): Define.
20295
bf7c1408
NF
202962010-06-17 Nathan Froyd <froydnj@codesourcery.com>
20297
20298 * config/iq2000/iq2000-protos.h (print_operand): Delete.
20299 (print_operand_address): Delete.
20300 * config/iq2000/iq2000.h (PRINT_OPERAND): Delete.
20301 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
20302 (PRINT_OPERAND_ADDRESS): Delete.
20303 (iq2000_print_operand_punct): Delete.
20304 * config/iq2000/iq2000.c (iq2000_print_operand_punct): Make static.
20305 (iq2000_print_operand_address): Make static.
20306 (iq2000_print_operand): Make static.
20307 (iq2000_print_operand_punct_valid_p): New function.
20308 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
20309 (TARGET_PRINT_OPERAND_ADDRESS): Define.
20310
0fb30cb7
NF
203112010-06-17 Nathan Froyd <froydnj@codesourcery.com>
20312
20313 * config/frv/frv-protos.h (frv_print_operand): Delete.
20314 (frv_print_operand_address): Delete.
20315 * config/frv/frv.h (PRINT_OPERAND): Delete.
20316 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
20317 (PRINT_OPERAND_ADDRESS): Delete.
20318 * config/frv/frv.c (frv_print_operand_address): Make static.
20319 (frv_print_operand): Make static.
20320 (frv_print_operand_punct_valid_p): New function.
20321 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
20322 (TARGET_PRINT_OPERAND_ADDRESS): Define.
20323
bfdb7b70
NF
203242010-06-17 Nathan Froyd <froydnj@codesourcery.com>
20325
20326 * tree.h (vec_member): Declare.
20327 * tree.c (vec_member): Define.
20328
3a620661
RG
203292010-06-17 Richard Guenther <rguenther@suse.de>
20330
20331 * tree-flow-inline.h (array_ref_contains_indirect_ref): Remove.
20332 * tree-flow.h (array_ref_contains_indirect_ref): Likewise.
20333
498c378f
RG
203342010-06-17 Richard Guenther <rguenther@suse.de>
20335
20336 * tree-inline.c (declare_return_variable): Remove bogus code.
20337
bd2e63a1
RG
203382010-06-17 Richard Guenther <rguenther@suse.de>
20339
20340 * gimplify.c (gimplify_bind_expr): Always promote complex
20341 and vector variables to registers if possible.
20342
7fa5296e
RG
203432010-06-17 Richard Guenther <rguenther@suse.de>
20344
20345 * expr.c (get_inner_reference): Use double_int for bit_offset
20346 calculation.
20347
6a78b724
DD
203482010-06-16 DJ Delorie <dj@redhat.com>
20349
20350 * common.opt (-fstrict-volatile-bitfields): new.
20351 * doc/invoke.texi: Document it.
20352 * fold-const.c (optimize_bit_field_compare): For volatile
20353 bitfields, use the field's type to determine the mode, not the
20354 field's size.
20355 * expr.c (expand_assignment): Likewise.
20356 (get_inner_reference): Likewise.
20357 (expand_expr_real_1): Likewise.
20358 * expmed.c (store_fixed_bit_field): Likewise.
20359 (extract_bit_field_1): Likewise.
20360 (extract_fixed_bit_field): Likewise.
20361
f1071b12
RG
203622010-06-16 Richard Guenther <rguenther@suse.de>
20363
dedd9d05 20364 * tree-inline.c (remap_gimple_op_r): Recurse using remap_gimple_op_r.
f1071b12 20365
67ad2ae7
DR
203662010-06-16 Douglas B Rupp <rupp@gnat.com>
20367
20368 * config/ia64/vms.h (ASM_OUTPUT_DWARF_DELTA_UNITS): Remove.
20369 (ASM_OUTPUT_DWARF_VMS_DELTA: Define new macro.
20370 * dbxout.c (gcc_debug_hooks): New entry begin_epilogue.
20371 * debug.c: Likewise.
20372 * sdbout.c: Likewise.
20373 * vmsdbgout.c: Likewise.
20374 * debug.h: Likewise. (dwarf2out_vms_{begin,end}_prologue): Declare.
20375 * doc/tm.texi (ASM_OUTPUT_DWARF_VMS_DELTA): Document.
20376 * dwarf2asm.c (dw2_asm_output_vms_delta): New function.
20377 (ASM_OUTPUT_DWARF_VMS_DELTA): Call it.
20378 * dwarf2asm.h (dw2_asm_output_vms_delta): Declare.
20379 * dwarf2out.c (dw_fde_struct): New fields
20380 dw_fde_vms_{end,begin}_prologue.
20381 (PROLOGUE_END_LABEL, EPILOGUE_BEGIN_LABEL): New macros.
20382 (dwarf2out_begin_prologue): Set dw_fde_struct defaults for above.
20383 (dwarf2out_vms_end_prologue): New function.
20384 (dwarf2out_vms_begin_epilogue): New function.
20385 (dw_val_struct): New value dw_val_class_vms_delta.
20386 (gcc_debug_hooks): New entry begin_epilogue. Set end_prologue,
20387 begin_epilogue for VMS.
20388 (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): Declare
20389 new static functions.
20390 (dwarf_attr_name): New cases DW_AT_HP_{prologue,epilogue}.
dedd9d05 20391 (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): New
67ad2ae7
DR
20392 static functions.
20393 (print_die): New case dw_val_class_vms_delta.
20394 (attr_checksum): Likewise.
20395 (same_dw_val_p: Likewise.
20396 (size_of_die): Likewise.
20397 (value_format): Likewise.
20398 (output_die): Likewise.
20399 (gen_subprogram_die): Call add_AT_vms_delta on VMS.
20400 (dwarf2out_begin_epilogue): Rename to dwarf2out_cfi_begin_epilogue
20401 * dwarf2out.h (dwarf2out_begin_epilogue): Rename to
20402 dwarf2out_cfi_begin_epilogue
20403 * final.c (final_scan_insn): Likewise. Call begin_epilogue.
20404
ed5c4a10
NF
204052010-06-16 Nathan Froyd <froydnj@codesourcery.com>
20406
20407 * config/cris/cris-protos.h (cris_print_operand): Delete.
20408 (cris_print_operand_address): Delete.
20409 * config/cris/cris.h (PRINT_OPERAND): Delete.
20410 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
20411 (PRINT_OPERAND_ADDRESS): Delete.
20412 * config/cris/cris.c (cris_print_operand_address): Make static.
20413 (cris_print_operand): Make static.
20414 (cris_print_operand_punct_valid_p): New function.
20415 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
20416 (TARGET_PRINT_OPERAND_ADDRESS): Define.
20417
616c557d
NF
204182010-06-16 Nathan Froyd <froydnj@codesourcery.com>
20419
20420 * config/arm/arm-protos.h (arm_print_operand): Delete.
20421 (arm_print_operand_address): Delete.
20422 * config/arm/arm.h (PRINT_OPERAND): Delete.
20423 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
20424 (PRINT_OPERAND_ADDRESS, ARM_PRINT_OPERAND_ADDRESS):
20425 (THUMB_PRINT_OPERAND_ADDRESS): Delete and move code to...
a8ecfc9f 20426 * config/arm/arm.c (arm_print_operand_address): ...here. New function.
616c557d
NF
20427 (arm_print_operand): Make static.
20428 (arm_print_operand_punct_valid_p): New function.
20429 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
20430 (TARGET_PRINT_OPERAND_ADDRESS): Define.
20431
c249a7bc
NC
204322010-06-16 Nick Clifton <nickc@redhat.com>
20433
20434 * config/rx/constraints.md (NEGint4): New constraint.
20435 * config/rx/rx.md (attr cc): Add set_zsc.
20436 (cbranchsf4): Only test for -fnon-call-exceptions if cfun has been
20437 initialised.
20438 (cmpsf): Likewise.
20439 (call_internal): Clobber the cc0 register.
20440 (call_value_internal): Likewise.
20441 (cstoresi4): Likewise.
20442 (movsieq): Likewise.
20443 (movsine): Likewise.
20444 (addsi3): Add alternative to handle small negative constants.
20445 (sunsi3): Likewise.
20446 (addsi3): Do not set the O bit in the cc0 register.
20447 (adddi3): Likewise.
20448 (subsi3): Likewise.
20449 (subdi3): Likewise.
20450 (andsi3): Reorder alternatives to prefer shorter forms.
20451 (mulsi3): Likewise.
20452 (iorsi3): Likewise.
20453 (negsi2): Note that the cc0 flags are set.
20454 (rotlsi3): Note that only the Z and S bits are set in cc0.
20455 (lshrsi3): Likewise.
20456 (ashlsi3): Likewise.
20457 (subsf3): Use %Q for the MEM operand.
20458 (fix_truncsfsi2): Likewise.
20459 (floatsisf2): Likewise.
20460 (bitset): Remove early clobber from destination.
20461 (bitset_in_memory): Likewise.
20462 (lrintsf2): Clobber the cc0 register.
dedd9d05 20463 * config/rx/rx.c (rx_notice_update_cc): Handle CC_SET_ZSC.
c249a7bc
NC
20464 (rx_print_operand): Handle %N.
20465
f75aa51c
JH
204662010-06-16 Jan Hubicka <jh@suse.cz>
20467
20468 * df-core.c (df_compact_blocks): Free problem_temps vector.
20469
29be3835
MJ
204702010-06-16 Martin Jambor <mjambor@suse.cz>
20471
20472 PR tree-optimization/43905
20473 * tree-sra.c: Include tree-inline.h.
20474 (create_abstract_origin): Removed.
20475 (modify_function): Version the call graph node instead of creating
20476 abstract origins and dealing with same_body aliases.
20477 * tree-sra.c (ipa_sra_preliminary_function_checks): Check whether the
20478 function is versionable.
20479 * Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies.
20480
e7bfcf35
MK
204812010-06-16 Maxim Kuvyrkov <maxim@codesourcery.com>
20482
20483 * config/mips/linux64.h (BIONIC_DYNAMIC_LINKERN32): Define.
20484 (CHOOSE_DYNAMIC_LINKER): Update.
20485
f582a3aa
UB
204862010-06-15 Uros Bizjak <ubizjak@gmail.com>
20487
20488 * config/i386/i386.c (*prefetch_sse_<mode>): Macroize insn from
20489 *prefetch_sse and *prefetch_sse_rex using P mode iterator.
20490 (*prefetch_3dnow_<mode>): Ditto from *prefetch_3dnow and
20491 *prefetch_3dnow_rex.
20492
e4f7c483
AS
204932010-06-15 Anatoly Sokolov <aesok@post.ru>
20494
20495 * target.h (struct asm_out):Add declare_constant_name field.
20496 * target-def.h (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
20497 (TARGET_INITIALIZER): Use TARGET_ASM_DECLARE_CONSTANT_NAME.
20498 * output.h (default_asm_declare_constant_name): Declare.
20499 (assemble_label): Update prototype.
20500 * varasm.c (assemble_constant_contents): Use
20501 targetm.asm_out.declare_constant_name target hook.
20502 (assemble_label): Add 'file' argument.
20503 (default_asm_declare_constant_name): New function.
20504 * system.h (ASM_DECLARE_CONSTANT_NAME): Poison.
20505 * doc/tm.texi (ASM_DECLARE_CONSTANT_NAME): Remove.
20506 (TARGET_ASM_DECLARE_CONSTANT_NAME): Document it.
20507
20508 * config/darwin-protos.h (darwin_asm_declare_constant_name): Declare.
20509 * config/darwin.c (darwin_asm_declare_constant_name): New function.
20510 (machopic_output_indirection): Update assemble_label argument list.
20511 * config/darwin.h (ASM_DECLARE_CONSTANT_NAME): Remove.
20512 (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
20513
6ab4e307
SP
205142010-06-15 Sebastian Pop <sebastian.pop@amd.com>
20515
20516 PR middle-end/44391
20517 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
20518 size_one_node for pointer types. Do not call gmp_cst_to_tree.
20519
7fc1dad6
RG
205202010-06-15 Richard Guenther <rguenther@suse.de>
20521
20522 * tree-ssa-pre.c (eliminate): Handle PHI elimination to constants.
20523
50416c61 205242010-06-15 Paul Brook <paul@codesourcery.com>
6ab4e307 20525
50416c61
PB
20526 * config/arm/arm.c (use_vfp_abi): Add sorry() for Thumb-1
20527 hard-float ABI.
20528
15bbc165
AO
205292010-06-15 Alexandre Oliva <aoliva@redhat.com>
20530
20531 * tree-vect-patterns.c (vect_pattern_recog_1): Bail out if we
20532 don't get a vector type for output.
20533
79943d19
JJ
205342010-06-15 Jakub Jelinek <jakub@redhat.com>
20535
20536 PR fortran/44536
20537 * langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl.
20538 * langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define.
20539 (LANG_HOOKS_DECLS): Add it.
20540 * gimplify.c (omp_notice_variable): Call
20541 lang_hooks.decls.omp_report_decl.
20542
eed5f58a
MJ
205432010-06-15 Martin Jambor <mjambor@suse.cz>
20544
20545 PR lto/44464
20546 * tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
20547 on the newly dead SSA name.
20548
070b27da
AM
205492010-06-15 Alan Modra <amodra@gmail.com>
20550
20551 * doc/invoke.texi: Add mcmodel to powerpc options.
20552 * configure.ac: Add HAVE_LD_LARGE_TOC test.
20553 * configure: Regenerate.
20554 * config.in: Regenerate.
20555 * config/rs6000/linux64.opt (mcmodel): New.
20556 * config/rs6000/linux64.h (TARGET_USES_LINUX64_OPT): Define.
9628d8f6 20557 (TARGET_CMODEL, SET_CMODEL): Define.
070b27da
AM
20558 (SUBSUBTARGET_OVERRIDE_OPTIONS): Check user -mcmodel choice,
20559 select CMODEL_MEDIUM default.
20560 * config/rs6000/rs6000.h (enum rs6000_cmodel): New.
20561 (TARGET_CMODEL): Define default.
20562 * config/rs6000/rs6000.c (cmodel): New variable.
20563 (rs6000_explicit_options): Add cmodel field.
20564 (rs6000_handle_option): Handle -mcmodel.
20565 (create_TOC_reference): Add largetoc_reg param. Generate high,
20566 lo_sum rtl for CMODEL_MEDIUM and CMODEL_LARGE. Update all callers.
20567 (rs6000_delegitimize_address): Recognise new toc reference rtl
20568 and minimal-toc rtl.
20569 (rs6000_legitimize_reload_address): Handle new toc references.
20570 (print_operand_address): Handle legitimate_constant_pool_address_p
20571 match before lo_sum.
20572 (rs6000_eliminate_indexed_memrefs): Tidy.
20573 (rs6000_emit_move): Tweak threshold for inlining constants.
20574 Keep rs6000_emit_allocate_stack large stack frame offsets
20575 loaded into r0 inline.
20576 (rs6000_generate_compare <cmptf_internal2>): One more clobber.
20577 (tocrel_base, tocrel_offset): New variables.
20578 (toc_relative_expr_p): Set them here.
f582a3aa 20579 (print_operand_address): Skip over any offset on constant pool address.
070b27da
AM
20580 (rs6000_output_addr_const_extra): Print tocrel_offset before @toc.
20581 (rs6000_mode_dependent_address <LO_SUM>): False for new toc refs.
20582 (offsettable_ok_by_alignment): New function.
20583 (rs6000_emit_move): Address suitably aligned local symbol_refs
20584 relative to the toc pointer for -mcmodel=medium.
20585 (legitimate_constant_pool_address_p): Make param const_rtx. Add
20586 strict param. Allow lo_sum version of addressing. Verify reg
20587 used for -mminimal-toc and -mcmodel != small. Update all callers.
20588 * config/rs6000/constraints.md: Update for above change.
20589 * config/rs6000/predicates.md: Likewise.
20590 * config/rs6000/rs6000.md (tls_gd_aix): Generate -mcmodel=medium/large
20591 code.
20592 (tls_gd): Split for -mcmodel=medium/large.
20593 (tls_gd_high, tls_gd_low): New.
20594 (tls_ld_aix, tls_ld, tls_ld_high, tls_ld_low): Similarly.
20595 (tls_got_dtprel, tls_got_dtprel_high, tls_got_dtprel_low): Similarly.
20596 (tls_got_tprel, tls_got_tprel_high, tls_got_tprel_low): Similarly.
20597 (largetoc_high, largetoc_low): New.
20598 (cmptf_internal2): Add clobber.
20599 * config/rs6000/rs6000-protos.h: Update.
20600
d5058523
CF
206012010-06-14 Changpeng Fang <changpeng.fang@amd.com>
20602
20603 * tree-ssa-loop-prefetch.c (nothing_to_prefetch_p): New. Return
20604 true if no prefetch is going to be generated for a given group.
20605 (estimate_prefetch_count): Use prefetch_mod and unroll_factor to
20606 estimate the prefetch_count.
20607 (loop_prefetch_arrays): Call nothing_to_prefetch_p; estimate the
20608 prefetch count by considering the unroll_factor and prefetch_mod
20609 for is_loop_prefetching_profitable.
20610
33d67485
AS
206112010-06-14 Andreas Schwab <schwab@linux-m68k.org>
20612
20613 * config/m68k/m68k.c (m68k_delegitimize_address): Don't do
20614 anything if the argument is not a MEM.
20615
22963fee
AO
206162010-06-14 Alexandre Oliva <aoliva@redhat.com>
20617
20618 PR debug/43650
20619 PR debug/44181
20620 PR debug/44247
20621 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip
20622 debug stmts.
20623 (canonicalize_loop_ivs): Likewise.
20624
c11b0b3b
AO
206252010-06-14 Alexandre Oliva <aoliva@redhat.com>
20626
20627 PR debug/43656
20628 * haifa-sched.c (setup_insn_reg_pressure_info,
20629 update_register_pressure): Reject debug insns.
20630 (ready_sort): Don't setup reg pressure for debug insns.
20631 (schedule_insn): Don't update reg pressure for debug insns.
20632
2465dcc2
RG
206332010-06-14 Richard Guenther <rguenther@suse.de>
20634
20635 * lto-streamer.c (cached_bp): Remove.
20636 (bitpack_delete): Likewise.
20637 (bitpack_create): Likewise.
20638 (bp_get_next_word): Likewise.
20639 (bp_pack_value, bp_unpack_value): Move ...
20640 * lto-streamer.h (bp_pack_value, bp_unpack_value): ... here.
20641 Re-implement.
20642 (struct bitpack_d): Likewise.
20643 (bitpack_create, lto_output_bitpack, lto_input_bitpack):
20644 New inline functions.
20645 * lto-streamer-out.c (lto_output_bitpack): Remove.
f582a3aa 20646 (pack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
2465dcc2
RG
20647 (pack_value_fields): Adjust.
20648 (lto_write_tree): Likewise.
20649 (output_gimple_stmt): Likewise.
20650 (output_function): Likewise.
20651 * lto-streamer-in.c (input_gimple_stmt): Adjust.
20652 (input_function): Likewise.
f582a3aa 20653 (unpack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
2465dcc2
RG
20654 (lto_input_bitpack): Remove.
20655 (lto_materialize_tree): Adjust.
20656 * Makefile.in (ipa-prop.o): Add $(LTO_STREAMER_H) dependency.
20657 * lto-cgraph.c (lto_output_edge): Adjust.
20658 (lto_output_node): Likewise.
20659 (lto_output_varpool_node): Likewise.
20660 (lto_output_ref): Likewise.
20661 (input_node): Likewise.
20662 (input_varpool_node): Likewise.
20663 (input_ref): Likewise.
20664 (input_edge): Likewise.
20665 (output_node_opt_summary): Likewise.
20666 (input_node_opt_summary): Likewise.
20667 * ipa-pure-const.c (pure_const_write_summary): Likewise.
20668 (pure_const_read_summary): Likewise.
20669 * ipa-prop.c (ipa_write_indirect_edge_info): Likewise.
20670 (ipa_read_indirect_edge_info): Likewise.
20671 (ipa_write_node_info): Likewise.
20672 (ipa_read_node_info): Likewise.
20673
808081b4
L
206742010-06-14 H.J. Lu <hongjiu.lu@intel.com>
20675
20676 PR target/44534
f582a3aa 20677 * config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0.
808081b4
L
20678 (vec_extract_lo_v16hi): Likewise.
20679 (vec_extract_lo_v32qi): Likewise.
20680
5bca794b
JJ
206812010-06-14 Jakub Jelinek <jakub@redhat.com>
20682
aa493694
JJ
20683 PR bootstrap/44426
20684 * tree.h (build_call_expr): Don't define as vararg macro, instead
20685 add a prototype.
20686 * builtins.c (build_call_nofold): Remove.
20687 (expand_builtin_int_roundingfn, expand_builtin_pow,
20688 expand_builtin_mempcpy_args, expand_builtin_stpcpy,
20689 expand_builtin_memset_args, expand_builtin_strcmp,
20690 expand_builtin_strncmp, expand_builtin_memory_chk): Use
20691 build_call_nofold_loc instead of build_call_nofold.
20692 (build_call_expr): New function.
20693
8ab7d796 20694 PR tree-optimization/44508
f582a3aa 20695 * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument.
8ab7d796
JJ
20696 * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE,
20697 don't eliminate trivially dead stmts.
20698 * tree-vrp.c (vrp_finalize): Pass false as last argument
20699 to substitute_and_fold.
20700 * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument
20701 to substitute_and_fold.
20702 * tree-ssa-ccp.c (ccp_finalize): Likewise.
20703
5bca794b
JJ
20704 PR bootstrap/44509
20705 * c-config-lang.in (gtfiles): Add c-family/c-cppbuiltin.c.
5bca794b 20706
c1e822d5
IR
207072010-06-14 Ira Rosen <irar@il.ibm.com>
20708
6ab4e307 20709 PR tree-optimization/44507
c1e822d5
IR
20710 * tree-vect-loop.c (get_initial_def_for_reduction): Use -1
20711 to build initial vector for BIT_AND_EXPR.
20712 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
20713
ce71b410
JJ
207142010-06-14 Jakub Jelinek <jakub@redhat.com>
20715
20716 * config/s390/s390.md (*mov<mode>_64 DD_DF, mov<mode>): Properly
20717 adjust z10prop set_attr.
20718
7a40b8b1
JH
207192010-06-13 Jan Hubicka <jh@suse.cz>
20720
20721 * bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
20722 bitmap_and_compl_into, bitmap_compl_and_into, bitmap_ior,
20723 bitmap_ior_into, bitmap_xor, bitmap_xor_into,
223c6c5d
EB
20724 bitmap_ior_and_compl, bitmap_ior_and_compl): Turn internal
20725 datastructure checks into checking asserts.
7a40b8b1
JH
20726 * rtlanal.c (find_reg_note): Use gcc_checking_assert.
20727 * tree-ssa-sccvn.c (VN_INFO): Likewise.
20728 * df-scan.c (df_reorganize_refs_by_reg_by_reg, df_install_ref,
20729 df_ref_create_structure): Likewise.
20730 * alloc-pool.c (create_alloc_pool, empty_alloc_pool, pool_alloc,
20731 pool_free): Use gcc_checking_assert.
20732 * alias.c (get_alias_set): Likewise.
20733 * var-tracking.c (variable_htab_free, shared_hash_copy,
20734 canonicalize_values_mark, variable_merge_over_cur): Likewise.
20735 * lto-streamer.c (bp_unpack_value): Likewise.
20736
4a2ac96f
RG
207372010-06-13 Richard Guenther <rguenther@suse.de>
20738
20739 * lto-streamer-in.c (lto_input_ts_type_tree_pointers):
20740 Do not stream but initialize TYPE_CANONICAL to NULL.
20741 (lto_output_ts_type_tree_pointers): Do not stream TYPE_CANONICAL.
20742 * gimple.c (gimple_types_compatible_p): Disregard
20743 TYPE_STRUCTURAL_EQUALITY_P.
20744 (gimple_register_type): Use TYPE_CANONICAL as cache.
20745 * lto-streamer.c (lto_record_common_node): Zero TYPE_CANONICAL
20746 before registering common types.
20747 * config/i386/i386.c (ix86_function_arg_boundary): Do not
20748 use TYPE_CANONICAL, instead use TYPE_MAIN_VARIANT.
20749 * tree.h (TYPE_CANONICAL): Clarify documentation.
20750
ba90d838
AS
207512010-06-13 Anatoly Sokolov <aesok@post.ru>
20752
20753 * config/ia64/ia64.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
20754 LIBCALL_VALUE): Remove macros.
20755 * config/ia64/ia64-protos.h (ia64_function_value): Remove.
20756 * config/ia64/ia64.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
20757 TARGET_FUNCTION_VALUE_REGNO_P): Define.
20758 (ia64_libcall_value, ia64_function_value_regno_p): New functions.
20759 (ia64_function_value): Make static. Handle receiving the function
20760 type in 'fn_decl_or_type' argunent. Add 'outgoing' argument.
20761
9fcb01de
JH
207622010-06-12 Jan Hubicka <jh@suse.cz>
20763
20764 * cse.c (cse_extended_basic_block): Move optimize_bb_for_speed_p
20765 at correct place.
20766
f63a6726
BS
207672010-06-12 Bernd Schmidt <bernds@codesourcery.com>
20768
20769 * config/arm/arm.c (thumb2_reorg): Fix errors in previous change.
20770
e285df08
JH
207712010-06-12 Jan Hubicka <jh@suse.cz>
20772
20773 * df-core.c (df_clear_bb_info): New function.
20774 (df_set_blocks): bb_info is always allocated.
20775 (df_get_bb_info): Use block_info_elt_size.
20776 (df_set_bb_info): Likewise.
20777 (df_compact_blocks): Update for new block_info.
20778 (grow_bb_info): New function.
20779 * df-problems.c (df_grow_bb_info): Move to df-core.c
20780 (df_rd_set_bb_info): Remove.
20781 (df_rd_free_bb_info): Do not free block pool.
20782 (df_rd_alloc): Do not create pool, use check for
20783 obstack presence instead of NULL pointer for new blocks.
20784 (df_rd_free): DO not free alloc pool; clear block_info.
20785 (problem_RD): Add size of block info structure.
20786 (df_lr_set_bb_info): Remove.
20787 (df_lr_free_bb_info): Do not free block pool.
20788 (df_lr_alloc): Do not create pool, use check for
20789 obstack presence instead of NULL pointer for new blocks.
20790 (df_lr_free): DO not free alloc pool; clear block_info.
20791 (problem_LR): Add size of block info structure.
20792 (df_live_set_bb_info): Remove.
20793 (df_live_free_bb_info): Do not free block pool.
20794 (df_live_alloc): Do not create pool, use check for
20795 obstack presence instead of NULL pointer for new blocks.
20796 (df_live_free): DO not free alloc pool; clear block_info.
20797 (problem_LIVE): Add size of block info structure.
20798 (problem_CHAIN): Add size of block info structure.
20799 (df_byte_lr_set_bb_info): Remove.
20800 (df_byte_lr_free_bb_info): Do not free block pool.
20801 (df_byte_lr_alloc): Do not create pool, use check for
20802 obstack presence instead of NULL pointer for new blocks.
20803 (df_byte_lr_free): DO not free alloc pool; clear block_info.
20804 (problem_BYTE_LR): Add size of block info structure.
20805 (problem_NOTE): Add size of block info structure.
20806 (df_byte_MD_set_bb_info): Remove.
20807 (df_byte_MD_free_bb_info): Do not free block pool.
20808 (df_byte_MD_alloc): Do not create pool, use check for
20809 obstack presence instead of NULL pointer for new blocks.
20810 (df_byte_MD_free): DO not free alloc pool; clear block_info.
20811 (problem_BD): Add size of block info structure.
20812 * df-scan.c (df_scan_free_internal): Free block pool.
20813 (df_scan_set_bb_info): Remove.
20814 (df_scan_free_bb_info): Check for artificial_defs instead
20815 of bb_info being non-NULL.
20816 (df_scan_alloc): DO not create df_scan_block pool.
20817 (problem_SCAN): Set size of block info.
20818 (df_bb_refs_record): Do not allocate bb_info.
20819 * df.h (df_problem): Add block_info_elt_size.
20820 (struct dataflow): Change block_info to void *.
20821 (df_scan_get_bb_info, df_rd_get_bb_info, df_lr_get_bb_info,
20822 df_md_get_bb_info, df_live_get_bb_info, df_byte_lr_get_bb_info): Return
20823 in-line structures.
20824
02d635a2
JH
208252010-06-12 Jan Hubicka <jh@suse.cz>
20826
20827 PR tree-optimize/44485
223c6c5d
EB
20828 * tree-cfgcleanup.c (fixup_noreturn_call): Remove basic blocks
20829 containing use of return value of noreturn function.
02d635a2 20830
153a3027
AS
208312010-06-12 Anatoly Sokolov <aesok@post.ru>
20832
20833 * targhooks.c (default_function_value): Don't use
20834 FUNCTION_OUTGOING_VALUE.
20835 * system.h (FUNCTION_OUTGOING_VALUE): Poison.
20836 * doc/tm.texi (FUNCTION_OUTGOING_VALUE): Removed.
20837
48b09a92
KH
208382010-06-12 Kazu Hirata <kazu@codesourcery.com>
20839
f582a3aa
UB
20840 * config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*):
20841 Add crtfastmath.o to extra_parts.
48b09a92
KH
20842 * config/mips/crtfastmath.c: New.
20843 * config/mips/linux.h (ENDFILE_SPEC): New.
20844
b53cd1c5
SP
208452010-06-12 Sebastian Pop <sebastian.pop@amd.com>
20846
20847 * graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
20848 old_type in parameter.
20849 (gcc_type_for_value): Update call to gcc_type_for_interval.
20850 (compute_type_for_level_1): Renamed compute_type_for_level.
20851 Update call to gcc_type_for_interval.
20852
fcfbd84e
JM
208532010-06-11 Joseph Myers <joseph@codesourcery.com>
20854
20855 * common.opt (Wstrict-aliasing=, Wstrict-overflow=, fabi-version=,
f582a3aa 20856 flto-compression-level=, ftree-parallelize-loops=): Add RejectNegative.
fcfbd84e 20857
5d4b393f
JM
208582010-06-11 Joseph Myers <joseph@codesourcery.com>
20859
20860 * opts-common.c: Include options.h.
20861 (integral_argument): Move from opts.c.
20862 (decode_cmdline_option): New. Based on read_cmdline_option.
20863 * opts.c (integral_argument): Move to opts-common.c.
20864 (read_cmdline_option): Move most contents to
20865 decode_cmdline_option. Use %qs in diagnostics.
20866 * opts.h (CL_ERR_DISABLED, CL_ERR_MISSING_ARG, CL_ERR_WRONG_LANG,
20867 CL_ERR_UINT_ARG, struct cl_decoded_option, integral_argument,
20868 decode_cmdline_option): New.
20869
b79a08f6
UB
208702010-06-11 Uros Bizjak <ubizjak@gmail.com>
20871
20872 PR target/44481
20873 * config/i386/i386.md (UNSPEC_PARITY): New unspec.
f582a3aa 20874 (paritydi2_cmp): Use UNSPEC_PARITY unspec instead of parity RTX.
b79a08f6
UB
20875 (partiysi2_cmp): Ditto.
20876 (*partiyhi2_cmp): Ditto.
20877 (*parityqi2_cmp): Remove.
20878
d5568f03
JH
208792010-06-11 Jan Hubicka <jh@suse.cz>
20880
b79a08f6
UB
20881 * bitmap.h (bmp_iter_next_bit): New.
20882 (bmp_iter_set, bmp_iter_and, bmp_iter_and_compl): Use it.
d5568f03 20883
5914a70f 208842010-06-11 Sandra Loosemore <sandra@codesourcery.com>
f582a3aa 20885 Eric Botcazou <ebotcazou@adacore.com>
5914a70f
SL
20886
20887 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the
20888 computed cost.
20889
ed9955f9
UB
208902010-06-11 Uros Bizjak <ubizjak@gmail.com>
20891
20892 * config/i386/i386.md (unspec): New define_c_enum.
20893 (unspecv): Ditto.
20894
8e680db5
JJ
208952010-06-10 Jakub Jelinek <jakub@redhat.com>
20896
8e680db5
JJ
20897 * Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).
20898
7b14477e
SP
208992010-06-11 Sebastian Pop <sebastian.pop@amd.com>
20900
20901 PR middle-end/44483
20902 * tree-if-conv.c (bb_predicate_s): New struct.
20903 (bb_predicate_p): New.
20904 (bb_has_predicate): New.
20905 (bb_predicate): New.
20906 (set_bb_predicate): New.
20907 (bb_predicate_gimplified_stmts): New.
20908 (set_bb_predicate_gimplified_stmts): New.
20909 (add_bb_predicate_gimplified_stmts): New.
20910 (init_bb_predicate): New.
20911 (free_bb_predicate): New.
20912 (is_predicated): Use bb_predicate.
20913 (add_to_predicate_list): Use bb_predicate and set_bb_predicate.
20914 (predicate_bbs): Same. Gimplify the condition of the basic blocks
20915 before processing their successors.
20916 (clean_predicate_lists): Removed.
20917 (find_phi_replacement_condition): Use bb_predicate.
20918 (process_phi_nodes): Renamed ifconvert_phi_nodes. Avoid useless
20919 computations.
20920 (insert_gimplified_predicates): New.
20921 (combine_blocks): Call insert_gimplified_predicates.
20922 (tree_if_conversion): Call free_bb_predicate instead of
20923 clean_predicate_lists.
20924
f6e47b26 209252010-10-11 Paul Brook <paul@codesourcery.com>
ed9955f9 20926
f6e47b26
PB
20927 * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
20928 * config/arm/arm.c (all_architectures): Change v7e-m default to
20929 cortexm4.
20930 * config/arm/arm-cores.def: Add cortex-m4.
20931 * config/arm/arm-tune.md: Regenerate.
20932
0a42aa4e
JH
209332010-06-11 Jan Hubicka <jh@suse.cz>
20934
20935 * ipa-pure-const.c (special_builtlin_state): New function.
20936 (check_call): Use it instead of special casign BUILT_IN_RETURN.
20937 (propagate_pure_const): Use it.
20938
d725a1a5
JH
209392010-06-11 Jan Hubicka <jh@suse.cz>
20940
20941 * df-problems.c (df_live_scratch): Convert to bitmap_head.
20942 (df_live_alloc): Initialize df_live_scratch when initializing
20943 problem_data.
20944 (df_live_transfer_function): Update uses of df_live_scratch.
20945 (df_live_free): Free problem_data; clear df_live_scratch before
20946 releasing the obstack.
20947 (df_md_free): Free problem data.
20948
7ea6b6cf
JH
209492010-06-11 Jan Hubicka <jh@suse.cz>
20950
20951 * doc/invoke.texi (Wsuggest-attribute): Document.
20952 (Wmissing-noreturn): Remove.
20953 * ipa-pure-const.c (warn_function_noreturn): New function.
20954 * opts.c (decode_options): Set warn_suggest_attribute_noreturn on
20955 warn_missing_noreturn.
20956 * common.opt (Wsuggest-attribute=noreturn): New.
20957 * tree-flow.h (warn_function_noreturn): Declare.
20958 * tree-cfg.c (execute_warn_function_noreturn): Use
20959 warn_function_noreturn.
20960 (gate_warn_function_noreturn): New.
20961 (pass_warn_function_noreturn): Update.
20962
2ee3cb35
MLI
209632010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
20964
20965 * c-typeck.c (handle_warn_cast_qual): Add loc
20966 parameter. Improve warning message.
20967 (build_c_cast): Pass location to handle_warn_cast_qual.
20968
3d25c396
UB
209692010-06-11 Uros Bizjak <ubizjak@gmail.com>
20970
20971 * config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
20972 that operand 0 == operand 1. Use x86_maybe_negate_const_int to output
20973 insn mnemonic.
20974 (pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
20975
b66a8c5d
DS
209762010-06-10 Dodji Seketeli <dodji@redhat.com>
20977
20978 Fix bootstap on mips
20979 * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
20980 be naming typedefs.
20981
10d291f6
KT
209822010-06-11 Kai Tietz <kai.tietz@onevision.com>
20983
20984 * system.h (helper_const_non_const_cast): New inline for
20985 gcc version <= 4.0.
20986 (CONST_CAST2): For gcc version <= 4.0 use
20987 new helper to do const/non-const casting.
20988
0fe60a1b
RS
209892010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
20990
20991 * doc/md.texi: Document the "unspec" and "unspecv" enum names.
20992 * Makefile.in (OBJS-common): Include insn-enums.o.
20993 (insn-enums.o): New rule.
20994 (simple_generated_c): Add insn-enums.c.
20995 (build/genenums.o): New rule.
20996 (genprogmd): Add "enums".
20997 * genconstants.c (print_enum_type): Declare a C string array
20998 for each enum.
20999 * genenums.c: New file.
21000 * print-rtl.c (print_rtx): If defined, use the "unspecv" enum
21001 for UNSPEC_VOLATILE. If defined, use the "unspec" enum for both
21002 UNSPEC and (as a fallback) for UNSPEC_VOLATILE.
21003
8f4fe86c
RS
210042010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21005
21006 * doc/md.texi (define_enum_attr): Document.
21007 * rtl.def (DEFINE_ENUM_ATTR): New rtx.
21008 * read-md.h (lookup_enum_type): Declare.
21009 * read-md.c (lookup_enum_type): New function.
21010 * genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
21011 * genattrtab.c (attr_desc): Add an enum_name field.
21012 (evaluate_eq_attr): Take the associated attribute as argument.
21013 Get the enum prefix from the enum_name field, if defined.
21014 Use ACONCAT rather than a fixed-length buffer. Update recursive calls.
21015 (simplify_test_exp): Pass attr to evaluate_eq_attr.
21016 (add_attr_value): New function, split out from...
21017 (gen_attr): ...here. Handle DEFINE_ENUM_ATTR.
21018 (write_test_expr): Pass attr to evaluate_eq_attr.
21019 (write_attr_get): Use the enum_name as the enum tag, if defined.
21020 (write_attr_valueq): Use the enum_name as a prefix, if defined.
21021 (find_attr): Initialize enum_name.
21022 (main): Handle DEFINE_ENUM_ATTR.
21023 * gensupport.c (process_rtx): Likewise.
21024 * config/mips/mips.h (mips_tune_attr): Delete.
21025 * config/mips/mips.md (cpu): Use define_attr_enum.
21026
24609606
RS
210272010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21028
21029 * doc/md.texi (define_c_enum, define_enum): Document.
21030 * read-md.h (md_constant): Add a parent_enum field.
21031 (enum_value, enum_type): New structures.
21032 (upcase_string, traverse_enum_types): Declare.
21033 * read-md.c (enum_types): New variable.
21034 (upcase_string, add_constant): New functions.
21035 (handle_constants): Don't create the hash table here.
21036 Use add_constant.
21037 (traverse_md_constants): Don't check for a null md_constants.
21038 (decimal_string, handle_enum, traverse_enum_types): New functions.
21039 (read_md_files): Initialize md_constants and md_enums.
21040 * genconstants.c (print_md_constant): Ignore info argument.
21041 Only print constants that belong to no enum.
21042 (print_enum_type): New function.
21043 (main): Don't pass stdout to print_md_constant. Call print_enum_type
21044 for each defined enum type.
21045 * config/mips/mips.md (processor): New define_enum.
21046 (unspec): New define_c_enum.
21047 (UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
21048 (UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
21049 (UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
21050 (UNSPEC_MEMORY_BARRIER): Moved to sync.md.
21051 (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
21052 (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
21053 (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
21054 (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
21055 (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
21056 (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
21057 (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
21058 (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
21059 (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
21060 (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
21061 (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
21062 (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
21063 (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
21064 (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
21065 (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
21066 (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
21067 (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
21068 (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
21069 (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
21070 (UNSPEC_RDDSP): Move to mips-dsp.md.
21071 (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
21072 (UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
21073 (UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
21074 (UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
21075 (UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
21076 (UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
21077 (UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
21078 (UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
21079 (UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
21080 (UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
21081 (UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
21082 (UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
21083 (UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
21084 Moved to mips-dspr2.md.
21085 (UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
21086 (UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
21087 (UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
223c6c5d 21088 (UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Move from mips-ps-3d.md.
24609606
RS
21089 (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
21090 (UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
21091 (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
21092 (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
21093 (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
21094 (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
223c6c5d
EB
21095 (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
21096 UNSPEC_LOONGSON_PSADBH)
24609606
RS
21097 (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
21098 (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
21099 (UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
21100 (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
21101 (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
21102 (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
223c6c5d 21103 (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Move to mips-loongson2ef.md.
24609606
RS
21104 (cpu): Update comment.
21105 * config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
21106 (UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
21107 (UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
21108 (UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
223c6c5d
EB
21109 * config/mips/loongson.md (UNSPEC_LOONGSON_PAVG,
21110 UNSPEC_LOONGSON_PCMPEQ)
21111 (UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR,
21112 UNSPEC_LOONGSON_PINSR_0)
24609606
RS
21113 (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
21114 (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
21115 (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
21116 (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
223c6c5d
EB
21117 (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
21118 UNSPEC_LOONGSON_PSADBH)
24609606
RS
21119 (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
21120 (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
21121 (UNSPEC_LOONGSON_PSUBD): Moved from mips.md
21122 * config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
21123 (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
21124 (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
21125 (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
21126 * config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
21127 (UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
21128 (UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
21129 (UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
21130 (UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
21131 (UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
21132 (UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
21133 (UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
21134 (UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
21135 (UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
21136 (UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
21137 (UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
21138 (UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
21139 (UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
21140 (UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
21141 (UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
21142 (UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
21143 (UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
21144 (UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
21145 (UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
21146 (UNSPEC_RDDSP): Moved from mips.md.
21147 * config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
21148 (UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
21149 (UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
21150 (UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
21151 (UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
21152 (UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
21153 (UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
21154 (UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
21155 (UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
21156 (UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
21157 (UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
21158 (UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
21159 (UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
21160 (UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
21161 * config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
21162 (UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
21163 (UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
21164 (UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
21165 (UNSPEC_SCC): Moved from mips.md.
21166 * config/mips/mips.c (mips_arch, mips_tune): Change enum from
21167 "processor_type" to "processor".
21168 (mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
21169 * config/mips/mips.h (processor_type): Delete.
21170 (mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
21171 "processor_type" to "processor".
21172
c513ce77
RS
211732010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21174
21175 * configure.ac (tm_include_list): Add insn-constants.h.
21176 * configure: Regenerate.
21177 * Makefile.in (GTM_H): Move insn-constants.h here from...
21178 (TM_H): ...here.
21179 * mkconfig.sh: Remove special handling for insn-constants.h.
21180
9b68b6ea
RS
211812010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21182
21183 * Makefile.in (BUILD_RTL): Move build/read-md.o to...
21184 (BUILD_MD): ...this new variable.
21185 (simple_generated_rtl_h, simple_generated_rtl_c): New variables
21186 that include the old contents of simple_generated_h and
21187 simple_generated_c.
21188 (simple_generated_h, simple_generated_c): Include them. Add
21189 insn-constants.h.
21190 (s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
21191 and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
21192 Remove these dependencies from the main rule and include
21193 insn-conditions.md in the command line only if it appears
21194 in the dependency list.
21195 (insn-constants.h, s-constants): Delete.
21196 (build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
21197 or gensupport.h.
21198 (build/genmddeps.o): Likewise.
21199 (genprogrtl): New variable that contains everything from genprogmd
21200 except mddeps and constants.
21201 (genprogmd): Redefine in terms of genprogrtl. Make these programs
21202 depend on $(BUILD_MD)
21203 (genprog): New variable. Make these programs depend on
21204 $(BUILD_ERRORS).
21205 * genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
21206 (main): Use read_md_files instead of init_rtx_reader_args.
21207 * genconstants.c: As for genmddeps.c.
21208 * read-md.h (read_skip_construct): Declare.
21209 * read-md.c (read_skip_construct): New function.
21210 (handle_file): Allow a null handle_directive, skipping the
21211 construct if so.
21212 (parse_include): Update the comment accordingly.
21213
600ab3fc
RS
212142010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21215
21216 * Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
21217 * genmddeps.c: Include read-md.h.
21218 (main): Call init_rtx_reader_args instead of init_md_reader_args.
21219 * genattr.c (main): Likewise.
21220 * genattrtab.c (main): Likewise.
21221 * genautomata.c (main): Likewise.
21222 * gencodes.c (main): Likewise.
21223 * genconditions.c (main): Likewise.
21224 * genconfig.c (main): Likewise.
21225 * genconstants.c (main): Likewise.
21226 * genemit.c (main): Likewise.
21227 * genextract.c (main): Likewise.
21228 * genflags.c (main): Likewise.
21229 * genopinit.c (main): Likewise.
21230 * genoutput.c (main): Likewise.
21231 * genpeep.c (main): Likewise.
21232 * genrecog.c (main): Likewise.
21233 * genpreds.c (main): Likewise.
21234 * gensupport.h (in_fname): Move to read-md.h.
21235 (init_md_reader_args_cb): Rename to...
21236 (init_rtx_reader_args_cb): ...this and return a bool.
21237 (init_md_reader_args): Rename to...
21238 (init_rtx_reader_args): ...this and return a bool.
21239 (include_callback): Move to read-md.h.
21240 * gensupport.c (in_fname, include_callback, base_dir, max_include_len)
21241 (file_name_list, first_dir_md_include): Move to read-md.c
21242 (first_bracket_include): Delete unused variable.
21243 (last_dir_md_include): Move to read-md.c.
21244 (process_include): Delete, moving code to read-md.c:handle_include.
21245 (process_rtx): Don't handle INCLUDE.
21246 (save_string): Delete.
21247 (rtx_handle_directive): New function.
21248 (init_md_reader_args_cb): Rename to...
21249 (init_rtx_reader_args_cb): ...this and return a boolean success value.
21250 Use read_md_args.
21251 (init_md_reader_args): Rename to...
21252 (init_rtx_reader_args): ...this and return a boolean success value.
21253 * rtl.def (INCLUDE): Delete.
21254 * rtl.h (read_rtx): Remove "int *" argument. Add "const char *"
21255 argument.
21256 * read-rtl.c (read_conditions): Don't gobble ')' here.
21257 (read_mapping): Likewise.
21258 (read_rtx): Remove LINENO argument. Add RTX_NAME argument.
21259 Handle top-level non-rtx constructs here rather than in read_rtx_1.
21260 Store the whole queue in *X. Remove call to init_md_reader.
21261 (read_rtx_1): Rename to...
21262 (read_rtx_code): ...this. Call read_nested_rtx to read subrtxes.
21263 Don't handle top-level non-rtx constructs here. Don't handle (nil)
21264 here.
21265 (read_nested_rtx): New function. Handle (nil) here rather than
21266 in read_rtx_code.
21267 (read_rtx_variadic): Call read_nested_rtx to read subrtxes. Don't
21268 gobble ')' here.
21269 * read-md.h (directive_handler_t): New type.
21270 (in_fname, include_callback): Moved from read-md.h.
21271 (read_constants, init_md_reader): Delete.
21272 (read_md_files): Declare.
21273 * read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
21274 (last_dir_md_include_ptr, include_callback, max_include_len): Moved
21275 from gensupport.c.
21276 (read_constants): Rename to...
21277 (handle_constants): ...this. Don't gobble ')' here.
21278 (handle_include, handle_file, handle_toplevel_file)
21279 (parse_include): New functions, mostly taken from gensupport.c.
21280 (init_md_reader): Subsume into...
21281 (read_md_files): ...this new function.
21282
7f7c467f
RS
212832010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21284
21285 * read-md.h (read_char): Increment read_md_lineno after reading '\n'.
21286 (unread_char): Decrement read_md_lineno after putting back '\n'.
21287 * read-md.c (fatal_with_file_and_line): Push back any characters
21288 that we decide not to add to the context.
21289 (read_skip_spaces): Don't increment read_md_lineno here. Avoid using
21290 fatal_expected_char in cases where '/' ends a line (for example).
21291 (read_name): Don't increment read_md_lineno here.
21292 (read_escape): Likewise.
21293 (read_quoted_string): Likewise.
21294 (read_braced_string): Likewise.
21295
9f418533
RS
212962010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21297
21298 * Makefile.in (READ_MD_H): Add $(HASHTAB_H).
21299 (build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
21300 * genconstants.c: Include read-md.h.
21301 * read-rtl.c (md_constants): Move to read-md.c.
21302 (md_name): Move to read-md.h.
21303 (initialize_iterators): Use leading_string_hash instead of def_hash
21304 and leading_string_eq_p instead of def_name_eq_p.
21305 (read_name): Move to read-md.c.
21306 (def_hash, def_name_eq_p): Delete.
21307 (read_constants, traverse_md_constants): Move to read-md.c.
21308 * rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
21309 * read-md.h: Include hashtab.h.
21310 (md_name): Moved from read-rtl.c.
21311 (md_constant): Moved from read-md.h.
21312 (leading_string_hash, leading_string_eq_p, read_name)
21313 (read_constants, traverse_md_constants): Declare.
21314 * read-md.c (md_constants): Moved from read-rtl.c.
21315 (leading_string_hash, leading_string_eq_p): New functions.
21316 (read_name, read_constants, traverse_md_constants): Moved from
21317 read-rtl.c.
21318
82f8e3fd
RS
213192010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21320
21321 * read-rtl.c (md_name): New structure.
21322 (read_name): Take an md_name instead of a buffer pointer.
21323 Use the "string" field instead of strcpy when expanding constants.
21324 (read_constants): Remove the tmp_char argument. Update the calls
21325 to read_name, using two local name buffers instead of the tmp_char
21326 argument. Merge the constant-creation code.
21327 (read_conditions): Remove the tmp_char argument. Update the calls
21328 to read_name, using a local name buffer instead of the tmp_char
21329 argument.
21330 (read_mapping): Replace tmp_char variable with a local name buffer.
21331 Update the calls to read_name.
21332 (read_rtx_1): Likewise. Update the calls to read_constants and
21333 read_conditions.
21334
bb933490
RS
213352010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21336
21337 * Makefile.in (build/read-md.o): Depend on errors.h.
21338 * read-md.h (error_with_line): Declare.
21339 * read-md.c: Include errors.h.
21340 (message_with_line_1): New function, extracted from...
21341 (message_with_line): ...here.
21342 (error_with_line): New function.
21343 * genattrtab.c: If a call to message_with_line is followed by
21344 "have_error = 1;", replace both statements with a call to
21345 error_with_line.
21346 * genoutput.c: Likewise.
21347 * genpreds.c: Likewise.
21348 * genrecog.c: If a call to message_with_line is followed by
21349 "error_count++;", replace both statements with a call to
21350 error_with_line.
21351 (errorcount): Delete.
21352 (main): Don't check it.
21353 * gensupport.c: If a call to message_with_line is followed by
21354 "errors = 1;", replace both statements with a call to error_with_line.
21355 (errors): Delete.
21356 (process_define_cond_exec): Check have_error instead of errors.
21357 (init_md_reader_args_cb): Likewise. Don't set errors.
21358
c5e88b39
RS
213592010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21360
21361 * read-md.h (read_md_file): Declare.
21362 (read_char, unread_char): New functions.
21363 (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
21364 (read_quoted_string, read_string): Remove FILE * argument.
21365 * read-md.c (read_md_file): New variable.
21366 (read_md_filename, read_md_lineno): Update comments and remove
21367 unnecessary initialization.
21368 (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
21369 (read_escape, read_quoted_string, read_braced_string, read_string):
21370 Remove FILE * argument. Update calls accordingly, using read_char
21371 and unread_char instead of getc and ungetc.
21372 * rtl.h (read_rtx): Remove FILE * argument.
21373 * read-rtl.c (iterator_group): Remove FILE * argument from
21374 "find_builtin".
21375 (iterator_traverse_data): Remove "infile" field.
21376 (find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
21377 (add_mapping, read_name, read_constants, read_conditions)
21378 (validate_const_int, find_iterator, read_mapping, check_code_iterator)
21379 (read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
21380 Remove file arguments from all calls, using read_char and unread_char
21381 instead of getc and ungetc.
21382 * gensupport.c (process_include): Preserve read_md_file around
21383 the include. Set read_md_file to the handle of the included file.
21384 Update call to read_rtx.
21385 (init_md_reader_args_cb): Set read_md_file to the handle of the file
21386 and remove local FILE *. Update calls to read_rtx.
21387
d2a3ce4e
RS
213882010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21389
21390 * read-md.h (read_rtx_lineno): Rename to...
21391 (read_md_lineno): ...this.
21392 (read_rtx_filename): Rename to...
21393 (read_md_filename): ...this.
21394 (copy_rtx_ptr_loc): Rename to...
21395 (copy_md_ptr_loc): ...this.
21396 (print_rtx_ptr_loc): Rename to...
21397 (print_md_ptr_loc): ...this.
21398 * read-md.c: Likewise. Update references after renaming.
21399 (string_obstack): Replace RTL with MD in comment.
21400 (set_rtx_ptr_loc): Rename to...
21401 (set_md_ptr_loc): ...this.
21402 (get_rtx_ptr_loc): Rename to...
21403 (get_md_ptr_loc): ...this.
21404 * genconditions.c: Update references after renaming.
21405 * genemit.c: Likewise.
21406 * genoutput.c: Likewise.
21407 * genpreds.c: Likewise.
21408 * gensupport.c: Likewise.
21409 * read-rtl.c: Likewise.
21410
10692477
RS
214112010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
21412
21413 * Makefile.in (READ_MD_H): New variable.
21414 (BUILD_RTL): Add build/read-md.o.
21415 (lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
21416 (build/gensupport.o, build/read-rtl.o, build/genattr.o)
21417 (build/genattrtab.o, build/genconditions.o build/genemit.o)
21418 (build/genextract.o, build/genflags.o, build/genoutput.o)
21419 (build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
21420 (build/read-md.o): New rule.
21421 * defaults.h (obstack_chunk_alloc, obstack_chunk_free)
21422 (OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
21423 * coretypes.h: ...here.
21424 * lto-wrapper.c: Include coretypes.h instead of defaults.h.
21425 * pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
21426 * genattr.c: Include read-md.h.
21427 * genattrtab.c: Likewise.
21428 * genconditions.c: Likewise.
21429 * genemit.c: Likewise.
21430 * genextract.c: Likewise.
21431 * genflags.c: Likewise.
21432 * genoutput.c: Likewise.
21433 * genpreds.c: Likewise.
21434 * genrecog.c: Likewise.
21435 * rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
21436 (join_c_conditions, print_c_condition, read_rtx_filename)
21437 (read_rtx_lineno): Move to read-md.h.
21438 * read-rtl.c: Include read-md.h.
21439 (ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
21440 (joined_conditions, joined_conditions_obstack, read_rtx_lineno)
21441 (read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
21442 (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
21443 (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
21444 (print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
21445 (read_braced_string, read_string): Move to read-md.c.
21446 (read_rtx): Move some initialization to init_md_reader and call
21447 init_md_reader here.
21448 * gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
21449 Move to read-md.h.
21450 * gensupport.c: Include read-md.h.
3d25c396 21451 (message_with_line, n_comma_elts, scan_comma_elt): Move to read-md.c.
10692477
RS
21452 * read-md.h, read-md.c: New files.
21453
feab9982
AS
214542010-06-10 Anatoly Sokolov <aesok@post.ru>
21455
21456 * config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
21457 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
21458 * config/moxie/moxie-protos.h (moxie_function_value): Remove.
21459 * config/moxie/moxie.c (moxie_function_value): Make static.
21460 (moxie_libcall_value, moxie_function_value_regno_p): New functions.
21461 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
21462
567a4beb
MJ
214632010-06-10 Martin Jambor <mjambor@suse.cz>
21464
21465 * Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
21466 * dbgcnt.def (tree_sra): New counter.
21467 * tree-sra.c: Include dbgcnt.h.
21468 (gate_intra_sra): Check tree_sra debug counter.
21469
591d4f4a
MJ
214702010-06-10 Martin Jambor <mjambor@suse.cz>
21471
21472 PR tree-optimization/44258
21473 * tree-sra.c (build_access_subtree): Return false iff there is a
21474 partial overlap.
21475 (build_access_trees): Likewise.
21476 (analyze_all_variable_accesses): Disqualify candidates if
21477 build_access_trees returns true for them.
21478
b933b33a
AO
214792010-06-10 Alexandre Oliva <aoliva@redhat.com>
21480
21481 PR debug/41371
21482 * var-tracking.c (find_loc_in_1pdv): Remove recursion, only
21483 tail-recurse into canonical node. Fast-forward over
21484 non-canonical VALUEs.
21485
ff534e89
L
214862010-06-10 H.J. Lu <hongjiu.lu@intel.com>
21487
21488 PR boostrap/44470
21489 * config/i386/i386.md (*add<mode>_1): Revert revision 160394.
21490 (*addsi_1_zext) <TYPE_LEA>: Likewise.
21491 (add lea splitter): Likewise.
21492 (add_zext lea splitter): Likewise.
21493
1cb42611
JM
214942010-06-10 Joseph Myers <joseph@codesourcery.com>
21495
21496 * common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.
21497
29aba2bb
JH
214982010-06-10 Jan Hubicka <jh@suse.cz>
21499
21500 * df-problems.c (df_live_problem_data): Add live_bitmaps.
21501 (df_live_alloc): Initialize problem data and live_osbtacks.
21502 (df_live_finalize): Remove obstack, problem data; do not
21503 clear all bitmaps.
21504 (df_live_top_dump, df_live_bottom_dump): Do not dump old
21505 data when not allocated.
21506 (df_live_verify_solution_start): Do not allocate problem data.
21507 (df_live_verify_solution_end): Check if out is allocated.
21508 (struct df_md_problem_data): New structure.
21509 (df_md_alloc): Allocate problem data.
21510 (df_md_free): Free problem data; do not clear bitmaps.
21511
bfa912a8
JB
215122010-06-10 Jan Beulich <jbeulich@novell.com>
21513
2aa9a961 21514 PR bootstrap/37304
bfa912a8
JB
21515 * configure.ac: Replace $() with ${} when intending to expand
21516 variables rather than invoking commands.
21517 * configure: Re-generate.
21518
21d9971a
JH
215192010-06-10 Jan Hubicka <jh@suse.cz>
21520
fea87e28 21521 PR rtl-optimization/44460
3d25c396
UB
21522 * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
21523 TYPE_NEEDS_CONSTRUCTING sanity check.
21d9971a 21524
07a67d6a
GP
215252010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
21526
21527 * doc/include/fdl.texi: Move to GFDL version 1.3.
21528
21529 * doc/cpp.texi: Move to GFDL version 1.3.
21530 * doc/gcc.texi: Move to GFDL version 1.3. Fix copyright years.
21531 * doc/gccint.texi: Move to GFDL version 1.3.
21532 * doc/gcov.texi: Move to GFDL version 1.3. Update copyright years.
21533 * doc/install.texi: Move to GFDL version 1.3. Fix copyright years.
21534 * doc/invoke.texi: Move to GFDL version 1.3.
21535
15e80fc3
JH
215362010-06-09 Jan Hubicka <jh@suse.cz>
21537
21538 * ipa-pure-const.c (propagate_pure_const, propagate_noreturn):
21539 Break out from ...
21540 (propagate) ... here; swap the order.
21541
377002a9
JH
215422010-06-09 Jan Hubicka <jh@suse.cz>
21543
21544 * bitmap.c (bitmap_elt_insert_after, bitmap_first_set_bit,
21545 bitmap_first_set_bit, bitmap_last_set_bit, bitmap_last_set_bit,
21546 bitmap_and_into, bitmap_and_compl_into, bitmap_set_range,
21547 bitmap_compl_and_into, bitmap_elt_ior): Use checking asserts.
21548
50814135
CF
215492010-06-09 Changpeng Fang <changpeng.fang@amd.com>
21550
21551 * tree-ssa-loop-prefetch.c (gather_memory_references_ref):
21552 Do not the gather memory reference in the outer loop if the step
21553 is not a constant.
21554
f7963a7c
CF
215552010-06-09 Changpeng Fang <changpeng.fang@amd.com>
21556
3d25c396
UB
21557 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
21558 Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from
21559 8 to 4. Minor change of the related comments.
f7963a7c 21560
7472eb13
SP
215612010-06-09 Sebastian Pop <sebastian.pop@amd.com>
21562
21563 * tree-scalar-evolution.c (instantiate_scev_name): Do not fail
21564 the scev analysis when the variable is not used outside the loop
21565 in a close phi node: call compute_overall_effect_of_inner_loop.
21566
c12e2a5f
SP
215672010-06-09 Sebastian Pop <sebastian.pop@amd.com>
21568
21569 * graphite-sese-to-poly.c (single_pred_cond): Renamed
21570 single_pred_cond_non_loop_exit. Return NULL for loop exit edges.
21571 (build_sese_conditions_before): Renamed call to single_pred_cond.
21572 (build_sese_conditions_after): Same.
21573
072edf07
SP
215742010-06-09 Sebastian Pop <sebastian.pop@amd.com>
21575
21576 * graphite-poly.h: Fix comments and indentation.
21577 * graphite-sese-to-poly.c: Same.
21578 (build_sese_conditions_before): Compute stmt and gbb only when needed.
21579 * tree-chrec.c: Fix comments and indentation.
21580 (tree-ssa-loop-niter.c): Same.
21581
642d55de
EB
215822010-06-09 Eric Botcazou <ebotcazou@adacore.com>
21583
21584 PR rtl-optimization/42461
21585 * dce.c (deletable_insn_p): Return true for const or pure calls again.
21586 * except.c (insn_could_throw_p): Return false if !flag_exceptions.
21587
a2b709cc
JH
215882010-06-09 Jan Hubicka <jh@suse.cz>
21589
21590 * bitmap.c (bitmap_and): Walk array forward.
21591 (bitmap_and_compl_into): Likewise.
21592 (bitmap_xor): Likewise.
21593 (bitmap_xor_into): Likewise.
21594 (bitmap_equal_p): Likewise.
21595 (bitmap_intersect_p): Likewise.
21596 (bitmap_intersect_compl_p): Likewise.
21597 (bitmap_ior_and_into): Likewise.
21598 (bitmap_elt_copy): Likewise.
21599 (bitmap_and_compl): Likewise.
21600 (bitmap_elt_ior): Likewise.
21601
807303cf
DK
216022010-06-09 Dave Korn <dave.korn.cygwin@gmail.com>
21603
21604 * opts-common.c (prune_options): Ensure replacement argv array
21605 is correctly terminated by a NULL entry.
21606
06795261
JH
216072010-06-09 Jan Hubicka <jh@suse.cz>
21608
21609 * cgraph.h (varpool_first_static_initializer,
21610 varpool_next_static_initializer): Make checking only when
21611 checking enabled.
21612 * tree-vectorizer.h (vinfo_for_stmt): Remove check.
21613 (set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
21614 gcc_assert to gcc_checking_assert.
3d25c396
UB
21615 * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use,
21616 phi_nodes, set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
06795261 21617 op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
3d25c396
UB
21618 op_iter_init_phiuse, op_iter_init_phidef,
21619 array_ref_contains_indirect_ref, ref_contains_array_ref): Use
21620 gcc_checking_assert.
06795261
JH
21621 * emit-rtl.h (set_first_insn, set_last_insn): Likewise.
21622 * tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
21623 partition_is_global, live_on_entry, live_on_exit,
21624 live_merge_and_clear): Likewise.
21625 * system.h (gcc_checking_assert): New macro.
21626 * gimple.h (set_bb_seq): Use gcc_checking_assert.
21627
8d681dbf
JM
216282010-06-09 Jason Merrill <jason@redhat.com>
21629
21630 * Makefile.in (TAGS): Collect tags info from c-family.
21631
2bc0a660
JH
216322010-06-09 Jan Hubicka <jh@suse.cz>
21633
21634 * gimple.h (gcc_gimple_checking_assert): New macro.
3d25c396
UB
21635 (gimple_set_def_ops, gimple_set_use_ops,
21636 gimple_set_vuse, gimple_set_vdef,
21637 gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op,
21638 gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block,
21639 gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op,
21640 gimple_asm_output_op, gimple_asm_output_op_ptr,
21641 gimple_asm_set_output_op, gimple_asm_clobber_op,
21642 gimple_asm_set_clobber_op, gimple_asm_label_op,
21643 gimple_asm_set_label_op, gimple_try_set_kind,
21644 gimple_try_catch_is_cleanup, gimple_try_set_catch_is_cleanup,
21645 gimple_phi_arg, gimple_switch_num_labels, gimple_switch_set_index,
21646 gimple_switch_label, gimple_switch_set_label, gimple_omp_for_index,
21647 gimple_omp_for_index_ptr, gimple_omp_for_set_index,
21648 gimple_omp_for_initial, gimple_omp_for_initial_ptr,
21649 gimple_omp_for_set_initial, gimple_omp_for_final,
21650 gimple_omp_for_final_ptr, gimple_omp_for_set_final,
21651 gimple_omp_for_incr, gimple_omp_for_incr_ptr, gimple_omp_for_set_incr,
21652 gimple_omp_for_set_cond, gimple_omp_for_cond): Make checking
21653 conditional with ENABLE_GIMPLE_CHECKING.
21654 (gimple_phi_set_arg): Likewise; replace memcpy by assignment.
2bc0a660 21655
6521ac85
SL
216562010-06-09 Sandra Loosemore <sandra@codesourcery.com>
21657
21658 * tree-ssa-loop-ivopts.c (adjust_setup_cost): New function.
21659 (get_computation_cost_at): Use it.
21660 (determine_use_iv_cost_condition): Likewise.
21661 (determine_iv_cost): Likewise.
21662
76c85743
RG
216632010-06-09 Richard Guenther <rguenther@suse.de>
21664
21665 * tree-ssa-loop-niter.c (simplify_replace_tree): Do not
21666 replace constants.
21667
5d7eb7e2
KT
216682010-06-09 Kai Tietz <kai.tietz@onevision.com>
21669
21670 * c-objc-common.c (c_tree_printer): Pre-intialize t by NULL_TREE.
21671
1536b6ab
MJ
216722010-06-09 Martin Jambor <mjambor@suse.cz>
21673
21674 PR tree-optimization/44423
21675 * tree-sra.c (dump_access): Dump also grp_assignment_read.
21676 (analyze_access_subtree): Pass negative allow_replacements to children
21677 if the current type is scalar.
21678
f52d94aa 216792010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
2d7f5f9b
JR
21680
21681 PR testsuite/42843
21682 * gcc-plugin.h (int plugin_is_GPL_compatible): Declare as extern "C".
21683 * doc/plugins.texi (Plugin license check): Update information
21684 on type of plugin_is_GPL_compatible.
21685 * Makefile.in (PLUGINCC): Define as $(COMPILER).
21686 (PLUGINCFLAGS): Define as $(COMPILER_FLAGS).
21687
eef5973d
BS
216882010-06-09 Bernd Schmidt <bernds@codesourcery.com>
21689
21690 * config/arm/arm.c (thumb2_reorg): New function.
21691 (arm_reorg): Call it.
21692 * config/arm/thumb2.md (define_peephole2 for flag clobbering
21693 arithmetic operations): Delete.
21694
2cc0672a
EW
216952010-06-09 Edmar Wienskoski <edmar@freescale.com>
21696
21697 PR target/44067
21698 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
21699 e500v2 target.
21700
f1c3bf86
JR
217012010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
21702
2d7f5f9b 21703 PR plugins/44459
f1c3bf86
JR
21704 * gcc-plugin.h: Encapsulate all declarations in extern "C".
21705
a7280dfb
JH
217062010-06-08 Jan Hubicka <jh@suse.cz>
21707
21708 * basic-block.h (single_succ_edge, single_pred_edge, ei_container,
21709 ei_next, ei_prev): Do sanity checking with ENABLE_CHECKING only.
21710
e89065a1
SL
217112010-06-08 Sandra Loosemore <sandra@codesourcery.com>
21712
21713 PR tree-optimization/39874
21714 PR middle-end/28685
21715 * gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
21716 Declare.
21717 * gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
21718 same_bool_result_p): New.
21719 (and_var_with_comparison, and_var_with_comparison_1,
21720 and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
21721 (or_var_with_comparison, or_var_with_comparison_1,
21722 or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
21723 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
21724 maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
21725 of combine_comparisons.
21726 * tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.
21727
c547eb0d
AS
217282010-06-08 Anatoly Sokolov <aesok@post.ru>
21729
21730 * config/pdp11/pdp11.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
21731 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
55f9fe15
AS
21732 * config/pdp11/pdp11.c (pdp11_function_value, pdp11_libcall_value,
21733 pdp11_function_value_regno_p): New functions.
c547eb0d
AS
21734 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
21735 TARGET_FUNCTION_VALUE_REGNO_P): Define.
21736
29a551b3
KH
217372010-06-08 Kazu Hirata <kazu@codesourcery.com>
21738
21739 * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
21740 Thumb-2 in the MINUS case.
21741
a9429e29
LB
217422010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
21743
21744 * doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
21745
21746 * doc/gty.texi (GTY Options): Document typed GC allocation and
21747 variable_size GTY option.
21748
21749 * ggc-internal.h: New.
21750
21751 * ggc.h: Update copyright year.
21752 (digit_string): Move to stringpool.c.
21753 (ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
21754 (gt_pch_save_stringpool, gt_pch_fixup_stringpool)
21755 (gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
21756 (init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
21757 (ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
21758 (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
21759 (ggc_force_collect, ggc_get_size, ggc_statistics)
21760 (ggc_print_common_statistics): Move to ggc-internal.h.
21761 (digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
21762 (ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
21763 (GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
21764 (ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
21765 (ggc_min_heapsize_heuristic, ggc_alloc_zone)
21766 (ggc_alloc_zone_pass_stat): Remove.
21767 (ggc_internal_alloc_stat, ggc_internal_alloc)
21768 (ggc_internal_cleared_alloc_stat): New.
21769 (GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
21770 (ggc_internal_vec_alloc_stat)
21771 (ggc_internal_cleared_vec_alloc_stat)
21772 (ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
21773 (ggc_alloc_atomic_stat, ggc_alloc_atomic)
21774 (ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
21775 (ggc_cleared_alloc_ptr_array_two_args): New.
21776 (htab_create_ggc, splay_tree_new_ggc): Redefine.
21777 (ggc_splay_alloc): Change the type of the first argument to
21778 enum gt_types_enum.
21779 (ggc_alloc_string): Make macro.
21780 (ggc_alloc_string_stat): New.
21781 (ggc_strdup): Redefine.
21782 (rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
21783 (ggc_alloc_rtvec_sized): New.
21784 (ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
21785 (ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
21786 (ggc_internal_cleared_alloc_zone_stat)
21787 (ggc_internal_zone_alloc_stat)
21788 (ggc_internal_zone_cleared_alloc_stat)
21789 (ggc_internal_zone_vec_alloc_stat)
21790 (ggc_alloc_zone_rtx_def_stat)
21791 (ggc_alloc_zone_tree_node_stat)
21792 (ggc_alloc_zone_cleared_tree_node_stat)
21793 (ggc_alloc_cleared_gimple_statement_d_stat): New.
21794
21795 * ggc-common.c: Include ggc-internal.h.
21796 (ggc_internal_cleared_alloc_stat): Rename from
21797 ggc_alloc_cleared_stat.
21798 (ggc_realloc_stat): Use ggc_internal_alloc_stat.
21799 (ggc_calloc): Remove.
21800 (ggc_cleared_alloc_htab_ignore_args): New.
21801 (ggc_cleared_alloc_ptr_array_two_args): New.
21802 (ggc_splay_alloc): Add obj_type parameter.
21803 (init_ggc_heuristics): Formatting fixes.
21804
21805 * ggc-none.c: Update copyright year.
21806 (ggc_alloc_stat): Rename to ggc_alloc_stat.
21807 (ggc_alloc_cleared_stat): Rename to
21808 ggc_internal_cleared_alloc_stat.
21809 (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
21810
21811 * ggc-page.c: Update copyright year. Include ggc-internal.h.
21812 Remove references to ggc_alloc in comments.
21813 (ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
21814 (ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
21815 (new_ggc_zone, destroy_ggc_zone): Remove.
21816 (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
21817
21818 * ggc-zone.c: Include ggc-internal.h. Remove references to
21819 ggc_alloc in comments.
21820 (ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
21821 (ggc_internal_alloc_zone_pass_stat): New.
21822 (ggc_internal_cleared_alloc_zone_stat): New.
21823 (ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
21824 (ggc_alloc_stat): Rename ggc_internal_alloc_stat.
21825 (new_ggc_zone, destroy_ggc_zone): Remove.
21826
21827 * stringpool.c: Update copyright year. Include ggc-internal.h
21828 (digit_vector): Make static.
21829 (digit_string): Moved from ggc.h.
21830 (stringpool_ggc_alloc): Use ggc_alloc_atomic.
21831 (ggc_alloc_string): Rename to ggc_alloc_string_stat.
21832
21833 * Makefile.in (GGC_INTERNAL_H): New.
21834 (ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
21835 $(GGC_INTERNAL_H) to dependencies.
21836
21837 * gentype.c: Update copyright year.
21838 (walk_type): Accept variable_size GTY option.
21839 (USED_BY_TYPED_GC_P): New macro.
21840 (write_enum_defn): Use USED_BY_TYPED_GC_P. Do not output
21841 whitespace at the end of strings.
21842 (get_type_specifier, variable_size_p): New functions.
21843 (alloc_quantity, alloc_zone): New enums.
21844 (write_typed_alloc_def): New function.
21845 (write_typed_struct_alloc_def): Likewise.
21846 (write_typed_typed_typedef_alloc_def): Likewise.
21847 (write_typed_alloc_defns): Likewise.
21848 (output_typename, write_splay_tree_allocator_def): Likewise.
21849 (write_splay_tree_allocators): Likewise.
21850 (main): Call write_typed_alloc_defns and
21851 write_splay_tree_allocators.
21852
21853 * lto-streamer.h (lto_file_decl_data_ptr): New.
21854
21855 * passes.c (order): Define using cgraph_node_ptr.
21856
21857 * strinpool.c (struct string_pool_data): Declare nested_ptr using
21858 ht_identifier_ptr.
21859
21860 * gimple.h (union gimple_statement_d): Likewise.
21861
21862 * rtl.h (struct rtx_def): Likewise.
21863 (struct rtvec_def): Likewise.
21864
21865 * tree.h (union tree_node): Likewise.
21866
21867 * tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
21868
21869 * cfgloop.c (record_loop_exits): Use htab_create_ggc.
21870
21871 * tree-scalar-evolution.c (scev_initialize): Likewise.
21872
21873 * alias.c (record_alias_subset): Update splay_tree_new_ggc call.
21874
21875 * dwarf2asm.c (dw2_force_const_mem): Likewise.
21876
21877 * omp-low.c (lower_omp_critical): Likewise.
21878
21879 * bitmap.h (struct bitmap_head_def): Update comment to not
21880 reference ggc_alloc.
21881
21882 * config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
21883
21884 * ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
21885
21886 * ipa-prop.c (duplicate_ggc_array): Rename to
21887 duplicate_ipa_jump_func_array. Use typed GC allocation.
21888 (ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
21889
21890 * gimple.c (gimple_alloc_stat): Use
21891 ggc_alloc_cleared_gimple_statement_d_stat.
21892
21893 * varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
21894
21895 * tree.c (make_node_stat): Use
21896 ggc_alloc_zone_cleared_tree_node_stat.
21897 (make_tree_vec_stat): Likewise.
21898 (build_vl_exp_stat): Likewise.
21899 (copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
21900 (make_tree_binfo_stat): Likewise.
21901 (tree_cons_stat): Likewise.
21902
21903 * rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
21904 (shallow_copy_rtx_stat): Likewise.
21905 (make_node_stat): Likewise.
21906
21907 * lto-symtab.c: Fix comment.
21908
21909 * tree-cfg.c (create_bb): Update comment to not reference
21910 ggc_alloc_cleared.
3d25c396 21911 * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value.
a9429e29
LB
21912
21913 * varpool.c (varpool_node): Use typed GC allocation.
21914 (varpool_extra_name_alias): Likewise.
21915
21916 * varasm.c (emutls_decl): Likewise.
21917 (get_unnamed_section): Likewise.
21918 (get_noswitch_section): Likewise.
21919 (get_section): Likewise.
21920 (get_block_for_section): Likewise.
21921 (build_constant_desc): Likewise.
21922 (create_constant_pool): Likewise.
21923 (force_const_mem): Likewise.
21924
21925 * tree.c (build_vl_exp_stat): Likewise.
21926 (build_real): Likewise.
21927 (build_string): Likewise.
21928 (decl_debug_expr_insert): Likewise.
21929 (decl_value_expr_insert): Likewise.
21930 (type_hash_add): Likewise.
21931 (build_omp_clause): Likewise.
21932
21933 * tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
21934
21935 * tree-ssa.c (init_tree_ssa): Likewise.
21936
21937 * tree-ssa-structalias.c (heapvar_insert): Likewise.
21938
21939 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
21940
21941 * tree-ssa-loop-niter.c (record_estimate): Likewise.
21942
21943 * tree-ssa-alias.c (get_ptr_info): Likewise.
21944
21945 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
21946
21947 * tree-phinodes.c (allocate_phi_node): Likewise.
21948
21949 * tree-iterator.c (tsi_link_before): Likewise.
21950 (tsi_link_after): Likewise.
21951
21952 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
21953
21954 * tree-dfa.c (create_var_ann): Likewise.
21955
21956 * tree-cfg.c (create_bb): Likewise.
21957
21958 * toplev.c (alloc_for_identifier_to_locale): Likewise.
21959 (general_init): Likewise.
21960
21961 * stringpool.c (stringpool_ggc_alloc): Likewise.
21962 (gt_pch_save_stringpool): Likewise.
21963
21964 * sese.c (if_region_set_false_region): Likewise.
21965
21966 * passes.c (do_per_function_toporder): Likewise.
21967
21968 * optabs.c (set_optab_libfunc): Likewise.
21969 (set_conv_libfunc): Likewise.
21970
21971 * lto-symtab.c (lto_symtab_register_decl): Likewise.
21972
21973 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
21974 (input_eh_region): Likewise.
21975 (input_eh_lp): Likewise.
21976 (make_new_block): Likewise.
21977 (unpack_ts_real_cst_value_fields): Likewise.
21978
21979 * lto-section-in.c (lto_new_in_decl_state): Likewise.
21980
21981 * lto-cgraph.c (input_node_opt_summary): Likewise.
21982
21983 * loop-init.c (loop_optimizer_init): Likewise.
21984
21985 * lambda.h (lambda_vector_new): Likewise.
21986
21987 * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
21988
21989 * ira.c (update_equiv_regs): Likewise.
21990
21991 * ipa.c (cgraph_node_set_new): Likewise.
21992 (cgraph_node_set_add): Likewise.
21993 (varpool_node_set_new): Likewise.
21994 (varpool_node_set_add): Likewise.
21995
21996 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
21997 (duplicate_ipa_jump_func_array): Likewise.
21998 (ipa_read_node_info): Likewise.
21999
22000 * ipa-cp.c (ipcp_create_replace_map): Likewise.
22001
22002 * integrate.c (get_hard_reg_initial_val): Likewise.
22003
22004 * gimple.c (gimple_alloc_stat): Likewise.
22005 (gimple_build_omp_for): Likewise.
22006 (gimple_seq_alloc): Likewise.
22007 (gimple_copy): Likewise.
22008
22009 * gimple-iterator.c (gsi_insert_before_without_update): Likewise.
22010 (gsi_insert_after_without_update): Likewise.
22011
22012 * function.c (add_frame_space): Likewise.
22013 (insert_temp_slot_address): Likewise.
22014 (assign_stack_temp_for_type): Likewise.
22015 (allocate_struct_function): Likewise.
22016 (types_used_by_var_decl_insert): Likewise.
22017
22018 * except.c (init_eh_for_function): Likewise.
22019 (gen_eh_region): Likewise.
22020 (gen_eh_region_catch): Likewise.
22021 (gen_eh_landing_pad): Likewise.
22022 (add_call_site): Likewise.
22023
22024 * emit-rtl.c (get_mem_attrs): Likewise.
22025 (get_reg_attrs): Likewise.
22026 (start_sequence): Likewise.
22027 (init_emit): Likewise.
22028
22029 * dwarf2out.c (new_cfi): Likewise.
22030 (queue_reg_save): Likewise.
22031 (dwarf2out_frame_init): Likewise.
22032 (new_loc_descr): Likewise.
22033 (find_AT_string): Likewise.
22034 (new_die): Likewise.
22035 (add_var_loc_to_decl): Likewise.
22036 (clone_die): Likewise.
22037 (clone_as_declaration): Likewise.
22038 (break_out_comdat_types): Likewise.
22039 (new_loc_list): Likewise.
22040 (loc_descriptor): Likewise.
22041 (add_loc_descr_to_each): Likewise.
22042 (add_const_value_attribute): Likewise.
22043 (tree_add_const_value_attribute): Likewise.
22044 (add_comp_dir_attribute): Likewise.
22045 (add_name_and_src_coords_attributes): Likewise.
22046 (lookup_filename): Likewise.
22047 (store_vcall_insn): Likewise.
22048 (dwarf2out_init): Likewise.
22049
22050 * dbxout.c (dbxout_init): Likewise.
22051
22052 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
22053
22054 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
22055
22056 * config/score/score7.c (score7_output_external): Likewise.
22057
22058 * config/score/score3.c (score3_output_external): Likewise.
22059
22060 * config/s390/s390.c (s390_init_machine_status): Likewise.
22061
22062 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
22063 (rs6000_init_machine_status): Likewise.
22064 (output_toc): Likewise.
22065
22066 * config/pa/pa.c (pa_init_machine_status): Likewise.
22067 (get_deferred_plabel): Likewise.
22068
22069 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
22070
22071 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
22072
22073 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
22074
22075 * config/mep/mep.c (mep_init_machine_status): Likewise.
22076 (mep_note_pragma_flag): Likewise.
22077
22078 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
22079
22080 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
22081
22082 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
22083
22084 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
22085 (i386_pe_maybe_record_exported_symbol): Likewise.
22086
22087 * config/i386/i386.c (get_dllimport_decl): Likewise.
22088 (ix86_init_machine_status): Likewise.
22089 (assign_386_stack_local): Likewise.
22090
22091 * config/frv/frv.c (frv_init_machine_status): Likewise.
22092
22093 * config/darwin.c (machopic_indirection_name): Likewise.
22094
22095 * config/cris/cris.c (cris_init_machine_status): Likewise.
22096
22097 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
22098
22099 * config/avr/avr.c (avr_init_machine_status): Likewise.
22100
22101 * config/arm/arm.c (arm_init_machine_status): Likewise.
22102
22103 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
22104 (alpha_need_linkage): Likewise.
22105 (alpha_use_linkage): Likewise.
22106
22107 * cgraph.c (cgraph_allocate_node): Likewise.
22108 (cgraph_create_edge_1): Likewise.
22109 (cgraph_create_indirect_edge): Likewise.
22110 (cgraph_add_asm_node): Likewise.
22111
22112 * cfgrtl.c (init_rtl_bb_info): Likewise.
22113
22114 * cfgloop.c (alloc_loop): Likewise.
22115 (rescan_loop_exit): Likewise.
22116
22117 * cfg.c (init_flow): Likewise.
22118 (alloc_block): Likewise.
22119 (unchecked_make_edge): Likewise.
22120
22121 * c-parser.c (c_parse_init): Likewise.
22122 (c_parse_file): Likewise.
22123
22124 * c-decl.c (bind): Likewise.
22125 (record_inline_static): Likewise.
22126 (push_scope): Likewise.
22127 (make_label): Likewise.
22128 (lookup_label_for_goto): Likewise.
22129 (finish_struct): Likewise.
22130 (finish_enum): Likewise.
22131 (c_push_function_context): Likewise.
22132
22133 * bitmap.c (bitmap_element_allocate): Likewise.
22134 (bitmap_gc_alloc_stat): Likewise.
22135
22136 * alias.c (record_alias_subset): Likewise.
22137 (init_alias_analysis): Likewise.
22138
49c8958b 221392010-06-08 Shujing Zhao <pearly.zhao@oracle.com>
3d25c396 22140
49c8958b
SZ
22141 * fold-const.c (fold_comparison): Remove redundant parenthesis.
22142 * tree-inline.c (expand_call_inline): Pass translated return value of
22143 cgraph_inline_failed_string to diagnostic function.
22144
5dfebe0a 221452010-06-08 Andrew Pinski <pinskia@gmail.com>
6a8f4e12
AP
22146 Shujing Zhao <pearly.zhao@oracle.com>
22147
22148 PR c/37724
22149 * c-typeck.c (convert_for_assignment): Call pedwarn_init if the
22150 implicit bad conversions is initialization.
22151 (error_init): Use gmsgid instead of msgid for argument name and change
22152 the call for error.
22153 (pedwarn_init): Use gmsgid instead of msgid for argument name and
22154 change the call for pedwarn.
22155 (warning_init): Use gmsgid instead of msgid for argument name and
22156 change the call for warning.
22157
6e9e0126
NF
221582010-06-07 Nathan Froyd <froydnj@codesourcery.com>
22159
6a8f4e12 22160 * config/mips/mips-protos.h (mips_print_operand): Delete.
6e9e0126
NF
22161 (mips_print_operand_address): Delete.
22162 * config/mips/mips.h (mips_print_operand_punct): Delete.
22163 (PRINT_OPERAND): Delete.
22164 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
22165 (PRINT_OPERAND_ADDRESS): Delete.
22166 * config/mips/mips.c (mips_print_operand_punct): Make static.
22167 (mips_print_operand_address): Make static.
22168 (mips_print_operand): Make static. Call
22169 mips_print_operand_punct_valid_p.
22170 (mips_print_operand_punct_valid_p): New function.
22171 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
22172 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
22173
f2eff9f8
JH
221742010-06-07 Jan Hubicka <jh@suse.cz>
22175
22176 PR middle-end/44454
22177 (df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
22178 are allocated.
22179
10575b5d
KK
221802010-06-07 Kaz Kojima <kkojima@gcc.gnu.org>
22181
22182 * config/sh/sh.c (sh_build_builtin_va_list): Set tree type
22183 name of RECORD.
22184
659b24d6
RO
221852010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22186
22187 * doc/sourcebuild.texi (Effective-Target Keywords, Other
22188 attributes): Document gas.
22189
390b2b32
UB
221902010-06-07 Uros Bizjak <ubizjak@gmail.com>
22191
22192 * config/i386/i386.md (*add<mode>_1): Remove alternative 2.
22193 <TYPE_LEA>: Split instruction.
22194 <default>: Remove alternative 2 handling.
22195 (*addsi_1_zext) <TYPE_LEA>: Split instruction.
22196 (add lea splitter): Generate SImode lea for mode sizes <= SImode.
22197 (add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.
22198
22199 (*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
22200 (ashift_zext lea splitter): Use DImode for multiplication.
22201
22202 * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
22203 to generate addition.
22204
5498f011
JM
222052010-06-07 Joseph Myers <joseph@codesourcery.com>
22206
22207 * common.opt (fira-verbose): Use Var.
22208 (fpcc-struct-return): Use Init instead of VarExists.
22209 * defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
22210 toplev.c.
22211 * flags.h (flag_signed_char, flag_short_enums,
22212 flag_pcc_struct_return, flag_ira_verbose,
3d25c396 22213 flag_detailed_statistics, flag_remove_unreachable_functions): Remove.
5498f011 22214 * toplev.c (flag_detailed_statistics, flag_signed_char,
390b2b32 22215 flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove.
5498f011
JM
22216 (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
22217 * toplev.h (flag_crossjumping, flag_if_conversion,
22218 flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
22219 flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
22220 flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
22221 flag_cprop_registers, time_report, flag_ira_loop_pressure,
22222 flag_ira_coalesce, flag_ira_move_spills,
22223 flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
22224
e7f96023
JH
222252010-06-07 Jan Hubicka <jh@suse.cz>
22226
f2580bd8
L
22227 * df-core.c (df_analyze_problem): Do verification after allocation.
22228
e7f96023
JH
22229 * df-problems.c (df_lr_problem_data): Add lr_bitmaps.
22230 (df_lr_alloc): Initialize problem data; move bitmaps to
22231 lr_bitmaps obstack.
22232 (df_lr_finalize): Free problem data; do not bother to free bitmaps.
22233 (df_lr_verify_solution_start): Do not initialize problem data;
22234 allocate bitmaps in lr_bitmaps.
22235 (df_lr_verify_solution_end): Do not free problem data.
22236
f10ea640
JH
222372010-06-07 Jan Hubicka <jh@suse.cz>
22238
22239 * cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
22240 if caller is noreturn.
22241 * ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
22242 * ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
22243 * ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
22244 * ipa-pure-const.c (check_decl): Add IPA parameter.
22245 (state_from_flags): New function.
22246 (better_state, worse_state): New functions.
22247 (check_call): When in IPA mode, do not care about callees.
22248 (check_load, check_store): Update.
22249 (check_ipa_load, check_ipa_store): New.
22250 (check_stmt): When in IPA mode, use IPA checkers.
22251 (analyze_function): Use state_from_flags.
22252 (propagate): Check indirect edges and references.
22253
5e52ffc4
KH
222542010-06-07 Kazu Hirata <kazu@codesourcery.com>
22255
22256 PR rtl-optimization/44404
22257 * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
3d25c396 22258 of count_occurrences to see if it's safe to modify mem_insn.
5e52ffc4 22259
ae0595b0
RG
222602010-06-07 Richard Guenther <rguenther@suse.de>
22261
22262 * gimplify.c (gimplify_cleanup_point_expr): For empty body
22263 and EH-only cleanup drop the cleanup instead of inserting it
22264 unconditionally.
22265
35e1a5e7
IR
222662010-06-07 Ira Rosen <irar@il.ibm.com>
22267
22268 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
22269 documentation.
22270 * targhooks.c (default_builtin_vectorization_cost): New function.
22271 * targhooks.h (default_builtin_vectorization_cost): Declare.
22272 * target.h (enum vect_cost_for_stmt): Define.
22273 (builtin_vectorization_cost): Change argument and comment.
22274 * tree-vectorizer.h: Remove cost model macros.
22275 * tree-vect-loop.c: Include target.h.
22276 (vect_get_cost): New function.
22277 (vect_estimate_min_profitable_iters): Replace cost model macros with
22278 calls to vect_get_cost.
22279 (vect_model_reduction_cost, vect_model_induction_cost): Likewise.
22280 * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Add
22281 default implementation.
22282 * tree-vect-stmts.c (cost_for_stmt): Replace cost model macros with
22283 calls to target hook builtin_vectorization_cost.
22284 (vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
22285 Likewise.
22286 * Makefile.in (tree-vect-loop.o): Add dependency on TARGET_H.
22287 * config/spu/spu.c (spu_builtin_vectorization_cost): Replace with new
22288 implementation to return costs.
22289 * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
22290 * config/spu/spu.h: Remove vectorizer cost model macros.
22291 * config/i386/i386.h: Likewise.
22292 * tree-vect-slp.c (vect_build_slp_tree): Replace cost model macro with
22293 a call to target hook builtin_vectorization_cost.
22294
81c566c2
ST
222952010-06-06 Sriraman Tallam <tmsriram@google.com>
22296
22297 PR target/44319
22298 * config/i386/i386.c (override_options): Turn zee pass on for level 2
22299 and above and defer till target is known.
22300 (optimization_options): Turn on zee pass if TARGET_64BIT is set and
22301 turn off otherwise.
390b2b32 22302
a7e3698d
JH
223032010-05-25 Jan Hubicka <jh@suse.cz>
22304
22305 * df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
22306 (df_compact_blocks): Likewise.
22307 * df.h (struct df): Turn hardware_regs_used,
22308 regular_block_artificial_uses, eh_block_artificial_uses,
22309 insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
22310 bitmap_head.
22311 * df-problems.c (df_lr_local_compute, df_lr_confluence_0,
22312 df_byte_lr_alloc, df_simulate_fixup_sets): Update.
22313 * df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
22314 df_scan_blocks, df_insn_delete, df_insn_rescan,
22315 df_insn_rescan_debug_internal, df_insn_rescan_all,
22316 df_process_deferred_rescans, df_process_deferred_rescans,
22317 df_notes_rescan, df_get_call_refs, df_get_call_refs,
22318 regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
22319 df_record_entry_block_defs, df_record_exit_block_uses,
22320 df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
22321 df_scan_verify): Update.
22322
e62b90b4
DS
223232010-05-25 Dodji Seketeli <dodji@redhat.com>
22324
22325 PR c++/44188
22326 * c-common.c (is_typedef_decl): Move this definition ...
22327 * tree.c (is_typedef_decl): ... here.
eed023cc 22328 (typdef_variant_p): Move definition here from cp/tree.c.
e62b90b4
DS
22329 * c-common.h (is_typedef_decl): Move this declaration ...
22330 * tree.h (is_typedef_decl): ... here.
eed023cc 22331 (typedef_variant_p): Move declaration here from cp/cp-tree.h
e62b90b4
DS
22332 * dwarf2out.c (is_naming_typedef_decl): New function.
22333 (gen_tagged_type_die): Split out of ...
22334 (gen_type_die_with_usage): ... this function. When an anonymous
22335 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
22336 is emitted for the typedef.
22337 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
22338 anonymous tagged types.
22339
04087cd0
MLI
223402010-06-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
22341
22342 PR c/20000
390b2b32 22343 * c-decl.c (grokdeclarator): Delete warning.
04087cd0 22344
f7b4a383
EB
223452010-06-06 Eric Botcazou <ebotcazou@adacore.com>
22346
22347 * stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the
22348 newly built CALL_EXPR.
df2a52a6
EB
22349 * tree-profile.c (tree_profiling): Don't profile functions produced
22350 for built-in stuff.
f7b4a383 22351
346967d1
SB
223522010-06-06 Segher Boessenkool <segher@kernel.crashing.org>
22353
22354 PR bootstrap/44427
22355 PR bootstrap/44428
3333e146 22356 * genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
346967d1
SB
22357 endianness-independent.
22358
39dabefd
SB
223592010-06-05 Steven Bosscher <steven@gcc.gnu.org>
22360
22361 * c-common.c: Move to c-family/.
22362 * c-common.def: Likewise.
22363 * c-common.h: Likewise.
22364 * c-cppbuiltin.c: Likewise.
22365 * c-dump.c: Likewise.
22366 * c-format.c: Likewise.
22367 * c-format.h : Likewise.
22368 * c-gimplify.c: Likewise.
22369 * c-lex.c: Likewise.
22370 * c-omp.c: Likewise.
22371 * c.opt: Likewise.
22372 * c-opts.c: Likewise.
22373 * c-pch.c: Likewise.
22374 * c-ppoutput.c: Likewise.
22375 * c-pragma.c: Likewise.
22376 * c-pragma.h: Likewise.
22377 * c-pretty-print.c: Likewise.
22378 * c-pretty-print.h: Likewise.
22379 * c-semantics.c: Likewise.
22380 * stub-objc.c: Likewise.
22381
22382 * gengtype.c (get_file_langdir): Special-case files in c-family/.
22383 (get_output_file_with_visibility): Fix name for c-common.h.
22384 * c-config-lang.in: Update paths in gtfiles for files in c-family/.
22385
22386 * c-tree.h: Update include path for moved files.
22387 * c-lang.c: Likewise.
22388 * c-lang.h: Likewise.
22389 * c-parser.c: Likewise.
22390 * c-convert.c: Likewise.
22391 * c-decl.c: Likewise.
22392 * c-objc-common.c: Likewise.
22393 * configure.ac: Make sure c-family/ exists in the build directory.
22394 * configure: Regenerate.
22395 * Makefile.in: Update paths for moved files. Regroup files per
22396 location and update dependencies. Move generated_files down after
22397 ALL_GTFILES_H.
22398
22399 * config/spu/spu-c.c: Update paths for moved files.
22400 * config/mep/mep-pragma.c: Likewise.
22401 * config/darwin-c.c: Likewise.
22402 * config/i386/msformat-c.c: Likewise.
22403 * config/i386/i386-c.c: Likewise.
22404 * config/avr/avr-c.c: Likewise.
22405 * config/sol2-c.c: Likewise.
22406 * config/ia64/ia64-c.c: Likewise.
22407 * config/rs6000/rs6000-c.c: Likewise.
22408 * config/arm/arm.c: Likewise.
22409 * config/arm/arm-c.c: Likewise.
22410 * config/h8300/h8300.c: Likewise.
22411 * config/v850/v850-c.c: Likewise.
22412
22413 * config/t-darwin: Fix dependencies for moved files.
22414 * config/t-sol2: Fix dependencies for moved files.
22415 * config/mep/t-mep: Fix dependencies for moved files.
22416 * config/ia64/t-ia64: Fix dependencies for moved files.
22417 * config/rs6000/t-rs6000: Fix dependencies for moved files.
22418 * config/v850/t-v850: Fix dependencies for moved files.
22419 * config/v850/t-v850e: Fix dependencies for moved files.
22420
22421 * config/m32c/m32c-pragma.c
22422
22423 * po/exgettext: Look in c-family/ also.
22424
ad06ee51
EB
224252010-06-05 Eric Botcazou <ebotcazou@adacore.com>
22426
22427 * tree-ssa-dce.c (mark_last_stmt_necessary): New function.
22428 (mark_control_dependent_edges_necessary): Call it instead of marking
22429 the last statement manually.
22430 (propagate_necessity): Likewise.
22431
0fc555fb
JH
224322010-06-05 Jan Hubicka <jh@suse.cz>
22433
6903fcbd
L
22434 * basic-block.h (compute_dominance_frontiers): Updated.
22435 (compute_idf): Likewise.
22436
0fc555fb
JH
22437 * tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
22438 for dominance frontiers.
3d25c396 22439 (rewrite_into_ssa): Update for bitmap heads in dominance frontiers.
0fc555fb
JH
22440 (insert_updated_phi_nodes_for): Likewise.
22441 (update_ssa): Likewise.
22442 * cfganal.c (compute_dominance_frontiers_1): Likewise.
22443 (compute_dominance_frontiers): Likewise.
22444 (compute_idf): Likewise.
22445 * df-problems.c (df_md_local_compute): Likewise.
22446
f5c21ef3
AS
224472010-06-05 Anatoly Sokolov <aesok@post.ru>
22448
22449 * target.h (struct gcc_target): Add memory_move_cost field.
22450 * target-def.h (TARGET_MEMORY_MOVE_COST): New.
22451 (TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
22452 * targhooks.c (default_memory_move_cost): New function.
22453 * targhooks.h (default_memory_move_cost): Declare function.
22454 * reload.h (memory_move_cost): Declare.
22455 (memory_move_secondary_cost): Change type of 'in' argument to bool.
22456 * reginfo.c (memory_move_cost): New function.
22457 (memory_move_secondary_cost): Change type of 'in' argument to bool.
22458 * ira.h (ira_memory_move_cost): Update comment.
bd3a5d17 22459 * ira.c (ira_memory_move_cost): Update comment.
f5c21ef3
AS
22460 (setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
22461 with memory_move_cost.
22462 * postreload.c (reload_cse_simplify_set): (Ditto.).
22463 * reload1.c (choose_reload_regs): (Ditto.).
22464 * doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
22465 (MEMORY_MOVE_COST): Revise documentation.
22466
22467 * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
22468 * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
22469 * config/i386/i386.h (ix86_memory_move_cost): Make static. Change
22470 type of 'in' argument to bool.
22471 (TARGET_MEMORY_MOVE_COST): Define.
22472
da8c7675
JH
224732010-06-05 Jan Hubicka <jh@suse.cz>
22474
ad06ee51
EB
22475 * ipa-pure-const.c (propagate): Fix typo in handling of functions
22476 that cannot return. Be more careful when merging the results with
22477 previously known ones.
da8c7675 22478
c1ce46a5
MK
224792010-06-05 Matthias Klose <doko@ubuntu.com>
22480
22481 * gcc.c (cc1_options, cpp_unique_options): Use find-plugindir spec
22482 function to add the -iplugindir option.
22483 (find_plugindir_spec_function): Add new declaration and function.
22484 (static_spec_func): Use it for "find-plugindir".
22485
82c3c067
JJ
224862010-06-05 Jakub Jelinek <jakub@redhat.com>
22487
22488 PR c++/44361
22489 * c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
22490 * c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
22491 statement expression.
22492
5c72d561
JH
224932010-06-05 Jan Hubicka <jh@suse.cz>
22494
22495 * df-problems.c (seen_in_block, seen_in_insn): Convert to bitmap_head.
22496 (df_rd_problem_data): Convert sparse_invalidated_by_call,
22497 dense_invalidated_by_call to bitmap head.
22498 (df_rd_alloc, df_rd_bb_local_compute_process_def,
22499 df_rd_bb_local_compute, df_rd_confluence_n, df_rd_transfer_function,
22500 df_rd_start_dump, df_lr_verify_transfer_functions,
22501 df_live_verify_transfer_functions, df_chain_create_bb,
22502 df_chain_add_problem, df_byte_lr_check_regs, df_byte_lr_alloc,
22503 df_byte_lr_confluence_0, df_byte_lr_confluence_n, df_note_compute,
389caea8
EB
22504 df_simulate_one_insn_forwards, df_md_alloc,
22505 df_md_bb_local_compute_process_def,
22506 df_md_bb_local_compute_process_def, df_md_local_compute,
22507 df_md_transfer_function df_md_free): Update.
5c72d561 22508
f2c1da78
JM
225092010-06-05 Joseph Myers <joseph@codesourcery.com>
22510
22511 PR c/44322
22512 * c-typeck.c (build_unary_op): Merge qualifiers into pointer
22513 target type for ADDR_EXPR; require no changes to qualifiers except
22514 for function types.
22515 * c-tree.h (c_build_type_variant): Remove.
22516
4af89b88
SB
225172010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
22518
389caea8 22519 * genautomata.c (get_excl_set): Do work per element, not per char.
4af89b88
SB
22520 (check_presence_pattern_sets): Similar.
22521 (check_absence_pattern_sets): Similar.
22522
99d98200
SB
225232010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
22524
22525 * genautomata.c (curr_state_pass_num): Delete.
22526 (min_issue_delay_pass_states): Delete.
22527 (min_issue_delay): Delete.
22528 (initiate_min_issue_delay_pass_states): Delete.
22529 (output_min_issue_delay_table): Compute min_issue_delay_vect
22530 using a breadth-first search variant.
22531 (output_tables): Don't call initiate_min_issue_delay_pass_states.
22532
c69d3a0e
L
225332010-06-04 H.J. Lu <hongjiu.lu@intel.com>
22534
22535 PR boostrap/44421
390b2b32 22536 * df-problems.c (df_lr_bb_local_compute): Updated for embedded bitmaps.
c69d3a0e
L
22537 (df_byte_lr_bb_local_compute): Likewise.
22538
0a766368
JM
225392010-06-03 Jason Merrill <jason@redhat.com>
22540
22541 Implement noexcept operator (5.3.7)
22542 * c-common.c (c_common_reswords): Add noexcept.
22543 * c-common.h (enum rid): Add RID_NOEXCEPT.
22544
bdc6b402
JM
225452010-06-04 Joseph Myers <joseph@codesourcery.com>
22546
22547 * config/darwin-driver.c (darwin_default_min_version): Use
9f7b464b 22548 GCC-specific formats in diagnostics.
bdc6b402
JM
22549 * cppspec.c (lang_specific_driver): Use GCC-specific formats in
22550 diagnostics.
22551 * gcc.c (translate_options, read_specs, add_sysrooted_prefix,
22552 execute, process_command, end_going_arg, do_self_spec, do_spec_1,
22553 eval_spec_function, handle_braces, process_brace_body, main,
22554 perror_with_name, used_arg, set_multilib_dir, print_multilib_info,
22555 getenv_spec_function, compare_version_strings,
22556 version_compare_spec_function): Use GCC-specific formats in
22557 diagnostics.
22558
7d1f0f8a
UB
225592010-06-04 Uros Bizjak <ubizjak@gmail.com>
22560
22561 * config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
22562 that operand 0 and operand 1 are equal.
22563 (*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
22564 (*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
22565 and operand 1 are equal.
390b2b32 22566 <default>: Ditto. Remove ??? comment.
7d1f0f8a
UB
22567 (*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
22568 and operand 1 are equal.
390b2b32
UB
22569 <default>: Ditto. Remove ??? comment.
22570 (*adddi_4) <default>: Remove assert that operand 0 and operand 1
7d1f0f8a
UB
22571 are equal.
22572 (*add<mode>_4) <default>: Ditto.
22573 (*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
22574
6b3c42ae
NF
225752010-06-04 Nathan Froyd <froydnj@codesourcery.com>
22576
22577 * config/i386/i386-protos.h (ix86_print_operand): Declare.
22578 * config/i386/i386.c (ix86_print_operand): Make non-static.
22579 * config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
22580 * output.h (output_operand): Declare.
22581 * final.c (output_operand): Make non-static.
22582
0fa43fb7
AO
225832010-06-04 Alexandre Oliva <aoliva@redhat.com>
22584
39e7207a
AO
22585 PR rtl-optimization/44013
22586 * sched-deps.c (add_dependence_list_and_free): Don't free lists
22587 when processing debug insns.
22588
0fa43fb7
AO
22589 PR debug/41371
22590 * var-tracking.c (find_loc_in_1pdv): Mark initial value before
22591 recursing. Check that recursion is bounded. Rename inner var
22592 to avoid hiding incoming argument.
22593
ad1f7916
UB
225942010-06-04 Uros Bizjak <ubizjak@gmail.com>
22595
7d1f0f8a
UB
22596 * config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
22597 operands[2] == 255.
ad1f7916
UB
22598 (*addqi_3): Ditto.
22599 (*addqi_4): Ditto.
22600 (*addqi_5): Ditto.
22601 (*addqi_ext_1_rex64): Ditto.
22602 (*addqi_ext_1): Ditto.
22603
22604 (*addqi_4): Check for incdec_operand in QImode.
22605
22606 (*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
22607 using SWI mode iterator.
22608 (*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
22609 (*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
22610 mode iterator.
22611 (*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
22612 using SWI mode iterator.
22613
49706e39
MLI
226142010-06-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
22615
22616 PR c/25880
22617 * c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
22618 * c-format.c (gcc_diag_flag_specs): Add hash.
22619 (gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
22620 (gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
22621 * c-pretty-print.c (pp_c_cv_qualifier): Rename as
22622 pp_c_cv_qualifiers. Handle qualifiers spelling here.
22623 (pp_c_type_qualifier_list): Call the function above.
22624 * c-pretty-print.h (pp_c_cv_qualifiers): Declare.
22625 * c-typeck.c (handle_warn_cast_qual): Print qualifiers.
22626 (WARN_FOR_QUALIFIERS): New macro.
22627 (convert_for_assignment): Use it.
22628
b13ea8bd
KT
226292010-06-04 Kai Tietz <kai.tietz@onevision.com>
22630
ad1f7916 22631 * config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
b13ea8bd 22632
b33a91c9
JH
226332010-06-04 Jan Hubicka <jh@suse.cz>
22634
22635 * df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
22636 df_byte_lr_bb_info): Embedd bitmap_head into the structure.
22637 (DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
22638 DF_BYTE_LR_OUT): Update for embedded bitmaps.
22639 * fwprop.c (single_def_use_enter_block): Likewise.
22640 * ddg.c (create_ddg_dep_from_intra_loop_link,
22641 add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
22642 * loop-iv.c (latch_dominating_def): Likewise.
22643 * df-problems.c (df_rd_free_bb_info, df_rd_alloc,
22644 df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
22645 df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
22646 df_rd_transfer_function, df_rd_top_dump,
22647 df_rd_bottom_dump): Update.
22648 (df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
22649 df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
22650 df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
22651 df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
22652 df_lr_verify_solution_start, df_lr_verify_solution_end,
22653 df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
22654 df_live_free_bb_info, df_live_alloc, df_live_reset,
22655 df_live_bb_local_compute, df_live_init, df_live_transfer_function,
22656 df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
22657 df_live_verify_solution_start, df_live_verify_solution_end,
22658 df_live_verify_transfer_functions, df_chain_create_bb,
22659 df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
22660 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
22661 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
22662 df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
22663 df_byte_lr_confluence_0, df_byte_lr_confluence_n,
22664 df_byte_lr_transfer_function, df_byte_lr_top_dump,
22665 df_byte_lr_bottom_dump, df_create_unused_note,
22666 df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
22667 df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
22668 df_md_transfer_function, df_md_init, df_md_confluence_0,
22669 df_md_confluence_n,
ad1f7916
UB
22670 df_md_top_dump, df_md_bottom_dump): Update.
22671 (struct df_lr_problem_data): Embedd bitmap headers.
b33a91c9 22672
f251709a
JH
226732010-06-04 Jan Hubicka <jh@suse.cz>
22674
ad1f7916
UB
22675 * dce.c (dce_process_block): Do not re-scan already marked
22676 instructions.
f251709a 22677
8ff49c29
BS
226782010-06-04 Bernd Schmidt <bernds@codesourcery.com>
22679
22680 PR rtl-optimization/39871
22681 PR rtl-optimization/40615
22682 PR rtl-optimization/42500
22683 PR rtl-optimization/42502
22684 * ira.c (init_reg_equiv_memory_loc: New function.
22685 (ira): Call it twice.
22686 * reload.h (calculate_elim_costs_all_insns): Declare.
22687 * ira-costs.c: Include "reload.h".
22688 (regno_equiv_gains): New static variable.
22689 (init_costs): Allocate it.
22690 (finish_costs): Free it.
22691 (ira_costs): Call calculate_elim_costs_all_insns.
22692 (find_costs_and_classes): Take estimated elimination costs
22693 into account.
22694 (ira_adjust_equiv_reg_cost): New function.
22695 * ira.h (ira_adjust_equiv_reg_cost): Declare it.
22696 * reload1.c (init_eliminable_invariants, free_reg_equiv,
ad1f7916 22697 elimination_costs_in_insn, note_reg_elim_costly): New static functions.
8ff49c29
BS
22698 (elim_bb): New static variable.
22699 (reload): Move code out of here into init_eliminable_invariants and
22700 free_reg_equiv. Call them.
22701 (calculate_elim_costs_all_insns): New function.
22702 (eliminate_regs_1): Declare. Add extra arg FOR_COSTS;
22703 all callers changed. If FOR_COSTS is true, don't call alter_reg,
22704 but call note_reg_elim_costly if we turned a valid memory address
22705 into an invalid one.
22706 * Makefile.in (ira-costs.o): Depend on reload.h.
22707
95c5655c
JB
227082010-06-04 Julian Brown <julian@codesourcery.com>
22709
22710 * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
22711 for pool ranges.
22712
d4c0c9f6
RG
227132010-06-04 Richard Guenther <rguenther@suse.de>
22714
22715 PR lto/41584
22716 * cgraph.h (struct varpool_node): Add lto_file_data field.
22717 * lto-cgraph.c (input_varpool_node): Initialize it.
22718
308e51aa
UB
227192010-06-04 Uros Bizjak <ubizjak@gmail.com>
22720
22721 * config/i386/predicates.md (pic_symbolic_operand): Remove predicate.
22722 * config/i386/i386.md (*add<mode>_1): Do not use pic_symbolic_operand
22723 predicate in "type" attribute calculation.
22724 (*addsi_1_zext): Ditto.
22725 (*add<mode>_2): Do not use pic_symbolic_operand in insn predicate.
22726 (*addsi_2_zext): Ditto.
22727 (*add<mode>_3): Ditto.
22728 (*addsi_3_zext): Ditto.
22729 (*add<mode>_5): Ditto.
22730
f3cf730b
JH
227312010-06-03 Jan Hubicka <jh@suse.cz>
22732
22733 * tree-into-ssa.c (mark_block_for_update): Avoid redundant call
22734 of bitmap_bit_p.
22735 * cfganal.c (compute_dominance_frontiers_1): Likewise.
22736
95f4cd58
JH
227372010-06-03 Jan Hubicka <jh@suse.cz>
22738
22739 * df-problems.c (df_create_unused_note, df_note_bb_compute):
22740 micro-optimize the checks when to add new note.
22741
6e2188e0
NF
227422010-06-03 Nathan Froyd <froydnj@codesourcery.com>
22743
22744 * final.c (output_asm_insn): Call
22745 targetm.asm_out.print_operand_punct_valid_p. Update comments.
22746 (output_operand): Call targetm.asm_out.print_operand. Update comments.
22747 (output_address): Call targetm.asm_out.print_operand_address.
22748 Update comments.
22749 * target.h (struct gcc_target): Add print_operand,
22750 print_operand_address, and print_operand_punct_valid_p fields.
22751 * targhooks.h (default_print_operand): Declare.
22752 (default_print_operand_address): Declare.
22753 (default_print_operand_punct_valid_p): Declare.
22754 * targhooks.c (default_print_operand): Define.
22755 (default_print_operand_address): Define.
22756 (default_print_operand_punct_valid_p): Define.
22757 * target-def.h (TARGET_PRINT_OPERAND): Define if not defined.
22758 (TARGET_PRINT_OPERAND_ADDRESS): Likewise.
22759 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Likewise.
22760 (TARGET_ASM_OUT): Add TARGET_PRINT_OPERAND,
22761 TARGET_PRINT_OPERAND_ADDRESS, and TARGET_PRINT_OPERAND_PUNCT_VALID_P.
22762 * vmsdbgout.c (addr_const_to_string): Update comment.
22763 * config/i386/i386.c (print_operand): Rename to...
22764 (ix86_print_operand): ...this. Make static.
22765 (print_operand_address): Rename to...
22766 (ix86_print_operand_address): ...this. Make static. Call
22767 ix86_print_operand instead of PRINT_OPERAND.
22768 (ix86_print_operand_punct_valid_p): New function.
22769 (TARGET_PRINT_OPERAND): Define.
22770 (TARGET_PRINT_OPERAND_ADDRESS): Define.
22771 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
22772 * config/i386/i386.h (HI_REGISTER_NAMES): Update comment.
22773 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
22774 (PRINT_OPERAND): Delete.
22775 (PRINT_OPERAND_ADDRESS): Delete.
22776 * config/i386/i386-protos.h (print_operand): Delete prototype.
22777 (print_operand_address): Delete prototype.
22778
bb6c4ac8
RG
227792010-06-03 Richard Guenther <rguenther@suse.de>
22780
22781 PR tree-optimization/44403
22782 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
22783 Preserve pointer qualifiers.
22784 (vect_create_data_ref_ptr): Likewise.
22785
1c314335
L
227862010-06-03 H.J. Lu <hongjiu.lu@intel.com>
22787
22788 PR c++/44294
22789 * defaults.h (MAX_FIXED_MODE_SIZE): New.
22790
22791 * stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
22792
c87d6057
JJ
227932010-06-03 Jakub Jelinek <jakub@redhat.com>
22794
22795 PR debug/44375
22796 * tree-cfg.c (gimple_can_merge_blocks_p): For -O0
22797 return false if merging the bbs would lead to goto_locus
22798 location being lost from the IL.
22799
193d4c0f
JJ
228002010-06-03 Jan Hubicka <jh@suse.cz>
22801 Jakub Jelinek <jakub@redhat.com>
22802
308e51aa 22803 * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
193d4c0f
JJ
22804 set->regs[i] is NULL or has just one entry.
22805
703e95cf
JH
228062010-06-03 Jan Hubicka <jh@suse.cz>
22807
22808 * lto-cgraph.c (lto_varpool_encoder_size): Remove.
22809 * lto-streamer.h (lto_varpool_encoder_size): New inline function.
22810
12a0a4d4
PB
228112010-06-03 Paul Brook <paul@codesourcery.com>
22812
22813 * config/arm/arm.c (FL_TUNE): Define.
22814 (arm_default_cpu, arm_cpu_select): Remove.
22815 (all_cores): Populate core field.
22816 (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
22817 (arm_find_cpu): New function.
22818 (arm_handle_option): Lookup cpu/architecture names.
22819 (arm_override_options): Cleanup mcpu/march/mtune handling.
22820 (arm_file_start): Ditto.
22821
d9d7a1bf
AM
228222010-06-03 Alan Modra <amodra@gmail.com>
22823
22824 PR target/44169
22825 * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
22826 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
22827 rtx to gen_load_toc_v4_PIC_1b. Tidy.
22828 (rs6000_emit_load_toc_table): Likewise.
22829
514f01ad
JH
228302010-06-02 Jan Hubicka <jh@suse.cz>
22831
22832 * passes.c (init_optimization_passes): Put ipa reference
22833 after ipa pure-const.
22834
22a8d1e6
JH
228352010-06-02 Jan Hubicka <jh@suse.cz>
22836
22837 * ipa-reference.c (ipa_reference_local_vars_info_d): Remove
22838 calls_read_all and calls_write_all.
22839 (get_reference_optimization_summary): Fix formatting.
22840 (is_proper_for_analysis): Check that decl is not readonly.
22841 (propagate_bits): Check CONST/PURE/noreturn flags.
22842 (ipa_init): Move all_module_statics to optimization_summary_obstack.
22843 (analyze_function): Ignore indirect edges.
22844 (copy_global_bitmap): For all module statics, do nothing.
22845 (generate_summary): Do not print calls_read_all/calls_write_all.
22846 (read_write_all_from_decl): Take node as argument; check
22847 cgraph_node_cannot_return.
22848 (propagate): Reorganize read_all/write_all computation;
22849 check indirect edges; check ecf flags; use all_module_statics
22850 in the results; do not free all_module_statics.
22851 (stream_out_bitmap): Handle all_module_statics.
22852 (ipa_reference_write_optimization_summary): Likewise; use
22853 varpool/cgraph encoders to get boundaries.
22854 (ipa_reference_read_optimization_summary): Read in all_module_statics;
22855 use it when possible.
22856
92902797
MM
228572010-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
22858
22859 PR target/44218
22860 * doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
308e51aa 22861 -mswdiv option. Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
92902797
MM
22862
22863 * doc/extend.texi (powerpc builtins): Document vec_recip,
22864 vec_rsqrt, vec_rsqrte altivec/vsx builtins.
22865
308e51aa 22866 * config/rs6000/rs60000-protos.h (rs6000_emit_swdiv): New function.
92902797
MM
22867 (rs6000_emit_swrsqrt): Ditto.
22868 (rs6000_emit_swdivsf): Delete.
22869 (rs6000_emit_swdivdf): Ditto.
22870 (rs6000_emit_swrsqrtsf): Ditto.
22871
22872 * config/rs6000/rs6000.c (rs6000_recip_bits): New global to
22873 describe the reciprocal estimate support for each type.
22874 (recip_options): Map -mrecip=<opt> into option bits.
22875 (gen_2arg_fn_t): New typedef for binary rtx gen function.
22876 (rs6000_debug_reg_global): If -mdebug=reg, print the state of the
22877 reciprocal estimate instructions.
22878 (rs6000_init_hard_regno_mode_ok): Key ws constraint off of the
22879 debug -mvsx-scalar-memory switch instead of -mvsx-scalar-double.
22880 Set up rs6000_recip_bits based on the -mrecip* options. Print the
22881 cost information if -mdebug=cost or -mdebug=reg.
22882 (rs6000_override_options): Set -mrecip-precision for power6, and
22883 power7 machines. If -mvsx or -mdfp, enable various options that
22884 came in previous instruction set ISAs, unless the option was
22885 explicitly disabled by the command line option. Parse
22886 -mrecip=<opt> options.
22887 (rs6000_builtin_vectorized_function): Add support for vectorizing
22888 the reciprocal estimate builtins and expansions.
22889 (rs6000_handle_option): Add -mrecip, -mrecip=<opt> support.
22890 (bdesc_2arg): Add reciprocal estimate builtins.
22891 (bdesc_1arg): Add reciprocal square root estimate builtins.
22892 (rs6000_expand_builtin): Rewrite to use a switch statement,
308e51aa 22893 instead of multiple if/then/elses. Add reciprocal estimate builtins.
92902797
MM
22894 (rs6000_init_builtins): Create declarations for reciprocal
22895 estimate builtins.
22896 (rs6000_preferred_reload_class): Simplify VSX preferences, if scalar
22897 sized, prefer traditional floating point registers, if integer
22898 vector types, prefer altivec registers. Don't actually look at
22899 the memory address any more.
22900 (rs6000_builtin_reciprocal): Add new builtin reciprocal estimate
22901 builtins.
22902 (rs6000_load_constant_and_splat): New helper function to load up
22903 the constant for reciprocal estimate instructions.
22904 (rs6000_emit_madd): New helper function for generating
22905 multiply/add type instructions, based on the current switches.
22906 (rs6000_emit_msub): Ditto.
22907 (rs6000_emit_mnsub): Ditto.
22908 (rs6000_emit_swdiv_high_precision): Replace rs6000_emit_swdivsf to
22909 replace a divide with a reciprocal estimate and fixup, adding
22910 support for machines with high precision and vectors.
22911 (rs6000_emit_swdiv_low_precision): Rewrite rs6000_emit_swdivdf for
22912 low precision machines.
22913 (rs6000_emit_swdiv): New common function to be called to replace a
22914 division with reciprocal estimate and fixup.
22915 (rs6000_emit_swrsqrt): Replace rs6000_emit_swrsqrtsf. Add support
308e51aa 22916 for double and vector types. Add support for high precision machines.
92902797
MM
22917
22918 * config/rs6000/rs6000.h (TARGET_FRES): New macro to say whether
22919 the reciprocal estimate instructions can be generated.
22920 (TARGET_FRE): Ditto.
22921 (TARGET_FRSQRTES): Ditto.
22922 (TARGET_FRSQRTE): Ditto.
22923 (RS6000_RECIP_*): New macros for reciprocal estimate support.
22924
22925 * config/rs6000/vector.md (rsqrte<mode>2): New insn for reciprocal
22926 square root estimate on vectors.
22927 (re<mode>2): New insn for reciprocal division estimate on vectors.
22928
22929 * config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
22930 New builtin.
22931 (ALTIVEC_BUILTIN_VRECIPFP): Ditto.
22932 (ALTIVEC_BUITLIN_VEC_RE): Ditto.
22933 (ALTIVEC_BUILTIN_VEC_RSQRT): Ditto.
22934 (VSX_BUILTIN_RSQRT_V4SF): Ditto.
22935 (VSX_BUITLIN_RSQRT_V2DF): Ditto.
22936 (RS6000_BUILTIN_RSQRT): Ditto.
22937 (ALTIVEC_BUILTIN_VEC_RSQRTE): Denote that the builtin is a
22938 floating point builtin.
22939
22940 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
22941 macros __RECIP__, __RECIPF__, __RSQRTE__, __RSQRTEF__,
22942 __RECIP_PRECISION__ based on the command line switches.
22943 (altivec_overloaded_builtins): Add reciprocal estimate builtins.
22944
22945 * config/rs6000/rs6000.opt (-mrecip): Document add support for
308e51aa 22946 replacing division instructions with reciprocal estimate and fixup.
92902797
MM
22947 (-mrecip=<opt>): New option.
22948 (-mrecip-precision): Ditto.
22949
22950 * config/rs6000/vsx.md (UNSPEC_VSX_RSQRTE): Delete.
22951 (vsx_rsqrte<mode>2): Use UNSPEC_RSQRT not UNSPEC_VSX_RSQRTE.
22952 (vsx_copysignsf3): If -mvsx, use double precision cpsign on single
22953 precision scalar.
22954
22955 * config/rs6000/altivec.md (UNSPEC_RSQRTEFP): Delete.
22956 (UNSPEC_VREFP): Ditto.
22957 (altivec_vnmsubfp*): Make altivec nmsub mirror the scalar and VSX
308e51aa 22958 conterparts with regard to support of -mno-fused-madd and -ffast-math.
92902797
MM
22959 (altivec_vrsqrtefp): Use common UNSPEC to allow scalar/vector
22960 reciprocal estimate instructions to be generated.
22961 (altivec_vrefp): Ditto.
22962
22963 * config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
22964 estimate support.
22965 (rreg): New mode attribute for reciprocal estimate support.
22966 (recip<mode>3): New insn for division using reciprocal estimate
22967 and fixup builtins.
22968 (divide define_split): New define_split to convert floating point
22969 division to use reciprocal estimate if the user used the
22970 appropriate options and the split is run when we can add new
22971 pseudo registers for the fixup.
22972 (rsqrt<mode>2): New insn for reciprocal square root support.
22973 (recipsf3): Move into recip<mode>3.
22974 (recipdf3): Ditto.
22975 (fres): Use TARGET_FRES.
22976 (rsqrtsf2): Move into rsqrt<mode>2.
22977 (rsqrtsf_internal1): Use TARGET_FRSQRTSES.
22978 (copysignsf3): Add support for VSX.
22979 (fred): Use TARGET_FRE.
22980 (fred_fpr): Ditto.
22981 (rsqrtdf_internal1): New function for frsqrte instruciton.
22982
308e51aa 22983 * config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
92902797
MM
22984 (vec_rsqrt): Ditto.
22985
eef4a603
RG
229862010-06-03 Richard Guenther <rguenther@suse.de>
22987
22988 PR middle-end/44291
22989 * optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
22990 (set_user_assembler_libfunc): Likewise.
22991
77ec4307
SB
229922010-06-02 Steven Bosscher <steven@gcc.gnu.org>
22993
22994 * mkconfig.sh: Include insn-flags.h and insn-constants.h before
22995 defaults.h.
22996 * except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
22997 to defaults.h
22998 * expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
22999 DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
23000 FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
23001 STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
23002 STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
23003 STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
23004 STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
23005 STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
23006 * defaults.h: Updated for above mentioned changes.
23007
ef2d9e4d
KT
230082010-06-02 Kai Tietz <kai.tietz@onevision.com>
23009
23010 * c-common.c: Remove header include of tm_p.h.
23011 * Makefile.in (c-common.o): Remove TM_P_H dependency.
23012
53e030f1
JJ
230132010-06-02 Jakub Jelinek <jakub@redhat.com>
23014
23015 * tree.h (struct tree_decl_map): New type.
23016 (tree_decl_map_eq, tree_decl_map_marked_p): Define.
23017 (tree_decl_map_hash): New prototype.
23018 (debug_expr_for_decl, value_expr_for_decl): Change into
23019 tree_decl_map hashtab from tree_map.
23020 (init_ttree): Adjust initialization.
23021 (tree_decl_map_hash): New function.
23022 (decl_debug_expr_lookup, decl_debug_expr_insert,
23023 decl_value_expr_lookup, decl_value_expr_insert): Adjust.
23024
a6198222
RO
230252010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
23026
23027 * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
23028 linker emulations.
23029 * configure: Regenerate.
23030 * config.in: Regenerate.
23031
23032 * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
23033 (X86_64_EMULATION): Define.
23034 (TARGET_LD_EMULATION): Use them.
23035
23036 * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
23037 (SPARC64_EMULATION): Define.
23038 (LINK_ARCH_SPEC): Use them.
23039
d6abd6d8
SP
230402010-06-02 Sebastian Pop <sebastian.pop@amd.com>
23041
23042 * graphite-clast-to-gimple.c (gcc_type_for_interval): Use
23043 smallest_mode_for_size for computing the precision types of new
23044 graphite IVs. Do not call lang_hooks.types.type_for_size.
23045
718d3588
SP
230462010-06-02 Sebastian Pop <sebastian.pop@amd.com>
23047
23048 * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
23049 information.
23050 (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
23051
5521cae9
SP
230522010-06-02 Sebastian Pop <sebastian.pop@amd.com>
23053
23054 PR middle-end/44363
23055 * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
23056 return false instead.
23057
437ffe7b
JH
230582010-06-02 Jan Hubicka <jh@suse.cz>
23059
23060 PR middle-end/44295
23061 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
23062 create new cgraph node to check callee.
23063
f3dcdff7
RG
230642010-06-02 Richard Guenther <rguenther@suse.de>
23065
23066 * lto-streamer-in.c (input_gimple_stmt): Fix typo.
23067
396717c9
RG
230682010-06-02 Richard Guenther <rguenther@suse.de>
23069
23070 * lto-wrapper.c (lto_wrapper_exit): Rename to ...
23071 (lto_wrapper_cleanup): ... this. Do not exit.
23072 (fatal): Adjust. Exit here.
23073 (fatal_perror): Likewise.
23074 (fatal_signal): New function.
23075 (main): Set up signal handlers to cleanup temporary files.
23076 * Makefile.in (lto-wrapper.o): Adjust dependencies.
23077
2698955a
RG
230782010-06-02 Richard Guenther <rguenther@suse.de>
23079
23080 PR tree-optimization/44377
23081 * tree-ssa-structalias.c (find_func_aliases): Fix typo.
23082
30972225
AK
230832010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
23084
23085 * config/s390/2097.md (z10_fhex): Remove insn reservation.
23086 * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
23087 (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
23088 *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
23089 instruction.
308e51aa 23090 * config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
30972225 23091
d4fb676f
JH
230922010-06-02 Jan Hubicka <jh@suse.cz>
23093
23094 * bitmap.c (bitmap_descriptor): Add search_iter.
23095 (bitmap_find_bit): Increment it.
23096 (print_statistics): Print it.
23097
36c4a482
NF
230982010-06-02 Nathan Froyd <froydnj@codesourcery.com>
23099
23100 * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
23101 instead of gimple_build_call_vec. Delete unnecessary local variable.
23102
f66d6761
SB
231032010-06-02 Steven Bosscher <steven@gcc.gnu.org>
23104
23105 * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
23106 change from yesterday.
23107
a8cd9c51
SB
231082010-06-02 Steven Bosscher <steven@gcc.gnu.org>
23109
23110 * c-ada-spec.c: Clean up redundant includes.
23111
2eb79bbb
SB
231122010-06-01 Steven Bosscher <steven@gcc.gnu.org>
23113
23114 * gimplify.c: Do not include except.h and optabs.h.
23115 (gimplify_body): Do not initialize RTL profiling.
23116 * gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
23117 langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
23118 * gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
23119 output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
23120 langhooks.h.
23121
23122 * tree-pretty-print.h: Include pretty-print.h.
23123 * gimple-pretty-print.h: Include pretty-print.h.
23124
23125 * tree-pretty-print.c: Do not include diagnostic.h.
23126 * tree-vrp.c: Likewise.
23127 * tree-tailcall.c: Likewise
23128 * tree-scalar-evolution.c: Likewise
23129 * tree-ssa-dse.c: Likewise
23130 * tree-chrec.c: Likewise
23131 * tree-ssa-sccvn.c: Likewise
23132 * tree-ssa-copyrename.c: Likewise
23133 * tree-nomudflap.c: Likewise
23134 * tree-call-cdce.c: Likewise
23135 * tree-stdarg.c: Likewise
23136 * tree-ssa-math-opts.c: Likewise
23137 * tree-nrv.c: Likewise
23138 * tree-ssa-sink.c: Likewise
23139 * tree-browser.c: Likewise
23140 * tree-ssa-loop-ivcanon.c: Likewise
23141 * tree-ssa-loop.c: Likewise
23142 * tree-parloops.c: Likewise
23143 * tree-ssa-address.c: Likewise
23144 * tree-ssa-ifcombine.c: Likewise
23145 * tree-if-conv.c: Likewise
23146 * tree-data-ref.c: Likewise
23147 * tree-affine.c: Likewise
23148 * tree-ssa-phiopt.c: Likewise
23149 * tree-ssa-coalesce.c: Likewise
23150 * tree-ssa-pre.c: Likewise
23151 * tree-ssa-live.c: Likewise
23152 * tree-predcom.c: Likewise
23153 * tree-ssa-forwprop.c: Likewise
23154 * tree-ssa-dce.c: Likewise
23155 * tree-ssa-ter.c: Likewise
23156 * tree-ssa-loop-prefetch.c: Likewise
23157 * tree-optimize.c: Likewise
23158 * tree-ssa-phiprop.c: Likewise
23159 * tree-object-size.c: Likewise
23160 * tree-outof-ssa.c: Likewise
23161 * tree-ssa-structalias.c: Likewise
23162 * tree-switch-conversion.c: Likewise
23163 * tree-ssa-reassoc.c: Likewise
23164 * tree-ssa-operands.c: Likewise
23165 * tree-vectorizer.c: Likewise
23166 * tree-vect-data-refs.c: Likewise
23167 * tree-vect-generic.c: Likewise
23168 * tree-vect-stmts.c: Likewise
23169 * tree-vect-patterns.c: Likewise
23170 * tree-vect-slp.c: Likewise
23171 * tree-vect-loop.c: Likewise
23172 * tree-ssa-loop-ivopts.c: Likewise
23173 * tree-ssa-loop-im.c: Likewise
23174 * tree-ssa-loop-niter.c: Likewise
23175 * tree-ssa-loop-unswitch.c: Likewise
23176 * tree-ssa-loop-manip.c: Likewise
23177 * tree-ssa-loop-ch.c: Likewise
23178 * tree-dump.c: Likewise
23179 * tree-complex.c: Likewise
23180
23181 * tree-into-ssa.c: Do not include diagnostic.h and expr.h.
23182 * tree-ssa-uninit.c: Likewise
23183 * tree-ssa-threadupdate.c: Likewise
23184 * tree-ssa-uncprop.c: Likewise
23185 * tree-ssa-ccp.c: Likewise
23186 * tree-ssa-dom.c: Likewise
23187 * tree-ssa-propagate.c: Likewise
23188 * tree-ssa-alias.c: Likewise
23189 * tree-dfa.c: Likewise
23190 * tree-cfgcleanup.c: Likewise
23191 * tree-sra.c: Likewise
23192 * tree-ssa-copy.c: Likewise
23193 * tree-ssa.c: Likewise
23194 * tree-profile.c: Likewise
23195 * tree-cfg.c: Likewise
23196 * tree-ssa-threadedge.c: Likewise
23197 * tree-vect-loop-manip.c: Likewise
23198
23199 * tree-inline.c: Do not include diagnostic.h and expr.h.
23200 Include rtl.h.
23201 (copy_decl_for_dup_finish): Do not use NULL_RTX.
23202
308e51aa 23203 * tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
2eb79bbb
SB
23204 * tree-loop-distribution.c: Likewise.
23205
73add7fe
JH
232062010-06-01 Jan Hubicka <jh@suse.cz>
23207
23208 * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
23209
566d09ef
JH
232102010-06-01 Jan Hubicka <jh@suse.cz>
23211
23212 * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
23213 remove return value.
23214 (split_bbs_on_noreturn_calls) .... here.
23215 * tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
23216 * tree-flow.h (fixup_noreturn_call): New.
23217
fb9ef4c1
JH
232182010-06-01 Jan Hubicka <jh@suse.cz>
23219
23220 * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
23221
6594b49d
NF
232222010-06-01 Nathan Froyd <froydnj@codesourcery.com>
23223
23224 * tree.h (build_nt_call_list): Delete.
23225 * tree.c (build_nt_call_list): Delete.
23226
5936d944
JH
232272010-06-01 Jan Hubicka <jh@suse.cz>
23228
23229 * fwprop.c: Make emit-rtl.h include last.
23230 * rtlanal.c: Include emit-rtl.h.
23231 * genautomata.c: Output emit-rtl include into insn-automata.c
23232 * df-scan.c: Include emit-rtl.h.
23233 * haifa-sched.c: Indlude emit-rtl.h.
23234 * mode-switching.c: Indlude emit-rtl.h.
23235 * graph.c: Indlude emit-rtl.h.
23236 * sel-sched.c: Include emit-rtl.h.
23237 * sel-sched-ir.c: Include emit-rtl.h.
23238 * ira-build.c: Include emit-rtl.h.
bd3a5d17 23239 * emit-rtl.c (first_insn, last_insn): Remove defines.
5936d944
JH
23240 (get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
23241 Move to emit-rtl.h.
308e51aa
UB
23242 (set_new_first_and_last_insn, get_last_insn_anywhere,
23243 get_first_nonnote_insn, get_last_nonnote_insn, try_split,
23244 make_call_insn_raw, add_insn_after, add_insn_before, remove_insn,
23245 delete_insns_since, reorder_insns_nobb, emit_insn_after_1,
23246 emit_debug_insn_before, emit_insn, start_sequence, push_to_sequence,
23247 push_to_sequence2, push_topmost_sequence, end_sequence, copy_insn):
23248 Use accessor functions.
5936d944
JH
23249 * emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
23250 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
23251 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
308e51aa 23252 mem_expr_equal_p): Move here from rtl.h.
5936d944
JH
23253 (get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
23254 Move here from emit-rtl.c; make inline.
308e51aa 23255 * cfglayout.h: Include emit-rtl.h.
5936d944
JH
23256 * rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
23257 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
23258 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
308e51aa
UB
23259 mem_expr_equal_p, get_insns, set_first-insn,
23260 get_last_insn, set_last_insn, get_max_uid): Move to emit-rtl.h.
23261 * reg-stack.c: Include emit-rtl.h.
5936d944
JH
23262 * dce.c: Likewise.
23263
91382288
JH
232642010-06-01 Jan Hubicka <jh@suse.cz>
23265
23266 * cgraph.h (tree_function_versioning): Update prototype.
23267 (cgraph_function_versioning): Update prototype.
23268 * cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
23269 bitmap.
308e51aa 23270 (cgraph_function_versioning): Accept new_entry_block and bbs_to_copy.
91382288
JH
23271 (cgraph_materialize_clone, save_inline_function_body): Update use of
23272 tree_function_versioning.
308e51aa
UB
23273 * tree-inline.c (copy_bb): Look for previous copied block to link
23274 after; fix debug output.
91382288
JH
23275 (copy_cfg_body): Accept new_entry_block and bbs_to_copy.
23276 (copy_body): Likewise.
23277 (expand_call_inline): Update use of copy_body.
23278 (tree_function_versioning): Update use of copy body; accept
23279 blocks_to_copy and new_entry.
23280
6ac9d3a3
JH
232812010-06-01 Jan Hubicka <jh@suse.cz>
23282
23283 * gegenrtl.c: Remove unnecesary prototypes.
23284 (gendecl): Remove.
23285 (gendef): Produce static inline.
23286 (gencode): Remove.
23287 (main): Do not decode parameters; generate header only.
23288 * Makefile.in (genrtl.c): Remove.
23289
2e3b4885
JH
232902010-06-01 Jan Hubicka <jh@suse.cz>
23291
23292 * tree-switch-conversion.c (build_one_array): Make it readonly.
23293
0641fa97
RG
232942010-06-01 Richard Guenther <rguenther@suse.de>
23295
23296 * optabs.c (init_optabs): Guard all accesses to reinit.
23297 * ipa-pure-const.c (propagate): Fix another typo.
23298 * opts.c (common_handle_option): Split assignment to bool.
23299 * c-opts.c (c_common_handle_option): Likewise.
23300
9cc54940 233012010-06-01 Arnaud Charlet <charlet@adacore.com>
308e51aa 23302 Matthew Gingell <gingell@adacore.com>
9cc54940
AC
23303
23304 * doc/invoke.texi: Mention -fdump-ada-spec.
23305 * tree-dump.c (dump_files): Add ada-spec.
23306 (FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
23307 * tree-pass.h (tree_dump_index): Add TDI_ada.
23308 * gcc.c: Add support for -C without -E and for -fdump-ada-spec.
23309 (cpp_unique_options): Do not reject -C or -CC when -E isn't present.
23310 (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
23311 * c-decl.c: Include c-ada-spec.h.
23312 (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
23313 functions.
23314 (c_write_global_declarations): Add handling of -fdump-ada-spec.
23315 * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
23316 * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
23317 * c-ada-spec.h, c-ada-spec.c: New files.
23318
97d45cef
RG
233192010-06-01 Richard Guenther <rguenther@suse.de>
23320
23321 PR lto/43853
23322 * ipa-pure-const.c (get_function_state): Hand back varying state
23323 if we do not have one.
23324 (has_function_state): New function.
23325 (duplicate_node_data): Adjust.
23326 (remove_node_data): Likewise.
23327 (pure_const_write_summary): Likewise.
23328 (propagate): Likewise. Fix typo.
23329
f7fbb475
JH
233302010-06-01 Jan Hubicka <jh@suse.cz>
23331
23332 * tree-cfg.c (verify_stmt): Do not skip could_throw test.
23333 * passes.c (execute_function_todo): Do not make implicit verify_ssa.
23334 (execute_all_ipa_transforms): Do not play with the states.
23335
d47a371c
MK
233362010-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
23337
23338 * config/arm/t-linux-androideabi: New.
389caea8 23339 * config.gcc (arm*-*-linux-androideabi): Include multilib config.
d47a371c 23340
613f61fc
JH
233412010-06-01 Jan Hubicka <jh@suse.cz>
23342
23343 * tree-inline.c (estimate_num_insns): For stdarg functions look
23344 into call statement to count cost of argument passing.
23345
193d4c0f 233462010-06-01 Kai Tietz <kai.tietz@onevision.com>
42ad7bc8 23347
308e51aa
UB
23348 * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
23349 argument for fprintf.
23350 (ix86_output_addr_diff_elt): Likewise.
23351 (x86_function_profiler): Likewise.
23352 * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
23353 (LPREFIX): Likewise.
23354 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
42ad7bc8 23355
c71ad61e
JJ
233562010-05-31 Jakub Jelinek <jakub@redhat.com>
23357
23358 PR target/44338
23359 * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
23360 fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
23361 fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
23362 fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
23363 fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
23364 fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
23365 fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
23366 Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
23367 TARGET_FUSED_MADD.
23368
63f1c699
JH
233692010-05-31 Jan Hubicka <jh@suse.cz>
23370
23371 * tree.h (tree_range_check_failed): Declare noreturn.
23372
4892422a
JH
233732010-05-31 Jan Hubicka <jh@suse.cz>
23374
23375 * gimple.c (gimple_call_builtin_p): New function.
23376 * gimple.h (gimple_call_builtin_p): Declare.
23377 * tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
23378 to exit.
23379 (execute_warn_function_return): BUILT_IN_RETURN is return.
23380 (split_critical_edges): Return edges are not critical.
23381 (is_ctrl_altering_stmt): Builtin_in_return is altering.
23382 (gimple_verify_flow_info): Handle built_in_return.
23383 (execute_warn_function_return): Handle built_in_return.
23384 * ipa-pure-const.c (check_call): Ignore builtin_return.
23385
90a7788b
JJ
233862010-05-31 Jakub Jelinek <jakub@redhat.com>
23387
6a866023
JJ
23388 PR middle-end/44337
23389 * expr.c (expand_assignment): Don't store anything for out-of-bounds
23390 array accesses with non-MEM.
23391
90a7788b
JJ
23392 PR tree-optimization/44182
23393 * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
23394 newly needs to end a bb is followed by debug stmts, instead return
23395 true from the function at the end.
23396 (maybe_move_debug_stmts_to_successors): New function.
23397 (copy_cfg_body): Call it if copy_edges_for_bb returned true.
23398
877a19bf
KT
233992010-05-31 Kai Tietz <kai.tietz@onevision.com>
23400
23401 PR target/44161
308e51aa 23402 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
877a19bf 23403
c5d01958
EB
234042010-05-31 Eric Botcazou <ebotcazou@adacore.com>
23405
23406 * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
23407 for nested functions in non-optimized compilation.
23408
a4c9bc15
RG
234092010-05-31 Richard Guenther <rguenther@suse.de>
23410
308e51aa 23411 * tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
a4c9bc15 23412
22983f55
JH
234132010-05-30 Jan Hubicka <jh@suse.cz>
23414
23415 * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
23416
66a3e339
RG
234172010-05-30 Richard Guenther <rguenther@suse.de>
23418
23419 PR lto/42975
23420 * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
23421 (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
23422 no longer needed.
23423
83bf7f5e
IS
234242010-05-30 Iain Sandoe <iains@gcc.gnu.org>
23425
23426 * config/darwin.c (output_objc_section_asm_op): Add comment.
23427 (name_needs_quotes): Add '_' to list of valid comment chars.
23428 (machopic_output_function_base_name): Remove unneeded quotes.
23429 (darwin_encode_section_info): Adjust asm whitespace.
23430 * config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
23431 (ASM_OUTPUT_LOCAL): Ditto.
23432 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
23433 * config/darwin.h (GLOBAL_ASM_OP): Ditto.
23434 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
308e51aa 23435
18fc5f44
EB
234362010-05-30 Eric Botcazou <ebotcazou@adacore.com>
23437
23438 * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
23439 RS6000_OUTPUT_BASENAME unconditionally.
23440 (rs6000_output_function_epilogue): Likewise.
23441
babf1701
JH
234422010-05-30 Jan Hubicka <jh@suse.cz>
23443
23444 * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
c5d01958 23445 nodes.
babf1701 23446
fbd767b1
RG
234472010-05-30 Richard Guenther <rguenther@suse.de>
23448
23449 * tree-cfg.c (verify_gimple_assign_single): Implement
23450 verification for COND_EXPR rhs.
23451
0a5fa5a1
JH
234522010-05-30 Jan Hubicka <jh@suse.cz>
23453
23454 * cgraph.h (cgraph_dump_file): Declare.
23455 * cgraphunit.c (cgraph_dump_file): Export.
308e51aa 23456 * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose.
0a5fa5a1 23457
0b9c3a04
JH
234582010-05-30 Jan Hubicka <jh@suse.cz>
23459
23460 * dwarf2out.c (reference_to_unused,
18fc5f44
EB
23461 premark_types_used_by_global_vars_helper): Avoid creation of new
23462 varpool nodes.
0b9c3a04 23463
d56026c2
JH
234642010-05-30 Jan Hubicka <jh@suse.cz>
23465
23466 * cgraph.h (cgraph_node_cannot_return,
23467 cgraph_edge_cannot_lead_to_return): New functions.
23468 * cgraph.c (cgraph_node_cannot_return,
23469 cgraph_edge_cannot_lead_to_return): Use them.
23470 * ipa-pure-const.c (pure_const_names): New static var.
23471 (check_call): Handle calls not leading to return.
23472 (pure_const_read_summary): Dump info read.
308e51aa
UB
23473 (propagate): Dump info about propagation process; ignore side effects
23474 of functions not leading to exit; fix handling of pure functions.
d56026c2 23475
17f01631
JH
234762010-05-30 Jan Hubicka <jh@suse.cz>
23477
23478 * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
23479 for tail call epilogues.
23480
f59292da
JH
234812010-05-30 Jan Hubicka <jh@suse.cz>
23482
23483 * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
18fc5f44
EB
23484 ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
23485 dump files.
f59292da 23486
8a6295ba
JH
234872010-05-29 Jan Hubicka <jh@suse.cz>
23488
18fc5f44
EB
23489 * ipa.c (cgraph_remove_unreachable_node): Walk references of correct
23490 node; remove references in node we no longer keep in cgrpah but need
23491 body of.
8a6295ba 23492
7baeea85
JH
234932010-05-29 Jan Hubicka <jh@suse.cz>
23494
23495 * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
23496
482959e5
JDA
234972010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
23498
23499 PR target/44165
23500 * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
23501
24e47c76
JH
235022010-05-29 Jan Hubicka <jh@suse.cz>
23503
23504 * tree-vrp.c (debug_value_range, debug_all_value_ranges,
23505 debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
23506 * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
23507 debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
308e51aa 23508 debug_names_replaced_by, debug_update_ssa): Likewise.
24e47c76
JH
23509 * sbitmap.c (debug_sbitmap): Likewise.
23510 * genrecog.c (debug_decision, debug_decision_list): Likewise.
23511 * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
23512 debug_tree_chain): Likewise.
23513 * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
23514 * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
a691bb08 23515 * optabs.c (debug_optab_libfuncs): Likewise.
24e47c76
JH
23516 (verify_loop_closed_ssa): Likewise.
23517 * value-prof.c (verify_histograms): Likewise.
23518 * reload.c (debug_reload_to_stream, debug_reload): Likewise.
23519 * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
23520 * cfghooks.c (verify_flow_info): Likewise.
23521 * fold-const.c (debug_fold_checksum): Likewise.
23522 * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
23523 * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
23524 Likewise.
23525 * omega.c (debug_omega_problem): Likewise.
23526 * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
23527 * tree-ssa-ccp.c (debug_lattice_value): Likewise.
23528 * dominance.c (verify_dominators, debug_dominance_info,
23529 debug_dominance_tree): Likewise.
23530 * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
23531 * df_regno_debug, df_ref_debug,
23532 debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
23533 debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
23534 * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
23535 * sel-sched.c (debug_state): Likewise.
18fc5f44
EB
23536 * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
23537 Likewise.
24e47c76
JH
23538 * cfganal.c (print_edge_list, verify_edge_list): Likewise.
23539 * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
23540 * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
18fc5f44
EB
23541 * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
23542 Likewise.
24e47c76
JH
23543 * c-pretty-print.c (debug_c_tree): Likewise.
23544 * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
18fc5f44
EB
23545 debug_av_set, debug_lv_set, debug_ilist, debug_blist,
23546 debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
24e47c76
JH
23547 * ebitmap.c (debug_ebitmap): Likewise.
23548 * function.c (debug_find_var_in_block_tree): Likewise.
23549 * print-rtl.c (debug_rtx): Likewise.
23550 (debug_rtx_count): Likewise.
23551 (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
23552 * stor-layout.c (debug_rli): Likewise.
23553 * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
18fc5f44
EB
23554 * tree-data-ref.c (debug_data_references,
23555 debug_data_dependence_relations, debug_data_reference,
23556 debug_data_dependence_relation, debug_rdg_vertex,
24e47c76
JH
23557 debug_rdg_component, debug_rdg): Likewise.
23558 * tree-affine.c (debug_aff): Likewise.
18fc5f44
EB
23559 * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
23560 Likewise.
24e47c76
JH
23561 * except.c (debug_eh_tree, verify_eh_tree): Likewise.
23562 * emit-rtl.c (verify_rtl_sharing): Likewise.
23563 * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
23564 debug_value_expressions): Likewise.
23565 * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
23566 * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
23567 * print-tree.c (debug_tree, debug_vec_tree): Likewise.
23568 * cfglayout.c (verify_insn_chain): Likewise.
23569 * graphite-clast-to-gimple.c (debug_clast_name_indexes,
23570 debug_clast_stmt, debug_generated_program): Likewise.
23571 * ggc-page.c (debug_print_page_list): Likewise.
23572 * tree-ssa-ter.c (debug_ter): Likewise.
23573 * graphite-dependences.c (debug_pddr): Likewise.
23574 * sched-deps.c (debug_ds): Likewise.
23575 * tree-ssa.c (verify_ssa): Likewise.
23576 * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
23577 debug_scattering_functions, debug_iteration_domains, debug_pdr,
18fc5f44
EB
23578 debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
23579 debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
24e47c76
JH
23580 * tree-inline.c (debug_find_tree): Likewise.
23581 * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
23582 debug_ppl_powerset_matrix): Likewise.
23583 * var-tracking.c (debug_dv): Likewise.
23584 * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
23585 * cfgloop.c (verify_loop_structure): Likewise.
23586 * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
23587 * c-common.c (verify_sequence_points): Likewise.
23588 * sched-rgn.c (debug_regions, debug_region, debug_candidate,
23589 debug_candidates, debug_rgn_dependencies): Likewise.
23590 * tree-ssa-structalias.c (debug_constraint, debug_constraints,
23591 * debug_constraint_graph, debug_solution_for_var,
23592 debug_sa_points_to_info): Likewise.
23593 * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
23594 Likewie.
23595 * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
23596 debug_loops, debug_loop, debug_loop_num): Likewise.
23597 * passes.c (debug_pass): Likewise.
23598 (dump_properties): Likewise; add cfglayout property.
23599 (debug_properties): Likewise.
23600 * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
23601 * varpool.c (debug_varpool): Likewise.
23602 * regcprop.c (debug_value_data): Likewise.
23603 * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
23604 debug_immediate_uses_for): Likewise.
23605
f9897dfa
L
236062010-05-29 H.J. Lu <hongjiu.lu@intel.com>
23607
23608 PR bootstrap/44315
23609 * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
23610 Filter out insn-flags.h.
23611
9eec9488
JH
236122010-05-29 Jan Hubicka <jh@suse.cz>
23613
23614 * cgraph.h (struct varpool_node_set_def,
23615 struct cgraph_node_set_def): Remove unused AUX pointer.
23616 (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
23617 VEC_empty macro.
23618
eb598ce6
JH
236192010-05-29 Jan Hubicka <jh@suse.cz>
23620
23621 PR middle-end/44324
23622 * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
23623
1be8f484
RG
236242010-05-29 Richard Guenther <rguenther@suse.de>
23625
23626 * lto-streamer.c (cached_bp): New global variable.
23627 (bitpack_create): Return the cached bitpack, if available.
23628 (bitpack_delete): Clear and cache the bitpack, if appropriate.
23629 (bp_pack_value): Remove redundant asserts.
23630
0247298c
SP
236312010-05-29 Sebastian Pop <sebastian.pop@amd.com>
23632
23633 PR middle-end/44306
23634 * tree-if-conv.c (is_true_predicate): New.
23635 (is_predicated): Use is_true_predicate.
23636 (add_to_predicate_list): Same. Do not use unshare_expr.
23637 (add_to_dst_predicate_list): Same.
23638
32ccbfac
SP
236392010-05-29 Sebastian Pop <sebastian.pop@amd.com>
23640
23641 * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
23642 field on edges.
23643 (predicate_bbs): Same.
23644 (clean_predicate_lists): Same.
23645 (find_phi_replacement_condition): Do not AND the predicate from
23646 edge->aux.
23647
a41021ce
L
236482010-05-29 H.J. Lu <hongjiu.lu@intel.com>
23649
23650 PR bootstrap/44315
23651 * Makefile.in (build/gencondmd.o): Add a missing `\'.
23652
bbd07239
JDA
236532010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
23654
23655 PR target/44261
23656 config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
23657 (negdf2): Adjust expander pattern and use negdf2_slow.
23658 (negsf2): Likewise.
23659
25efe060
NF
236602010-05-29 Nathan Froyd <froydnj@codesourcery.com>
23661
18fc5f44
EB
23662 * basic-block.h (struct control_flow_graph): Move last_label_uid field
23663 up.
25efe060
NF
23664 * df.h (struct df_base_ref): Move regno field up.
23665 * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
23666 * expr.h (struct separate_ops): Move location field up.
23667 * optabs.h (struct optab_d): Move libcall_basename field down.
23668 * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
23669 * config/i386/i386.h (struct machine_function): Convert call_abi field
23670 into a bitfield. Move cfa field to the end of the structure.
23671
4cceafb8
JH
236722010-05-29 Jan Hubicka <jh@suse.cz>
23673
23674 * varpool.c (varpool_get_node): Fix lookup.
23675
65ea7e28
SB
236762010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23677
23678 * config/spu/spu-protos.h: Do not include rtl.h. Protect
23679 RTL specific prototypes with #ifdef RTX_CODE.
23680 * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
23681 * config/spu/t-spu-elf: Fix dependencies.
23682
1a86e236
SB
23683 * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
23684
d03a97e1
MS
236852010-05-29 Mike Stump <mikestump@comcast.net>
23686
a41021ce 23687 PR bootstrap/44315
d03a97e1
MS
23688 * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
23689 TM_H when building to avoid dependency loops.
23690
f0c418dc
JH
236912010-05-29 Jan Hubicka <jh@suse.cz>
23692
54da01d2 23693 * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
dedd9d05 23694 refs and body; not the whole node for masters of materialized clones.
f0c418dc 23695
5c5543af
MS
236962010-05-29 Mike Stump <mikestump@comcast.net>
23697
23698 * config/rs6000/rs6000-c.c: Remove c-tree.h include.
23699
036546e5
JH
237002010-05-29 Jan Hubicka <jh@suse.cz>
23701
23702 * cgraph.c (clone_function_name): Take SUFFIX argument; export.
23703 (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
23704 use of clone_function_name.
308e51aa 23705 * cgraph.h (cgraph_create_virtual_clone,
036546e5
JH
23706 cgraph_function_versioning): update prototypes.
23707 (clone_function_name): Declare.
23708 * ipa-cp.c (ipcp_insert_stage): Update call of
23709 cgraph_create_virtual_clone.
23710 * omp-low.c (create_omp_child_function_name): Use
23711 cgraph_create_virtual_clone.
23712 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
23713 (cgraph_function_versioning): Take SUFFIX argument; produce new name
23714 and make decl local.
23715
3e097227
SB
237162010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23717
23718 * vec.h: Include statistics.h
23719 * Makefile.in: Introduce VEC_H. Replace all vec.h dependencies
23720 with VEC_H.
23721
accf9ad6
SB
237222010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23723
3d25c396
UB
23724 * c-lex.c: Do not include c-tree.h.
23725 * c-pretty-print.c: Likewise.
23726 * c-opts.c: Likewise.
23727 * c-gimplify.c: Likewise.
accf9ad6
SB
23728 * c-common.c: Likewise.
23729 * c-dump.c: Likewise. Include c-common.h.
23730
59cc9210
SB
237312010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23732
23733 * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
23734 before including diagnostic-core.h.
23735 (c_cpp_error): New prototype moved from c-tree.h.
23736 Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
23737 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
23738 (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
23739 (c_cpp_error): Prototype moved to c-common.h.
23740 * Makefile.in: Update dependency for C_COMMON_H.
23741
bffad7f1
SB
237422010-05-29 Steven Bosscher <steven@gcc.gnu.org>
23743
23744 * c-common.h: Add FIXME for awkward split of c_register_addr_space.
23745 * c-common.c (c_register_addr_space): Remove here.
23746 * c-decl.c (c_register_addr_space): Re-add here.
23747
d685a689
MS
237482010-05-28 Mike Stump <mikestump@comcast.net>
23749
23750 * config/darwin-c.c: Remove c-tree.h include.
23751
6afbc885
JM
237522010-05-28 Joseph Myers <joseph@codesourcery.com>
23753
23754 * gcc.c: Include diagnostic.h.
23755 (error_count): Remove. All users changed to use errorcount.
23756 (programname): Remove. All users changed to use progname.
23757 (fancy_abort, internal_error, fatal_error, error, warning, inform,
23758 fnotice): Remove.
23759 (execute): Don't include "Internal error" and bug reporting
23760 information in argument of internal_error call.
23761 (process_command): Don't increment error_count after calling
23762 perror_with_name.
23763 (input_filename): Rename to gcc_input_filename. All users
23764 changed.
23765 (main): Call diagnostic_initialize. Register delete_temp_files
23766 with atexit. Use seen_error to test for errors.
23767 * gcc.h: Include diagnostic-core.h.
23768 (fatal_error, error, warning): Remove.
23769 * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
23770 (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
23771 (gcc.o): Update dependencies.
23772
bdf0eb06
JL
237732010-05-28 Jeff Law <law@redhat.com>
23774
0896cc66
JL
23775 * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
23776 functions.
23777 * ira.h (ira_bad_reload_regno): Declare
23778 * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
23779
bdf0eb06
JL
23780 * ira-color.c (update_curr_costs): Free updated hard reg costs.
23781 (ira_reassign_conflict_allocnos): Remove bogus asserts.
23782 (allocno_reload_assign): Likewise.
23783
4a73490d
NF
237842010-05-28 Nathan Froyd <froydnj@codesourcery.com>
23785
23786 * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
23787 build1_stat.
23788
86561bb6
RG
237892010-05-28 Richard Guenther <rguenther@suse.de>
23790
23791 PR lto/44312
23792 * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
23793 Stream fixed-point constants mode.
23794 (unpack_ts_type_value_fields): Fix width of TYPE_MODE
23795 and TYPE_PRECISION.
23796 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
23797 Stream fixed-point constants mode.
23798 (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
23799 and TYPE_PRECISION.
23800
0a74c758
SP
238012010-05-28 Sebastian Pop <sebastian.pop@amd.com>
23802
23803 * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
23804 only place it was called from.
23805 (number_of_latch_executions): Do not return chrec_dont_know when the
23806 may_be_zero is a runtime condition: instead, return a COND_EXPR
23807 including the may_be_zero condition.
23808 * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
23809 of nb_iterations.
23810 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
23811 COND_EXPRs.
23812
e7cb8957
SP
238132010-05-28 Sebastian Pop <sebastian.pop@amd.com>
23814
23815 * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
23816 generate COND_EXPRs for degenerate_phi_result.
23817
d10e857e
SP
238182010-05-28 Sebastian Pop <sebastian.pop@amd.com>
23819
23820 PR middle-end/44293
23821 * tree-if-conv.c (if_convertible_loop_p): Check the
23822 if-convertibility of phi nodes in non predicated BBs.
23823
6cffd02a
JM
238242010-05-28 Joseph Myers <joseph@codesourcery.com>
23825
23826 * gcc.c (error, warning, inform): Remove duplicate ": " in output.
23827
2dec80c7
JM
238282010-05-28 Joseph Myers <joseph@codesourcery.com>
23829
23830 PR driver/15303
23831 * gcc.c (inform, warning, inform): New functions.
23832 (fatal_ice): Rename to internal_error; change cmsgid parameter to
23833 gmsgid. All callers changed.
dedd9d05 23834 (notice): Rename to fnotice; add parameter fp. All callers changed.
2dec80c7
JM
23835 (fatal_error): Rename to fatal_signal. All users changed.
23836 (fatal): Rename to fatal_error; change cmsgid parameter to
23837 gmsgid. All callers changed.
23838 (process_command): Use warning instead of error for warnings.
23839 (end_going_arg): Don't use _() around argument of error.
23840 (do_spec_1): Use inform for message from %n specs. Use warning
23841 instead of error for warnings.
23842 (main): Use inform for comparison messages. Use warning for
23843 message about unused linker input.
23844 (error): Increment error_count. Print "error: ".
23845 * gcc.h (fatal): Change to fatal_error.
23846 (warning): Declare.
23847 * config/darwin-driver.c (darwin_default_min_version): Use warning
23848 instead of fprintf for warnings.
dedd9d05 23849 * cppspec.c (lang_specific_driver): Use fatal_error instead of fatal.
2dec80c7 23850
dcd8b2ee
JB
238512010-05-28 Julian Brown <julian@codesourcery.com>
23852
23853 * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
23854 (*thumb2_addsi3_compare0_scratch): New.
23855 * config/arm/constraints.md (Pv): New.
23856 * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
23857 for ARM mode only.
23858 (*addsi3_compare0_scratch): Likewise.
23859
df24c2b8
JH
238602010-05-28 Jan Hubicka <jh@suse.cz>
23861
6c608111
EB
23862 * ipa-reference.c (add_static_var): Remove redundant all_module_statics
23863 check.
23864 (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
23865 only on local statics.
df24c2b8 23866
c3a9a336
IS
238672010-05-28 Iain Sandoe <iains@gcc.gnu.org>
23868
308e51aa 23869 * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
c3a9a336 23870
47089d42
MK
238712010-05-28 Maxim Kuvyrkov <maxim@codesourcery.com>
23872
23873 PR bootstrap/44314
23874 * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
23875 (OPTION_GLIBC): Define.
23876
005d613b
JJ
238772010-05-28 Jakub Jelinek <jakub@redhat.com>
23878
cced5e7f
JJ
23879 PR debug/41048
23880 * dwarf2out.c (double_int_type_size_in_bits): New function.
23881 (round_up_to_align): Change first argument and return value to
23882 double_int.
23883 (field_byte_offset): Work internally on double_ints.
23884
005d613b
JJ
23885 PR target/43636
23886 * builtins.c (expand_movstr): Use a temporary pseudo instead
23887 of target even when target is not NULL and not const0_rtx, but
23888 fails movstr predicate.
23889 * config/m32c/blkmov.md (movstr): Add predicate to first operand.
23890
7ca92787
JM
238912010-05-28 Joseph Myers <joseph@codesourcery.com>
23892
23893 * final.c (rest_of_clean_state): Use %m in errors instead of
23894 strerror (errno).
23895 * gengtype.c (read_input_list, close_output_files): Use xstrerror
23896 instead of strerror.
23897 * toplev.c (process_options): Use %m in errors instead of strerror
23898 (errno).
23899 * tree-dump.c (dump_begin): Use %m in errors instead of strerror
23900 (errno).
23901
8bf85f21
UB
239022010-05-28 Uros Bizjak <ubizjak@gmail.com>
23903
23904 * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
23905 (ix86_canonical_va_list_type): Make static. Add declaration.
23906 (ix86_enum_va_list): Make static. Reindent.
23907 * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
23908 (ix86_canonical_va_list_type): Ditto.
23909 (ix86_enum_va_list): Ditto.
23910
b5611987
RG
239112010-05-28 Richard Guenther <rguenther@suse.de>
23912
23913 * lto-wrapper.c (run_gcc): With -save-temps generate a
23914 user-visible ltrans filename. Fixup ltrans unit numbering.
23915
40dcd88b
KT
239162010-05-28 Kai Tietz <kai.tietz@onevision.com>
23917
d4048208
KT
23918 * c-common.c (c_common_nodes_and_builtins): Replace use
23919 of TARGET_ENUM_VA_LIST by target hook enum_va_list.
23920 * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
23921 to ix86_enum_va_list.
23922 * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
23923 * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
23924 (TARGET_ENUM_VA_LIST_P): Add hook description.
23925 * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
23926 * target.h (gcc_target): Add enum_va_list hook.
23927
40dcd88b
KT
23928 PR bootstrap/44299
23929 * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
23930 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
23931 * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
23932
1cb980a2
AM
239332010-05-28 Alan Modra <amodra@gmail.com>
23934
23935 PR target/44266
23936 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
23937 emit_library_call machinery to set up __tls_get_addr calls.
23938
b247e88a
AK
239392010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
23940
23941 * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
23942
ec4be2f4
DS
239432010-05-28 Dodji Seketeli <dodji@redhat.com>
23944
6c608111 23945 Revert fix for PR c++/44188
ec4be2f4
DS
23946 * c-common.c (is_typedef_decl): Revert the moving of this
23947 definition ...
23948 * tree.c (is_typedef_decl): ... here.
23949 (typdef_variant_p): Revert the moving of this definition
eed023cc 23950 here from cp/tree.c.
ec4be2f4
DS
23951 * c-common.h (is_typedef_decl): Revert the moving of this
23952 declaration ...
23953 * tree.h (is_typedef_decl): ... here.
23954 (typedef_variant_p): Revert the moving of this declaration here
eed023cc 23955 from cp/cp-tree.h
ec4be2f4
DS
23956 * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
23957 (gen_tagged_type_die): Revert the splitting out of ...
23958 (gen_type_die_with_usage): ... this function. Revert the anonymous
23959 tagged type handling.
23960 (gen_typedef_die): Revert emitting DW_TAG_typedef for
23961 typedefs naming anonymous tagged types.
23962
3fe7b63c
SB
239632010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
23964
23965 * config/rs6000/rs6000-modes.def (PSImode): Delete.
23966
f6b5d695
SB
239672010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
23968
23969 * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
23970 * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
23971 throughout.
23972 * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
23973 "xer" to "ca".
23974 Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
23975 XER_REGS to CA_REGS throughout.
23976 * config/rs6000/rs6000.h: Same.
23977 (ADDITIONAL_REGISTER_NAMES): Add "xer".
23978 * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO. Document
23979 that mode_iterator "P" is the size for arithmetic carries as well.
23980 * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
23981
47027bf3
JJ
239822010-05-28 Jakub Jelinek <jakub@redhat.com>
23983
23984 PR bootstrap/44255
23985 * combine.c (struct rtx_subst_pair): Define unconditionally.
23986 (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC,
23987 copy_rtx pair->to instead of cleanup_auto_inc_dec it.
23988 Call make_compound_operation on pair->to.
23989 (propagate_for_debug): Don't call make_compound_operation here.
23990 Always use simplify_replace_fn_rtx.
23991
239922010-05-27 Sterling Augustine <sterling@tensilica.com>
1b408ba1
SA
23993
23994 * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
23995 * config/xtensa/xtensa.c (override_options): Check
23996 TARGET_FORCE_NO_PIC and set flag_pic.
23997 * config/xtensa/xtensa.opt: Document -mforce-no-pic
23998
239992010-05-27 Kai Tietz <kai.tietz@onevision.com>
24000
0bc25dd0
KT
24001 PR bootstrap/44299
24002 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
24003 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
24004
1da2ed5f
JM
240052010-05-27 Joseph Myers <joseph@codesourcery.com>
24006
24007 * diagnostic-core.h: New. Contents moved from diagnostic.h and
24008 toplev.h.
24009 * diagnostic.c: Don't include toplev.h.
24010 (progname): Define. Moved from toplev.c.
24011 (seen_error): New function.
24012 * diagnostic.h: Include diagnostic-core.h.
24013 (diagnostic_t, emit_diagnostic): Don't declare here.
24014 * toplev.c (progname): Move to toplev.c.
24015 (emit_debug_global_declarations, compile_file, finalize,
24016 do_compile, toplev_main): Use seen_error.
24017 * toplev.h: Include diagnostic-core.h.
24018 (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
24019 internal_error, warning, warning_at, error, error_n, error_at,
24020 fatal_error, pedwarn, permerror, sorry, inform, inform_n,
24021 verbatim, fnotice, progname): Move to diagnostic-core.h.
24022 * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
24023 (expand_builtin_expect): Use seen_error.
24024 * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
24025 (c_make_fname_decl, c_write_global_declarations): Use seen_error.
24026 * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
24027 * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
24028 * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
24029 * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
24030 errorcount for errors.
24031 * c-opts.c (c_common_finish): Use seen_error.
24032 * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
24033 * cgraphunit.c (verify_cgraph_node, verify_cgraph,
24034 cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
24035 * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
24036 (get_coverage_counts): Use seen_error.
24037 * dwarf2out.c (dwarf2out_finish): Use seen_error.
24038 * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
24039 gimplify_body): Use seen_error.
24040 * ipa-inline.c (cgraph_early_inlining): Use seen_error.
24041 * ipa-pure-const.c (gate_pure_const): Use seen_error.
24042 * ipa-reference.c (gate_reference): Use seen_error.
24043 * jump.c: Include diagnostic-core.h instead of diagnostic.h.
24044 * lambda-code.c: Include diagnostic-core.h instead of
24045 diagnostic.h.
24046 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
24047 * lto-compress.c: Include diagnostic-core.h instead of
24048 diagnostic.h.
24049 * lto-section-in.c: Include diagnostic-core.h instead of
24050 diagnostic.h.
24051 * lto-streamer-out.c: Include diagnostic-core.h instead of
24052 diagnostic.h.
24053 * lto-streamer.c: Include diagnostic-core.h instead of
24054 diagnostic.h.
24055 (gate_lto_out): Use seen_error.
24056 * matrix-reorg.c: Include diagnostic-core.h instead of
24057 diagnostic.h.
24058 * omega.c: Include diagnostic-core.h instead of diagnostic.h.
24059 * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
24060 (gate_expand_omp, lower_omp_1): Use seen_error.
24061 * passes.c: Include diagnostic-core.h instead of diagnostic.h.
24062 (rest_of_decl_compilation, rest_of_type_compilation,
24063 gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
24064 * tree-cfg.c (label_to_block_fn): Use seen_error.
24065 * tree-inline.c (optimize_inline_calls): Use seen_error.
24066 * tree-mudflap.c (mudflap_finish_file): Use
24067 seen_error.
24068 * tree-optimize.c (gate_all_optimizations,
24069 gate_all_early_local_passes, gate_all_early_optimizations): Use
24070 seen_error.
24071 * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
24072 * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
24073 (varpool_remove_unreferenced_decls,
24074 varpool_assemble_pending_decls): Use seen_error.
24075 * Makefile.in (DIAGNOSTIC_CORE_H): Define.
24076 (TOPLEV_H, DIAGNOSTIC_H): Update.
24077 (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
24078 lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
24079 c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
24080 builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
24081 coverage.o, lambda-code.o): Update dependencies.
24082
fe08ec12
DS
240832010-05-25 Dodji Seketeli <dodji@redhat.com>
24084
24085 PR c++/44188
24086 * c-common.c (is_typedef_decl): Move this definition ...
24087 * tree.c (is_typedef_decl): ... here.
eed023cc 24088 (typdef_variant_p): Move definition here from cp/tree.c.
fe08ec12
DS
24089 * c-common.h (is_typedef_decl): Move this declaration ...
24090 * tree.h (is_typedef_decl): ... here.
eed023cc 24091 (typedef_variant_p): Move declaration here from cp/cp-tree.h
fe08ec12
DS
24092 * dwarf2out.c (is_naming_typedef_decl): New function.
24093 (gen_tagged_type_die): Split out of ...
24094 (gen_type_die_with_usage): ... this function. When an anonymous
24095 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
24096 is emitted for the typedef.
24097 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
24098 anonymous tagged types.
24099
b042534c
JM
241002010-05-27 Jason Merrill <jason@redhat.com>
24101
24102 * print-tree.c (debug_vec_tree): New fn.
24103 (print_vec_tree): New fn.
24104 * tree.h: Declare them.
24105 * gdbinit.in (pvt): New command.
24106
24107 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
24108
24109 * gdbinit.in (pdd): New command.
24110
cdc029b9
JH
241112010-05-27 Jan Hubicka <jh@suse.cz>
24112
24113 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
24114 (update_caller_keys): Return early if there are no callers;
24115 only update fibheap when decresing the key.
24116 (update_callee_keys): Avoid recursion.
24117 (decide_inlining_of_small_functions): When badness does not match;
24118 re-insert into fibheap.
24119
7a3b4887
SB
241202010-05-27 Steven Bosscher <steven@gcc.gnu.org>
24121
24122 * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
24123 (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
24124 (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
24125 (ALL_HOST_OBJS): Now a union of the above two.
24126 <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
24127 all files in ALL_HOST_FRONTEND_OBJS.
24128 * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
24129
24130 * c-common.c: Pretend to be a backend file by undefining
24131 IN_GCC_FRONTEND (still need rtl.h here).
24132
753d358d
JH
241332010-05-27 Jan Hubicka <jh@suse.cz>
24134
24135 * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
24136 * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
24137
88302d54
JH
241382010-05-27 Jan Hubicka <jh@suse.cz>
24139
24140 * sched-ebb.c: Rename struct deps to struct deps_desc.
24141 * ddg.c: Likewise.
24142 * sel-sched-ir.c: Likewise.
24143 * sched-deps.c: Likewise.
24144 * sched-int.h: Likewise.
24145 * sched-rgn.c: Likewise.
24146
f4a4b582 241472010-05-27 Jon Beniston <jon@beniston.com>
9bb81453
JB
24148
24149 PR 43726
308e51aa 24150 * config/lm32/lm32.h: Remove definition of
9bb81453
JB
24151 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
24152
7951d88a
EB
241532010-05-27 Eric Botcazou <ebotcazou@adacore.com>
24154
24155 PR lto/44230
24156 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
24157
fde9c428
RG
241582010-05-27 Richard Guenther <rguenther@suse.de>
24159
24160 PR tree-optimization/44284
24161 * tree-vect-stmts.c (vectorizable_assignment): Handle
24162 sign-changing conversions as simple copy.
24163
3714764d
MK
241642010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
24165
24166 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
24167 Bionic C library.
24168 (__gthread_active_p): Check for pthread_create if compiling against
24169 Bionic C library.
24170
51b9db92
MK
241712010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
24172
24173 Support compilation for Android platform. Reimplement -mandroid.
24174
24175 * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
24176 (*android*): Set ANDROID_DEFAULT.
24177 (arm*-*-linux*): Include linux-android.h.
24178 (arm*-*-eabi*): Don't include previous -mandroid implementation.
24179 * config/arm/eabi.h: Remove, move Android-specific parts ...
24180 * config/linux-android.h: ... here. New file.
24181 * config/arm/eabi.opt: Rename to ...
24182 * config/linux-android.opt: ... this.
24183 (mandroid): Allow -mno-android option. Initialize based on
24184 ANDROID_DEFAULT.
24185 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
24186 Move logic to corresponding LINUX_TARGET_* macros.
24187 (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
24188 * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
24189 (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
24190 Android definitions.
24191 (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
24192 * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
24193 Document.
24194
74c70253
MK
241952010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
24196
24197 Add support for Bionic C library
24198
24199 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
24200 macro.
24201 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
24202 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
24203
24204 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
24205 (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
24206 (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
24207 to support multiple C libraries. Handle Bionic.
24208 (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
24209 (BIONIC_DYNAMIC_LINKER64): Define.
24210 (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
24211 Update.
24212 (TARGET_HAS_SINCOS): Enable for Bionic.
24213
24214 * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
24215 the last option specified on command line take effect.
24216 (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
24217 (mbionic): New.
24218 (mglibc, muclibc): Update.
24219
24220 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
24221 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
24222 DEFAULT_LIBC.
24223
24224 * doc/invoke.texi (-mglibc, -muclibc): Update.
24225 (-mbionic): Document.
24226
3ef0694c
UW
242272010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
24228
24229 * c-common.h (c_register_addr_space): Add prototype.
24230 (ADDR_SPACE_KEYWORD): Remove.
24231 * c-common.c (c_register_addr_space): New function.
24232 (c_addr_space_name): Reimplement.
24233 (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
24234
24235 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
24236 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
24237
24238 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
24239 Remove TARGET_ADDR_SPACE_KEYWORDS.
24240
447924ef
JM
242412010-05-27 Joseph Myers <joseph@codesourcery.com>
24242
24243 * input.c: New file.
24244 * input.h (main_input_filename): Move declaration to toplev.h.
24245 * toplev.c (input_location, line_table): Move to input.c
24246 * toplev.h (main_input_filename): Move declaration from input.h.
24247 * tree.c (expand_location): Move to input.c.
24248 * Makefile.in (OBJS-common): Add input.o.
24249 (input.o): Add dependencies.
24250
62116e60
RG
242512010-05-27 Richard Guenther <rguenther@suse.de>
24252
24253 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
24254 for non-existant files.
24255 (fork_execute): Mark args_name file as deleted.
24256
64c31785
KT
242572010-05-27 Kai Tietz <kai.tietz@onevision.com>
24258
24259 PR bootstrp/44287
24260 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
24261 (narrow_signed_type): Likewise.
24262
e466e2ce
JH
242632010-05-26 Jan Hubicka <jh@suse.cz>
24264
24265 * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
24266 edge only when checking is enabled; check using former_clone_of;
24267 check inline clones too.
24268 (cgraph_materialize_clone): Record former_clone_of pointer.
24269 (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
24270 combining redirections; dump args_to_skip bitmap
24271 (cgraph_materialize_all_clones): Do no redirection here.
24272 * ipa-inline.c (inline_transform): Do redirection here.
24273 * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
24274 cheking only).
24275
e62d5d9f
SB
242762010-05-26 Steven Bosscher <steven@gcc.gnu.org>
24277
24278 * config/avr/avr-c.c: Do not include regs.h.
24279 Include cpplib.h for cpp_define and tree.h for c-common.h.
24280 * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
24281 * config/avr/t-avr: Fix dependencies for avr-c.o.
24282
d477d1fe
SB
242832010-05-26 Steven Bosscher <steven@gcc.gnu.org>
24284
24285 * explow.c (set_stack_check_libfunc): Adjust to accept name as a
24286 string instead of SYMBOL_REF rtx.
24287 * rtl.h (set_stack_check_libfunc): Move prototype from here...
24288 * libfuncs.h: ...to here. Adjust for explow.c change.
24289
ab9b814d
JM
242902010-05-26 Joseph Myers <joseph@codesourcery.com>
24291
24292 * pretty-print.c: Don't include ggc.h.
24293 (identifier_to_locale_alloc, identifier_to_locale_free): Define.
24294 (identifier_to_locale): Use them for allocation.
24295 * pretty-print.h (identifier_to_locale_alloc,
24296 identifier_to_locale_free): Declare.
24297 * toplev.c (alloc_for_identifier_to_locale): New.
24298 (general_init): Set identifier_to_locale_alloc and
24299 identifier_to_locale_free.
24300 * Makefile.in (pretty-print.o): Update dependencies.
24301
c9549072
EB
243022010-05-26 Eric Botcazou <ebotcazou@adacore.com>
24303
24304 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
24305 pointer types if they have different alignment or mode.
24306
bf44d792
AS
243072010-05-26 Anatoly Sokolov <aesok@post.ru>
24308
24309 * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
24310 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
24311 * config/sparc/sparc-protos.h (function_value): Remove declaration.
24312 * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
24313 sparc_function_value_regno_p): New functions.
24314 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
24315 TARGET_FUNCTION_VALUE_REGNO_P): Define.
24316 (function_value): Rename to...
24317 (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
24318 argument to 'outgoing'.
24319 (function_arg_record_value, function_arg_union_value,
24320 function_arg_vector_value): Update comment.
24321
4ad2e1ec
EB
243222010-05-26 Eric Botcazou <ebotcazou@adacore.com>
24323
24324 * dwarf2out.c (struct dw_fde_struct): Reorder flags.
24325 (fde_needed_for_eh_p): New predicate.
24326 (output_call_frame_info): Use it throughout to decide whether FDEs
24327 are needed for EH purpose.
24328 (dwarf2out_begin_prologue): Reorder assignments.
24329
4204425f
SP
243302010-05-26 Sebastian Pop <sebastian.pop@amd.com>
24331
24332 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
24333 special case loop->header.
24334 (is_predicated): New.
24335 (if_convertible_loop_p): Call it.
24336
e1449456
SP
243372010-05-26 Sebastian Pop <sebastian.pop@amd.com>
24338
24339 * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
24340 iterator in parameter. Do not generate code during the analysis.
24341 (tree_if_convert_cond_stmt): Removed.
24342 (tree_if_convert_stmt): Removed.
24343 (predicate_bbs): New.
24344 (if_convertible_loop_p): Call predicate_bbs.
24345 (tree_if_conversion): Simplify the top-level logic as predicate_bbs
24346 now contains all the analysis part.
24347
76b84776
SP
243482010-05-26 Sebastian Pop <sebastian.pop@amd.com>
24349
24350 * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
24351 statements in the analysis part.
24352 (tree_if_convert_stmt): Update comment.
24353 (remove_conditions_and_labels): New.
24354 (combine_blocks): Call remove_conditions_and_labels.
24355 (tree_if_conversion): Update comment.
24356
bc447143
SP
243572010-05-26 Sebastian Pop <sebastian.pop@amd.com>
24358
24359 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
24360 than 2 predecessors or more than 2 successors.
24361
6d795034
SP
243622010-05-26 Sebastian Pop <sebastian.pop@amd.com>
24363
24364 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
24365 of loops in which the data dependence analysis fails.
24366
d7309618
SP
243672010-05-26 Sebastian Pop <sebastian.pop@amd.com>
24368
24369 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
24370 CDI_POST_DOMINATORS.
24371 (tree_if_conversion): Same.
24372
7b371e73
SP
243732010-05-26 Sebastian Pop <sebastian.pop@amd.com>
24374
24375 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
24376
4ab71973
SP
243772010-05-26 Sebastian Pop <sebastian.pop@amd.com>
24378
24379 * tree-if-conv.c: Update copyright years. Fix comments.
24380 Fix indentation.
24381
a6766312
KT
243822010-05-26 Kai Tietz <kai.tietz@onevision.com>
24383
24384 * builtin-types.def (BT_INT128): New primitive type.
24385 (BT_UINT128): Likewise.
24386 * c-common.c (c_common_r): Add __int128 keyword.
24387 (c_common_type_for_size): Handle __int128.
24388 (c_common_type_for_mode): Likewise.
24389 (c_common_signed_or_unsigned_type): Likewise.
24390 (c_common_nodes_and_builtins): Add builtin type
24391 if target supports 128-bit integer scalar.
24392 * c-common.h (enum rid): Add RID_INT128.
24393 * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
24394 if target supports 128-bit integer scalar.
ade52657 24395 * c-decl.c (declspecs_add_type): Handle new keyword __int128.
a6766312
KT
24396 (finish_declspecs): Likewise.
24397 * c-parser.c (c_token_starts_typename): Handle RID_INT128.
24398 (c_token_starts_declspecs): Likewise.
24399 (c_parser_declspecs): Likewise.
24400 (c_parser_attributes): Likewise.
24401 (c_parser_objc_selector): Likewise.
24402 * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
24403 * c-tree.h (enum c_typespec_keyword): Add cts_int128.
24404 * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
24405 * tree.c (make_or_reuse_type): Likewise.
24406 (make_unsigned_type): Likewise.
24407 (build_common_tree_nodes_2): Likewise.
24408 * tree.h (enum integer_type_kind): Add itk_int128 and
24409 itk_unsigned_int128.
ade52657 24410 (int128_integer_type_node): New define.
a6766312 24411 (int128_unsigned_type_node): New define.
a6766312
KT
24412 * doc/extend.texi: Add documentation about __int128 type.
24413
880ad25f
RG
244142010-05-26 Richard Guenther <rguenther@suse.de>
24415
24416 * tree-ssa-sccvn.c (copy_nary): Adjust.
24417 (copy_phis): Rename to ...
24418 (copy_phi): ... this. Adjust.
24419 (copy_references): Rename to ...
24420 (copy_reference): ... this. Adjust.
24421 (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
24422 result into the valid table.
24423
52642070
SB
244242010-05-26 Steven Bosscher <steven@gcc.gnu.org>
24425
24426 * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
24427 insn-config.h, insn-codes.h, recog.h, and optabs.h.
24428
58cd6303
LB
244292010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
24430
ade52657 24431 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
58cd6303 24432
c3a02647
RG
244332010-05-26 Richard Guenther <rguenther@suse.de>
24434
24435 * opts.c (common_handle_option): Handle OPT_Ofast.
24436
5f0f4a3b
JM
244372010-05-26 Joseph Myers <joseph@codesourcery.com>
24438
24439 * diagnostic.c: Don't include opts.h.
24440 (permissive_error_option): Define.
24441 (diagnostic_initialize): Take n_opts parameter. Allocate memory
24442 for classify_diagnostic. Don't use memset for
24443 classify_diagnostic. Initialize new and recently added fields.
24444 (diagnostic_classify_diagnostic): Use context->n_opts instead of
24445 N_OPTS.
24446 (diagnostic_report_diagnostic): Pass context parameter to
24447 diagnostic_report_warnings_p. Use option_enabled and option_name
24448 hooks from context.
24449 (emit_diagnostic): Use permissive_error_option.
24450 (permerror): Likewise.
24451 * diagnostic.h: Don't include options.h.
24452 (struct diagnostic_context): Add n_opts, opt_permissive,
24453 inhibit_warnings, warn_system_headers, option_enabled and
24454 option_name fields. Change classify_diagnostic to a pointer.
24455 * opts-diagnostic.h: New file.
24456 * opts.c: Include opts-diagnostic.h.
24457 (common_handle_option): Set global_dc fields for -Wfatal-errors,
24458 -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
24459 (option_name): New function.
24460 * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
24461 (c_common_handle_option): Set global_dc->permissive for
24462 -fpermissive.
24463 * c-common.c (c_cpp_error): Save and restore
24464 global_dc->warn_system_headers, not variable warn_system_headers.
24465 * toplev.c: Include opts-diagnostic.h.
24466 (general_init): Update call to diagnostic_initialize. Set
24467 global_dc->show_column, global_dc->option_enabled and
24468 global_dc->option_name.
24469 (process_options): Don't set global_dc fields here.
24470 * Makefile.in (DIAGNOSTIC_H): Remove options.h.
24471 (diagnostic.o, opts.o, toplev.o): Update dependencies.
24472
f024f85d
HS
244732010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
24474
24475 * config/picochip/picochip.md (movsi): Split a movsi from a
24476 const after reload.
24477
e4dfaf72
LB
244782010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
24479
24480 * ggc-zone.c: Update copyright year.
24481 (poison_region): Mark memory for Valgrind as undefined before
24482 memset () call and inaccessible afterwards.
24483 (ggc_pch_total_size): Change type of i to int.
24484
244852010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
24486
24487 * ggc-common.c (ggc_free_overhead): Allow empty slot.
24488
244892010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
24490
24491 * ggc-common.c: Update copyright year.
24492 (ggc_rlimit_bound): Remove prototype. Compile only if
24493 !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
24494 (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
24495 && !ENABLE_GC_ALWAYS_COLLECT. Make static.
24496 (ggc_min_heapsize_heuristic): Likewise.
24497
630d3fad
RG
244982010-05-26 Richard Guenther <rguenther@suse.de>
24499
24500 PR rtl-optimization/44164
24501 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
24502 no-common access-path disambiguation.
24503 (indirect_ref_may_alias_decl_p): Adjust.
24504 (indirect_refs_may_alias_p): Likewise.
24505 (refs_may_alias_p_1): Likewise.
24506
b9b6c084
SB
245072010-05-26 Steven Bosscher <steven@gcc.gnu.org>
24508
24509 * c-typeck.c: Do not include expr.h.
24510
d347d97e
SB
245112010-05-26 Steven Bosscher <steven@gcc.gnu.org>
24512
24513 * rtl.h (decl_default_tls_model): Move prototype from here...
24514 * output.h: ...to here.
24515 * c-decl.c: Do not include rtl.h.
24516 * c-pragma.c: Likewise.
24517 * c-parser.c: Likewise.
24518 * c-gimplify.c: Likewise. And also not hard-reg-set.
24519 * c-common.c: Do not include rtl.h. Include tm_p.h and add a
24520 FIXME note for it. Add a FIXME note for expr.h.
24521 * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
24522 ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
24523 defined.
24524
0d65bdbb
JJ
245252010-05-26 Jakub Jelinek <jakub@redhat.com>
24526
24527 PR target/44199
24528 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
24529 or total_size is larger than red zone size for non-V4 ABI, emit a
24530 stack_tie resp. frame_tie insn before stack pointer restore.
24531 * config/rs6000/rs6000.md (frame_tie): New insn.
24532
8f4f502f
EB
245332010-05-25 Eric Botcazou <ebotcazou@adacore.com>
24534
24535 * function.h (struct function): Add can_throw_non_call_exceptions bit.
24536 * lto-streamer-in.c (input_function): Stream it in.
24537 * lto-streamer-out.c (output_function): Stream it out.
24538 * function.c (allocate_struct_function): Set it.
24539 (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
24540 for flag_non_call_exceptions.
24541 * cfgbuild.c (control_flow_insn_p): Likewise.
24542 (make_edges): Likewise.
24543 * cfgexpand.c (expand_stack_alignment): Likewise.
24544 * combine.c (distribute_notes): Likewise.
24545 * cse.c (cse_extended_basic_block): Likewise.
24546 * except.c (insn_could_throw_p): Likewise.
24547 * gcse.c (simple_mem): Likewise.
24548 * ipa-pure-const.c (check_call): Likewise.
24549 (check_stmt ): Likewise.
24550 * lower-subreg.c (lower-subreg.c): Likewise.
24551 * optabs.c (emit_libcall_block): Likewise.
24552 (prepare_cmp_insn): Likewise.
24553 * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
24554 * postreload.c (rest_of_handle_postreload): Likewise.
24555 * reload1.c (reload_as_needed): Likewise.
24556 (emit_input_reload_insns): Likewise.
24557 (emit_output_reload_insns): Likewise.
24558 (fixup_abnormal_edges): Likewise.
24559 * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
24560 * store-motion.c (find_moveable_store): Likewise.
24561 * tree-eh.c (stmt_could_throw_p): Likewise.
24562 (tree_could_throw_p): Likewise.
24563 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
24564 * config/arm/arm.c (arm_expand_prologue): Likewise.
24565 (thumb1_expand_prologue): Likewise.
24566 * config/rx/rx.md (cbranchsf4): Likewise.
24567 (cmpsf): Likewise.
24568 * config/s390/s390.c (s390_emit_prologue): Likewise.
24569 * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
24570 (inline_forbidden_into_p): New predicate.
24571 (expand_call_inline): Use it to forbid inlining.
24572 (tree_can_inline_p): Likewise.
24573
c962b78d
SB
245742010-05-25 Steven Bosscher <steven@gcc.gnu.org>
24575
24576 * config/i386/i386-c.c: Do not include rtl.h.
24577 * config/i386/t-i386: Update dependencies.
24578
afb67dc2
SB
245792010-05-25 Steven Bosscher <steven@gcc.gnu.org>
24580
24581 * attribs.c: Do not include rtl.h.
24582 * Makefile.in: Update dependencies.
24583
e233a3b2
AS
245842010-05-25 Anatoly Sokolov <aesok@post.ru>
24585
24586 * double-int.h (double_int_and): New.
24587 * combine.c (try_combine): Clean up, use double_int_* and
24588 immed_double_int_const functions.
24589
bc492e47
RO
245902010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
24591
24592 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
24593 stderr to /dev/null instead of grep -q.
24594 * configure: Regenerate.
24595
245763e3
SB
245962010-05-25 Steven Bosscher <steven@gcc.gnu.org>
24597
24598 * Makefile.in (EXCEPT_H): Fix typo.
24599
f4a4b582 246002010-05-25 Vladimir Makarov <vmakarov@redhat.com>
4ac293e2
VM
24601
24602 * ira-build.c (update_conflict_hard_reg_costs): New.
24603 (ira_build): Call update_conflict_hard_reg_costs.
24604
60a5d78a
JJ
246052010-05-25 Jakub Jelinek <jakub@redhat.com>
24606
bb9862c6
JJ
24607 PR debug/41371
24608 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
24609 ENABLE_CHECKING.
24610 (intersect_loc_chains): Walk the s2var's loc_chain together
24611 with s1node chain as long as the locations are equal, don't
24612 call find_loc_in_1pdv in that case.
24613
60a5d78a
JJ
24614 PR debug/42801
24615 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
24616 (copy_bind_expr): ... instead of here.
24617 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
24618 if the block hasn't been remapped.
24619 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
24620 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
24621
c946a318
RG
246222010-05-25 Richard Guenther <rguenther@suse.de>
24623
24624 PR middle-end/44069
24625 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
24626 out-of-bounds array accesses.
24627
50ee30d5
RG
246282010-05-25 Richard Guenther <rguenther@suse.de>
24629
24630 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
24631 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
24632 (run_gcc): Re-organize to make cleanup easier.
24633
ca1930ce
AK
246342010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
24635
24636 * config/s390/s390.c (optimization_options): Fix and move the
24637 flag_prefetch_loop_arrays override ...
24638 (override_options): ... here.
24639
a13812e2
JM
246402010-05-25 Joseph Myers <joseph@codesourcery.com>
24641
24642 * diagnostic.c: Don't include plugin.h.
24643 (diagnostic_report_diagnostic): Don't handle plugins specially
24644 here. Pass context to internal_error callback.
24645 * diagnostic.h (struct diagnostic_context): Add context parameter
24646 to internal_error callback.
ade52657 24647 * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
a13812e2
JM
24648 * plugin.h (struct diagnostic_context): Declare.
24649 (warn_if_plugins, plugins_internal_error_function): Declare.
24650 * toplev.c (general_init): Set global_dc->internal_error.
24651 * Makefile.in (diagnostic.o): Update dependencies.
24652
a691bb08 246532010-05-25 Iain Sandoe <iains@gcc.gnu.org>
9a2d05e0
IS
24654
24655 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
24656 * config/rs6000/t-darwin64: New.
24657 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
24658 build crt2.
24659
8fde8b40
CB
246602010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
24661
24662 PR 44203
24663 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
24664 match the original (and intended) behaviour before r159557. This
24665 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
24666 in two ways.
24667
be6d3f0e
RG
246682010-05-25 Richard Guenther <rguenther@suse.de>
24669
24670 * doc/invoke.texi: Document -Ofast.
24671 * target.h (struct gcc_target): Add handle_ofast.
24672 * target-def.h (TARGET_HANDLE_OFAST): Add.
24673 (TARGET_INITIALIZER): Adjust.
ade52657 24674 * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
be6d3f0e
RG
24675 * common.opt (Ofast): Add.
24676
ac5eda13
PB
246772010-05-25 Paolo Bonzini <bonzini@gnu.org>
24678
24679 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
24680 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
24681
246822010-05-25 Paolo Bonzini <bonzini@gnu.org>
6597fd0b
PB
24683
24684 PR target/43610
24685 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
24686 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
24687 false_rtx. Use false_rtx to compute the correct *ptest for reversed
24688 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
24689
9d4545b2
JJ
246902010-05-25 Jakub Jelinek <jakub@redhat.com>
24691
24692 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
24693 DW_OP_minus with negated offset instead of DW_OP_plus.
ade52657 24694 (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
9d4545b2 24695
ee4e1706
WG
246962010-05-25 Wei Guozhi <carrot@google.com>
24697
24698 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
24699 tst instruction and a new alternative.
24700 * config/arm/constraints.md (Pu): New constraint.
24701
427188d5
SP
247022010-05-24 Sebastian Pop <sebastian.pop@amd.com>
24703
24704 * function.c (assign_stack_local_1): Initialize variable
24705 to avoid warning when bootstrapping at -O3.
24706
96ee6e08
SB
247072010-05-24 Steven Bosscher <steven@gcc.gnu.org>
24708
24709 * configure.ac (all_lang_makefiles): Remove everything related to it.
24710 * configure: Regenerate.
24711 * Makefile.in: Fix reference to ada Make-lang.in.
24712 Remove support for LANG_MAKEFILES.
24713
1ab55d69
MK
247142010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
24715 Sandra Loosemore <sandra@codesourcery.com>
24716
24717 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
24718 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
24719 description. Add arm_neon_fp16_ok.
24720 (Add Options): Add arm_neon and arm_neon_fp16.
24721
243fbddd
JM
247222010-05-24 Joseph Myers <joseph@codesourcery.com>
24723
24724 * diagnostic.c: Don't include flags.h.
24725 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
ade52657 24726 context parameters. Check flags in the context passed as a parameter.
243fbddd
JM
24727 (diagnostic_build_prefix): Add context parameter. Check
24728 show_column flag in context.
ade52657
UB
24729 (diagnostic_action_after_output): Check fatal_errors flag in context.
24730 (diagnostic_report_current_module): Check show_column flag in context.
243fbddd
JM
24731 (default_diagnostic_starter): Update call to
24732 diagnostic_build_prefix.
ade52657 24733 (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
243fbddd
JM
24734 (emit_diagnostic): Pass context to permissive_error_kind.
24735 (permerror): Pass context to permissive_error_kind.
24736 * diagnostic.h (struct diagnostic_context): Add show_column,
24737 pedantic_errors, permissive and fatal_errors fields.
24738 (diagnostic_build_prefix): Update prototype.
24739 * langhooks.c
24740 * toplev.c (process_options): Set flags in global_dc from
24741 flag_show_column, flag_pedantic_errors, flag_permissive,
24742 flag_fatal_errors.
24743 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
24744 to diagnostic_build_prefix.
24745 * Makefile.in (diagnostic.o): Update dependencies.
24746
42f40af4
L
247472010-05-24 H.J. Lu <hongjiu.lu@intel.com>
24748
24749 * config/i386/ia32intrin.h (__crc32q): Define only if
24750 __SSE4_2__ is defined.
24751
1db0429a
IS
247522010-05-24 Iain Sandoe <iains@gcc.gnu.org>
24753
24754 PR target/44132
24755 PR middle-end/43602
24756 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
24757 DECL_VISIBILITY_SPECIFIED.
24758 (emutls_decl): Set DECL_PRESERVE_P and copy
24759 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
24760 (emutls_finalize_control_var): New callback.
24761 (emutls_finish): Finalize emutls control variables.
ade52657 24762 * toplev.c (compile_file): Move the call to emutls_finish ()
1db0429a
IS
24763 before varpool_assemble_pending_decls ().
24764
e72e2da4
DG
247652010-05-24 Daniel Gutson <dgutson@codesourcery.com>
24766
24767 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
24768 added to the preprocessor condition.
24769
b748fbd6
PB
247702010-05-24 Paul Brook <paul@codesourcery.com>
24771
24772 * gengtype-lex.l: Add HARD_REG_SET.
24773 * expr.c (expand_expr_real_1): Record writes to hard registers.
24774 * function.c (rtl_data): Add asm_clobbers.
24775 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
24776 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
24777 Use crtl->asm_clobbers.
24778
9888e9cf
RW
247792010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24780
24781 * doc/makefile.texi (Makefile): Mention stages 'profile'
24782 and 'feedback' for profiledbootstrap.
24783
cf5b989e
L
247842010-05-23 H.J. Lu <hongjiu.lu@intel.com>
24785
24786 PR target/44245
24787 * config/i386/i386.c (def_builtin): Properly check
24788 OPTION_MASK_ISA_64BIT.
24789
dc5027f4
JM
247902010-05-23 Joseph Myers <joseph@codesourcery.com>
24791
24792 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
24793 typedefs with different but compatible types. Allow duplicate
24794 typedefs with the same type except for pedantic non-C1X, but give
24795 warning for variably modified types.
24796 * c-typeck.c (tagged_types_tu_compatible_p,
24797 function_types_compatible_p, type_lists_compatible_p,
24798 comptypes_internal): Add parameter different_types_p; set
24799 *different_types_p for different but compatible types. All
24800 callers changed.
24801 (comptypes_check_different_types): New.
24802 * c-tree.h (comptypes_check_different_types): Declare.
24803
2d1a4cc1
SB
248042010-05-23 Steven Bosscher <steven@gcc.gnu.org>
24805
ade52657 24806 * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
2d1a4cc1
SB
24807 * jump.c: Include basic-block.h.
24808 * profile.c: Likewise.
24809 * tree-profile.c: Likewise.
24810 * coverage.c: Likewise.
24811 * basic-block.h (optimize_function_for_size_p): Move to function.h.
24812 (optimize_function_for_speed_p): Likewise.
24813 * function.h (optimize_function_for_size_p,
24814 optimize_function_for_speed_p): Moved here from basic-block.h.
539bac37 24815 * Makefile.in: Update dependencies.
2d1a4cc1 24816
5767217f
RW
248172010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24818
24819 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
24820 before calling make; allow override through $MAKE.
24821 * doc/invoke.texi (Optimize Options): Document override.
24822
7a955d62
AS
248232010-05-23 Anatoly Sokolov <aesok@post.ru>
24824
24825 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
24826 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
24827 (rs6000_mode_dependent_address_ptr): Make static.
24828 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
24829 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
24830 Remove.
24831
362ff46e 248322010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
7b37a805
ML
24833
24834 PR target/43869
24835 * config/i386/i386.c: Make sure that the correct regparm is passed.
24836
9ecb1730
SB
248372010-05-23 Steven Bosscher <steven@gcc.gnu.org>
24838
24839 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
24840 * sbitmap.c: ...to here to internalize sbitmap element access.
24841 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
24842 Explain why basic-block.h is included.
24843 * function.h: Include tm.h for CUMULATIVE_ARGS.
24844 * Makefile.in: Update dependencies.
24845
7a8cba34
SB
248462010-05-22 Steven Bosscher <steven@gcc.gnu.org>
24847
24848 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
24849 New core types.
24850 * sbitmap.h (struct sbitmap_def): Do not typedef here.
24851 * sbitmap.c: Include sbitmap.h.
24852 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
24853 hard-reg-set.h. Split everything related to regsets out from here...
24854 * regset.h: ...to here. New file.
24855 * df.h: Include regset.h and sbitmap.h.
24856 * tree-flow.h: Likewise.
24857 * cfgloop.h: Likewise.
24858 * except.h: Do not include sbitmap.h. Include hashtab.h.
24859 * cgraph.h: Include vec.h and function.h.
24860 * reload.h (struct insn_chain): Change types of live_throughout
24861 and dead_or_set from regset_head to bitmap_head.
24862 (compute_use_by_pseudos): Be defined also if regset.h is not included.
24863 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
24864 spilled_regs from regset_head to bitmap_head to avoid dependency
24865 in regset.h.
24866 * sel-sched-ir.h: Include regset.h.
24867 * reload.c: Include df.h before reload.h.
24868 * caller-save.c: Likewise.
24869 * reload1.c: Likewise.
24870 * ira.c: Likewise.
24871 (mark_elimination): Update type of r to bitmap, consistent with
24872 DF_LR_IN.
24873 * dominance.c: Include bitmap.h.
24874 * modulo-sched.c: Include df.h.
24875 * cfganal.c: Include bitmap.h and sbitmap.h.
24876 * cfgbuild.c: Include sbitmap.h.
24877 * lcm.c: Include sbitmap.h.
24878 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
24879 * domwalk.c: Include sbitmap.h, exclude ggc.h.
24880 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
24881 * cselib.c: Include bitmap.h.
24882 * tree-optimize.c: Include regset.h.
24883 * stmt.c: Include bitmap.h.
24884 * Makefile.in: Update dependencies.
24885
9f90e80a
JH
248862010-05-22 Jan Hubicka <jh@suse.cz>
24887
24888 * cgraph.h (struct varpool_node): Add same_comdat_group.
24889 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
24890 pointer.
24891 (output_varpool): Update call of lto_output_varpool_node.
24892 (input_varpool): Read same_comdat_group pointer.
24893 (input_varpool_1): Fixup same_comdat_group pointer.
24894 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
24895 group is needed, all are.
24896 * varpool.c (varpool_remove_node): Remove node from same comdat group
24897 linklist too.
24898 (varpool_analyze_pending_decls): Walk same comdat groups.
24899
a2c9fe42
SB
249002010-05-22 Steven Bosscher <steven@gcc.gnu.org>
24901
24902 * rtl.h (union rtunion_def): Remove rt_bit member.
24903 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
24904 * print-rtl (print_rtx): Do not print the member.
24905 * gengtype.c (adjust_field_rtx_def): Do not handle it.
24906 * gengenrtl.c (type_from_format): Likewise.
24907 (accessor_from_format): Likewise.
24908
3b2ce251
JM
249092010-05-22 Joseph Myers <joseph@codesourcery.com>
24910
24911 * dbgcnt.c: Include toplev.h instead of errors.h.
24912 * ira-emit.c: Don't include errors.h.
24913 * ira.c: Include toplev.h instead of errors.h.
24914 * lto-compress.c: Include toplev.h instead of errors.h.
24915 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
24916 ira.o, dbgcnt.o): Update dependencies.
24917
bd9eb5da
RG
249182010-05-22 Richard Guenther <rguenther@suse.de>
24919
24920 * gimple.c (gimple_types_compatible_p): Check type qualifications
24921 before merging pointer to complete and pointer to incomplete type.
24922 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
24923 we use our own resolution algorithm. The gold linker plugin
24924 doesn't do the job we want it to do here.
24925
277e2873
AS
249262010-05-22 Anatoly Sokolov <aesok@post.ru>
24927
24928 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
24929 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
24930 (sparc_mode_dependent_address_p): New function.
24931
613b1547
SB
249322010-05-21 Steven Bosscher <steven@gcc.gnu.org>
24933
24934 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
24935
24936 * timevar.c: Do not include any core headers.
24937 (timevar_print): De-i18n-ize.
24938 (print_time): Likewise.
24939 * timevar.h (timevar_push, timevar_pop): Make inline functions.
24940
cf835838
JM
249412010-05-21 Joseph Myers <joseph@codesourcery.com>
24942
24943 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
24944 langhooks-def.h.
24945 (diagnostic_initialize): Initialize x_data not last_function.
24946 (diagnostic_report_current_function): Move to tree-diagnostic.c.
24947 (default_diagnostic_starter): Call
24948 diagnostic_report_current_module not
24949 diagnostic_report_current_function.
24950 (diagnostic_report_diagnostic): Initialize x_data not
24951 abstract_origin.
24952 (verbatim): Likewise.
24953 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
24954 x_data.
24955 (struct diagnostic_context): Change last_function to x_data.
24956 (diagnostic_auxiliary_data): Replace with
24957 diagnostic_context_auxiliary_data and
24958 diagnostic_info_auxiliary_data.
24959 (diagnostic_last_function_changed, diagnostic_set_last_function,
24960 diagnostic_report_current_function): Move to tree-diagnostic.h.
24961 (print_declaration, dump_generic_node, print_generic_stmt,
24962 print_generic_stmt_indented, print_generic_expr,
24963 print_generic_decl, debug_c_tree, dump_omp_clauses,
24964 print_call_name, debug_generic_expr, debug_generic_stmt,
24965 debug_tree_chain, default_tree_printer): Move to
24966 tree-pretty-print.h.
24967 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
24968 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
24969 gimple-pretty-print.h.
24970 * pretty-print.c: Don't include tree.h
24971 (pp_base_format): Don't handle %K here.
24972 (pp_base_tree_identifier): Move to tree-pretty-print.c.
24973 * pretty-print.h (text_info): Change abstract_origin to x_data.
24974 (pp_tree_identifier, pp_unsupported_tree,
24975 pp_base_tree_identifier): Move to tree-pretty-print.h.
24976 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
24977 tree-pretty-print.h: New files.
24978 * tree-pretty-print.c: Include tree-pretty-print.h.
24979 (percent_K_format): New. Moved from pretty-print.c.
24980 (pp_base_tree_identifier): Move from pretty-print.c.
24981 * c-objc-common.c: Include tree-pretty-print.h.
24982 (c_tree_printer): Handle %K here.
24983 * langhooks.c: Include tree-diagnostic.h.
24984 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
24985 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
24986 (default_tree_printer): Handle %K using percent_K_format.
24987 (general_init): Use default_tree_diagnostic_starter.
24988 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
24989 (free_lang_data): Use default_tree_diagnostic_starter.
24990 * c-pretty-print.c: Include tree-pretty-print.h.
ade52657
UB
24991 * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
24992 * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
24993 * dwarf2out.c: Include tree-pretty-print.h.
24994 * except.c: Include tree-pretty-print.h.
24995 * gimple-pretty-print.c: Include tree-pretty-print.h and
24996 gimple-pretty-print.h.
24997 * gimplify.c: Include tree-pretty-print.h.
24998 * graphite-poly.c: Include tree-pretty-print.h and
24999 gimple-pretty-print.h.
25000 * ipa-cp.c: Include tree-pretty-print.h.
25001 * ipa-inline.c: Include gimple-pretty-print.h.
ade52657 25002 * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
25003 * ipa-pure-const.c: Include gimple-pretty-print.h.
25004 * ipa-struct-reorg.c: Include tree-pretty-print.h and
25005 gimple-pretty-print.h.
25006 * ipa-type-escape.c: Include tree-pretty-print.h.
25007 * print-rtl.c: Include tree-pretty-print.h.
25008 * print-tree.c: Include gimple-pretty-print.h.
25009 * sese.c: Include tree-pretty-print.h.
25010 * tree-affine.c: Include tree-pretty-print.h.
25011 * tree-browser.c: Include tree-pretty-print.h.
25012 * tree-call-cdce.c: Include gimple-pretty-print.h.
ade52657 25013 * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
25014 * tree-chrec.c: Include tree-pretty-print.h.
25015 * tree-data-ref.c: Include tree-pretty-print.h and
25016 gimple-pretty-print.h.
25017 * tree-dfa.c: Include tree-pretty-print.h.
25018 * tree-if-conv.c: Include tree-pretty-print.h and
25019 gimple-pretty-print.h.
25020 * tree-inline.c: Include tree-pretty-print.h.
25021 * tree-into-ssa.c: Include tree-pretty-print.h and
25022 gimple-pretty-print.h.
25023 * tree-nrv.c: Include tree-pretty-print.h.
25024 * tree-object-size.c: Include tree-pretty-print.h and
25025 gimple-pretty-print.h.
25026 * tree-outof-ssa.c: Include tree-pretty-print.h and
25027 gimple-pretty-print.h.
25028 * tree-parloops.c: Include tree-pretty-print.h and
25029 gimple-pretty-print.h.
25030 * tree-predcom.c: Include tree-pretty-print.h and
25031 gimple-pretty-print.h.
25032 * tree-scalar-evolution.c: Include tree-pretty-print.h and
25033 gimple-pretty-print.h.
25034 * tree-sra.c: Include tree-pretty-print.h.
25035 * tree-ssa-address.c: Include tree-pretty-print.h.
25036 * tree-ssa-alias.c: Include tree-pretty-print.h.
25037 * tree-ssa-ccp.c: Include tree-pretty-print.h and
25038 gimple-pretty-print.h.
25039 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
25040 * tree-ssa-copy.c: Include tree-pretty-print.h and
25041 gimple-pretty-print.h.
25042 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
25043 * tree-ssa-dce.c: Include tree-pretty-print.h and
25044 gimple-pretty-print.h.
25045 * tree-ssa-dom.c: Include tree-pretty-print.h and
25046 gimple-pretty-print.h.
25047 * tree-ssa-dse.c: Include gimple-pretty-print.h.
25048 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
25049 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
25050 * tree-ssa-live.c: Include tree-pretty-print.h and
25051 gimple-pretty-print.h.
25052 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
25053 gimple-pretty-print.h.
25054 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
25055 gimple-pretty-print.h.
25056 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
25057 gimple-pretty-print.h.
25058 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
25059 gimple-pretty-print.h.
25060 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
25061 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
25062 * tree-ssa-operands.c: Include tree-pretty-print.h and
25063 gimple-pretty-print.h.
25064 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
25065 gimple-pretty-print.h.
25066 * tree-ssa-pre.c: Include tree-pretty-print.h and
25067 gimple-pretty-print.h.
25068 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
25069 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
25070 gimple-pretty-print.h.
25071 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
25072 gimple-pretty-print.h.
25073 * tree-ssa-sink.c: Include gimple-pretty-print.h.
25074 * tree-ssa-ter.c: Include tree-pretty-print.h and
25075 gimple-pretty-print.h.
25076 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
25077 * tree-ssa.c: Include tree-pretty-print.h and
25078 gimple-pretty-print.h.
25079 * tree-stdarg.c: Include gimple-pretty-print.h.
25080 * tree-switch-conversion.c: Include gimple-pretty-print.h.
25081 * tree-tailcall.c: Include tree-pretty-print.h and
25082 gimple-pretty-print.h.
25083 * tree-vect-data-refs.c: Include tree-pretty-print.h and
25084 gimple-pretty-print.h.
25085 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
25086 gimple-pretty-print.h.
25087 * tree-vect-loop.c: Include tree-pretty-print.h and
25088 gimple-pretty-print.h.
25089 * tree-vect-patterns.c: Include gimple-pretty-print.h.
25090 * tree-vect-slp.c: Include tree-pretty-print.h and
25091 gimple-pretty-print.h.
25092 * tree-vect-stmts.c: Include tree-pretty-print.h and
25093 gimple-pretty-print.h.
25094 * tree-vectorizer.c: Include tree-pretty-print.h.
25095 * tree-vrp.c: Include tree-pretty-print.h and
25096 gimple-pretty-print.h.
25097 * value-prof.c: Include tree-pretty-print.h and
25098 gimple-pretty-print.h.
25099 * var-tracking.c: Include tree-pretty-print.h.
25100 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
25101 (tree-diagnostic.o): New dependencies.
25102 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
25103 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
25104 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
25105 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
25106 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
25107 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
25108 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
25109 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
25110 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
25111 tree-ssa-address.o, tree-ssa-loop-niter.o,
25112 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
25113 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
25114 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
25115 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
25116 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
25117 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
25118 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
25119 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
25120 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
25121 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
25122 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
25123 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
25124 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
25125 tree-switch-conversion.o, var-tracking.o, value-prof.o,
25126 cfgexpand.o, pretty-print.o): Update dependencies.
25127
cf4f4175
AT
251282010-05-22 Andreas Tobler <andreast@fgznet.ch>
25129
25130 * tree-ssa-structalias.c: Remove tm_p.h from include.
25131
c6d0f11a
JL
251322010-05-21 Jeff Law <law@redhat.com>
25133
25134 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
25135
d3f28910
JM
251362010-05-21 Jason Merrill <jason@redhat.com>
25137
25138 * tree-eh.c (cleanup_is_dead_in): New.
25139 (lower_try_finally): Don't generate a dead cleanup region.
25140 (lower_cleanup): Likewise.
25141
14db98d4
JJ
251422010-05-21 Jakub Jelinek <jakub@redhat.com>
25143
25144 PR debug/44223
25145 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
25146 unchain each use from the cyclic next_regno_use chain first.
25147
d49b6e1e
SB
251482010-05-21 Steven Bosscher <steven@gcc.gnu.org>
25149
25150 * real: Do not include gmp.h, mpfr.h, and mpc.h.
25151 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
25152 (real_value_negate, real_value_abs): New prototypes.
25153 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
25154 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
25155 new include file for interface between MPFR and REAL_VALUE_TYPE.
25156 * real.c: Include realmpfr.h.
25157 (real_arithmetic2): Remove legacy function.
25158 (real_value_negate): New.
25159 (real_value_abs): New.
25160 (mfpr_from_real, real_from_mpfr): Move from here...
25161 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
25162 * builtins.c: Include realmpfr.h.
25163 * fold-const.c: Include realmpfr.h.
25164 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
25165 (fold_negate_const): Likewise.
25166 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
25167 * toplev.c: Include realmpfr.h.
25168 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
25169 and real_value_negate.
25170 * fixed-value.c (check_real_for_fixed_mode): Likewise.
25171 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
25172 (vfp3_const_double_index): Likewise.
25173 (arm_print_operand): Likewise.
25174 * Makefile.in: Update dependencies.
25175
5b4b1c9a
AK
251762010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
25177
25178 * config/s390/s390.c (override_options): Increase the default
25179 of max-completely-peel-times.
25180
7c19c715
JB
251812010-05-21 Julian Brown <julian@codesourcery.com>
25182 Mark Mitchell <mark@codesourcery.com>
25183
25184 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
25185 sibling calls for Thumb-1.
25186 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
25187 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
25188 Thumb-2.
25189 (*call_insn, *call_value_insn): Don't use for Thumb-2.
25190 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
25191 for Thumb-2.
25192 (return): New expander.
25193 (*arm_return): New name for ARM return insn.
25194 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
25195
f4a4b582 251962010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
3943fe02
JS
25197
25198 * config.gcc (sparc64-*-rtems*): New target.
25199
95f6e526
NF
252002010-05-21 Nathan Froyd <froydnj@codesourcery.com>
25201
25202 * tree.c (build_function_decl_skip_args): Fix grammar.
25203 (build_function_type_list_1): Fix typos, adjust formatting.
25204
40013784
SB
252052010-05-21 Steven Bosscher <steven@gcc.gnu.org>
25206
25207 * tree.h: Include real.h and fixed-value.h as basic datatypes.
25208 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
25209 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
25210 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
25211 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
25212 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
25213 tree-pretty-print.c, tree-loop-distribution.c,
25214 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
25215 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
25216 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
25217 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
25218 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
25219 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
25220 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
25221 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
25222 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
25223 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
25224 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
25225 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
25226 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
25227 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
25228 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
25229 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
25230 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
25231 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
25232 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
25233 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
25234 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
25235 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
25236 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
25237 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
25238 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
25239 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
25240 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
25241 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
25242 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
25243 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
25244 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
25245 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
25246 config/score/score7.c, config/score/score.c, config/arm/arm.c,
25247 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
25248 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
ade52657 25249 config/bfin/bfin.c: Clean up redundant includes.
40013784
SB
25250 * Makefile.in: Update accordingly.
25251
0a7561b7
NF
252522010-05-21 Nathan Froyd <froydnj@codesourcery.com>
25253
25254 PR middle-end/44204
25255 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
25256 statement has no arguments.
25257
e1935569
KT
252582010-05-21 Kai Tietz <kai.tietz@onevision.com>
25259
25260 PR/44139
25261 * varasm.c (emutls_decl): Merge attributes to new decl.
25262
46314d3e
EB
252632010-05-21 Eric Botcazou <ebotcazou@adacore.com>
25264
25265 PR middle-end/44101
25266 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
25267 around the uniquized constructor if its type requires a conversion.
25268
f99fcb3b
JJ
252692010-05-21 Jakub Jelinek <jakub@redhat.com>
25270
25271 PR debug/44205
25272 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
25273 at -O0 goto_locus of any of the incoming edges differs from
25274 goto_locus of outgoing edge, or gimple_location of any of the
25275 labels differs.
25276
f4a4b582 252772009-09-14 Vladimir Makarov <vmakarov@redhat.com>
0583835c
VM
25278
25279 * ira.c (ira_non_ordered_class_hard_regs): Define.
ade52657 25280 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
0583835c
VM
25281 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
25282 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
25283 cost of unaligned hard regs when allocating multi-reg pseudos.
25284
9f946bc1
RS
252852010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
25286
25287 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
25288 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
25289 for TARGET_NO_FLOAT.
25290 * config/mips/mips.c (mips_file_start): Expand conditional expression
25291 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
25292 (mips_override_options): Move -mno-float override -msoft-float and
25293 -mhard-float.
25294 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
25295 Condition(TARGET_SUPPORTS_NO_FLOAT).
25296 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
25297 __mips_no_float here.
25298 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
25299 (TARGET_SUPPORTS_NO_FLOAT): Define.
25300 * config/mips/sdemtk.opt: Delete.
25301
69610617
SB
253022010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
25303
ade52657 25304 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
69610617 25305
953c29f7
UB
253062010-05-20 Uros Bizjak <ubizjak@gmail.com>
25307
25308 PR target/43733
25309 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
25310 * configure: Regenerate.
25311 * config.in: Regenerate.
25312 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
25313 instead of sahf only for 64bit targets.
25314
69b45d71
JJ
253152010-05-20 Jakub Jelinek <jakub@redhat.com>
25316
25317 PR debug/44178
25318 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
25319 setup_ref_regs for DEBUG_INSNs.
25320
a14f1878
JH
253212010-05-20 Jan Hubicka <jh@suse.cz>
25322
25323 PR middle-end/44197
25324 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
25325
5797be12
KZ
253262010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
25327
25328 PR bootstrap/43870
25329 * df-scan.c (df_ref_compare): Stabilize sort.
25330
f1ca3117
JJ
253312010-05-20 Jakub Jelinek <jakub@redhat.com>
25332
25333 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
25334 argument. Don't use DW_OP_piece if offset is non-zero,
25335 put offset into second DW_OP_bit_piece argument.
25336 (dw_sra_loc_expr): Adjust callers. For memory expressions
25337 compute offset.
25338
d8ec9c14
HPN
253392010-05-20 Hans-Peter Nilsson <hp@axis.com>
25340
25341 PR target/44202
25342 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
25343 settings for 16-bit-constant "addo" alternative.
25344
951771dc
JW
253452010-05-19 James E. Wilson <wilson@codesourcery.com>
25346
9af157ac
JW
25347 * config/mips/mips-dsp.md (add<DSPV:mode>3,
25348 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
25349
951771dc
JW
25350 PR target/43764
25351 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
25352 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
25353 Use it.
25354
676dd4d4
JM
253552010-05-19 Joseph Myers <joseph@codesourcery.com>
25356
25357 * diagnostic.c (FLOAT, FFS): Don't undefine.
25358 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
25359 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
25360 include ordering.
25361
caba7aaa
RS
253622010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
25363
25364 * combine.c (propagate_for_debug): Call make_compound_operation
25365 on the source value.
25366 (try_combine): When implementing a split chosen by find_split_point,
25367 either copy i2src or set it to null. Assert that i2src is not null
25368 before substituting into CALL_INSN_FUNCTION_USAGE.
25369
1961ffb8
AS
253702010-05-19 Anatoly Sokolov <aesok@post.ru>
25371
25372 * double-int.h (double_int_ior): New function.
25373 * tree.h (build_int_cst_wide_type): Remove.
25374 * tree.c (build_int_cst_wide_type): Remove.
25375 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
25376 of build_int_cst_wide_type.
25377 * stor-layout.c (set_sizetype): (Ditto.).
25378 * dojump.c (do_jump): Use build_int_cstu instead of
25379 build_int_cst_wide_type.
25380
616f1431
EB
253812010-05-19 Eric Botcazou <ebotcazou@adacore.com>
25382
25383 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
25384 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
25385 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
ade52657 25386 * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
616f1431
EB
25387 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
25388 propagate the 'data' argument to copy_tree_r.
25389 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
25390 Propagate 'data' argument to walk_tree.
25391 (copy_if_shared): New function.
25392 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
25393 (unmark_visited): New function.
25394 (unshare_body): Call copy_if_shared instead of doing it manually.
25395 (unvisit_body): Call unmark_visited instead of doing it manually.
25396
f311c3b4
NF
253972010-05-19 Nathan Froyd <froydnj@codesourcery.com>
25398
25399 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
25400 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
25401 * hooks.c: Likewise.
25402 * target-def.h (TARGET_FOLD_BUILTIN): Define to
25403 hook_tree_tree_int_treep_bool_null.
ade52657 25404 * target.h (struct gcc_target): Update signature of fold_builtin
f311c3b4
NF
25405 field.
25406 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
25407 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
25408 instead of the call expression.
25409 (fold_builtin_call_array): Pass n and argarray directly.
25410 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
25411 consing a list.
25412 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
25413 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
25414 `i' and use it in place of `arity'.
25415 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
25416 Dereference `args' directly.
25417 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
25418
40f1bdd9
RO
254192010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
25420
25421 * doc/sourcebuild.texi (Effective-Target Keywords): Document
25422 3dnow, sse3, sse2.
25423 (Directives): Document optional dg-require-effective-target
25424 selector.
25425
817c2996
RG
254262010-05-19 Richard Guenther <rguenther@suse.de>
25427
25428 PR lto/44196
25429 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
25430
c04b6b38
RG
254312010-05-19 Richard Guenther <rguenther@suse.de>
25432
25433 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
25434 * common.opt (fwhopr=): New.
25435 * opts.c (common_handle_option): Handle OPT_fwhopr.
25436 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
25437 * collect2.c (main): Match -fwhopr*.
25438 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
25439 Execute ltrans stage in parallel when jobs is bigger than 1.
25440
ed104137
RO
254412010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
25442
25443 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
25444 pentiumpro on Solaris 8/x86 with Sun as.
25445 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
25446 hidden alias bug.
25447 (gcc_cv_as_ix86_quad): Check for .quad directive.
25448 * configure: Regenerate.
25449 * config.in: Regenerate.
25450 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
25451
749aa96d
MJ
254522010-05-19 Martin Jambor <mjambor@suse.cz>
25453
25454 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
25455 also for indirect edges. Actual printing moved...
25456 (ipa_print_node_jump_functions_for_edge): ...here.
25457 (ipa_compute_jump_functions): Renamed to
25458 ipa_compute_jump_functions_for_edge and made static.
25459 (ipa_compute_jump_functions): New function.
25460 (make_edge_direct_to_target): Check if the number of arguments on
25461 the newly direct edge is the same as the number of parametrs of
25462 the callee.
25463 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
25464 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
25465 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
25466 analysis functions unconditionally, call the new
25467 ipa_analyze_params_uses on the node instead of every edge.
25468
81f32326
CB
254692010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
25470
431043bd 25471 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
81f32326 25472 to tree.
431043bd 25473 (dump_mem_ref): Adopt debug code to handle a tree as step. This
81f32326
CB
25474 also checks for a constant int vs. non-constant but
25475 loop-invariant steps.
431043bd 25476 (find_or_create_group): Change the sort algorithm to only consider
81f32326 25477 steps that are constant ints.
431043bd 25478 (idx_analyze_ref): Adopt code to handle a tree instead of a
81f32326 25479 HOST_WIDE_INT for step.
431043bd 25480 (gather_memory_references_ref): Handle tree instead of int and be
81f32326 25481 prepared to see a NULL_TREE.
431043bd 25482 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
81f32326 25483 prefetches if the step cannot be calculated at compile time.
431043bd 25484 (issue_prefetch_ref): Issue prefetches for non-constant but
81f32326
CB
25485 loop-invariant steps.
25486
39b27b3a
NF
254872010-05-18 Nathan Froyd <froydnj@codesourcery.com>
25488
25489 Revert:
25490 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
25491
25492 * tree.h (build_call_list): Remove.
25493 * tree.c (build_call_list): Remove.
25494
3fcb9d1b
NF
254952010-05-18 Nathan Froyd <froydnj@codesourcery.com>
25496
25497 * tree.h (build_call_list): Remove.
25498 * tree.c (build_call_list): Remove.
25499
58efc3ac
JH
255002010-05-18 Jan Hubicka <jh@suse.cz>
25501
25502 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
25503
0495bafc
VM
255042010-05-18 Vladimir Makarov <vmakarov@redhat.com>
25505
25506 PR rtl-optimization/43332
25507 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
25508
abdbbf16
AS
255092010-05-18 Anatoly Sokolov <aesok@post.ru>
25510
25511 * tree.h (build_int_cstu): Implement as static inline.
25512 * tree.c (build_int_cstu): Remove function.
25513 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
25514 sign extended.
25515
cf96bae7
RG
255162010-05-18 Richard Guenther <rguenther@suse.de>
25517
25518 PR lto/44143
25519 * lto-wrapper.c (verbose): New variable. Initialize from -v.
25520 (debug): Initialize from -save-temps.
25521 (collect_execute): Print command-line when verbose.
25522 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
25523 for ltrans invocation. Produce -dumpbase flag again.
25524 (process_args): Remove.
25525 (main): Simplify.
25526 * collect2.c (maybe_run_lto_and_relink): Only pass object
25527 files to lto-wrapper.
25528 * gcc.c (LINK_COMMAND_SPEC): Likewise.
25529
80e2a014
JH
255302010-05-18 Jan Hubicka <jh@suse.cz>
25531
25532 * opts.c (decode_options): Do not disable whopr at ipa_cp.
25533 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
25534
174f391c
SB
255352010-05-18 Steven Bosscher <steven@gcc.gnu.org>
25536
25537 PR lto/44184
25538 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
25539 in a GIMPLE_ASM.
25540 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
25541 in a GIMPLE_ASM.
25542
13077931
JJ
255432010-05-18 Jakub Jelinek <jakub@redhat.com>
25544
25545 PR debug/41371
25546 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
25547 rtx_equal_p inline.
25548
02540df4
SB
255492010-05-18 Steven Bosscher <steven@gcc.gnu.org>
25550
25551 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
25552 lto-macho as lto_binary_reader.
25553
25554 * darwin.c (darwin_asm_named_section): Do not add assembler comment
25555 after .section directive; just print it before the directive instead.
25556
36576655
JH
255572010-05-17 Jan Hubicka <jh@suse.cz>
25558
25559 * cgraph.c (cgraph_create_virtual_clone): Only check
25560 versionable_function_p when not in wpa and checking is enabled.
25561 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
25562 there are no more functions to materialize.
25563
922f15c2
JH
255642010-05-17 Jan Hubicka <jh@suse.cz>
25565
25566 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
25567 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
25568 New functions.
25569 (output_cgraph): Call output_cgraph_opt_summary.
25570 (input_cgrpah): Call input_cgraph_opt_summary.
25571 (output_cgraph_opt_summary_p, output_node_opt_summary,
25572 input_node_opt_summary, input_cgraph_opt_section): New functions.
25573 * lto-section-in.c (lto_section_name): Add cgraphopt.
25574 * tree-inline.c (tree_function_versioning): Handle parm_num.
25575 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
25576 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
25577
d3a9b459
CF
255782010-05-17 Changpeng Fang <changpeng.fang@amd.com>
25579
25580 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
25581 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
25582 the insn to prefetch ratio heuristic to loops with known trip count.
25583
8532678c
CF
255842010-05-17 Changpeng Fang <changpeng.fang@amd.com>
25585
25586 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
25587 (schedule_prefetches): Do not generate a prefetch if the unroll factor
25588 is far from what is required by the prefetch.
25589
339f49ec
JH
255902010-05-17 Jan Hubicka <jh@suse.cz>
25591
25592 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
25593 (ipcp_estimate_growth): Likewise.
25594 (ipcp_const_param_count): Likewise.
25595 (ipcp_insert_stage): Likewise.
25596 * ipa-prop.c (visit_load_for_mod_analysis): New function.
25597 (visit_store_addr_for_mod_analysis): Set used flag.
25598 (ipa_detect_param_modifications): Set used flag for SSE params;
25599 update use of walk_stmt_load_store_addr_ops.
25600 (ipa_print_node_params): Print used flag.
25601 (ipa_write_node_info): Stream used flag.
25602 (ipa_read_node_info): Likewise.
25603 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
25604 (ipa_is_param_used): New function.
25605 (lto_ipa_fixup_call_notes): Remove unused declaration.
25606
2433310d
RO
256072010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
25608
25609 PR target/44074
25610 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
25611 * configure: Regenerate.
25612 * config.in: Regenerate.
431043bd 25613 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
2433310d
RO
25614 !HAVE_AS_IX86_REP_LOCK_PREFIX.
25615 Don't emit whitespace.
25616 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
25617 (*rep_movsi): Likewise.
25618 (*rep_movsi_rex64): Likewise.
25619 (*rep_movqi): Likewise.
25620 (*rep_movqi_rex64): Likewise.
25621 (*rep_stosdi_rex64): Likewise.
25622 (*rep_stossi): Likewise.
25623 (*rep_stossi_rex64): Likewise.
25624 (*rep_stosqi): Likewise.
25625 (*rep_stosqi_rex64): Likewise.
25626 (*cmpstrnqi_nz_1): Use {%;} after repz.
25627 (*cmpstrnqi_nz_rex_1): Likewise.
25628 (*cmpstrnqi_1): Likewise.
25629 (*cmpstrnqi_rex_1): Likewise.
25630 (*strlenqi_1): Use {%;} after repnz.
25631 (*strlenqi_rex_1): Likewise.
25632 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
25633 (*sync_compare_and_swap<mode>): Likewise.
25634 (sync_double_compare_and_swap<mode>): Likewise.
25635 (*sync_double_compare_and_swapdi_pic): Likewise.
25636 (sync_old_add<mode>): Likewise.
25637 (sync_add<mode>): Likewise.
25638 (sync_sub<mode>): Likewise.
25639 (sync_<code><mode>): Likewise.
25640
b258210c
MJ
256412010-05-17 Martin Jambor <mjambor@suse.cz>
25642
25643 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
25644 otr_token and polymorphic.
25645 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
25646 (cgraph_clone_edge): Copy the above fields.
25647 * tree.c (get_binfo_at_offset): New function.
25648 * tree.h (get_binfo_at_offset): Declare.
25649 * ipa-prop.h (enum jump_func_type): Added known_type jump function
25650 type, reordered items, updated comments.
25651 (union jump_func_value): Added base_type field, reordered fields.
25652 (enum ipa_lattice_type): Moved down in the file.
25653 (struct ipa_param_descriptor): New field polymorphic.
25654 (ipa_is_param_polymorphic): New function.
25655 * ipa-prop.c: Include gimple.h and gimple-fold.h.
25656 (ipa_print_node_jump_functions): Print known type jump functions.
25657 (compute_complex_pass_through): Renamed to...
25658 (compute_complex_assign_jump_func): this.
25659 (compute_complex_ancestor_jump_func): New function.
25660 (compute_known_type_jump_func): Likewise.
25661 (compute_scalar_jump_functions): Create known type and complex ancestor
25662 jump functions.
25663 (ipa_note_param_call): New parameter polymorphic, set the corresponding
25664 flag in the call note accordingly.
25665 (ipa_analyze_call_uses): Renamed to...
25666 (ipa_analyze_indirect_call_uses): this. New parameter target, define
25667 variable var only in the block where it is used.
25668 (ipa_analyze_virtual_call_uses): New function.
25669 (ipa_analyze_call_uses): Likewise.
25670 (combine_known_type_and_ancestor_jfs): Likewise.
25671 (update_jump_functions_after_inlining): Implemented handling of a
25672 number of new jump function types combination.
25673 (print_edge_addition_message): Removed.
25674 (make_edge_direct_to_target): New function.
25675 (try_make_edge_direct_simple_call): Likewise.
25676 (try_make_edge_direct_virtual_call): Likewise.
25677 (update_call_notes_after_inlining): Renamed to...
25678 (update_indirect_edges_after_inlining): this. Moved edge creation for
25679 indirect calls to try_make_edge_direct_simple_call, also calls
25680 try_make_edge_direct_virtual_call for virtual calls.
25681 (ipa_print_node_params): Changed the header message.
25682 (ipa_write_jump_function): Stream also known type jump functions.
25683 (ipa_read_jump_function): Likewise.
25684 (ipa_write_indirect_edge_info): Stream new fields in
25685 cgraph_indirect_call_info.
25686 (ipa_read_indirect_edge_info): Likewise.
25687 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
25688 GIMPLE_FOLD_H.
25689
d5d74497
RO
256902010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
25691
25692 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
25693
58a11859
NF
256942010-05-17 Nathan Froyd <froydnj@codesourcery.com>
25695
25696 * tree.h (CALL_EXPR_ARGS): Delete.
25697 (call_expr_arglist): Delete.
25698 * tree.c (call_expr_arglist): Delete.
25699 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
25700 targetm.fold_builtin.
25701 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
25702 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
25703 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
25704 arglist parameter. Use CALL_EXPR_ARG.
25705 (picochip_expand_builtin_3op): Likewise.
25706 (picochip_expand_builtin_2opvoid): Likewise.
25707 (picochip_expand_array_get): Likewise.
25708 (picochip_expand_array_put): Likewise.
25709 (picochip_expand_array_testport): Likewise.
25710 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
25711 rather than arglist.
25712 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
25713 CALL_EXPR_ARGS.
25714 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
25715 than TREE_VALUE and TREE_CHAIN.
25716 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
25717 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
25718 the arglist.
25719
f1de5107
JJ
257202010-05-17 Jakub Jelinek <jakub@redhat.com>
25721
f145213f
JJ
25722 PR bootstrap/42347
25723 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
25724 to have no fallthru edge.
25725
f1de5107
JJ
25726 PR middle-end/44102
25727 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
25728 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
25729 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
25730 add BARRIER after previous bb if needed.
25731
b64fca63 257322010-05-17 Nathan Froyd <froydnj@codesourcery.com>
431043bd 25733
b64fca63 25734 * tree.c (build_function_type_list_1): Remove bogus assert condition.
431043bd 25735
2882bfcc
AM
257362010-05-17 Alan Modra <amodra@gmail.com>
25737
25738 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
25739 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
25740 with copy_reg rtx param.
25741 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
25742 Correct cases where code for ABI_V4 did not initialise the reg
25743 used to access frame. Also leave frame_reg_rtx as sp for large
25744 frames that save no regs.
25745
5feb49f0
MJ
257462010-05-17 Martin Jambor <mjambor@suse.cz>
25747
25748 PR middle-end/44133
25749 * tree-sra.c (create_access_replacement): New parameter rename, mark
25750 the replaement for renaming only when it is true.
25751 (get_access_replacement): Pass true in the rename parameter of
25752 create_access_replacement.
25753 (get_unrenamed_access_replacement): New function.
25754 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
25755 replacement declaration from it.
25756
56731d64
BS
257572010-05-17 Bernd Schmidt <bernds@codesourcery.com>
25758
25759 * function.c (try_fit_stack_local, add_frame_space): New static
25760 functions.
25761 (assign_stack_local_1): Use them. Look for opportunities to use
25762 space previously wasted on alignment.
25763 * function.h (struct frame_space): New.
25764 (struct rtl_data): Add FRAME_SPACE_LIST member.
25765 * reload1.c (something_was_spilled): New static variable.
25766 (alter_reg): Set it.
25767 (reload): Test it in addition to testing if the frame size changed.
25768
24a235c8
CB
257692010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
25770
431043bd
UB
25771 * config/s390/s390.c: Define sane prefetch settings and activate
25772 flag_prefetch_loop_arrays on -O3.
25773 * config/s390/s390.h: Declare that read can use write prefetch.
24a235c8 25774
18252dcf
JJ
257752010-05-17 Jakub Jelinek <jakub@redhat.com>
25776
25777 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
25778 build.
25779
199f1dc4
JH
257802010-05-16 Jan Hubicka <jh@suse.cz>
25781
25782 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
25783 function body; do not check stdarg field of struct function.
25784
ccbbf8a2
JH
257852010-05-16 Jan Hubicka <jh@suse.cz>
25786
25787 * cgraph.c (dump_cgraph_node): Dump versionable flag.
25788 * cgraph.h (cgraph_local_info): Add versionable flag.
25789 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
25790 (ipcp_versionable_function_p): Use it.
25791 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
25792 versionable flag.
25793
91fbf0c7
JH
257942010-05-16 Jan Hubicka <jh@suse.cz>
25795
25796 * cgraph.c (cgraph_clone_node): Take decl argument and insert
25797 clone into hash when it is different from orig.
25798 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
25799 * cgraph.h (cgraph_clone_node): Update prototype.
25800 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
25801 (lto_cgraph_encoder_delete): Delete body map.
25802 (lto_cgraph_encoder_size): Move to header.
ccbbf8a2
JH
25803 (lto_cgraph_encoder_encode_body_p,
25804 lto_set_cgraph_encoder_encode_body): New.
91fbf0c7
JH
25805 (lto_output_node): Do not take written_decls argument; output clone_of
25806 pointer.
25807 (add_node_to): Add include_body_argument; call
25808 lto_set_cgraph_encoder_encode_body on master of the clone.
25809 (add_references): Update use of add_node_to.
25810 (compute_ltrans_boundary): Likewise.
25811 (output_cgraph): Do not create written_decls bitmap.
25812 (input_node): Take nodes argument; stream in clone_of correctly.
25813 (input_cgraph_1): Update use of input_node.
25814 * lto-streamer-out.c (lto_output): Use encoder info to decide
25815 what bodies to output.
25816 * ipa-inline.c (cgraph_clone_inlined_nodes,
25817 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
25818 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
25819 (lto_cgraph_encoder_size): Define here.
25820 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
25821 Declare.
25822
6b87d1b4
RG
258232010-05-16 Richard Guenther <rguenther@suse.de>
25824
25825 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
25826 -fipa-type-escape.
25827 * ipa-type-escape.c (gate_type_escape_vars): Run when
25828 -fipa-struct-reorg runs.
25829 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
25830 * common.opt (fipa-type-escape): Remove.
25831
203a92e3
EB
258322010-05-16 Eric Botcazou <ebotcazou@adacore.com>
25833
25834 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
25835 (decode_options): Likewise.
25836 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
25837
e419f710
JH
258382010-05-16 Jan Hubicka <jh@suse.cz>
25839
25840 * ipa.c (function_and_variable_visibility): Also bring local all
25841 aliases.
25842
2e0c984c
RG
258432010-05-16 Richard Guenther <rguenther@suse.de>
25844
25845 * alias.c (nonoverlapping_memrefs_p): Remove use of
25846 IPA type-escape information.
25847
32912286
JM
258482010-05-16 Joseph Myers <joseph@codesourcery.com>
25849
25850 * c-common.c (c_common_reswords): Add _Static_assert for C.
25851 * c-parser.c (c_token_starts_declaration,
25852 c_parser_next_token_starts_declaration,
25853 c_parser_static_assert_declaration_no_semi,
25854 c_parser_static_assert_declaration): New.
25855 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
25856 Handle static assertions if static_assert_ok.
25857 (c_parser_external_declaration, c_parser_declaration_or_fndef,
25858 c_parser_compound_statement_nostart, c_parser_label,
25859 c_parser_for_statement, c_parser_objc_methodprotolist,
25860 c_parser_omp_for_loop): All callers of
25861 c_parser_declaration_or_fndef changed.
25862 (c_parser_struct_declaration): Handle static assertions.
25863 (c_parser_compound_statement_nostart): Use
25864 c_parser_next_token_starts_declaration and
25865 c_token_starts_declaration to detect start of declarations.
25866 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
25867 Likewise.
25868
a3ca07e3
AS
258692010-05-16 Anatoly Sokolov <aesok@post.ru>
25870
25871 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
25872 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
25873 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
25874 TARGET_FUNCTION_VALUE_REGNO_P): Define.
25875 (mmix_function_outgoing_value): Rename to...
25876 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
25877 (mmix_function_value_regno_p): Make static.
25878 (mmix_libcall_value): New function.
25879 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
25880 mmix_function_value_regno_p): Remove declaration.
25881
29d17485
EB
258822010-05-16 Eric Botcazou <ebotcazou@adacore.com>
25883
25884 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
25885 BUILT_IN_ALLOCA if stack checking is enabled.
25886
a6590c31
RG
258872010-05-16 Richard Guenther <rguenther@suse.de>
25888
25889 * var-tracking.c (vars_copy_1): Inline ...
25890 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
25891 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
25892 (variable_merge_over_cur): Adjust. Merge asserts.
25893 (variable_merge_over_src): Likewise.
25894 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
25895 (variable_post_merge_new_vals): Merge asserts.
25896 (variable_post_merge_perm_vals): Likewise.
25897 (find_mem_expr_in_1pdv): Likewise.
25898 (dataflow_set_different_value): Remove.
25899 (onepart_variable_different_p): Merge asserts.
25900 (variable_different_p): Likewise.
25901 (dataflow_set_different_1): Inline ...
25902 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
25903 (emit_notes_for_differences_1): Merge asserts.
25904
6456e26e
RG
259052010-05-16 Richard Guenther <rguenther@suse.de>
25906
25907 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
25908 * optabs.c (libfunc_decl_hash): Likewise.
25909 * varasm.c (emutls_decl): Likewise.
25910
1d4c5fe9
SB
259112010-05-16 Steven Bosscher <steven@gcc.gnu.org>
25912
25913 * c-decl.c: Don't include gimple.h.
25914 (merge_decls): Do not copy gimple_body.
25915
9feb3d6a
JM
259162010-05-15 Jason Merrill <jason@redhat.com>
25917
25918 * c.opt: Add -fnothrow-opt.
25919
9b3cf76a
JH
259202010-05-15 Jan Hubicka <jh@suse.cz>
25921
29d17485
EB
25922 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
25923 analyzed.
9b3cf76a
JH
25924 * passes.c (ipa_write_summaries): Write all analyzed nodes.
25925
f4ce02c5
SB
259262010-05-15 Steven Bosscher <steven@gcc.gnu.org>
25927
25928 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
25929 * Makefile.in: Add it.
25930 Fix all other Makefile dependencies for changes below.
25931 * tree.h: Include it instead of defining VEC primitives here.
25932 * gimple.h: Likewise.
25933 * rtl.h: Likewise.
25934 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
25935 * except.h: Include vecir.h, break dependence on tree.h.
25936
25937 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
25938 Move from here...
25939 * tree-iterator.c: ...to here.
25940 * tree-iterator.h: Fix file introduction comment. Add extern markers.
25941
25942 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
25943 tm_p.h.
25944 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
25945 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
25946 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
25947 tree-mudflap.h, and target.h.
25948 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
25949 predict.h, tree-inline.h, gimple.h, and langhooks.h.
25950 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
25951 Add FIXME for why gimple.h is still included (should be unnecessary
25952 since GCC 4.5 gimplification unit-at-a-time).
25953 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
25954 * c-pragma.c: Add FIXME for why function.h needs to be included just
25955 for cfun, at front-end level.
25956 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
25957 Do not include ggc.h, but include vecprim.h for VEC(char).
25958 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
25959 Explain why target.h is included.
25960 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
25961 Explain why gimple.h is included.
25962 * c-ppoutput.c: Do not include tm.h.
25963 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
25964 * c-parses.c: Explain why rtl.h is included, and that this (and only
25965 this) is also why tm.h must be included.
25966 Do not include except.h.
25967 * c-lang.c: Do not include ggc.h.
25968
12201e48
UB
259692010-05-15 Uros Bizjak <ubizjak@gmail.com>
25970
25971 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
25972
4bdd0a60
JM
259732010-05-15 Joseph Myers <joseph@codesourcery.com>
25974
25975 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
25976 unions by default if those structs and unions have no tags. Do
25977 not condition anonymous struct and unions handling on flag_iso.
25978 Allow anonymous structs and unions for C1X.
25979 (finish_struct): Do not diagnose lack of named fields when
25980 anonymous structs and unions present for C1X. Accept flexible
25981 array members in structure with anonymous structs or unions but no
25982 directly named fields.
25983 * doc/extend.texi (Unnamed Fields): Update.
25984
d025732d
EB
259852010-05-15 Eric Botcazou <ebotcazou@adacore.com>
25986
25987 * gimple.h (compare_field_offset): Rename into...
25988 (gimple_compare_field_offset): ...this.
25989 * gimple.c (compare_field_offset): Rename into...
25990 (gimple_compare_field_offset): ...this. Compare the full access if
25991 the offset is self-referential.
25992 (gimple_types_compatible_p): Adjust for above renaming.
25993 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
25994 DECL_NONADDRESSABLE_P flag of fields before merging them.
25995
b75bdd29
NF
259962010-05-15 Nathan Froyd <froydnj@codesourcery.com>
25997
25998 * tree.h (ctor_to_list): Delete.
25999 * tree.c (ctor_to_list): Delete.
26000
f3380641
JH
260012010-05-15 Jan Hubicka <jh@suse.cz>
26002
26003 * ipa-reference.c: Include toplev.h
26004 (is_proper_for_analysis): Only add to all_module_statics
26005 if it is allocated.
26006 (write_node_summary_p, stream_out_bitmap,
26007 ipa_reference_write_optimization_summary,
26008 ipa_reference_read_optimization_summary): New.
26009 (struct ipa_opt_pass_d pass_ipa_reference): Add
26010 optimization summary streaming.
12201e48 26011 * lto-cgraph.c (referenced_from_this_partition_p,
f3380641
JH
26012 reachable_from_this_partition_p): New functions.
26013 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
26014 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
26015 * opts.c (decode_options): Enable ipa_reference.
26016 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
26017 * lto-streamer.h (referenced_from_this_partition_p,
26018 reachable_from_this_partition_p): Declare.
26019
9d0baae1
RG
260202010-05-15 Richard Guenther <rguenther@suse.de>
26021
26022 PR tree-optimization/44038
26023 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
26024 taking the address of a V_C_E of a constant.
26025
46c30019
JH
260262010-05-14 Jan Hubicka <jh@suse.cz>
26027
26028 * tree.h (memory_identifier_string): Remove.
26029 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
26030 (ipa_reference_global_vars_info_d): Remove statics_not_read and
26031 statics_not_written.
26032 (ipa_reference_optimization_summary_d): New structure.
26033 (ipa_reference_optimization_summary_t): New type and vector.
26034 (ipa_reference_vars_info_d): Embedd structures instead of using
26035 pointers.
26036 (reference_vars_to_consider): Remove out of GGC space.
26037 (module_statics_escape): Remove.
26038 (global_info_obstack): Rename to ...
26039 (optimization_summary_obstack): ... this one.
26040 (initialization_status_t): Remove.
26041 (memory_identifier_string): Remove.
26042 (get_reference_vars_info): Fix indenting.
26043 (set_reference_vars_info): Likewise.
26044 (get_reference_optimization_summary): New.
26045 (set_reference_optimization_summary): New.
26046 (get_global_reference_vars_info): Remove.
26047 (ipa_reference_get_read_global): Remove.
26048 (ipa_reference_get_written_global): Remove.
26049 (ipa_reference_get_not_read_global): Update.
26050 (ipa_reference_get_not_written_global): Update.
26051 (is_proper_for_analysis): Outlaw addressable.
26052 (propagate_bits): Update for new datastructures.
26053 (analyze_variable): Remove.
26054 (init_function_info): Update for new datastructures.
26055 (clean_function_local_data): Remove.
26056 (clean_function): Remove.
26057 (copy_global_bitmap): Use optimizations_summary_obstack.
26058 (duplicate_node_data): Duplicate optimization summary only.
26059 (remove_node_data): Remove optimization summary only.
26060 (generate_summary): Do not analyze variables; do not compute
26061 module_statics_escape; do not prune solutions by it.
26062 (read_write_all_from_decl): Fix typos in comments.
26063 (propagate): Doscover readonly and nonaddressable first;
26064 update for new datastructures; share global bitmaps.
26065 * ipa-reference.h (ipa_reference_get_read_global,
26066 ipa_reference_get_written_global): Remove.
26067 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
26068 * Makefile.in: Remove ipa-refereference from GT files.
26069
22bf7d17
JJ
260702010-05-14 Jakub Jelinek <jakub@redhat.com>
26071
26072 PR debug/44112
26073 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
26074 for all SYMBOL_REF_DECLs.
26075
4a444e58
JH
260762010-05-14 Jan Hubicka <jh@suse.cz>
26077
26078 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
26079 (varpool_all_refs_explicit_p): New inline function.
26080 * ipa-reference.c: Update comment.
26081 (module_statics_written): Remove.
26082 (get_static_decl): Remove.
26083 (ipa_init): Do not initialize module_statics_written.
26084 (analyze_function): Likewise.
26085 (generate_summary): Likewise; do not compute module_statics_readonly
26086 and do not update variable flags.
26087 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
26088 * ipa.c: Inlucde flags.h
26089 (cgraph_local_node_p): New.
26090 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
26091 promote functions to local.
26092 (ipa_discover_readonly_nonaddressable_vars): New function.
26093 (function_and_variable_visibility): Use cgraph_local_node_p.
26094 * varpool.c (varpool_finalize_decl): Set force_output for
26095 DECL_PRESERVE_P vars.
26096
bc8ddfe6
JH
260972010-05-14 Jan Hubicka <jh@suse.cz>
26098
26099 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
26100
4d2ab9e3
RG
261012010-05-14 Richard Guenther <rguenther@suse.de>
26102
26103 PR tree-optimization/44119
26104 * tree-ssa-pre.c (eliminate): Properly mark replacement of
26105 a PHI node necessary.
26106
9e87b842
EB
261072010-05-14 Eric Botcazou <ebotcazou@adacore.com>
26108
26109 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
26110
786f715d
JM
261112010-05-14 Jason Merrill <jason@redhat.com>
26112
9bb1a81b
JM
26113 PR c++/44127
26114 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
26115 (gimple_call_set_nothrow): New.
26116 * gimple.c (gimple_build_call_from_tree): Call it.
26117 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
26118
786f715d
JM
26119 PR c++/44127
26120 * gimplify.c (gimplify_seq_add_stmt): No longer static.
26121 * gimple.h: Declare it.
26122 * gimple.c (gimple_build_eh_filter): No ops.
26123
19fb0b86
JH
261242010-05-14 Jan Hubicka <jh@suse.cz>
26125
26126 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
26127 nodes already in queue.
9e87b842
EB
26128 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
26129 re-enqueueing node.
19fb0b86 26130
88c04a5d
JJ
261312010-05-14 Jakub Jelinek <jakub@redhat.com>
26132
26133 PR debug/44136
26134 * cfgexpand.c (expand_debug_expr): If non-memory op0
26135 has BLKmode, return NULL.
26136
1133125e
HJ
261372010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
26138
26139 * config.gcc: Add support for --with-cpu option for bdver1.
26140 * config/i386/i386.h (TARGET_BDVER1): New macro.
26141 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
26142 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
26143 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
26144 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
26145 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
26146 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
26147 (processor_type): Add PROCESSOR_BDVER1.
26148 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
26149 processor_type in config/i386/i386.h.
26150 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
26151 movaps <reg, reg> instead of movapd <reg, reg> when replacing
26152 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
26153 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
26154 to emit packed xor instead of packed double/packed integer
26155 xor for SSE and AVX when moving a zero value.
9e87b842
EB
26156 * config/i386/sse.md: Add check for
26157 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
26158 movapd/movdqa for SSE and AVX.
26159 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
26160 single logical operations i.e and, or and xor instead of packed double
26161 logical operations for SSE and AVX.
12201e48
UB
26162 * config/i386/i386-c.c (ix86_target_macros_internal):
26163 Add PROCESSOR_BDVER1.
1133125e
HJ
26164 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
26165 (has_fma4, has_xop): New.
26166 * config/i386/i386.c (bdver1_cost): New variable.
26167 (m_BDVER1): New macro.
26168 (m_AMD_MULTIPLE): Add m_BDVER1.
26169 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
9e87b842
EB
26170 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
26171 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
26172 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
26173 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
26174 x86_tune_sse_partial_reg_dependency,
26175 x86_tune_sse_unaligned_load_optimal,
26176 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
26177 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
26178 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
26179 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
26180 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
1133125e
HJ
26181 Enable/disable for bdver1.
26182 (processor_target_table): Add bdver1_cost.
26183 (cpu_names): Add bdver1.
26184 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
26185 processor_alias_table.
9e87b842
EB
26186 (ix86_expand_vector_move_misalign): Change.
26187 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
26188 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
26189 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
26190 of movupd/movdqu for SSE and AVX.
1133125e
HJ
26191 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
26192 (ix86_tune_adjust_cost): Add code for bdver1.
26193 (standard_sse_constant_opcode): Add check for
26194 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
26195 of packed double xor for SSE and AVX.
26196
e972cc7e
PH
261972010-05-14 Pat Haugen <pthaugen@us.ibm.com>
26198
26199 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
26200 result to unsigned.
26201
6a080096
TG
262022010-05-14 Tristan Gingold <gingold@adacore.com>
26203
26204 * toplev.c (default_debug_hooks): Remove this variable.
26205 (process_options): Remove assignments to default_debug_hooks.
26206
b5023f3c
MJ
262072010-05-14 Martin Jambor <mjambor@suse.cz>
26208
26209 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
26210 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
26211 * langhooks.h (struct lang_hooks_for_decls): Removed field
26212 fold_obj_type_ref.
26213 * tree.c (free_lang_data): Remove assignment to
26214 lang_hooks.fold_obj_type_ref.
26215 * tree.def (OBJ_TYPE_REF): Update comment.
26216
6141b7db
RG
262172010-05-14 Richard Guenther <rguenther@suse.de>
26218
26219 PR tree-optimization/44124
26220 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
26221
e15a8cbe
AM
262222010-05-14 Alan Modra <amodra@gmail.com>
26223
26224 PR target/44075
26225 * config/rs6000/rs6000.c (struct machine_function): Reorder
26226 fields for better packing. Add lr_save_state.
26227 (rs6000_ra_ever_killed): Return lr_save_state if set.
26228 (rs6000_emit_eh_reg_restore): Set lr_save_state.
26229
da405c74
JH
262302010-05-13 Jan Hubicka <jh@suse.cz>
26231
26232 * varpool.c (decide_is_variable_needed): Drop code checking
26233 TREE_SYMBOL_REFERENCED.
26234
152464d2
JH
262352010-05-13 Jan Hubicka <jh@suse.cz>
26236
26237 * final.c (output_addr_const): Do not call mark_decl_referenced.
26238 * cgraphunit.c (process_function_and_variable_attributes): Use
26239 mark_needed_node dirrectly.
26240 (assemble_thunk): Do not call mark_decl_referenced.
26241
32cbdf00
AS
262422010-05-13 Anatoly Sokolov <aesok@post.ru>
26243
26244 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
26245
e4f36d31
JL
262462010-05-13 Jeff Law <law@redhat.com>
26247
26248 * ira-conflicts.c (print_allocno_conflicts): New function broken out
26249 from...
26250 (print_conflicts): Call print_allocno_conflicts.
26251
1fcebc11
JJ
262522010-05-13 Jakub Jelinek <jakub@redhat.com>
26253
26254 PR debug/44104
26255 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
26256 if it is NULL.
26257
917ed773
KT
262582010-05-13 Kai Tietz <kai.tietz@onevision.com>
26259
26260 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
26261 t-mingw-w64 or t-mingw-w32 for multilib configuration.
26262 * config/i386/t-mingw-w32: New.
26263 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
12201e48 26264
1ae6fe9b
MJ
262652010-05-13 Martin Jambor <mjambor@suse.cz>
26266
26267 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
26268 gimple-fold.c).
26269 * gimple-fold.c (get_base_binfo_for_type): New function.
26270 (gimple_get_relevant_ref_binfo): Likewise.
26271 (gimple_fold_obj_type_ref_known_binfo): Likewise.
26272 (gimple_fold_obj_type_ref): Likewise.
26273 (fold_gimple_call): Simplify condition for folding virtual calls
26274 and call gimple_fold_obj_type_ref.
26275 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
26276 (gimple_fold_obj_type_ref_known_binfo): Likewise.
26277
78c7cabb
AS
262782010-05-13 Andreas Schwab <schwab@linux-m68k.org>
26279
26280 * config/rs6000/rs6000-protos.h
26281 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
26282 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
26283 (rs6000_debug_mode_dependent_address)
26284 (rs6000_mode_dependent_address_ptr): Likewise.
26285
823e9473
JJ
262862010-05-13 Jakub Jelinek <jakub@redhat.com>
26287
26288 PR debug/43983
26289 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
26290 by SRA.
26291 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
26292 * tree-sra.c (create_access_replacement): Call unshare_expr before
12201e48 26293 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
823e9473
JJ
26294 * dwarf2out.c: Include tree-flow.h.
26295 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
26296 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
26297 Handle DW_OP_bit_piece.
26298 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
26299 construct_piece_list, adjust_piece_list): New functions.
26300 (add_var_loc_to_decl): Handle SRA optimized variables.
26301 Adjust for var_loc_note to loc field renaming.
26302 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
26303 in VAR_LOCATION note.
26304 (new_loc_descr_op_bit_piece): New function.
26305 (dw_sra_loc_expr): New function.
26306 (dw_loc_list): Use it. Don't handle the last range after the
26307 loop, handle it inside of the loop. Adjust for var_loc_note
26308 to loc field renaming.
26309 (add_location_or_const_value_attribute): Only special case
26310 single entry loc lists if loc is NOTE_P. Adjust for
26311 var_loc_note to loc field renaming.
26312 (dwarf2out_var_location): Don't set newloc->var_loc_note
26313 and newloc->next here.
26314
bd3cdcc0
JH
263152010-05-12 Jan Hubicka <jh@suse.cz>
26316
c46a5e28
EB
26317 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
26318 flag.
bd3cdcc0
JH
26319 * cgraph.h (cgraph_only_called_directly_p,
26320 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
26321 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
26322 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
26323 (assemble
26324 * ipa.c (cgraph_remove_unreachable_nodes): Use
c46a5e28
EB
26325 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
26326 flags.
bd3cdcc0
JH
26327 * tree-inline.c (copy_bb): Check address_taken flag.
26328 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
26329 externally_visible flag.
26330
5116acc6
JM
263312010-05-12 Jason Merrill <jason@redhat.com>
26332
26333 PR bootstrap/44048
26334 PR target/44099
26335 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
26336 * sdbout.c (plain_type_1): Likewise.
26337 * dwarf2out.c (is_base_type): Likewise.
26338 (gen_type_die_with_usage): Likewise. Generate
26339 DW_TAG_unspecified_type for any LANG_TYPE.
26340
5f902d76
JH
263412010-05-12 Jan Hubicka <jh@suse.cz>
26342
26343 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
26344 indrect edges too.
26345 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
26346 (cgraph_clone_edge): Update.
26347 (cgraph_node_remove_callees): Remove indirect calls too.
26348 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
26349 (cgraph_create_indirect_edge): Update prototype.
26350 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
26351 is_proper_for_analysis.
26352 (add_new_function, visited_nodes, function_insertion_hook_holder,
26353 get_local_reference_vars_info, mark_address_taken, mark_address,
26354 mark_load, mark_store, check_asm_memory_clobber, check_call,
26355 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
26356 (ipa_init): Do not initialize visited_nodes;
26357 function_insertion_hook_holder.
26358 (analyze_variable): Rewrite.
26359 (analyze_function): Rewrite.
26360 (copy_local_bitmap): Remove.
26361 (duplicate_node_dat): Do not duplicate local info.
26362 (generate_summary): Simplify to only walk cgraph.
26363 (write_node_summary_p, ipa_reference_write_summary,
26364 ipa_reference_read_summary): Remove.
26365 (propagate): Do not remove function insertion;
26366 generate summary.
26367 (pass_ipa_reference): NULLify summary handling fields.
26368 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
26369 (input_edge): Input ecf_flags.
26370 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
26371 (update_indirect_edges_after_inlining): Ignore edges with unknown
26372 param.
26373
87a0ebfd
ST
263742010-05-12 Sriraman Tallam <tmsriram@google.com>
26375
26376 * implicit-zee.c: New file.
26377 * tree-pass.h (pass_implicit_zee): Declare.
26378 * passes.c (init_optimization_passes): Add zee pass.
26379 * common.opt (fzee): New flag.
26380 * timevar.def (TV_ZEE): Define.
26381 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
26382 and beyond.
26383 * Makefile.in (implicit-zee.o): Add new build file.
26384
01f0a9dc
KH
263852010-05-12 Kazu Hirata <kazu@codesourcery.com>
26386 Nathan Froyd <froydnj@codesourcery.com>
26387
26388 * c-common.c (sync_resolve_params): Remove write-only variable.
26389
cbda7dc6
AS
263902010-05-12 Anatoly Sokolov <aesok@post.ru>
26391
26392 * target.h (struct gcc_target): Add mode_dependent_address_p field.
26393 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
26394 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
26395 * targhooks.c (default_mode_dependent_address_p): New function.
26396 * targhooks.h (default_mode_dependent_address_p): Declare function.
26397 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
26398 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
ade52657 26399 * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
cbda7dc6 26400 target hook. Change return type to bool.
ade52657 26401 * recog.h (mode_dependent_address_p): Change return type to bool.
cbda7dc6 26402
1df43907
KH
264032010-05-12 Kazu Hirata <kazu@codesourcery.com>
26404 Nathan Froyd <froydnj@codesourcery.com>
26405
26406 * tree-mudflap.c (build_function_type_0, build_function_type_1,
26407 build_function_type_2, build_function_type_3): Remove.
26408 (mudflap_init): Use build_function_type_list.
26409
f9b36bb3
KH
264102010-05-12 Kazu Hirata <kazu@codesourcery.com>
26411 Nathan Froyd <froydnj@codesourcery.com>
26412
26413 * coverage.c (build_fn_info_value): Call build_constructor instead of
26414 build_constructor_from_list.
26415 (build_ctr_info_value): Likewise.
26416 (build_gcov_info): Likewise.
26417
f88203b0
NF
264182010-05-12 Nathan Froyd <froydnj@codesourcery.com>
26419
26420 * tree.c (build_constructor): Compute TREE_CONSTANT for the
26421 resultant constructor.
26422 (build_constructor_single): Don't set TREE_CONSTANT.
26423 (build_constructor_from_list): Don't compute TREE_CONSTANT.
26424
b34fd25c
JH
264252010-05-12 Jan Hubicka <jh@suse.cz>
26426
26427 * cgraph.h (struct varpool_node): Add aux.
26428 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
26429 * varpool.c (varpool_remove_node): Do not remove initializer.
26430 (varpool_reset_queue): Export.
26431 (varpool_finalize_decl): Volatile vars are forced to be output.
26432 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
26433 replaced decl.
26434 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
26435 process_references, varpool_can_remove_if_no_refs): New functions.
26436 (cgraph_remove_unreachable_nodes): Handle variables too.
26437
49f19b1c
L
264382010-05-12 H.J. Lu <hongjiu.lu@intel.com>
26439
26440 PR target/44088
26441 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
26442
7c2db0d3
JJ
264432010-05-12 Jakub Jelinek <jakub@redhat.com>
26444
f22f4340
JJ
26445 PR middle-end/44085
26446 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
26447 change value of ORT_TASK.
26448 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
26449 (omp_notice_threadprivate_variable): New function.
26450 (omp_notice_variable): Call it for threadprivate variables.
26451 If enclosing ctx is a task, print enclosing task rather than
26452 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
26453 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
26454 if task has untied clause.
26455
7c2db0d3
JJ
26456 PR debug/42278
26457 * dwarf2out.c (base_type_die): Don't add name attribute here.
26458 (modified_type_die): Instead of sizetype use
26459 its underlying original type. If a DW_TAG_base_type doesn't
26460 have name added, add __unknown__.
26461 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
26462 always call force_type_die instead.
26463
623a6941
MK
264642010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
26465
26466 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
26467 for __stack_chk_guard.
26468
056928b2
JJ
264692010-05-11 Jakub Jelinek <jakub@redhat.com>
26470
9d000e83
JJ
26471 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
26472 don't call start_source_file debug hook here...
26473 (finish_options): ... but here, after outputting predefined and
26474 command line defines and undefs.
26475
3b5fda81
JJ
26476 PR middle-end/44071
26477 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
26478 no fallthru edge.
26479 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
26480 optimizing away empty bb with no successors, move over its
26481 footer chain to fallthru predecessor.
26482 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
26483 (rtl_split_edge): For asm goto call patch_jump_insn even if
26484 splitting fallthru edge.
26485
3895ec53
JJ
26486 PR c++/44059
26487 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
26488 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
26489 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
26490 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
26491 on DW.ref.* decls.
26492
056928b2
JJ
26493 PR c++/44062
26494 * c-parser.c (c_parser_expression): Mark LHS of a comma
26495 expression as read if it is a decl, handled component or
26496 COMPOUND_EXPR with that on the RHS.
26497 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
26498 if it is a decl or handled component.
26499
9a809897
JH
265002010-05-11 Jan Hubicka <jh@suse.cz>
26501
26502 * lto-symtab.c (lto_symtab_free): New function.
26503 * lto-streamer.h (lto_symtab_free): Declare.
26504
265052010-05-11 Jan Hubicka <jh@suse.cz>
26506
26507 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
26508 that if function is needed it is reachable.
26509 (lto_output_node): See if it the function is reachable or referenced.
26510 (output_cgraph): Update call of lto_output_node.
26511 * lto-streamer.h (reachable_from_other_partition_p): Declare.
26512
b8053194
JH
265132010-05-11 Jan Hubicka <jh@suse.cz>
26514
26515 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
26516 Mark as used.
26517
1aa14195
JH
265182010-05-11 Jan Hubicka <jh@suse.cz>
26519
26520 PR tree-optimize/44063
c46a5e28
EB
26521 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
26522 queue.
1aa14195
JH
26523 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
26524 limits.
26525 (estimate_function_body_sizes): Compute sizes even when disregarding.
26526
f088f0ae
KT
265272010-05-11 Kai Tietz <kai.tietz@onevision.com>
26528
26529 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
26530
dcda03f4
JH
265312010-05-11 Jan Hubicka <jh@suse.cz>
26532
26533 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
26534 into every boundary.
26535
ece02605
JH
265362010-05-11 Jan Hubicka <jh@suse.cz>
26537
26538 * matrix-reorg.c (matrix_reorg): Rebuild edges.
26539
cc56d170
JH
265402010-05-11 Jan Hubicka <jh@suse.cz>
26541
26542 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
26543 lto_streamer_cache_delete): Put nodes into heap.
979aeb33
JH
26544 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
26545 heap.
cc56d170 26546
99b766fc
JH
265472010-05-11 Jan Hubicka <jh@suse.cz>
26548
26549 * cgraphbuild.c (cgraph_rebuild_references): New.
a2acdf1f
JH
26550 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
26551 out extern inlines.
99b766fc
JH
26552 * cgraph.h (cgraph_rebuild_references): Declare.
26553 * tree-inline.c (tree_function_versioning): Use it.
26554 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
26555
a940b4d9
JH
265562010-05-11 Jan Hubicka <jh@suse.cz>
26557
26558 * cgraph.c: Include ipa-utils.h
26559 (cgraph_create_virtual_clone): Update references.
26560 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
26561
57762e97
CB
265622010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
26563
78c7cabb 26564 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
57762e97
CB
26565 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
26566 cache size.
26567
a8beb3a7
CB
265682010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
26569
78c7cabb 26570 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
a8beb3a7 26571
3f592b38
JJ
265722010-05-11 Jakub Jelinek <jakub@redhat.com>
26573
09b201fc
JJ
26574 * gcc.c (execute): For -### don't quote arguments that
26575 contain just alphanumerics and _/-. characters.
26576 * doc/invoke.texi: Document that change for -###.
26577
3f592b38
JJ
26578 PR debug/44023
26579 * df-problems.c (struct dead_debug): Add to_rescan field.
26580 (dead_debug_init): Clear to_rescan field.
26581 (dead_debug_finish): Rescan all debug insns in to_rescan
26582 bitmap and free the bitmap.
26583 (dead_debug_insert_before): Instead of rescanning debug insns
26584 immediately queue their rescanning until dead_debug_finish.
26585 (df_note_bb_compute): After dead_debug_add do continue instead
26586 of break.
26587
1de12eab
JJ
265882010-05-10 Jakub Jelinek <jakub@redhat.com>
26589
26590 PR debug/44028
26591 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
26592 clear also INSN_REG_USE_LIST.
26593
e472d6bf
RO
265942010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26595
26596 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
26597
6cd174f6
JH
265982010-05-10 Jan Hubicka <jh@suse.cz>
26599
c46a5e28
EB
26600 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
26601 commited change.
6cd174f6 26602
5c4f225f
JH
266032010-05-10 Jan Hubicka <jh@suse.cz>
26604
c46a5e28
EB
26605 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
26606 Allocate encoders.
5c4f225f
JH
26607 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
26608 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
26609 (lto_streamer_cache_create): Init alloc pool.
26610 (lto_streamer_cache_delete): Free alloc pool.
26611 * lto-streamer.h: Include alloc pool.
26612 (lto_streamer_cache_d): Use alloc pool.
26613 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
26614
de61f467
JH
266152010-05-10 Jan Hubicka <jh@suse.cz>
26616
26617 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
26618 * cgraphbuild.c: Include except.h
26619 (record_type_list, record_eh_tables): New function.
26620 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
26621
e4fa83d3
JH
266222010-05-10 Jan Hubicka <jh@suse.cz>
26623
26624 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
26625 __frame_dummy_init_array_entry, force_to_data): Attribute as used
26626 rather than unused.
26627
8a9ecffd
MM
266282010-05-10 Michael Matz <matz@suse.de>
26629
26630 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
26631 (can_reassociate_p): Use FLOAT_TYPE_P.
26632 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
26633 (vect_force_simple_reduction): ... this.
62e59133 26634 * tree-parloops.c (gather_scalar_reductions): Use
8a9ecffd
MM
26635 vect_force_simple_reduction.
26636 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
26637 vect_is_simple_reduction, add modify argument, if true rewrite
26638 "a-b" into "a+(-b)".
26639 (vect_is_simple_reduction, vect_force_simple_reduction): New
26640 functions.
26641 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
26642
266432010-05-10 H.J. Lu <hongjiu.lu@intel.com>
26644 Vladimir Makarov <vmakarov@redhat.com>
46044dd9
L
26645
26646 PR rtl-optimization/44012
26647 * ira-build.c (remove_unnecessary_allocnos): Nullify
26648 regno_allocno_map of the removed allocno.
26649
2e2b183b
RO
266502010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26651
26652 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
26653 to /dev/null.
26654 * configure: Regenerate.
26655
a93e1899
RO
266562010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26657
26658 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
26659 unused.
26660 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
26661 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
26662 support in Sun ld.
26663 * configure: Regenerate.
26664
571943de
RG
266652010-05-10 Richard Guenther <rguenther@suse.de>
26666
26667 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
26668 marked if the entry identifier is marked.
26669
0b7b376d
RG
266702010-05-10 Richard Guenther <rguenther@suse.de>
26671
26672 * c-common.c (struct c_common_attributes): Add fnspec attribute.
26673 (handle_fnspec_attribute): New function.
26674 * gimple.h (gimple_call_return_flags): Declare.
26675 (gimple_call_arg_flags): Likewise.
26676 * gimple.c (gimple_call_arg_flags): New function.
26677 (gimple_call_return_flags): Likewise.
26678 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
26679 New argument flags.
26680 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
26681 return value flags.
26682 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
26683 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
26684 main work to ...
26685 (make_heapvar_for): ... this new function.
26686 (handle_rhs_call): Handle fnspec attribute argument specifiers.
26687 (handle_lhs_call): Likewise.
26688 (find_func_aliases): Adjust.
26689
1755aad0
RG
266902010-05-10 Richard Guenther <rguenther@suse.de>
26691
26692 PR tree-optimization/44050
62e59133 26693 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
1755aad0 26694
333b67a9
WG
266952010-05-10 Wei Guozhi <carrot@google.com>
26696
26697 PR target/42879
26698 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
26699
0fb96aa4
JM
267002010-05-09 Joseph Myers <joseph@codesourcery.com>
26701
26702 PR c/10676
26703 * c-typeck.c (lookup_field): Take a type directly. Update
26704 recursive calls.
26705 (build_component_ref): Update call to lookup_field.
26706 (set_init_label): Use lookup_field to find initialized field.
26707 Handle returned list of fields like a sequence of designators.
26708
3d7a712a
RG
267092010-05-09 Richard Guenther <rguenther@suse.de>
26710
26711 PR middle-end/44024
26712 * fold-const.c (tree_single_nonzero_warnv_p): Properly
26713 handle &FUNCTION_DECL.
26714
492fc0ee
JM
267152010-05-09 Joseph Myers <joseph@codesourcery.com>
26716
26717 PR c/4784
26718 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
26719 structures and unions recursively.
26720 (detect_field_duplicates): Move duplicate detection with a hash to
26721 detect_field_duplicates_hash. Always use a hash if anonymous
26722 structures or unions are present.
26723 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
26724 give errors.
26725
44f276c6
L
267262010-05-09 H.J. Lu <hongjiu.lu@intel.com>
26727
26728 PR target/44046
26729 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
26730 detect Atom, Core 2 and Core i7.
26731
d6205185
RG
267322010-05-09 Richard Guenther <rguenther@suse.de>
26733
26734 * gcc.c (store_arg): Handle temporary file deletion for
26735 joined arguments.
26736
5588864d
RG
267372010-05-09 Richard Guenther <rguenther@suse.de>
26738
26739 PR middle-end/44043
26740 * ipa-inline.c (estimate_function_body_sizes): Return after
26741 disregarding inline limits.
26742
aa34f42c
RG
267432010-05-09 Richard Guenther <rguenther@suse.de>
26744
26745 * gcc.c (store_arg): Revert last change.
26746
844381e5
SL
267472010-05-08 Sandra Loosemore <sandra@codesourcery.com>
26748
26749 PR middle-end/28685
26750 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
26751 (optimize_ops_list): Call it.
26752
43896afb
RG
267532010-05-08 Richard Guenther <rguenther@suse.de>
26754
26755 PR tree-optimization/44030
26756 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
26757 NECESSARY flag if we propagate from a inserted expression.
26758
f56000ed
EB
267592010-05-08 Eric Botcazou <ebotcazou@adacore.com>
26760
26761 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
26762 domain types as equal if they are both PLACEHOLDER_EXPRs.
26763
1522167d
RG
267642010-05-08 Richard Guenther <rguenther@suse.de>
26765
26766 * lto-wrapper.c (run_gcc): Remove linker output from
26767 command line for LTRANS invocation.
26768
c082f9f3
SB
267692010-05-07 Steven Bosscher <steven@gcc.gnu.org>
26770
26771 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
26772 lto-macho as lto_binary_reader.
26773 * target.h (struct gcc_target): New hooks lto_start and lto_end.
26774 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
26775 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
26776 in lto_start and lto_end calls.
26777 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
26778 magic numbers.
26779 (scan_prog_file): Update is_elf_or_coff call.
26780 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
26781
26782 * collect2.c (main): Fix enum comparison.
26783
26784 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
26785 Add prototypes.
26786 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
26787 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
26788 and TARGET_ASM_LTO_END.
26789 * darwin.c: Include obstack.h and lto-streamer.h.
26790 (lto_section_names_offset, lto_section_names_obstack,
26791 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
26792 global variables.
26793 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
26794 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
26795 to a temporary file.
26796 (darwin_asm_lto_end): New function. Restore asm_out_file.
26797 (darwin_asm_named_section): For LTO sections, replace the name with
26798 the offset of the section name in a string table, and build this
26799 table.
26800 (darwin_file_start): Initialize global vars for LTO support.
26801 (darwin_file_end): If output to asm_out_file was redirected, append it
26802 to the proper asm_out_file here. Add the section names section.
26803
18bc5398
SB
268042010-05-07 Steven Bosscher <steven@gcc.gnu.org>
26805
26806 * c-pragma.c (pending_weak_d, pending_weak): New.
26807 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
26808 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
26809 handle_pragma_weak): Update the uses of pending_weaks.
26810
0f590a2d
RW
268112010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26812
26813 PR documentation/44016
26814 * doc/standards.texi (Standards): Link to unversioned
26815 cxx0x_status.html page.
26816
f4a4b582 268172010-05-07 Iain Sandoe <iains@gcc.gnu.org>
3bd5cdeb
IS
26818
26819 PR target/43708
26820 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
26821 in addition to TREE_USED, to avoid "set but unused" warnings.
26822
9bf4598b
CF
268232010-05-07 Changpeng Fang <changpeng.fang@amd.com>
26824
26825 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
26826 (is_loop_prefetching_profitable): Do not insert prefetches
26827 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
26828 times the prefetch ahead distance.
26829
ccacf0e1
CF
268302010-05-07 Changpeng Fang <changpeng.fang@amd.com>
26831
26832 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
26833 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
26834 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
26835 the unroll_factor.
26836
55e5a2eb
CF
268372010-05-07 Changpeng Fang <changpeng.fang@amd.com>
26838
26839 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
26840 a diagnostic info when the insn-to-mem ratio is too small.
26841
f4a4b582 268422010-05-07 Richard Guenther <rguenther@suse.de>
5cd0e96b
RG
26843
26844 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
26845 the linker plugin.
26846 (store_arg): Queue temp_filename for deletion instead of
26847 the whole argument.
26848
48cf395b
RB
268492010-05-07 Richard Guenther <rguenther@suse.de>
26850
26851 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
26852 (run_gcc): Handle LTRANS phase invocation.
62e59133 26853 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
48cf395b 26854
86b2c5b6
JJ
268552010-05-07 Jakub Jelinek <jakub@redhat.com>
26856
26857 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
26858 this is also meaningful on PARM_DECLs and RESULT_DECLs.
26859
c4e1e0b1
RO
268602010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26861
26862 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
26863
a7d4562a
RG
268642010-05-07 Richard Guenther <rguenther@suse.de>
26865
26866 PR tree-optimization/44020
26867 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
26868 code when PRE is not yet initialized.
26869
a6b02ef3
RO
268702010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26871
26872 * config/mips/dbxmdebug.h: Remove.
26873 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
26874
d42ba3b8
SZ
268752010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
26876
26877 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
26878 with null pointer and also warn about ordered comparison of zero with
26879 pointer if -Wextra.
26880
a6733c71
AS
268812010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
26882
26883 * graphite-blocking.c
26884 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
26885 * graphite-clast-to-gimple.c
26886 (clast_to_gcc_expression): Same.
26887 (precision_for_value): Same.
26888 (precision_for_interval): Same.
26889 (gcc_type_for_interval): Same.
26890 (graphite_create_new_guard): Same.
26891 (compute_bounds_for_level): Same.
26892 (graphite_create_new_loop_guard): Same.
26893 * graphite-interchange.c
26894 (build_linearized_memory_access): Same.
26895 (pdr_stride_in_loop): Same.
26896 (memory_strides_in_loop_1): Same.
26897 (memory_strides_in_loop): Same.
26898 (extend_scattering): Same.
26899 (psct_scattering_dim_for_loop_depth): Same.
26900 (pbb_number_of_iterations): Same.
26901 * graphite-poly.h
26902 (debug_iteration_domains): Same.
26903 * graphite-ppl.c
26904 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
26905 (ppl_set_inhomogeneous_gmp): Same.
26906 (ppl_strip_loop): Same.
26907 (ppl_lexico_compare_linear_expressions): Same.
26908 (ppl_read_polyhedron_matrix): Same.
26909 (ppl_max_for_le_pointset): Same.
26910 * graphite-ppl.h
26911 (ppl_read_polyhedron_matrix): Same.
26912 (tree_int_to_gmp): Same.
26913 (gmp_cst_to_tree): Same.
26914 (ppl_set_inhomogeneous): Same.
26915 (ppl_set_inhomogeneous_tree): Same.
26916 (ppl_set_coef): Same.
26917 (ppl_set_coef_tree): Same.
26918 * graphite-sese-to-poly.c
26919 (build_pbb_scattering_polyhedrons): Same.
26920 (build_scop_scattering): Same.
26921 (scan_tree_for_params_right_scev): Same.
26922 (scan_tree_for_params): Same.
26923 (find_params_in_bb): Same.
26924 (find_scop_parameters): Same.
26925 (add_upper_bounds_from_estimated_nit): Same.
26926 (build_loop_iteration_domains): Same.
26927 (add_condition_to_domain): Same.
26928 (pdr_add_memory_accesses): Same.
26929
269302010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
26931
26932 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
26933 CLooG's value_* macros to their respective mpz_* counterparts.
26934 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
26935 (graphite_create_new_loop_guard): Same.
26936 * graphite-interchange.c (build_linearized_memory_access): Same.
26937 (pdr_stride_in_loop): Same.
26938 (memory_strides_in_loop_1): Same.
26939 (1st_interchange_profitable_p): Same.
26940 * graphite-poly.c (extend_scattering): Same.
26941 (psct_scattering_dim_for_loop_depth): Same.
26942 (pbb_number_of_iterations): Same.
26943 (pbb_number_of_iterations_at_time): Same.
26944 * graphite-poly.h (new_1st_loop): Same.
26945 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
26946 (oppose_constraint): Same.
26947 (insert_constraint_into_matrix): Same.
26948 (ppl_set_inhomogeneous_gmp): Same.
26949 (ppl_set_coef_gmp): Same.
26950 (ppl_strip_loop): Same.
26951 (ppl_lexico_compare_linear_expressions): Same.
26952 (ppl_max_for_le_pointset): Same.
26953 (ppl_min_for_le_pointset): Same.
26954 (ppl_build_realtion): Same.
26955 * graphite-ppl.h (gmp_cst_to_tree): Same.
26956 (ppl_set_inhomogeneous): Same.
26957 (ppl_set_inhomogeneous_tree): Same.
26958 (ppl_set_coef): Same.
26959 (ppl_set_coef_tree): Same.
26960 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
26961 (build_scop_scattering): Same.
26962 (add_value_to_dim): Same.
26963 (scan_tree_for_params_right_scev): Same.
26964 (scan_tree_for_params_int): Same.
26965 (scan_tree_for_params): Same.
26966 (find_params_in_bb): Same.
26967 (find_scop_parameters): Same.
26968 (add_upper_bounds_from_estimated_nit): Same.
26969 (build_loop_iteration_domains): Same.
26970 (create_linear_expr_from_tree): Same.
26971 (add_condition_to_domain): Same.
26972 (pdr_add_memory_accesses): Same.
26973
14c2101d
JM
269742010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
26975 Jason Merrill <jason@redhat.com>
26976
26977 * c-common.c (c_common_reswords): Add nullptr.
26978 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
26979 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
26980 (gen_type_die_with_usage): Likewise.
26981 * dbxout.c (dbxout_type): Likewise.
26982 * sdbout.c (plain_type_1): Likewise.
26983
ebad5233
JM
269842010-05-06 Jason Merrill <jason@redhat.com>
26985
941f78d1
JM
26986 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
26987 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
26988 ret appropriately.
26989 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
26990
ebad5233
JM
26991 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
26992 stripping WITH_SIZE_EXPR.
26993 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
26994 change.
26995
9aaa1ee8
RO
269962010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26997
26998 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
26999 list of obsolete configurations.
27000 Disabled check for obsolete configurations.
27001 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
27002 Removed support for previous versions.
27003 * config/mips/iris.h: Removed.
27004 * config/mips/iris5.h: Removed.
27005 * config/mips/iris6.h: Merged old iris.h contents.
27006 (TARGET_IRIX): Removed.
27007 (DRIVER_SELF_SPECS): Removed mabi=32.
27008 (IDENT_ASM_OP): Removed undef.
27009 (STARTFILE_SPEC): Removed mabi=32.
27010 (ENDFILE_SPEC): Likewise.
27011 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
27012 (MACHINE_TYPE): Update for IRIX 6.5.
27013 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
27014 TARGET_IRIX by TARGET_IRIX6.
27015 (mips_file_start): Likewise.
27016 (mips_output_external): Remove IRIX 5/6 O32 support.
27017 (mips_output_function_prologue): Likewise.
27018 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
27019 TARGET_IRIX6.
27020 (TARGET_CPU_CPP_BUILTINS): Likewise.
27021 (TARGET_IRIX): Removed.
27022 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
27023 (MULTILIB_DIRNAMES): Removed 32.
27024 (MULTILIB_OSDIRNAMES): Removed ../lib.
62e59133 27025 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
9aaa1ee8 27026 (Specific, mips-sgi-irix5): Document removal.
62e59133 27027 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
9aaa1ee8
RO
27028 Remove references to older IRIX 6 releases and the O32 ABI.
27029
5b8bd3d5
JJ
270302010-05-06 Jakub Jelinek <jakub@redhat.com>
27031
27032 PR bootstrap/43994
27033 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
27034 instead of DF_REF_REAL_REG.
27035
e97580ce
DK
270362010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
27037
27038 PR target/43888
27039 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
27040 handling to still return true for x64 targets.
27041
f24d84cc
MK
270422010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
27043
27044 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
27045
ef38b551
JH
270462010-05-06 Jan Hubicka <jh@suse.cz>
27047
27048 PR tree-optimization/43791
27049 * ipa-inline.c (update_caller_keys): Remove bogus
27050 disregard_inline_limits check.
27051
0ab555de
MM
270522010-05-06 Michael Matz <matz@suse.de>
27053
27054 PR tree-optimization/43984
27055 * tree-ssa-pre.c (inserted_phi_names): Remove.
27056 (inserted_exprs): Change to bitmap.
27057 (create_expression_by_pieces): Set bits, don't append to vector.
27058 (insert_into_preds_of_block): Don't handle inserted_phi_names.
27059 (eliminate): Don't look at inserted_phi_names, remove deleted
27060 insns from inserted_exprs.
62e59133 27061 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
0ab555de
MM
27062 (init_pre, fini_pre): Allocate and free bitmaps.
27063 (execute_pre): Insert insns on edges before elimination.
27064
315a02da
MK
270652010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
27066
27067 * tree.c (initializer_zerop): Handle STRING_CST.
27068
3734d960
MLI
270692010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
27070
27071 PR 40989
27072 * doc/invoke.texi (Wimplicit): Document as C only.
27073 * opts.c (common_handle_option): Add argument kind.
27074 (handle_option): Rename as read_cmdline_option. Factor out code to...
27075 (handle_option): ... here. New.
27076 (handle_options): Rename as read_cmdline_options.
27077 (decode_options): Update call.
27078 (set_option): Use option index instead of option pointer. Classify
27079 diagnostics correctly.
27080 (enable_warning_as_error): Call handle_option.
27081 * opts.h (set_option): Update declaration.
27082 (handle_option): Declare.
62e59133 27083 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
3734d960
MLI
27084 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
27085 * c-opts.c (set_Wimplicit): Delete.
27086 (c_family_lang_mask): New static constant.
27087 (c_common_handle_option): Add argument kind. Use handle_option
27088 instead of set_Wimplicit.
27089 (c_common_post_options): warn_implicit and warn_implicit_int
27090 are disabled by default.
27091 * c-common.c (warn_implicit): Do not define here.
27092 * c-common.h (warn_implicit): Do not declare here.
27093 (c_common_handle_option): Update declaration.
27094 * lto-opts.c (lto_reissue_options): Update call to set_option.
27095
2b90475a
RG
270962010-05-06 Richard Guenther <rguenther@suse.de>
27097
27098 PR tree-optimization/43571
27099 * domwalk.c (walk_dominator_tree): Walk the dominator
27100 sons in more optimal order.
27101
e3bdfed6
RG
271022010-05-06 Richard Guenther <rguenther@suse.de>
27103
27104 PR tree-optimization/43934
27105 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
27106 (stmt_cost): Likewise.
27107 (extract_true_false_args_from_phi): New helper.
27108 (determine_max_movement): For PHI nodes verify we can hoist them
27109 and compute their cost.
27110 (determine_invariantness_stmt): Handle PHI nodes.
27111 (move_computations_stmt): Likewise. Hoist PHI nodes in
27112 if-converted form using COND_EXPRs.
62e59133 27113 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
e3bdfed6
RG
27114 (tree_ssa_lim): Likewise.
27115 * tree-flow.h (tree_ssa_lim): Adjust prototype.
27116 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
27117
a81b065a
RG
271182010-05-06 Richard Guenther <rguenther@suse.de>
27119
27120 PR tree-optimization/43987
27121 * tree-ssa-structalias.c (could_have_pointers): For possibly
27122 address-taken variables force pointers to be recorded.
27123 (create_variable_info_for_1): Likewise.
27124 (push_fields_onto_fieldstack): Pass in wheter all fields
27125 must have pointers.
27126 (find_func_aliases): Query types instead of vars whether
27127 they contain pointers where appropriate.
27128
369451ec
JH
271292010-05-06 Jan Hubicka <jh@suse.cz>
27130
27131 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
27132 (record_reference, mark_address, mark_load, mark_store): Record
27133 references.
27134 (record_references_in_initializer): Update call of record_references.
27135 (rebuild_cgraph_edges): Remove all references before rebuiding.
27136 * cgraph.c (cgraph_create_node): Clear ref list.
27137 (cgraph_remove_node): Remove references.
27138 (dump_cgraph_node): Dump references.
27139 (cgraph_clone_node): Clone references.
27140 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
27141 (struct cgraph_node, varpool_node): Add ref_lst.
27142 * ipa-ref.c: New file.
27143 * ipa-ref.h: New file.
27144 * ipa-ref-inline.h: New file.
27145 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
27146 (referenced_from_other_partition_p): New function.
27147 (lto_output_varpool_node): Take set arugment; call
27148 referenced_from_other_partition.
27149 (lto_output_ref): New.
27150 (add_references): New.
27151 (output_refs): New.
62e59133 27152 (output_cgraph): Compute boundary based on references; output refs.
369451ec
JH
27153 (output_varpool): Accept cgraph_node_set argument.
27154 (input_ref): New.
27155 (input_refs): New.
27156 (input_cgraph): Call input_refs.
27157 * lto-section-in.c (lto_section_name): Add refs.
ade52657 27158 * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
369451ec
JH
27159 (ipa-ref.o): New file.
27160 * varpool.c (varpool_node): Clear ipa ref list.
27161 (varpool_remove_node): Remove references.
27162 (dump_varpool_node): Dump references.
27163 (varpool_assemble_decl): Only compile finalized ones.
27164 (varpool_extra_name_alias): Initialize ref list.
27165 * lto-streamer.c (lto-get_section_name): Add .refs section.
27166 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
27167 (referenced_from_other_partition_p): Declared.
27168
7d8930a0
IR
271692010-05-06 Ira Rosen <irar@il.ibm.com>
27170
27171 PR tree-optimization/43901
27172 * tree-vect-stmts.c (vectorizable_call): Assert that vector
27173 type is not NULL if it's transformation phase, and return
27174 FALSE if it's analysis.
62e59133
UB
27175 (vectorizable_conversion, vectorizable_operation,
27176 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
7d8930a0 27177
a1c4f19f
AP
271782010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
27179
27180 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
27181 Delete.
27182 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
27183 New define.
27184 * config/mips/mips-protos.h
27185 (mips_small_register_classes_for_mode_p): Delete prototype.
27186
93b338c3
BS
271872010-05-06 Bernd Schmidt <bernds@codesourcery.com>
27188
27189 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
27190 * config/arm/arm.c (multiple_operation_profitable_p,
27191 compute_offset_order): New static functions.
27192 (load_multiple_sequence, store_multiple_sequence): Use them.
27193 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
27194 memory offsets, not register numbers.
27195 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
27196
50701474
SB
271972010-05-05 Steven Bosscher <steven@gcc.gnu.org>
27198
62e59133 27199 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
50701474
SB
27200 (get_pending_sizes, put_pending_size, put_pending_sizes):
27201 Update the uses of pending_sizes.
27202 * c-decl.c (store_parm_decls): Likewise.
27203 * c-tree.h (struct c_arg_info): Likewise.
27204 * tree.h: Update the prototype for get_pending_sizes and
27205 put_pending_sizes.
27206
564a129d
JM
272072010-05-05 Jason Merrill <jason@redhat.com>
27208
0f559c16
JM
27209 PR debug/43370
27210 * c-common.c (handle_aligned_attribute): Respect
27211 ATTR_FLAG_TYPE_IN_PLACE.
27212
564a129d
JM
27213 PR testsuite/43758
27214 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
27215 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
27216 (TARGET_INITIALIZER): Use it.
27217 * c-common.c (attribute_takes_identifier_p): Call it.
27218 * c-common.h: Update prototype.
27219 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
27220 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
27221
58c13acc
JJ
272222010-05-05 Jakub Jelinek <jakub@redhat.com>
27223
27224 PR debug/43950
27225 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
27226 DW_ID_down_case for Fortran compilation units.
27227
5b042919
JH
272282010-05-05 Jan Hubicka <jh@suse.cz>
27229
27230 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
27231 handle aliases.
27232
ca361dec
EB
272332010-05-05 Eric Botcazou <ebotcazou@adacore.com>
27234
27235 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
27236 a variable-sized RESULT_DECL.
27237
fa6aeae1
MK
272382010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
27239
27240 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
27241
6d729f28
JM
272422010-05-05 Jason Merrill <jason@redhat.com>
27243
27244 PR c++/43787
27245 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
27246 returns GS_OK.
27247 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
27248
e972a1d3
AO
272492010-05-05 Alexandre Oliva <aoliva@redhat.com>
27250 Jakub Jelinek <jakub@redhat.com>
27251
27252 PR debug/43478
27253 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
27254 (dead_debug_init, dead_debug_finish): New functions.
27255 (dead_debug_add, dead_debug_insert_before): Likewise.
27256 (df_note_bb_compute): Initialize a dead_debug object, add dead
27257 debug uses to it, insert debug bind insns before death insns,
27258 reset debug insns that refer to pending uses at the end.
27259 * rtl.h (make_debug_expr_from_rtl): New prototype.
27260 * varasm.c (make_debug_expr_from_rtl): New function.
27261
2f41ecf5
JH
272622010-05-05 Jan Hubicka <jh@suse.cz>
27263
27264 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
62e59133
UB
27265 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
27266 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
27267 lto_varpool_encoder_deref, lto_varpool_encoder_size,
2f41ecf5
JH
27268 lto_varpool_encoder_encode_initializer_p,
27269 lto_set_varpool_encoder_encode_initializer): New functions.
27270 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
27271 call output_varpool.
27272 (input_varpool_node): Do not always set analyzed.
27273 (input_cgraph_1): Return vector of cgraph nodes.
27274 (input_varpool_1): Return vector of varpools.
27275 (input_cgraph): Free the vectors.
27276 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
27277 output only initializers needed.
27278 (lto_output): Only call output_cgraph.
27279 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
27280 * lto-section-out.c (lto_new_out_decl_state): Initialize
27281 state->varpool_node_encoder.
27282 * lto-streamer.h (lto_varpool_encoder_d): New.
62e59133 27283 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
2f41ecf5
JH
27284 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
27285 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
27286 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
27287 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
27288 Declare.
27289 (output_varpool, input_varpool): Remove declarations.
27290
9e0546ef
JH
272912010-05-05 Jan Hubicka <jh@suse.cz>
27292
27293 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
27294 with body can prevail.
27295
272962010-05-05 Jan Hubicka <jh@suse.cz>
27297
27298 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
27299 size.
27300
0277fabf
LB
273012010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
27302
62e59133 27303 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
0277fabf
LB
27304
27305 * gengtype.h (erro_at_line): Constify pos argument.
27306
27307 * gengtype.c: Include hashtab.h.
27308 (enum gc_used): Document GC_MAYBE_POINTED_TO.
27309 (error_at_line): Constify pos argument.
27310 (do_typedef): Initialize p->opt field.
27311 (get_file_gtfilename): Fix comment typo.
27312 (struct walk_type_data): Constify line field.
27313 (get_output_file_for_structure): New function.
27314 (write_local_func_for_structure): Constify orig_s argument.
27315 Use get_output_file_for_structure.
27316 (write_func_for_structure): Use get_output_file_for_structure.
27317 (INDENT): New define.
27318 (dump_pair, dump_type, dump_type_list, dump_typekind)
27319 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
27320 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
27321 functions.
27322 (seen_types): New variable.
27323 (main): New variable do_dump. Process "-d" command line option.
27324 Call dump_everything if dump requested.
27325
dbb2a2cb
JJ
273262010-05-05 Jakub Jelinek <jakub@redhat.com>
27327
27328 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
27329 in a temporary instead of invoking the macro multiple times.
27330 (track_expr_p): Likewise.
27331
f4a4b582 273322010-05-04 Neil Vachharajani <nvachhar@google.com>
650cfcab
NV
27333
27334 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
27335 per new semantics.
27336 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
27337 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
27338 conditions for printing notes.
27339 * common.opt (-Wcoverage-mismatch): Allow negative, default to
27340 true, update documentation.
27341 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
650cfcab 27342
97e3c923
JJ
273432010-05-04 Jakub Jelinek <jakub@redhat.com>
27344
27345 PR c/43981
27346 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
27347 on dimen.
27348
ade6a9ac
L
273492010-05-04 H.J. Lu <hongjiu.lu@intel.com>
27350
27351 PR target/43799
62e59133 27352 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
ade6a9ac
L
27353 (*sse_prologue_save_insn1): Likewise.
27354 (SSE prologue save splitter): Likewise.
27355
7ef5e86c
EB
273562010-05-04 Eric Botcazou <ebotcazou@adacore.com>
27357
27358 * tree.c (free_lang_data_in_one_sizepos): New inline function.
27359 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
27360 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
27361 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
27362 all decls. Call it on DECL_FIELD_OFFSET of fields.
27363 (find_decls_types_r): Follow DECL_VALUE_EXPR.
27364 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
27365
6cbd3b6a
MJ
273662010-05-04 Martin Jambor <mjambor@suse.cz>
27367
27368 * tree-sra.c (build_access_from_expr_1): The first parameter type
27369 changed to simple tree.
27370 (build_access_from_expr): Likewise, gsi parameter was eliminated.
27371 (scan_assign_result): Renamed to assignment_mod_result, enum elements
27372 renamed as well.
27373 (build_accesses_from_assign): Removed all parameters except for a
27374 simple gimple statement. Now returns a simple bool.
27375 (scan_function): All non-analysis parts moved to separate functions
27376 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
27377 parameters and updated both callers.
27378 (sra_modify_expr): Removed parameter data.
27379 (sra_modify_function_body): New function.
27380 (perform_intra_sra): Call sra_modify_function_body to modify the
27381 function body.
27382 (replace_removed_params_ssa_names): Parameter data changed into
27383 adjustments vector.
27384 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
27385 changed the parameter dont_convert to convert with the opposite
27386 meaning.
27387 (sra_ipa_modify_assign): Parameter data changed into adjustments
27388 vector, return value changed to bool.
27389 (ipa_sra_modify_function_body): New function.
27390 (sra_ipa_reset_debug_stmts): Updated a comment.
27391 (modify_function): Use ipa_sra_modify_function_body to modify function
27392 body.
27393
2147c71c
L
273942010-05-04 H.J. Lu <hongjiu.lu@intel.com>
27395
27396 PR middle-end/43671
27397 * alias.c (true_dependence): Handle the same VALUE in x and mem.
27398 (canon_true_dependence): Likewise.
27399 (write_dependence_p): Likewise.
27400
85912441
JH
274012010-05-04 Jan Hubicka <jh@suse.cz>
27402
27403 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
27404 * cgraphbuild.c: Include ipa-utils.h
27405 (record_reference_ctx): New struct.
27406 (record_reference): Simplify to work on initializers; not statements.
27407 (mark_address, mark_load, mark_store): New.
27408 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
27409 walk PHI nodes too.
27410 (record_references_in_initializer): Update use of record_reference.
27411 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
27412 walk PHI nodes too.
27413
688a10c2
JH
274142010-05-04 Jan Hubicka <jh@suse.cz>
27415
27416 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
27417 node will be removed anyway.
27418 (lto_varpool_replace_node): Allow also unanalyzed nodes;
27419 relink aliases of node into prevailing node.
27420 * varpool.c (varpool_remove_node): Remove aliases properly;
27421 when removing node, remove all its aliases too; remove DECL_INITIAL
27422 of removed node; ggc_free the varpool node.
27423
27c2cfa6
RG
274242010-05-04 Richard Guenther <rguenther@suse.de>
27425
27426 PR tree-optimization/43879
27427 * tree-ssa-structalias.c (alias_get_name): Use
27428 DECL_ASSEMBLER_NAME if available.
27429 (create_function_info_for): Return the varinfo node.
27430 (ipa_pta_execute): Associate same-body aliases and extra names
27431 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
27432
9c265c4d
KK
274332010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
27434
62e59133 27435 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
9c265c4d 27436
a5c011cd
MP
274372010-05-04 Mikael Pettersson <mikpe@it.uu.se>
27438
27439 PR bootstrap/43964
27440 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
27441 only if HONOR_REG_ALLOC_ORDER is not defined.
27442
622d360e
RG
274432010-05-04 Richard Guenther <rguenther@suse.de>
27444
27445 PR tree-optimization/43949
27446 * tree-vrp.c (extract_range_from_binary_expr): Only handle
27447 TRUNC_MOD_EXPR.
27448
cbb4feb3
JM
274492010-04-26 Jason Merrill <jason@redhat.com>
27450
27451 * c.opt (-fstrict-enums): New.
27452 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
27453
f4a4b582 274542010-05-03 David Ung <davidu@mips.com>
67e67979
DU
27455 James E. Wilson <wilson@codesourcery.com>
27456
e492f63b 27457 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
67e67979
DU
27458 emit the trap instruction before the divide for TUNE_74K.
27459
42db504c
SB
274602010-05-03 Steven Bosscher <steven@gcc.gnu.org>
27461
27462 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
27463 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
27464 based on the above, for new target hook.
27465
27466 * hooks.c (hook_bool_mode_true): New generic hook.
27467 * hooks.h (hook_bool_mode_true): Add prototype.
27468
27469 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
27470 target hook.
27471 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
27472 target hook, set to hook_bool_mode_false.
27473 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
27474 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
27475 with targetm.small_register_classes_for_mode_p.
27476 (find_reusable_reload): Likewise.
27477 (combine_reloads): Likewise.
27478 * reload1.c (reload_as_needed): Likewise.
27479 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
27480 * ifcvt.c (noce_process_if_block, check_cond_move_block,
27481 dead_or_predicable): Likewise.
27482 * regmove.c (optimize_reg_copy_1): Likewise.
27483 * calls.c (prepare_call_address): Likewise.
27484 (precompute_register_parameters): Likewise.
27485
27486 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
27487 hook definition.
27488 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
27489 implementation of the hook that considers all register classes
27490 small except for SH64.
27491 (sh_override_options): Use the new hook.
27492 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
27493 Add prototype.
27494
27495 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
27496 hook definition.
27497 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
27498 implementation of the hook that considers all register classes
27499 small for THUMB1.
27500 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
27501 Add prototype.
27502
27503 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
27504 hook definition.
27505 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
27506 implementation of the hook that considers all register classes
27507 small for MIPS16.
27508 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
27509 Add prototype.
27510
27511 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
27512 hook definition.
27513 * config/m32c/m32c.h: Likewise.
27514 * config/pdp11/pdp11.h: Likewise.
27515 * config/avr/avr.h: Likewise.
27516 * config/xtensa/xtensa.h: Likewise.
27517 * config/m68hc11/m68hc11.h: Likewise.
27518 * config/mn10300/mn10300.h: Likewise.
27519 * config/mcore/mcore.h: Likewise.
27520 * config/h8300/h8300.h: Likewise.
27521 * config/bfin/bfin.h: Likewise.
27522
27523 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
27524 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
27525
e6693cfa
AS
275262010-05-03 Anatoly Sokolov <aesok@post.ru>
27527
27528 * double-int.h (tree_to_double_int): Remove macro.
27529 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
27530 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
27531 (tree_to_double_int): New function.
27532 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
27533 Move ...
27534 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
27535
8eb7bc3c
RG
275362010-05-03 Richard Guenther <rguenther@suse.de>
27537
27538 PR tree-optimization/43971
27539 * tree-ssa-structalias.c (get_constraint_for_1): Fix
27540 constraints in the !flag_delete_null_pointer_checks case.
27541
c4e26da1
JJ
275422010-05-03 Jakub Jelinek <jakub@redhat.com>
27543
27544 PR debug/43972
27545 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
27546 result mode matches original rtl mode.
27547
2dfccd83
DK
275482010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
27549
2385a470 27550 PR target/43888
2dfccd83
DK
27551 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
27552
18fdef20
UB
275532010-05-02 Uros Bizjak <ubizjak@gmail.com>
27554
27555 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
27556 when processing flag options.
27557
7c393241
UB
275582010-05-02 Uros Bizjak <ubizjak@gmail.com>
27559
27560 * gcov-iov.c (main): Change format string placeholder
27561 from %#08x to 0x%08x.
27562 * genchecksum.c (dosum): Change format string placeholder
27563 from %#02x to 0x%02x.
27564
52c307ba
RG
275652010-05-02 Richard Guenther <rguenther@suse.de>
27566
27567 PR tree-optimization/43879
7c393241 27568 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
52c307ba 27569
4896c7b8
BH
275702010-05-02 Bruno Haible <bruno@clisp.org>
27571
27572 * doc/extend.texi (Function Attributes): Fix a typo.
27573
34a47f6f
UB
275742010-05-02 Uros Bizjak <ubizjak@gmail.com>
27575
27576 Revert:
27577 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
27578 placeholder from 0x%x to %#x.
27579 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
7c393241
UB
27580 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
27581 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
27582 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
27583 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
27584 * config/i386/i386.c (ix86_target_string): Ditto.
34a47f6f 27585 * config/i386/i386.c (output_pic_addr_const): Ditto.
7c393241 27586 (print_operand): Ditto.
34a47f6f 27587
35c59d9c
UB
275882010-05-02 Uros Bizjak <ubizjak@gmail.com>
27589
27590 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
27591 placeholder from 0x%x to %#x.
27592 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
27593 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
27594 (ASM_OUTPUT_DEBUG_DATA): Ditto.
27595 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
27596 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
27597 * optc-gen.awk: Ditto.
27598 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
27599 (HOST_WIDE_INT_PRINT_HEX): Ditto.
27600 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
27601 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
35c59d9c 27602
82f81f18
AS
276032010-05-01 Anatoly Sokolov <aesok@post.ru>
27604
27605 * target.h (struct calls): Add function_value_regno_p field.
27606 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
27607 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
27608 * targhooks.c (default_function_value_regno_p): New function.
27609 * targhooks.h (default_function_value_regno_p): Declare function.
27610 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
27611 * builtins.c. (apply_result_size): (Ditto.).
27612 * combine.c. (likely_spilled_retval_p): (Ditto.).
27613 * mode-switching.c. Include 'target.h'.
27614 (create_pre_exit): Use function_value_regno_p hook.
27615 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
27616 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
27617 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
27618
27619 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
27620 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
27621 (ix86_function_value_regno_p): Declare as static, change argument
27622 type to const unsigned int.
27623 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
27624
bab4d587
RG
276252010-05-01 Richard Guenther <rguenther@suse.de>
27626
27627 PR tree-optimization/43949
27628 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
27629 types.
27630 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
27631
3e93ff81
AS
276322010-05-01 Anatoly Sokolov <aesok@post.ru>
27633
27634 * rtl.h (CONST_DOUBLE_P): Define.
27635 (rtx_to_double_int): Declare.
27636 * emit-rtl.c (rtx_to_double_int): New function.
27637 * dwarf2out.c (insert_double): New function.
27638 (loc_descriptor, add_const_value_attribute): Clean up, use
27639 rtx_to_double_int and insert_double functions.
27640
bcbc9564
JW
276412010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
27642
27643 * doc/extend.texi (Inline): Add missing return keyword to examples.
27644 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
27645 "command-line".
27646
ce276b61
EB
276472010-04-30 Eric Botcazou <ebotcazou@adacore.com>
27648
27649 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
27650 the variable part of the offset as well. Use highest_pow2_factor for
27651 all alignment checks.
27652
82677400
RB
276532010-04-30 Richard Guenther <rguenther@suse.de>
27654
27655 PR tree-optimization/43879
27656 * tree-ssa-structalias.c (type_could_have_pointers): Functions
27657 can have pointers.
27658
cd71491e
JH
276592010-04-30 Jan Hubicka <jh@suse.cz>
27660
82677400
RB
27661 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
27662 varpool.
cd71491e
JH
27663 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
27664
ace72c88
JH
276652010-04-30 Jan Hubicka <jh@suse.cz>
27666
82677400
RB
27667 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
27668 New.
ace72c88
JH
27669 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
27670 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
27671 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
27672 cgraph_node_set_needs_ltrans_p): Remove.
27673
b6feb796
SB
276742010-04-30 Steven Bosscher <steven@gcc.gnu.org>
27675
27676 * sdbout.c: Include vec.h, do not include varray.h.
27677 (deferred_global_decls, sdbout_global_decl,
27678 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
27679 * toplev.c: Do not include varray.h.
27680 (dump_memory_report): Do not dump VARRAY statistics.
27681 * gengtype.c (open_base_file): Ignore varray.h.
27682 * Makefile.in: Update for abovementioned changes.
27683 Remove all traces of varray.c and varray.h.
27684 * varray.c: Remove file.
27685 * varray.h: Remove file.
27686
05575e07
JH
276872010-04-30 Jan Hubicka <jh@suse.cz>
27688
27689 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
27690 references.
27691
9c6e0798
JH
276922010-04-30 Jan Hubicka <jh@suse.cz>
27693
27694 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
27695 needed.
27696
47d8a903
RG
276972010-04-30 Richard Guenther <rguenther@suse.de>
27698
27699 * tree-ssa-structalias.c (get_constraint_for_1): Generate
27700 constraints for CONSTRUCTOR.
27701
b6050cb7
RG
277022010-04-30 Richard Guenther <rguenther@suse.de>
27703
27704 PR lto/43946
27705 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
27706 first after all lowering passes.
27707
9aae8d16
SB
277082010-04-30 Steven Bosscher <steven@gcc.gnu.org>
27709
27710 * toplev.c: Include varray.h for statistics dumping.
27711 * tree.h: Do not declare varray_head_tag.
27712 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
27713 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
27714 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
27715 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
27716 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
27717 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
27718 c-common.c, c-common.h, reg-stack.c, basic-block.h,
27719 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
27720 include varray.h.
27721 * Makefile.in: Update for abovementioned changes.
27722
a07ecd2b
JJ
277232010-04-30 Jakub Jelinek <jakub@redhat.com>
27724
27725 PR debug/43942
27726 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
27727
41700fc3
HS
277282010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
27729
27730 * config/picochip/picochip.c (picochip_legitimize_address): Define.
27731 Use this function to do machine-specific conversion.
27732 (picochip_legitimize_reload_address): Likewise.
27733 (picochip_legitimate_address_p): Check valid base register only if
27734 strict.
27735 (picochip_check_conditional_copy): Check for modw only if opnd is
27736 register.
27737 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
27738 to call the function in c.
27739 * config/picochip/picochip-protos.h
27740 (picochip_legitimize_reload_address): Define.
27741 * config/picochip/picochip.md (supported_compare1): Define.
27742
8b4765bf
JH
277432010-04-30 Jan Hubicka <jh@suse.cz>
27744
27745 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
27746 (cgraph_global_info): Remove inlined.
27747 (LTO_cgraph_tag_names): Remove.
27748 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
27749 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
27750 simplify cgraph tags and document.
27751 (lto_output_node): Use only LTO_cgraph_unavail_node and
27752 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
35c59d9c 27753 for_functions_valid, global info, process and output flags.
8b4765bf 27754 (input_overwrite_node): Initialize estimated stack size and
35c59d9c 27755 estimated growth. Do not read flags we no longer store.
8b4765bf
JH
27756 (input_node): Likewise do not read info no longer stored.
27757 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
27758 flag.
27759
4be68d9a
RG
277602010-04-30 Richard Guenther <rguenther@suse.de>
27761
27762 PR tree-optimization/43879
27763 * tree-ssa-structalias.c (get_constraint_for_1): Properly
27764 handle non-zero initializers.
27765
06468254
RG
277662010-04-30 Richard Guenther <rguenther@suse.de>
27767
27768 * builtins.c (fold_builtin_1): Delete free (0).
27769
8b4765bf 277702010-04-29 Jan Hubicka <jh@suse.cz>
49ba8180
JH
27771
27772 * gengtype.c (open_base_files): Add lto-streamer.h
27773 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
27774 (pass_ipa_cp): GGC collect.
27775 * toplev. (compile_file): Do not output symbols.
27776 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
27777 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
27778 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
27779 * lto-section-in.c: Include ggc.h
27780 (lto_new_in_decl_state): Alloc in GGC.
27781 (lto_delete_in_decl_state): Likewise.
35c59d9c
UB
27782 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
27783 Collect.
49ba8180 27784
5a733826
BS
277852010-04-29 Bernd Schmidt <bernds@codesourcery.com>
27786
27787 PR target/42895
27788 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
27789 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
27790 (HONOR_REG_ALLOC_ORDER): Describe new macro.
27791 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
27792 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
27793 account only if HONOR_REG_ALLOC_ORDER is not defined.
27794 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
27795 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
35c59d9c
UB
27796
277972010-04-29 Jon Grant <04@jguk.org>
27798
7c6d86cc
JG
27799 * collect2.c (vflag): Change type from int to bool.
27800 (debug): Likewise.
27801 (helpflag): New global bool.
35c59d9c
UB
27802 (main): Set vflag and debug with boolean, not integer truth values.
27803 Accept new "--help" option and output usage text if found.
7c6d86cc
JG
27804 * collect2.h (vflag): Update prototype.
27805 (debug): Likewise.
35c59d9c 27806
55040b34
L
278072010-04-29 H.J. Lu <hongjiu.lu@intel.com>
27808
716a3481 27809 PR bootstrap/43936
35c59d9c 27810 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
55040b34 27811
46e70c4e
RG
278122010-04-29 Richard Guenther <rguenther@suse.de>
27813
27814 PR bootstrap/43935
27815 * plugin.h (invoke_plugin_callbacks): Annotate arguments
27816 with ATTRIBUTE_UNUSED.
27817
0d0539f0
L
278182010-04-29 H.J. Lu <hongjiu.lu@intel.com>
27819
27820 PR target/43921
27821 * config/i386/i386.c (get_some_local_dynamic_name): Replace
27822 INSN_P with NONDEBUG_INSN_P.
27823 (distance_non_agu_define): Likewise.
27824 (distance_agu_use): Likewise.
27825
8e5f0b49
BS
278262010-04-29 Bernd Schmidt <bernds@codesourcery.com>
27827
f4a4b582 27828 From Dominique d'Humieres <dominiq@lps.ens.fr>
8e5f0b49
BS
27829 PR bootstrap/43858
27830 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
27831 test_set.
27832
35c59d9c 278332010-04-29 Brian Hackett <bhackett1024@gmail.com>
efda3807
BH
27834
27835 * plugin.h (invoke_plugin_callbacks): New inline function.
27836 * plugin.c (flag_plugin_added): New global flag.
27837 (add_new_plugin): Initialize above flag.
27838 (invoke_plugin_callbacks): Rename to ...
27839 (invoke_plugin_callbacks_full): ... this.
27840
2942c502
JH
278412010-04-28 Jan Hubicka <jh@suse.cz>
27842
27843 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
27844 (lto_varpool_replace_node): New.
27845 (lto_symtab_resolve_symbols): Resolve varpool nodes.
27846 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
27847 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
27848 * cgraph.h (varpool_node_ptr): New type.
27849 (varpool_node_ptr): New vector.
27850 (varpool_node_set_def): New structure.
27851 (varpool_node_set): New type.
27852 (varpool_node_set): New vector.
27853 (varpool_node_set_element_def): New structure.
27854 (varpool_node_set_element, const_varpool_node_set_element): New types.
27855 (varpool_node_set_iterator): New type.
27856 (varpool_node): Add prev pointers, add used_from_other_partition,
27857 in_other_partition.
27858 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
27859 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
27860 varpool_get_node, varpool_remove_node): Declare.
27861 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
27862 varpool_node_set_size): New inlines.
27863 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
27864 * tree-pass.h (varpool_node_set_def): Forward declare.
27865 (ipa_opt_pass_d): Summary writting takes vnode sets too.
27866 (ipa_write_optimization_summaries): Update prototype.
27867 * ipa-cp.c (ipcp_write_summary): Update.
27868 * ipa-reference.c (ipa_reference_write_summary): Update.
27869 * lto-cgraph.c (lto_output_varpool_node): New static function.
27870 (output_varpool): New function.
27871 (input_varpool_node): New static function.
27872 (input_varpool_1): New function.
27873 (input_cgraph): Input varpool.
27874 * ipa-pure-const.c (pure_const_write_summary): Update.
27875 * lto-streamer-out.c (lto_output): Update, output varpool too.
27876 (write_global_stream): Kill WPA hack.
27877 (produce_asm_for_decls): Update.
27878 (output_alias_pair_p): Handle variables.
27879 (output_unreferenced_globals): Output only needed partition of varpool.
27880 * ipa-inline.c (inline_write_summary): Update.
35c59d9c
UB
27881 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
27882 cgraph.
2942c502
JH
27883 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
27884 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
27885 varpool_node_set_new, varpool_node_set_add,
27886 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
27887 debug_varpool_node_set): New functions.
27888 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
27889 (execute_one_pass): Process new decls too.
27890 (ipa_write_summaries_2): Pass around vsets.
27891 (ipa_write_summaries_1): Likewise.
27892 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
27893 to add.
27894 (ipa_write_optimization_summaries_1): Pass around vsets.
27895 (ipa_write_optimization_summaries): Likewise.
27896 * varpool.c (varpool_get_node): New.
27897 (varpool_node): Update doubly linked lists.
27898 (varpool_remove_node): New.
27899 (dump_varpool_node): More dumping.
27900 (varpool_enqueue_needed_node): Update doubly linked lists.
27901 (decide_is_variable_needed): Kill ltrans hack.
27902 (varpool_finalize_decl): Kill lto hack.
27903 (varpool_assemble_decl): Skip decls in other partitions.
27904 (varpool_assemble_pending_decls): Update doubly linkes lists.
27905 (varpool_empty_needed_queue): Likewise.
27906 (varpool_extra_name_alias): Likewise.
27907 * lto-streamer.c (lto_get_section_name): Add vars section.
27908 * lto-streamer.h (lto_section_type): Update.
27909 (output_varpool, input_varpool): Declare.
27910
da7f2697
MS
279112010-04-28 Mike Stump <mikestump@comcast.net>
27912
74ca3393 27913 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
da7f2697 27914
91eace2b
EB
279152010-04-28 Eric Botcazou <ebotcazou@adacore.com>
27916
27917 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
27918 record or union type with RECORD_OR_UNION_TYPE_P predicate.
27919 (lto_input_ts_type_tree_pointers): Likewise.
27920 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
27921 (lto_output_ts_type_tree_pointers): Likewise.
27922
8478130d
EB
279232010-04-28 Eric Botcazou <ebotcazou@adacore.com>
27924
27925 Uniquization of constants at the Tree level
20225a9b 27926 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
8478130d
EB
27927 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
27928 bit to the end.
27929 (tree_output_constant_def): Declare.
20225a9b 27930 * gimplify.c (gimplify_init_constructor): When using block copy, first
8478130d 27931 uniquize the constant constructor on the RHS.
20225a9b
EB
27932 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
27933 DECL_IN_CONSTANT_POOL flag.
8478130d 27934 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
20225a9b
EB
27935 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
27936 constant pool.
8478130d
EB
27937 (assemble_variable): Deal with symbols belonging to the tree constant
27938 pool.
27939 (get_constant_section): Add ALIGN parameter and simplify.
27940 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
27941 (assemble_constant_contents): Use the expression of the VAR_DECL.
27942 (output_constant_def_contents): Use the alignment of the VAR_DECL.
27943 (tree_output_constant_def): New global function.
27944 (mark_constant): Use the expression of the VAR_DECL.
20225a9b
EB
27945 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
27946 its expression.
8478130d
EB
27947 (output_object_block): Likewise and assemble the expression.
27948
331c7fcd
EB
279492010-04-28 Eric Botcazou <ebotcazou@adacore.com>
27950
27951 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
27952 hash_tree, eq_tree): New tree hash table.
27953 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
27954 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
27955 lto_orig_address_remove): Reimplement.
27956
34f97b94
XDL
279572010-04-28 Xinliang David Li <davidxl@google.com>
27958
27959 PR c/42643
27960 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
27961 (compute_uninit_opnds_pos): New function.
27962 (is_non_loop_exit_postdominating): New function.
27963 (compute_control_dep_chain): New function.
27964 (find_pdom): New function.
27965 (convert_control_dep_chain_into_preds): New function.
27966 (find_predicates): New function.
27967 (find_control_equiv_block): New function.
27968 (collect_phi_def_edges): New function.
27969 (find_def_preds): New function.
27970 (find_dom): New function.
27971 (dump_predicates): New function.
27972 (get_cmp_code): New function.
27973 (is_value_included_in): New function.
27974 (find_matching_predicate_in_rest_chains): New function.
27975 (use_pred_not_overlap_with_undef_path_pred): New function.
27976 (is_use_properly_guarded): New function.
27977 (normalize_cond_1): New function.
27978 (is_and_or_or): New function.
27979 (normalize_cond): New function.
27980 (is_gcond_subset_of): New function.
27981 (is_subset_of_any): New function.
27982 (is_or_set_subset_of): New function.
27983 (is_and_set_subset_of): New function.
27984 (is_norm_cond_subset_of): New function.
27985 (is_pred_expr_subset_of): New function.
27986 (is_pred_chain_subset_of): New function.
27987 (is_included_in): New function.
27988 (is_superset_of): New function.
27989 (find_uninit_use): New function.
27990 (warn_uninitialized_phi): New function.
27991 (compute_possibly_undefined_names): New function.
27992 (ssa_undefined_value_p): New function.
27993 (execute_late_warn_uninitialized): New function.
27994 * tree-ssa.c (ssa_undefined_value_p): Removed.
27995 (warn_uninit): Changed to extern.
27996 (warn_uninitialized_phi): Removed.
27997 (warn_uninitialized_vars): Changed to extern.
27998 (execute_late_warn_uninitialized): Removed
27999 * tree-flow.h: Add new prototypes.
28000 * timevar.def: Add new time variable.
28001 * Makefile.in: Add new build file.
28002
85fac79c
UB
280032010-04-28 Uros Bizjak <ubizjak@gmail.com>
28004
28005 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
28006 type if available.
28007
902a51a1
RO
280082010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
28009
28010 PR target/22224
28011 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
28012
e33c6cd6
MJ
280132010-04-28 Martin Jambor <mjambor@suse.cz>
28014
28015 * cgraph.h (struct cgraph_node): New field indirect_calls.
28016 (struct cgraph_indirect_call_info): New type.
28017 (struct cgraph_edge): Removed field indirect_call. New fields
28018 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
28019 (cgraph_create_indirect_edge): Declare.
28020 (cgraph_make_edge_direct): Likewise.
28021 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
28022 * ipa-prop.h (struct ipa_param_call_note): Removed.
28023 (struct ipa_node_params): Removed field param_calls.
28024 (ipa_create_all_structures_for_iinln): Declare.
28025 * cgraph.c: Described indirect edges and uids in initial comment.
28026 (cgraph_add_edge_to_call_site_hash): New function.
28027 (cgraph_edge): Search also among the indirect edges, use
28028 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
28029 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
28030 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
28031 site hash.
28032 (initialize_inline_failed): Assign a reason to indirect edges.
28033 (cgraph_create_edge_1): New function.
28034 (cgraph_create_edge): Moved some functionality to
28035 cgraph_create_edge_1.
28036 (cgraph_create_indirect_edge): New function.
28037 (cgraph_edge_remove_callee): Add an assert checking for
28038 non-indirectness.
28039 (cgraph_edge_remove_caller): Special-case indirect edges.
28040 (cgraph_remove_edge): Likewise.
28041 (cgraph_set_edge_callee): New function.
28042 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
28043 (cgraph_make_edge_direct): New function.
28044 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
28045 the declaration of the call statement matches.
28046 (cgraph_node_remove_callees): Special-case indirect edges.
28047 (cgraph_clone_edge): Likewise.
28048 (cgraph_clone_node): Clone also the indirect edges.
28049 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
28050 indirect_call, dump count of indirect_calls edges.
28051 * ipa-prop.c (iinlining_processed_edges): New variable.
28052 (ipa_note_param_call): Create indirect edges instead of
28053 creating notes. New parameter node.
28054 (ipa_analyze_call_uses): New parameter node, pass it on to
28055 ipa_note_param_call.
28056 (ipa_analyze_stmt_uses): Likewise.
28057 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
28058 (print_edge_addition_message): Work on edges rather than on notes.
28059 (update_call_notes_after_inlining): Likewise, renamed to
28060 update_indirect_edges_after_inlining.
28061 (ipa_create_all_structures_for_iinln): New function.
28062 (ipa_free_node_params_substructures): Do not free notes.
28063 (ipa_edge_duplication_hook): Propagate bits within
28064 iinlining_processed_edges bitmap.
28065 (ipa_node_duplication_hook): Do not duplicate notes.
28066 (free_all_ipa_structures_after_ipa_cp): Renamed to
28067 ipa_free_all_structures_after_ipa_cp.
28068 (free_all_ipa_structures_after_iinln): Renamed to
62e59133 28069 ipa_free_all_structures_after_iinln.
e33c6cd6
MJ
28070 (ipa_write_param_call_note): Removed.
28071 (ipa_read_param_call_note): Removed.
28072 (ipa_write_indirect_edge_info): New function.
28073 (ipa_read_indirect_edge_info): Likewise.
28074 (ipa_write_node_info): Do not stream notes, do stream information
28075 in indirect edges.
28076 (ipa_read_node_info): Likewise.
28077 (lto_ipa_fixup_call_notes): Removed.
28078 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
28079 * ipa-inline.c (pass_ipa_inline): Likewise.
28080 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
28081 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
28082 * tree-inline.c (copy_bb): Removed an unnecessary double check for
28083 is_gimple_call.
28084 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
28085 edges.
28086 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
28087 (output_cgraph): Stream also indirect edges.
28088 (lto_output_edge): Added capability to stream indirect edges.
28089 (input_edge): Likewise.
28090 (input_cgraph_1): Likewise.
f3d1b157
MJ
28091 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
28092 of indirect edges.
e33c6cd6 28093
18abb35e
RG
280942010-04-28 Richard Guenther <rguenther@suse.de>
28095
28096 PR tree-optimization/43879
28097 PR tree-optimization/43909
28098 * tree-ssa-structalias.c (struct variable_info): Add
28099 only_restrict_pointers flag.
28100 (new_var_info): Initialize it. Increment stats.total_vars here.
62e59133 28101 (create_function_info_for): Do not increment stats.total_vars here.
18abb35e
RG
28102 (get_function_part_constraint): Fix build with C++.
28103 (insert_into_field_list): Remove.
28104 (push_fields_onto_fieldstack): Properly merge fields.
28105 (create_variable_info_for): Split and simplify.
28106 (create_variable_info_for_1): New piece.
28107 (intra_create_variable_infos): Properly make restrict constraints
28108 from parameters.
28109
c718820a
RG
281102010-04-28 Richard Guenther <rguenther@suse.de>
28111
28112 PR c++/43880
35c59d9c 28113 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
c718820a 28114
5dc16b19 281152010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
f4a4b582 28116 Jan Hubicka <hubicka@ucw.cz>
5dc16b19
MLI
28117
28118 * doc/invoke.texi (-Wsuggest-attribute=const,
28119 -Wsuggest-attribute=pure): Document.
28120 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
28121 (function_always_visible_to_compiler_p,
28122 suggest_attribute, warn_function_pure, warn_function_const):
28123 New functions.
28124 (check_call): Improve debug info.
28125 (analyze_function): Do not check availability.
28126 (add_new_function): Check availability.
28127 (propagate): Output warnings.
28128 (skip_function_for_local_pure_const): New function.
28129 (local_pure_const): Use it; output warnings.
28130 * common.opt (Wsuggest-attribute=const,
28131 Wsuggest-attribute=pure): New.
28132
78b41ae2
JJ
281332010-04-27 Jakub Jelinek <jakub@redhat.com>
28134
28135 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
28136 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
28137 or DW_CFA_def_cfa_offset{,_sf}.
28138
62107106
EB
281392010-04-27 Eric Botcazou <ebotcazou@adacore.com>
28140
28141 * tree.h: Fix truncated long macros.
28142
ad211091
KT
281432010-04-27 Kai Tietz <kai.tietz@onevision.com>
28144
28145 * collect2.c (TARGET_64BIT): Redefine to target's default.
28146 * tlink.c: Likewise.
28147 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
28148 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
28149 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
28150 for underscoring __USER_LABEL_PREFIX__.
28151 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
28152 (SUB_LINK_ENTRY32): New.
28153 (SUB_LINK_ENTRY64): New.
85fac79c 28154 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
ad211091
KT
28155 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
28156 (SUB_LINK_ENTRY64): New.
28157 (SUB_LINK_ENTRY): New.
28158 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
28159 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
28160 x64 target is choosen.
28161 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
28162 * configure: Regenerated.
28163 * configure.ac (leading-mingw64-underscores): Option added.
28164
e65bb9be
JH
281652010-04-27 Jan Hubicka <jh@suse.cz>
28166
28167 * doc/invoke.texi (-fipa-profile): Document.
28168 * opts.c (decode_options): Enable ipa-profile at -O1.
28169 * timevar.def (TV_IPA_PROFILE): Define.
28170 * common.opt (fipa-profile): Add.
62107106
EB
28171 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
28172 flag for clones.
e65bb9be
JH
28173 (cgraph_propagate_frequency): Handle only local ones.
28174 * tree-pass.h (pass_ipa_profile): Declare.
28175 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
28176 (pass_ipa_profile): Use TV_IPA_PROFILE.
28177 * ipa.c (ipa_profile): New function.
28178 (gate_ipa_profile): Likewise.
28179 (pass_ipa_profile): New global variable.
28180 * passes.c (pass_ipa_profile): New.
28181
8606c81d
NF
281822010-04-27 Nathan Froyd <froydnj@codesourcery.com>
28183
28184 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
28185
78eaf7bf
MJ
281862010-04-27 Martin Jambor <mjambor@suse.cz>
28187
28188 PR middle-end/43812
28189 * ipa.c (dissolve_same_comdat_group_list): New function.
28190 (function_and_variable_visibility): Call
28191 dissolve_same_comdat_group_list when comdat group contains external or
28192 newly local nodes.
28193 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
28194 lists are circular and that they contain only DECL_ONE_ONLY nodes.
28195
5b56d3bb
EB
281962010-04-27 Eric Botcazou <ebotcazou@adacore.com>
28197
28198 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
28199 (const_hash_1) <VECTOR_CST>: New case.
28200 (compare_constant) <VECTOR_CST>: Likewise.
28201 <ADDR_EXPR>: Deal with LABEL_REFs.
28202 (copy_constant) <VECTOR_CST>: New case.
28203
fa5f5e27
JH
282042010-04-27 Jan Hubicka <jh@suse.cz>
28205
28206 * cgraph.c (cgraph_propagate_frequency): New function.
28207 * cgraph.h (cgraph_propagate_frequency): Declare.
28208 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
28209 cgraph_propagate_frequency.
28210
934f5b42
JJ
282112010-04-27 Jakub Jelinek <jakub@redhat.com>
28212
28213 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
28214
cb751cbd
BS
282152010-04-27 Bernd Schmidt <bernds@codesourcery.com>
28216
28217 PR target/40657
28218 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
28219 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
28220 here to determine which regs to push and how much stack to reserve.
28221
a5027830
JZ
282222010-04-27 Jie Zhang <jie@codesourcery.com>
28223
28224 * doc/gimple.texi (gimple_statement_with_ops): Remove
28225 addresses_taken field.
28226 (gimple_statement_with_memory_ops): Likewise.
28227
d89488ec
JH
282282010-04-27 Jan Hubicka <jh@suse.cz>
28229
28230 * tree-inline.c (eni_inlining_weights): Remove.
28231 (estimate_num_insns): Special case more builtins.
28232
637f1455 282332010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
85fac79c 28234
637f1455
SZ
28235 PR c/32207
28236 * c-typeck.c (build_binary_op): Move forward check for comparison
28237 pointer with null pointer constant and adjust the diagnostic message.
28238
f0423078
DK
282392010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
28240
28241 PR lto/42776
28242 * configure.ac (gcc_cv_as_section_has_align): Set if installed
28243 binutils supports extended .section directive needed by LTO, or
28244 warn if older binutils found.
28245 (LTO_BINARY_READER): New AC_SUBST'd variable.
28246 (LTO_USE_LIBELF): Likewise.
eed023cc 28247 * config.gcc (lto_binary_reader): New target-specific configure
f0423078 28248 variable.
eed023cc 28249 * Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
f0423078
DK
28250 (LTO_USE_LIBELF): Likewise.
28251 * configure: Regenerate.
28252
28253 * collect2.c (is_elf): Rename from this ...
28254 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
28255 object files in addition to ELF-formatted ones.
28256 (scan_prog_file): Caller updated. Also allow for LTO info marker
28257 symbol to be prefixed or not by an extra underscore.
28258
28259 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
28260 * config/i386/winnt.c: Also #include lto-streamer.h
28261 (i386_pe_asm_named_section): Specify 1-byte section alignment for
28262 LTO named sections.
28263 (i386_pe_asm_output_aligned_decl_common): Add comment.
28264 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
28265
68e87fc9
HPN
282662010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
28267
45c384e3 28268 PR target/43889
68e87fc9
HPN
28269 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
28270 Add missing earlyclobber for second alternative.
28271
823ff7b4
BS
282722010-04-26 Bernd Schmidt <bernds@codesourcery.com>
28273
28274 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
28275 bits for artificial defs at the top of the block.
28276 * fwprop.c (single_def_use_enter_block): Don't call it.
28277
f4a4b582 282782010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
9ec69d2e
JH
28279
28280 PR 43715
eed023cc 28281 * configure.ac: Use "$gcc_cv_nm -g" on darwin
9ec69d2e
JH
28282 instead of "$gcc_cv_objdump -T".
28283 Use "-undefined dynamic_lookup" on darwin.
eed023cc 28284 * configure: Regenerate.
9ec69d2e 28285
b83a701b
JJ
282862010-04-26 Jakub Jelinek <jakub@redhat.com>
28287
28288 PR c/43893
28289 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
28290
8415f317
NF
282912010-04-26 Nathan Froyd <froydnj@codesourcery.com>
28292
28293 * c-parser.c (struct c_token): Move location field up.
28294 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
28295 (struct c_declspecs): Convert typespec_word, storage_class, and
28296 default_int_p into bitfields.
28297 (struct c_declarator): Move loc field up.
28298
448f65db
NF
282992010-04-26 Nathan Froyd <froydnj@codesourcery.com>
28300
28301 * cfgloop.h (struct loop): Move can_be_parallel field up.
28302 * ipa-prop.h (struct ip_node_params): Move bitfields up.
28303 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
28304 down.
28305 (struct iv_cand): Convert pos field into a bitfield.
28306 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
28307 field up.
28308 (struct _stmt_vec_info): Shuffle fields for better packing.
28309
736865e1
EB
283102010-04-26 Eric Botcazou <ebotcazou@adacore.com>
28311
28312 * varasm.c (IN_NAMED_SECTION): Remove guard.
28313 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
28314 (IN_NAMED_SECTION_P): ...this.
28315 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
28316 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
28317
06ec59e6
EB
283182010-04-26 Eric Botcazou <ebotcazou@adacore.com>
28319
28320 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
28321 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
28322 of shadowing it. Fix comments.
28323
5fefcf92
JH
283242010-04-26 Jan Hubicka <jh@suse.cz>
28325
28326 * cgraph.c (cgraph_create_node): Set node frequency to normal.
28327 (cgraph_clone_node): Copy function frequency.
28328 * cgraph.h (node_frequency): New enum
28329 (struct cgraph_node): Add.
28330 * final.c (rest_of_clean_state): Update.
28331 * lto-cgraph.c (lto_output_node): Output node frequency.
28332 (input_overwrite_node): Input node frequency.
28333 * tre-ssa-loop-ivopts (computation_cost): Update.
06ec59e6
EB
28334 * lto-streamer-out.c (output_function): Do not output function
28335 frequency.
28336 * predict.c (maybe_hot_frequency_p): Update and handle functions
28337 executed once.
5fefcf92
JH
28338 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
28339 attribute lookup.
28340 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
06ec59e6
EB
28341 (compute_function_frequency): Set noreturn functions to be executed
28342 once.
5fefcf92
JH
28343 (choose_function_section): Update.
28344 * lto-streamer-in.c (input_function): Do not input function frequency.
06ec59e6
EB
28345 * function.c (allocate_struct_function): Do not initialize function
28346 frequency.
5fefcf92
JH
28347 * function.h (function_frequency): Remove.
28348 (struct function): Remove function frequency.
28349 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
28350 (try_update): Update.
28351 * tree-inline.c (initialize_cfun): Do not update function frequency.
28352 * passes.c (pass_init_dump_file): Update.
28353 * i386.c (ix86_compute_frame_layout): Update.
28354 (ix86_pad_returns): Update.
28355
330af32c
JZ
283562010-04-26 Jie Zhang <jie@codesourcery.com>
28357
28358 PR tree-optimization/43833
28359 * tree-vrp.c (range_int_cst_p): New.
28360 (range_int_cst_singleton_p): New.
28361 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
28362 when both operands are constants. Use range_int_cst_p in
28363 BIT_IOR_EXPR case.
28364
ae2b0888
JH
283652010-04-26 Jan Hubicka <jh@suse.cz>
28366
28367 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
28368
98b2dfbb
RG
283692010-04-26 Richard Guenther <rguenther@suse.de>
28370
28371 PR lto/43080
28372 * gimple.c (gimple_decl_printable_name): Deal gracefully
28373 with a NULL DECL_NAME.
28374
1ae3075b
RG
283752010-04-26 Richard Guenther <rguenther@suse.de>
28376
28377 PR lto/42425
28378 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
28379 if emitting debug information and it is either a function
28380 or a namespace decl.
28381
4b5caab7
IR
283822010-04-26 Ira Rosen <irar@il.ibm.com>
28383
85fac79c
UB
28384 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
28385 determine if the statement is vectorizable, and a macro to access it.
28386 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
28387 Skip statements that can't be vectorized. If the analysis fails,
28388 mark the statement as unvectorizable if vectorizing basic block.
4b5caab7 28389 (vect_compute_data_refs_alignment): Likewise.
85fac79c 28390 (vect_verify_datarefs_alignment): Skip statements marked as
4b5caab7 28391 unvectorizable. Add print.
85fac79c
UB
28392 (vect_analyze_group_access): Skip statements that can't be
28393 vectorized. If the analysis fails, mark the statement as
4b5caab7 28394 unvectorizable if vectorizing basic block.
85fac79c
UB
28395 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
28396 * tree-vect-stmts.c (vectorizable_store): Fix the number of
4b5caab7
IR
28397 generated stmts for SLP.
28398 (new_stmt_vec_info): Initialize the new field.
85fac79c 28399 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
4b5caab7
IR
28400 statements marked as unvectorizable.
28401
2778d766
JM
284022010-04-25 Joseph Myers <joseph@codesourcery.com>
28403
28404 * c-common.c (flag_isoc1x): New.
28405 (flag_isoc99): Update comment.
28406 * c-common.h (flag_isoc1x): New.
28407 (flag_isoc99): Update comment.
28408 * c-cppbuiltin.c (builtin_define_float_constants): Also define
28409 __<type>_DECIMAL_DIG__.
28410 * c-opts.c (set_std_c1x): New.
28411 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
28412 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
28413 * c.opt (-std=c1x, -std=gnu1x): New options.
28414 * doc/cpp.texi: Mention -std=c1x.
28415 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
28416 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
28417 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
28418 * doc/standards.texi: Mention C1X.
28419 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
28420 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
28421 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
28422 Define for C1X.
28423
3d416346
UB
284242010-04-25 Uros Bizjak <ubizjak@gmail.com>
28425
28426 * config/i386/gmon-sol2.c (_mcleanup): Change format string
28427 placeholder from 0x%x to %#x.
28428 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
28429 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
28430 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
28431 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
28432 * config/i386/i386.c (ix86_target_string): Ditto.
28433 (output_pic_addr_const): Ditto.
28434 (print_operand): Ditto.
28435
910ed7dc
PB
284362010-04-25 Paolo Bonzini <bonzini@gnu.org>
28437
28438 * combine.c (find_split_point): Add third argument. Use it
28439 to find nested multiply-accumulate instructions. Adjust calls.
28440 (try_combine): Adjust call to find_split_point.
28441
423b2799
GP
284422010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
28443
28444 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
28445
27d0d96a
BS
284462010-04-24 Bernd Schmidt <bernds@codesourcery.com>
28447
28448 PR tree-optimization/41442
28449 * fold-const.c (merge_truthop_with_opposite_arm): New function.
28450 (fold_binary_loc): Call it.
28451
c7d0de89
MLI
284522010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
28453
3d416346 28454 * toplev.c (general_init): Set default for fdiagnostics-show-option.
c7d0de89 28455 * opts.c (common_handle_option): Allow disabling it.
3d416346
UB
28456 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
28457
915f5921
EB
284582010-04-23 Eric Botcazou <ebotcazou@adacore.com>
28459
28460 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
28461 between modes if both types are integral.
28462
4e708ff7
RG
284632010-04-23 Richard Guenther <rguenther@suse.de>
28464
28465 PR tree-optimization/43572
28466 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
28467
8fd8a06f
RG
284682010-04-23 Richard Guenther <rguenther@suse.de>
28469
28470 PR lto/43455
28471 * tree-inline.c (tree_can_inline_p): Also check compatibility
28472 of return types.
28473
77620011
MJ
284742010-04-23 Martin Jambor <mjambor@suse.cz>
28475
28476 PR tree-optimization/43846
28477 * tree-sra.c (struct access): New flag grp_assignment_read.
28478 (build_accesses_from_assign): Set grp_assignment_read.
28479 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
28480 (enum mark_read_status): New type.
28481 (analyze_access_subtree): Propagate grp_assignment_read, create
28482 accesses also if both direct_read and root->grp_assignment_read.
28483
5c20baf1
MJ
284842010-04-23 Martin Jambor <mjambor@suse.cz>
28485
28486 PR middle-end/43835
28487 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
28488 function does not have type attributes.
28489
c67f69a3
RG
284902010-04-23 Richard Guenther <rguenther@suse.de>
28491
28492 PR lto/42653
28493 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
28494 of FUNCTION_DECLs.
28495
086058c2
LB
284962010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
28497
28498 * sese.h (create_if_region_on_edge): Remove.
28499
28500 * sese.c (create_if_region_on_edge): Make static.
28501
28502 * tree-inline.c: Do not include ggc.h.
28503
28504 * expr.c: Do not include ggc.h.
28505
28506 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
28507 dependencies.
28508
fc9c984d
KK
285092010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
28510
28511 PR target/43744
28512 * config/sh/sh.c (find_barrier): Don't emit a constant pool
28513 in the middle of insns for casesi_worker_2.
28514
cf42f095
DE
285152010-04-22 David Edelsohn <edelsohn@gnu.org>
28516
28517 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
28518
285192010-04-22 Ira Rosen <irar@il.ibm.com>
74500b3e 28520
5bdd895c 28521 PR tree-optimization/43842
d5dceab8 28522 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
74500b3e
IR
28523 loop unrolling in update of exit phis. Fix comment.
28524 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
d5dceab8 28525 least two reduction statements in the loop before starting SLP
74500b3e
IR
28526 analysis.
28527
d5f4a527
NC
285282010-04-22 Nick Clifton <nickc@redhat.com>
28529
28530 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
28531
44741f03
AM
285322010-04-22 Alexander Monakov <amonakov@ispras.ru>
28533
28534 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
28535 to simplify a + ~a.
28536
f873b205
LB
285372010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
28538
28539 * tree-parloops.c (loop_parallel_p): New argument
28540 parloop_obstack. Pass it down.
28541 (parallelize_loops): New variable parloop_obstack. Initialize it,
28542 pass it down, free it.
28543
28544 * tree-loop-linear.c (linear_transform_loops): Pass down
28545 lambda_obstack.
28546
28547 * tree-data-ref.h (lambda_compute_access_matrices): New argument
28548 of type struct obstack *.
28549
28550 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
28551 scratch_obstack. Initialize it, pass down, free it.
28552
28553 * lambda.h (lambda_loop_new): Remove.
28554 (lambda_matrix_new, lambda_matrix_inverse)
28555 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
28556 argument of type struct obstack *.
28557
28558 * lambda-trans.c (lambda_trans_matrix_new): New argument
28559 lambda_obstack. Pass it down, use obstack allocation for ret.
28560 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
28561 it down.
28562
28563 * lambda-mat.c (lambda_matrix_get_column)
28564 (lambda_matrix_project_to_null): Remove.
28565 (lambda_matrix_new): New argument lambda_obstack. Use obstack
28566 allocation for mat.
28567 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
28568 lambda_obstack.
28569
28570 * lambda-code.c (lambda_loop_new): New function.
28571 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
28572 (lambda_compute_auxillary_space, lambda_compute_target_space)
28573 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
28574 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
28575 (build_access_matrix): New argument lambda_obstack. Use obstack
28576 allocation for am.
28577 (lambda_compute_step_signs, lambda_compute_access_matrices): New
28578 argument lambda_obstack. Pass it down.
28579
b99279f3
BS
285802010-04-22 Bernd Schmidt <bernds@codesourcery.com>
28581
28582 * optabs.h (expand_widening_mult): Declare.
28583
b3be2694
RG
285842010-04-22 Richard Guenther <rguenther@suse.de>
28585
28586 PR tree-optimization/43845
28587 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
28588 lookup the CALL_EXPR function and arguments.
28589
038eab67
NC
285902010-04-22 Nick Clifton <nickc@redhat.com>
28591
28592 * config/stormy16/stormy16.c
d5dceab8 28593 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
038eab67
NC
28594 * config/stormy16/stormy16.h: Tidy up formatting.
28595 (DONT_USE_BUILTIN_SETJMP): Remove definition.
28596 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
28597 (ineqbranchsi): Delete pattern.
28598 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
28599 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
28600 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
28601 stormy16-lib2-ucmpsi2.c.
28602
907deb1a
BS
286032010-04-22 Bernd Schmidt <bernds@codesourcery.com>
28604
28605 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
28606 df_simulate_find_noclobber_defs as appropriate. Keep track of an
28607 extra set merge_set_noclobber, and use it to relax the final test
28608 slightly.
28609 * df.h (df_simulate_find_noclobber_defs): Declare.
28610 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
28611 conditional defs.
28612 (df_simulate_find_noclobber_defs): New function.
28613
6a0447ba
UB
286142010-04-22 Uros Bizjak <ubizjak@gmail.com>
28615
28616 * config/i386/i386.md: Use {} around multi-line preparation statements.
28617
a1e3b3d9
LB
286182010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
28619
28620 * c-tree.h (push_init_level, pop_init_level, set_init_index)
28621 (process_init_element): New argument of type struct obstack *.
28622
28623 * c-typeck.c (push_init_level, pop_init_level, set_designator)
28624 (set_init_index, set_init_label, set_nonincremental_init)
28625 (set_nonincremental_init_from_string, find_init_member)
28626 (output_init_element, output_pending_init_elements)
28627 (process_init_element): New argument braced_init_obstack. Pass it
28628 down.
28629 (push_range_stack, add_pending_init): New argument
28630 braced_init_obstack. Use obstack allocation.
28631
28632 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
28633 braced_init_obstack. Pass it down.
28634 (c_parser_braced_init): New variables ret, braced_init_obstack.
28635 Initialize obstack, pass it down and finally free it.
28636
5b58b39b
BS
286372010-04-22 Bernd Schmidt <bernds@codesourcery.com>
28638
28639 PR middle-end/29274
5b58b39b
BS
28640 * tree-pass.h (pass_optimize_widening_mul): Declare.
28641 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
28642 gate_optimize_widening_mul): New static functions.
28643 (pass_optimize_widening_mul): New.
3d416346 28644 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
5b58b39b
BS
28645 <case MULT_EXPR>: Remove support for widening multiplies.
28646 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
28647 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
28648 simplify_gen_unary rather than directly building extensions.
28649 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
28650 WIDEN_MULT_EXPR.
28651 * expmed.c (expand_widening_mult): New function.
28652 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
28653
bc58d7e1
JH
286542010-04-21 Jan Hubicka <jh@suse.cz>
28655
28656 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
28657 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
28658 * lto-wpa-fixup.c: Remove.
28659 * Makefile.in (lto-wpa-fixup.o): Remove.
28660 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
28661 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
28662 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
28663
e792884f
JH
286642010-04-21 Jan Hubicka <jh@suse.cz>
28665
28666 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
28667 add write_optimization_summary, read_optimization_summary.
28668 (ipa_write_summaries_of_cgraph_node_set): Remove.
28669 (ipa_write_optimization_summaries): Declare.
28670 (ipa_read_optimization_summaries): Declare.
28671 * ipa-cp.c (pass_ipa_cp): Update.
28672 * ipa-reference.c (pass_ipa_reference): Update.
28673 * ipa-pure-const.c (pass_ipa_pure_const): Update.
28674 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
28675 Update.
28676 * ipa-inline.c (pass_ipa_inline): Update.
28677 * ipa.c (pass_ipa_whole_program): Update.
28678 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
28679 * passes.c (ipa_write_summaries_1): Do not test wpa.
28680 (ipa_write_optimization_summaries_1): New.
28681 (ipa_write_optimization_summaries): New.
28682 (ipa_read_summaries): Do not test ltrans.
28683 (ipa_read_optimization_summaries_1): New.
28684 (ipa_read_optimization_summaries): New.
28685
ecd03d10
JH
286862010-04-21 Jan Hubicka <jh@suse.cz>
28687
28688 * lto-cgraph.c (lto_output_node): Do not output comdat groups
28689 for boundary nodes.
28690 (output_cgraph): Do not arrange comdat groups for boundary nodes.
28691
71a810c3
JJ
286922010-04-21 Jakub Jelinek <jakub@redhat.com>
28693
28694 PR debug/40040
28695 * dwarf2out.c (add_name_and_src_coords_attributes): Add
28696 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
28697
dd6d1ad7
JH
286982010-04-21 Jan Hubicka <jh@suse.cz>
28699
28700 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
28701
c9945504
JH
287022010-04-21 Jan Hubicka <jh@suse.cz>
28703
28704 * varpool.c (decide_is_variable_needed): Variable is always needed
28705 during ltrans.
28706
e7cfce71
JH
287072010-04-21 Jan Hubicka <jh@suse.cz>
28708
28709 * opts.c (decode_options): Enable pure-const pass for whopr.
28710
0115e6c7
JH
287112010-04-21 Jan Hubicka <jh@suse.cz>
28712
28713 * cgraph.c (dump_cgraph_node): Dump also assembler name.
28714 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
28715 at WPA dumping.
28716 (cgraph_decide_inlining): Do not expect callee to be removed in all
28717 cases.
28718
96c2a0d6
EW
287192010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
28720
28721 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
28722
656ef6bb
UB
287232010-04-21 Uros Bizjak <ubizjak@gmail.com>
28724
28725 * config/i386/i386.md (x86_shrd): Add athlon_decode and
28726 amdfam10_decode attributes.
28727
78db7d92
JJ
287282010-04-21 Jakub Jelinek <jakub@redhat.com>
28729
28730 PR middle-end/43570
28731 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
28732 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
28733 (lower_copyprivate_clauses): Use private var in outer
28734 context instead of original var. Make sure the types
28735 are correct for VLAs.
28736
11152c95
RG
287372010-04-21 Richard Guenther <rguenther@suse.de>
28738
28739 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
28740 to non-pointer objects.
28741
8f65940d
JJ
287422010-04-21 Jakub Jelinek <jakub@redhat.com>
28743
0f2f44c0
JJ
28744 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
28745 last chain entry if it starts with the still current label.
28746 (add_location_or_const_value_attribute): Check that
6a0447ba 28747 loc_list->first->next is NULL instead of comparing ->first with ->last.
0f2f44c0
JJ
28748 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
28749 to add_var_loc_to_decl.
28750
8f65940d 28751 * dwarf2out.c (output_call_frame_info): For dw_cie_version
6a0447ba 28752 >= 4 add also address size and segment size fields into CIE header.
8f65940d
JJ
28753
28754 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
28755 long as address size is the same as sizeof (void *) and
28756 segment size is 0.
28757 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
28758 address size or segment size is unexpected, return DW_EH_PE_omit.
28759 (classify_object_over_fdes): If get_cie_encoding returned
28760 DW_EH_PE_omit, return -1.
28761 (init_object): If classify_object_over_fdes returned -1,
28762 pretend there were no FDEs at all.
28763
2d2d5a91
UB
287642010-04-21 Uros Bizjak <ubizjak@gmail.com>
28765
28766 * config/i386/i386.md (bswap<mode>2): Macroize expander from
28767 bswap{si,di}2 using SWI48 mode iterator.
28768 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
28769 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
28770 set modrm attribute of bswap insn to 0 and remove length attribute.
28771 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
28772 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
28773 set mode attribute to <MODE> and remove length attribute.
28774
4811db8d
JW
287752010-04-20 James E. Wilson <wilson@codesourcery.com>
28776
28777 PR rtl-optimization/43520
28778 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
28779 zero available registers.
28780
3c642f92
KG
287812010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
28782
28783 * builtins.c (fold_builtin_cproj): Fold more cases.
28784
43272bf5
KG
287852010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
28786
28787 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
28788 (fold_builtin_1): Fold builtin cproj.
28789 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
28790 Use ATTR_CONST_NOTHROW_LIST.
28791
e96ccb30
UB
287922010-04-20 Uros Bizjak <ubizjak@gmail.com>
28793
28794 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
28795 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
28796 ffsi2_no_cmove for !TARGET_CMOVE.
28797 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
28798 (ffssi2): Remove expander.
28799 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
28800 mode iterator.
28801 (ctz<mode>2): Ditto from ctz{si,di}2.
28802 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
28803 mode iterator.
28804 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
28805 mode iterator.
28806
4c0ab69d
JJ
288072010-04-20 Jakub Jelinek <jakub@redhat.com>
28808
28809 * dwarf2out.c (AT_linkage_name): Define.
28810 (clone_as_declaration): Handle DW_AT_linkage_name.
28811 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
28812 of DW_AT_MIPS_linkage_name.
28813 (move_linkage_attr): Likewise.
28814 (dwarf2out_finish): Likewise.
28815
94e85e0a
XDL
288162010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
28817
28818 PR middle-end/41952
e96ccb30 28819 * fold-const.c (fold_comparison): New folding rule.
94e85e0a 28820
4c0ab69d 288212010-04-20 Anatoly Sokolov <aesok@post.ru>
54fb1ae0
AS
28822
28823 * double-int.h (double_int_setbit): Declare.
28824 * double-int.c (double_int_setbit): New function.
28825 * rtl.h (immed_double_int_const): Declare.
28826 * emit-rtl.c (immed_double_int_const): New function.
28827 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
28828 and immed_double_int_const functions.
28829 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
a691bb08 28830 expand_copysign_bit): (Ditto.).
54fb1ae0
AS
28831 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
28832 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
28833 * dojump.c (prefer_and_bit_test): (Ditto.).
28834 * expr.c (convert_modes, reduce_to_bit_field_precision,
28835 const_vector_from_tree): (Ditto.).
28836 * expmed.c (mask_rtx, lshift_value): (Ditto.).
28837
a837268b
JH
288382010-04-20 Jan Hubicka <jh@suse.cz>
28839
28840 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
28841 (dump_cgraph_node): Dump new flags.
e96ccb30
UB
28842 * cgraph.h (struct cgraph_node): Add flags
28843 reachable_from_other_partition and in_other_partition.
28844 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
28845 other partition can not be removed.
28846 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
28847 the other partition must be output; silence sanity checking on
28848 leaking functions bodies from other paritition.
a837268b
JH
28849 * lto-cgraph.c (reachable_from_other_partition_p): New function.
28850 (lto_output_node): Output new flags; do not sanity check that inline
28851 clones are output; drop lto_forced_extern_inline_p code; do not mock
28852 visibility flags at partition boundaries.
28853 (add_node_to): New function.
28854 (output_cgraph): Use it to sort functions so masters appear before
28855 clones.
28856 (input_overwrite_node): Input new flags.
28857 * passes.c (ipa_write_summaries): Do not call
28858 lto_new_extern_inline_states.
74ca3393
EB
28859 * lto-section-out.c (forced_extern_inline,
28860 lto_new_extern_inline_states lto_delete_extern_inline_states,
28861 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
a837268b
JH
28862 * lto-streamer.h (lto_new_extern_inline_states,
28863 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
28864 lto_forced_extern_inline_p): Kill.
28865
3c323b52
RG
288662010-04-20 Richard Guenther <rguenther@suse.de>
28867
28868 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
28869 from vars that can have pointers.
28870 (process_constraint): Dump useless constraints.
28871
b28ae58f
RG
288722010-04-20 Richard Guenther <rguenther@suse.de>
28873
e96ccb30 28874 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
b28ae58f
RG
28875 (dump_sa_points_to_info): Remove asserts.
28876 (init_base_vars): nothing_id isn't an escape point nor does it
28877 have pointers.
28878
1197ce8e
JJ
288792010-04-20 Jakub Jelinek <jakub@redhat.com>
28880
28881 * tree.h (TYPE_REF_IS_RVALUE): Define.
28882 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
28883 should_move_die_to_comdat, prune_unused_types_walk): Handle
28884 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
28885 (modified_type_die, gen_reference_type_die): Emit
28886 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
28887 if TYPE_REF_IS_RVALUE and -gdwarf-4.
28888
72e2cf16
AK
288892010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
28890
28891 PR target/43635
28892 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
28893 calls for -fpic -m31 if they have been sibcall optimized.
28894
810d71d0
JW
288952010-04-19 James E. Wilson <wilson@codesourcery.com>
28896
4a863f3a
JW
28897 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
28898 ar.lc fixed and call-used.
28899
810d71d0
JW
28900 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
28901
3ee2243c
JH
289022010-04-19 Jan Hubicka <jh@suse.cz>
28903
28904 * opts.c (decode_options): Disable whpr incompatible passes.
28905 * lto/lto.c (lto_1_to_1_map): Skip clones.
28906 (read_cgraph_and_symbols): Do not mark everything as needed.
28907 (do_whole_program_analysis): Do map only after optimizing;
28908 set proper cgraph_state; use passmanager.
28909
576319a7
DD
289102010-04-19 DJ Delorie <dj@redhat.com>
28911
28912 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
28913 POINTER_PLUS_EXPR and fix them.
28914
578ad141
EW
289152010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
28916
28917 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
28918 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
28919 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
28920 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
28921 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
28922 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
28923 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
28924 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
28925 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
28926 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
28927 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
28928
d321bd2d
EB
289292010-04-19 Eric Botcazou <ebotcazou@adacore.com>
28930
28931 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
28932 (check_cond_move_block): Likewise.
28933 (cond_move_process_if_block): Likewise.
28934 (noce_find_if_block): Improve formatting.
28935 (find_if_header): Pass 0 to memset and tweak conditions.
28936 (cond_exec_find_if_block): Fix long lines and tweak conditions.
28937
74e27d0d
JJ
289382010-04-19 Jakub Jelinek <jakub@redhat.com>
28939
e96ccb30
UB
28940 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
28941 for -gdwarf-4.
74e27d0d 28942
fd2e4e99
JJ
28943 PR middle-end/43337
28944 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
28945 with non-local decl doesn't need chain.
28946
ec995732
VM
289472010-04-19 Vladimir Makarov <vmakarov@redhat.com>
28948
28949 * ira-color.c (allocno_reload_assign): Avoid accumulating
28950 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
28951
acd63801
MJ
289522010-04-19 Martin Jambor <mjambor@suse.cz>
28953
28954 * gimple.h (create_tmp_reg): Declare.
28955 * gimplify.c (create_tmp_reg): New function.
28956 (gimplify_return_expr): Use create_tmp_reg.
28957 (gimplify_omp_atomic): Likewise.
28958 (gimple_regimplify_operands): Likewise.
28959 * tree-dfa.c (make_rename_temp): Likewise.
28960 * tree-predcom.c (predcom_tmp_var): Likewise.
28961 (reassociate_to_the_same_stmt): Likewise.
28962 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
28963 (get_replaced_param_substitute): Likewise.
28964 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
28965 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
28966 * tree-ssa-pre.c (get_representative_for): Likewise.
28967 (create_expression_by_pieces): Likewise.
28968 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
28969 (create_tailcall_accumulator): Likewise.
28970
0b6e2868
MJ
289712010-04-19 Martin Jambor <mjambor@suse.cz>
28972
28973 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
28974 new_stmt.
28975 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
28976
1936a7d4
RG
289772010-04-19 Richard Guenther <rguenther@suse.de>
28978
28979 PR tree-optimization/43796
28980 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
28981 from SCEV in the lattice.
28982 (vrp_visit_phi_node): Dump change.
28983
479881c3
RG
289842010-04-19 Richard Guenther <rguenther@suse.de>
28985
28986 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
28987 * configure: Re-generated.
28988
d53bed0b
RG
289892010-04-19 Richard Guenther <rguenther@suse.de>
28990
28991 PR tree-optimization/43783
28992 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
28993 constant ARRAY_REF operands two and three if possible.
28994
90f775a9
UB
289952010-04-19 Uros Bizjak <ubizjak@gmail.com>
28996
28997 PR target/43766
28998 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
28999
8d9b7be5
JZ
290002010-04-19 Jie Zhang <jie@codesourcery.com>
29001
29002 PR target/43662
90f775a9 29003 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
8d9b7be5 29004
d5dceab8 290052010-04-19 Ira Rosen <irar@il.ibm.com>
b5aeb3bb
IR
29006
29007 PR tree-optimization/37027
e96ccb30 29008 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
b5aeb3bb
IR
29009 and macro to access it.
29010 (vectorizable_reduction): Add argument.
29011 (vect_get_slp_defs): Likewise.
29012 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
29013 statements for possible use in SLP.
29014 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
29015 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
29016 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
29017 add new argument.
29018 (vectorizable_reduction): Likewise.
e96ccb30 29019 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
b5aeb3bb
IR
29020 vect_get_slp_defs.
29021 (vectorizable_type_demotion, vectorizable_type_promotion,
29022 vectorizable_store): Likewise.
29023 (vect_analyze_stmt): Update call to vectorizable_reduction.
29024 (vect_transform_stmt): Likewise.
29025 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
29026 (vect_build_slp_tree): Fix indentation. Check that there are no loads
29027 from different interleaving chains in same node.
29028 (vect_slp_rearrange_stmts): New function.
e96ccb30 29029 (vect_supported_load_permutation_p): Allow load permutations for
b5aeb3bb
IR
29030 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
29031 inside SLP nodes if necessary.
29032 (vect_analyze_slp_instance): Handle reductions.
29033 (vect_analyze_slp): Try to build SLP instances originating from groups
29034 of reductions.
29035 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
29036 (vect_get_constant_vectors): Create initial vectors for reductions
29037 according to reduction code. Add new argument.
e96ccb30 29038 (vect_get_slp_defs): Add new argument, pass it to
b5aeb3bb
IR
29039 vect_get_constant_vectors.
29040 (vect_schedule_slp_instance): Remove SLP tree root statements.
29041
5a2fa9e8
JJ
290422010-04-19 Jakub Jelinek <jakub@redhat.com>
29043
29044 * tree.h (ENUM_IS_SCOPED): Define.
29045 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
29046 for ENUM_IS_SCOPED enums.
29047
3b9e5d95
EB
290482010-04-18 Eric Botcazou <ebotcazou@adacore.com>
29049
29050 * fold-const.c (fold_comparison): Use ssizetype.
29051 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
29052 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
29053 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
29054 * tree-object-size.c (compute_object_sizes): Use size_type_node.
29055
29056 * tree.h (initialize_sizetypes): Remove parameter.
29057 (build_common_tree_nodes): Remove second parameter.
29058 * stor-layout.c (initialize_sizetypes): Remove parameter.
29059 Always create an unsigned type.
29060 (set_sizetype): Assert that the passed type is unsigned and simplify.
29061 * tree.c (build_common_tree_nodes): Remove second parameter.
29062 Adjust call to initialize_sizetypes.
29063 * c-decl.c (c_init_decl_processing): Remove second argument in call to
29064 build_common_tree_nodes.
29065
b3c35965
MK
290662010-04-18 Matthias Klose <doko@ubuntu.com>
29067
29068 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
29069
d5dceab8 290702010-04-18 Ira Rosen <irar@il.ibm.com>
59eefaa6
IR
29071
29072 PR tree-optimization/43771
29073 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
29074 load permutation doesn't have gaps.
29075
07b3ef2e
JH
290762010-04-18 Jan Hubicka <jh@suse.cz>
29077
29078 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
29079 (sse_prologue_save_insn expander): Use new pattern.
29080 (sse_prologue_save_insn1): New pattern and splitter.
29081 (sse_prologue_save_insn): Update to deal also with 64bit aligned
29082 blocks.
90f775a9
UB
29083 * i386.c (setup_incoming_varargs_64): Do not compute jump
29084 destination here.
07b3ef2e 29085 (ix86_gimplify_va_arg): Update alignment needed.
90f775a9 29086 (ix86_local_alignment): Do not align all local arrays to 128bit.
07b3ef2e 29087
6a8cd100
JH
290882010-04-17 Jan Hubicka <jh@suse.cz>
29089
29090 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
29091
9e315505
RE
290922010-04-17 Richard Earnshaw <rearnsha@arm.com>
29093
29094 * arm.md (negdi2): Remove redundant code to force values into a
29095 register.
29096
6f0668cf
RE
290972010-04-17 Richard Earnshaw <rearnsha@arm.com>
29098
29099 * arm/bpabi.S: Add EABI alignment attributes to objects.
29100 * arm/bpabi-v6m.S: Likewise.
29101 * arm/crti.asm: Likewise.
29102 * arm/crtn.asm: Likewise.
29103 * arm/lib1funcs.asm: Likewise.
29104 * arm/libunwind.S: Likewise.
29105
1b78f575
RE
291062010-04-17 Richard Earnshaw <rearnsha@arm.com>
29107
29108 * arm-protos.h (tune_params): New structure.
29109 * arm.c (current_tune): New variable.
29110 (arm_constant_limit): Delete.
29111 (struct processors): Add pointer to the tune parameters.
29112 (arm_slowmul_tune): New tuning option.
29113 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
29114 (all_cores): Adjust to pick up the tuning model.
29115 (arm_constant_limit): New function.
29116 (arm_override_options): Select the appropriate tuning model. Delete
29117 initialization of arm_const_limit.
29118 (arm_split_constant): Use the new constant-limit model.
29119 (arm_rtx_costs): Pick up the current tuning model.
29120 * arm.md (is_strongarm, is_xscale): Delete.
29121 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
29122 for Xscale variant architectures.
29123 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
29124
80d56d04
RR
291252010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
29126
1b78f575
RE
29127 * config/arm/arm.c (arm_gen_constant): Remove unused variable
29128 can_shift.
80d56d04
RR
29129 (arm_rtx_costs_1): Remove unused variable extra_cost.
29130 (arm_unwind_emit_set): Use variable offset.
29131 (thumb1_output_casesi): Remove unused variable flags.
29132
6190446b
JL
291332010-04-16 Jeff Law <law@redhat.com>
29134
29135 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
016f9d9d
JL
29136 needing assignment rather than doing a two-phase assignment. Remove
29137 unused variable 'm'.
6190446b 29138
24f8d71e
JJ
291392010-04-16 Jakub Jelinek <jakub@redhat.com>
29140
29141 PR bootstrap/43767
29142 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
29143
f1665f5c
DK
291442010-04-16 Doug Kwan <dougkwan@google.com>
29145
29146 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
29147 (next_operand_entry_id): New static variable.
29148 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
29149 (add_to_ops_vec): Assigned unique ID to operand entry.
3d25c396 29150 (struct oecount_s): New field ID.
f1665f5c
DK
29151 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
29152 (undistribute_ops_list): Assign unique IDs to oecounts.
29153 (init_reassoc): reset next_operand_entry_id.
29154
f638261a
DK
291552010-04-16 Doug Kwan <dougkwan@google.com>
29156
29157 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
29158 missing left parenthesis.
e96ccb30 29159
4a81b412
UB
291602010-04-16 Uros Bizjak <ubizjak@gmail.com>
29161
29162 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
29163 *btdi_rex64 using SWI48 mode iterator.
29164 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
29165 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
29166 *jcc_btdi_mask_rex64.
29167
9d4d1f8e
AS
291682010-04-16 Anatoly Sokolov <aesok@post.ru>
29169
29170 * double-int.h (tree_to_double_int): Convert to macro.
29171 * double-int.c (tree_to_double_int): Remove.
29172
835eb810
JJ
291732010-04-16 Jakub Jelinek <jakub@redhat.com>
29174
29175 PR debug/43762
29176 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
29177 with want_address 2 and in case a single element list might be
29178 possible, call it again with want_address 0.
29179
291802010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
db624ecb 29181
0f6b820c
KP
29182 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
29183 case 'W' print operands for HI mode.
29184 * config/h8300/h8300.h (Y0, Y2) : New constraints.
29185 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
29186 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
29187 * config/h8300/predicate.md (bit_register_indirect_operand): New.
29188
a7494d9e
KP
29189 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
29190
e96ccb30 29191 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
8cb81753
KP
29192 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
29193 #xx:3 and #xx:4 mode.
29194
60744089
KP
29195 * config/h8300/h8300.md (inverted load with HImode dest): Add
29196 support for H8300SX.
29197
db624ecb
KP
29198 * config/h8300/predicate.md (bit_operand): Allow immediate values that
29199 satisfy 'U' constraint.
29200
8ccb78f2
RO
292012010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29202
e96ccb30 29203 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
8ccb78f2
RO
29204 * configure: Regenerate.
29205 * config.in: Regenerate.
29206 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
29207 works.
29208
bc9c331d
RG
292092010-04-16 Richard Guenther <rguenther@suse.de>
29210
29211 * tree.h (struct tree_decl_minimal): Move pt_uid ...
29212 (struct tree_decl_common): ... here.
29213 (DECL_PT_UID): Adjust.
29214 (SET_DECL_PT_UID): Likewise.
29215 (DECL_PT_UID_SET_P): Likewise.
29216
12de6355
RG
292172010-04-16 Richard Guenther <rguenther@suse.de>
29218
29219 PR tree-optimization/43572
29220 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
29221 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
29222 * tree-flow.h (is_call_clobbered): Remove.
29223 * tree-flow-inline.h (is_call_clobbered): Likewise.
29224 * tree-dfa.c (dump_variable): Do not dump call clobber state.
29225 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
29226 (execute_return_slot_opt): Adjust.
29227 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
29228 check for call clobbered vars here.
29229 (find_tail_calls): Move tailcall verification to the
29230 proper place.
29231
6ab643b5
DN
292322010-04-16 Diego Novillo <dnovillo@google.com>
29233
e96ccb30 29234 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
6ab643b5 29235
f0c6475a
BS
292362010-04-16 Bernd Schmidt <bernds@codesourcery.com>
29237
29238 PR target/40603
29239 * config/arm/arm.md (cbranchqi4): New pattern.
29240 * config/arm/predicates.md (const0_operand,
29241 cbranchqi4_comparison_operator): New predicates.
29242
f0107145
RG
292432010-04-16 Richard Guenther <rguenther@suse.de>
29244
29245 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
29246 (dump_gimple_stmt): Likewise.
29247
f0c6475a 292482010-04-16 Bernd Schmidt <bernds@codesourcery.com>
6ddfdb0f
BS
29249
29250 * recog.h (struct recog_data): New field is_operator.
29251 (struct insn_operand_data): New field is_operator.
29252 * recog.c (extract_insn): Set recog_data.is_operator.
29253 * genoutput.c (output_operand_data): Emit code to set the
29254 is_operator field.
29255 * reload.c (find_reloads): Use it rather than testing for an
29256 empty constraint string.
29257
6ea007e4
BS
29258 PR target/41514
29259 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
29260 If the previous insn is a cbranchsi4_insn with the same arguments,
29261 omit the compare instruction.
29262
3302cfa1
BS
29263 * config/arm/arm.md (addsi3_cbranch): If destination is a high
29264 register, inputs must be low registers and we need a low register
29265 scratch. Handle alternative 2 like alternative 3.
29266
5312b066
JJ
292672010-04-16 Jakub Jelinek <jakub@redhat.com>
29268
29269 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
29270 don't call get_addr on both. If one expression is a VALUE and
29271 the other a REG, check VALUE's locs if the REG isn't among them.
29272
7a296495
CB
292732010-04-16 Christian Bruel <christian.bruel@st.com>
29274
29275 * config/sh/sh.h (sh_frame_pointer_required): New function.
29276 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
29277 (flag_omit_frame_pointer) Set.
29278 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
29279 (rounded_frame_size): Adjust size with outgoing_args_size.
29280 (sh_set_return_address): Must return from stack pointer.
eed023cc 29281 * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
7a296495
CB
29282 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
29283 (ACCUMULATE_OUTGOING_ARGS): Define.
29284 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
eed023cc 29285 * config/sh/sh.opt (maccumulate-outgoing-args): New option.
7a296495 29286
7140f0f9
KK
292872010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
29288
29289 PR target/43471
29290 * config/sh/sh.c (sh_legitimize_reload_address): Use
29291 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
29292 Remove a unneeded check for offset_base.
29293
bafaef55
L
292942010-04-15 H.J. Lu <hongjiu.lu@intel.com>
29295
29296 * configure: Regenerated.
29297
e8de8fea
AK
292982010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
29299
29300 * config/s390/s390.c (s390_call_save_register_used): Switch back
29301 to HARD_REGNO_NREGS.
29302
038a39d1
RG
293032010-04-15 Richard Guenther <rguenther@suse.de>
29304
29305 * alias.c (alias_set_subset_of): Handle alias-set zero
29306 child properly.
29307
28907f9a
MS
293082010-04-15 Mark Shinwell <shinwell@codesourcery.com>
29309 Julian Brown <julian@codesourcery.com>
29310
29311 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
29312 alternatives according to use of high and low regs.
29313 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
29314 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
29315 optimizing for size on Thumb-2.
29316
3f56ef8b
TS
293172010-04-15 Thomas Schwinge <tschwinge@gnu.org>
29318
29319 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
29320
25a6a873
RG
293212010-04-15 Richard Guenther <rguenther@suse.de>
29322
29323 * tree-ssa-structalias.c (struct variable_info): Add
29324 is_fn_info flag.
29325 (new_var_info): Initialize it.
29326 (dump_constraints): Support printing last added constraints.
29327 (debug_constraints): Adjust.
29328 (dump_constraint_graph): Likewise.
29329 (make_heapvar_for): Check for NULL cfun.
29330 (get_function_part_constraint): New function.
29331 (get_fi_for_callee): Likewise.
29332 (find_func_aliases): Properly implement IPA PTA constraints.
29333 (process_ipa_clobber): New function.
29334 (find_func_clobbers): Likewise.
29335 (insert_into_field_list_sorted): Remove.
29336 (create_function_info_for): Properly allocate vars for IPA mode.
29337 Do not use insert_into_field_list_sorted.
29338 (create_variable_info_for): Properly generate constraints for
29339 global vars in IPA mode.
29340 (dump_solution_for_var): Always dump the solution.
29341 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
29342 (find_what_var_points_to): Adjust.
29343 (pt_solution_set): Change.
29344 (pt_solution_ior_into): New function.
29345 (pt_solution_empty_p): Export.
29346 (pt_solution_includes_global): Adjust.
29347 (pt_solution_includes_1): Likewise.
29348 (pt_solutions_intersect_1): Likewise.
29349 (dump_sa_points_to_info): Check some invariants.
29350 (solve_constraints): Move constraint dumping ...
29351 (compute_points_to_sets): ... here.
29352 (ipa_pta_execute): ... and here.
29353 (compute_may_aliases): Do not re-compute points-to info
29354 locally if IPA info is available.
29355 (ipa_escaped_pt): New global var.
29356 (ipa_pta_execute): Properly implement IPA PTA.
29357 * tree-into-ssa.c (dump_decl_set): Support dumping
29358 decls not in referenced-vars.
29359 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
29360 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
29361 (dump_points_to_solution): Likewise.
29362 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
29363 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
e96ccb30 29364 (remap_gimple_stmt): Reset call clobber/use information if necessary.
25a6a873
RG
29365 (copy_decl_to_var): Copy DECL_PT_UID.
29366 (copy_result_decl_to_var): Likewise.
29367 * tree.c (make_node_stat): Initialize DECL_PT_UID.
29368 (copy_node_stat): Copy it.
29369 * tree.h (DECL_PT_UID): New macro.
29370 (SET_DECL_PT_UID): Likewise.
29371 (DECL_PT_UID_SET_P): Likewise.
29372 (struct tree_decl_minimal): Add pt_uid member.
29373 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
29374 (pt_solution_empty_p): Declare.
29375 (pt_solution_set): Adjust.
29376 (ipa_escaped_pt): Declare.
29377 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
29378 * gimple-pretty-print.c (pp_points_to_solution): New function.
29379 (dump_gimple_call): Dump call clobber/use information.
29380 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
29381 * tree-pass.h (TDF_ALIAS): New dump option.
29382 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
29383 * doc/invoke.texi (-fipa-pta): Update documentation.
29384
cbdd87d4
RG
293852010-04-15 Richard Guenther <rguenther@suse.de>
29386
29387 * Makefile.in (OBJS-common): Add gimple-fold.o.
29388 (gimple-fold.o): New rule.
29389 * tree.h (maybe_fold_offset_to_reference,
29390 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
29391 prototypes ...
29392 * gimple.h: ... here.
29393 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
29394 may_propagate_address_into_dereference): Move prototypes ...
29395 * gimple.h: ... here.
29396 * tree-ssa-ccp.c (get_symbol_constant_value,
29397 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
29398 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
29399 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
29400 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
29401 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
29402 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
29403 gimplify_and_update_call_from_tree): Move ...
29404 * gimple-fold.c: ... here. New file.
29405 (ccp_fold_builtin): Rename to ...
29406 (gimple_fold_builtin): ... this.
29407 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
29408
330db1e3
RG
294092010-04-15 Richard Guenther <rguenther@suse.de>
29410
29411 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
29412 fit_double_type, force_fit_type_double, add_double_with_sign,
29413 neg_double, mul_double_with_sign, lshift_double, rshift_double,
29414 lrotate_double, rrotate_double, div_and_round_double): Move ...
29415 * double-int.c: ... here.
29416 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
29417 add_double, neg_double, mul_double_with_sign, mul_double,
29418 lshift_double, rshift_double, lrotate_double, rrotate_double,
29419 div_and_round_double): Move prototypes ...
29420 * double-int.h: ... here.
29421
f0c6475a 294222010-04-15 Bernd Schmidt <bernds@codesourcery.com>
077668e3
BS
29423
29424 PR target/43742
29425 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
29426 matching constraints to ensure inputs match the output.
29427
fa66fc40
KK
294282010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
29429
29430 PR target/43742
29431 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
e96ccb30 29432 in an input-only operand.
fa66fc40 29433
2bd1333d
AS
294342010-04-15 Anatoly Sokolov <aesok@post.ru>
29435
29436 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
29437 (double_int_not, double_int_lshift, double_int_rshift): Declare.
29438 (double_int_negative_p): Convert to static inline function.
74ca3393 29439 * double-int.c (double_int_lshift, double_int_lshift): New functions.
2bd1333d 29440 (double_int_negative_p): Remove.
e96ccb30 29441 * tree.h (lshift_double, rshift_double):
2bd1333d
AS
29442 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
29443 * fold-const.c (fold_convert_const_int_from_real,
29444 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
29445 (lshift_double): Change type of arith argument to bool.
29446 (rshift_double): Change type of arith argument to bool. Correct
29447 comment.
29448 * expmed.c (mask_rtx, lshift_value): (Ditto.).
29449
f0c6475a 294502010-04-14 Bernd Schmidt <bernds@codesourcery.com>
e96ccb30 29451
31ce8a53
BS
29452 PR target/21803
29453 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
29454 at the start and end of the then/else blocks, and omit them from the
29455 conversion.
29456 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
29457 argument; all callers changed. Pass zero to old_insns_match_p instead.
29458 (flow_find_head_matching_sequence): New function.
29459 (old_insns_match_p): Check REG_EH_REGION notes for calls.
29460 * basic-block.h (flow_find_cross_jump,
29461 flow_find_head_matching_sequence): Declare functions.
29462
943f82e7
JM
294632010-04-14 Jason Merrill <jason@redhat.com>
29464
29465 PR c++/36625
29466 * c-common.c (attribute_takes_identifier_p): New fn.
29467 * c-common.h: Declare it.
29468
feeb8c52
UB
294692010-04-14 Uros Bizjak <ubizjak@gmail.com>
29470
29471 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
29472 splitter condition.
29473 (*udivmod<mode>4): Ditto.
29474
4a5528cc
UB
294752010-04-14 Uros Bizjak <ubizjak@gmail.com>
29476
29477 * config/i386/i386.md (maxmin_int): Rename code attribute from
29478 maxminiprefix and update all users.
29479 (maxmin_float): Ditto from maxminfprefix.
29480 (logic): Ditto from logicprefix.
29481 (absneg_mnemonic): Ditto from absnegprefix.
29482 * config/i386/mmx.md: Update all users of maxminiprefix,
4a81b412 29483 maxminfprefix and logicprefix for rename.
4a5528cc
UB
29484 * config/i386/sse.md: Ditto.
29485 * config/i386/sync.md (sync_<code><mode>): Update for
29486 logicprefix rename.
29487
289fcbbd
MLI
294882010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
29489
29490 PR 42966
29491 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
29492 warnings converted to errors.
29493
d58770e7
UB
294942010-04-14 Uros Bizjak <ubizjak@gmail.com>
29495
29496 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
29497 used insn_type variable.
29498 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
29499 to avoid set-but-not-used warning.
29500
a3f1cee4
UB
295012010-04-14 Uros Bizjak <ubizjak@gmail.com>
29502
29503 * df-core.c (df_ref_debug): Change format string placeholder
29504 from 0x%x to %#x.
29505 * dwarf2asm.c (dw2_asm_output_data_raw,
29506 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
29507 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
29508 * dwarf2out.c (output_cfi, output_cfi_directive,
29509 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
29510 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
29511 Ditto.
29512 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
29513 * print-rtl.c (print_rtx): Ditto.
29514
3eb4dbe3
MM
295152010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
29516
29517 PR middle-end/42694
29518 * builtins.c (expand_builtin_pow_root): New function to expand pow
29519 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
29520 series of sqrt and cbrt calls under -ffast-math.
29521 (expand_builtin_pow): Call it.
29522
fc249fe5
MM
295232010-04-14 Michael Matz <matz@suse.de>
29524
29525 PR tree-optimization/42963
29526 * tree-cfg.c (touched_switch_bbs): New static variable.
29527 (group_case_labels_stmt): New function broken out from ...
29528 (group_case_labels): ... here, use the above.
29529 (start_recording_case_labels): Allocate touched_switch_bbs.
29530 (end_recording_case_labels): Deallocate it, call
29531 group_case_labels_stmt.
29532 (gimple_redirect_edge_and_branch): Remember index of affected BB.
29533
0fcbf3ed
UB
295342010-04-14 Uros Bizjak <ubizjak@gmail.com>
29535
29536 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
29537 from insn template.
29538
3f529c2c
UB
295392010-04-14 Uros Bizjak <ubizjak@gmail.com>
29540
29541 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
29542
1ce18dc8
JH
295432010-04-13 Jan Hubicka <jh@suse.cz>
29544
29545 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
29546 of optimized out static functions.
29547 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
29548 cost computation. Also sanity check for overflows.
29549 (update_caller_keys): Update cgraph_edge_badness call; properly
29550 update fibheap and sanity check that it is up to date.
29551 (add_new_edges_to_heap): Update cgraph_edge_badness.
29552 (cgraph_decide_inlining_of_small_function): Likewise;
29553 add sanity checking that badness in heap is up to date;
29554 improve dumping of reason; Update badness of calls to the
29555 offline copy of function currently inlined; dump badness
29556 of functions not inlined because of unit growth limits.
29557
9e9ef331
EB
295582010-04-13 Eric Botcazou <ebotcazou@adacore.com>
29559
29560 PR middle-end/32628
29561 * c-common.c (pointer_int_sum): Disregard overflow that occured only
29562 because of sign-extension change when converting to sizetype here...
29563 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
29564
29565 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
29566 the folding to constants. Remove redundant final conversion.
29567 (fold_binary) <associate>: Do not associate if the re-association of
29568 constants alone overflows.
29569 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
29570 to the end of the list.
29571 (multiple_of_p) <COND_EXPR>: New case.
29572
9db94baa
MLI
295732010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
29574
29575 * opt-functions.awk (opt_sanitized_name): New.
29576 (opt_enum): New.
29577 * optc-gen.awk: Use it
29578 * opth-gen.awk: Use it.
29579
0f2ffb9a
MJ
295802010-04-13 Martin Jambor <mjambor@suse.cz>
29581
29582 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
29583 (sra_modify_assign): Delete stmts loading dead data even if racc has no
29584 children. Call replace_uses_with_default_def_ssa_name to handle
29585 SSA_NAES on lhs.
29586
f78b86c0
MM
295872010-04-13 Michael Matz <matz@suse.de>
29588
29589 PR middle-end/43730
29590 * builtins.c (expand_builtin_interclass_mathfn): Also create
29591 a register if the predicate doesn't match.
29592
0e6229c2
DN
295932010-04-13 Diego Novillo <dnovillo@google.com>
29594
29595 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
29596 * c-pch.c: Include timevar.h.
29597 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
3f529c2c 29598 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
0e6229c2 29599 * ggc-common.c: Include timevar.h.
3f529c2c 29600 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
0e6229c2
DN
29601 * timevar.def (TV_PCH_SAVE): Define.
29602 (TV_PCH_CPP_SAVE): Define.
29603 (TV_PCH_PTR_REALLOC): Define.
29604 (TV_PCH_PTR_SORT): Define.
29605 (TV_PCH_RESTORE): Define.
29606 (TV_PCH_CPP_RESTORE): Define.
29607
143597ff
MM
296082010-04-13 Michael Matz <matz@suse.de>
29609
29610 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
29611 into MINUS_EXPRs.
29612 (can_reassociate_p): New function.
29613 (break_up_subtract_bb, reassociate_bb): Use it.
29614
54c5ec4f
RG
296152010-04-13 Richard Guenther <rguenther@suse.de>
29616
29617 PR bootstrap/43737
29618 * builtins.c (c_readstr): Fix assert.
29619
719938ae
UB
296202010-04-13 Uros Bizjak <ubizjak@gmail.com>
29621
29622 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
29623 when generating cltd insn.
29624
29625 (*ashl<mode>3_1): Remove special handling for register operand 2.
29626 (*ashlsi3_1_zext): Ditto.
29627 (*ashlhi3_1): Ditto.
29628 (*ashlhi3_1_lea): Ditto.
29629 (*ashlqi3_1): Ditto.
29630 (*ashlqi3_1_lea): Ditto.
29631 (*<shiftrt_insn><mode>3_1): Ditto.
29632 (*<shiftrt_insn>si3_1_zext): Ditto.
29633 (*<shiftrt_insn>qi3_1_slp): Ditto.
29634 (*<rotate_insn><mode>3_1): Ditto.
29635 (*<rotate_insn>si3_1_zext): Ditto.
29636 (*<rotate_insn>qi3_1_slp): Ditto.
29637
3e8542ca
RG
296382010-04-13 Richard Guenther <rguenther@suse.de>
29639
29640 * tree-ssa-structalias.c (callused_id): Remove.
29641 (call_stmt_vars): New.
29642 (get_call_vi): Likewise.
29643 (lookup_call_use_vi): Likewise.
29644 (lookup_call_clobber_vi): Likewise.
29645 (get_call_use_vi): Likewise.
29646 (get_call_clobber_vi): Likewise.
29647 (make_transitive_closure_constraints): Likewise.
29648 (handle_const_call): Adjust to do per-call call-used handling.
29649 (handle_pure_call): Likewise.
29650 (find_what_var_points_to): Remove general callused handling.
29651 (init_base_vars): Likewise.
29652 (init_alias_vars): Initialize call_stmt_vars.
29653 (compute_points_to_sets): Process call-used and call-clobbered
29654 vars for call statements.
29655 (delete_points_to_sets): Free call_stmt_vars.
29656
777e1f09
RG
296572010-04-13 Richard Guenther <rguenther@suse.de>
29658
29659 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
29660 Only add RW dependence for dependence distance zero.
29661 Adjust maximal vectorization factor according to dependences.
29662 Move alignment handling ...
29663 (vect_find_same_alignment_drs): ... here. New function.
29664 (vect_analyze_data_ref_dependences): Adjust.
29665 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
29666 (vect_analyze_data_refs): Adjust minimal vectorization factor
29667 according to data references.
29668 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
29669 dependences before determining the vectorization factor.
29670 Analyze alignment after determining the vectorization factor.
29671 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
29672 dependences before alignment.
29673 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
29674 Adjust prototype.
29675 (vect_analyze_data_refs): Likewise.
29676 (MAX_VECTORIZATION_FACTOR): New define.
29677
1a710808
DS
296782010-04-13 Duncan Sands <baldrick@free.fr>
29679
29680 * except.h (lang_eh_type_covers): Remove.
29681 * except.c (lang_eh_type_covers): Likewise.
29682
9602b6a1 296832010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3f529c2c
UB
29684 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
29685
eed023cc
EB
29686 * config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
29687 * config/s390/s390.c: Replace UNTIS_PER_WORD with
3f529c2c 29688 UNITS_PER_LONG where it is ABI relevant.
9602b6a1
AK
29689 (s390_return_addr_rtx): Likewise.
29690 (s390_back_chain_rtx): Likewise.
29691 (s390_frame_area): Likewise.
29692 (s390_frame_info): Likewise.
29693 (s390_initial_elimination_offset): Likewise.
29694 (save_gprs): Likewise.
29695 (s390_emit_prologue): Likewise.
29696 (s390_emit_epilogue): Likewise.
29697 (s390_function_arg_advance): Likewise.
29698 (s390_function_arg): Likewise.
29699 (s390_va_start): Likewise.
29700 (s390_gimplify_va_arg): Likewise.
29701 (s390_function_profiler): Likewise.
29702 (s390_optimize_prologue): Likewise.
29703 (s390_rtx_costs): Likewise.
29704 (s390_secondary_reload): Likewise.
29705 (s390_promote_function_mode): Likewise.
29706 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
29707 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
29708 registers available.
29709 (s390_unwind_word_mode): New function.
29710 (s390_function_value): Split 64 bit values into register pair if
29711 used as return value.
29712 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
29713 function call parameters. Handle parallels.
29714 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
29715 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
29716 (DWARF_CIE_DATA_ALIGNMENT): New macro.
29717 (s390_expand_setmem): Remove unused variable src_addr.
eed023cc 29718 * longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
3f529c2c 29719 deal with 64 bit registers.
eed023cc 29720 * config/s390/s390.h: Define __zarch__ predefined macro.
9602b6a1
AK
29721 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
29722 (UNITS_PER_LONG): New macro.
29723 * libjava/include/s390-signal.h: Define extended ucontext
29724 structure containing the upper halfs of the 64 bit registers.
29725
3b123595
SB
297262010-04-13 Simon Baldwin <simonb@google.com>
29727
29728 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
29729
cb3d597d
EB
297302010-04-13 Eric Botcazou <ebotcazou@adacore.com>
29731
29732 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
29733 rvalue on the RHS if the LHS is of a non-renamable type.
29734 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
29735
4adbd5dd
MK
297362010-04-13 Matthias Klose <doko@ubuntu.com>
29737
29738 * gcc.c (cc1_options): Handle -iplugindir before processing
29739 the cc1 spec. Only add -iplugindir once.
29740 (cpp_unique_options): Add -iplugindir option if -fplugin* options
29741 found.
29742 * common.opt (iplugindir): Remove `Separate' property, initialize.
29743 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
29744 option.
29745 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
29746 (distclean): Remove plugin dir.
29747 * doc/invoke.texi: Document -iplugindir.
29748
297492010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
29750
29751 * doc/plugins.texi (Loading Plugins): Document short
29752 -fplugin=foo option.
29753 (Plugin API): Mention default_plugin_dir_name function.
29754
29755 * gcc.c (find_file_spec_function): Add new declaration.
29756 (static_spec_func): Use it for "find-file".
29757 (find_file_spec_function): Add new function.
29758 (cc1_options): Add -iplugindir option if -fplugin* options found.
29759
29760 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
29761
29762 * plugin.c (add_new_plugin): Updated comment, and handle short
29763 plugin name.
29764 (default_plugin_dir_name): Added new function.
29765
719938ae 29766 * common.opt (iplugindir): New option to set the plugin directory.
4adbd5dd 29767
e0db9cc6
UB
297682010-04-12 Uros Bizjak <ubizjak@gmail.com>
29769
29770 * config/i386/i386.md (any_rotate): New code iterator.
29771 (rotate_insn): New code attribute.
29772 (rotate): Ditto.
29773 (SWIM124): New mode iterator.
29774 (<rotate_insn>ti3): New expander.
29775 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
29776 any_rotate code iterator.
29777 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
29778 using any_rotate code iterator and SWIM124 mode iterator.
29779 (ix86_rotlti3): New insn_and_split pattern.
29780 (ix86_rotrti3): Ditto.
29781 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
29782 ix86_rotl{di,ti}3 patterns.
29783 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
29784 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
29785 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
29786 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
29787 code iterator and SWI mode iterator.
29788 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
29789 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
29790 code iterator.
29791 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
29792 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
29793 (bswap rotatert splitter): Add splitter.
29794 (bswap splitter): Macroize splitter using any_rotate code iterator.
29795 Add insn predicate to split only for TARGET_USE_XCHGB or when
29796 optimizing function for size.
29797
077c8ada
SE
297982010-04-12 Steve Ellcey <sje@cup.hp.com>
29799
29800 * config/pa/pa.c (emit_move_sequence): Remove use of
29801 deleted variable flag_argument_noalias.
29802
c7392d11
RO
298032010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29804
29805 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
29806 configurations.
29807 Add to unsupported targets list.
29808 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
29809 sparc*-sun-solaris2.[567]* from target lists.
29810 * configure: Regenerate.
29811 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
29812 removal.
29813 Remove Solaris 7 patch references.
29814 (Specific, sparc-sun-solaris2.7): Removed.
29815 (sparc-sun-solaris2*): Update Solaris 7 example.
29816 (sparc64-*-solaris2*): Likewise.
29817
8c200350
RO
298182010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29819
29820 * config.build (alpha*-dec-osf4*): Remove.
29821 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
29822 of obsolete configurations.
29823 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
29824 support.
29825 * config/alpha/t-osf4: Renamed to ...
29826 * config/alpha/t-osf5: ... this.
29827 * config/alpha/osf.h: Renamed to ...
29828 * config/alpha/osf5.h: ... this.
29829 Merged old osf5.h contents.
29830 Update comments.
29831 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
29832 (EXTRA_SPECS): Removed.
29833 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
29834 reflect removal of Tru64 UNIX V4.0/V5.0 support.
29835 Document that.
29836
887204da
RO
298372010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29838
29839 * doc/contrib.texi (Contributors, Rainer Orth): Update.
29840
c1b8e139
KT
298412010-04-12 Kai Tietz <kai.tietz@onevision.com>
29842
29843 PR/43702
29844 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
29845 __thiscall convention.
29846
b38bccca
SE
298472010-04-12 Steve Ellcey <sje@cup.hp.com>
29848
29849 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
29850 orig_base.
29851 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
29852
fc2f1f53
SE
298532010-04-12 Steve Ellcey <sje@cup.hp.com>
29854
29855 * function.c (assign_parms_initialize_all): Add unused attribute
29856 to fntype.
29857
d086d311
RG
298582010-04-12 Richard Guenther <rguenther@suse.de>
29859
29860 * gsstruct.def (GSS_CALL): New.
29861 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
29862 * gimple.h: Include tree-ssa-alias.h.
29863 (struct gimple_statement_call): New.
29864 (union gimple_statement_struct_d): Add gimple_call member.
29865 (gimple_call_reset_alias_info): Declare.
29866 (gimple_call_use_set): New function.
29867 (gimple_call_clobber_set): Likewise.
29868 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
29869 * gimple.c (gimple_call_reset_alias_info): New function.
29870 (gimple_build_call_1): Call it.
29871 * lto-streamer-in.c (input_gimple_stmt): Likewise.
29872 * tree-inline.c (remap_gimple_stmt): Likewise.
29873 (expand_call_inline): Remove callused handling.
29874 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
29875 * tree-dfa.c (dump_variable): Likewise.
29876 * tree-parloops.c (parallelize_loops): Likewise.
29877 * tree-ssa.c (init_tree_ssa): Likewise.
29878 (delete_tree_ssa): Likewise.
29879 * tree-flow-inline.h (is_call_used): Remove.
29880 * tree-flow.h (struct gimple_df): Remove callused member.
29881 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
29882 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
29883 (ref_maybe_used_by_call_p_1): Simplify.
29884 (call_may_clobber_ref_p_1): Likewise.
29885 * tree-ssa-structalias.c (compute_points_to_sets): Set
29886 the call stmt used and clobbered sets.
29887 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
29888 (find_tail_calls): Verify the tail call.
29889
af961c7f
RG
298902010-04-12 Richard Guenther <rguenther@suse.de>
29891
29892 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
29893 single-iteration always-inline inlining.
29894 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
e0db9cc6 29895 (cgraph_decide_inlining): Do not handle always-inline specially.
af961c7f
RG
29896 (try_inline): Remove always-inline cycle detection special case.
29897 Do not recurse on always-inlines.
29898 (cgraph_early_inlining): Do not iterate if not optimizing.
29899 (cgraph_gate_early_inlining): remove.
29900 (pass_early_inline): Run unconditionally.
29901 (gate_cgraph_decide_inlining): New function.
29902 (pass_ipa_inline): Use it. Do not run the IPA inliner if
29903 not inlining or optimizing.
29904 (cgraph_decide_inlining_of_small_functions): Also consider
29905 always-inline functions.
29906 (cgraph_default_inline_p): Return true for nodes which should
29907 disregard inline limits.
29908 (estimate_function_body_sizes): Assume zero size and time for
29909 nodes which are marked as disregarding inline limits.
29910 (cgraph_decide_recursive_inlining): Do not perform recursive
29911 inlining on always-inline nodes.
29912
fa8351f8
JJ
299132010-04-12 Jakub Jelinek <jakub@redhat.com>
29914
29915 PR bootstrap/43699
29916 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
29917 for exprs satisfying handled_component_p.
29918
675c873b
EB
299192010-04-12 Eric Botcazou <ebotcazou@adacore.com>
29920
29921 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
29922 non-constant aggregate elements.
29923
29924 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
29925 is a real initialization.
29926
c4712597
SZ
299272010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
29928
29929 PR c/36774
29930 * c-decl.c (start_function): Move forward check for nested function.
29931
6f50eb9c
KK
299322010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
29933
29934 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
29935 * config/sh/sh.c: Include reload.h.
29936 (sh_legitimize_reload_address): New.
29937 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
29938 sh_legitimize_reload_address.
29939
c11c09f9
KP
299402010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
29941
29942 * config/sh/sh.md (*movqi_pop): New insn pattern.
29943 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
29944
d72ebc16
UB
299452010-04-11 Uros Bizjak <ubizjak@gmail.com>
29946
29947 * config/i386/i386.md (any_shiftrt): New code iterator.
29948 (shiftrt_insn): New code attribute.
29949 (shiftrt): Ditto.
e0db9cc6
UB
29950 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
29951 using any_shiftrt code iterator.
d72ebc16 29952 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
e0db9cc6 29953 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
d72ebc16
UB
29954 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
29955 pattern from corresponding peephole2 patterns.
e0db9cc6
UB
29956 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
29957 using any_shiftrt code iterator.
29958 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
29959 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
29960 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
29961 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
29962 *{ashr,lshr}<mode>3_cmp_zext.
29963 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
d72ebc16 29964
59caab22
UB
299652010-04-11 Uros Bizjak <ubizjak@gmail.com>
29966
29967 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
29968 scratch register.
29969 (*lshr<mode>3_cconly): Ditto.
29970
9200ac72
UB
299712010-04-11 Uros Bizjak <ubizjak@gmail.com>
29972
29973 * config/i386/i386.md (lshr<mode>3): Macroize expander from
29974 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
29975 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
29976 pattern from *lshr{di,ti}3_1 and corresponding splitters using
29977 DWI mode iterator.
29978 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
29979 from corresponding peephole2 patterns.
29980 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
29981 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
29982 and *lshrdi3_1_rex64 using SWI mode iterator.
d72ebc16 29983 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
9200ac72
UB
29984 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
29985 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
29986 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
29987 and *lshrdi3_cmp_rex64 using SWI mode iterator.
29988 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
29989 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
29990 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
29991 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
29992 SWI mode iterator.
29993
27431d88
UB
299942010-04-10 Uros Bizjak <ubizjak@gmail.com>
29995
29996 * config/i386/i386.md (ashr<mode>3): Macroize expander from
29997 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
29998 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
29999 pattern from *ashr{di,ti}3_1 and corresponding splitters using
30000 DWI mode iterator.
30001 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
30002 from corresponding peephole2 patterns.
30003 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
30004 (ashrsi3_cvt): Rename from ashrsi3_31.
30005 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
30006 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
30007 and x86_64_shift_adj_3 using SWI48 mode iterator.
30008 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
30009 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
30010 and *ashrdi3_1_rex64 using SWI mode iterator.
d72ebc16 30011 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
27431d88
UB
30012 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
30013 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
30014 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
30015 and *ashrdi3_cmp_rex64 using SWI mode iterator.
30016 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
30017 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
30018 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
30019 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
30020 SWI mode iterator.
59caab22 30021 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
27431d88 30022 * config/i386/i386.c (ix86_split_ashr): Update for renamed
9200ac72 30023 x86_shift<mode>_adj_3 expanders.
27431d88 30024
85c9bcd4
WG
300252010-04-10 Wei Guozhi <carrot@google.com>
30026
30027 PR target/42601
30028 * config/arm/arm.c (arm_pic_static_addr): New function.
30029 (legitimize_pic_address): Call arm_pic_static_addr when it detects
30030 a static symbol.
30031 (arm_output_addr_const_extra): Output expression for new pattern.
30032 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
30033
f0c6475a 300342010-04-10 Bernd Schmidt <bernds@codesourcery.com>
979740a0
BS
30035
30036 * ira-costs.c (record_reg_classes): Ignore alternatives that are
30037 not enabled.
4143fd36
BS
30038
30039 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
30040 * web.c: Include "insn-config.h" and "recog.h".
30041 (union_match_dups): New function.
30042 (web_main): Call it.
30043 (union_defs): Don't try to recognize match_dups.
30044
52c1d580
BS
30045 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
30046 if doing so would replace the entire pattern.
30047
ef0f4a03
UB
300482010-04-09 Uros Bizjak <ubizjak@gmail.com>
30049
30050 PR target/43707
30051 PR target/43709
30052 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
30053 and splitter pattern. Change splitter operand 1 predicate to
30054 nonmemory_operand.
30055
add5d998
MJ
300562010-04-09 Martin Jambor <mjambor@suse.cz>
30057
30058 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
30059 lattices are addresses of CONST_DECLs with the same initial value.
30060 (ipcp_print_all_lattices): Print values of CONST_DECLs.
30061 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
30062
43ba743c 300632010-04-09 Eric Botcazou <ebotcazou@adacore.com>
f0c6475a 30064 Bernd Schmidt <bernds@codesourcery.com>
43ba743c
EB
30065
30066 * loop-invariant.c (replace_uses): New static function.
30067 (move_invariant_reg): Use it to ensure we can replace the uses.
30068
300692010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
c3fd7b4d 30070
27431d88
UB
30071 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
30072 function template.
43ba743c 30073 (picochip_override_options): Enable section anchors only above -O1.
c3fd7b4d
HS
30074 (picochip_reorg): Fixed a couple of build warnings.
30075
fcf52686
RO
300762010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30077
30078 * configure.ac (plugin -rdynamic test): Log result.
30079 * configure: Regenerate.
30080 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
30081 (RDYNAMIC_SPEC): Define.
30082 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
30083
55c4f715
RO
300842010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30085
30086 * configure.ac: Determine Sun ld version numbers.
30087 (comdat_group): Restrict GNU ld version checks to gld.
30088 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
30089 (enable_comdat): Support --enable-comdat.
30090 * configure: Regenerate.
30091 * doc/install.texi (Configuration): Document --enable-comdat.
30092
62e08523
RO
300932010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30094
ef0f4a03 30095 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
62e08523
RO
30096 * config/sol2-gld.h: ... here.
30097 * config.gcc (sparc*-*-solaris2*): Reflect this.
30098 (i[34567]86-*-solaris2*): Use it.
30099
034288ef
SE
301002010-04-09 Steve Ellcey <sje@cup.hp.com>
30101
30102 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
30103 setup_clocks_p.
30104 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
30105
d0b8780d
MLI
301062010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
30107
30108 PR 42965
30109 * diagnostic.c (diagnostic_initialize): Initialize
30110 some_warnings_are_errors.
30111 (diagnostic_finish): New.
30112 (diagnostic_action_after_output): Call it before exiting.
30113 (diagnostic_report_diagnostic): Do not print message here. Set
30114 some_warnings_are_errors.
30115 * diagnostic.h (diagnostic_context): Delete
30116 issue_warnings_are_errors_message. Add some_warnings_are_errors.
30117 (diagnostic_finish): Declare.
30118 * toplev.c (toplev_main): Call it before exit.
30119
93e9807a
JM
301202010-04-09 Jason Merrill <jason@redhat.com>
30121
cb6addf4
JM
30122 PR c++/42623
30123 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
30124 for incomplete type.
30125
93e9807a
JM
30126 PR c++/41788
30127 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
30128 based on a warning flag.
30129
74367220
RG
301302010-04-09 Richard Guenther <rguenther@suse.de>
30131
43ba743c 30132 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
74367220 30133
8351bca7
IS
301342010-04-09 Iain Sandoe <iains@gcc.gnu.org>
30135
30136 PR bootstrap/43684
ef0f4a03 30137 * varasm.c (default_assemble_visibility): Wrap vars that are
8351bca7 30138 set, but unused, by targets without GAS.
ade52657 30139 * config/rs6000/rs6000.c (paired_emit_vector_compare):
8351bca7
IS
30140 Remove set, but unused, vars.
30141 (rs6000_legitimize_tls_address): Likewise.
30142 (altivec_expand_dst_builtin): Likewise.
30143 * config/darwin.c (machopic_classify_symbol): Likewise.
30144 (machopic_indirection_name): Likewise.
ef0f4a03 30145
014753cc
UB
301462010-04-09 Uros Bizjak <ubizjak@gmail.com>
30147
30148 * config/i386/i386.md (DWI): New mode iterator.
30149 (S): New mode attribute.
30150 (shift_operand): Ditto.
30151 (shift_immediate_operand): Ditto.
30152 (ashl_input_operand): Ditto.
30153 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
30154 using SDWIM mode iterator.
30155 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
30156 pattern from *ashl{di,ti}3_1 and corresponding splitters using
30157 DWI mode iterator.
30158 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
30159 from corresponding peephole2 patterns.
30160 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
30161 and x86_64_shift_adj_1 using SWI48 mode iterator.
30162 (x86_shift<mode>_adj_2): Ditto.
30163 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
30164 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
30165 using SWI48 mode iterator.
30166 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
30167 *ashldi3_cmp_rex64 using SWI mode iterator.
30168 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
30169 *ashldi3_cconly_rex64 using SWI mode iterator.
30170 * config/i386/i386.c (ix86_split_ashl): Update for renamed
30171 x86_shift<mode>_adj_{1,2}.
30172 (ix86_split_ashr): Ditto.
30173 (ix86_split_lshr): Ditto.
30174
88dd7150
RG
301752010-04-09 Richard Guenther <rguenther@suse.de>
30176
30177 * target.h (builtin_conversion): Pass in input and output types.
30178 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
30179 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
30180 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
30181 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
30182
30183 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
30184 Handle AVX modes.
30185 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
30186
3f2060fd
RG
301872010-04-09 Richard Guenther <rguenther@suse.de>
30188
30189 PR target/43152
30190 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
30191
b690cc0f
RG
301922010-04-09 Richard Guenther <rguenther@suse.de>
30193
30194 * tree-vectorizer.h (struct _stmt_vec_info): Document
30195 that vectype is the type of the LHS.
59caab22 30196 (supportable_widening_operation, supportable_narrowing_operation):
b690cc0f
RG
30197 Get both input and output vector types as arguments.
30198 (vect_is_simple_use_1): Declare.
30199 (get_same_sized_vectype): Likewise.
30200 * tree-vect-loop.c (vect_determine_vectorization_factor):
30201 Set STMT_VINFO_VECTYPE to the vector type of the def.
30202 (vectorizable_reduction): Adjust.
30203 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
30204 Adjust. Specify the output vector type.
30205 (vect_pattern_recog_1): Adjust.
30206 * tree-vect-stmts.c (get_same_sized_vectype): New function.
30207 (vectorizable_call): Adjust.
30208 (vectorizable_conversion): Likewise.
30209 (vectorizable_operation): Likewise.
30210 (vectorizable_type_demotion): Likewise.
30211 (vectorizable_type_promotion): Likewise.
30212 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
30213 the def.
30214 (vect_is_simple_use_1): New function.
30215 (supportable_widening_operation): Get both input and output
30216 vector types.
30217 (supportable_narrowing_operation): Likewise.
30218 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
30219
3e65f251
KT
302202010-04-09 Kai Tietz <kai.tietz@onevision.com>
30221
30222 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
30223 __thiscall and _thiscall as predefined macros.
30224 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
30225 thiscall attribute handling.
30226 (ix86_comp_type_attributes): Likewise.
30227 (ix86_function_regparm): Likewise.
30228 (ix86_return_pops_args): Likewise.
30229 (init_cumulative_args): Likewise.
30230 (find_drap_reg): Likewise.
30231 (ix86_static_chain): Likewise.
30232 (x86_this_parameter): Likewise.
30233 (x86_output_mi_thunk): Likewise.
30234 (ix86_attribute_table): Add description for thiscall attribute.
014753cc 30235 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
3e65f251 30236 * doc/extend.texi: Add documentation for thiscall.
27431d88 30237
dc8d2739
MLI
302382010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
30239
30240 PR c++/28584
30241 * c.opt (Wint-to-pointer-cast): Available in C++.
30242 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
30243
d47d0a8d
EB
302442010-04-08 Eric Botcazou <ebotcazou@adacore.com>
30245
30246 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
30247 * calls.c (expand_call): Pass the function type to aggregate_value_p.
30248 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
30249 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
30250 function type instead. Reorder and simplify checks.
30251
30252 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
30253
dc5ee869
JY
302542010-04-08 Jing Yu <jingyu@google.com>
30255 Zdenek Dvorak <ook@ucw.cz>
30256
30257 PR tree-optimization/42720
30258 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
014753cc
UB
30259 loop unswitch conditions here from ...
30260 (tree_unswitch_single_loop): ... here.
dc5ee869 30261
98c07c54
SP
302622010-04-08 Sebastian Pop <sebastian.pop@amd.com>
30263
30264 * tree-if-conv.c: Fix comments and simplify logic.
30265
6cbcfa9d
SP
302662010-04-08 Sebastian Pop <sebastian.pop@amd.com>
30267
30268 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
30269 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
30270 (main_tree_if_conversion): Update call to tree_if_conversion.
30271
1401cf37
MLI
302722010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
30273
30274 PR 42485
30275 * doc/invoke.texi (-b,-V): Delete.
30276 * doc/tm.texi: Do not mention -b.
30277 * gcc.c (display_help): Delete -b and -V.
30278 (process_command): Delete -b and -V.
30279 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
6cbcfa9d 30280
40ac4f73 302812010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
27431d88 30282 Wolfgang Gellerich <gellerich@de.ibm.com>
40ac4f73 30283
014753cc
UB
30284 Implement target hook for loop unrolling
30285 * target.h (loop_unroll_adjust): Add a new target hook function.
30286 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
30287 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
30288 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
30289 (s390_loop_unroll_adjust): Implement the new target hook for s390.
30290 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
30291 target hook.
30292 (decide_unroll_stupid): Likewise.
40ac4f73 30293
07c60ef7
RO
302942010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30295
30296 PR target/43643
30297 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
30298
dd178909
RO
302992010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30300
30301 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
30302 (Specific, *-*-solaris2*): Likewise.
30303 Don't prefer Sun as over GNU as.
30304
cc6ae6a1
WG
303052010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
30306
c46a5e28
EB
30307 * config/s390/s390.c (override_options): Adjust the z10 defaults
30308 for max-unroll-times, max-completely-peeled-insns
30309 and max-completely-peel-times.
cc6ae6a1 30310
adfa3cd3
AK
303112010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
30312
30313 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
30314 instructions for z10.
30315 (s390_expand_setmem): Likewise.
30316 (s390_expand_cmpmem): Likewise.
30317
84ae6d7b
RG
303182010-04-08 Richard Guenther <rguenther@suse.de>
30319
30320 PR tree-optimization/43679
30321 * tree-ssa-pre.c (eliminate): Only propagate copies.
30322
5a905a2b
JJ
303232010-04-08 Jakub Jelinek <jakub@redhat.com>
30324
30325 PR bootstrap/43681
30326 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
30327 set but not used variable warning.
30328
7548c1be
WG
303292010-04-08 Wei Guozhi <carrot@google.com>
30330
30331 PR target/41653
30332 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
30333 (arm_size_rtx_costs): Call the new function when optimized for size.
30334
aa847cc8
JJ
303352010-04-08 Jakub Jelinek <jakub@redhat.com>
30336
30337 PR debug/43670
30338 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
30339 op0 is not a MEM, just return NULL instead of assertion
30340 failure.
30341 (discover_nonconstant_array_refs): Don't walk debug stmts.
30342
1dcc82c2
DK
303432010-04-08 Doug Kwan <dougkwan@google.com>
30344
30345 * configure.ac: Recognize gold and do not use its version number
30346 to test ld features.
30347 * configure: Regenerate.
30348
b0aef8a8
MK
303492010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
30350
30351 PR middle-end/40815
30352 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
30353 (negate_value): Move code to push elements to broken_up_substracts ...
30354 (eliminate_plus_minus_pair): ... here. Push operands that have no
30355 negative pair to plus_negates.
30356 (repropagate_negates, init_reassoc, fini_reassoc): Update.
30357
7a50adb7
RW
303582010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30359
2d413304
RW
30360 * doc/install.texi (Configuration): Move description of
30361 --enable-lto, --with-libelf*, --enable-gold from Java section to
30362 general section.
30363
7a50adb7
RW
30364 * doc/generic.texi (Working with declarations)
30365 (Function Properties, C and C++ Trees): Fix typos.
30366 * doc/sourcebuild.texi (Top Level): Likewise.
30367
60d3aec4
JJ
303682010-04-07 Jakub Jelinek <jakub@redhat.com>
30369
ebfbbdc5
JJ
30370 PR c/18624
30371 * tree.h (DECL_READ_P): Define.
30372 (struct tree_decl_common): Add decl_read_flag.
30373 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
30374 a set but not used warning.
30375 (merge_decls): Merge DECL_READ_P flag.
30376 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
30377 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
30378 * c-common.c (handle_used_attribute, handle_unused_attribute):
30379 Likewise.
30380 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
30381 New prototypes.
30382 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
30383 New functions.
30384 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
30385 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
30386 c_parser_binary_expression, c_parser_cast_expression,
30387 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
30388 Call default_function_array_read_conversion instead of
30389 default_function_array_conversion where needed.
30390 (c_parser_unary_expression, c_parser_conditional_expression,
30391 c_parser_postfix_expression_after_primary, c_parser_initelt):
30392 Likewise. Call mark_exp_read where needed.
30393 (c_parser_statement_after_labels, c_parser_asm_operands,
30394 c_parser_typeof_specifier, c_parser_sizeof_expression,
30395 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
30396 where needed.
30397 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
30398 New.
30399 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
30400 (warn_unused_but_set_parameter): Default to warn_unused
30401 && extra_warnings.
30402 * doc/invoke.texi: Document -Wunused-but-set-variable and
30403 -Wunused-but-set-parameter.
30404
60d3aec4
JJ
30405 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
30406 used count variable.
30407 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
30408 when operandN variables aren't used in the body of the expander
30409 or splitter.
30410 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
30411 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
30412 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
30413 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
30414 FOR_EACH_IMM_USE_ON_STMT): Likewise.
30415 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
30416 * tree.c (PROCESS_ARG): Likewise.
30417
87cf0651
SB
304182010-04-07 Simon Baldwin <simonb@google.com>
30419
30420 * diagnostic.h (diagnostic_override_option_index): New macro to
30421 set a diagnostic's option_index.
30422 * c-tree.h (c_cpp_error): Add warning reason argument.
30423 * opts.c (_warning_as_error_callback): New.
30424 (register_warning_as_error_callback): Store callback for
30425 warnings enabled via enable_warning_as_error.
30426 (enable_warning_as_error): Call callback, minor code tidy.
30427 * opts.h (register_warning_as_error_callback): Declare.
30428 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
30429 response to -Werror=.
30430 (c_common_init_options): Register warning_as_error_callback in opts.c.
30431 * common.opt: Add -Wno-cpp option.
30432 * c-common.c (struct reason_option_codes_t): Map cpp warning
30433 reason codes to gcc option indexes.
30434 * (c_option_controlling_cpp_error): New function, lookup the gcc
30435 option index for a cpp warning reason code.
30436 * (c_cpp_error): Add warning reason argument, call
30437 c_option_controlling_cpp_error for diagnostic_override_option_index.
30438 * doc/invoke.texi: Document -Wno-cpp.
30439
2ea9dc64
RG
304402010-04-07 Richard Guenther <rguenther@suse.de>
30441
30442 * ipa-reference.c (mark_load): Use get_base_address.
30443 (mark_store): Likewise.
30444
30445 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
30446 inserting GIMPLE_NOPs into the IL.
30447 * tree-ssa-structalias.c (get_constraint_for_component_ref):
30448 Explicitly strip handled components and indirect references.
59caab22 30449
2ea9dc64
RG
30450 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
30451 folding address expressions.
30452 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
30453 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
30454 operand_equal_p to compare decls.
30455 (ptr_deref_may_alias_decl_p): Likewise.
30456 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
30457 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
30458 Handle reversed comparison ops.
30459 * tree-sra.c (asm_visit_addr): Use get_base_address.
014753cc 30460 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
2ea9dc64
RG
30461 * ipa-reference.c (mark_address): Use get_base_address.
30462
95d938ee
RG
304632010-04-07 Richard Guenther <rguenther@suse.de>
30464
30465 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
30466 Propagate constants everywhere.
30467
1a299ae4
JJ
304682010-04-07 Jakub Jelinek <jakub@redhat.com>
30469
30470 PR debug/43516
30471 * tree.c (MAX_INT_CACHED_PREC): Define.
30472 (nonstandard_integer_type_cache): New array.
30473 (build_nonstandard_integer_type): Cache results for precision
30474 <= MAX_INT_CACHED_PREC.
30475
0d3c82d6
RG
304762010-04-07 Richard Guenther <rguenther@suse.de>
30477
30478 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
30479 -fargument-noalias-global, -fargument-noalias-anything): Remove.
30480 * common.opt: Likewise.
014753cc
UB
30481 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
30482 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
0d3c82d6
RG
30483 (nonoverlapping_memrefs_p): Likewise.
30484 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
30485 * opts.c (common_handle_option): Handle OPT_fargument_alias,
30486 OPT_fargument_noalias, OPT_fargument_noalias_anything and
30487 OPT_fargument_noalias_global for backward compatibility.
30488
12bd5a1e
RG
304892010-04-07 Richard Guenther <rguenther@suse.de>
30490
30491 PR tree-optimization/43270
014753cc 30492 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
12bd5a1e
RG
30493 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
30494 * tree-ssa-pre.c (phi_translate_1): Adjust.
30495 (fully_constant_expression): Split out vn_reference handling to ...
30496 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
30497 Fold reads from constant strings.
30498 (vn_reference_lookup): Handle fully constant references.
30499 (vn_reference_lookup_pieces): Likewise.
30500 * Makefile.in (expmed.o-warn): Add -Wno-error.
30501
a7752396
MJ
305022010-04-07 Martin Jambor <mjambor@suse.cz>
30503
30504 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
30505
6392bea6
IS
305062010-04-07 Iain Sandoe <iains@gcc.gnu.org>
30507
30508 PR driver/41594
30509 * gcc.c: Add -static-libstdc++ to list of recognized options.
30510
9af27220
RO
305112010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30512
014753cc 30513 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
9af27220 30514
83a416b0
RG
305152010-04-07 Richard Guenther <rguenther@suse.de>
30516
30517 PR middle-end/42617
014753cc
UB
30518 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
30519 bases build simple mem attributes to retain points-to information.
83a416b0 30520
366f945f
RG
305212010-04-07 Richard Guenther <rguenther@suse.de>
30522
30523 PR middle-end/42617
30524 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
30525 preserve points-to related information.
30526
56c47f22
RG
305272010-04-07 Richard Guenther <rguenther@suse.de>
30528
30529 PR middle-end/42617
30530 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
30531 discard plain indirect references.
014753cc 30532 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
56c47f22
RG
30533 * tree.c (tree_nop_conversion): Likewise.
30534
a42f1217
DS
305352010-04-07 Dodji Seketeli <dodji@redhat.com>
30536
30537 PR debug/43628
30538 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
30539
b97b2634
KT
305402010-04-06 Kai Tietz <kai.tietz@onevision.com>
30541
30542 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
30543 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
30544
62ef2431
SP
305452010-04-07 Sebastian Pop <sebastian.pop@amd.com>
30546
30547 * tree-if-conv.c: Fix indentation and comments.
30548
baaa8e96
SP
305492010-04-07 Sebastian Pop <sebastian.pop@amd.com>
30550
30551 * tree-if-conv.c: Sort static functions in topological order.
30552
b6779d81
SP
305532010-04-07 Sebastian Pop <sebastian.pop@amd.com>
30554
30555 * tree-if-conv.c: Fix indentation and comments.
30556
9310a3e2
SP
305572010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30558
30559 PR middle-end/43519
30560 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
014753cc
UB
30561 lang_hooks.types.type_for_size instead of
30562 build_nonstandard_integer_type.
9310a3e2
SP
30563 When converting an unsigned type to signed, double its precision.
30564 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
30565 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
014753cc
UB
30566 (graphite_create_new_loop_guard): When ub + 1 wraps around,
30567 use lb <= ub.
9310a3e2
SP
30568
305692010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30570
30571 PR middle-end/43519
30572 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
30573 POINTER_PLUS_EXPR for pointer types.
30574
305752010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30576
30577 PR middle-end/43519
30578 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
30579 * graphite-clast-to-gimple.c: Include langhooks.h.
30580 (max_signed_precision_type): New.
30581 (max_precision_type): Takes two types as arguments.
30582 (precision_for_value): New.
30583 (precision_for_interval): New.
30584 (gcc_type_for_interval): New.
30585 (gcc_type_for_value): New.
30586 (gcc_type_for_clast_term): New.
30587 (gcc_type_for_clast_red): New.
30588 (gcc_type_for_clast_bin): New.
30589 (gcc_type_for_clast_expr): Split up into several functions.
30590 (gcc_type_for_clast_eq): Rewritten.
30591 (compute_bounds_for_level): New.
30592 (compute_type_for_level_1): New.
30593 (compute_type_for_level): New.
30594 (gcc_type_for_cloog_iv): Removed.
30595 (gcc_type_for_iv_of_clast_loop): Rewritten.
30596 (graphite_create_new_loop): Compute the lower and upper bound types
30597 with gcc_type_for_clast_expr.
30598 (graphite_create_new_loop_guard): Same.
30599 (find_cloog_iv_in_expr): Removed.
30600 (compute_cloog_iv_types_1): Removed.
30601 (compute_cloog_iv_types): Removed.
30602 (gloog): Do not call compute_cloog_iv_types.
30603 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
30604 GBB_CLOOG_IV_TYPES.
30605 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
30606 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
30607 (GBB_CLOOG_IV_TYPES): Removed.
30608
306092010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30610
30611 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
30612 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
30613 (detect_commutative_reduction): Same.
30614
a3b9e73c
SP
306152010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30616
30617 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
30618 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
30619 argument.
30620 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
30621 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
30622 (rewrite_commutative_reductions_out_of_ssa): Same.
30623 * passes.c (execute_function_todo): Call verify_ssa for every pass
30624 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
30625 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
30626 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
30627 with an extra argument.
30628 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
30629 verify_ssa only when the extra argument is true.
30630 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
30631 with an extra argument.
30632 (tree_transform_and_unroll_loop): Same.
30633
98b6e9dd
SP
306342010-04-06 Sebastian Pop <sebastian.pop@amd.com>
30635
30636 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
30637 for all the passes of the LNO having LOOP_CLOSED_SSA.
30638 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
30639 * tree-loop-distribution.c (pass_loop_distribution): Same.
30640 * tree-pass.h (TODO_verify_loops): Removed.
30641 * tree-ssa-loop.c (pass_tree_loop_init): Same.
30642 (pass_lim): Same.
30643 (pass_tree_unswitch): Same.
30644 (pass_predcom): Same.
30645 (pass_vectorize): Same.
30646 (pass_linear_transform): Same.
30647 (pass_graphite_transforms): Same.
30648 (pass_iv_canon): Same.
30649 (pass_complete_unroll): Same.
30650 (pass_complete_unrolli): Same.
30651 (pass_parallelize_loops): Same.
30652 (pass_loop_prefetch): Same.
30653 (pass_iv_optimize): Same.
30654
c86a3947
CF
306552010-04-06 Changpeng Fang <changpeng.fang@amd.com>
30656
30657 PR middle-end/32824
30658 * passes.c (init_optimization_passes): Move pass_lim before
30659 pass_copy_prop and pass_dce_loop.
30660
37794981
JJ
306612010-04-06 Jakub Jelinek <jakub@redhat.com>
30662
30663 PR target/43667
30664 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
30665 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
30666 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
30667 MULTI_* defines for 4 argument vpermil2p* builtins.
30668
d079b87f
UB
306692010-04-06 Uros Bizjak <ubizjak@gmail.com>
30670
30671 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
30672 * config/i386/i386.c (x86_maybe_negate_const_int): New.
30673 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
30674 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
30675 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
30676 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
30677 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
30678 Use x86_maybe_negate_const_int to output insn mnemonic.
30679 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
30680 check from instruction predicate. Update comments.
30681 * config/i386/sync.md (sync_add<mode>): Use
30682 x86_maybe_negate_const_int to output insn mnemonic.
b1a0b3b4 30683
d079b87f
UB
306842010-04-06 Jan Hubicka <jh@suse.cz>
30685
30686 PR tree-optimization/42906
30687 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
30688 IGNORE_SELF argument. Set visited_control_parents for fully
30689 processed BBs.
b1a0b3b4
JH
30690 (find_obviously_necessary_stmts): Update call of
30691 mark_control_dependent_edges_necessary.
d079b87f 30692 (propagate_necessity): Likewise. Handle PHI edges more curefully.
b1a0b3b4 30693
6593d123
UB
306942010-04-06 Uros Bizjak <ubizjak@gmail.com>
30695
30696 * config/i386/i386.md: Remove comment about 'e' and 'E'
30697 operand modifier.
30698
56186ac2
RG
306992010-04-06 Richard Guenther <rguenther@suse.de>
30700
30701 PR tree-optimization/43627
30702 * tree-vrp.c (extract_range_from_unary_expr): Widenings
30703 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
30704 not varying.
30705
7d11d368
JJ
307062010-04-06 Jakub Jelinek <jakub@redhat.com>
30707
d3bccded
JJ
30708 * BASE-VER: Change to 4.6.0.
30709
7d11d368
JJ
30710 PR target/43638
30711 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
30712 handling.
30713
eb12d0ae
RG
307142010-04-06 Richard Guenther <rguenther@suse.de>
30715
30716 PR middle-end/43661
30717 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
30718
53b79425
RW
307192010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30720
30721 * doc/invoke.texi (Optimize Options): Document that LTO
30722 won't remove object access purely due to incompatible
30723 declarations.
30724
7e0ec110
MK
307252010-04-04 Matthias Klose <doko@ubuntu.com>
30726
30727 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
30728 Initialize variable.
30729
2b22e382
RG
307302010-04-03 Richard Guenther <rguenther@suse.de>
30731
30732 PR middle-end/42509
30733 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
30734 require a non-NULL MEM_OFFSET.
30735
c75c517d
SB
307362010-04-02 Steven Bosscher <steven@gcc.gnu.org>
30737
d079b87f 30738 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
c75c517d
SB
30739 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
30740 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
30741 config/alpha/predicates.md, config/arm/arm.md,
30742 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
30743 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
30744 config/darwin9.h, config/darwin.c, config/darwin.h,
30745 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
30746 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
30747 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
30748 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
30749 config/mips/mips.md, config/mn10300/mn10300.c,
30750 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
30751 config/rs6000/aix.h, config/rs6000/dfp.md,
30752 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
30753 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
30754 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
30755 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
30756 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
30757 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
30758 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
30759 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
30760 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
30761 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
30762 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
30763 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
30764 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
30765 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
30766 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
30767 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
30768 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
30769 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
30770 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
30771 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
30772 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
30773 opt-functions.awk, opth-gen.awk, params.def, passes.c,
30774 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
30775 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
30776 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
30777 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
30778 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
30779 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
30780 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
30781 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
30782 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
30783 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
30784 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
30785 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
30786 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
30787 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
30788
4d9e8446
RW
307892010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30790
30791 PR other/43620
30792 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
30793 * aclocal.m4: Regenerate.
30794
1cdaa211
RG
307952010-04-02 Richard Guenther <rguenther@suse.de>
30796
30797 PR tree-optimization/43629
30798 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
30799 if we have seen a constant value.
30800
d33da5cd
JM
308012010-04-02 Joseph Myers <joseph@codesourcery.com>
30802
014753cc 30803 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
d33da5cd 30804
2e5505a4
RE
308052010-04-02 Richard Earnshaw <rearnsha@arm.com>
30806
30807 PR target/43469
d079b87f 30808 * arm.c (legitimize_tls_address): Adjust call to
2e5505a4
RE
30809 gen_tls_load_dot_plus_four.
30810 (arm_note_pic_base): New function.
30811 (arm_cannot_copy_insn_p): Use it.
30812 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
30813 constraint.
30814
bdfbd9df
RW
308152010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30816
30817 PR bootstrap/43531
30818
30819 Revert:
30820 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30821
30822 * Makefile.in ($(out_object_file)): Depend on
30823 gt-$(basename $(notdir $(out_file))).h.
30824
f4a4b582 308252010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
2bc40daa 30826
014753cc 30827 * config.gcc (lm32-*-rtems*): Add t-lm32.
2bc40daa 30828
f4a4b582 308292010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
2bc40daa 30830
014753cc
UB
30831 * config.gcc: Add lm32-*-rtems*.
30832 * config/lm32/rtems.h: New file.
2bc40daa 30833
abfb38d7
DK
308342010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
30835
30836 PR target/42609
30837 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
30838
2f43d500
JJ
308392010-04-01 Jakub Jelinek <jakub@redhat.com>
30840
30841 * dwarf2out.c (output_compilation_unit_header): For
30842 -gdwarf-4 use version 4 instead of version 3.
30843 (output_line_info): For version 4 and above emit additional
30844 maximum ops per insn header field.
30845 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
30846
30847 * dwarf2out.c (is_c_family, is_java): Remove.
30848 (lower_bound_default): New function.
30849 (add_bound_info, gen_descr_array_type_die): Use it.
30850
777351a5
DS
308512010-04-01 Dodji Seketeli <dodji@redhat.com>
30852
30853 PR debug/43325
30854 * dwarf2out.c (gen_variable_die): Allow debug info for variable
30855 re-declaration when it happens in a function.
30856
6544865a
AH
308572010-04-01 Aldy Hernandez <aldyh@redhat.com>
30858
30859 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
30860 (cgraph_remove_function_insertion_hook): Same.
30861 (cgraph_call_function_insertion_hooks): Same.
30862
5e9fb3db
RG
308632010-04-01 Richard Guenther <rguenther@suse.de>
30864
30865 PR middle-end/43614
30866 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
30867 and TREE_THIS_VOLATILE.
30868 (copy_ref_info): Likewise.
30869 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
30870 * tree.c (build6_stat): Ignore side-effects of all but arg5
30871 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
30872 TARGET_MEM_REF.
30873
eb258d7f
RG
308742010-04-01 Richard Guenther <rguenther@suse.de>
30875
30876 PR tree-optimization/43607
30877 * ipa-type-escape.c (check_call): Do not access non-existing
30878 arguments.
30879
aa8bfcad
RG
308802010-04-01 Richard Guenther <rguenther@suse.de>
30881
30882 PR middle-end/43602
30883 Revert
f4a4b582
EB
30884 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
30885 Jack Howarth <howarth@bromo.med.uc.edu>
aa8bfcad
RG
30886
30887 * tree-profile.c (tree_init_ic_make_global_vars): Make static
30888 variables TLS.
30889
8c5cfa89
RO
308902010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30891
30892 * doc/install.texi (Prerequisites): Document libelf usability on
30893 IRIX 5/6 and Solaris 2.
30894 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
30895 Update GNU as, GNU ld requirements.
30896 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
30897 Document Sun Studio compiler download.
30898 Update and simplify as, ld recommendations.
30899 (Specific, *-*-solaris2.7): Note obsoletion, removal.
30900
ddcc3550
RO
309012010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30902
9af27220 30903 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
ddcc3550
RO
30904 with_tune_32 to pentium4.
30905
93234e58
UB
309062010-04-01 Uros Bizjak <ubizjak@gmail.com>
30907
30908 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
30909
ef369ad8
RO
309102010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30911
30912 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
30913 obsoletion, removal.
30914 Update IDO URL.
30915 Document GNU as requirement.
30916 Update configure requirements.
014753cc 30917 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
ef369ad8
RO
30918 Recomment IRIX 6.5.18+.
30919 Document IDF/IDL requirement.
30920 Document GNU as requirement.
30921 Document GNU ld bootstrap failure.
30922 Remove freeware.sgi.com reference.
30923
92d80770
RO
309242010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30925
30926 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
30927 UNIX V4.0, V5.0 obsoletion, removal.
30928 Remove --with-gc=simple reference.
30929 Update VM requirements during bootstrap.
30930 Remove -oldas bootstrap description.
30931 Update binutils reference.
30932 Remove comparison failure note.
30933
25d635d9
SP
309342010-03-31 Richard Guenther <rguenther@suse.de>
30935 Zdenek Dvorak <ook@ucw.cz>
30936 Sebastian Pop <sebastian.pop@amd.com>
30937
30938 PR middle-end/43464
30939 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
30940 with multiple arguments.
30941 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
30942
309432010-03-31 Sebastian Pop <sebastian.pop@amd.com>
30944
30945 * graphite-dependences.c (print_pddr): Call print_pdr with an
30946 extra argument.
30947 * graphite-poly.c (debug_pdr): Add an extra argument for the
30948 verbosity level.
30949 (print_pdr): Same.
30950 (print_pbb_domain): Same.
30951 (print_pbb): Same.
30952 (print_scop_context): Same.
30953 (print_scop): Same.
30954 (print_cloog): Same.
30955 (debug_pbb_domain): Same.
30956 (debug_pbb): Same.
30957 (print_pdrs): Same.
30958 (debug_pdrs): Same.
30959 (debug_scop_context): Same.
30960 (debug_scop): Same.
30961 (debug_cloog): Same.
30962 (print_scop_params): Same.
30963 (debug_scop_params): Same.
30964 (print_iteration_domain): Same.
30965 (print_iteration_domains): Same.
30966 (debug_iteration_domain): Same.
30967 (debug_iteration_domains): Same.
30968 (print_scattering_function): Same.
30969 (print_scattering_functions): Same.
30970 (debug_scattering_function): Same.
30971 (debug_scattering_functions): Same.
30972 * graphite-poly.h (debug_pdr): Update declaration.
30973 (print_pdr): Same.
30974 (print_pbb_domain): Same.
30975 (print_pbb): Same.
30976 (print_scop_context): Same.
30977 (print_scop): Same.
30978 (print_cloog): Same.
30979 (debug_pbb_domain): Same.
30980 (debug_pbb): Same.
30981 (print_pdrs): Same.
30982 (debug_pdrs): Same.
30983 (debug_scop_context): Same.
30984 (debug_scop): Same.
30985 (debug_cloog): Same.
30986 (print_scop_params): Same.
30987 (debug_scop_params): Same.
30988 (print_iteration_domain): Same.
30989 (print_iteration_domains): Same.
30990 (debug_iteration_domain): Same.
30991 (debug_iteration_domains): Same.
30992 (print_scattering_function): Same.
30993 (print_scattering_functions): Same.
30994 (debug_scattering_function): Same.
30995 (debug_scattering_functions): Same.
30996
309972010-03-31 Sebastian Pop <sebastian.pop@amd.com>
30998
30999 * graphite-poly.c (print_scattering_function_1): New.
31000 (print_scattering_function): Call it.
31001 (print_scop_params): Remove spaces at the end of lines.
31002 (print_cloog): New.
31003 (debug_cloog): New.
31004 * graphite-poly.h (print_cloog): Declared.
31005 (debug_cloog): Declared.
31006
310072010-03-31 Sebastian Pop <sebastian.pop@amd.com>
31008
31009 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
31010 in loop->header.
31011 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
31012 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
31013 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
31014 to switch between adding the IV bump in loop->latch or in loop->header.
31015
310162010-03-31 Sebastian Pop <sebastian.pop@amd.com>
31017
31018 * graphite-poly.c (print_scattering_function): Pretty print following
31019 the scoplib format.
31020 (print_pdr): Same.
31021 (print_pbb_domain): Same.
31022 (dump_gbb_cases): Same.
31023 (dump_gbb_conditions): Same.
31024 (print_pdrs): Same.
31025 (print_pbb): Same.
31026 (print_scop_params): Same.
31027 (print_scop_context): Same.
31028 (print_scop): Same.
31029 (print_pbb_body): New.
31030 (lst_indent_to): New.
31031 (print_lst): Start new lines with a #.
31032 * graphite-poly.h (pbb_bb): New.
31033 (pbb_index): Use pbb_bb.
31034 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
31035 disjuncts.
31036 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
31037
2080bd29
JJ
310382010-03-31 Jakub Jelinek <jakub@redhat.com>
31039
290d8971
JJ
31040 * dwarf2out.c (size_of_die): For -gdwarf-4 use
31041 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
31042 and 0 instead of 1 for dw_val_class_flag.
31043 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
31044 dw_val_class_range_list, dw_val_class_loc_list,
31045 dw_val_class_lineptr and dw_val_class_macptr, use
31046 DW_FORM_flag_present for dw_val_class_flag and
31047 DW_FORM_exprloc for dw_val_class_loc.
31048 (output_die): For -gdwarf-4 print dw_val_class_loc
31049 size as uleb128 instead of 1 or 2 bytes and don't print
31050 anything for dw_val_class_flag.
31051
109f4af3
JJ
31052 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
31053 instead of cselib_lookup following by tweaking locs->setting_insn.
31054
2080bd29
JJ
31055 PR bootstrap/43596
31056 * cselib.c (cselib_process_insn): Clear cselib_current_insn
31057 even before returning from label, setjmp call or volatile asm
31058 handling.
31059
33283dad
RG
310602010-03-31 Richard Guenther <rguenther@suse.de>
31061
31062 PR middle-end/43600
31063 * cgraphunit.c (cgraph_output_in_order): Do not allocate
31064 temporary data on stack.
31065
a0c21029
RO
310662010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31067
31068 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
31069 (PUSHSECTION_ASM_OP): Remove.
31070 (POPSECTION_ASM_OP): Remove.
31071 (PUSHSECTION_FORMAT): Remove.
31072 * config/sol2.h (PUSHSECTION_FORMAT): Define.
31073 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
31074 * config/sol2.c (solaris_output_init_fini): Use it.
31075
a3f410a2
JZ
310762010-03-31 Jie Zhang <jie@codesourcery.com>
31077
31078 PR 43574
31079 * opt-functions.awk (var_type_struct): Use signed char type
31080 for simple variables.
31081
f0c01ffd
RO
310822010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31083
31084 * config/sol2.c: Include output.h.
31085 (solaris_assemble_visibility): New function.
31086 * config/t-sol2 (sol2.o): Add output.h dependency.
31087 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
31088 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
31089 Redefine.
31090
132b4e82
JJ
310912010-03-31 Jakub Jelinek <jakub@redhat.com>
31092
d8d55ac0
JJ
31093 PR target/43580
31094 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
31095 V2SImode or XFmode on PRE_DEC.
31096
132b4e82
JJ
31097 PR debug/43557
31098 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
31099 BLKmode.
31100
dc12b70e
JZ
311012010-03-31 Jie Zhang <jie@codesourcery.com>
31102
31103 PR 43562
31104 * reload.h (caller_save_initialized_p): Declare.
31105 * toplev.c (backend_init_target): Don't call
93234e58 31106 init_caller_save but set caller_save_initialized_p to false.
dc12b70e
JZ
31107 * caller-save.c (caller_save_initialized_p): Define.
31108 (init_caller_save): Check caller_save_initialized_p.
31109 * ira.c (ira): Call init_caller_save if flag_caller_saves.
31110
4a2f22ff
RO
311112010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31112
31113 PR target/39048
31114 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
31115 and soft-fp/t-softfp to tmake_file.
31116 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
31117 (LIBGCC2_TF_CEXT): Define.
31118 (TF_SIZE): Define.
31119
5847e8da
AO
311202010-03-30 Alexandre Oliva <aoliva@redhat.com>
31121
31122 PR debug/42977
31123 * cselib.c (n_useless_values): Document handling of debug locs.
31124 (n_useless_debug_values, n_debug_values): New variables.
31125 (new_elt_loc_list): Don't add to debug values, keep count.
31126 (promote_debug_loc): New.
31127 (cselib_reset_table): Zero new variables.
31128 (entry_and_rtx_equal_p): Promote debug locs.
31129 (discard_useless_locs): Increment n_useless_debug_values for
31130 debug values.
31131 (remove_useless_values): Adjust n_useless_values and n_debug_values
31132 with n_useless_debug_values.
31133 (add_mem_for_addr): Promote debug locs.
31134 (cselib_lookup_mem): Likewise.
31135 (cselib_lookup_addr): Renamed to...
93234e58 31136 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
5847e8da
AO
31137 (cselib_log_lookup): ... this. Turn into...
31138 (cselib_lookup_addr): ... new wrapper.
31139 (cselib_lookup_from_insn): New.
31140 (cselib_invalidate_regno): Increment n_useless_debug_values for
31141 debug values.
31142 (cselib_invalidate_mem): Likewise.
31143 (cselib_process_insn): Take n_deleted and n_debug_values into
31144 account to guard remove_useless_value call.
31145 (cselib_finish): Zero n_useless_debug_values.
31146 * cselib.h (cselib_lookup_from_insn): Declare.
31147 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
31148 (sched_analyze_2): Likewise.
31149
03a5f060
JJ
311502010-03-30 Jakub Jelinek <jakub@redhat.com>
31151
e9e00885
JJ
31152 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
31153 functions.
31154 (adjust_mems): Replace narrowing SUBREG of expression containing
31155 just PLUS, MINUS, MULT and ASHIFT of registers and constants
31156 with operations in the narrower mode.
31157
03a5f060 31158 PR debug/43593
93234e58
UB
31159 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
31160 regs_invalidated_by_call instead all call_used_reg_set registers.
03a5f060 31161
8533c9d8
SP
311622010-03-30 Sebastian Pop <sebastian.pop@amd.com>
31163
31164 PR middle-end/43430
31165 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
31166 pointer comparisons with types_compatible_p.
31167 * tree-vect-stmts.c (vectorizable_call): Same.
31168 (vectorizable_condition): Same.
31169
a3e7e012
AK
311702010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
31171
31172 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
31173 stack check if the mask would be zero.
31174
f4a4b582
EB
311752010-03-30 Seongbae Park <seongbae.park@gmail.com>
31176 Jack Howarth <howarth@bromo.med.uc.edu>
40ae6799
SP
31177
31178 * tree-profile.c (tree_init_ic_make_global_vars): Make static
31179 variables TLS.
31180
2bcba94b
JM
311812010-03-30 Joseph Myers <joseph@codesourcery.com>
31182
31183 PR other/25232
31184 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
31185 and __unordtf2.
31186 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
31187 Include ___unordxf2 and ___unordtf2.
31188 * config/i386/libgcc-glibc.ver: Do not define inheritance from
31189 GCC_4.4.0 here.
31190
15baf7f8
TG
311912010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
31192
31193 * config/lm32/t-lm32: New file.
31194 * config.gcc: Use the above file when targetting lm32.
31195
fba48836
DS
311962010-03-28 Duncan Sands <baldrick@free.fr>
31197
93234e58 31198 * Makefile.in (PLUGIN_HEADERS): Add except.h.
fba48836 31199
49a71bc8
SP
312002010-03-29 Sebastian Pop <sebastian.pop@amd.com>
31201
31202 PR middle-end/43431
31203 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
31204 Improve vectorization cost model diagnostic.
31205
22a8be9e
SP
312062010-03-29 Sebastian Pop <sebastian.pop@amd.com>
31207
31208 PR middle-end/43436
31209 * tree-vect-data-refs.c (vect_analyze_data_refs): When
31210 compute_data_dependences_for_loop returns false, early exit
31211 and output an extra diagnostic for the failed data reference
31212 analysis.
31213
58adb739
RG
312142010-03-29 Richard Guenther <rguenther@suse.de>
31215
31216 PR tree-optimization/43560
93234e58
UB
31217 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
31218 (can_sm_ref_p): Treat stores to readonly locations as trapping.
58adb739 31219
3b34d92c
JZ
312202010-03-29 Jie Zhang <jie@codesourcery.com>
31221
31222 PR 43564
31223 * toplev.c (process_options): Set optimization_default_node
31224 and optimization_current_node.
31225 * opts.c (decode_options): Don't set optimization_default_node
31226 and optimization_current_node.
31227
090f6087
RC
312282010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
31229
31230 * config/rtems.h: Abandon -qrtems_debug.
31231
88cc1e04
JH
312322010-03-28 Jan Hubicka <jh@suse.cz>
31233
31234 PR tree-optimization/43505
31235 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
31236 map should not be copied.
31237
b932b8b1
JDA
312382010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
31239
31240 PR middle-end/41674
31241 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
31242 cdtors, set DECL_PRESERVE_P.
31243 * ipa.c (cgraph_externally_visible_p): Return true if declaration
31244 should be preseved.
31245
fb6807b8
UB
312462010-03-27 Uros Bizjak <ubizjak@gmail.com>
31247
31248 PR tree-optimization/43528
31249 * stor-layout.c (place_field): Check that constant fits into
31250 unsigned HWI when skipping calculation of MS bitfield layout.
31251
a9deb256
JH
312522010-03-27 Jan Hubicka <jh@suse.cz>
31253
31254 PR middle-end/43391
31255 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
31256 notice_global_symbol work.
31257
5a9c8a1b
JJ
312582010-03-27 Jakub Jelinek <jakub@redhat.com>
31259
31260 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
31261 instead of dwarf2out_decl.
31262 (struct var_loc_node): Remove section_label field.
31263 (dwarf2out_function_decl): New function.
31264 (dwarf2out_var_location): Don't set section_label field.
31265 (dwarf2out_begin_function): Don't empty decl_loc_table here.
31266
62f7fd21
MM
312672010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
31268
31269 PR tree-optimization/43544
31270 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
31271 First argument for builtin vectorized function hook is now a
31272 tree to be able to distinguish between machine specific and
31273 standard builtins.
31274 * targhooks.c (default_builtin_vectorized_function): Ditto.
31275 * targhooks.h (default_builtin_vectorized_function): Ditto.
31276 * target.h (struct gcc_target): Ditto.
31277 * tree-vect-stmts.c (vectorizable_function): Ditto.
31278 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
31279 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
31280 Ditto.
31281
10e76c1a
JM
312822010-03-26 Joseph Myers <joseph@codesourcery.com>
31283
31284 PR c/43381
31285 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
31286 nested binding iff it is a FUNCTION_DECL.
31287 (store_parm_decls_newstyle): Pass nested=true to bind for
31288 FUNCTION_DECLs amongst parameters.
31289
89245ef2
JJ
312902010-03-26 Jakub Jelinek <jakub@redhat.com>
31291
2155f963
JJ
31292 * var-tracking.c (vt_expand_loc_callback): Don't run
31293 cselib_expand_value_rtx_cb in dummy mode if
31294 cselib_dummy_expand_value_rtx_cb returned false.
31295
e80691a0
JJ
31296 * var-tracking.c (emit_note_insn_var_location): For one part
31297 notes with offset 0, don't add EXPR_LIST around the location.
31298 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
31299 add_location_or_const_value_attribute): Adjust for that change.
31300
89245ef2
JJ
31301 PR debug/43540
31302 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
31303 into first operand and location into second.
31304 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
31305 dw_cfi_oprnd_loc for DW_CFA_expression.
31306 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
31307 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
31308 assume first argument is regnum and second argument is location.
31309
c5e43cc4
UB
313102010-03-26 Uros Bizjak <ubizjak@gmail.com>
31311
31312 PR target/42113
31313 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
31314 of scratch register to DImode. Split to DImode comparison operator.
31315 Use SImode subreg of scratch register in the multiplication.
31316 (*cmp_sadd_sidi): Ditto.
31317 (*cmp_ssub_si): Ditto.
31318 (*cmp_ssub_sidi): Ditto.
31319
fb04bb84
UB
313202010-03-26 Uros Bizjak <ubizjak@gmail.com>
31321
31322 PR target/43524
31323 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
31324 Remove invalid assert and wrong comment.
31325
6ca5d1f6
JJ
313262010-03-26 Jakub Jelinek <jakub@redhat.com>
31327
31328 PR debug/43516
31329 * flags.h (final_insns_dump_p): New extern.
31330 * final.c (final_insns_dump_p): New variable.
31331 (rest_of_clean_state): Set it before -fdump-final-insns=
31332 dumping, clear afterwards.
31333 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
31334 MEM_ALIAS_SET on MEMs.
31335
46bc665f
DM
313362010-03-26 David S. Miller <davem@davemloft.net>
31337
31338 * configure.ac: Fix sparc GOTDATA_OP bug check.
31339 * configure: Rebuild.
31340
9fa195b8
AM
313412010-03-26 Alan Modra <amodra@gmail.com>
31342
31343 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
31344
9b7e6950
RO
313452010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31346
31347 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
31348 TLS_SECTION_ASM_FLAG.
31349
d53c73e0
JJ
313502010-03-25 Jakub Jelinek <jakub@redhat.com>
31351
935ec2c9
JJ
31352 PR bootstrap/43511
31353 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
31354 Clear first_function_block_is_cold.
31355
d53c73e0
JJ
31356 PR c/43385
31357 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
31358 argument if the argument is truth_value_p.
31359
871c9abb
MM
313602010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
31361
fb04bb84 31362 * config/rs6000/constraints.md: Update copyright year for my changes.
94ad7adc 31363
871c9abb
MM
31364 PR target/43484
31365 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
31366 used in reg+reg addressing, swap registers.
31367
81ef7e24
JJ
313682010-03-24 Jakub Jelinek <jakub@redhat.com>
31369
6d217c32
JJ
31370 PR debug/43293
31371 * target.h (struct gcc_target): Add code_end hook.
31372 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
31373 if not yet defined.
31374 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
31375 * toplev.c (compile_file): Call targetm.asm_out.code_end
31376 hook before unwind info/debug info output.
31377 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
31378 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
31379 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
31380 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
31381 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
31382 * config/i386/i386.c (ix86_file_end): Renamed to...
31383 (ix86_code_end): ... this. Make static. Don't call
31384 file_end_indicate_exec_stack. Emit unwind info using
31385 final_start_function/final_end_function.
31386 (darwin_x86_file_end): Remove.
31387 (TARGET_ASM_CODE_END): Define.
31388 * config/i386/i386.h (TARGET_ASM_FILE_END,
31389 NEED_INDICATE_EXEC_STACK): Don't define.
31390 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
31391 (TARGET_ASM_FILE_END): Define to darwin_file_end.
31392 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
31393 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
31394
81ef7e24
JJ
31395 PR target/43498
31396 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
31397 at the beginning and final_end_function at the end.
31398 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
31399
f1c26cad
RO
314002010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31401
31402 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
31403 and Sun as TLS syntax.
31404 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
31405 * configure: Regenerate.
31406 * config.in: Regenerate.
31407 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
31408 (default_elf_asm_named_section): Use it.
31409 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
31410 (i386_output_dwarf_dtprel): Likewise.
31411 (output_addr_const_extra): Likewise.
31412 (output_pic_addr_const): Lowercase @GOTTPOFF.
31413 (output_addr_const_extra): Likewise.
31414 (output_pic_addr_const): Lowercase @GOTNTPOFF.
31415 (output_addr_const_extra): Likewise.
31416 (output_pic_addr_const): Lowercase @INDNTPOFF.
31417 (output_addr_const_extra): Likewise.
31418 (output_pic_addr_const): Lowercase @NTPOFF.
31419 (output_addr_const_extra): Likewise.
31420 (output_pic_addr_const): Lowercase @TPOFF.
31421 (output_addr_const_extra): Likewise.
fb04bb84 31422 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
f1c26cad
RO
31423 (*tls_global_dynamic_64): Likewise.
31424 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
31425 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
31426
31427 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
31428 (ASM_OUTPUT_TLS_COMMON): Use it.
31429 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
31430
31431 PR target/38118
fb04bb84 31432 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
f1c26cad
RO
31433 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
31434 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
31435 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
31436 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
31437 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
31438
d2af65b9
RO
314392010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31440
31441 * config/i386/i386.c (override_options): Don't accept
31442 -mtls-dialect=sun any longer.
31443 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
31444 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
31445 (*tls_local_dynamic_base_32_sun): Likewise.
31446 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
31447
d0ed412a
JJ
314482010-03-24 Jakub Jelinek <jakub@redhat.com>
31449
1db0ea00
JJ
31450 PR debug/43508
31451 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
31452 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
31453
3a6191b1
JJ
31454 PR debug/43479
31455 * ira.c (adjust_cleared_regs): New function.
31456 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
31457
d0ed412a
JJ
31458 PR debug/19192
31459 PR debug/43479
31460 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
31461 from gimple_block.
31462 * expr.c (expand_expr_real): Restore previous
31463 curr_insn_source_location and curr_insn_block after
31464 expand_expr_real_1 call.
31465 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
31466 instead of expand_expr_real_1.
31467
478ab26d
VM
314682010-03-23 Vladimir Makarov <vmakarov@redhat.com>
31469
31470 PR rtl-optimization/43413
31471 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
31472 hard regs too.
31473
67b476d1
JW
314742010-03-22 James E. Wilson <wilson@codesourcery.com>
31475
31476 PR target/43348
31477 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
fb04bb84 31478 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
67b476d1 31479
99eaa2e7
L
314802010-03-22 H.J. Lu <hongjiu.lu@intel.com>
31481
fb04bb84
UB
31482 * config/i386/i386.c (ix86_target_string): Add -mfma.
31483 Fix a typo in comment.
99eaa2e7 31484
212066e6
MS
314852010-03-22 Mike Stump <mikestump@comcast.net>
31486
31487 PR target/23071
31488 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
31489 Don't overly align based upon packed packed fields.
31490
ce30e6fd
JM
314912010-03-22 Jason Merrill <jason@redhat.com>
31492
31493 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
31494 Use () rather than [], and move before the element type.
31495
3a1ef68a
RO
314962010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31497
31498 * doc/configfiles.texi (Configuration Files): Removed
31499 fixinc/Makefile*, intl/Makefile.*.
fb04bb84
UB
31500 * doc/makefile.texi: Fixed markup. Abstract from version
31501 control system used.
eed023cc 31502 (Makefile): Removed obsolete java/parse.y example.
3a1ef68a
RO
31503 * doc/sourcebuild.texi: Likewise.
31504 (Top Level): Added config, gnattools, libdecnumber, libgcc,
fb04bb84 31505 libgomp, libssp. Removed fastjar.
3a1ef68a
RO
31506 (Miscellaneous Docs): Clarify location.
31507 Added COPYING3, COPYING3.LIB.
fb04bb84 31508 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
3a1ef68a 31509
7f5441df
RO
315102010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31511
31512 PR target/38085
31513 * config/i386/i386.c (x86_function_profiler)
31514 [!NO_PROFILE_COUNTERS]: Fix typo.
31515 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
31516 instead of callq.
31517
d4f3924a 315182010-03-22 Janis Johnson <janis187@us.ibm.com>
f4a4b582 31519 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
d4f3924a
JJ
31520
31521 * doc/sourcebuild.texi (Test Directives): Split into six
31522 subsections, with most of the current text in new subsections
31523 Directives, Selectors, and Final Actions.
31524 (Directives): Split list of test directives into multiple
31525 subsubsections.
31526 (Selectors): Describe use and syntax of selectors.
31527 (Effective-Target Keywords): Describe all existing keywords.
31528 (Add Options): Describe features for dg-add-options.
31529 (Require Support): Describe variants of dg-require-support.
31530 (Final Actions): Describe commands to use in dg-final.
31531
047550e9
MM
315322010-03-22 Michael Matz <matz@suse.de>
31533
31534 PR middle-end/43475
31535 * recog.c (validate_replace_rtx_group): Replace also in
31536 REG_EQUAL and REG_EQUIV notes.
31537
6d7971b8
RG
315382010-03-22 Richard Guenther <rguenther@suse.de>
31539
31540 PR tree-optimization/43390
31541 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
31542 sure vector extracts are type correct.
31543
6af84c85
RG
315442010-03-22 Richard Guenther <rguenther@suse.de>
31545
31546 PR middle-end/40106
31547 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
31548 x * sqrt (x) even when optimizing for size if the target
31549 has native support for sqrt.
31550
539eb459
JJ
315512010-03-22 Jakub Jelinek <jakub@redhat.com>
31552
be36dd85
JJ
31553 * varasm.c (make_decl_rtl_for_debug): Also clear
31554 flag_mudflap for the duration of make_decl_rtl call.
31555
539eb459
JJ
31556 PR debug/43443
31557 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
31558 locs from preserved VALUEs.
31559
19c1be39
JDA
315602010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
31561
31562 PR middle-end/42718
31563 * pa.md (movmemsi): Set align to one if zero.
31564 (movmemdi): Likewise.
31565
f8b68ed3
RE
315662010-03-21 Richard Earnshaw <rearnsha@arm.com>
31567
31568 PR target/42321
31569 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
31570 with their corresponding prologue pushes.
31571
941ce52b
AP
315722010-03-20 Andrew Pinski <pinskia@gmail.com>
31573
31574 PR target/43156
31575 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
31576 at the begining or end.
31577 (spu_expand_epilogue): Likewise.
31578
d491d2af
RG
315792010-03-20 Richard Guenther <rguenther@suse.de>
31580
31581 PR rtl-optimization/43438
31582 * combine.c (make_extraction): Properly zero-/sign-extend an
31583 extraction of the low part of a CONST_INT. Also handle
31584 CONST_DOUBLE.
31585
4dd9ee92
MS
315862010-03-19 Mike Stump <mikestump@comcast.net>
31587
31588 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
31589 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
31590 (override_options): Use SUBTARGET32_DEFAULT_CPU.
31591
e49a760f
AP
315922010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
31593
6644642e 31594 PR c/43211
fb04bb84
UB
31595 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
31596 an error.
e49a760f 31597
f0c6475a 315982010-03-19 Bernd Schmidt <bernds@codesourcery.com>
002b2dee
BS
31599
31600 PR rtl-optimization/42258
31601 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
31602 use that may match DEF.
31603
c99102b8
BS
31604 PR target/40697
31605 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
31606 the cost of loading the constant rather than assuming
31607 COSTS_N_INSNS (1).
31608 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
31609 outer code is AND, do the same tests as the andsi3 expander and
31610 return COSTS_N_INSNS (1) if and is cheap.
fdb2c684
BS
31611
31612 * optabs.c (avoid_expensive_constant): Fix formatting.
31613
f9ceed32
MM
316142010-03-19 Michael Matz <matz@suse.de>
31615
31616 PR c++/43116
31617 * attribs.c (decl_attributes): When rebuilding a function pointer
31618 type use the same qualifiers as the original pointer type.
31619
3795eae6
MJ
316202010-03-19 Martin Jambor <mjambor@suse.cz>
31621
31622 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
31623 and is_gimple_ip_invariant_address.
31624
ae0bef88
RR
316252010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
31626
31627 Revert
31628 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
31629
31630 * config/arm/arm.c (arm_override_options): Turn off
31631 flag_dwarf2_cfi_asm for AAPCS variants.
31632
9abf5d7b
RR
316332010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
31634
31635 PR target/43399
31636 * config/arm/arm.c (emit_multi_reg_push): Update comments.
31637 Use PRE_MODIFY instead of PRE_DEC.
31638 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
31639 (vfp_emit_fstmd): Likewise.
31640
8a0b1aa4
MM
316412010-03-19 Michael Matz <matz@suse.de>
31642
31643 PR target/43305
31644 * builtins.c (expand_builtin_interclass_mathfn,
31645 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
31646 if that fails.
31647
3e999e7b
RG
316482010-03-19 Richard Guenther <rguenther@suse.de>
31649
31650 PR tree-optimization/43415
31651 * tree-ssa-pre.c (phi_translate): Split out worker to ...
31652 (phi_translate_1): ... this.
31653 (phi_translate): Move all caching here. Cache all NARY
31654 and REFERENCE translations.
31655
9fd52c6c
DM
316562010-03-19 David S. Miller <davem@davemloft.net>
31657
31658 With help from Eric Botcazou.
31659 * config/sparc/sparc.c: Include dwarf2out.h.
31660 (emit_pic_helper): Delete.
31661 (pic_helper_symbol_name): Delete.
31662 (pic_helper_emitted_p): Delete.
31663 (pic_helper_needed): New.
31664 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
31665 (get_pc_thunk_name): New.
31666 (load_pic_register): Remove 'delay_pic_helper' arg. Use
31667 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
31668 Set pic_helper_needed to true. Don't call emit_pic_helper.
31669 (sparc_expand_prologue): Update load_pic_register call.
31670 (sparc_output_mi_thunk): Likewise.
31671 (sparc_file_end): Emit a hidden comdat symbol for the PIC
31672 thunk if possible. Output CFI information as needed.
31673
f4a4b582
EB
316742010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
31675 Jack Howarth <howarth@bromo.med.uc.edu>
b6010cab
FXC
31676
31677 PR target/36399
48019e3d 31678 * config/i386/i386.h: Fix ABI on darwin x86-32.
b6010cab 31679
b1aa0655
AH
316802010-03-18 Aldy Hernandez <aldyh@redhat.com>
31681
31682 * tree.h: Declare make_decl_rtl_for_debug.
31683 * varasm.c (make_decl_rtl_for_debug): New.
31684 * dwarf2out.c (rtl_for_decl_location): Call it.
31685 * cfgexpand.c (expand_debug_expr): Call it.
31686
f0c12fcc
JJ
316872010-03-18 Jakub Jelinek <jakub@redhat.com>
31688
9a05b749
JJ
31689 PR bootstrap/43399
31690 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
31691 mem_mode.
31692
f0c12fcc
JJ
31693 PR bootstrap/43403
31694 * var-tracking.c (vt_init_cfa_base): Do nothing if
fb04bb84 31695 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
f0c12fcc 31696
e999b0c9
AO
316972010-03-18 Alexandre Oliva <aoliva@redhat.com>
31698
31699 PR debug/42873
31700 * var-tracking.c (canonicalize_vars_star): New.
31701 (dataflow_post_merge_adjust): Use it.
31702
5644a3d0
JJ
317032010-03-18 Jakub Jelinek <jakub@redhat.com>
31704
31705 PR debug/43058
31706 * var-tracking.c (non_suitable_const): New function.
31707 (add_uses): For DEBUG_INSNs with constants, don't record any
31708 value, instead just the constant value itself.
31709 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
31710 is not VAR_LOC_UNKNOWN_P, set var to the constant.
31711 (emit_notes_in_bb): Likewise.
31712 (emit_note_insn_var_location): For onepart variables if
31713 cur_loc is a VOIDmode constant, use DECL_MODE.
31714
8132a837
MJ
317152010-03-18 Martin Jambor <mjambor@suse.cz>
31716
31717 PR middle-end/42450
31718 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
31719 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
31720 all non-clones. Moved call redirection...
fb04bb84 31721 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
8132a837
MJ
31722 (cgraph_materialize_all_clones): Dispose of all
31723 combined_args_to_skip bitmaps.
31724 (verify_cgraph_node): Do not check for edges pointing to wrong
31725 nodes in inline clones.
31726 * tree-inline.c (copy_bb): Call
31727 cgraph_redirect_edge_call_stmt_to_callee.
31728 * ipa.c (cgraph_remove_unreachable_nodes): Call
31729 cgraph_node_remove_callees even when there are used clones.
31730
7893d7ac
L
317312010-03-18 H.J. Lu <hongjiu.lu@intel.com>
31732
31733 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
31734
cdfedab1
L
317352010-03-18 H.J. Lu <hongjiu.lu@intel.com>
31736
31737 PR target/43383
31738 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
31739 for 32bit.
31740
c21372c4
MM
317412010-03-18 Michael Matz <matz@suse.de>
31742
31743 PR middle-end/43419
31744 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
31745 into sqrt(x) if we need to preserve signed zeros.
31746
82fa5f8a
L
317472010-03-18 Steven Bosscher <steven@gcc.gnu.org>
31748 Eric Botcazou <ebotcazou@adacore.com>
31749
31750 PR rtl-optimization/43360
31751 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
31752 note if we don't know its invariant status.
31753
eb45755f
MM
317542010-03-18 Michael Matz <matz@suse.de>
31755
31756 PR tree-optimization/43402
31757 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
31758 PHI chains of ssa names registered for update.
31759
60936b22
PB
317602010-03-17 Peter Bergner <bergner@vnet.ibm.com>
31761
31762 PR target/42427
31763 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
31764 non-offsettable and pre_modify update addressing.
31765 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
31766 and "2" alternatives "#".
31767 (*movdd_softfloat32): Make all alternatives "#";
31768 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
31769 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
31770 (*movdf_softfloat32): Make all alternatives "#";
31771 (movdi): Use the new DIFD mode iterator to create a common splitter
31772 for movdi, movdf and movdd patterns.
31773
316fc112
SZ
317742010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
31775
31776 * common.opt (dumpdir): Remove redundant tab.
31777
ec24771f
MJ
317782010-03-17 Martin Jambor <mjambor@suse.cz>
31779
31780 PR tree-optimization/43347
31781 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
31782 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
31783
e33c42db
BS
317842010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
31785
31786 PR rtl-optimization/42216
31787 * regrename.c (create_new_chain): New function, broken out from...
31788 (scan_rtx_reg): ... here. Call it. Handle the case where we are
31789 appending a use to an empty chain.
31790 (build_def_use): Remove previous changes that convert OP_INOUT to
31791 OP_OUT operands; instead detect the case where an OP_INOUT operand
fb04bb84 31792 uses a previously untracked register and create an empty chain for it.
e33c42db 31793
4c4177dc
RW
317942010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31795
31796 * doc/extend.texi (Function Attributes): Rewrite unfinished
31797 sentence in ms_abi documentation.
31798
60ac9511
AM
317992010-03-17 Alan Modra <amodra@gmail.com>
31800
31801 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
31802 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
31803 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
31804 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
31805
e19d1f06
RH
318062010-03-16 Richard Henderson <rth@redhat.com>
31807
31808 PR middle-end/43365
31809 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
31810 (lower_try_finally): Save and restore eh_seq around the expansion
31811 of the try-finally.
31812
c36fed0c
AH
318132010-03-16 Aldy Hernandez <aldyh@redhat.com>
31814
31815 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
31816 statements before splitting block.
31817
f4a4b582 318182010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17a7cb4e
RO
31819
31820 * doc/sourcebuild.texi (Testsuites): Fix markup.
31821 Use pathnames relative to gcc/testsuite.
31822 (Test Directives): Move description of how timeout is determined.
31823 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
31824 (C Tests): Correct gcc.misc-tests directory.
31825 Framework tests now live in gcc.test-framework.
31826
7686fb74
RG
318272010-03-16 Richard Guenther <rguenther@suse.de>
31828
31829 PR middle-end/43379
fb04bb84
UB
31830 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
31831 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
7686fb74 31832
7a181764
AH
318332010-03-16 Aldy Hernandez <aldyh@redhat.com>
31834 Alexandre Oliva <aoliva@redhat.com>
31835
31836 PR tree-optimization/42917
31837 * lambda-code.c (remove_iv): Skip debug statements.
31838 (lambda_loopnest_to_gcc_loopnest): Likewise.
31839 (not_interesting_stmt): Debug statements are not interesting.
31840
457eeaae
JJ
318412010-03-16 Jakub Jelinek <jakub@redhat.com>
31842
31843 PR debug/43051
31844 PR debug/43092
31845 * cselib.c (cselib_preserve_constants,
31846 cfa_base_preserved_val): New static variables.
31847 (preserve_only_constants): New function.
31848 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
fb04bb84 31849 clear its REG_VALUES. If cselib_preserve_constants, don't
457eeaae
JJ
31850 empty the whole hash table, but preserve there VALUEs with constants,
31851 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
31852 (cselib_preserve_cfa_base_value): New function.
31853 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
31854 (cselib_init): Change argument to int bitfield. Set
31855 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
31856 is in it.
31857 (cselib_finish): Clear cselib_preserve_constants and
31858 cfa_base_preserved_val.
31859 * cselib.h (enum cselib_record_what): New enum.
31860 (cselib_init): Change argument to int.
31861 (cselib_preserve_cfa_base_value): New prototype.
31862 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
31863 * dse.c (dse_step1): Likewise.
31864 * cfgcleanup.c (thread_jump): Likewise.
31865 * sched-deps.c (sched_analyze): Likewise.
31866 * gcse.c (local_cprop_pass): Likewise.
31867 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
31868 If FN is non-NULL, call the callback always and whenever it returns
31869 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
31870 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
31871 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
31872 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
31873 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
31874 * var-tracking.c: Include recog.h.
31875 (bb_stack_adjust_offset): Remove.
31876 (vt_stack_adjustments): Don't call it, instead just gather the
31877 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
31878 (adjust_stack_reference): Remove.
31879 (compute_cfa_pointer): New function.
31880 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
31881 (struct adjust_mem_data): New type.
31882 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
31883 functions.
31884 (get_address_mode): New function.
31885 (replace_expr_with_values): Use it.
31886 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
31887 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
31888 (adjust_sets): Remove.
31889 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
31890 Use get_address_mode.
31891 (get_adjusted_src): Remove.
31892 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
31893 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
31894 (add_with_sets): Don't call adjust_sets.
31895 (fp_setter, vt_init_cfa_base): New functions.
31896 (vt_initialize): Change return type to bool. Move most of pool etc.
31897 initialization to the beginning of the function from end. Pass
31898 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
31899 If !frame_pointer_needed, call vt_stack_adjustment before mos
31900 vector is filled, call vt_init_cfa_base if argp/framep has been
31901 eliminated to sp. If frame_pointer_needed and argp/framep has
31902 been eliminated to hard frame pointer, set
31903 hard_frame_pointer_adjustment and call vt_init_cfa_base after
31904 encountering fp setter in the prologue. For MO_ADJUST, call
31905 log_op_type before pusing the op into mos vector, not afterwards.
31906 Call adjust_insn before cselib_process_insn/add_with_sets,
31907 call cancel_changes (0) afterwards.
31908 (variable_tracking_main_1): Adjust for vt_initialize calling
31909 vt_stack_adjustments and returning whether it succeeded or not.
31910
7dee65d8
AH
319112010-03-15 Aldy Hernandez <aldyh@redhat.com>
31912
31913 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
31914 debug statements.
31915
6019a098
JJ
319162010-03-15 Jakub Jelinek <jakub@redhat.com>
31917
31918 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
31919 has been set.
31920 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
31921 drap_reg has not been set.
31922
c2172338
MM
319232010-03-15 Michael Matz <matz@suse.de>
31924
31925 PR middle-end/43300
31926 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
31927 use it to expand block copies.
31928 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
31929 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
31930 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
31931
610b64e2
RG
319322010-03-15 Richard Guenther <rguenther@suse.de>
31933
31934 PR tree-optimization/43367
31935 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
31936 elimination check.
31937
610de68d
RB
319382010-03-15 Richard Guenther <rguenther@suse.de>
31939
31940 PR tree-optimization/43317
31941 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
31942
932e2e64
MJ
319432010-03-15 Martin Jambor <mjambor@suse.cz>
31944
610de68d 31945 PR tree-optimization/43141
932e2e64
MJ
31946 * tree-sra.c (create_abstract_origin): New function.
31947 (modify_function): Call create_abstract_origin.
31948
c8c520dd
CD
319492010-03-15 Chris Demetriou <cgd@google.com>
31950
31951 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
31952 wasn't copied.
31953
7f931500
SP
319542010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31955
31956 PR middle-end/43354
31957 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
31958 call insert_out_of_ssa_copy for default definitions.
31959
319602010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31961
31962 * graphite-clast-to-gimple.c (my_long_long): Defined.
31963 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
31964 * graphite-sese-to-poly.c (my_long_long): Defined.
31965 (scop_ivs_can_be_represented): Use it.
31966
319672010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31968
31969 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
31970 graphite-max-bbs-per-function, and loop-block-tile-size.
31971 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
31972 with "maximum".
31973 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
31974
319752010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31976
31977 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
31978 forward declaration.
31979 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
31980 (add_upper_bounds_from_estimated_nit): New.
31981 (build_loop_iteration_domains): Use it.
31982
319832010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31984
31985 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
31986
319872010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31988
31989 PR middle-end/43306
31990 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
31991 should be an INTEGER_CST. Also handle CASE_CONVERT.
31992
319932010-03-13 Sebastian Pop <sebastian.pop@amd.com>
31994
31995 * graphite.c (graphite_initialize): To bound the number of bbs per
31996 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
31997 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
31998 * doc/invoke.texi: Document it.
31999
320002010-03-13 Sebastian Pop <sebastian.pop@amd.com>
32001
32002 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
32003 * graphite-sese-to-poly.h (build_poly_scop): Same.
32004
320052010-03-13 Sebastian Pop <sebastian.pop@amd.com>
32006
32007 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
32008 the number of parameters in the scop. Use as an upper bound
32009 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
32010 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
32011 * doc/invoke.texi: Document it.
32012
929769f4
JQ
320132010-03-13 Jerry Quinn <jlquinn@optonline.net>
32014
32015 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
32016 * doc/c-tree.texi: Remove.
32017 * doc/generic.texi: Merge c-tree.texi here.
32018 * doc/gccint.texi (Trees): Remove menu entry.
32019 (c-tree.texi): Remove @include.
32020 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
32021 * doc/languages.texi (Reading RTL): Ditto.
32022
9c8cab44
SE
320232010-03-12 Steve Ellcey <sje@cup.hp.com>
32024
32025 PR target/42869
32026 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
32027
08f9d725
MM
320282010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
32029
32030 PR middle-end/42431
eed023cc 32031 * config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
08f9d725
MM
32032 code added to work around reload clobbering CONST insns.
32033
70235ab9
JJ
320342010-03-12 Jakub Jelinek <jakub@redhat.com>
32035
0de3e43f
JJ
32036 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
32037 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
32038 (cselib_preserve_only_values): Remove retain argument, don't
32039 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
32040 * cselib.h (cselib_preserve_only_values): Remove retain argument.
32041 * var-tracking.c (micro_operation): Move insn field before union.
32042 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
32043 (struct variable_tracking_info_def): Remove n_mos field, change
32044 mos into a vector of micro_operations.
32045 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
32046 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
32047 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
32048 changing into a vector.
32049 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
32050 come before all other uops generated by add_stores.
32051 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
32052 argument removal.
32053 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
32054 a vector. Run just one pass over the bbs instead of separate counting
32055 and computation phase.
32056 (vt_finalize): Free VTI (bb)->mos vector instead of array.
32057
70235ab9
JJ
32058 PR debug/43329
32059 * tree-inline.c (remap_decls): Put old_var rather than origin_var
32060 into *nonlocalized_list vector.
32061 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
32062 even if origin is non-NULL.
32063 (gen_variable_die): Likewise.
32064 (process_scope_var): Don't change origin.
32065 (gen_decl_die): Likewise.
32066 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
32067 before adding new edges instead of after it, fix moving over
32068 debug stmts.
32069
7ac22e17
DM
320702010-03-11 David S. Miller <davem@davemloft.net>
32071
77514c73
UB
32072 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
32073 of four.
7ac22e17
DM
32074 * configure: Rebuild.
32075
0e0a1359
MJ
320762010-03-11 Martin Jambor <mjambor@suse.cz>
32077
32078 PR tree-optimization/43257
32079 * tree.c (assign_assembler_name_if_neeeded): New function.
32080 (free_lang_data_in_cgraph): Assembler name assignment moved to the
32081 above new function.
32082 * tree.h (assign_assembler_name_if_neeeded): Declare.
32083 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
32084 the function if needed.
32085
1d9edd01
CD
320862010-03-11 Chris Demetriou <cgd@google.com>
32087
32088 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
32089 include/stdint-gcc.h, and include/stdint.h world-readable.
32090
ff0a0c1d
RG
320912010-03-11 Richard Guenther <rguenther@suse.de>
32092
32093 PR tree-optimization/43255
32094 * tree-vrp.c (process_assert_insertions_for): Do not insert
32095 asserts for trivial conditions.
32096
b509e1fc
AK
320972010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
32098
32099 PR tree-optimization/43280
77514c73
UB
32100 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
32101 generation. Move calculation of size out of the if branch.
b509e1fc
AK
32102 (find_bswap): Modify compare number generation.
32103
108ba00b
RG
321042010-03-11 Richard Guenther <rguenther@suse.de>
32105
32106 PR lto/43200
32107 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
32108 (input_gimple_stmt): Fixup handled component types during
32109 operand read. Also fix up decls in ADDR_EXPRs.
32110
f37f5bb9
EB
321112010-03-10 Eric Botcazou <ebotcazou@adacore.com>
32112
32113 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
32114 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
32115
e9fecf0e
JH
321162010-03-10 Jan Hubicka <jh@suse.cz>
32117
32118 PR c/43288
32119 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
32120 * varasm.c (get_variable_section): Don't do that here...
32121 (make_decl_rtl): ... and here.
32122 (do_assemble_alias): Produce decl RTL.
32123 (assemble_alias): Likewise.
32124
23f39b37
JJ
321252010-03-10 Jakub Jelinek <jakub@redhat.com>
32126
32127 PR debug/43290
32128 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
32129 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
32130 of fde->vdrap_reg.
32131 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
32132 (based_loc_descr): Only express drap or vdrap regno based expressions
32133 using DW_OP_fbreg when not optimizing.
32134 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
32135 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
32136 REG_CFA_SET_VDRAP note.
32137
6edd8198
AM
321382010-03-10 Alexander Monakov <amonakov@ispras.ru>
32139
32140 PR tree-optimization/43236
32141 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
32142 error in calculation of base address in reverse iteration case.
32143 (generate_builtin): Take number of latch executions if the statement
32144 is in the latch.
32145
9f698956
AB
321462010-03-10 Andrey Belevantsev <abel@ispras.ru>
32147
32148 PR middle-end/42859
32149 * tree-eh.c: Include pointer-set.h.
32150 (lower_eh_dispatch): Filter out duplicate case labels and
32151 remove the unneeded edge when the label is unused. Return
32152 true when some edges are removed.
32153 (execute_lower_eh_dispatch): When any lowering resulted in
32154 removing an edge, also delete unreachable blocks.
32155
ff4f03c3
JJ
321562010-03-10 Jakub Jelinek <jakub@redhat.com>
32157
32158 PR bootstrap/43287
32159 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
32160 UNSPEC_MACHOPIC_OFFSET.
32161
7b0f476d
AS
321622010-03-09 Andreas Schwab <schwab@linux-m68k.org>
32163
32164 PR target/43294
32165 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
32166 (m68k_delegitimize_address): New function.
32167
3b7998ea
JJ
321682010-03-09 Jakub Jelinek <jakub@redhat.com>
32169
eb1fcdaa
JJ
32170 PR debug/43299
32171 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
32172
69b89883
JJ
32173 PR debug/43299
32174 * var-tracking.c (adjust_sets): New function.
32175 (count_with_sets, add_with_sets): Use it.
32176 (get_adjusted_src): New inline function.
32177 (add_stores): Use it.
32178
3b7998ea
JJ
32179 PR debug/43304
32180 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
32181 call cselib_dummy_expand_value_rtx_cb instead of
32182 cselib_expand_value_rtx_cb.
bded9b70
JJ
32183
32184 PR debug/43293
32185 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
32186 * config/i386/i386.c: Include debug.h and dwarf2out.h.
32187 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
32188 and .cfi_endproc around the pic thunks.
32189 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
32190 all queued unwind info register saves are saved before the call.
32191 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
32192 considered as sp-=4 for unwind info and the pop as sp+=4 which
32193 also clobbers dest, but doesn't actually restore it.
4398467a
JJ
32194
32195 PR debug/43290
32196 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
32197 RTX_FRAME_RELATED_P.
32198
81ad4ac0
JZ
321992010-03-09 Jie Zhang <jie@codesourcery.com>
32200
32201 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
32202 whitespaces in output template.
32203
dc344e87
JZ
322042010-03-09 Jie Zhang <jie@codesourcery.com>
32205
32206 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
32207 out array boundary.
32208
ff12d3a6
JJ
322092010-03-08 Jakub Jelinek <jakub@redhat.com>
32210
32211 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
32212 builtins.exp in a separate job.
32213
b58543c3
SP
322142010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32215
32216 * graphite-sese-to-poly.c (add_param_constraints): Use
32217 lower_bound_in_type and upper_bound_in_type.
32218
322192010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32220
32221 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
32222 instead of unsigned_type_node.
32223
322242010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32225 Reza Yazdani <reza.yazdani@amd.com>
32226
32227 PR middle-end/43065
32228 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
32229 on pointer type parameters.
32230
322312010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
32232
32233 PR middle-end/42644
32234 PR middle-end/42130
32235 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
32236 handle conversions from pointer to integers.
32237 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
77514c73 32238 induction variable, to be able to work with code generated by CLooG.
b58543c3
SP
32239 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
32240 (build_poly_scop): Bail out if we cannot codegen a loop.
32241
322422010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
32243
32244 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
32245 code generation with gloog_error.
32246
322472010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32248
32249 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
32250 Call fold_convert on all the returned values.
77514c73
UB
32251 (expand_scalar_variables_expr): Pass to
32252 expand_scalar_variables_ssa_name the type of the resulting expression.
b58543c3
SP
32253
322542010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32255
32256 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
77514c73
UB
32257 ppl_min_for_le_pointset.
32258 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
b58543c3
SP
32259 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
32260
322612010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32262
32263 * graphite-dependences.c (map_into_dep_poly): Removed.
32264 (dependence_polyhedron_1): Use combine_context_id_scat.
32265
322662010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32267
32268 * graphite-poly.h (struct poly_scattering): Add layout documentation.
32269 (struct poly_bb): Same.
32270 (combine_context_id_scat): New.
32271
322722010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32273
32274 PR middle-end/42326
32275 * sese.c (name_defined_in_loop_p): Return false for default
32276 definitions.
32277
322782010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32279
32280 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
32281 and clean up the logic.
32282
322832010-03-08 Sebastian Pop <sebastian.pop@amd.com>
32284
32285 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
32286 early return.
32287
1feb8238
JJ
322882010-03-08 Jakub Jelinek <jakub@redhat.com>
32289
32290 * var-tracking.c (remove_cselib_value_chains): Define only for
32291 ENABLE_CHECKING.
32292 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
32293 delete_slot_part, emit_notes_for_differences_1): Don't call
32294 remove_cselib_value_chains here.
32295 (set_slot_part, emit_notes_for_differences_2): Don't call
32296 add_cselib_value_chains here.
32297 (preserved_values): New vector.
32298 (preserve_value): New function.
32299 (add_uses, add_stores, vt_add_function_parameters): Use it
32300 instead of cselib_preserve_value.
32301 (changed_values_stack): New vector.
32302 (check_changed_vars_0): New function.
32303 (check_changed_vars_1, check_changed_vars_2): Use it.
32304 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
32305 changed_values_stack VALUEs.
32306 (vt_emit_notes): For all preserved_values call
32307 add_cselib_value_chains. If ENABLE_CHECKING call
32308 remove_cselib_value_chains before verifying value_chains is empty.
32309 Initialize and free changed_values_stack.
32310 (vt_initialize): Initialize preserved_values.
32311 (vt_finalize): Free preserved_values.
32312
cc788fcc
RG
323132010-03-08 Richard Guenther <rguenther@suse.de>
32314
32315 PR tree-optimization/43269
32316 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
32317 region detection.
32318
69c103c7
MJ
323192010-03-08 Martin Jambor <mjambor@suse.cz>
32320
32321 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
32322 (ipa_is_param_called): Removed.
32323 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
32324 (ipa_print_node_params): Do not print the called flag.
32325 (ipa_write_node_info): Do not stream the called flag.
32326 (ipa_read_node_info): Likewise.
32327
864ddef7
JJ
323282010-03-07 Jakub Jelinek <jakub@redhat.com>
32329
32330 PR debug/43176
32331 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
32332 * cselib.c (struct expand_value_data): Add dummy field.
32333 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
32334 dummy to false.
32335 (cselib_dummy_expand_value_rtx_cb): New function.
32336 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
32337 any rtl.
32338 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
32339 * var-tracking.c: Include pointer-set.h.
32340 (variable): Change n_var_parts to char from int. Add
32341 cur_loc_changed and in_changed_variables fields.
32342 (variable_canonicalize): Remove.
32343 (shared_var_p): New inline function.
32344 (unshare_variable): Maintain cur_loc_changed and
32345 in_changed_variables fields. If var was in changed_variables,
32346 replace it there with new_var. Just copy cur_loc instead of
32347 resetting it to something else.
32348 (variable_union): Don't recompute cur_loc. Use shared_var_p.
32349 (dataflow_set_union): Don't call variable_canonicalize.
32350 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
32351 of their DEBUG_EXPR_TREE_DECLs.
32352 (canonicalize_loc_order_check): Verify that cur_loc is NULL
32353 and in_changed_variables and cur_loc_changed is false.
32354 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
32355 and cur_loc_changed. Don't update cur_loc here.
32356 (variable_merge_over_src): Don't call variable_canonicalize.
32357 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
32358 removing loc that is equal to cur_loc, clear cur_loc,
32359 set cur_loc_changed and ensure variable_was_changed is called.
32360 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
32361 compare pointers in cur_loc check, if it is equal to loc,
32362 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
32363 (variable_different_p): Remove compare_current_location argument,
32364 don't compare cur_loc.
32365 (dataflow_set_different_1): Adjust variable_different_p caller.
32366 (variable_was_changed): If dv had some var in changed_variables
32367 already, reset in_changed_variables flag for it and propagate
32368 cur_loc_changed over to the new variable. On empty var
32369 always set cur_loc_changed. Set in_changed_variables on whatever
32370 var is added to changed_variables.
32371 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
32372 Use shared_var_p. When removing loc that is equal to cur_loc,
32373 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
32374 end, don't set it to something else, just call variable_was_changed.
32375 (delete_slot_part): Use shared_var_p. When cur_loc equals to
32376 loc being removed, clear cur_loc and set cur_loc_changed.
32377 Set cur_loc_changed if all locations have been removed.
32378 (struct expand_loc_callback_data): New type.
32379 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
32380 allocated. Always create SUBREGs if simplify_subreg failed.
32381 Prefer to use cur_loc, when that fails and still in
32382 changed_variables (and seen first time) recompute it. Set
32383 cur_loc_changed of variables which had to change cur_loc and
32384 compute elcd->cur_loc_changed if any of the subexpressions used
32385 had to change cur_loc.
32386 (vt_expand_loc): Adjust to pass arguments in
32387 expand_loc_callback_data structure.
32388 (vt_expand_loc_dummy): New function.
32389 (emitted_notes): New variable.
32390 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
32391 that weren't used for any other decl in current
32392 emit_notes_for_changes call call vt_expand_loc_dummy to update
32393 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
32394 first loc_chain location if NULL before. Always use just
32395 cur_loc instead of first loc_chain location. When cur_loc_changed
32396 is false, when not --enable-checking=rtl just don't emit any note.
32397 When rtl checking, compute the note and assert it is the same
32398 as previous note. Clear cur_loc_changed and in_changed_variables
32399 at the end before removing from changed_variables.
32400 (check_changed_vars_3): New function.
32401 (emit_notes_for_changes): Traverse changed_vars to call
32402 check_changed_vars_3 on each changed var.
32403 (emit_notes_for_differences_1): Clear cur_loc_changed and
32404 in_changed_variables. Recompute cur_loc of new_var.
77514c73 32405 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
864ddef7
JJ
32406 (vt_emit_notes): Initialize and destroy emitted_notes.
32407
c4137918
BS
324082010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
32409
32410 PR rtl-optimization/42220
32411 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
32412 Use verify_reg_tracked to determine if we should use OP_OUT rather
32413 than OP_INOUT.
32414 (build_def_use): If we see an in-out operand for a register that we
32415 know nothing about, treat is an output if possible, fail the block if
32416 not.
32417
cd6549e8
AO
324182010-03-06 Alexandre Oliva <aoliva@redhat.com>
32419
32420 PR debug/42897
32421 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
32422 permanently.
32423
aba09491
AO
324242010-03-06 Alexandre Oliva <aoliva@redhat.com>
32425
32426 PR debug/42897
32427 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
32428 uses of relevant DEFs that are dead outside the loop too.
32429
f4a4b582 324302010-03-06 Alexandre Oliva <aoliva@redhat.com>
60d7a09b
AO
32431
32432 * var-tracking.c (dataflow_set_merge): Swap src and src2.
32433 Reverted:
32434 2010-01-13 Jakub Jelinek <jakub@redhat.com>
32435 PR debug/41371
32436 * var-tracking.c (values_to_unmark): New variable.
32437 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
32438 values_to_unmark vector. Moved body to...
32439 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
32440 instead queue it into values_to_unmark vector.
32441 (vt_find_locations): Free values_to_unmark vector.
32442
eeb971c9
EB
324432010-03-05 Eric Botcazou <ebotcazou@adacore.com>
32444
32445 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
32446 (site.exp): Export them when plugins are enabled.
32447
ccc5b640
SP
324482010-03-05 Sebastian Pop <sebastian.pop@amd.com>
32449
32450 PR middle-end/42326
32451 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
32452 that contain scevs.
32453 (chrec_fold_multiply): Same.
32454
3e23fb2e
AP
324552010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
32456
32457 PR c/43248
32458 * c-decl.c (build_compound_literal): Return early if init is
32459 an error_mark_node.
32460
76f76cd0
MJ
324612010-03-04 Martin Jambor <mjambor@suse.cz>
32462
32463 PR tree-optimization/43164
32464 PR tree-optimization/43191
32465 * tree-sra.c (type_consists_of_records_p): Reject records with
32466 zero-size bit-fields at the end.
32467
b2d244d1
MS
324682010-03-04 Mike Stump <mikestump@comcast.net>
32469
32470 * Makefile.in (TAGS): Remove *.y.
32471
9ca87236
RB
324722010-03-04 Richard Guenther <rguenther@suse.de>
32473
32474 PR tree-optimization/40761
32475 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
32476 in reverse order.
32477 (my_rev_post_order_compute): New function.
32478 (init_pre): Call it.
32479
572ae476
CF
324802010-03-04 Changpeng Fang <changpeng.fang@amd.com>
32481
8c0386a4 32482 PR middle-end/43209
9ca87236
RB
32483 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
32484 decrease the cost of an IV candidate when the cost is infinite.
572ae476 32485
f8723eb6
RW
324862010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
32487
32488 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
32489 Use '3DNow!' for the extension of that name, ensure normal space
32490 after the string.
32491 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
32492
d8a60d24
JL
324932010-03-03 Jeff Law <law@redhat.com>
32494
32495 * PR middle-end/32693
32496 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
32497 than gen_rtx_SUBREG.
32498 (extract_bit_field_1): Likewise.
32499
8ec49cff
JJ
325002010-03-03 Janis Johnson <janis187@us.ibm.com>
32501
32502 * doc/sourcebuild.texi (Test directives): Document that arguments
32503 include-opts and exclude-opts are now optional for dg-skip-if,
32504 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
32505
2c71ac78
JM
325062010-03-03 Jason Merrill <jason@redhat.com>
32507
32508 PR c++/12909
32509 * cgraph.h (varpool_node): Add extra_name field.
32510 * varpool.c (varpool_extra_name_alias): New.
32511 (varpool_assemble_decl): Emit extra name aliases.
32512 (varpool_mark_needed_node): Look past an extra name alias.
1d5053d6
JM
32513 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
32514 * lto-streamer-in.c (lto_input_tree): Read it.
32515 * lto-streamer-out.c (output_unreferenced_globals): Write it.
2c71ac78 32516
2587aa3b
EB
325172010-03-03 Eric Botcazou <ebotcazou@adacore.com>
32518
32519 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
32520 (sparc*-*-solaris2*): ...this.
32521
db51bb34
JJ
325222010-03-03 Jakub Jelinek <jakub@redhat.com>
32523
7ece48b1
JJ
32524 PR debug/43229
32525 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
32526 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
32527 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
32528 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
32529
0508bed7
JJ
32530 PR debug/43237
32531 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
32532 fallthrough to default handling, just with want_address 0 instead of 2.
32533 For single element lists, add_AT_loc directly, otherwise create an
32534 artificial variable DIE and stick location list to it.
32535
db51bb34
JJ
32536 PR debug/43177
32537 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
32538 (VAL_EXPR_HAS_REVERSE): Define.
32539 (reverse_op): New function.
32540 (add_stores): For reversible operations add an extra MO_VAL_USE.
32541
7428bc26
JM
325422010-03-02 Jason Merrill <jason@redhat.com>
32543
32544 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
32545
d1ced155
EB
325462010-03-02 Eric Botcazou <ebotcazou@adacore.com>
32547
32548 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
32549 (sparc64-*-linux*): Likewise.
32550 (sparc64-*-solaris2*): Include assembler files before linker ones.
32551 (sparc-*-solaris2*): Simplify and reorder to match previous case.
32552 * config/sparc/gas.h: Delete.
32553 * config/sparc/sol2-64.h: Add copyright notice.
32554 * config/sparc/sol2-gas-bi.h: Likewise.
32555 * config/sparc/sol2-gld.h: Likewise.
32556 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
32557 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
32558 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
32559 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
32560 (sparc_elf_asm_named_section): Rename into...
32561 (sparc_solaris_elf_asm_named_section): ...this. Always define.
32562
02d43000
UB
325632010-03-02 Uros Bizjak <ubizjak@gmail.com>
32564
32565 * config/alpha/alpha.c (override_options): Fix -mtune error message.
32566
f6c86fab
JL
325672010-03-02 Jeff Law <law@redhat.com>
32568
4e222e63 32569 PR middle-end/42431
f6c86fab
JL
32570 * reload1.c (rtx_p, substitute_stack): Declare.
32571 (substitute): Record addresses of changed rtxs.
32572 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
32573 Restore the original rtx when complete.
32574 (reload): Free subsitute_stack when complete.
32575
500cdcb0
JJ
325762010-03-02 Janis Johnson <janis187@us.ibm.com>
32577
32578 * doc/gccint.texi (menu): Add Testsuites as a chapter.
32579 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
32580 new chapter.
32581 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
32582 LTO Testing, gcov Testing, profopt Testing, compat Testing,
32583 Torture Tests): Change from subsection to section.
32584
d9a6979d
JJ
325852010-03-02 Jakub Jelinek <jakub@redhat.com>
32586 Steven Bosscher <steven@gcc.gnu.org>
32587
02d43000
UB
32588 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
32589 instead of bb.
d9a6979d 32590
61226dc8
SP
325912010-03-02 Reza Yazdani <reza.yazdani@amd.com>
32592
32593 PR middle-end/42640
32594 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
32595 the assignment from the new induction variable to the assignment
32596 of the value from the original loop PHI function.
32597
15e7a617
JJ
325982010-03-01 Janis Johnson <janis187@us.ibm.com>
32599 Daniel Jacobowitz <dan@codesourcery.com>
32600
32601 * doc/sourcebuild.texi (Test directives): Clarify options to
32602 dg-skip-if.
32603
eb2573ee
RO
326042010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32605
32606 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
32607 Disable cfi directives unless GCC and gas agree on using read-only
32608 .eh_frame sections for 64-bit.
32609 * configure: Regenerate.
32610
12f9ddbc
RG
326112010-03-01 Richard Guenther <rguenther@suse.de>
32612
32613 PR tree-optimization/43220
32614 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
32615 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
32616
f0c10f0f 326172010-03-01 Richard Guenther <rguenther@suse.de>
02d43000 32618 Martin Jambor <mjambor@suse.cz>
f0c10f0f
RG
32619
32620 PR middle-end/41250
32621 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
32622 gimplified parameters.
32623
c40b5400
CB
326242010-03-01 Christian Bruel <christian.bruel@st.com>
32625
32626 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
61226dc8 32627
3c775d2d
L
326282010-03-01 H.J. Lu <hongjiu.lu@intel.com>
32629
32630 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
32631
434c8f4b
RG
326322010-03-01 Richard Guenther <rguenther@suse.de>
32633
32634 PR middle-end/43213
32635 * expr.c (expand_assignment): Use the alias-oracle to tell
32636 if the rhs aliases the result decl.
32637
291c0a12
RO
326382010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32639
32640 PR pch/14940
32641 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
32642 to sol_gt_pch_get_address.
32643 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
32644 64-bit, SPARC and x86.
32645 (sol_gt_pch_get_address): New function.
32646
61226dc8 326472010-03-01 Marco Poletti <poletti.marco@gmail.com>
894e2652
SZ
32648
32649 * toplev.h (inform_n, error_n): Declare.
32650 * diagnostic.c (inform_n, error_n): New function.
32651
6c6366f6
JJ
326522010-03-01 Jakub Jelinek <jakub@redhat.com>
32653
32654 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
32655 has no rtl yet when processing local_decls, queue it and recheck
32656 if deferred stack allocation hasn't assigned it rtl.
32657
826159e5
KK
326582010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
32659
32660 * config/sh/sh.c (unspec_bbr_uid): New.
32661 (gen_block_redirect): Use it instead of INSN_UID.
32662 (gen_far_branch): Likewise.
32663
746ecbcd
L
326642010-02-28 H.J. Lu <hongjiu.lu@intel.com>
32665
32666 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
32667 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
32668
02a9370c
RW
326692010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
32670
32671 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
32672 (Warning Options): -Wno-conversion-null is valid for
32673 Objective-C++ as well.
32674 * doc/tm.texi (Named Address Spaces): Likewise.
32675 * doc/plugins.texi (Plugins): Replace TABs with spaces.
32676 * doc/tree-ssa.texi (Tree SSA): Likewise.
32677
91ad7e13
L
326782010-02-27 H.J. Lu <hongjiu.lu@intel.com>
32679
32680 PR bootstrap/43202
32681 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
32682 by default. Don't set the default arch for
32683 i[34567]86-*-darwin*|x86_64-*-darwin*.
32684
55c4eeaa
L
326852010-02-27 H.J. Lu <hongjiu.lu@intel.com>
32686
32687 PR bootstrap/43202
32688 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
32689 default. Set the default 32bit/64bit archs with $with_arch
32690 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
32691
30bc1dca
RG
326922010-02-27 Richard Guenther <rguenther@suse.de>
32693
32694 PR tree-optimization/43186
32695 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
32696 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
32697 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
32698 unroller iterations.
32699
c6b9174f
L
327002010-02-27 H.J. Lu <hongjiu.lu@intel.com>
32701
32702 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
32703 required and i[34567]86-*-* targets don't support 64bit ISA.
32704
2743db69
EB
327052010-02-26 Eric Botcazou <ebotcazou@adacore.com>
32706
32707 PR ada/43096
32708 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
32709 the same alias set.
32710
4d16c0dc
L
327112010-02-26 H.J. Lu <hongjiu.lu@intel.com>
32712
32713 * config.gcc: Set the default arch at least to Prescott for
32714 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
32715 if SSE math is enabled.
32716
0e94b750
MLI
327172010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
32718
32719 * diagnostic.c (diagnostic_initialize): Update.
32720 (diagnostic_report_diagnostic): Test inhibit_notes_p for
32721 informative notes.
32722 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
32723 (diagnostic_inhibit_notes): New.
32724 * toplev.c (process_options): inhibit notes with -fcompare-debug.
32725
7e1542b9
MLI
327262010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
32727
32728 PR c/20631
32729 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
32730 * doc/standards.texi: Likewise.
32731 * doc/extend.texi: Likewise.
32732 * doc/trouble.texi: Likewise.
61226dc8 32733 * doc/cppopts.texi: Likewise.
7e1542b9
MLI
32734 * doc/install.texi: Likewise.
32735 * c.opt (std=c90,std=gnu90): New options.
32736 * c-opts.c (c_common_handle_option): Handle them.
32737
0b901e4c
MLI
327382010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
32739
32740 PR c/24577
32741 * c-decl.c (undeclared_variable): Use an informative note.
32742
37530014
RG
327432010-02-26 Richard Guenther <rguenther@suse.de>
32744
32745 PR tree-optimization/43186
32746 * gimple.h (gimple_fold): Remove.
32747 * gimple.c (gimple_fold): Remove. Inline into single user ...
32748 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
32749 Try harder for conditions.
32750
095c7b3c
JJ
327512010-02-26 Jakub Jelinek <jakub@redhat.com>
32752
32753 PR debug/43190
32754 * function.c (used_types_insert): Don't skip through named pointer
32755 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
32756 and it is different from the main variant's type.
32757
a1e205cf
NC
327582010-02-26 Nick Clifton <nickc@redhat.com>
32759
32760 * config/rx/rx.md (sminsi3): Remove bogus alternative.
32761
a3af5e26
L
327622010-02-26 H.J. Lu <hongjiu.lu@intel.com>
32763
32764 * config.gcc: Support --with-fpmath=sse for x86.
32765
32766 * config/i386/ssemath.h: New.
32767
32768 * doc/install.texi (--with-fpmath=sse): Documented.
32769
2f816591
RG
327702010-02-26 Richard Guenther <rguenther@suse.de>
32771
32772 PR tree-optimization/43188
32773 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
32774 vector types of over-aligned element type.
32775
7ce321b3
L
327762010-02-26 Uros Bizjak <ubizjak@gmail.com>
32777
32778 PR target/43175
32779 * config/i386/i386.c (expand_vec_perm_blend): Use correct
02d43000 32780 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
7ce321b3 32781
b55b184a
JK
327822010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
32783
32784 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
32785
e7140c8d
JJ
327862010-02-26 Jakub Jelinek <jakub@redhat.com>
32787
6764d92c
JJ
32788 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
32789 * var-tracking.c: Include diagnostic.h.
32790 (debug_dv): New function.
32791 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
32792
5a309965
JJ
32793 PR debug/43160
32794 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
32795 (add_value_chain, add_value_chains, remove_value_chain,
32796 remove_value_chains): Handle DEBUG_EXPRs.
32797 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
32798
e7140c8d
JJ
32799 PR debug/43161
32800 * regcprop.c (struct queued_debug_insn_change): New type.
32801 (struct value_data_entry): Add debug_insn_changes field.
32802 (struct value_data): Add n_debug_insn_changes field.
32803 (debug_insn_changes_pool): New variable.
32804 (free_debug_insn_changes, apply_debug_insn_changes,
32805 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
32806 (kill_value_one_regno): Call free_debug_insn_changes if needed.
32807 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
32808 fields.
32809 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
32810 changes for them.
32811 (copyprop_hardreg_forward_1): Don't call apply_change_group for
32812 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
32813 changes, call cprop_find_used_regs via note_stores.
32814 (copyprop_hardreg_forward): When copying vd from predecessor
32815 which has any queued DEBUG_INSN changes, make sure the pointers are
32816 cleared. At the end call df_analyze and then if there are any
32817 DEBUG_INSN changes queued at the end of some basic block for still
32818 live registers, apply them.
32819 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
32820
894b386f
UB
328212010-02-25 Uros Bizjak <ubizjak@gmail.com>
32822
32823 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
32824 (arm*-*-*): Ditto.
32825
3fd77630
L
328262010-02-25 H.J. Lu <hongjiu.lu@intel.com>
32827
32828 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
32829 targets. Set the default with_cpu/with_arch from arch/cpu.
32830 Allow x86-64 and native for with_cpu/with_arch.
32831
4b9c6075
NB
328322010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
32833
32834 * ebitmap.c: Change calls to verify_popcount with calls to
32835 sbitmap_verify_popcount.
32836 (ebitmap_clear_bit): Fixed map->cacheindex test and
32837 map>cache update when bit clearing results in an empty
32838 element.
32839
2fcd8e02
MM
328402010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
32841
32842 PR target/43154
32843 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
32844 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
32845 and support both V2DF and V2DI modes.
32846 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
32847 support both V2DF and V2DI modes.
32848 (general): Delete trailing whitespace from a few patterns.
32849
32850 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
32851 V2DF/V2DI interleave high/low builtins.
32852
32853 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
32854 new VSX builtins.
32855
32856 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
32857 interleave high/low functions.
32858
f61ae065
GP
328592010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
32860
32861 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
32862 #pragma extern_prefix.
32863
7d5d39bb
JJ
328642010-02-25 Jakub Jelinek <jakub@redhat.com>
32865
06796564
JJ
32866 PR debug/43166
32867 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
32868 BLKmode, assert op0 is a MEM and just adjust its mode.
32869
7d5d39bb
JJ
32870 PR debug/43165
32871 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
32872 if bitpos isn't multiple of mode's bitsize.
32873
124e0d27
MLI
328742010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
32875
32876 * c.opt (-ftemplate-depth=): New.
32877 (-ftemplate-depth-): Deprecate.
32878 * optc-gen.awk: Handle -ftemplate-depth=.
32879 * opth-gen.awk: Likewise.
32880 * c-opts.c (c_common_handle_option): Likewise.
02d43000 32881 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
124e0d27 32882
0e7750a0
JM
328832010-02-24 Jason Merrill <jason@redhat.com>
32884
32885 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
32886
c26238f4
RO
328872010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32888
32889 * cfg.c (alloc_aux_for_block): Remove inline.
32890 (alloc_aux_for_edge): Likewise.
32891
bef64e0f
RO
328922010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32893
32894 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
32895
68ba2afe
RO
328962010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32897
32898 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
32899 * config/i386/sol2-gas.h: New file.
32900 * config.gcc (i[34567]86-*-solaris2*): Use it.
32901
2d2e923f
MLI
329022010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
32903
32904 PR c/43128
32905 * c-typeck.c (ep_convert_and_check): New.
32906 (build_conditional_expr): Use it.
32907 (build_binary_op): Likewise.
32908
2e957792
JJ
329092010-02-24 Jakub Jelinek <jakub@redhat.com>
32910
a46368b2
JJ
32911 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
32912
2e957792
JJ
32913 PR debug/43150
32914 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
32915 bounds even for -O+.
32916 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
32917 expr needs to have DECL_NAME set.
32918
12a54f54
NC
329192010-02-24 Nick Clifton <nickc@redhat.com>
32920
32921 * config/mep/mep.c: Include gimple.h.
32922 (mep_function_uses_sp): Delete unused function.
32923 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
32924 parameters. Use unsigned integers to count args. Return a
32925 NULL_RTX instead of an error_mark_node. Toidy up formatting.
32926
8f40ad50
JJ
329272010-02-23 Jakub Jelinek <jakub@redhat.com>
32928
32929 PR target/43107
32930 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
32931 greater or equal to nelt instead of 2 * nelt.
32932 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
32933 with nelt - 1.
32934
a3b20e90
JM
329352010-02-23 Jason Merrill <jason@redhat.com>
32936
3adcf52c
JM
32937 PR debug/42800
32938 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
32939 in cfun->local_decls even if they have register types.
32940
a3b20e90
JM
32941 PR c++/42837
32942 * stor-layout.c (place_field): Don't warn about unnecessary
32943 DECL_PACKED if the type is packed.
32944
5ead99fa
JJ
329452010-02-23 Jakub Jelinek <jakub@redhat.com>
32946
32947 PR target/43139
32948 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
32949 GOTOFF relocs, even when the base reg isn't pic pointer.
32950
2a8e30fb
MM
329512010-02-23 Michael Matz <matz@suse.de>
32952
32953 PR debug/43077
32954 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
32955 (expand_gimple_basic_block): Generate and use debug temps if there
32956 are debug uses left after the last real use of TERed ssa names.
32957 Unlink debug immediate uses when they are expanded.
32958
38170f34
MLI
329592010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
32960
32961 PR 43123
32962 * config/i386/i386.c (override_options): Reorganise to provide
32963 better error messages.
32964
0f9c8f56
SP
329652010-02-22 Sebastian Pop <sebastian.pop@amd.com>
32966
32967 PR middle-end/43083
32968 * graphite-scop-detection.c (create_single_exit_edge): Move
32969 the call to find_single_exit_edge to....
32970 (create_sese_edges): ...here. Don't handle multiple edges
32971 exiting the function.
32972 (build_graphite_scops): Don't handle multiple edges
32973 exiting the function.
32974
329752010-02-22 Sebastian Pop <sebastian.pop@amd.com>
32976
32977 PR middle-end/43097
32978 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
32979 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
32980
329812010-02-22 Sebastian Pop <sebastian.pop@amd.com>
32982
32983 PR middle-end/43026
32984 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
32985
a98c2819
MLI
329862010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
32987
32988 PR c++/43126
32989 * c-typeck.c (convert_arguments): Print declaration location.
32990 * c-common.c (validate_nargs): Rename as
32991 builtin_function_validate_nargs.
32992 (check_builtin_function_arguments): Update.
32993
ea2edf88
RG
329942010-02-22 Richard Guenther <rguenther@suse.de>
32995
32996 PR lto/43045
32997 * tree-inline.c (declare_return_variable): Use the type of
32998 the call stmt lhs if available.
32999
669887fc
DS
330002010-02-22 Duncan Sands <baldrick@free.fr>
33001
33002 * passes.c (register_pass): Always consider all pass lists when
33003 ref_pass_instance_number is zero.
33004
9efc83f4
RG
330052010-02-22 Richard Guenther <rguenther@suse.de>
33006
33007 PR tree-optimization/42749
33008 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
33009 parameter. Do arithmetic in the original type.
33010 (update_accumulator_with_ops): Likewise.
33011 (adjust_accumulator_values): Adjust.
33012
0a88561f
AK
330132010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
33014
33015 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
33016 (QI to BLKmode splitter): New splitter.
33017
5c91eb02
L
330182010-02-22 H.J. Lu <hongjiu.lu@intel.com>
33019
33020 * config/i386/i386.c (initial_ix86_tune_features): Turn on
33021 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
33022
69e3b47f
RG
330232010-02-22 Richard Guenther <rguenther@suse.de>
33024
33025 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
5c91eb02 33026
45df0e43
HPN
330272010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
33028
33029 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
33030 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
33031 ($(T)crti.o, $(T)crtn.o): Remove rules.
33032
72bd130e
TB
330332010-02-21 Tobias Burnus <burnus@net-b.de>
33034
33035 PR fortran/35259
33036 * doc/invoke.texi (-fassociative-math): Document that this
33037 option is automatically enabled for Fortran.
33038
878ee0ab
DM
330392010-02-20 David S. Miller <davem@davemloft.net>
33040
33041 * configure.ac: Test if linker and assembler properly support
33042 GOTDATA_OP relocations.
33043 * configure: Rebuild.
33044 * config.in: Likewise.
33045 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
33046 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
33047 (movsi_high_pic): Likewise.
33048 (movdi_lo_sum_pic): Likewise.
33049 (movdi_high_pic): Likewise.
33050 (movsi_pic_gotdata_op): New pattern.
33051 (movdi_pic_gotdata_op): Likewise.
33052 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
33053 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
02d43000 33054
78c201a4
UB
330552010-02-20 Uros Bizjak <ubizjak@gmail.com>
33056
33057 PR target/43067
33058 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
33059 attribute to ssemul.
33060 (xop_mulv2div2di3_high): Ditto.
33061
17251338
MLI
330622010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
33063
33064 PR c++/35669
33065 * c.opt (Wconversion-null): New option.
33066 * doc/invoke.texi (Wconversion-null): Document.
33067
e7a84854
MLI
330682010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
33069
33070 * common.opt (Wlarger-than-): Add Undocumented.
78c201a4 33071
f233f7ed
MS
330722010-02-19 Mike Stump <mikestump@comcast.net>
33073
33074 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
33075
d88900d7
JM
330762010-02-19 Jason Merrill <jason@redhat.com>
33077
33078 PR target/40332
33079 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
33080 * configure: Likewise.
33081
715a4e08
AM
330822010-02-20 Alan Modra <amodra@gmail.com>
33083
33084 PR middle-end/42344
33085 * cgraph.h (cgraph_make_decl_local): Declare.
33086 * cgraph.c (cgraph_make_decl_local): New function.
33087 (cgraph_make_node_local): Use it.
33088 * cgraphunit.c (cgraph_function_versioning): Likewise.
33089 * ipa.c (function_and_variable_visibility): Likewise.
33090
ad3b056c
JJ
330912010-02-19 Jakub Jelinek <jakub@redhat.com>
33092
33093 PR bootstrap/43121
33094 * except.c (sjlj_emit_function_enter): Don't call
33095 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
33096 directly.
33097 * rtl.h (add_reg_br_prob_note): Remove prototype.
33098
58076e21
MLI
330992010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
33100
33101 PR 41779
33102 * c-common.c (conversion_warning): Remove widening conversions
33103 before checking the conversion of integers to reals.
33104
b42186f1
MS
331052010-02-19 Mike Stump <mikestump@comcast.net>
33106
c387e067
MS
33107 PR middle-end/43125
33108 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
33109
b42186f1
MS
33110 PR objc/43061
33111 * cgraphunit.c (process_function_and_variable_attributes): Check
33112 DECL_PRESERVE_P instead of looking up attribute "used".
33113 * ipa-pure-const.c (check_decl): Likewise.
33114 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
33115 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
33116 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
33117 instead of attribute "used".
33118 * config/sol2-c.c (solaris_pragma_init): Likewise.
33119 (solaris_pragma_fini): Likewise.
33120
8ac074e8
JJ
331212010-02-19 Jakub Jelinek <jakub@redhat.com>
33122
25c0cad4
JJ
33123 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
33124 Use XCNEW instead of xcalloc.
33125 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
33126 XNEW instead of xmalloc.
33127 (get_fields): Use XNEWVEC instead of xmalloc.
33128
e19bcb67
JJ
33129 PR debug/43084
33130 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
33131 populate vars array.
33132 (create_new_general_access): For debug stmts just reset value.
33133 (get_stmt_accesses): For accesses within debug stmts just record them
33134 using add_access_to_acc_sites instead of preventing the peeling or
33135 counting them as accesses.
33136
8ac074e8
JJ
33137 PR middle-end/42233
33138 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
33139
c7da0354
RG
331402010-02-19 Richard Guenther <rguenther@suse.de>
33141
33142 PR tree-optimization/42916
33143 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
33144 instructions.
33145
e5dfb95f
AS
331462010-02-19 Andreas Schwab <schwab@linux-m68k.org>
33147
33148 * configure.ac: Replace all uses of changequote in macro arguments
33149 with proper quoting.
33150
2bdd49f4
JJ
331512010-02-19 Jakub Jelinek <jakub@redhat.com>
33152
33153 PR middle-end/42233
33154 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
33155
604d0dbc
RG
331562010-02-19 Richard Guenther <rguenther@suse.de>
33157
33158 PR tree-optimization/42944
33159 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
33160 test for aliasing with errno.
33161
554cf330
JJ
331622010-02-19 Jakub Jelinek <jakub@redhat.com>
33163
40e90eac
JJ
33164 PR middle-end/42233
33165 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
33166 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
33167 * dojump.c: Include output.h.
33168 (inv): New inline function.
33169 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
33170 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
33171 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
33172 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
33173 argument, pass it down to other calls.
33174 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
33175 add REG_BR_PROB note to the conditional jump.
33176 * cfgexpand.c (add_reg_br_prob_note): Removed.
33177 (expand_gimple_cond): Don't call it, add the probability
33178 as last argument to jumpif_1/jumpifnot_1.
33179 * Makefile.in (dojump.o): Depend on output.h.
33180 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
33181 callers.
33182 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
33183 * stmt.c (do_jump_if_equal): Likewise.
33184 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
33185 * loop-unswitch.c (compare_and_jump_seq): Likewise.
33186 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
33187 Likewise.
33188 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
33189 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
33190 jumpifnot_1 callers.
33191 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
33192 callers.
33193 (store_expr): Adjust jumpifnot caller.
33194 (store_constructor): Adjust jumpif caller.
33195
554cf330
JJ
33196 PR middle-end/42233
33197 * gimplify.c (gimple_boolify): For __builtin_expect call
33198 gimple_boolify also on its first argument.
33199
1a242e3c
UB
332002010-02-18 Uros Bizjak <ubizjak@gmail.com>
33201
33202 * configure.ac (gnu-unique-object): Wrap regexps using [] in
33203 changequote block.
33204 (__stack_chk_fail): Ditto. Remove quadrigraphs.
33205 * configure: Regenerated.
33206
86866b28
UW
332072010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
33208
33209 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
33210 lang_hooks.types_compatible_p instead of comptypes.
33211
f4a4b582 332122010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
8168ccc0
SH
33213
33214 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
33215 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
33216 if __prefer_thumb__ is defined.
33217
746e119f
MJ
332182010-02-18 Martin Jambor <mjambor@suse.cz>
33219
33220 PR tree-optimization/43066
33221 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
33222 array with zero-sized element type.
33223
82cf0c8c
JJ
332242010-02-18 Jakub Jelinek <jakub@redhat.com>
33225
33226 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
33227 rtx, allocate struct var_loc_node here and return it to the
33228 caller, and only if it is actually needed.
33229 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
33230 move it earlier and return immediately if it returns NULL.
33231
ccb265d6
MP
332322010-02-17 Mikael Pettersson <mikpe@it.uu.se>
33233
33234 * config/sparc/gas.h: New file. Restore
33235 TARGET_ASM_NAMED_SECTION to its ELF default.
33236 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
33237 check !HAVE_GNU_AS.
33238 * config/sparc/sparc.c (sparc_elf_asm_named_section):
33239 Likewise. Add ATTRIBUTE_UNUSED to prototype.
33240 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
33241 after sparc/sysv4.h.
33242
a30f3def
DK
332432010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
33244
33245 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
33246
2f6c5b27
SB
332472010-02-17 Steven Bosscher <steven@gcc.gnu.org>
33248
33249 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
33250 patterns from predicated pattern.
33251
b5e33e04
UB
332522010-02-17 Uros Bizjak <ubizjak@gmail.com>
33253
33254 PR target/43103
33255 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
33256 for insn mnemonic suffix.
33257
a95740b3
RG
332582010-02-17 Richard Guenther <rguenther@suse.de>
33259
33260 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
33261 to loop PHI nodes.
33262
169e464e
JJ
332632010-02-17 Jakub Jelinek <jakub@redhat.com>
33264
33265 PR debug/42918
33266 * caller-save.c (save_call_clobbered_regs): If BB ends with
33267 a DEBUG_INSN, move any notes in between last real insn and the last
33268 DEBUG_INSN after the last DEBUG_INSN.
33269
5498b6d2
JR
332702010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
33271
33272 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
33273 Fix return type. Fix argument type. Explain meaning of return value.
33274
b09bae68
RG
332752010-02-16 Richard Guenther <rguenther@suse.de>
33276
33277 PR tree-optimization/41043
a691bb08 33278 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
b09bae68
RG
33279 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
33280 statements ...
33281 (vrp_visit_phi_node): ... but only for loop PHI nodes.
33282
d5dceab8 332832010-02-16 Ira Rosen <irar@il.ibm.com>
99f51320
IR
33284
33285 PR tree-optimization/43074
33286 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
33287 * tree-vect-loop.c (vect_analyze_loop_operations): Add
33288 vectorizable cycles in hybrid SLP check.
33289 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
33290
f47e08d9
RG
332912010-02-16 Richard Guenther <rguenther@suse.de>
33292
b5e33e04 33293 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
f47e08d9
RG
33294 (true_dependence): If memrefs_conflict_p computes must-alias
33295 trust it. Move TBAA check after offset-based disambiguation.
33296 (canon_true_dependence): Likewise.
33297
ec8c3978
JJ
332982010-02-16 Alexandre Oliva <aoliva@redhat.com>
33299
33300 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
33301 * doc/invoke.texi: Document it.
33302 * var-tracking.c: Include toplev.h and params.h.
33303 (vt_find_locations): Return bool indicating success. Compute
33304 hash sizes unconditionally. Check new parameter, report.
33305 (variable_tracking_main_1): Check vt_find_locations results and
33306 retry. Renamed from...
33307 (variable_tracking_main): ... this. New wrapper to preserve
33308 flag_var_tracking_assignments.
33309 * Makefile.in (var-tracking.o): Adjust dependencies.
33310
f4a4b582
EB
333112010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
33312 Jakub Jelinek <jakub@redhat.com>
3bf6b403
JH
33313
33314 PR target/42854
33315 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
33316 if weak_import attribute is present.
33317 * config/darwin.c (machopic_select_section): Likewise.
33318
a934eb2d
JR
333192010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
33320
33321 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
33322 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
33323 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
33324 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
33325
74ca3393
EB
33326 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
33327 types.
a934eb2d
JR
33328
33329 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
33330 Fix argument types.
33331
33332 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
33333 Rewrite text to refer to the names.
33334
02edd2f6
SP
333352010-02-15 Sebastian Pop <sebastian.pop@amd.com>
33336
33337 * config/i386/i386-builtin-types.def
33338 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
33339 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
33340 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
33341 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
33342 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
33343 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
33344 IX86_BUILTIN_VPERMIL2PS256.
33345 (MULTI_ARG_4_DF2_DI_I): Defined.
33346 (MULTI_ARG_4_DF2_DI_I1): Defined.
33347 (MULTI_ARG_4_SF2_SI_I): Defined.
33348 (MULTI_ARG_4_SF2_SI_I1): Defined.
33349 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
33350 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
33351 __builtin_ia32_vpermil2ps256.
33352 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
33353 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
33354 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
33355 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
33356 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
33357 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
33358 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
33359 CODE_FOR_xop_vpermil2v8sf3.
33360 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
33361 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
33362 * config/i386/xopintrin.h (_mm_permute2_pd): New.
33363 (_mm256_permute2_pd): New.
33364 (_mm_permute2_ps): New.
33365 (_mm256_permute2_ps): New.
33366
ac447f25
NC
333672010-02-15 Nick Clifton <nickc@redhat.com>
33368
d079b87f 33369 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
ac447f25
NC
33370 boolean parameters. Use emit_jump_insn when emitting a pop
33371 instruction containing a return insn.
b5e33e04
UB
33372 (push): Use 'true' rather than '1' as second parameter to F.
33373 (h8300_expand_prologue): Likewise.
33374 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
33375 (h8300_expand_epilogue): Likewise.
ac447f25 33376
313333a6
RG
333772010-02-15 Richard Guenther <rguenther@suse.de>
33378
33379 PR middle-end/43068
33380 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
33381 if that is zero.
33382
653958e8
NC
333832010-02-15 Nick Clifton <nickc@redhat.com>
33384
33385 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
33386 delta.
33387
0f667308
MP
333882010-02-14 Marco Poletti <poletti.marco@gmail.com>
33389
33390 * intl.c (fake_ngettext): New function.
33391 * intl.h (fake_ngettext): Declare.
33392 (ngettext): Define macro.
33393 * collect2.c (notice_translated): New function.
33394 (main): Use notice_translated and ngettext.
33395 * collect2.h (notice_translated): Declare.
33396
912eb5a4
SB
333972010-02-14 Steven Bosscher <steven@gcc.gnu.org>
33398
33399 * reorg.c (delete_computation): Comment fixes.
33400 * caller-save.c (setup_save_areas): Idem.
33401 * sel-sched-dump.c (dump_lv_set): Idem.
33402 * rtl.def: Idem.
33403
244e6c5c
AK
334042010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
33405
33406 * config/s390/s390.c (s390_sched_init): New function.
33407 (TARGET_SCHED_INIT): Target hook defined.
33408
9ab99933
DK
334092010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
33410 Jack Howarth <howarth@bromo.med.uc.edu>
f4a4b582 33411 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9ab99933
DK
33412
33413 PR target/42982
33414 Partial revert of unintended change in fix for PR41605.
33415 * config/darwin.h: Fix typo.
33416 * config/darwin9.h: Same.
33417
ed5bdeb6
JJ
334182010-02-11 Jakub Jelinek <jakub@redhat.com>
33419
33420 * c-pch.c (pch_init): Clear v.
33421
f432760f
SP
334222010-02-11 Sebastian Pop <sebastian.pop@amd.com>
33423
33424 PR middle-end/42930
33425 * graphite-scop-detection.c (graphite_can_represent_scev): Call
33426 graphite_can_represent_init for MULT_EXPR.
33427
334282010-02-11 Sebastian Pop <sebastian.pop@amd.com>
33429
33430 PR middle-end/42914
33431 PR middle-end/42530
33432 * graphite-sese-to-poly.c (remove_phi): New.
33433 (translate_scalar_reduction_to_array): Call remove_phi.
33434
334352010-02-11 Sebastian Pop <sebastian.pop@amd.com>
33436
33437 PR middle-end/42771
33438 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
33439 * graphite-clast-to-gimple.h (gloog): Update declaration.
33440 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
33441 * graphite-poly.h (struct poly_bb): Add missing comments.
33442 (struct scop): Add poly_scop_p field.
33443 (POLY_SCOP_P): New.
33444 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
33445 * graphite.c (graphite_transform_loops): Build the polyhedral
33446 representation for each scop before code generation.
33447 * sese.c (rename_variables_in_operand): Removed.
33448 (rename_variables_in_expr): Return the renamed expression.
33449 (rename_sese_parameters): New.
33450 * sese.h (rename_sese_parameters): Declared.
33451
6d892147
RG
334522010-02-11 Richard Guenther <rguenther@suse.de>
33453
33454 PR tree-optimization/42998
33455 * tree-ssa-pre.c (create_expression_by_pieces): Treat
33456 POINTER_PLUS_EXPR properly.
33457
04eadb13
SP
334582010-02-11 Sebastian Pop <sebastian.pop@amd.com>
33459 Changpeng Fang <changpeng.fang@amd.com>
33460
33461 PR middle-end/40886
33462 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
33463 the cost of an IV candidate when the IV is used in a test against zero.
33464
33465 * gcc.dg/tree-ssa/ivopts-3.c: New.
33466
91753e21
RG
334672010-02-11 Richard Guenther <rguenther@suse.de>
33468
33469 PR lto/41664
33470 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
33471 pointer-vs-decl case by swapping refs. Handle some cases
33472 of pointer-vs-decl disambiguations more conservatively.
33473 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
33474 to false after expanding.
33475
f68df07c
RG
334762010-02-11 Richard Guenther <rguenther@suse.de>
33477
33478 PR driver/43021
33479 * gcc.c (process_command): Handle LTO file@offset case more
33480 appropriately.
33481
d2d36740
JJ
334822010-02-11 Jakub Jelinek <jakub@redhat.com>
33483
8f6aedba
JJ
33484 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
33485 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
33486 of DEBUG_INSNs.
33487 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
33488
d2d36740
JJ
33489 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
33490 if MEM's mode size isn't DWARF2_ADDR_SIZE.
33491 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
33492 Optimize eq/ne comparisons when both arguments are known to be
33493 zero-extended.
33494 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
33495 Don't mask operands unnecessarily if they are known to be already
33496 zero-extended.
33497
56592e03
VM
334982010-02-10 Vladimir Makarov <vmakarov@redhat.com>
33499
33500 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
33501 instead of loop.
33502
5418fe84
RG
335032010-02-10 Richard Guenther <rguenther@suse.de>
33504
33505 PR tree-optimization/43017
33506 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
33507 for wrapping signed arithmetic.
33508
92e8e53a
JJ
335092010-02-10 Jakub Jelinek <jakub@redhat.com>
33510
33511 PR debug/43010
33512 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
33513 if no debug info should be emitted for it.
33514
bd55b817
KK
335152010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
33516
33517 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
33518 note when flag_exceptions is set.
33519
2ab43a52
DS
335202010-02-10 Duncan Sands <baldrick@free.fr>
33521
33522 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
33523
d977cb9c
RG
335242010-02-10 Richard Guenther <rguenther@suse.de>
33525
33526 PR c/43007
33527 * tree.c (get_unwidened): Handle constants.
33528 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
33529
563cb662
MJ
335302010-02-10 Martin Jambor <mjambor@suse.cz>
33531
33532 PR lto/42985
33533 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
33534 check for variable argument counts independently.
33535
9e3c399e
CB
335362010-02-10 Christian Bruel <christian.bruel@st.com>
33537
33538 PR target/42841
33539 * config/sh/sh.c (find_barrier): Increase length for non delayed
33540 conditional branches.
01305d24 33541
e938feb4
CB
335422010-02-10 Christian Bruel <christian.bruel@st.com>
33543
33544 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
01305d24 33545
cbb1ab10
JJ
335462010-02-10 Jakub Jelinek <jakub@redhat.com>
33547
33548 * builtins.c (set_builtin_user_assembler_name): Also handle
33549 ffs if int is smaller than word.
33550
b09495c1
VM
335512010-02-09 Vladimir Makarov <vmakarov@redhat.com>
33552
33553 PR middle-end/42973
33554 * ira-conflicts.c (get_dup): Remove.
33555 (process_reg_shuffles): Add new parameter. Use it as an
33556 additional guard for copy generation.
33557 (add_insn_allocno_copies): Rewrite.
33558
57257f0d
AM
335592010-02-09 Alexander Monakov <amonakov@ispras.ru>
33560
33561 * common.opt (fsched2-use-traces): Preserved for backward
33562 compatibility.
33563 * doc/invoke.texi: Remove the documentation about option
33564 -fsched2-use-traces.
33565 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
33566 flag_sched2_use_traces.
33567 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
33568 the backward compatibility flag section.
33569
72d182d3
RG
335702010-02-09 Richard Guenther <rguenther@suse.de>
33571
33572 PR tree-optimization/43008
33573 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
33574 make HEAP variables initialized from global memory if they
33575 are not known builtin functions.
33576 (find_func_aliases): Adjust.
33577
9605a606
RG
335782010-02-09 Richard Guenther <rguenther@suse.de>
33579
33580 PR tree-optimization/43000
33581 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
33582 arithmetic manually.
33583
8d9eca14
JJ
335842010-02-08 Jakub Jelinek <jakub@redhat.com>
33585
33586 PR tree-optimization/42931
33587 * tree-loop-linear.c (try_interchange_loops): Don't call
33588 double_int_mul if estimated_loop_iterations failed.
33589
d3545524
MJ
335902010-02-08 Martin Jambor <mjambor@suse.cz>
33591
33592 PR middle-end/42898
33593 * tree-sra.c (build_accesses_from_assign): Do not mark in
33594 should_scalarize_away_bitmap if stmt has volatile ops.
33595 (sra_modify_assign): Do not process assigns piecemeal if if stmt
33596 has volatile ops.
33597
8a9a2486
JR
335982010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
33599
33600 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
33601
7bf25dd6
AN
336022010-02-07 Adam Nemet <adambnmet@gmail.com>
33603
33604 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
33605 before the pattern.
33606
a46edbff
AP
336072010-02-07 Andrew Pinski <pinskia@gmail.com>
33608
33609 PR middle-end/42946
33610 * df-core.c (df_finish_pass): Change type of saved_flags to int.
33611
86da963e
SP
336122010-02-07 Sebastian Pop <sebastian.pop@amd.com>
33613
33614 PR middle-end/42988
33615 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
33616 to unknown_dependence.
33617 (graphite_legal_transform_dr): Handle the unknown_dependence.
33618 (graphite_carried_dependence_level_k): Same.
33619
336202010-02-07 Sebastian Pop <sebastian.pop@amd.com>
33621
33622 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
33623
997ac87b
RG
336242010-02-07 Richard Guenther <rguenther@suse.de>
33625
33626 PR middle-end/42991
33627 * expr.c (get_inner_reference): Always initialize *pbitsize.
33628
cb6b911a
RG
336292010-02-07 Richard Guenther <rguenther@suse.de>
33630
33631 PR middle-end/42956
33632 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
33633 new ARRAY_REFs on variable size element or minimal index arrays.
33634 Complete.
33635 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
33636 gimple_fold_indirect_ref.
33637
b761dbe6
RE
336382010-02-06 Richard Earnshaw <rearnsha@arm.com>
33639
33640 PR target/42957
33641 * arm.c (arm_override_options): Just return if the user has specified
33642 an invalid fpu name.
33643
b2469a9b
JM
336442010-02-03 Jason Merrill <jason@redhat.com>
33645
33646 PR c++/42870
33647 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
33648 i386_pe_maybe_record_exported_symbol.
33649
1f65437d
SE
336502010-02-05 Steve Ellcey <sje@cup.hp.com>
33651
33652 PR target/42924
33653 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
33654 (pa_delegitimize_address): New function.
33655
126edba2
OS
336562010-02-05 Ozkan Sezer <sezeroz@gmail.com>
33657
33658 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
33659 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
33660
532df904
RG
336612010-02-05 Richard Guenther <rguenther@suse.de>
33662
33663 PR lto/42762
33664 * lto-streamer-in.c (get_resolution): Deal with references
33665 to undefined functions.
33666
5c95f07b
RG
336672010-02-05 Richard Guenther <rguenther@suse.de>
33668
b5e33e04 33669 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
5c95f07b
RG
33670 (fold_const_aggregate_ref): Likewise.
33671 (ccp_fold_stmt): Substitute loads.
33672 (maybe_fold_reference): Verify types before substituting.
33673 Unshare properly.
33674 (fold_gimple_assign): Unshare properly.
b5e33e04 33675 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
5c95f07b 33676
64aa00b1
NF
336772010-02-05 Nathan Froyd <froydnj@codesourcery.com>
33678
33679 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
33680 for rs6000_gen_cell_microcode.
33681
b0f19292
RG
336822010-02-04 Richard Guenther <rguenther@suse.de>
33683
33684 PR rtl-optimization/42952
33685 * dse.c (const_or_frame_p): Remove MEM handling.
33686
f7eb48b5
NC
336872010-02-04 Nick Clifton <nickc@redhat.com>
33688
33689 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
33690 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
33691 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
33692 (mn10300_asm_output_mi_thunk): New function.
33693 (mn10300_can_output_mu_thunk): New function.
33694 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
33695 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
33696 (FUNCTION_ARG): Delete incorrect comment.
33697
2aac1924
JM
336982010-02-03 Jason Merrill <jason@redhat.com>
33699
33700 PR c++/40138
33701 * fold-const.c (operand_equal_p): Handle erroneous types.
33702
3e5f930f 337032010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
07738b87
KP
33704
33705 * config/h8300/h8300.md (can_delay): Fix attibute condition.
33706
a7f3e500
VM
337072010-02-03 Vladimir Makarov <vmakarov@redhat.com>
33708
3e5f930f 33709 PR rtl-optimization/42941
a7f3e500
VM
33710 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
33711 of xmalloc.
33712
59d49708
JM
337132010-02-03 Jason Merrill <jason@redhat.com>
33714
33715 PR c++/35652
33716 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
33717
5440c0e7
AO
337182010-02-03 Alexandre Oliva <aoliva@redhat.com>
33719
33720 PR debug/42896
02d43000 33721 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
5440c0e7
AO
33722 (cselib_reset_table): Renamed from...
33723 (cselib_reset_table_with_next_value): ... this.
33724 (cselib_get_next_uid): Renamed from...
33725 (cselib_get_next_unknown_value): ... this.
33726 * cselib.c (next_uid): Renamed from...
33727 (next_unknown_value): ... this.
33728 (cselib_clear_table): Adjust.
33729 (cselib_reset_table): Adjust. Renamed from...
33730 (cselib_reset_table_with_next_value): ... this.
33731 (cselib_get_next_uid): Adjust. Renamed from...
33732 (cselib_get_next_unknown_value): ... this.
33733 (get_value_hash): Use hash.
33734 (cselib_hash_rtx): Likewise.
33735 (new_cselib_val): Adjust. Set and dump uid.
33736 (cselib_lookup_mem): Pass next_uid as hash.
33737 (cselib_subst_to_values): Likewise.
33738 (cselib_log_lookup): Dump uid.
33739 (cselib_lookup): Pass next_uid as hash. Adjust.
33740 (cselib_process_insn): Adjust.
33741 (cselib_init): Initialize next_uid.
33742 (cselib_finish): Adjust.
33743 (dump_cselib_table): Likewise.
33744 * dse.c (canon_address): Dump value uid.
33745 * print-rtl.c (print_rtx): Print value uid.
33746 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
33747 (dvuid): New type.
33748 (dv_uid): New function, sort of renamed from...
33749 (dv_htab_hash): ... this, reimplemented in terms of it and...
33750 (dv_uid2hash): ... this. New.
33751 (variable_htab_eq): Drop excess assertions.
33752 (tie_break_pointers): Removed.
33753 (canon_value_cmp): Compare uids.
33754 (variable_post_merge_New_vals): Print uids.
33755 (vt_add_function_parameters): Adjust.
33756 (vt_initialize): Reset table. Adjust.
33757
e3c70387
RG
337582010-02-03 Richard Guenther <rguenther@suse.de>
33759
33760 PR tree-optimization/42944
b5e33e04 33761 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
e3c70387
RG
33762 (call_may_clobber_ref_p_1): Likewise. Properly handle
33763 malloc and calloc clobbering errno.
33764
4cad6dba
SB
337652010-02-03 Steven Bosscher <steven@gcc.gnu.org>
33766
33767 * doc/invoke.texi: Fix name of sched1 dump.
33768
33769 * opts.c (decode_options): Set flag_tree_switch_conversion
33770 only conditionally on optimize >= 2.
33771
33772 * gcse.c: Assorted comment fixes in pass description.
33773
693ee8cf
AG
337742010-02-03 Anthony Green <green@moxielogic.com>
33775
33776 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
33777 nop padding in order to maintain alignment of storage location of
33778 target function address.
33779 (moxie_trampoline_init): Store target function address at newly
33780 aligned location.
33781 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
33782 to 32.
33783 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
33784
bf8e3b77
RG
337852010-02-03 Richard Guenther <rguenther@suse.de>
33786
33787 PR middle-end/42927
33788 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
33789
bde17fdc
RO
337902010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
33791
33792 * config.gcc: Reenable check for obsolete targets.
33793 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
33794 mips-sgi-irix6.[0-4]*.
33795
c9c27b72
NC
337962010-02-02 Nick Clifton <nickc@redhat.com>
33797
33798 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
33799 constant size of 4 as being the same as 0.
33800 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
33801 can take values in the range 0..4.
33802
fc15bd03
JH
338032010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
33804
33805 PR java/41991
33806 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
33807 as _darwin10_Unwind_FindEnclosingFunction().
33808 * libgcc-libsystem.ver: New.
33809
6eeea7a7
VM
338102010-02-01 Vladimir Makarov <vmakarov@redhat.com>
33811
33812 PR target/41399
33813 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
33814 implicitly set registers.
33815
87d05b44
RE
338162010-02-01 Richard Earnshaw <rearnsha@arm.com>
33817
33818 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
33819 (arm_override_options): Allow automatic selection of the thread
33820 pointer register if thumb2.
33821 (legitimize_pic_address): Improve code sequences for Thumb2.
33822 (arm_call_tls_get_addr): Likewise.
33823 (legitimize_tls_address): Likewise.
33824 * arm.md (pic_load_addr_arm): Delete. Replace with ...
33825 (pic_load_addr_32bit): ... this. New named pattern.
33826 * thumb2.md (pic_load_addr_thumb2): Delete.
33827 (pic_load_dot_plus_four): Delete.
33828 (tls_load_dot_plus_four): New named pattern.
33829
cb717ac4
RO
338302010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
33831
33832 PR libgomp/29986
33833 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
33834 Document fix for TLS bug.
33835
44f89620
RG
338362010-01-31 Richard Guenther <rguenther@suse.de>
33837
33838 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
33839 conservatively correct.
33840
747b0aed
JDA
338412010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
33842
33843 PR target/42850
33844 Revert:
33845 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
33846
33847 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
33848
362c6d2f
KG
338492010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
33850
33851 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
33852
8370a62a
KT
338532010-01-31 Kai Tietz <kai.tietz@onevision.com>
33854
33855 * config.gcc: Adjust order of makefile fragments for mingw targets.
33856
61c7cbf8
RG
338572010-01-31 Richard Guenther <rguenther@suse.de>
33858
33859 PR middle-end/42898
33860 * gimplify.c (gimplify_init_constructor): For volatile LHS
33861 initialize a temporary.
33862
b0a69d20
MK
338632010-01-31 Matthias Klose <doko@ubuntu.com>
33864
33865 * configure.ac: Fix __stack_chk_fail check for cross builds configured
33866 --with-headers
33867 * configure: Regenerate.
33868
55eb4dab
EB
338692010-01-29 Eric Botcazou <ebotcazou@adacore.com>
33870
33871 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
33872 the same alias set and their sizes different constantness.
33873 (aliasing_component_refs_p): Revert 2009-10-24 change.
33874
f9e06dbc
RO
338752010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
33876
33877 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
33878 unused.
33879
eb6b98c7
RG
338802010-01-29 Richard Guenther <rguenther@suse.de>
33881
33882 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
33883 Assert we successfully updated the call.
33884
c23cd1d6
JJ
338852010-01-29 Jakub Jelinek <jakub@redhat.com>
33886
33887 PR rtl-optimization/42889
33888 * df.h (df_set_bb_dirty_nonlr): New prototype.
33889 * df-core.c (df_set_bb_dirty_nonlr): New function.
33890 * df-scan.c (df_insn_rescan): Call it instead of
33891 df_set_bb_dirty for DEBUG_INSNs.
33892
38bc76da
RG
338932010-01-29 Richard Guenther <rguenther@suse.de>
33894
33895 PR middle-end/37448
33896 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
33897 quadratic behavior in most cases.
33898
d819472d
UB
338992010-01-28 Uros Bizjak <ubizjak@gmail.com>
33900
33901 PR target/42891
33902 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
33903 in the call to gen_x86_movsicc_0_m1.
33904
3ed7d068
RG
339052010-01-28 Richard Guenther <rguenther@suse.de>
33906
33907 PR tree-optimization/42871
01305d24 33908 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3ed7d068 33909
830bc550
RG
339102010-01-28 Richard Guenther <rguenther@suse.de>
33911
33912 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
33913 into call arguments.
33914
28e5ca15
RB
339152010-01-28 Richard Guenther <rguenther@suse.de>
33916
33917 PR middle-end/42883
33918 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
33919 the forwarder if the destination is an EH landing pad.
33920
339212010-01-28 Razya Ladelsky <razya@il.ibm.com>
8adfe01d 33922
d819472d 33923 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
8adfe01d
RL
33924 block list passed to gimple_duplicate_sese_tail.
33925 (parallelize_loops): Avoid parallelization when the function
33926 has_nonlocal_label.
33927 Avoid parallelization when the preheader is IRREDUCIBLE.
33928 Try to optimize when estimated_loop_iterations_int is unresolved.
33929 Add the loop's location to the dump file.
28e5ca15 33930 * tree-cfg.c (add_phi_args_after_redirect): Remove.
8adfe01d
RL
33931 (gimple_duplicate_sese_tail): Remove the check for the latch.
33932 Redirect nexits to the exit block.
33933 Remove handling of the incoming edges to the latch.
33934 Redirect the backedge from the copied latch to the exit bb.
33935
3d952fb7
MM
339362010-01-28 Michael Matz <matz@suse.de>
33937
33938 PR target/42881
33939 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
33940 Wrap force_reg into a sequence, emit it before user.
33941
4fc2b1aa
ST
339422010-01-28 Stephen Thomas <stephen.thomas@arm.com>
33943
33944 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
33945 (arm_rev): New.
33946 (arm_legacy_rev): Likewise.
33947 (thumb_legacy_rev): Likewise.
33948
0f277ad4
JJ
339492010-01-27 Jakub Jelinek <jakub@redhat.com>
33950
33951 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
33952 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
33953 on MEM's address failed, try avoid_constant_pool_reference and
33954 recurse if it returned something different.
33955 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
33956 address, try avoid_constant_pool_reference and recurse if it
33957 returned something different.
33958 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
33959 address and avoid_constant_pool_reference returned something
33960 different, don't set have_address.
33961
fb4cbb9f
AO
339622010-01-27 Alexandre Oliva <aoliva@redhat.com>
33963
33964 PR debug/42861
33965 * var-tracking.c (val_store): Add modified argument, obey it.
33966 Adjust callers.
33967 (count_uses): Move down logging of main.
33968 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
33969 don't need resolution.
33970 (emit_notes_in_bb): Likewise.
33971
e87da263
RG
339722010-01-27 Richard Guenther <rguenther@suse.de>
33973
33974 PR middle-end/42878
33975 * tree-inline.c (remap_decl): Delay remapping of SSA name
33976 default definitions until we need them.
33977
c6d99cad
JJ
339782010-01-27 Jakub Jelinek <jakub@redhat.com>
33979
9a78eb71
JJ
33980 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
33981 (rs6000_delegitimize_address): New function.
33982
e8d8f497
JJ
33983 * config/s390/s390.c (s390_delegitimize_address): Call
33984 delegitimize_mem_from_attrs.
33985
c6d99cad
JJ
33986 PR middle-end/42874
33987 * tree-inline.c (cannot_copy_type_1): Removed.
33988 (copy_forbidden): Don't forbid copying of functions containing
33989 records/unions with variable length fields.
33990
4f6fee0f
CB
339912010-01-27 Christian Bruel <christian.bruel@st.com>
33992
33993 Revert:
33994 PR target/42841
33995 * config/sh/sh.c (find_barrier): Increase length for non delayed
33996 conditional branches.
d819472d 33997
cdf6bfb7
MK
339982010-01-27 Matthias Klose <doko@ubuntu.com>
33999
34000 * configure.ac (gnu-unique-object): Fix ldd version check.
34001 * configure: Regenerate.
34002
31b21739
RO
340032010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34004
34005 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
34006 HAVE_GNU_AS value.
34007 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
34008 Test for HAVE_GNU_AS value.
34009
dc4f0670
RO
340102010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34011
34012 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
34013 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
34014 INT64_TYPE): Define.
34015 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
34016 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
34017 INT_LEAST64_TYPE): Define.
34018 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
34019 UINT_LEAST64_TYPE): Define.
34020 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
34021 INT_FAST64_TYPE): Define.
34022 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
34023 UINT_FAST64_TYPE): Define.
34024 (INTMAX_TYPE, UINTMAX_TYPE): Define.
34025 (INTPTR_TYPE, UINTPTR_TYPE): Define.
34026 (SIG_ATOMIC_TYPE): Define.
34027
a099f7d4
RG
340282010-01-26 Richard Guenther <rguenther@suse.de>
34029
34030 * df-scan.c (df_scan_set_bb_info): Remove assert.
34031 (df_insn_rescan_debug_internal): Merge asserts.
34032 (df_install_ref): Likewise.
34033 (df_mark_reg): Use bitmap_set_range.
34034 (df_hard_reg_used_p): Remove assert.
34035 (df_hard_reg_used_count): Likewise.
34036
0d9b0371
RG
340372010-01-26 Richard Guenther <rguenther@suse.de>
34038
34039 PR rtl-optimization/42685
34040 * web.c (web_main): Ignore DEBUG_INSNs.
34041
7a241624
JR
340422010-01-26 Joern Rennecke <amylaar@spamcop.net>
34043
34044 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
34045
34046 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
34047 Fix types of fndecl and arglist parameters.
34048
3333cd50
RG
340492010-01-26 Richard Guenther <rguenther@suse.de>
34050
34051 PR middle-end/42806
34052 * tree-eh.c (unsplit_eh): Skip debug insns.
34053
7f657dde
RG
340542010-01-26 Richard Guenther <rguenther@suse.de>
34055
34056 PR tree-optimization/42250
34057 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
34058
057dd91d
JJ
340592010-01-26 Jakub Jelinek <jakub@redhat.com>
34060
34061 PR fortran/42866
34062 * omp-low.c (expand_omp_sections): Only use single_pred if
34063 l2_bb is single_pred_p.
34064
69b18163
CB
340652010-01-25 Christian Bruel <christian.bruel@st.com>
34066
34067 PR target/42841
34068 * config/sh/sh.c (find_barrier): Increase length for non delayed
34069 conditional branches.
34070 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
34071
00f88f07
DM
340722010-01-24 David S. Miller <davem@davemloft.net>
34073
31b21739 34074 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
00f88f07 34075 define if not using GAS.
31b21739 34076 * config/sparc/sparc.c (sparc_elf_asm_named_section):
00f88f07
DM
34077 Likewise. Delete SECTION_MERGE code, which is only applicable
34078 when using GAS.
34079
d147cbd9
MM
340802010-01-24 Mark Mitchell <mark@codesourcery.com>
34081
34082 PR c++/42748
34083 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
34084 mangling of va_list in system headers.
34085
a90352a0
TM
340862010-01-23 Toon Moene <toon@moene.org>
34087
34088 * tree-predcom.c (combine_chains): Return NULL, not false.
34089
e96d7dd7
JR
340902010-01-23 Joern Rennecke <amylaar@spamcop.net>
34091
34092 * tree-loop-distribution.c (distribute_loop): Fix declaration and
34093 initialization of variable res to agree with return type.
34094
65c0a517
SE
340952010-01-22 Steve Ellcey <sje@cup.hp.com>
34096
34097 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
34098 * tree-sra.c: Add include of expr.h.
34099
c47987fa
JJ
341002010-01-22 Jakub Jelinek <jakub@redhat.com>
34101
34102 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
34103 insert the debug stmt on the single non-EH edge from the stmt.
34104
002cda0a
RH
341052010-01-22 Richard Henderson <rth@redhat.com>
34106
34107 PR tree-opt/42833
34108 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
34109 the RHS until after generate_subtree_copies has insertted its
34110 code before the current statement.
34111
728d406c
JR
341122010-01-22 Joern Rennecke <amylaar@spamcop.net>
34113
34114 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
34115
45bbb86d
JR
34116 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
34117
7744b697
MJ
341182010-01-21 Martin Jambor <mjambor@suse.cz>
34119
34120 PR tree-optimization/42585
34121 * tree-sra.c (struct access): New field grp_total_scalarization.
34122 (dump_access): Dump the new field.
34123 (should_scalarize_away_bitmap): New variable.
34124 (cannot_scalarize_away_bitmap): Likewise.
34125 (sra_initialize): Allocate new bitmaps.
34126 (sra_deinitialize): Free new bitmaps.
34127 (create_access_1): New function.
34128 (create_access): Parts moved to create_access_1.
34129 (type_consists_of_records_p): New function.
34130 (completely_scalarize_record): Likewise.
34131 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
34132 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
34133 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
34134 access.
34135 (analyze_all_variable_accesses): Completely scalarize small eligible
34136 records.
34137
fff08961
MJ
341382010-01-21 Martin Jambor <mjambor@suse.cz>
34139
34140 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
34141
a288b143
AH
341422010-01-21 Andrew Haley <aph@redhat.com>
34143
d819472d
UB
34144 * gcc.c (process_command): Move lang_specific_driver before
34145 setting cc_libexec_prefix.
a288b143 34146
4e62a017
RG
341472010-01-21 Richard Guenther <rguenther@suse.de>
34148
34149 PR middle-end/19988
34150 * fold-const.c (negate_expr_p): Pretend only negative
34151 real constants are easily negatable.
34152
ebf0bf7f
JJ
341532010-01-20 Janis Johnson <janis187@us.ibm.com>
34154 Jason Merrill <jason@redhat.com>
34155
34156 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
34157 (TYPE_TRANSPARENT_AGGR): this, for union and record.
34158 * calls.c (initialize argument_information): Handle it.
34159 * c-common.c (handle_transparent_union_attribute): Use new name.
34160 * c-decl.c (finish_struct): Ditto.
34161 * c-typeck.c (type_lists_compatible_p): Ditto.
34162 (convert_for_assignment): Use new name and also handle record.
34163 * function.c (aggregate_value_p): Handle it.
34164 (pass_by_reference): Ditto.
34165 (assign_parm_data_types): Ditto.
34166 * print-tree.c (print_node): Ditto.
34167 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
34168 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
34169 * tree.c (first_field): New fn.
34170
907c6efd
DK
341712010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
34172
34173 PR target/42818
34174 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
34175 even when linking statically, for now.
34176
f827f659
AO
341772010-01-20 Alexandre Oliva <aoliva@redhat.com>
34178
34179 PR debug/42715
34180 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
34181 without a cselib val.
34182 (count_uses): Accept MO_VAL_SET with no val on stores.
34183 (add_stores): Likewise.
34184
a85caf9e
JJ
341852010-01-20 Jakub Jelinek <jakub@redhat.com>
34186
34187 * var-tracking.c (check_value_val): Add a compile time assertion.
34188 (dv_is_decl_p): Simplify.
34189 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
34190 gcc_assert if ENABLE_CHECKING.
34191
4a4d4c08
AO
341922010-01-20 Alexandre Oliva <aoliva@redhat.com>
34193
34194 PR debug/42782
34195 * var-tracking.c: Include tree-flow.h.
34196 (mem_dies_at_call): New.
34197 (dataflow_set_preserve_mem_locs): Use it.
34198 (dataflow_set_remove_mem_locs): Likewise.
34199 (dump_var): Renamed from dump_variable. Adjust all callers.
34200 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
34201 * Makefile.in (var-tracking.o): Adjust deps.
34202
50e87e30
JR
342032010-01-20 Joern Rennecke <amylaar@spamcop.net>
34204
34205 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
34206
e9a8afaa
RG
342072010-01-20 Richard Guenther <rguenther@suse.de>
34208
34209 PR tree-optimization/42717
34210 * tree-ssa-dce.c (get_live_post_dom): Remove.
34211 (forward_edge_to_pdom): Take an arbitrary edge to copy
34212 degenerate PHI args from.
34213 (remove_dead_stmt): Use the first post-dominator even if it
34214 does not contain live statements as redirection destination.
34215
be2fd187
RG
342162010-01-20 Richard Guenther <rguenther@suse.de>
34217
34218 * tree-inline.c (estimate_num_insns): Handle EH builtins.
34219
1124098b
JJ
342202010-01-20 Jakub Jelinek <jakub@redhat.com>
34221
34222 * sel-sched.c (create_speculation_check): Remove set but not used
34223 variable twin.
34224 (try_transformation_cache): Remove set but not used variable ds.
34225 (calculate_privileged_insns): Remove set but not used variables
34226 cur_insn and min_spec_insn.
34227 (find_best_expr): Remove set but not used variable avail_n.
34228 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
34229 variable e.
34230 * cgraphunit.c (assemble_thunk): Remove set but not used variable
34231 false_label.
34232 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
34233 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
34234 new_scop_exit_edge.
34235
83a5ef25
FW
342362010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
34237
34238 PR bootstrap/42786
34239 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
34240 cpu types. Add support for *-sse3 cpu types.
34241 (x86_64-*-*): Ditto.
34242
b5c0899b
JJ
342432010-01-20 Jakub Jelinek <jakub@redhat.com>
34244
34245 PR middle-end/42803
34246 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
34247 argument, call initializer_constant_valid_p_1 instead of
34248 initializer_constant_valid_p, pass CACHE to it, return NULL
34249 immediately if first call returns NULL.
34250 (initializer_constant_valid_p_1): New function.
34251 (initializer_constant_valid_p): Use it.
34252
5f8f3f94
TQ
342532010-01-20 Thomas Quinot <quinot@adacore.com>
34254
34255 * tree.def (PLACEHOLDER_EXPR): Fix comment.
34256
80c35b40
JJ
342572010-01-20 Jakub Jelinek <jakub@redhat.com>
34258
34259 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
34260 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
34261 (loc_list_from_tree): Don't handle unsigned division. Handle
34262 signed modulo using DW_OP_{over,over,div,mul,minus}.
34263 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
34264 modulo instead of signed.
34265
c72ea086
DD
342662010-01-20 DJ Delorie <dj@redhat.com>
34267
34268 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
34269 (Fpa): Pass it
34270 (h8300_emit_stack_adjustment): Propogate it.
34271 (push): Pass it.
34272 (h8300_expand_prologue): Likewise.
34273 (h8300_expand_epilogue): Likewise.
34274
b61b1f17
MM
342752010-01-19 Michael Matz <matz@suse.de>
34276
34277 PR tree-optimization/41783
34278 * tree-data-ref.c (toplevel): Include flags.h.
34279 (dump_data_dependence_relation): Also dump the inputs if the
34280 result will be unknown.
34281 (split_constant_offset_1): Look through some conversions.
34282 * tree-predcom.c (determine_roots_comp): Restart a new chain if
34283 the offset from last element is too large.
34284 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
34285 (reassociate_to_the_same_stmt): Handle vector registers.
34286 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
34287 (e.g. conversions).
31b21739 34288 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
b61b1f17
MM
34289 wide_prolog_niters argument, emit widening instructions.
34290 (vect_do_peeling_for_alignment): Adjust caller, use widened
34291 variant of the iteration cound.
34292 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
34293
b3d7e191
RR
342942010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
34295
b61b1f17
MM
34296 PR target/38697
34297 * config/arm/neon-testgen.m (emit_automatics): New parameter
b3d7e191
RR
34298 features. Adjust for Fixed_return_reg feature.
34299 (test_intrinsic): Call emit_automatics with new feature.
b61b1f17 34300 * config/arm/neon.ml: Update copyright years.
b3d7e191
RR
34301 (features): New Fixed_return_reg feature.
34302 (ops): Update feature for Vget_low.
34303
2178b0f9
JJ
343042010-01-19 Jakub Jelinek <jakub@redhat.com>
34305
d6600130
JJ
34306 PR tree-optimization/42719
34307 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
34308 stmt uses.
34309
2178b0f9
JJ
34310 PR debug/42728
34311 * fwprop.c (all_uses_available_at): Return false if def_set dest
34312 is a REG that is used in def_insn.
34313
ab7e224a
JR
343142010-01-19 Joern Rennecke <amylaar@spamcop.net>
34315
34316 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
34317
34318 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
34319 Add argument names.
34320
34321 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
34322
f7154d49
JR
34323 * target.h (struct gcc_target) <secondary_reload>: Change type
34324 of last argument to secondary_reload_info *.
34325
f249b405
UB
343262010-01-18 Uros Bizjak <ubizjak@gmail.com>
34327
34328 PR target/42774
34329 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
34330 memory references with unaligned offsets. Remove CQImode handling.
34331 (unaligned_memory_operand): Return 1 for memory references with
34332 unaligned offsets. Remove CQImode handling.
34333
e23817b3
RG
343342010-01-18 Richard Guenther <rguenther@suse.de>
34335
34336 PR middle-end/39954
34337 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
34338 builtin calls.
34339
1cfd38be
RG
343402010-01-18 Richard Guenther <rguenther@suse.de>
34341
34342 PR tree-optimization/42781
34343 * tree-ssa-structalias.c (find_what_var_points_to): Skip
b5e33e04 34344 restrict processing only if the original variable was artificial.
1cfd38be 34345
72392b81
JR
343462010-01-18 Joern Rennecke <amylaar@spamcop.net>
34347
34348 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
34349 find number of popped argument bytes.
34350
34351 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
34352 Fix the text that describes the return value for invalid insns.
34353
34354 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
34355
34356 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
34357 Clarify what 'cost of the -dependence' is. Fix quoting.
34358
0678ade0
JR
34359 * toplev.c (default_get_pch_validity): Rename argument to "sz".
34360 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
34361
e5165811
JJ
343622010-01-17 Jakub Jelinek <jakub@redhat.com>
34363
34364 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
34365 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
34366
3b3f318a
RG
343672010-01-17 Richard Guenther <rguenther@suse.de>
34368
34369 PR middle-end/42248
34370 * function.c (split_complex_args): Take a VEC to modify.
34371 (assign_parms_augmented_arg_list): Build a VEC instead of
34372 a chain of PARM_DECLs.
34373 (assign_parms_unsplit_complex): Take a VEC of arguments.
34374 Do not fixup unmodified parms.
34375 (assign_parms): Deal with the VEC.
34376 (gimplify_parameters): Likewise.
34377
8eacd016
RG
343782010-01-17 Richard Guenther <rguenther@suse.de>
34379
34380 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
34381 node existence check.
34382 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
34383 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
34384 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
34385 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
34386 (gimple_execute_on_growing_pred): Likewise.
34387
9adf0570
RG
343882010-01-17 Richard Guenther <rguenther@suse.de>
34389
34390 PR tree-optimization/42773
34391 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
34392 (compute_antic_aux): Likewise.
34393 (compute_partial_antic_aux): Likewise.
34394
a90110c3
JZ
343952010-01-17 Jie Zhang <jie.zhang@analog.com>
34396
34397 PR debug/42767
34398 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
34399 and US_TRUNCATE.
34400
914d25dc
JR
344012010-01-17 Joern Rennecke <amylaar@spamcop.net>
34402
34403 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
34404 appearance.
34405
34406 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
34407 Fix markup for strict argument.
34408
34409 (TARGET_SCHED_REORDER2): Fix argument types.
34410
34411 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
34412 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
34413
34414 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
34415 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
34416
34417 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
34418 Add argument name.
34419
34420 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
34421 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
34422 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
34423 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
34424 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
34425
34426 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
34427
34428 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
34429
34430 (TARGET_ASM_RELOC_RW_MASK): Add return type.
34431 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
34432
34433 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
34434
34435 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
34436 Use prototype.
34437
34438 (TARGET_ASM_NAMED_SECTION): Fix argument list.
34439
34440 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
34441 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
34442
34443 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
34444
34445 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
34446
34447 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
34448 referring to it. Fix language.
34449
34450 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
34451
34452 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
34453
34454 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
34455
34456 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
34457
34458 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
34459 '@var{stream}. Remove stray 'and'.
34460
34461 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
34462
34463 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
34464
34465 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
34466
31b21739 34467 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
914d25dc
JR
34468 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
34469
34470 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
34471 Fix description of return value.
34472 Rename argument "sz" to "len."
34473
34474 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
34475 Clarify meaning of 'true' return value.
34476
34477 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
34478
34479 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
34480 rep_mode versus mode_rep.
34481
34482 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
34483
34484 (TARGET_BUILTIN_DECL): Fix name.
34485
34486 (TARGET_COMMUTATIVE_P): Fix type of first argument.
34487
34488 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
34489
34490 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
34491
34492 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
34493
34494 (TARGET_RELAXED_ORDERING): Use @deftypevr.
34495
34496 (TARGET_GET_DRAP_RTX): Note that this is a hook.
34497 Clarify language.
34498
5eb7ce91
JR
34499 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
34500 Rename argument tm_fn to md_fn.
34501
d2143a2f
JR
34502 (TARGET_OPTION_PRINT): Fix argument list.
34503
8f7fd2da
HJ
345042010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
34505
34506 PR target/42664
34507 * config/i386/i386.c (ix86_fixup_binary_operands):
34508 Revert FMA4 fixup of operands.
34509
2fdb618d
RW
345102010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
34511
8b7e8529 34512 PR other/42525
2fdb618d
RW
34513 * Makefile.in (write_entries_to_file, install-plugin):
34514 Use \012 instead of \n with tr.
34515
636cf8b1
RS
345162010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
34517
34518 * configure.ac (HAVE_AS_REF): New C macro.
34519 * configure: Regenerate.
34520 * config.in: Likewise.
34521 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
34522 if HAVE_AS_REF.
34523 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
34524 if HAVE_AS_REF.
34525
b6fd8800
JR
345262010-01-16 Joern Rennecke <amylaar@spamcop.net>
34527
34528 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
34529
34530 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
34531
34532 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
34533
34534 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
34535
34536 (TARGET_IN_SMALL_DATA_P): Fix argument type.
34537
34538 (TARGET_BINDS_LOCAL_P): Fix argument type.
34539
34540 (TARGET_ASM_FILE_END): Use prototype.
34541
34542 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
34543
34544 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
34545
34546 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
34547
34548 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
34549
34550 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
34551 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
34552
34553 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
34554 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
34555
34556 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
34557 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
34558 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
34559 (TARGET_ADDR_SPACE_CONVERT): Likewise.
34560
34561 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
34562
34563 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
34564
34565 (TARGET_INIT_BUILTINS): Use prototype.
34566
34567 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
34568 Put 'const char *' in braces. Fix parameter types.
34569 (TARGET_INVALID_CONVERSION): Fix parameter types.
34570 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
34571 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
34572
34573 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
34574 Fix argument type.
34575
34576 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
34577
34578 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
34579
9ddb66ef
JR
345802010-01-15 Joern Rennecke <amylaar@spamcop.net>
34581
34582 * doc/tm.texi (TARGET_HELP): Fix return type.
34583
34584 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
34585 in braces. Fix argument types.
34586
34587 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
34588
34589 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
34590
34591 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
34592
34593 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
34594 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
34595
34596 (TARGET_MANGLE_TYPE): Fix argument types.
34597
34598 (TARGET_IRA_COVER_CLASSES): Use prototype.
34599
34600 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
34601
34602 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
34603
34604 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
34605
34606 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
34607
34608 (TARGET_CALLEE_COPIES): Fix argument types.
34609
34610 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
34611
34612 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
34613
34614 (TARGET_FUNCTION_VALUE): Fix argument types.
34615
34616 (TARGET_RETURN_IN_MSB): Fix argument type.
34617
34618 (TARGET_RETURN_IN_MEMORY): Fix argument types.
34619
34620 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
34621
34622 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
34623
34624 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
34625 agree with return type.
34626
34627 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
34628
4a62494d
JY
346292010-01-15 Jing Yu <jingyu@google.com>
34630
34631 PR rtl-optimization/42691
34632 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
34633 a pseudo to a constant and are merged, and adjust comments.
34634
a1b5171b
EB
346352010-01-15 Eric Botcazou <ebotcazou@adacore.com>
34636
34637 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
34638
1197e789
RG
346392010-01-15 Richard Guenther <rguenther@suse.de>
34640
34641 PR middle-end/42739
34642 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
34643 labels of computed or non-local gotos to the destination.
34644 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
34645 landing pad label is the first label.
34646
cbe80ff8
RG
346472010-01-15 Richard Guenther <rguenther@suse.de>
34648
34649 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
34650
c919858d
MM
346512010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
34652
34653 PR target/42747
34654 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
34655 to allow generation of the xssqrtdp instruction on power7.
34656 (sqrtdf2_fpr): Ditto.
34657
5b1cbe14
JJ
346582010-01-14 Jakub Jelinek <jakub@redhat.com>
34659
ef5d1181
JJ
34660 PR middle-end/42674
34661 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
34662 functions with noreturn attribute.
34663
5b1cbe14
JJ
34664 PR c++/42608
34665 * varasm.c (declare_weak): Add weak attribute to decl if it
34666 doesn't have one already.
34667 (assemble_external): Only add decls to weak_decls if they also
34668 have weak attribute.
34669
7d2a8452
AO
346702010-01-14 Alexandre Oliva <aoliva@redhat.com>
34671
34672 * var-tracking.c (var_reg_delete): Don't delete the association
34673 between REGs and values or one-part variables if the register
34674 isn't clobbered.
34675
d17af147
JJ
346762010-01-14 Jakub Jelinek <jakub@redhat.com>
34677
34678 PR debug/42657
34679 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
34680 because its first operand is a non-localized variable.
34681
2f3cdcf5
MJ
346822010-01-14 Martin Jambor <mjambor@suse.cz>
34683
34684 PR tree-optimization/42706
34685 * tree-sra.c (encountered_recursive_call): New variable.
34686 (encountered_unchangable_recursive_call): Likewise.
34687 (sra_initialize): Initialize both new variables.
34688 (callsite_has_enough_arguments_p): New function.
34689 (scan_function): Call decl and flags check only for IPA-SRA, check
34690 whether there is a recursive call and whether it has enough arguments.
34691 (all_callers_have_enough_arguments_p): New function.
34692 (convert_callers): Look for recursive calls only when
34693 encountered_recursive_call is set.
34694 (ipa_early_sra): Bail out either if
34695 !all_callers_have_enough_arguments_p or
34696 encountered_unchangable_recursive_call.
34697
c02e2d5c
AM
346982010-01-14 Alexander Monakov <amonakov@ispras.ru>
34699
34700 * sel-sched.c: Add 2010 to copyright years.
34701 * sel-sched-ir.c: Likewise.
34702 * sel-sched-ir.h: Likewise.
34703
92e97cdd
MJ
347042010-01-14 Martin Jambor <mjambor@suse.cz>
34705
34706 PR tree-optimization/42714
34707 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
34708 constructors specially.
34709
a0463099
AK
347102010-01-14 Andi Kleen <ak@linux.intel.com>
34711
34712 * config/i386/drivers-i386.c (detect_caches_intel):
34713 Add l2sizekb parameter and fill in.
34714 (host_detect_local_cpu): Add l2sizekb, fill in.
34715 Add Atom small cache heuristic.
34716
347172010-01-14 Andi Kleen <ak@linux.intel.com>
34718
34719 * config/i386/drivers-i386.c (detect_caches_cpuid4):
34720 Add level3 parameter and fill in.
34721 (detect_caches_intel): Handle level3 cache.
34722
347232010-01-14 Andi Kleen <ak@linux.intel.com>
34724
34725 * config/i386/drivers-i386.c (host_detect_local_cpu):
34726 Fix core duo detection.
34727
347282010-01-14 Andi Kleen <ak@linux.intel.com>
34729
34730 * config/i386/drivers-i386.c (host_detect_local_cpu):
34731 Fix Atom detection.
34732
dd6739e3
AM
347332010-01-14 Alexander Monakov <amonakov@ispras.ru>
34734
34735 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
34736 (rs6000_variable_issue_1): this. Use...
34737 (rs6000_variable_issue): here. Reimplement. Print debug info.
34738
7898b93b
AM
347392010-01-14 Alexander Monakov <amonakov@ispras.ru>
34740
a0463099
AK
34741 * sel-sched-ir.c (sel_restore_other_notes): Rename to
34742 sel_restore_notes. Update all callers. Call reemit_notes
34743 for all insns.
7898b93b 34744
65b659ff
AB
347452010-01-14 Andrey Belevantsev <abel@ispras.ru>
34746
34747 PR rtl-optimization/42246
34748 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
34749 loops.
34750
c6486552
AB
347512010-01-14 Andrey Belevantsev <abel@ispras.ru>
34752
34753 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
34754 all successors is the same as number of successors in current region.
34755
f07013eb
AM
347562010-01-14 Alexander Monakov <amonakov@ispras.ru>
34757
34758 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
34759 to rename is not separable. Otherwise check that its LHS is not NULL.
34760
a9ced68b
AM
347612010-01-14 Alexander Monakov <amonakov@ispras.ru>
34762
34763 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
34764
0c94f956
AM
347652010-01-14 Alexander Monakov <amonakov@ispras.ru>
34766
34767 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
34768 available registers when failed to discover LHS register class.
34769 Fix indentation. Update comment.
34770
136e01a3
AB
347712010-01-14 Andrey Belevantsev <abel@ispras.ru>
34772 Alexander Monakov <amonakov@ispras.ru>
34773
34774 PR rtl-optimization/42389
34775 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
34776 to can_issue_more.
34777 (advance_state_on_fence): Likewise.
34778 (sel_target_adjust_priority): Print debug output only when
34779 sched_verbose >= 4, not 2.
34780 (get_expr_cost): Do not issue all unique insns on the next cycle.
34781 (fill_insns): Initialize can_issue_more from the value saved
34782 with the fence.
34783 * sel-sched-ir.c (flist_add): New parameter issue_more.
34784 Init FENCE_ISSUE_MORE with it.
34785 (merge_fences): Likewise.
34786 (init_fences): Update call to flist_add.
34787 (add_to_fences, add_clean_fence_to_fences)
34788 (add_dirty_fence_to_fences): Likewise.
34789 (move_fence_to_fences): Update call to merge_fences.
34790 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
34791 sched groups.
34792 * sel-sched-ir.h (struct _fence): New field issue_more.
34793 (FENCE_ISSUE_MORE): New accessor macro.
34794
762bffba
AB
347952010-01-14 Andrey Belevantsev <abel@ispras.ru>
34796
34797 PR rtl-optimization/42388
34798 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
34799 that have no predecessors nor successors. Do not call move_bb_info
34800 for empty blocks outside of current region.
34801
14f30b87
AM
348022010-01-14 Alexander Monakov <amonakov@ispras.ru>
34803
34804 PR rtl-optimization/42294
34805 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
34806 * sel-sched.c (move_exprs_to_boundary): Transitively add all
34807 originators' originators.
34808
8ec4d0ad
AM
348092010-01-14 Alexander Monakov <amonakov@ispras.ru>
34810
34811 PR rtl-optimization/39453
34812 PR rtl-optimization/42246
34813 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
34814 for pipelining_p.
34815 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
34816
b59ab570
AM
348172010-01-14 Andrey Belevantsev <abel@ispras.ru>
34818 Alexander Monakov <amonakov@ispras.ru>
34819
34820 PR middle-end/42245
34821 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
34822 (maybe_tidy_empty_bb): ... here. Make static. Add new
34823 argument. Update all callers.
34824 (tidy_control_flow): ... and here. Recompute topological order
34825 of basic blocks in region if necessary.
34826 (sel_redirect_edge_and_branch): Change return type. Return true
34827 if topological order might have been invalidated.
34828 (purge_empty_blocks): Export and move from...
34829 * sel-sched.c (purge_empty_blocks): ... here.
34830 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
c02e2d5c 34831 (maybe_tidy_empty_bb): Delete prototype.
b59ab570
AM
34832 (purge_empty_blocks): Declare.
34833
f4a4b582 348342010-01-14 Andrey Belevantsev <abel@ispras.ru>
0666ff4e 34835
b59ab570 34836 PR rtl-optimization/42249
0666ff4e
AB
34837 * sel-sched.c (try_replace_dest_reg): When chosen register
34838 and original register is the same, do not bail out early, but
34839 still check all original insns for validity of replacing destination
34840 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
34841 in this case.
34842
5f8d5023
JJ
348432010-01-14 Jakub Jelinek <jakub@redhat.com>
34844
34845 PR c/42721
a0463099 34846 Port from no-undefined-overflow branch:
5f8d5023
JJ
34847 2009-03-09 Richard Guenther <rguenther@suse.de>
34848
a0463099 34849 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
5f8d5023 34850
429c98c9
RG
348512010-01-14 Richard Guenther <rguenther@suse.de>
34852
34853 PR lto/42665
b5e33e04 34854 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
429c98c9 34855
cd481d83
IR
348562010-01-14 Ira Rosen <irar@il.ibm.com>
34857
34858 PR tree-optimization/42709
34859 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
34860 as scalar type in creation of constant vector operand.
34861
453897b4
RW
348622010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
34863
34864 PR testsuite/42414
34865 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
34866 (check-parallel-%): Match `testsuite' directory component only
34867 at the end.
34868
5bc69b92
SZ
348692010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
34870
34871 PR translation/39521
34872 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
34873 strings with _().
34874
5db959b6
RG
348752010-01-13 Richard Guenther <rguenther@suse.de>
34876
34877 PR tree-optimization/42730
34878 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
34879 offset zero.
34880
9540f5ef
SE
348812010-01-13 Steve Ellcey <sje@cup.hp.com>
34882
34883 PR target/pr42542
34884 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
34885 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
34886 them signed.
34887
84fb8ff5
BS
348882010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
34889
34890 * config/bfin/libgcc-bfin.ver: Regenerate based on current
34891 libgcc-std.ver. Add entries for ___smulsi3_highpart and
34892 ___umulsi3_highpart.
34893
6cca15ea
BS
34894 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
34895 rather than schedule_insns if the pass is enabled.
34896
19656178
MJ
348972010-01-13 Martin Jambor <mjambor@suse.cz>
34898
34899 PR tree-optimization/42704
34900 * tree-sra.c (sra_modify_assign): Do not delete assignments to
34901 SSA_NAMEs.
34902
6dc93b16
MJ
349032010-01-13 Martin Jambor <mjambor@suse.cz>
34904
34905 PR tree-optimization/42703
34906 * tree-sra.c (analyze_access_subtree): Check that we can build a
34907 reference to the original data within the aggregate.
34908
1d21a8e5
RG
349092010-01-13 Richard Guenther <rguenther@suse.de>
34910
34911 PR tree-optimization/42705
b5e33e04 34912 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
1d21a8e5 34913
48f30f62
RG
349142010-01-13 Richard Guenther <rguenther@suse.de>
34915
34916 PR middle-end/42716
34917 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
34918
9e73c690
JJ
349192010-01-13 Jakub Jelinek <jakub@redhat.com>
34920
34921 PR debug/41371
34922 * var-tracking.c (values_to_unmark): New variable.
34923 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
34924 values_to_unmark vector. Moved body to...
34925 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
34926 instead queue it into values_to_unmark vector.
34927 (vt_find_locations): Free values_to_unmark vector.
34928
dc2f28c5
WG
349292010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
34930
34931 * config/s390/s390.c (override_options): Set
34932 default of max-pending-list-length to 256
34933
688a482d
RG
349342010-01-13 Richard Guenther <rguenther@suse.de>
34935
34936 PR lto/42678
34937 * tree-pass.h (PROP_gimple_lcx): New.
34938 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
34939 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
34940 before the final cleanup_eh.
34941 (dump_properties): Dump PROP_gimple_lcx.
34942 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
34943 (tree_lower_complex_O0): Remove.
34944 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
34945 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
34946 tree_lower_complex, schedule TODO_update_ssa.
34947 * lto-streamer-out.c (output_function): Stream the functions
34948 properties.
34949 * lto-streamer-in.c (input_function): Likewise.
34950 (lto_read_body): Do not override them here.
34951
e616f54d
JM
349522010-01-12 Joseph Myers <joseph@codesourcery.com>
34953
34954 PR c/42708
34955 * c-typeck.c (build_c_cast): Fold value cast to union type before
34956 wrapping it in a CONSTRUCTOR.
34957
b4ab701f
JJ
349582010-01-12 Jakub Jelinek <jakub@redhat.com>
34959
34960 PR rtl-optimization/42699
34961 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
34962 involved.
34963
4dde664f
RO
349642010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34965
34966 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
34967 SUBTARGET_WARN_UNUSED_SPEC): Move ...
34968 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
34969 SUBTARGET_WARN_UNUSED_SPEC): ... here
34970 * config/mips/iris5.h (LIBGCC_SPEC): Define.
34971
24fe19c3
JB
349722010-01-12 Julian Brown <julian@codesourcery.com>
34973
a0463099 34974 * config/arm/neon-schedgen.ml (Utils): Don't try to
24fe19c3 34975 open missing module.
a0463099 34976 (find_with_result): New.
24fe19c3 34977
082ab5ff
JJ
349782010-01-12 Jakub Jelinek <jakub@redhat.com>
34979
4942b76b
JJ
34980 PR debug/42662
34981 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
34982 sharing when canonicalizing ({lt,ge}u (plus a b) b).
34983
082ab5ff
JJ
34984 PR tree-optimization/42645
34985 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
34986 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
34987 decl_map, set processing_debug_stmt to -1 and return name without
34988 any remapping.
34989
977f7997
DK
349902010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
34991
34992 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
34993 binutils version, and reword target configuration description.
34994
2685baa1
AH
349952010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
34996
a0463099 34997 * config/avr/avr.h (LINKER_NAME): Remove.
2685baa1 34998
3767f512
JJ
349992010-01-11 Janis Johnson <janis187@us.ibm.com>
35000
35001 PR target/42416
35002 * config/rs6000/rs6000.c (rs6000_override_options): On targets
35003 that support VSX, warn for -mno-altivec if vsx is not disabled,
35004 and disable vsx.
35005
f94e1d66
JM
350062010-01-11 Joseph Myers <joseph@codesourcery.com>
35007 Shujing Zhao <pearly.zhao@oracle.com>
a0463099 35008
f94e1d66
JM
35009 PR translation/42469
35010 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
35011 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
35012 character between option name and help text.
35013 * c.opt (imultilib): Likewise.
35014
06bfe1d0
RAE
350152010-01-10 Rafael Avila de Espindola <espindola@google.com>
35016
35017 * lto-streamer-out.c (output_unreferenced_globals): Output static
35018 variables.
35019
c21f33b6
SB
350202010-01-10 Steven Bosscher <steven@gcc.gnu.org>
35021
35022 PR rtl-optimization/42621
35023 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
35024 optimizing for size.
35025 (duplicate_computed_gotos): Remove now-redundant check.
35026
30ce157e
SE
350272010-01-10 Steve Ellcey <sje@cup.hp.com>
35028
35029 PR target/37454
35030 * configure.ac: Save and restore LDFLAGS and LIBS
35031 * configure: Regenerate.
35032
ab996409
RG
350332010-01-10 Richard Guenther <rguenther@suse.de>
35034
35035 PR middle-end/42667
35036 * builtins.c (fold_builtin_strlen): Add type argument and
35037 convert the resulting length to it.
35038 (fold_builtin_1): Adjust.
35039
7234a615
JJ
350402010-01-09 Jakub Jelinek <jakub@redhat.com>
35041
35042 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
35043 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
35044 1 insn.
35045 (num_insns_constant_wide): Adjust for that change.
35046
994ae26c
AO
350472010-01-09 Alexandre Oliva <aoliva@redhat.com>
35048
35049 PR debug/42631
35050 * web.c (union_defs): Add used argument, to combine uses of
35051 uninitialized regs.
35052 (entry_register): Adjust type and tests of used argument.
35053 (web_main): Widen used for new use. Pass it to union_defs.
35054 * df.h (union_defs): Adjust prototype.
35055
60c48e4c
AO
350562010-01-09 Alexandre Oliva <aoliva@redhat.com>
35057
35058 PR debug/42630
35059 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
35060 uses in new incoming argument. Free body.
35061 (reset_debug_uses_in_loop): New.
35062 (analyze_insn_to_expand_var): Call the latter if the former found
35063 anything. Fix whitespace. Reject invalid dest overlaps before
35064 going through all insns in the loop.
35065
bb956f3e
AO
350662010-01-09 Alexandre Oliva <aoliva@redhat.com>
35067
35068 PR debug/42629
35069 * haifa-sched.c (dying_use_p): Debug insns don't count.
35070
5de8da9b
AO
350712010-01-09 Alexandre Oliva <aoliva@redhat.com>
35072
35073 PR middle-end/42363
35074 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
35075 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
35076 (verify_gimple_call): Reject LHS in noreturn calls.
35077
684f25f4
AO
350782010-01-09 Alexandre Oliva <aoliva@redhat.com>
35079
35080 PR debug/42604
35081 PR debug/42395
35082 * tree-vect-loop-manip.c (adjust_info): New type.
35083 (adjust_vec): New pointer to vector.
35084 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
35085 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
35086 (slpeel_update_phis_for_duplicate_loop): Use them.
35087 (slpeel_update_phi_nodes_for_guard1): Likewise.
35088 (slpeel_update_phi_nodes_for_guard2): Likewise.
35089 (slpeel_tree_peel_loop_to_edge): Likewise.
35090 (vect_update_ivs_after_vectorizer): Likewise.
35091
0e00563c
AO
350922010-01-09 Alexandre Oliva <aoliva@redhat.com>
35093
35094 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
35095 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
35096
0ce659eb
AO
350972010-01-09 Alexandre Oliva <aoliva@redhat.com>
35098
35099 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
35100 bogus uninitialized warning.
35101
73c865fa
RG
351022010-01-09 Richard Guenther <rguenther@suse.de>
35103
35104 PR middle-end/42512
35105 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
35106 the evolution is compatible with the initial condition.
35107
bd5c3aa5
JJ
351082010-01-09 Jakub Jelinek <jakub@redhat.com>
35109
35110 * gcc.c (process_command): Update copyright notice dates.
35111 * gcov.c (print_version): Likewise.
35112 * gcov-dump.c (print_version): Likewise.
35113 * mips-tfile.c (main): Likewise.
35114 * mips-tdump.c (main): Likewise.
35115
58f0ea2f
AH
351162010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
35117
35118 PR target/41885
2685baa1 35119 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
58f0ea2f
AH
35120 (rotlhi3): Delete.
35121 (rotlhi3_8): Delete.
35122 (rotlsi3): Delete.
35123 (rotlsi3_8): Delete.
35124 (rotlsi3_16): Delete.
35125 (rotlsi3_24): Delete.
35126 (rotl<mode>3): New.
35127 (*rotw<mode>3): New.
35128 (*rotb<mode>3): New.
2685baa1 35129 * config/avr/avr.c (avr_rotate_bytes): New function.
a0463099 35130 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
58f0ea2f 35131
601fc26e
SE
351322010-01-08 Steve Ellcey <sje@cup.hp.com>
35133
35134 PR target/37454
35135 * configure.ac: Modify -rdynamic check.
35136 * configure: Regenerate.
35137
6a62ca52
DD
351382010-01-08 DJ Delorie <dj@redhat.com>
35139
35140 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
35141 register popping order.
35142
c59449fa
RG
351432010-01-08 Richard Guenther <rguenther@suse.de>
35144
35145 PR lto/42528
35146 * c.opt (fsigned-char): Also let LTO handle this option.
35147 (funsigned-char): Likewise.
35148
f68a75df
RG
351492010-01-07 Richard Guenther <rguenther@suse.de>
35150
35151 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
35152 (gimple_op): Likewise.
35153 (gimple_op_ptr): Likewise.
35154 (gimple_assign_set_lhs): Remove gcc_assert.
35155 (gimple_assign_set_rhs1): Likewise.
35156 (gimple_assign_set_rhs2): Likewise.
35157 (gimple_call_set_lhs): Likewise.
35158 (gimple_call_set_fn): Likewise.
35159 (gimple_call_set_fndecl): Likewise.
35160 (gimple_call_fndecl): Likewise.
35161 (gimple_call_return_type): Likewise.
35162 (gimple_call_set_chain): Likewise.
35163 (gimple_call_num_args): Likewise.
35164 (gimple_call_set_arg): Likewise.
35165 (gimple_cond_set_code): Likewise.
35166 (gimple_cond_set_lhs): Likewise.
35167 (gimple_cond_set_rhs): Likewise.
35168 (gimple_cond_set_true_label): Likewise.
35169 (gimple_cond_set_false_label): Likewise.
35170 (gimple_label_set_label): Likewise.
35171 (gimple_goto_set_dest): Likewise.
35172 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
35173 (gimple_debug_bind_get_value): Likewise.
35174 (gimple_debug_bind_get_value_ptr): Likewise.
35175 (gimple_debug_bind_set_var): Likewise.
35176 (gimple_debug_bind_set_value): Likewise.
35177 (gimple_debug_bind_reset_value): Likewise.
35178 (gimple_debug_bind_has_value_p): Likewise.
35179 (gimple_return_retval_ptr): Remove gcc_assert.
35180 (gimple_return_retval): Likewise.
35181 (gimple_return_set_retval): Likewise.
35182 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
35183 (safe_referenced_var_iterator): Remove.
35184 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
35185 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
35186 (fill_referenced_var_vec): Remove.
35187 (first_readonly_imm_use): Remove redundant gcc_assert.
35188 (phi_arg_index_from_use): Combine gcc_asserts.
35189 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
35190 (first_imm_use_stmt): Remove redundant gcc_assert.
35191 * tree-cfg.c (verify_gimple_call): Verify function and chain
35192 operands. Verify arguments.
35193 (verify_types_in_gimple_stmt): Verify condition code and labels.
35194
617531d9
RG
351952010-01-07 Richard Guenther <rguenther@suse.de>
35196
35197 PR tree-optimization/42641
35198 * sese.c (rename_map_elt_info): Use the SSA name version, do
35199 not hash pointers.
35200
4139c7ef
JJ
352012010-01-07 Jakub Jelinek <jakub@redhat.com>
35202
35203 PR tree-optimization/42625
35204 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
b5e33e04 35205 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
4139c7ef 35206
01094033
DS
352072010-01-07 Duncan Sands <baldrick@free.fr>
35208
35209 * Makefile.in (PLUGIN_HEADERS): Add version.h.
35210
4b9ed9aa
UB
352112010-01-07 Uros Bizjak <ubizjak@gmail.com>
35212
35213 PR target/42511
35214 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
35215 note itself is not function_invariant_p.
35216
f50f5566
SB
352172009-01-07 Steven Bosscher <steven@gcc.gnu.org>
35218
35219 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
35220 Do not add the DF_NOTE problem.
35221 * store-motion.c (execute_rtl_store_motion): Likewise.
35222
d05fe940
MJ
352232010-01-07 Martin Jambor <mjambor@suse.cz>
35224
35225 PR tree-optimization/42157
35226 * tree-sra.c (compare_access_positions): Stabilize sort if both
35227 accesses have integer types, return zero immediately if they are the
35228 same.
35229
e67271bd
RH
352302010-01-06 Richard Henderson <rth@redhat.com>
35231
35232 PR middle-end/41883
35233 * haifa-sched.c (add_to_note_list): Merge into ...
35234 (concat_note_lists): ... here, and ...
35235 (unlink_other_notes, rm_other_notes): Merge into...
35236 (remove_notes): ... here. Create REG_SAVE_NOTEs for
a0463099 35237 NOTE_INSN_EPILOGUE_BEG.
e67271bd 35238
6209a13e
RG
352392010-01-06 Richard Guenther <rguenther@suse.de>
35240
35241 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
35242 not inline regular functions into always-inline functions.
35243
5f75e477
NC
352442010-01-06 Nick Clifton <nickc@redhat.com>
35245
35246 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
35247 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
35248 used together.
35249 (OVERRIDE_OPTIONS): Delete.
35250 (OPTIMIZATION_OPTIONS): Define.
35251 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
35252 * config/rx/rx.c (rx_handle_option): Issue an error message if
35253 -mcpu=rx200 and -fpu are used together.
35254 (rx_set_optimization_options): New function. Issue an error
35255 message if an optimization attribute attempts to reset the FPU/
35256 math optimization pairing.
35257 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
35258 * config/rx/rx.opt: Set the default to 32-bit doubles.
35259 * config/rx/t-rx: Add multilibs for -nofpu option.
35260 * doc/invoke.texi: Update documentation of RX options.
35261
13de9095
RG
352622010-01-06 Richard Guenther <rguenther@suse.de>
35263
35264 * tree-ssa-pre.c (name_to_id): New global.
35265 (alloc_expression_id): Simplify SSA name handling.
35266 (lookup_expression_id): Likewise.
35267 (init_pre): Zero name_to_id.
35268 (fini_pre): Free it.
35269
786c3fbc
UB
352702010-01-06 Uros Bizjak <ubizjak@gmail.com>
35271
35272 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
35273
fa1a4144
L
352742010-01-05 H.J. Lu <hongjiu.lu@intel.com>
35275
35276 PR target/42542
35277 * config/i386/sse.md (smaxv2di3): New.
35278 (umaxv2di3): Likewise.
35279 (sminv2di3): Likewise.
35280 (uminv2di3): Likewise.
35281
208384fd
EB
352822010-01-05 Eric Botcazou <ebotcazou@adacore.com>
35283
35284 PR target/42564
35285 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
35286 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
35287 (legitimize_tls_address): Likewise.
35288 (sparc_tls_referenced_p): Likewise.
35289 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
35290 and adjust calls to legitimize_pic_address.
35291 (legitimate_constant_p) Use sparc_tls_referenced_p.
35292 (legitimate_pic_operand_p): Likewise.
35293 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
35294 (sparc_tls_symbol_ref_1): Delete.
35295 (sparc_tls_referenced_p): Make static, recognize specific patterns.
35296 (legitimize_tls_address): Make static, handle CONST patterns.
35297 (legitimize_pic_address): Make static, remove unused parameter and
35298 adjust recursive calls.
35299 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
35300 and adjust call to legitimize_pic_address.
35301 (sparc_output_mi_thunk): Likewise.
35302
4b9ed9aa 353032010-01-05 Paolo Bonzini <bonzini@gnu.rg>
43d4b97d
L
35304 H.J. Lu <hongjiu.lu@intel.com>
35305
35306 PR target/42542
35307 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
35308 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
35309 operands to make them signed.
35310
931c6b3e
UB
35311 Revert:
35312 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
35313
35314 PR target/42542
35315 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
35316 GTU to GT for V4SI and V2DI.
35317
35318 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
35319 (umin<mode>3): Removed.
35320 (uminv8hi3): New.
43d4b97d
L
35321 (uminv4si3): Likewise.
35322
9bf4cdf5
MJ
353232010-01-05 Martin Jambor <mjambor@suse.cz>
35324
35325 PR tree-optimization/42462
35326 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
35327 current_function_decl to helper functions and macros.
35328
6a4d4e8a
RO
353292010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35330
35331 PR bootstrap/41771
35332 * flags.h: Don't include real.h.
35333 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
35334 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
35335 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
35336 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
35337 * dominance.c: Update copyright.
35338 * gimple.c (walk_gimple_op): Remove inline.
35339 * tree-ssa-reassoc.c: Include real.h.
35340 * Makefile.in (FLAGS_H): Remove $(REAL_H).
35341 (tree-ssa-reassoc.o): Depend on $(REAL_H).
35342
105249d1
NC
353432010-01-05 Nick Clifton <nickc@redhat.com>
35344
35345 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
35346 register to push into the stack frame when the accumulator has to
35347 be saved during interrupts.
35348
bc3c12a2
EF
353492010-01-05 Eric Fisher <joefoxreal@gmail.com>
35350
35351 * doc/invoke.texi: Remove the documentation about option
35352 -Wunreachable-code.
35353 * common.opt (Wunreachable-code): Preserved for backward
35354 compatibility.
35355 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
35356 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
35357 the backward compatibility flag section.
35358
1befacc8
RG
353592010-01-05 Richard Guenther <rguenther@suse.de>
35360
35361 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
35362
566f27e4
JJ
353632010-01-05 Jakub Jelinek <jakub@redhat.com>
35364
7604eb4e
JJ
35365 PR other/42611
35366 * cfgexpand.c (expand_one_var): Diagnose too large variables.
35367
566f27e4
JJ
35368 PR tree-optimization/42508
35369 * tree-sra.c (convert_callers): Check for recursive call
35370 by comparing cgraph nodes instead of decls.
35371 (modify_function): Call ipa_modify_formal_parameters also
35372 on all same_body aliases.
35373
35374 * cgraphunit.c (cgraph_materialize_all_clones): Compare
35375 cgraph nodes when checking for same_body aliases.
35376
5f5126d6
RG
353772010-01-05 Richard Guenther <rguenther@suse.de>
35378
35379 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
35380 allocation and lookup.
35381 (get_or_alloc_expr_for_constant): Likewise.
35382 (phi_translate): Sink allocation.
35383
a7d04a53
RG
353842010-01-04 Richard Guenther <rguenther@suse.de>
35385
35386 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
35387 a new entry only if needed.
35388 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
35389 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
35390 hashtable lookup.
35391 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
35392 the result array.
35393 (phi_translate): Handle CONSTANTs early.
35394
caee6ca1
MJ
353952010-01-04 Martin Jambor <mjambor@suse.cz>
35396
35397 PR tree-optimization/42398
35398 * tree-sra.c (struct access): Removed flag grp_different_types.
35399 (dump_access): Do not dump the removed flag.
35400 (sort_and_splice_var_accesses): Do not set the removed flag.
35401 (sra_modify_expr): Check for type compatibility directly.
35402
438789ff
MJ
354032010-01-04 Martin Jambor <mjambor@suse.cz>
35404
35405 PR tree-optimization/42366
35406 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
35407 edges with variable number of parameters.
35408 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
35409 flag instead of asserting it.
35410 (ipa_read_node_info): Read uses_analysis_done flag.
35411
9708c51d
RG
354122010-01-04 Richard Guenther <rguenther@suse.de>
35413
35414 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
35415 iterative_hash_* as intended.
35416 (vn_reference_compute_hash): Likewise. Simplify hashing
35417 SSA names.
35418 (vn_reference_lookup_2): Likewise.
35419 (vn_nary_op_compute_hash): Likewise.
35420 (vn_phi_compute_hash): Likewise.
35421 (expressions_equal_p): Remove strange code.
35422 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
35423 (pre_expr_hash): Likewise. Simplify hashing SSA names.
35424 (bitmap_insert_into_set_1): Take value-id as parameter.
35425 (add_to_value): Pass it.
35426 (bitmap_insert_into_set): Likewise.
35427 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
35428
94b90527
JJ
354292010-01-04 Jakub Jelinek <jakub@redhat.com>
35430
35431 PR driver/42442
35432 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
35433 (do_self_spec): For switches with SWITCH_IGNORE set set also
35434 SWITCH_IGNORE_PERMANENTLY.
35435 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
35436 of SWITCH_IGNORE.
35437
785ca514
RAE
354382010-01-04 Rafael Avila de Espindola <espindola@google.com>
35439
35440 * lto-streamer-out.c (output_unreferenced_globals): Output the full
35441 tree of an unreferenced global var.
35442
22554cf9
L
354432010-01-04 H.J. Lu <hongjiu.lu@intel.com>
35444
35445 PR target/42542
35446 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
35447 GTU to GT for V4SI and V2DI.
35448
35449 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
35450 (umin<mode>3): Removed.
35451 (uminv8hi3): New.
35452 (uminv4si3): Likewise.
35453
7152f51e
L
354542010-01-04 H.J. Lu <hongjiu.lu@intel.com>
35455
35456 PR lto/42581
35457 * collect2.c (main): Turn on trace in collect2 if -v is passed
35458 to gcc with LTO.
35459
f4262155
JQ
354602010-01-03 Jerry Quinn <jlquinn@optonline.net>
35461
35462 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
35463 description of expression operand.
35464
55bcd32b
AJ
354652010-01-03 Andrew Jenner <andrew@codesourcery.com>
35466
35467 * configure.ac: Add install-html to target_list for Make-hooks.
35468 * configure: Regenerate.
35469 * fortran/Make-lang.in (F95_HTMLFILES): New.
35470 (fortran.html): Use it.
35471 (fortran.install-html): New.
35472 * Makefile.in (install-html): Add lang.install-html.
35473 * java/Make-lang.in (JAVA_HTMLFILES): New.
35474 (java.html): Use it.
35475 (java.install-html): New.
35476 * objc/Make-lang.in (objc.install-html): New.
35477 * objcp/Make-lang.in (obj-c++.install-html): New.
35478 * cp/Make-lang.in (c++.install-html): New.
35479 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
35480 * lto/Make-lang.in (lto.install-html): New.
35481
f0d61983
L
354822010-01-03 H.J. Lu <hongjiu.lu@intel.com>
35483
35484 PR lto/42520
35485 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
35486
2ad1dda0
SB
354872009-01-03 Steven Bosscher <steven@gcc.gnu.org>
35488
35489 PR rtl-optimization/41862
35490 * store-motion.c (store_killed_in_insn, compute_store_table,
35491 remove_reachable_equiv_notes, replace_store_insn,
35492 build_store_vectors): Ignore all DEBUG_INSNs.
35493
d7fb0a6d
L
354942010-01-03 H.J. Lu <hongjiu.lu@intel.com>
35495
35496 PR lto/41564
35497 * common.opt: Add dumpdir.
35498
35499 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
35500 isn't specified.
35501 (option_map): Add --dumpdir.
35502
35503 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
35504
35505 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
35506
35507 * opts.c (decode_options): Try dump_dir_name first if
35508 dump_base_name isn't an absolute path.
35509 (common_handle_option): Handle OPT_dumpdir.
35510
35511 * toplev.c (dump_dir_name): New.
35512 (print_switch_values): Also ignore -dumpdir.
35513
35514 * toplev.h (dump_dir_name): New.
35515
ba1ee228
RG
355162010-01-03 Richard Guenther <rguenther@suse.de>
35517
35518 PR tree-optimization/42589
35519 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
35520 double-word expansion of bswap32.
35521
b0de17ef
SB
355222010-01-03 Steven Bosscher <steven@gcc.gnu.org>
35523
35524 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
35525 with BLOCK_FOR_INSN.
35526 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
35527 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
35528 noce_process_if_block): Likewise.
35529 * gcse.c (compute_local_properties, insert_expr_in_table,
35530 insert_set_in_table, canon_list_insert, find_avail_set,
35531 pre_insert_copy_insn): Likewise.
35532
35533 * basic-block.h (BLOCK_NUM): Move from here...
35534 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
35535
a19eb9d2
RG
355362010-01-03 Richard Guenther <rguenther@suse.de>
35537
35538 PR tree-optimization/42438
35539 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
35540 contains_may_not_return_call flag.
35541 (BB_MAY_NOTRETURN): New.
35542 (valid_in_sets): Trapping nary operations are not valid
35543 in blocks that may not return.
b5e33e04 35544 (insert_into_preds_of_block): Remove check for trapping expressions.
a19eb9d2
RG
35545 (compute_avail): Compute also BB_MAY_NOTRETURN.
35546
c41b7b13
GP
355472010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
35548
35549 * doc/invoke.texi: Add 2010 to copyright years.
35550
4900aa61
EB
355512010-01-03 Eric Botcazou <ebotcazou@adacore.com>
35552
35553 * config/sparc/sparc.c: Fix formatting nits.
35554
711a778c 355552010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
77102854 35556 Alexander Monakov <amonakov@ispras.ru>
711a778c
GP
35557
35558 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
35559
1d86f5e9
RG
355602010-01-02 Richard Guenther <rguenther@suse.de>
35561
35562 PR middle-end/42577
35563 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
35564 (simplify_switch_using_ranges): Mark to be removed edges
35565 as non-executable.
35566
91e1a80a
JDA
355672010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
35568
b86799ba
JDA
35569 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
35570
91e1a80a
JDA
35571 * collect2.c (scan_libraries): Add missing argument in call to
35572 scan_prog_file.
35573
355742010-01-02 Uros Bizjak <ubizjak@gmail.com>
35575
35576 PR target/42448
35577 * config/alpha/predicates.md (aligned_memory_operand): Return false
35578 for CQImode.
35579 (unaligned_memory_operand): Return true for CQImode.
35580 * config/alpha/alpha.c (get_aligned_mem): Assert that location
35581 doesn not cross aligned SImode word boundary.
35582
355832010-01-02 Anatoly Sokolov <aesok@post.ru>
35584
35585 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
35586 Remove.
35587 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
35588 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
35589
355902010-01-02 Richard Guenther <rguenther@suse.de>
35591
35592 PR lto/41597
35593 * toplev.c (compile_file): Emit LTO marker properly. Change
35594 it to __gnu_lto_v1.
35595 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
5a013dc4 35596
aecd4d81
RG
355972010-01-01 Richard Guenther <rguenther@suse.de>
35598
35599 PR debug/42455
02143d0b 35600 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
aecd4d81 35601
e4a95933
RG
356022010-01-01 Richard Guenther <rguenther@suse.de>
35603
35604 PR c/42570
35605 * c-decl.c (grokdeclarator): For zero-size arrays force
35606 structural equality checks as layout_type does.
35607
0bdf1263
L
356082010-01-01 H.J. Lu <hongjiu.lu@intel.com>
35609
35610 * builtins.c: Update copyright to 2010.
35611
91539475 356122010-01-01 H.J. Lu <hongjiu.lu@intel.com>
8589115b
DK
35613
35614 PR lto/42531
91539475 35615 * lto-streamer-out.c (produce_asm): Revert the last change.
8589115b
DK
35616 (copy_function): Likewise.
35617
91539475
L
35618 * lto-streamer.c (lto_get_section_name): Skip any leading
35619 asterisk in name.
20cdc2be 35620
91539475 356212010-01-01 Richard Guenther <rguenther@suse.de>
cf9eb565 35622
91539475
L
35623 PR middle-end/42559
35624 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
35625 for LABEL_DECLs.
ad41bd84
JM
35626
35627\f
91539475 35628Copyright (C) 2010 Free Software Foundation, Inc.
ad41bd84
JM
35629
35630Copying and distribution of this file, with or without modification,
35631are permitted in any medium without royalty provided the copyright
35632notice and this notice are preserved.