]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
install.texi: Document --enable-static-libjava.
[gcc.git] / gcc / ChangeLog
CommitLineData
a4a2c37d
MK
12011-07-16 Matthias Klose <doko@ubuntu.com>
2
3 * doc/install.texi: Document --enable-static-libjava.
4
ea6136a2
RH
52011-07-15 Richard Henderson <rth@redhat.com>
6
7 * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
8 Replace all three arguments by returning a VEC of edges.
9 (add_labels_and_missing_jumps): Accept a VEC of edges, not bare
10 pointers and counts.
11 (fix_edges_for_rarely_executed_code): Merge ...
12 (rest_of_handle_partition_blocks): ... into...
13 (partition_hot_cold_basic_blocks): ... here. Return todo items if
14 any work was performed.
15 (pass_partition_blocks): Clear todo_flags_finish.
16
6545e33e
PC
172011-07-15 Paolo Carlini <paolo.carlini@oracle.com>
18 Jakub Jelinek <jakub@redhat.com>
19 Jonathan Wakely <jwakely.gcc@gmail.com>
20
21 PR libstdc++/49745
22 * gthr-posix.h: Do not include <unistd.h> unconditionally; use
23 _GTHREADS_USE_MUTEX_TIMEDLOCK instead of _POSIX_TIMEOUTS.
24
6feeed06
JM
252011-07-15 Jason Merrill <jason@redhat.com>
26
27 PR testsuite/49741
28 * Makefile.in ($(lang_checks_parallelized)): Allow --extra_opts
29 rather than --tool_opts.
30
44762055
BS
312011-07-15 Basile Starynkevitch <basile@starynkevitch.net>
32
33 * doc/plugins.texi (Building GCC plugins): gengtype needs its
34 gtype.state.
35
1be0310c
JDA
362011-07-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
37
38 PR target/49723
39 * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.
40
12c5ffe5
EB
412011-07-15 Eric Botcazou <ebotcazou@adacore.com>
42
43 PR target/48220
44 * doc/md.texi (Standard Names): Document window_save.
45 * cfgexpand.c (expand_debug_parm_decl): New function extracted from
46 expand_debug_expr and expand_debug_source_expr. If the target has
47 a window_save instruction, adjust the ENTRY_VALUE_EXP.
48 (expand_debug_expr) <SSA_NAME>: Call expand_debug_parm_decl if the
49 SSA_NAME_VAR is a parameter.
50 (expand_debug_source_expr) <PARM_DECL>: Call expand_debug_parm_decl.
51 * var-tracking.c (parm_reg_t): New type and associated vector type.
52 (windowed_parm_regs): New variable.
53 (adjust_insn): If the target has a window_save instruction and this
54 is the instruction, make its effect on parameter registers explicit.
55 (next_non_note_insn_var_location): New function.
56 (emit_notes_in_bb): Use it instead of NEXT_INSN throughout.
57 (vt_add_function_parameter): If the target has a window_save insn,
58 adjust the incoming RTL and record that in windowed_parm_regs.
59 (vt_finalize): Free windowed_parm_regs.
60
bcead286
BS
612011-07-15 Bernd Schmidt <bernds@codesourcery.com>
62
63 * doc/invoke.texi (C6X Options): New section.
64 * doc/md.texi (TI C6X family): New section.
65 * config.gcc: Handle tic6x, in particular tic6x-*-elf and
66 tic6x-*-uclinux.
67 * longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm,
68 count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME):
69 Provide C6X definitions.
70 * config/c6x/c6x.md: New file.
71 * config/c6x/constraints.md: New file.
72 * config/c6x/predicates.md: New file.
73 * config/c6x/c6x-sched.md.in: New file.
74 * config/c6x/c6x-sched.md: New file.
75 * config/c6x/gensched.sh: New file.
76 * config/c6x/c6x-mult.md.in: New file.
77 * config/c6x/genmult.sh: New file.
78 * config/c6x/c6x-mult.md: New file.
79 * config/c6x/sync.md: New file.
80 * config/c6x/c6x-protos.h: New file.
81 * config/c6x/sfp-machine.h: New file.
82 * config/c6x/c6x.c: New file.
83 * config/c6x/c6x.h: New file.
84 * config/c6x/crti.s: New file.
85 * config/c6x/crtn.s: New file.
86 * config/c6x/lib1funcs.asm: New file.
87 * config/c6x/c6x-modes.def: New file.
88 * config/c6x/genopt.sh: New file.
89 * config/c6x/c6x.opt: New file.
90 * config/c6x/c6x-tables.opt: New file.
91 * config/c6x/c6x-opts.h: New file.
92 * config/c6x/c6x-isas.def: New file.
93 * config/c6x/elf.h: New file.
94 * config/c6x/elf-common.h: New file.
95 * config/c6x/uclinux-elf.h: New file.
96 * config/c6x/t-c6x: New file.
97 * config/c6x/t-c6x-elf: New file.
98 * config/c6x/t-c6x-uclinux: New file.
99 * config/c6x/t-c6x-softfp: New file.
100 * config/c6x/gtd.c: New file.
101 * config/c6x/gtf.c: New file.
102 * config/c6x/ltd.c: New file.
103 * config/c6x/ltf.c: New file.
104 * config/c6x/ged.c: New file.
105 * config/c6x/gef.c: New file.
106 * config/c6x/led.c: New file.
107 * config/c6x/lef.c: New file.
108 * config/c6x/eqd.c: New file.
109 * config/c6x/eqf.c: New file.
110 * config/c6x/libgcc-c6xeabi.ver: New file.
111
aef0e7a8
BS
112 Revert
113 2003-07-10 Eric Botcazou <ebotcazou@libertysurf.fr>
114 PR rtl-optimization/11320
115 * sched-int.h (struct deps) [reg_conditional_sets]: New field.
116 (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
117 * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
118 current_sched_info->compute_jump_reg_dependencies. Record which
119 registers are used and which registers are set by the jump.
120 Clear deps->reg_conditional_sets after a barrier.
121 Set deps->reg_conditional_sets if the insn is a COND_EXEC.
122 Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
123 (init_deps): Initialize reg_conditional_sets.
124 (free_deps): Clear reg_conditional_sets.
125 * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
126 Mark registers live on entry of the fallthrough block and conditionally
127 set as set by the jump. Mark registers live on entry of non-fallthrough
128 blocks as used by the jump.
129 * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
130 Mark new parameters as unused.
131
9bed2f0d
AP
1322011-07-14 Andrew Pinski <pinskia@gmail.com>
133
134 PR tree-opt/49309
135 * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
136 Use fold_build2_loc instead of build2.
137 Use the correct type for the new tree.
138
1f88caaa
BS
1392011-07-14 Bernd Schmidt <bernds@codesourcery.com>
140
141 PR rtl-optimization/11320
142 * config/ia64/ia64.md (load_symptr_low): Show a MEM.
143 * config/ia64/ia64.c (ia64_expand_load_address): Generate it.
144
d772f97c 1452011-07-14 Georg-Johann Lay <avr@gjlay.de>
1f88caaa 146
d772f97c
GJL
147 PR target/49487
148 * config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead
149 of REG.
150 (*rotw<mode>): Use const_int_operand for operand2.
151 Use match_scatch for operand3.
152 (*rotb<mode>): Ditto
153 * config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.
154
1a5d20a4
RG
1552011-07-14 Richard Guenther <rguenther@suse.de>
156
157 PR tree-optimization/49651
158 * tree-ssa-structalias.c (get_constraint_for_1): Properly
159 handle dereferences with subvariables.
160
5fbcc0ed
RG
1612011-07-14 Richard Guenther <rguenther@suse.de>
162
163 * gimple-fold.c (fold_gimple_assign): Remove operand swapping.
164 (fold_stmt_1): Do it here directly on gimple and as a first thing.
165
fbf3fee2
RG
1662011-07-14 Richard Guenther <rguenther@suse.de>
167
168 * fold-const.c (fold_binary_loc): Convert the !bool_var result,
169 not bool_var when folding bool_var != 1 or bool_var == 0.
170
b953c2b8
BS
1712011-07-14 Bernd Schmidt <bernds@codesourcery.com>
172
173 * haifa-sched.c (schedule_insns): Remove outdated comment.
174 (schedule_block): When computing a known value for TODO_SPEC,
175 just set it rather than using logical operations.
176 (try_ready): Likewise. Use a local variable rather than a
177 pointer to TODO_SPEC. Reorder an if statement to move the
178 easy case to the then block.
179 * sched-deps.c (dep_spec_p): New static function.
180 (update_dep): Use it to decide whether to call
181 change_spec_dep_to_hard.
182 (get_back_and_forw_lists): Use it.
183 (sd_resolve_dep): Likewise.
184 (init_dep): If !USE_DEPS_LIST, use zero to initialize status.
185 (haifa_note_mem_dep): Likewise.
186 (check_dep): Likewise.
187 (sd_add_dep): Also clear SPECULATIVE bits if not DO_SPECULATION.
188 (sched_free_deps): Free in two passes.
189
1f098f07
RS
1902011-07-14 Richard Sandiford <richard.sandiford@linaro.org>
191
192 PR middle-end/49736
193 * expr.c (all_zeros_p): Undo bogus part of last change.
194
73059910
MK
1952011-07-14 Matthias Klose <doko@ubuntu.com>
196
197 * doc/extend.texi (optimize attribute): Fix typo.
198
bd5d002e
RG
1992011-07-14 Richard Guenther <rguenther@suse.de>
200
201 * gimplify.c (gimplify_expr): Only do required conversions.
202
eb1dcdff
GJL
2032011-07-14 Georg-Johann Lay <avr@gjlay.de>
204
205 PR target/43746
206 * config/avr/elf.h (TARGET_ASM_SELECT_SECTION): Remove,
207 i.e. use default_elf_select_section.
208 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Remove.
209 (READONLY_DATA_SECTION_ASM_OP): Remove.
210 (TARGET_ASM_NAMED_SECTION): Move from here...
211 * config/avr/avr.c: ...to here.
212 (avr_asm_init_sections): Set unnamed callback of
213 readonly_data_section.
214 (avr_asm_named_section): Make static.
215
d31fb329
RO
2162011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
217
218 PR bootstrap/49739
219 * config.gcc (extra_parts): Add crtprec32.o crtprec64.o crtp
220 rec80.o crtfastmath.o for Linux/x86.
221
26965010
BS
2222011-07-14 Bernd Schmidt <bernds@codesourcery.com>
223
224 * haifa-sched.c: Include "hashtab.h"
225 (sched_no_dce): New global variable.
226 (INSN_EXACT_TICK, INSN_TICK_ESTIMATE, FEEDS_BACKTRACK_INSN,
227 SHADOW_P): New macros.
228 (last_clock_var, cycle_issued_insns): Move declarations.
229 (must_backtrack): New static variable.
230 (struct delay_pair): New structure.
231 (delay_htab, delay_htab_i2): New static variables.
232 (delay_hash_i1, delay_hash_i2, delay_i1_eq, delay_i2_eq,
233 record_delay_slot_pair, pair_delay, add_delay_dependencies): New
234 functions.
235 (dep_cost_1): If delay pairs exist, try to look up the insns and
236 use the correct pair delay if we find them.
237 (rank-for_schedule): Tweak priority for insns that must be scheduled
238 soon to avoid backtracking.
239 (queue_insn): Detect conditions which force backtracking.
240 (ready_add): Likewise.
241 (struct sched_block_state): Add member shadows_only_p.
242 (struct haifa_save_data): New structure.
243 (backtrack_queue): New static variable.
244 (mark_backtrack_feeds, copy_insn_list, save_backtrack_point,
245 unschedule_insns_until, restore_last_backtrack_point,
246 free_topmost_backtrack_point, free_backtrack_queue,
247 estimate_insn_tick, estimate_shadow_tick): New functions.
248 (prune_ready_list): New arg shadows_only_p. All callers changed.
249 If true, remove everything that isn't SHADOW_P. Look up delay
250 pairs and estimate ticks to avoid scheduling the first insn too
251 early.
252 (verify_shadows): New function.
253 (schedule_block): Add machinery to enable backtracking.
254 (sched_init): Take sched_no_dce into account when setting
255 DF_LR_RUN_DCE.
256 (free_delay_pairs): New function.
257 (init_h_i_d): Initialize INSN_EXACT_TICK.
258 * Makefile.in (haifa-sched.o): Add $(HASHTAB_H).
259 * sched-deps.c (sd_unresolve_dep): New function.
260 * sched-int. (struct haifa_sched_info): New fields save_state
261 and restore_state.
262 (struct _haifa_insn_data): New fields exact_tick, tick_estimate,
263 feeds_backtrack_insn and shadow_p.
264 (DO_BACKTRACKING): New value in enum SCHED_FLAGS.
265 (sched_no_dce): Declare variable.
266 (record_delay_slot_pair, free_delay_pairs, add_delay_dependencies,
267 sd_unresolve_dep): Declare functions.
268 * modulo-sched.c (sms_sched_info): Clear the two new fields.
269 * sched-rgn.c (rgn_const_sched_info): Likewise.
270 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
271 * sched-ebb.c (save_ebb_state, restore_ebb_state): New functions.
272 (ebb_sched_info): Add them for the two new fields.
273 (add_deps_for_risky_insns): Call add_delay_dependencies.
274
1db75f6c
MM
2752011-07-13 Michael Meissner <meissner@linux.vnet.ibm.com>
276
277 * config/rs6000/rs6000.opt (-mpointers-to-nested-functions):
278 Rename -mr11.
279 * config/rs6000/rs6000.c (rs6000_trampoline_init): Ditto.
280 (rs6000_call_indirect_aix): Ditto.
281 * config/rs6000/rs6000.md (call_indirect_aix<ptrsize>): Ditto.
282 (call_indirect_aix<ptrsize>_internal): Ditto.
283 (call_indirect_aix<ptrsize>_nor11): Ditto.
284 (call_indirect_aix<ptrsize>_internal2): Ditto.
285 (call_value_indirect_aix<ptrsize>): Ditto.
286 (call_value_indirect_aix<ptrsize>_internal): Ditto.
287 (call_value_indirect_aix<ptrsize>_nor11): Ditto.
288 (call_value_indirect_aix<ptrsize>_internal2): Ditto.
289 * doc/invoke.texi (RS/6000 and PowerPC Options): Ditto.
290
e2995714
JM
2912011-07-13 Jason Merrill <jason@redhat.com>
292
293 * Makefile.in ($(lang_checks_parallelized)): Allow --tool_opts.
294
4dfe3ad5
UW
2952011-07-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
296
297 * config/spu/spu.c (spu_init_libfuncs): Install __clrsbdi2.
298 * config/spu/spu.md ("clrsb<mode>2"): New expander.
299
dddc6762
TS
3002011-07-13 Thomas Schwinge <thomas@schwinge.name>
301
302 * acinclude.m4 (gcc_GAS_CHECK_FEATURE): Use AS_ECHO instead of echo.
303 * configure: Regenerate.
304
b4d80e56
UW
3052011-07-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
306
307 * config/spu/spu.c (TARGET_ASM_FILE_START): Do not define.
308 (asm_file_start): Remove.
309 (spu_machine_dependent_reorg): Call compute_bb_for_insn and
310 free_bb_for_insn around code that modifies insns before
311 restarting df analysis.
312
9e34e53f
RO
3132011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
314
315 PR target/49541
316 * config/sol2.h (LIB_SPEC): Simplify.
317 Move LIB_THREAD_LDFLAGS_SPEC ...
318 (LINK_SPEC): ... here.
319
51564684
BS
3202011-07-13 Bernd Schmidt <bernds@codesourcery.com>
321
322 * haifa-sched.c (struct sched_block_state): New.
323 (schedule_block): Move some local variables into such a structure.
324
b3fe1584
RO
3252011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
326
327 * config/i386/crtprec.c: Move to ../libgcc/config/i386.
328 * config/i386/t-crtpc: Remove.
329 * config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
330 * config.gcc (i[34567]86-*-darwin*): Remove i386/t-crtpc from
331 tmake_file.
332 (x86_64-*-darwin*): Likewise.
333 (i[34567]86-*-linux*): Likewise.
334 (x86_64-*-linux*): Likewise.
335
336 * config/i386/sol2.h (ENDFILE_SPEC): Redefine.
337 Handle -mpc32, -mpc64, -mpc80.
338
35d8090d
RO
3392011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
340
341 * config/alpha/crtfastmath.c: Move to ../libgcc/config/alpha.
342 * config/alpha/t-crtfm: Remove.
343 * config/i386/crtfastmath.c: Move to ../libgcc/config/i386.
344 * config/i386/t-crtfm: Remove.
345 * config/ia64/crtfastmath.c: Move to ../libgcc/config/ia64.
346 * config/mips/crtfastmath.c: Move to ../libgcc/config/mips.
347 * config/sparc/crtfastmath.c: Move to ../libgcc/config/sparc.
348 * config/sparc/t-crtfm: Remove.
349
350 * config.gcc (alpha*-*-linux*): Remove alpha/t-crtfm from tmake_file.
351 (alpha*-*-freebsd*): Likewise.
352 (i[34567]86-*-darwin*): Remove i386/t-crtfm from tmake_file.
353 (x86_64-*-darwin*): Likewise.
354 (i[34567]86-*-linux*): Likewise.
355 (x86_64-*-linux*): Likewise.
356 (x86_64-*-mingw*): Likewise.
357 (ia64*-*-elf*): Remove crtfastmath.o from extra_parts.
358 (ia64*-*-freebsd*): Likewise.
359 (ia64*-*-linux*): Likewise.
360 (mips64*-*-linux*): Likewise.
361 (mips*-*-linux*): Likewise.
362 (sparc-*-linux*): Remove sparc/t-crtfm from tmake_file.
363 (sparc64-*-linux*): Likewise.
364 (sparc64-*-freebsd*): Likewise.
365
e141542e
RO
3662011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
367
368 * config/darwin-crt2.c: Move to ../libgcc/config/rs6000.
369 * config/darwin-crt3.c: Move to ../libgcc/config.
370 * config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
371 ($(T)crt3$(objext)): Remove.
372 * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Remove.
373 ($(T)crt2$(objext)): Remove.
374 * config.gcc (powerpc-*-darwin*): Remove extra_parts.
375 (powerpc64-*-darwin*): Likewise.
376
72fbc381
L
3772011-07-13 H.J. Lu <hongjiu.lu@intel.com>
378
379 * config/i386/i386.c (x86_output_mi_thunk): Support ptr_mode
380 != Pmode.
381
382 * config/i386/i386.md (*addsi_1_zext): Renamed to ...
383 (addsi_1_zext): This.
384
727a65e6
BS
3852011-07-13 Bernd Schmidt <bernds@codesourcery.com>
386
387 * doc/tm.texi.in (TARGET_ASM_MERGEABLE_RODATA_PREFIX): Add hook.
388 * doc/tm.texi: Regenerate.
389 * target.def (mergeable_rodata_prefix: New defhookpod.
390 * varasm.c (mergeable_string_section, mergeable_constant_section):
391 Use it. Allocate name with alloca.
392
cb77b6cf
L
3932011-07-13 H.J. Lu <hongjiu.lu@intel.com>
394
395 * doc/invoke.texi (x86): Remove -mfused-madd and add -mfma.
396
36fc3799
RS
3972011-07-13 Richard Sandiford <richard.sandiford@linaro.org>
398
399 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Tighten
400 overlap check.
401
953d0c90
RS
4022011-07-13 Richard Sandiford <richard.sandiford@linaro.org>
403
404 * tree.h (categorize_ctor_elements): Remove comment. Fix long line.
405 (count_type_elements): Delete.
406 (complete_ctor_at_level_p): Declare.
407 * expr.c (flexible_array_member_p): New function, split out from...
408 (count_type_elements): ...here. Make static. Replace allow_flexarr
409 parameter with for_ctor_p. When for_ctor_p is true, return the
410 number of elements that should appear in the top-level constructor,
411 otherwise return an estimate of the number of scalars.
412 (categorize_ctor_elements): Replace p_must_clear with p_complete.
413 (categorize_ctor_elements_1): Likewise. Use complete_ctor_at_level_p.
414 (complete_ctor_at_level_p): New function, borrowing union logic
415 from old categorize_ctor_elements_1.
416 (mostly_zeros_p): Return true if the constructor is not complete.
417 (all_zeros_p): Update call to categorize_ctor_elements.
418 * gimplify.c (gimplify_init_constructor): Update call to
419 categorize_ctor_elements. Don't call count_type_elements.
420 Unconditionally prevent clearing for variable-sized types,
421 otherwise rely on categorize_ctor_elements to detect
422 incomplete initializers.
423
9111c715
RG
4242011-07-13 Richard Guenther <rguenther@suse.de>
425
426 * tree-vrp.c (simplify_conversion_using_ranges): Make sure
427 the final type is integral.
428
a19af9c4
BS
4292011-07-13 Bernd Schmidt <bernds@codesourcery.com>
430
431 * sched-int.h (struct _dep): Add member cost.
432 (DEP_COST, UNKNOWN_DEP_COST): New macros.
433 * sched-deps.c (init_dep_1): Initialize DEP_COST.
434 * haifa-sched.c (dep_cost_1): Use and set DEP_COST.
435 (sched_change_pattern): Reset it for dependent insns.
436
2d1efe2d
RO
4372011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
438
439 * Makefile.in (CRT0STUFF_T_CFLAGS): Remove.
440 ($(T)crt0.o, $(T)mcrt0.o, s-crt0): Remove.
441 * config/i386/netware-crt0.c: Move to ../libgcc/config/i386.
442 * config/i386/t-nwld (CRTSTUFF_T_CFLAGS, CRT0STUFF_T_CFLAGS): Remove.
443 (CRT0_S, MCRT0_S): Remove.
444 ($(T)libgcc.def, $(T)libc.def, $(T)libcpre.def, $(T)posixpre.def):
445 Remove.
446 (s-crt0): Remove.
447 * config.gcc (i[3456x]86-*-netware*): Remove extra_parts.
448
e84a58ff
EB
4492011-07-12 Eric Botcazou <ebotcazou@adacore.com>
450
451 * cse.c (insert_with_costs): Put semi-colon after empty loop body
452 on the next line.
453 * emit-rtl.c (push_to_sequence): Likewise.
454 * haifa-sched.c (max_issue): Likewise.
455 * matrix-reorg.c (add_allocation_site): Likewise.
456 * postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
457 * reload.c (alternative_allows_const_pool_ref): Likewise.
458 * sched-rgn.c (rgn_add_block): Likewise.
459 (rgn_fix_recovery_cfg): Likewise.
460 * tree.c (attribute_list_contained): Likewise.
461
3a4ffde6
UB
4622011-07-12 Uros Bizjak <ubizjak@gmail.com>
463
464 * config/i386/i386.c: Tidy processor feature bitmasks.
465 (m_P4_NOCONA): New.
466
10b75750
AP
4672011-07-12 Andrew Pinski <pinskia@gmail.com>
468
469 PR rtl-opt/49474
470 * cprop.c (find_implicit_sets): Correct the condition.
471
4f42d714
RH
4722011-07-12 Richard Henderson <rth@redhat.com>
473
474 PR target/49713
475 * dwarf2out.h (dwarf_frame_regnum): Remove.
476 * dwarf2out.c (based_loc_descr): Revert last change. Initialize regno
477 earlier from DWARF_FRAME_REGNUM. Never use dbx_reg_number.
478 * dwarf2cfi.c (dw_stack_pointer_regnum, dw_frame_pointer_regnum): New.
479 (execute_dwarf2_frame): Initialize them.
480 (DW_STACK_POINTER_REGNUM, DW_FRAME_POINTER_REGNUM): Remove; replace
481 users of the macros with the variables.
482 (expand_builtin_dwarf_sp_column): Revert last change.
483 (expand_builtin_init_dwarf_reg_sizes): Likewise. Compute the
484 result of DWARF_FRAME_REGNUM into a local variable.
485
3a5e4ad6
RH
4862011-07-12 Richard Henderson <rth@redhat.com>
487
488 PR target/49714
489 * config/i386/i386.c (x86_output_mi_thunk): Use
490 machopic_indirect_call_target instead of machopic_indirection_name
491 directly.
492
9e9bd455
LG
4932011-07-12 Laurent GUERBY <laurent@guerby.net>
494 Eric Botcazou <ebotcazou@adacore.com>
495
496 * prefix.h: Wrap up in extern "C" block.
497
4d652a18
HJ
4982011-07-12 Harsha Jagasia <harsha.jagasia@amd.com>
499
500 AMD bdver2 Enablement
501 * config.gcc (i[34567]86-*-linux* | ...): Add bdver2.
502 (case ${target}): Add bdver2.
503 * config/i386/driver-i386.c (host_detect_local_cpu): Let
504 -march=native recognize bdver2 processors.
505 * config/i386/i386-c.c (ix86_target_macros_internal): Add
506 bdver2 def_and_undef
507 * config/i386/i386.c (struct processor_costs bdver2_cost): New
508 bdver2 cost table.
509 (m_BDVER2): New definition.
510 (m_AMD_MULTIPLE): Includes m_BDVER2.
511 (initial_ix86_tune_features): Add bdver2 tuning.
512 (processor_target_table): Add bdver2 entry.
513 (static const char *const cpu_names): Add bdver2 entry.
514 (ix86_option_override_internal): Add bdver2 instruction sets.
515 (ix86_issue_rate): Add bdver2.
516 (ix86_adjust_cost): Add bdver2.
517 (has_dispatch): Add bdver2.
518 * config/i386/i386.h (TARGET_BDVER2): New definition.
519 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_bdver2.
520 (enum processor_type): Add PROCESSOR_BDVER2.
521 * config/i386/i386.md (define_attr "cpu"): Add bdver2.
522 * config/i386/i386.opt ( mdispatch-scheduler): Add bdver2 to
523 description.
524
5756d08c
RH
5252011-07-12 Richard Henderson <rth@redhat.com>
526
527 PR target/49714
528 * config/i386/i386.c (x86_output_mi_thunk): Fix mode for
529 destination address in memory on some paths.
530
123148b5
BS
5312011-07-12 Bernd Schmidt <bernds@codesourcery.com>
532
533 * doc/tm.texi.in (FUNCTION_ARG_PADDING): Mention
534 TARGET_FUNCTION_ARG_ROUND_BOUNDARY.
535 (TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Add hook.
536 * function.c (locate_and_pad_parm): Take it into account.
537 * target.def (function_arg_round_boundary): New hook.
538 * targhooks.c (default_function_arg_round_boundary): New function.
539 * targhooks.h (default_function_arg_round_boundary): Declare.
540 * doc/tm.texi: Regenerate.
541
b7a83ad8
RG
5422011-07-12 Richard Guenther <rguenther@suse.de>
543
544 * tree-ssa-copyrename.c (rename_ssa_copies): Zero statistics.
545 Do not perform no-op changes.
546
12c4ecb1
RS
5472011-07-12 Richard Sandiford <richard.sandiford@linaro.org>
548
549 * config/arm/predicates.md (neon_struct_operand): Make a normal
550 predicate.
551 (neon_struct_or_register_operand): New predicate.
552 * config/arm/neon.md (movmisalign<mode>): Replace predicates
553 with neon_struct_or_register_operand.
554 (*movmisalign<mode>_neon_store, *movmisalign<mode>_neon_load): Use
555 neon_struct_operand instead of memory_operand.
556
ab079773
MJ
5572011-07-12 Martin Jambor <mjambor@suse.cz>
558
559 * cgraph.h (cgraph_get_node_or_alias): Removed declaration.
560 * cgraph.c (cgraph_get_node_or_alias): Removed.
561 (change_decl_assembler_name): Changed all calls to
562 cgraph_get_node_or_alias to a call to cgraph_get_node.
563 (cgraph_make_decl_local): Likewise.
564 * lto-symtab.c (lto_symtab_resolve_symbols): Likewise.
565 * varasm.c (default_binds_local_p_1): Likewise.
566 (decl_binds_to_current_def_p): Likewise.
567
d5fed62d
JJ
5682011-07-12 Jakub Jelinek <jakub@redhat.com>
569
570 PR tree-optimization/49712
571 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Handle TARGET_MEM_REF.
572
c0b6224a
BS
5732011-07-11 Bernd Schmidt <bernds@codesourcery.com>
574
575 * genautomata.c (add_arc): Return void. All callers changed.
576 (make_automaton): Remove dead code.
577
7263c6d7
RH
5782011-07-11 Richard Henderson <rth@redhat.com>
579
580 * dwarf2cfi.c (DW_STACK_POINTER_REGNUM): New.
581 (DW_FRAME_POINTER_REGNUM): New.
582 (expand_builtin_init_dwarf_reg_sizes): Use unsigned for rnum.
583 (def_cfa_1): Do not convert reg to DWARF_FRAME_REGNUM here.
584 (dwf_regno): New.
585 (dwarf2out_flush_queued_reg_saves, dwarf2out_frame_debug_def_cfa,
586 dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_register,
587 dwarf2out_frame_debug_cfa_expression, dwarf2out_frame_debug_expr):
588 Use it.
589 * dwarf2out.c (based_loc_descr): Use dwarf_frame_regnum.
590 * dwarf2out.h (dwarf_frame_regnum): New.
591 (struct cfa_loc): Document the domain of the reg member.
592
f9610d20
UB
5932011-07-11 Uros Bizjak <ubizjak@gmail.com>
594
595 * config/i386/i386.c (ix86_trampoline_init): Switch arms of if expr.
596 Use offset everywhere. Always assert that offset <= TRAMPOLINE_SIZE.
597
96ae7458
JJ
5982011-07-11 Jakub Jelinek <jakub@redhat.com>
599
600 PR debug/49676
601 * dwarf2out.c (int_shift_loc_descriptor): New function.
602 (int_loc_descriptor): If shorter, emit i as
603 (i >> shift), shift, DW_OP_shl for suitable shift value.
604 Similarly, try to optimize large negative values using
605 DW_OP_neg of a positive value if shorter.
606 (size_of_int_shift_loc_descriptor): New function.
607 (size_of_int_loc_descriptor): Adjust to match int_loc_descriptor
608 changes.
609 (mem_loc_descriptor) <case CONST_INT>: Emit zero-extended constants
610 that fit into DWARF2_ADDR_SIZE bytes as int_loc_descriptor +
611 DW_OP_GNU_convert instead of DW_OP_GNU_const_type if the former
612 is shorter.
613 (resolve_addr_in_expr): Optimize DW_OP_plus_uconst with a large
614 addend as added DW_OP_plus if it is shorter.
615
feffaec4
RO
6162011-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
617
618 * config/i386/sol2.h [!USE_GLD] (CTORS_SECTION_ASM_OP): Define.
619 (DTORS_SECTION_ASM_OP): Define.
620
2d8d5935
RO
6212011-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
622
623 * config/dfp-bit.c, config/dfp-bit.h: Move to ../libgcc.
624 * config/t-dfprules: Move to ../libgcc/config.
625 * config.gcc (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
626 i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
627 i[34567]86-*-kopensolaris*-gnu): Remove t-dfprules from tmake_file.
628 (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
629 Likewise.
630 (i[34567]86-*-cygwin*): Likewise.
631 (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
632 (powerpc-*-linux*, powerpc64-*-linux*): Likewise.
633 * Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): Remove.
634 (libgcc.mvars): Remove DFP_ENABLE, DFP_CFLAGS, D32PBIT_FUNCS,
635 D64PBIT_FUNCS, D128PBIT_FUNCS.
636
dcc95c20
RG
6372011-07-11 Richard Guenther <rguenther@suse.de>
638
639 * tree-vrp.c (simplify_conversion_using_ranges): Manually
640 translate the source value-range through the conversion chain.
641
28164eed
RS
6422011-07-11 Richard Sandiford <richard.sandiford@linaro.org>
643
644 * expr.c (expand_expr_real_1): Use expand_insn for movmisalign.
645
f3054223
AL
6462011-07-11 Arthur Loiret <aloiret@debian.org>
647
648 * config.gcc (s390-*-linux*): If 'enabled_targets' is 'all', build
649 a bi-arch compiler defaulting to 31-bit. In this case:
650 (tmake_file): Add s390/t-linux64.
651 * doc/install.texi: Add s390-linux to the list of targets supporting
652 --enable-targets=all.
653
bd5ab709
AL
6542011-07-11 Arthur Loiret <aloiret@debian.org>
655 Matthias Klose <doko@debian.org>
656
657 * config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all', build
658 a tri-arch compiler defaulting to 32-bit (ABI o32). In this case:
659 (tm_file): Add mips/linux64.h.
660 (tmake_file): Add mips/t-linux64.
661 (tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
662 * config/mips/linux64.h (DRIVER_SELF_SPECS): Use MULTILIB_ABI_DEFAULT
663 instead of hardcoded mabi=n32.
664 * config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if
665 tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc
666 convention.
667
d3b7e946
AK
6682011-07-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
669
670 * passes.c (init_optimization_passes): Add invariant motion pass
671 after induction variable optimization.
672
7e4ec472 6732011-07-11 Georg-Johann Lay <avr@gjlay.de>
f9610d20 674
7e4ec472
GJL
675 PR target/39633
676 * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only
677 offsets 1..5 set cc0 in a usable way.
678
0e65e631
RG
6792011-07-11 Romain Geissler <romain.geissler@gmail.com>
680
681 * tree.h (call_expr_arg): Remove.
682 (call_expr_argp): Likewise.
683
18970372
EB
6842011-07-11 Eric Botcazou <ebotcazou@adacore.com>
685
686 * config/sparc/sparc.md (save_register_window_1): Rename to...
687 (window_save): ...this.
688 * config/sparc/sparc.c (emit_save_register_window): Rename to...
689 (emit_window_save): ...this.
690 (sparc_expand_prologue): Adjust to above renaming.
691
9e419e38
L
6922011-07-10 H.J. Lu <hongjiu.lu@intel.com>
693
694 * config/i386/i386.c (ix86_trampoline_init): Use movl instead
695 of movabs for x32.
696
3db72de3
RH
6972011-07-10 Richard Henderson <rth@redhat.com>
698
699 * config/i386/i386.c (x86_output_mi_thunk): Generate rtl and
700 run final, instead of emitting text directly.
701
a1f91bca
L
7022011-07-10 H.J. Lu <hongjiu.lu@intel.com>
703
704 * config/i386/i386.c (ix86_option_override_internal): Turn on
705 OPTION_MASK_ISA_64BIT for TARGET_X32. Only allow small and
706 small PIC models for TARGET_X32.
707
a50023f9
HPN
7082011-07-10 Hans-Peter Nilsson <hp@axis.com>
709
9a0b29f0
HPN
710 PR target/49684
711 * config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Don't include
712 $(LIBGCC2_CFLAGS).
713
a50023f9
HPN
714 PR bootstrap/49680
715 * config/cris/cris.c (cris_asm_output_case_end): Robustify against
716 stray notes and debug insns by using prev_nonnote_nondebug_insn
717 instead of PREV_INSN.
718
948d330e
RH
7192011-07-09 Richard Henderson <rth@redhat.com>
720
721 * defaults.h (DWARF2_ADDR_SIZE, DWARF_OFFSET_SIZE,
722 DWARF_TYPE_SIGNATURE_SIZE): Move from ...
723 * dwarf2out.c: ... here.
724 (output_all_cfis): Remove.
725 (dwarf2out_switch_text_section): Use output_cfis directly.
726 (size_of_locs): Export.
727 (output_loc_sequence, output_loc_sequence_raw): Export.
728 (div_data_align, need_data_align_sf_opcode, dwarf_cfi_name, output_cfi,
729 output_cfi_directive, dwarf2out_emit_cfi, output_cfis, output_cfa_loc,
730 output_cfa_loc_raw): Move to ...
731 * dwarfcfi.c: ... here.
732 * dwarf2out.h: Update decls.
733
db42e39d
RH
7342011-07-09 Richard Henderson <rth@redhat.com>
735
736 * defaults.h (DWARF_CIE_DATA_ALIGNMENT, DWARF_FRAME_RETURN_COLUMN,
737 DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Move from ...
738 * dwarf2cfi.c: ... here.
739 (PTR_SIZE, DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE): Remove.
740 (DWARF_ROUND, DWARF_CIE_ID): Remove.
741 * dwarf2out.c (INCOMING_RETURN_ADDR_RTX): Remove.
742 (DWARF2_FRAME_REG_OUT, DWARF_CIE_DATA_ALIGNMENT): Remove.
743 (DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM): Remove.
744
a8e5c0e7
RH
7452011-07-09 Richard Henderson <rth@redhat.com>
746
747 * dwarf2cfi.c (cie_return_save): New.
748 (queue_reg_save): Use compare_reg_or_pc.
749 (dwarf2out_flush_queued_reg_saves): Handle pc_rtx as return column.
750 (dwarf2out_frame_debug_expr): Likewise.
751 (dwarf2out_frame_debug_cfa_register): Record saved reg for pc too.
752 (initial_return_save): Likewise.
753 (execute_dwarf2_frame): Save and restore initial return save from
754 the cie to the fde.
755 * config/mips/mips.c (mips_frame_set): Remove special case for
756 DWARF_FRAME_RETURN_COLUMN.
757
4a8ee122
RH
7582011-07-09 Richard Henderson <rth@redhat.com>
759
760 * dwarf2cfi.c (lookup_cfa): Remove.
761 (execute_dwarf2_frame): Assert queues are empty on entry.
762 Setup initial cfa directly, not via lookup_cfa.
763 Don't clear args_size state here.
764
3edb53aa
RH
7652011-07-09 Richard Henderson <rth@redhat.com>
766
767 * dwarf2cfi.c (add_cfi_vec): New.
768 (add_cfi): Rename from add_fde_cfi. Add the element to add_cfi_vec.
769 (def_cfa_1, reg_save): Remove for_cie argument. Update all callers.
770 (execute_dwarf2_frame): Set add_cfi_vec.
771
ded49a7f
RH
7722011-07-09 Richard Henderson <rth@redhat.com>
773
774 * defaults.h (ASM_COMMENT_START): Move here...
775 * dwarf2asm.c: ... from here.
776 * dwarf2out.c, final.c, vmsdbgout.c: Remove duplicates.
777 * toplev.c: Remove ifndef tests of ASM_COMMENT_START.
778 * varasm.c: Likewise.
779
45fba6d1
RH
7802011-07-09 Richard Henderson <rth@redhat.com>
781
782 PR debug/49686
783 * dwarf2cfi.c (dwarf2out_frame_debug): Don't set cfi_insn here...
784 (create_cfi_notes): ... do it here instead.
785
5b696ba2
JJ
7862011-07-09 Jakub Jelinek <jakub@redhat.com>
787
788 PR debug/49676
789 * dwarf2out.c (size_of_int_loc_descriptor): New function.
790 (address_of_int_loc_descriptor): Use it.
f9610d20 791 (scompare_loc_descriptor): Optimize EQ/NE comparison with constant.
5b696ba2 792
8662b2ba
RH
7932011-07-09 Richard Henderson <rth@redhat.com>
794
795 * config/pdp11/pdp11.md (define_c_enum "unspecv"): New.
796 (prologue, epilogue): New.
797 (return, *rts): New.
798 (blockage, setd, seti): New.
799 * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_PROLOGUE): Remove.
800 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
801 (pdp11_saved_regno): New.
802 (pdp11_expand_prologue): Rename from pdp11_output_function_prologue;
803 generate rtl instead of text.
804 (pdp11_expand_epilogue): Similarly from pdp11_output_function_epilogue.
805 (pdp11_sp_frame_offset): Export. Use pdp11_saved_regno.
806 * config/pdp11/pdp11-protos.h: Update.
807
28b21ebb
RH
8082011-07-09 Richard Henderson <rth@redhat.com>
809
810 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't
811 try to insert an rtl prologue here.
812 (rs6000_output_function_epilogue): Similarly.
813 * config/rs6000/rs6000.md (prologue): Emit a barrier to
814 satisfy !TARGET_SCHED_PROLOG.
815 (epilogue, sibcall_epilogue): Likewise.
816
0a222ba7
EB
8172011-07-09 Eric Botcazou <ebotcazou@adacore.com>
818
819 * config/sparc/sparc.h (STACK_SAVEAREA_MODE): Move around.
820 (FP_REG_P): Delete.
821 (IN_OR_GLOBAL_P): Likewise.
822
2fda8e14
JM
8232011-07-08 Jason Merrill <jason@redhat.com>
824
4063e61b
JM
825 PR c++/45437
826 * gimplify.c (goa_stabilize_expr): Handle RHS preevaluation in
827 compound assignment.
828
2fda8e14
JM
829 * cgraph.c (cgraph_add_to_same_comdat_group): New.
830 * cgraph.h: Declare it.
831 * ipa.c (function_and_variable_visibility): Make sure thunks
832 have the right visibility.
833
830f11fe
RH
8342011-07-08 Richard Henderson <rth@redhat.com>
835
836 PR bootstrap/49680
837 * dwarf2cfi.c (dwarf2out_frame_debug): Insert cfi notes after
838 any tablejump vector.
839
965b2557
RH
840 PR bootstrap/49680
841 * dwarf2cfi.c (create_cfi_notes): Flush queued saves at the
842 end of the prologue.
843
70db9095
JJ
8442011-07-08 Jakub Jelinek <jakub@redhat.com>
845
846 PR target/49621
847 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use
f9610d20 848 CONST0_RTX (dest_mode) instead of const0_rtx as second operand of NE.
70db9095
JJ
849 * config/rs6000/vector.md (vector_select_<mode>,
850 vector_select_<mode>_uns): Change second operand of NE to
851 CONST0_RTX (<MODE>mode) instead of const0_rtx.
852 * config/rs6000/altivec.md (*altivec_vsel<mode>,
853 *altivec_vsel<mode>_uns): Expect second operand of NE to be
854 zero_constant of the corresponding vector mode.
855 * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns):
856 Likewise.
857
e92c5020
SP
8582011-07-08 Sebastian Pop <sebastian.pop@amd.com>
859
860 * graphite-dependences.c (build_alias_set_powerset): Remove
861 continue from loop, add one more assert.
862
3e4f8484 8632011-07-08 Georg-Johann Lay <avr@gjlay.de>
f9610d20 864
3e4f8484
GJL
865 PR target/46779
866 * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
867 In particular, allow 8-bit values in r28 and r29.
868 (avr_hard_regno_scratch_ok): Disallow any register that might be
869 part of the frame pointer.
870 (avr_hard_regno_rename_ok): Same.
871 (avr_legitimate_address_p): Don't allow SUBREGs.
872
0094f21b
JB
8732011-07-08 Julian Brown <julian@codesourcery.com>
874
875 * config/arm/neon.md (vec_shr_<mode>, vec_shl_<mode>): Disable in
876 big-endian mode.
877 (reduc_splus_<mode>, reduc_uplus_<mode>, reduc_smin_<mode>)
878 (reduc_smax_<mode>, reduc_umin_<mode>, reduc_umax_<mode>)
879 (neon_vec_unpack<US>_lo_<mode>, neon_vec_unpack<US>_hi_<mode>)
880 (vec_unpack<US>_hi_<mode>, vec_unpack<US>_lo_<mode>)
881 (neon_vec_<US>mult_lo_<mode>, vec_widen_<US>mult_lo_<mode>)
882 (neon_vec_<US>mult_hi_<mode>, vec_widen_<US>mult_hi_<mode>)
883 (vec_pack_trunc_<mode>, neon_vec_pack_trunc_<mode>): Disable for Q
884 registers in big-endian mode.
885
9ae60101
BS
8862011-07-08 Bernd Schmidt <bernds@codesourcery.com>
887
888 * genattrtab.c (evaluate_eq_attr): Allow an attribute to be defined
889 in terms of another.
890 (write_attr_value): Write a cast if necessary.
891
c0a6a1ef
BS
892 * defaults.h (REG_WORDS_BIG_ENDIAN): Provide a default.
893 * doc/tm.texi.in (WORDS_BIG_ENDIAN): Mention REG_WORDS_BIG_ENDIAN.
894 (REG_WORDS_BIG_ENDIAN): Document.
895 * doc/tm.texi: Regenerate.
896 * reload.c (operands_match_p): Take it into account.
897 (reload_adjust_reg_for_mode): Likewise.
898 * rtlanal.c (subreg_get_info): Likewise.
899
b862187a
RG
9002011-07-08 Richard Guenther <rguenther@suse.de>
901
902 * fold-const.c (fold_binary_loc): Remove index +p PTR -> PTR +p index
903 folding.
904
e8e8c74b
KT
9052011-07-08 Kai Tietz <ktietz@redhat.com>
906
907 * fold-const.c (fold_truth_andor): Factored out truth_andor
908 label from fold_binary as function.
909 (fold_binary_loc): Replace truth_andor lable
910 by function fold_truth_andor.
911
6c3cb698
KY
9122011-07-08 Kirill Yukhin <kirill.yukhin@intel.com>
913
914 PR middle-end/49519
915 * calls.c (mem_overlaps_already_clobbered_arg_p): Additional
916 check if address is stored in register. If so - give up.
917 (check_sibcall_argument_overlap_1): Do not perform check of
918 overlapping when it is call to address.
919
7d8d6d73 9202011-07-08 Georg-Johann Lay <avr@gjlay.de>
9ae60101 921
7d8d6d73
GJL
922 * config/avr/avr.c (output_reload_insisf): Use 'REG_Z+1' instead
923 of magic '31'.
924
69660a70
BS
9252011-07-08 Bernd Schmidt <bernds@codesourcery.com>
926
927 * optabs.c (expand_binop): Use GET_MODE_PRECISION instead of
928 GET_MODE_BITSIZE where appropriate.
929 (widen_leading, expand_parity, expand_ctz, expand_ffs,
930 expand_unop, expand_abs_nojump, expand_one_cmpl_abs_nojump,
931 expand_float, expand_fix): Likewise.
932 * expr.c (convert_move, convert_modes, expand_expr_real_2,
933 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
934 * stor-layout.c (get_mode_bounds): Likewise.
935 * cfgexpand.c (convert_debug_memory_address, expand_debug_expr):
936 Likewise.
937 * convert.c (convert_to_integer): Likewise.
938 * expmed.c (expand_shift_1): Likewise.
939
86cdf393
BS
940 * rtlanal.c (nonzero_bits1): Don't compare GET_MODE_SIZE against
941 a bitsize.
942
0d44736e
BS
943 * optabs.c (expand_binop): Tighten conditions for doubleword
944 expansions.
f9610d20 945 (widen_bswap): Assert that mode bitsize and precision are the same.
0d44736e
BS
946 * stor-layout.c (get_best_mode): Skip modes that have lower
947 precision than bitsize.
948 * recog.c (simplify_while_replacing): Assert that bitsize and
949 precision are the same.
950
2c50b2c3
RO
9512011-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
952
953 * Makefile.in (LIBGCOV): Remove.
954 (libgcc.mvars): Remove LIBGCOV.
955 * libgov.c: Move to ../libgcc.
956
a039d7c2
RO
9572011-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
958
959 * config/fixed-bit.c, config/fixed-bit.h: Move to ../libgcc.
960
e923ef41
MJ
9612011-07-08 Martin Jambor <mjambor@suse.cz>
962
963 * tree-sra.c (analyze_all_variable_accesses): Dump that a struture
964 is too big for total scalarization.
965
b709e189
RH
9662011-07-07 Richard Henderson <rth@redhat.com>
967
968 * config/alpha/elf.h (MIPS_DEBUGGING_INFO): Undef.
969 (DBX_DEBUGGING_INFO): Undef.
970
2867fa7c
RH
9712011-07-07 Richard Henderson <rth@redhat.com>
972
973 * dwarf2out.c (output_cfi_directive): Export. Add FILE parameter.
974 Handle some opcodes specially for debugging.
975 * print-rtl.c: Include dwarf2out.h
976 (print_rtx): Handle NOTE_INSN_CFI.
977 * Makefile.in (print-rtl.o): Update.
978
7644b3c7
RH
9792011-07-07 Richard Henderson <rth@redhat.com>
980
981 * tree-pass.h (pass_dwarf2_frame): Declare.
982 * passes.c (init_optimization_passes): Add it.
983 * dwarf2cfi.c (dwarf2out_frame_debug): Make static.
984 (create_cfi_notes): Rename from dwarf2out_frame_debug_after_prologue;
985 make static, do not call add_cfis_to_fde.
986 (dwarf2out_frame_debug_init, dwarf2cfi_function_init,
987 dwarf2out_frame_init): Merge into...
988 (execute_dwarf2_frame): ... here. New function.
989 (dwarf2out_do_frame, dwarf2out_do_cfi_asm): Make boolean. Change
990 saved_do_cfi_asm to a tri-state variable.
991 (gate_dwarf2_frame, pass_dwarf2_frame): New.
992 * dwarf2out.c (dwarf2out_begin_prologue): Only allocate the fde
993 if it has yet to be done. Don't call dwarf2cfi_function_init.
994 * dwarf2out.h, debug.h: Update decls.
995 * final.c (final_start_function): Don't call
996 dwarf2out_frame_debug_init or dwarf2out_frame_debug_after_prologue.
997 * lto-streamer-in.c (lto_init_eh): Don't call dwarf2out_frame_init.
998 * toplev.c (lang_dependent_init): Likewise.
999
a518b996
RH
10002011-07-07 Richard Henderson <rth@redhat.com>
1001
1002 * dwarf2out.c (fde_table, fde_table_allocated, fde_table_in_use,
1003 FDE_TABLE_INCREMENT): Replace with...
1004 (fde_vec): ... this, a new vector.
1005 (current_fde): Remove. Replace all users with cfun->fde.
1006 (output_call_frame_info): Use FOR_EACH_VEC_ELT over fde_vec.
1007 (size_of_aranges, dwarf2out_finish): Likewise.
1008 (dwarf2out_alloc_current_fde): Break out from ...
1009 (dwarf2out_begin_prologue): ... here.
1010 (dwarf2out_frame_init): Remove.
1011 * dwarf2cfi.c: Update all users of current_fde.
1012 (dwarf2out_frame_init): Rename from dwarf2cfi_frame_init.
1013 * dwarf2out.h: Update decls.
1014 (dw_fde_node): Add fde_index member.
1015 * function.h (struct function): Add fde member.
1016
89e25f95
BS
10172011-07-07 Bernd Schmidt <bernds@codesourcery.com>
1018 Richard Henderson <rth@redhat.com>
1019
1020 * dwarf2cfi.c (add_cfi): Remove.
1021 (dwarf2out_cfi_label): Remove force argument. Only generate the
1022 label name.
1023 (add_fde_cfi): Simplify the different code paths.
1024 (add_cie_cfi): New.
1025 (old_cfa, old_cfa_remember): New.
1026 (def_cfa_1, reg_save): Remove label, add for_cie parameter.
1027 (last_reg_save_label): Remove.
1028 (dwarf2out_args_size, dwarf2out_stack_adjust, queue_reg_save,
1029 dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
1030 dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
1031 dwarf2out_frame_debug_cfa_expression,
1032 dwarf2out_frame_debug_cfa_restore,
1033 dwarf2out_frame_debug_cfa_window_save,
1034 dwarf2out_frame_debug_expr): Remove label parameter.
1035 (cfi_label_required_p, add_cfis_to_fde): New.
1036 (dwarf2out_frame_debug_after_prologue): New.
1037 (dwarf2cfi_frame_init): Initialize old_cfa.
1038 (dwarf2out_frame_debug_restore_state): Likewise.
1039 * dwarf2out.c (dwarf2out_emit_cfi): Only do output for cfi_asm.
1040 (dwarf2out_switch_text_section): Don't clear dw_fde_current_label here.
1041 * final.c (final_start_function): Call
1042 dwarf2out_frame_debug_after_prologue.
1043
bc5612ed
BS
10442011-07-07 Bernd Schmidt <bernds@codesourcery.com>
1045 Richard Henderson <rth@redhat.com>
1046
1047 * dwarf2cfi.c (cfi_insn): New.
1048 (dwarf2out_cfi_label): Don't emit cfi label here.
1049 (add_fde_cfi): Create a NOTE_INSN_CFI.
1050 (dwarf2out_frame_debug): Setup cfi_insn.
1051 (dwarf2out_frame_debug_init): Loop over insns creating CFI notes.
1052 (dwarf2out_cfi_begin_epilogue): Make static.
1053 (dwarf2out_frame_debug_restore_state): Make static.
1054 * dwarf2out.c (output_cfi_directive): Make static.
1055 (dwarf2out_emit_cfi): New.
1056 * dwarf2out.h: Update.
1057 * final.c (final): Remove CFI notes.
1058 (final_scan_insn): Don't call dwarf2out_cfi_begin_epilogue,
1059 dwarf2out_frame_debug_restore_state, dwarf2out_frame_debug.
1060 Handle NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL.
1061 * insn-notes.def (NOTE_INSN_CFI): New.
1062 (NOTE_INSN_CFI_LABEL): New.
1063 * rtl.h (union rtunion_def): Add rt_cfi member.
1064 (XCFI, XCCFI, NOTE_CFI, NOTE_LABEL_NUMBER): New.
1065
647a1567
RH
10662011-07-07 Richard Henderson <rth@redhat.com>
1067
1068 * dwarf2cfi.c: New file.
1069 * Makefile.in (OBJS): Add it.
1070 (GTFILES): Add dwarf2cfi.c and dwarf2out.h.
1071 * gengtype.c (open_base_files): Include dwarf2out.h.
1072 * coretypes.h (enum var_init_status): Move from ...
1073 * rtl.h: ... here.
1074 * dwarf2out.c (saved_do_cfi_asm, dwarf2out_do_frame,
1075 dwarf2out_do_cfi_asm, cie_cfi_vec, dwarf2out_cfi_label_num,
1076 expand_builtin_dwarf_sp_column, init_return_column_size,
1077 expand_builtin_init_dwarf_reg_sizes, new_cfi, add_cfi,
1078 dwarf2out_cfi_label, emit_cfa_remember, any_cfis_emitted, add_fde_cfi,
1079 lookup_cfa_1, lookup_cfa, cfa, cfa_store, cfa_remember, args_size,
1080 old_args_size, cfa_equal_p, def_cfa_1, reg_save, initial_return_save,
1081 stack_adjust_offset, barrier_args_size, compute_barrier_args_size_1,
1082 compute_barrier_args_size, dwarf2out_args_size,
1083 dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust,
1084 queued_reg_saves, reg_saved_in_data, regs_saved_in_regs,
1085 compare_reg_or_pc, record_reg_saved_in_reg, last_reg_save_label,
1086 queue_reg_save, dwarf2out_flush_queued_reg_saves,
1087 clobbers_queued_reg_save, reg_saved_in, cfa_temp,
1088 dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
1089 dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
1090 dwarf2out_frame_debug_cfa_expression,
1091 dwarf2out_frame_debug_cfa_restore,
1092 dwarf2out_frame_debug_cfa_window_save, dwarf2out_frame_debug_expr,
1093 dwarf2out_frame_debug, dwarf2out_frame_debug_init,
1094 dwarf2out_cfi_begin_epilogue, dwarf2out_frame_debug_restore_state,
1095 get_cfa_from_loc_descr): Move to dwarf2cfi.c.
1096 (dw_cfi_ref, dw_fde_ref, dw_cfi_oprnd_ref, enum dw_cfi_oprnd_type,
1097 dw_cfi_oprnd, dw_cfi_node, cfi_vec, dw_cfa_location, dw_fde_node,
1098 dw_val_ref, dw_die_ref, const_dw_die_ref, dw_loc_descr_ref,
1099 dw_loc_list_ref, enum dw_val_class, dw_vec_const, dw_val_node,
1100 dw_loc_descr_node): Move to dwarf2out.h.
1101 (current_fde, output_cfi_directive, build_cfa_loc, get_address_mode,
1102 mem_loc_descriptor): Export.
1103 (build_cfa_aligned_loc): Export. Take CFA as a parameter.
1104 (dwarf2out_frame_init): Extract CIE generation code to
1105 dwarf2cfi_frame_init.
1106
b286d9ed
EB
11072011-07-07 Eric Botcazou <ebotcazou@adacore.com>
1108
1109 PR target/49660
1110 * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
1111 MASK_V8PLUS, remove commented out flag and reorder.
1112
c4603e7c
JJ
11132011-07-07 Jakub Jelinek <jakub@redhat.com>
1114
1115 PR c/49644
1116 * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
1117 one non-complex and one complex argument, call c_save_expr on both
1118 operands.
1119
81361831
MJ
11202011-07-07 Martin Jambor <mjambor@suse.cz>
1121
1122 PR middle-end/49495
1123 * cgraphunit.c (verify_edge_corresponds_to_fndecl): New function.
1124 (verify_cgraph_node): Some functinality moved to
1125 verify_edge_corresponds_to_fndecl, call it.
1126
1e4b2746
JM
11272011-07-07 Joseph Myers <joseph@codesourcery.com>
1128
1129 * config.gcc (*local*): Remove.
1130 * doc/install-old.texi: Don't mention local configurations.
1131
d7ff1e11
JJ
11322011-07-07 Jakub Jelinek <jakub@redhat.com>
1133
1134 PR debug/49522
1135 * df-problems.c (dead_debug_reset): Remove dead_debug_uses
1136 referencing debug insns that have been reset.
1137 (dead_debug_insert_before): Don't assert reg is non-NULL,
1138 instead return immediately if it is NULL.
1139
2492731a
JM
11402011-07-07 Joseph Myers <joseph@codesourcery.com>
1141
f9610d20 1142 * config/i386/t-crtpic, config/i386/t-svr3dbx, config/pa/t-pa: Remove.
2492731a 1143
9d9c740d
BS
11442011-07-07 Bernd Schmidt <bernds@codesourcery.com>
1145
1146 * hw-doloop.c: New file.
1147 * hw-doloop.h: New file.
1148 * Makefile.in (OBJS): Add hw-doloop.o.
1149 (hw-doloop.o): New rule.
1150 ($(obj_out_file)): Add hw-doloop.h dependency.
1151 * config/bfin/bfin.c: Include "hw-doloop.h".
1152 (loop_info, DEF_VEC_P for loop_info, loop_info_d): Remove.
1153 (bfin_dump_loops, bfin_bb_in_loop, bfin_scan_loop): Remove.
1154 (hwloop_optimize): Renamed from bfin_optimize_loop. Argument
1155 type changed to hwloop_info. Return bool, true if the loop was
1156 successfully optimized. Remove code that was moved to
1157 hw-doloop.c, and adjust other parts.
1158 (hwloop_fail): New static function, containing parts that used
1159 to be in bfin_optimize_loop.
1160 (bfin_discover_loop, bfin_discover_loops, free_loops,
1161 bfin_reorder_loops): Remove.
1162 (hwloop_pattern_reg): New static function.
1163 (bfin_doloop_hooks): New variable.
1164 (bfin_reorg_loops): Remove most code, call reorg_loops.
1165 * config/bfin/bfin.md (doloop_end splitter): Also enable if
1166 loop counter is a memory_operand.
1167
f0ea7581
L
11682011-07-07 H.J. Lu <hongjiu.lu@intel.com>
1169
f9610d20 1170 * config.gcc: Support --with-multilib-list for x86 Linux targets.
f0ea7581
L
1171
1172 * configure.ac: Mention x86-64 for --with-multilib-list.
1173 * configure: Regenerated.
1174
1175 * config/i386/gnu-user64.h (SPEC_64): Support x32.
1176 (SPEC_32): Likewise.
1177 (ASM_SPEC): Likewise.
1178 (LINK_SPEC): Likewise.
1179 (TARGET_THREAD_SSP_OFFSET): Likewise.
1180 (TARGET_THREAD_SPLIT_STACK_OFFSET): Likewise.
1181 (SPEC_X32): New.
1182
1183 * config/i386/i386.h (TARGET_X32): New.
1184 (TARGET_LP64): New.
1185 (LONG_TYPE_SIZE): Likewise.
1186 (POINTER_SIZE): Likewise.
1187 (POINTERS_EXTEND_UNSIGNED): Likewise.
1188 (OPT_ARCH64): Support x32.
1189 (OPT_ARCH32): Likewise.
1190
1191 * config/i386/i386.opt (mx32): New.
1192
1193 * config/i386/kfreebsd-gnu64.h (GNU_USER_LINK_EMULATIONX32): New.
1194 (GLIBC_DYNAMIC_LINKERX32): Likewise.
1195 * config/i386/linux64.h (GNU_USER_LINK_EMULATIONX32): Likewise.
1196 (GLIBC_DYNAMIC_LINKERX32): Likewise.
1197
1198 * config/linux.h (UCLIBC_DYNAMIC_LINKERX32): New.
1199 (BIONIC_DYNAMIC_LINKERX32): Likewise.
1200 (GNU_USER_DYNAMIC_LINKERX32): Likewise.
1201
1202 * config/i386/t-linux64: Support TM_MULTILIB_CONFIG.
1203
f9610d20 1204 * doc/install.texi: Document --with-multilib-list for Linux/x86-64.
f0ea7581
L
1205
1206 * doc/invoke.texi: Document -mx32.
1207
38460025
RS
12082011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
1209
1210 * doc/invoke.texi (mwords-little-endian): Deprecate.
1211 * config/arm/arm.opt (mwords-little-endian): Likewise.
1212 * config/arm/arm.c (arm_option_override): Warn about the deprecation
1213 of -mwords-little-endian.
1214
3f125532
RS
12152011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
1216
1217 * reload1.c (choose_reload_regs): Use mode sizes to check whether
1218 an old reload register completely defines the required value.
1219
bbc210ab
RG
12202011-07-07 Richard Guenther <rguenther@suse.de>
1221
1222 * fold-const.c (fold_unary_loc): Do not strip sign-changes
1223 for NEGATE_EXPR.
1224
29c5134a
RG
12252011-07-07 Richard Guenther <rguenther@suse.de>
1226
1227 * tree-vrp.c (simplify_conversion_using_ranges): New function.
1228 (simplify_stmt_using_ranges): Call it.
1229
0816a42a
KT
12302011-07-07 Kai Tietz <ktietz@redhat.com>
1231
1232 * tree-ssa-forwprop.c (truth_valued_ssa_name): New function.
1233 (lookup_logical_inverted_value): Likewise.
1234 (simplify_bitwise_binary_1): Likewise.
1235 (simplify_bitwise_binary): Use simplify_bitwise_binary_1.
1236
3ce9f090
JM
12372011-07-07 Joseph Myers <joseph@codesourcery.com>
1238
1239 * gcc.c (%[Spec]): Don't document.
1240 (struct spec_list): Update comment.
1241 (do_spec_1): Don't handle %[Spec].
1242 * doc/invoke.texi (%[@var{name}]): Remove documentation of spec.
1243
41dfca87
JM
12442011-07-07 Joseph Myers <joseph@codesourcery.com>
1245
1246 * common/common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't
1247 default based on TARGET_ASM_NAMED_SECTION.
1248 * common/common-target.def (have_named_sections): Default to true.
1249 * common/config/default-common.c: Don't include tm.h.
1250 * common/config/picochip/picochip-common.c
1251 (TARGET_HAVE_NAMED_SECTIONS): Don't define.
1252 * common/config/m32c/m32c-common.c: Remove.
1253 * config.gcc (m32c*-*-*): Set target_has_targetm_common=no.
f9610d20
UB
1254 * config/alpha/osf5.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
1255 * config/i386/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
1256 * config/m68k/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
41dfca87 1257 * config/pa/som.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
f9610d20
UB
1258 * config/pdp11/pdp11.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
1259 * config/vax/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
41dfca87 1260
19c44640
JJ
12612011-07-07 Jakub Jelinek <jakub@redhat.com>
1262
1263 PR middle-end/49640
f9610d20
UB
1264 * gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF operands
1265 and last COMPONENT_REF operand call gimplify_expr on it if non-NULL.
19c44640 1266
891a2e42
RO
12672011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1268
1269 PR libmudflap/49550
1270 * gcc.c (MFWRAP_SPEC): Also wrap mmap64.
1271
fbdd5d87
RO
12722011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1273
1274 PR target/39150
1275 * configure.ac (gcc_cv_as_hidden): Also accept
1276 x86_64-*-solaris2.1[0-9]*.
1277 (gcc_cv_as_cfi_directive): Likewise.
1278 (gcc_cv_as_comdat_group_group): Likewise.
1279 (set_have_as_tls): Likewise.
1280 * configure: Regenerate.
1281 * config.gcc (i[34567]86-*-solaris2*): Also handle
1282 x86_64-*-solaris2.1[0-9]*.
1283 * config.host (i[34567]86-*-solaris2*): Likewise.
1284 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
1285 * config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine.
1286 [USE_GLD] (ARCH_DEFAULT_EMULATION): Define.
1287 (TARGET_LD_EMULATION): Use it.
1288 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define.
1289 (SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default.
1290 * config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define.
1291 (ASM_CPU64_DEFAULT_SPEC): Define.
1292 (ASM_CPU_SPEC): Use %(asm_cpu_default).
1293 (ASM_SPEC): Redefine.
1294 (DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT.
1295 * config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce.
f9610d20 1296 * doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*): Document.
fbdd5d87
RO
1297 (Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]*
1298 configuration.
1299 (Specific, x86_64-*-solaris2.1[0-9]*): Document.
1300
fcf7471a
RO
13012011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1302
1303 * config/sol2.h (ASM_SPEC): Split into ...
1304 (ASM_SPEC_BASE, ASM_PIC_SPEC): ... this.
1305 * config/i386/sol2.h (ASM_SPEC): Define using ASM_SPEC_BASE.
1306 * config/i386/sol2-bi.h (ASM_CPU_SPEC): Redefine.
1307 (ASM_SPEC): Use ASM_SPEC_BASE.
1308 * config/sparc/sol2.h (ASM_SPEC): Redefine.
1309
1e6a67d1 13102011-07-07 Georg-Johann Lay <avr@gjlay.de>
f9610d20 1311
1e6a67d1
GJL
1312 * config/avr/avr.md (*reload_insi): Change predicate #1 to
1313 const_int_operand. Ditto for peep2 producing this insn.
1314 Add argument to output_reload_insisf call.
1315 (*movsi,*movsf): Add argument to output_movsisf call.
1316 (*reload_insf): New insn and new peep2 to produce it.
1317 * config/avr/avr-protos.h (output_movsisf): Change prototype.
1318 (output_reload_insisf): Change prototype.
1319 * config/avr/avr.c (avr_asm_len): New function.
1320 (output_reload_insisf): Rewrite.
1321 (output_movsisf): Change prototype. output_reload_insisf for
1322 all CONST_INT and CONST_DOUBLE. ALlow moving 0.0f to memory.
1323 (adjust_insn_length): Add argument to output_movsisf and
1324 output_reload_insisf call.
1325
6a4bdc79
BS
13262011-07-07 Bernd Schmidt <bernds@codesourcery.com>
1327
1328 * emit-rtl.c (paradoxical_subreg_p): New function.
1329 * rtl.h (paradoxical_subreg_p): Declare.
1330 * combine.c (set_nonzero_bits_and_sign_copies, get_last_value,
1331 apply_distributive_law, simplify_comparison, simplify_set): Use it.
1332 * cse.c (record_jump_cond, cse_insn): Likewise.
1333 * expr.c (force_operand): Likewise.
1334 * rtlanal.c (num_sign_bit_copies1): Likewise.
1335 * reload1.c (eliminate_regs_1, strip_paradoxical_subreg): Likewise.
1336 * reload.c (push_secondary_reload, find_reloads_toplev): Likewise.
1337 (push_reload): Use precision to check for paradoxical subregs.
1338 * expmed.c (extract_bit_field_1): Likewise.
1339
46c9550f
BS
1340 * machmode.h (HWI_COMPUTABLE_MODE_P): New macro.
1341 * combine.c (set_nonzero_bits_and_sign_copies): Use it.
1342 (find_split-point, combine_simplify_rtx, simplify_if_then_else,
1343 simplify_set, simplify_logical, expand_compound_operation,
1344 make_extraction, force_to_mode, if_then_else_cond, extended_count,
1345 try_widen_shift_mode, simplify_shift_const_1, simplify_comparison,
1346 record_value_for_reg): Likewise.
1347 * expmed.c (expand_widening_mult, expand_mult_highpart): Likewise.
1348 * simplify-rtx. c (simplify_unary_operation_1,
1349 simplify_binary_operation_1, simplify_const_relational_operation):
1350 Likewise.
1351
5511bc5a
BS
1352 * explow.c (trunc_int_for_mode): Use GET_MODE_PRECISION
1353 instead of GET_MODE_BITSIZE where appropriate.
1354 * rtlanal.c (subreg_lsb_1, subreg_get_info, nonzero_bits1,
1355 num_sign_bit_copies1, canonicalize_condition, low_bitmask_len,
1356 init_num_sign_bit_copies_in_rep): Likewise.
1357 * cse.c (fold_rtx, cse_insn): Likewise.
1358 * loop-doloop.c (doloop_modify, doloop_optimize): Likewise.
1359 * simplify-rtx.c (simplify_unary_operation_1,
1360 simplify_const_unary_operation, simplify_binary_operation_1,
1361 simplify_const_binary_operation, simplify_ternary_operation,
1362 simplify_const_relational_operation, simplify_subreg): Likewise.
1363 * combine.c (try_combine, find_split_point, combine_simplify_rtx,
1364 simplify_if_then_else, simplify_set, expand_compound_operation,
1365 expand_field_assignment, make_extraction, if_then_else_cond,
1366 make_compound_operation, force_to_mode, make_field_assignment,
1367 reg_nonzero_bits_for_combine, reg_num_sign_bit_copies_for_combine,
1368 extended_count, try_widen_shift_mode, simplify_shift_const_1,
1369 simplify_comparison, record_promoted_value, simplify_compare_const,
1370 record_dead_and_set_regs_1): Likewise.
1371
d58c1a38
BS
1372 Revert:
1373 * simplify-rtx.c (simplify_const_binary_operation): Use the
f9610d20
UB
1374 shift_truncation_mask hook instead of performing modulo by width.
1375 Compare against mode precision, not bitsize.
d58c1a38 1376 * combine.c (combine_simplify_rtx, simplify_shift_const_1):
f9610d20 1377 Use shift_truncation_mask instead of constructing the value manually.
d58c1a38 1378
76594d53
MM
13792011-07-06 Michael Meissner <meissner@linux.vnet.ibm.com>
1380
1381 * config/rs6000/rs6000-protos.h (rs6000_call_indirect_aix): New
1382 declaration.
1383 (rs6000_save_toc_in_prologue_p): Ditto.
1384
1385 * config/rs6000/rs6000.opt (-mr11): New switch to disable loading
1386 up the static chain (r11) during indirect function calls.
1387 (-msave-toc-indirect): New undocumented debug switch.
1388
1389 * config/rs6000/rs6000.c (struct machine_function): Add
1390 save_toc_in_prologue field to note whether the prologue needs to
1391 save the TOC value in the reserved stack location.
1392 (rs6000_emit_prologue): Use TOC_REGNUM instead of 2. If we need
1393 to save the TOC in the prologue, do so.
1394 (rs6000_trampoline_init): Don't allow creating AIX style
1395 trampolines if -mno-r11 is in effect.
1396 (rs6000_call_indirect_aix): New function to create AIX style
1397 indirect calls, adding support for -mno-r11 to suppress loading
1398 the static chain, and saving the TOC in the prologue instead of
1399 the call body.
1400 (rs6000_save_toc_in_prologue_p): Return true if we are saving the
1401 TOC in the prologue.
1402
1403 * config/rs6000/rs6000.md (STACK_POINTER_REGNUM): Add more fixed
1404 register numbers.
1405 (TOC_REGNUM): Ditto.
1406 (STATIC_CHAIN_REGNUM): Ditto.
1407 (ARG_POINTER_REGNUM): Ditto.
1408 (SFP_REGNO): Delete, unused.
1409 (TOC_SAVE_OFFSET_32BIT): Add constants for AIX TOC save and
1410 function descriptor offsets.
1411 (TOC_SAVE_OFFSET_64BIT): Ditto.
1412 (AIX_FUNC_DESC_TOC_32BIT): Ditto.
1413 (AIX_FUNC_DESC_TOC_64BIT): Ditto.
1414 (AIX_FUNC_DESC_SC_32BIT): Ditto.
1415 (AIX_FUNC_DESC_SC_64BIT): Ditto.
f9610d20
UB
1416 (ptrload): New mode attribute for the appropriate load of a pointer.
1417 (call_indirect_aix32): Delete, rewrite AIX indirect function calls.
76594d53
MM
1418 (call_indirect_aix64): Ditto.
1419 (call_value_indirect_aix32): Ditto.
1420 (call_value_indirect_aix64): Ditto.
1421 (call_indirect_nonlocal_aix32_internal): Ditto.
1422 (call_indirect_nonlocal_aix32): Ditto.
1423 (call_indirect_nonlocal_aix64_internal): Ditto.
1424 (call_indirect_nonlocal_aix64): Ditto.
1425 (call): Rewrite AIX indirect function calls. Add support for
1426 eliminating the static chain, and for moving the save of the TOC
1427 to the function prologue.
1428 (call_value): Ditto.
1429 (call_indirect_aix<ptrsize>): Ditto.
1430 (call_indirect_aix<ptrsize>_internal): Ditto.
1431 (call_indirect_aix<ptrsize>_internal2): Ditto.
1432 (call_indirect_aix<ptrsize>_nor11): Ditto.
1433 (call_value_indirect_aix<ptrsize>): Ditto.
1434 (call_value_indirect_aix<ptrsize>_internal): Ditto.
1435 (call_value_indirect_aix<ptrsize>_internal2): Ditto.
1436 (call_value_indirect_aix<ptrsize>_nor11): Ditto.
1437 (call_nonlocal_aix32): Relocate in the rs6000.md file.
1438 (call_nonlocal_aix64): Ditto.
1439
1440 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mr11 and
1441 -mno-r11 documentation.
1442
49d6830d
JW
14432011-07-06 Jonathan Wakely <jwakely.gcc@gmail.com>
1444
1445 PR other/49658
1446 * doc/extend.texi (Compound Literals): Fix typo.
1447
c884924f
JG
14482011-07-06 James Greenhalgh <james.greenhalgh@arm.com>
1449
f9610d20 1450 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
c884924f 1451
bf588455
BS
14522011-07-06 Basile Starynkevitch <basile@starynkevitch.net>
1453
1454 * configure.ac (plugin-version.h): Generate
1455 GCCPLUGIN_VERSION_MAJOR, GCCPLUGIN_VERSION_MINOR,
1456 GCCPLUGIN_VERSION_PATCHLEVEL, GCCPLUGIN_VERSION constant integer
1457 macros.
1458
1459 * configure: Regenerate.
1460
1461 * doc/plugins.texi (Building GCC plugins): Mention
1462 GCCPLUGIN_VERSION ... constant macros in plugin-version.h.
1463
d0edd768
BS
14642011-07-06 Bernd Schmidt <bernds@codesourcery.com>
1465
1466 * machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.
1467 * combine.c (make_extraction, gen_lowpart_or_truncate,
1468 apply_distributive_law, simplify_comparison,
1469 reg_truncated_to_mode, record_truncated_value): Use it.
1470 * cse.c (notreg_cost): Likewise.
1471 * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
1472 * expr.c (convert_move, convert_modes): Likewise.
1473 * optabs.c (expand_binop, expand_unop): Likewise.
1474 * postreload.c (move2add_last_label): Likewise.
1475 * regmove.c (optimize_reg_copy_3): Likewise.
1476 * rtlhooks.c (gen_lowpart_general): Likewise.
1477 * simplify-rtx.c (simplify_unary_operation_1): Likewise.
1478
e5cabdfb
JM
14792011-07-06 Joseph Myers <joseph@codesourcery.com>
1480
1481 * config/rs6000/vxworks.h (WORDS_BIG_ENDIAN): Define.
1482
2d0c270f
BS
14832011-07-06 Bernd Schmidt <bernds@codesourcery.com>
1484
1485 * cse.c (find_comparison_args): Use val_mode_signbit_set_p.
1486 * simplify-rtx.c (mode_signbit_p): Use GET_MODE_PRECISION.
1487 (val_mode_signbit_p, val_mode_signbit_set_p): New functions.
1488 (simplify_const_unary_operation, simplify_binary_operation_1,
f9610d20
UB
1489 simplify_const_binary_operation, simplify_const_relational_operation):
1490 Use them. Use GET_MODE_MASK for masking and sign-extensions.
2d0c270f
BS
1491 * combine.c (set_nonzero_bits_and_sign_copies, simplify_set,
1492 combine_simplify_rtx, force_to_mode, reg_nonzero_bits_for_combine,
1493 simplify_shift_const_1, simplify_comparison): Likewise.
1494 * expr.c (convert_modes): Likewise.
1495 * rtlanal.c (nonzero_bits1, canonicalize_condition): Likewise.
f9610d20 1496 * expmed.c (emit_cstore, emit_store_flag_1, emit_store_flag): Likewise.
2d0c270f
BS
1497 * rtl.h (val_mode_signbit_p, val_mode_signbit_set_p): Declare.
1498
f9c08345
BS
1499 * simplify-rtx.c (simplify_ternary_operation): Remove dead code.
1500
6d6c9525
RG
15012011-07-06 Richard Guenther <rguenther@suse.de>
1502
1503 PR tree-optimization/49645
1504 * c-decl.c (finish_decl): Also set DECL_HARD_REGISTER for global
1505 register variables.
1506 * tree-ssa-sccvn.c (vn_reference_op_eq): Disregard differences
1507 in type qualification here ...
1508 (copy_reference_ops_from_ref): ... not here.
1509 (vn_reference_lookup_3): ... or here.
1510 (copy_reference_ops_from_ref): Record decl bases as MEM[&decl].
1511 (vn_reference_lookup): Do the lookup with a valueized ao-ref.
1512
d1a6ec10
ILT
15132011-07-06 Ian Lance Taylor <iant@google.com>
1514
1515 * doc/install.texi (Configuration): It's
1516 --enable-gnu-indirect-function, not --enable-indirect-function.
1517
ff3e08af
BS
15182011-07-06 Bernd Schmidt <bernds@codesourcery.com>
1519
1520 * simplify-rtx.c (simplify_const_binary_operation): Use the
f9610d20
UB
1521 shift_truncation_mask hook instead of performing modulo by width.
1522 Compare against mode precision, not bitsize.
ff3e08af 1523 * combine.c (combine_simplify_rtx, simplify_shift_const_1):
f9610d20 1524 Use shift_truncation_mask instead of constructing the value manually.
ff3e08af 1525
a369b639
L
15262011-07-06 H.J. Lu <hongjiu.lu@intel.com>
1527
1528 PR middle-end/47383
1529 * tree-ssa-address.c (addr_for_mem_ref): Use pointer_mode for
1530 address computation and convert to address_mode if needed.
1531
1a072294
RG
15322011-07-06 Richard Guenther <rguenther@suse.de>
1533
1534 * tree.c (build_common_tree_nodes_2): Merge with
1535 build_common_tree_nodes.
1536 * tree.h (build_common_tree_nodes): Adjust prototype.
1537 (build_common_tree_nodes_2): Remove.
1538 * doc/tm.texi.in (lang_hooks.builtin_function): Adjust.
1539 * doc/tm.texi (lang_hooks.builtin_function): Regenerate.
1540
f2c3a8ce
JJ
15412011-07-05 Jakub Jelinek <jakub@redhat.com>
1542
1543 PR tree-optimization/49618
1544 * tree-eh.c (tree_could_trap_p) <case CALL_EXPR>: For DECL_WEAK
1545 t recurse on the decl.
1546 <case FUNCTION_DECL, case VAR_DECL>: For DECL_WEAK decls
1547 return true if expr isn't known to be defined in current
1548 TU or some other LTO partition.
1549
3aa439ed
MM
15502011-07-05 Michael Meissner <meissner@linux.vnet.ibm.com>
1551
1552 * params.def (PARAM_CASE_VALUES_THRESHOLD): New parameter to
1553 override CASE_VALUES_THRESHOLD.
1554
1555 * stmt.c (toplevel): Include params.h.
1556 (case_values_threshold): Use the --param case-values-threshold
1557 value if non-zero, otherwise use machine dependent value.
1558 (expand_case): Use case_values_threshold.
1559
1560 * Makefile.in (stmt.o): Add $(PARAMS_H) dependency.
1561
1562 * doc/invoke.texi (--param case-values-threshold): Document.
1563
49956667
RH
15642011-07-05 Richard Henderson <rth@redhat.com>
1565
1566 * dwarf2out.c (dwarf2out_cfi_label): Make static.
1567 (dwarf2out_flush_queued_reg_saves): Make static.
1568 (dwarf2out_reg_save): Remove.
1569 (dwarf2out_return_save): Remove.
1570 (dwarf2out_return_reg): Remove.
1571 (dwarf2out_reg_save_reg): Remove.
1572 (dwarf2out_def_cfa): Merge into ...
1573 (dwarf2out_frame_init): ... here.
1574 * dwarf2out.h, tree.h: Remove declarations as necessary.
1575
9f2ff8e5
RH
15762011-07-05 Richard Henderson <rth@redhat.com>
1577
c2b40eba
RH
1578 * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): Remove.
1579 (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
1580 (ia64_expand_epilogue): Emit an empty FRAME_RELATED_EXPR for
1581 the alloc insn.
1582
7d3c6cd8
RH
1583 * config/ia64/ia64.c (ia64_emit_deleted_label_after_insn): Remove.
1584 (IA64_CHANGE_CFA_IN_EPILOGUE): Remove.
1585 (process_epilogue): Don't call dwarf2out_def_cfa.
1586
5f740973
RH
1587 * config/ia64/ia64.c (ia64_expand_prologue): Use pc_rtx to
1588 indicate the return address save.
1589 (process_cfa_register): Likewise.
1590
a1880147
RH
1591 * config/ia64/ia64.c (ia64_dwarf2out_def_steady_cfa): Remove.
1592 (process_cfa_adjust_cfa, ia64_asm_unwind_emit): Don't call it.
1593
9f2ff8e5
RH
1594 * config/ia64/ia64.c (ia64_expand_prologue): Emit REG_CFA_REGISTER
1595 for ar.pfs save at alloc insn.
1596
ddc6e7d6
RH
15972011-07-05 Richard Henderson <rth@redhat.com>
1598
1599 * config/arm/arm.c (arm_dwarf_handle_frame_unspec): Remove.
1600 (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
1601 (arm_expand_prologue): Use REG_CFA_REGISTER to mark the
1602 stack pointer save.
1603 (arm_unwind_emit_set): Don't recognize UNSPEC_STACK_ALIGN.
1604 (arm_unwind_emit): Walk REG_NOTES for unwinding notes. Emit
1605 proper unwind info for a REG_CFA_REGISTER save of stack pointer.
1606 * config/arm/arm.md (UNSPEC_STACK_ALIGN): Remove.
1607
a3515605
RH
16082011-07-05 Richard Henderson <rth@redhat.com>
1609
1610 * config/vax/vax.md (define_c_enum unspecv): New. Define the
1611 VUNSPEC_* constants here instead of via define_constants.
1612 (VUNSPEC_PEM): New constant.
1613 (procedure_entry_mask): New insn.
1614 (prologue): New expander.
1615 * config/vax/vax.c (vax_add_reg_cfa_offset): New.
1616 (vax_expand_prologue): Rename from vax_output_function_prologue;
1617 emit rtl instead of text.
1618 (TARGET_ASM_FUNCTION_PROLOGUE): Remove.
1619 (print_operand): Add 'x' prefix.
1620
a7adbbcb
L
16212011-07-05 H.J. Lu <hongjiu.lu@intel.com>
1622
1623 PR middle-end/47715
1624 * calls.c (precompute_register_parameters): Promote the function
1625 argument before checking non-legitimate constant.
1626
cec11ec4
SP
16272011-07-05 Sebastian Pop <sebastian.pop@amd.com>
1628
1629 PR tree-optimization/47654
1630 * graphite-blocking.c (pbb_strip_mine_time_depth): Do not return bool.
1631 (lst_do_strip_mine_loop): Return an int.
1632 (lst_do_strip_mine): Same.
1633 (scop_do_strip_mine): Same.
1634 (scop_do_block): Loop blocking should strip-mine at least two loops.
1635 * graphite-interchange.c (lst_interchange_select_outer): Return an int.
1636 (scop_do_interchange): Same.
1637 * graphite-poly.h (scop_do_interchange): Update declaration.
1638 (scop_do_strip_mine): Same.
1639
9b0d314a
SP
16402011-07-05 Sebastian Pop <sebastian.pop@amd.com>
1641
1642 * graphite-clast-to-gimple.c (precision_for_value): Removed.
1643 (precision_for_interval): Removed.
1644 (gcc_type_for_interval): Use mpz_sizeinbase.
1645
81d6d080
SP
16462011-07-05 Sebastian Pop <sebastian.pop@amd.com>
1647
1648 * graphite-ppl.h (value_max): Correct computation of max.
1649
369e3430
SP
16502011-07-05 Sebastian Pop <sebastian.pop@amd.com>
1651
1652 * graphite-clast-to-gimple.c (clast_name_to_index): Add missing space.
1653
fce5dddd
RG
16542011-07-05 Richard Guenther <rguenther@suse.de>
1655
1656 * c-decl.c (c_init_decl_processing): Defer building common
1657 tree nodes to c_common_nodes_and_builtins.
1658
12037899
RL
16592011-07-05 Razya Ladelsky <razya@il.ibm.com>
1660
1661 PR tree-optimization/49580
f9610d20 1662 * tree-cfg.c (gimple_duplicate_sese_tail): Remove handling of
12037899 1663 the loop's number of iterations.
f9610d20
UB
1664 * tree-parloops.c (transform_to_exit_first_loop): Add the
1665 handling of the loop's number of iterations before the call
12037899 1666 to gimple_duplicate_sese_tail.
28b21ebb 1667 Insert the stmt caclculating the new rhs of the loop's
12037899
RL
1668 condition stmt to the preheader instead of iters_bb.
1669
509a31f8
L
16702011-07-05 H.J. Lu <hongjiu.lu@intel.com>
1671
1672 PR rtl-optimization/47449
1673 * fwprop.c (forward_propagate_subreg): Don't propagate hard
1674 register nor zero/sign extended hard register.
1675
39becbac
RG
16762011-07-05 Richard Guenther <rguenther@suse.de>
1677
1678 PR tree-optimization/49518
1679 PR tree-optimization/49628
1680 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
1681 irrelevant and invariant data-references.
1682 (vect_analyze_data_ref_access): For invariant loads clear the
1683 group association.
1684
15923c25
JJ
16852011-07-04 Jakub Jelinek <jakub@redhat.com>
1686
af421d9c
JJ
1687 PR rtl-optimization/49619
1688 * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
1689 pass VOIDmode as op0_mode to recursive call, and return temp even
1690 when different from tor, just if it is not IOR of the original
1691 PLUS arguments.
1692
707f9919
JJ
1693 PR rtl-optimization/49472
1694 * simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
1695 negating MULT, negate the second operand instead of first.
1696 (simplify_binary_operation_1) <case MULT>: If one operand is
f9610d20
UB
1697 a NEG and the other is MULT, don't attempt to optimize by negation
1698 of the MULT operand if it only moves the NEG operation around.
707f9919 1699
15923c25
JJ
1700 PR debug/49602
1701 * tree-into-ssa.c (rewrite_debug_stmt_uses): Disregard
1702 get_current_def return value if it can't be trusted to be
1703 the current value of the variable in the current bb.
1704
0d5e0c1b
UB
17052011-07-04 Uros Bizjak <ubizjak@gmail.com>
1706
1707 PR target/49600
1708 * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
1709 general register to memory for !TARGET_INTER_UNIT_MOVES.
1710
db297e20
GJL
17112011-07-04 Georg-Johann Lay <avr@gjlay.de>
1712
1713 PR target/44643
1714 * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
1715 instead of TREE_READONLY.
1716
f451d14d
GJL
17172011-07-04 Georg-Johann Lay <avr@gjlay.de>
1718
1719 * doc/extend.texi (AVR Built-in Functions): Update documentation
1720 of __builtin_avr_fmul*.
0d5e0c1b 1721 * config/avr/avr.c (avr_init_builtins): Don't depend on AVR_HAVE_MUL.
f451d14d
GJL
1722 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Ditto.
1723 * config/avr/avr.md (fmul): Rename to fmul_insn.
1724 (fmuls): Rename to fmuls_insn.
1725 (fmulsu): Rename to fmulsu_insn.
1726 (fmul,fmuls,fmulsu): New expander.
1727 (*fmul.call,*fmuls.call,*fmulsu.call): New Insn.
1728 * config/avr/t-avr (LIB1ASMFUNCS): Add _fmul, _fmuls, _fmulsu.
1729 * config/avr/libgcc.S (__fmul): New function.
1730 (__fmuls): New function.
1731 (__fmulsu,__fmulsu_exit): New function.
1732
30f1e6de
RG
17332011-07-04 Richard Guenther <rguenther@suse.de>
1734
1735 PR tree-optimization/49615
1736 * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
1737 basic-block index check.
1738
6dab9931
GJL
17392011-07-04 Georg-Johann Lay <avr@gjlay.de>
1740
1741 * longlong.h (count_leading_zeros, count_trailing_zeros,
1742 COUNT_LEADING_ZEROS_0): Define for target avr if W_TYPE_SIZE is 16
1743 resp. 64.
1744
b5066d8b
IR
17452011-07-03 Ira Rosen <ira.rosen@linaro.org>
1746
1747 PR tree-optimization/49610
1748 * tree-vect-loop.c (vect_is_slp_reduction): Check that DEF_STMT has
1749 a basic block.
1750
bc712852
EB
17512011-07-02 Eric Botcazou <ebotcazou@adacore.com>
1752 Olivier Hainque <hainque@adacore.com>
1753 Nicolas Setton <setton@adacore.com>
1754
1755 * tree.h (TYPE_ARTIFICIAL): New flag.
1756 * dwarf2out.c (modified_type_die): Add a DW_AT_artificial attribute to
1757 the DIE of the type if it is artificial.
1758 (gen_array_type_die): Likewise.
1759 (gen_enumeration_type_die): Likewise.
1760 (gen_struct_or_union_type_die): Likewise.
1761 * lto-streamer-in.c (unpack_ts_base_value_fields): Use TYPE_ARTIFICIAL.
1762 * lto-streamer-out.c (pack_ts_base_value_fields): Likewise.
1763
8b1bdcc5
JJ
17642011-07-01 Jakub Jelinek <jakub@redhat.com>
1765
1766 * tree-object-size.c (pass_through_call): Handle
1767 BUILT_IN_ASSUME_ALIGNED.
1768
06e88d73
MJ
17692011-07-01 Martin Jambor <mjambor@suse.cz>
1770
1771 * tree-sra.c (tree_non_mode_aligned_mem_p): Also ignore MEM_REFs.
1772
6bbec3e1
L
17732011-07-01 H.J. Lu <hongjiu.lu@intel.com>
1774
1775 PR middle-end/48016
1776 * explow.c (update_nonlocal_goto_save_area): Use proper mode
1777 for stack save area.
1778 * function.c (expand_function_start): Likewise.
1779
e8fdf1cd
RG
17802011-07-01 Richard Guenther <rguenther@suse.de>
1781
1782 PR middle-end/49596
1783 * cgraph.h (varpool_all_refs_explicit_p): Not analyzed nodes
1784 may have unknown refs.
1785
80d3dd38
KT
17862011-07-01 Kai Tietz <ktietz@redhat.com>
1787
1788 * tree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.
1789
179fc656
RO
17902011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1791
1792 * config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
1793 * doc/install.texi (Specific, alpha*-dec-osf5.1): Document it.
1794 (Specific, mips-sgi-irix6): Likewise.
1795
14a393a3
RO
17962011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1797
1798 PR libmudflap/49549
1799 * doc/sourcebuild.texi (Effective-Target Keywords): Document gld.
1800
3aecd443
JJ
18012011-07-01 Jakub Jelinek <jakub@redhat.com>
1802
1803 * tree-pretty-print.c (dump_generic_code) <case CONSTRUCTOR>: Print
1804 [idx]= and [idx1 ... idx2]= before initializers if needed for
1805 array initializers.
1806
7474f719
CL
18072011-07-01 Chen Liqin <liqin.gcc@gmail.com>
1808
1809 * config.gcc (score-*-elf): Remove score7.o.
1810 * config/score/t-score-elf: Likewise.
1811 * config/score/score.c: Merge score7 to score.c and
1812 remove forwarding functions.
1813 * config/score/score7.c: Deleted.
1814 * config/score/score7.h: Deleted.
1815
ab70d825
RG
18162011-07-01 Richard Guenther <rguenther@suse.de>
1817
1818 PR tree-optimization/49603
0d5e0c1b 1819 * tree-vect-stmts.c (vectorizable_load): Remove unnecessary assert.
ab70d825 1820
1ac93f10
MJ
18212011-06-30 Martin Jambor <mjambor@suse.cz>
1822
1823 * tree-sra.c (struct access): Rename total_scalarization to
1824 grp_total_scalarization
1825 (completely_scalarize_var): New function.
1826 (sort_and_splice_var_accesses): Set total_scalarization in the
1827 representative access.
1828 (analyze_access_subtree): Propagate total scalarization accross the
1829 tree, no holes in totally scalarized trees, simplify coverage
1830 computation.
1831 (analyze_all_variable_accesses): Call completely_scalarize_var instead
1832 of completely_scalarize_record.
1833
97f309c3
RH
18342011-06-30 Richard Henderson <rth@redhat.com>
1835
1836 * config/i386/i386.h (X86_TUNE_DEEP_BRANCH_PREDICTION): Remove.
1837 (TARGET_DEEP_BRANCH_PREDICTION): Remove.
1838 * config/i386/i386.c: Don't include dwarf2out.h.
1839 (initial_ix86_tune_features): Remove X86_TUNE_DEEP_BRANCH_PREDICTION.
1840 (output_set_got): Don't test TARGET_DEEP_BRANCH_PREDICTION, delete
1841 all code dead thereafter. Don't do dwarf2out_flush_queued_reg_saves.
1842 (ix86_expand_prologue): Set REG_CFA_FLUSH_QUEUE on set_got insn.
1843 (machopic_output_stub): Don't test TARGET_DEEP_BRANCH_PREDICTION.
1844
ef284364
RH
18452011-06-30 Richard Henderson <rth@redhat.com>
1846
1847 * reg-notes.def (REG_CFA_FLUSH_QUEUE): New.
1848 * dwarf2out.c (dwarf2out_frame_debug): Handle it.
1849 * final.c (final_scan_insn): Look for it, and invoke
1850 dwarf2out_frame_debug before the insn if found.
1851
c8412f97
RH
18522011-06-30 Richard Henderson <rth@redhat.com>
1853
1854 * dwarf2out.c (dwarf2out_frame_debug_cfa_offset): Allow PC_RTX
1855 as a source, and interpret that as DWARF_FRAME_RETURN_COLUMN.
1856
e3f903d8
RH
18572011-06-30 Richard Henderson <rth@redhat.com>
1858
1859 * dwarf2out.c (struct reg_saved_in_data): Provide a typedef.
1860 Define a vector of this type.
1861 (regs_saved_in_regs): Use a VEC.
1862 (num_regs_saved_in_regs): Remove.
1863 (compare_reg_or_pc): New.
1864 (record_reg_saved_in_reg): Split out from...
1865 (dwarf2out_flush_queued_reg_saves): ... here.
1866 (clobbers_queued_reg_save): Update for VEC.
1867 (reg_saved_in): Likewise.
1868 (dwarf2out_frame_debug_init): Likewise.
1869 (dwarf2out_reg_save_reg): Use record_reg_saved_in_reg.
1870 (dwarf2out_frame_debug_cfa_register): Likewise.
1871
e2c9010a
EB
18722011-06-30 Eric Botcazou <ebotcazou@adacore.com>
1873
1874 PR tree-optimization/49572
1875 * tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
1876 type of the RHS instead of that of the LHS for the expression type.
1877
dbb07bbc
EB
18782011-06-30 Eric Botcazou <ebotcazou@adacore.com>
1879
1880 * df-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro
1881 unconditionally.
1882
1565af08
RG
18832011-06-30 Richard Guenther <rguenther@suse.de>
1884
1885 * opts.c (finish_options): Do not disable IPA-PTA during ltrans.
1886 * tree-ssa-structalias.c (create_variable_info_for): Do not
1887 add initial constraints for non-var-decls. Properly handle
1888 globals in other ltrans partitions.
1889 (intra_create_variable_infos): Manually create constraints for
1890 the fake no-alias parameter.
1891 (ipa_pta_execute): Dump the cgraph, handle ltrans partitions properly
1892 and assert there are no clones.
1893
42373e0b
RG
18942011-06-30 Richard Guenther <rguenther@suse.de>
1895
1896 PR tree-optimization/46787
1897 * tree-data-ref.c (dr_address_invariant_p): Remove.
1898 (find_data_references_in_stmt): Invariant accesses are ok now.
0d5e0c1b 1899 * tree-vect-stmts.c (vectorizable_load): Handle invariant loads.
42373e0b
RG
1900 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
1901 invariant loads.
1902
7aa62ea1
MJ
19032011-06-30 Martin Jambor <mjambor@suse.cz>
1904
1905 PR tree-optimization/49094
1906 * tree-sra.c (tree_non_mode_aligned_mem_p): New function.
1907 (build_accesses_from_assign): Use it.
1908
f60f32b3
JJ
19092011-06-30 Jakub Jelinek <jakub@redhat.com>
1910
d9048d16
JJ
1911 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
1912 handling of BUILT_IN_ASSUME_ALIGNED.
1913
f60f32b3
JJ
1914 PR debug/49364
1915 * dwarf2out.c (output_abbrev_section): Don't return early
1916 if abbrev_die_table_in_use is 1.
1917 (dwarf2out_finish): Instead don't call output_abbrev_section
1918 nor emit abbrev_section_label in that case.
1919
7cce15d4
NC
19202011-06-30 Nick Clifton <nickc@redhat.com>
1921
1922 * config/v850/v850.h (CPP_SPEC): Define __v850e__ when compiling
1923 for the V850E.
1924
ce7e54ff
JJ
19252011-06-30 Jakub Jelinek <jakub@redhat.com>
1926
1927 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
1928 handling of BUILT_IN_MEMPCPY_CHK and BUILT_IN_STPCPY_CHK.
1929
83197f37
IR
19302011-06-30 Ira Rosen <ira.rosen@linaro.org>
1931
1932 * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
1933 both pattern and original statements if necessary.
1934 (vect_transform_loop): Likewise.
1935 * tree-vect-patterns.c (vect_pattern_recog): Update documentation.
1936 * tree-vect-stmts.c (vect_mark_relevant): Add new argument.
1937 Mark the pattern statement only if the original statement doesn't
1938 have its own uses.
1939 (process_use): Call vect_mark_relevant with additional parameter.
1940 (vect_mark_stmts_to_be_vectorized): Likewise.
1941 (vect_get_vec_def_for_operand): Use vectorized pattern statement.
1942 (vect_analyze_stmt): Handle both pattern and original statements
1943 if necessary.
1944 (vect_transform_stmt): Don't store vectorized pattern statement
1945 in the original statement.
1946 (vect_is_simple_use_1): Use related pattern statement only if the
1947 original statement is irrelevant.
1948 * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
1949
dbb07bbc 19502011-06-29 Changpeng Fang <changpeng.fang@amd.com>
5c0d88e6 1951
dbb07bbc
EB
1952 * config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask
1953 option.
1954 * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL
1955 entry.
5c0d88e6
CF
1956 (TARGET_AVX128_OPTIMAL): New definition.
1957 * config/i386/i386.c (initial_ix86_tune_features): Initialize
1958 X86_TUNE_AVX128_OPTIMAL entry.
1959 (ix86_option_override_internal): Enable the generation
1960 of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
1961 (ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
1962 (ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
1963
931050d0
EB
19642011-06-29 Eric Botcazou <ebotcazou@adacore.com>
1965
1966 PR tree-optimization/49539
1967 * tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
1968 names by means of stmt_references_abnormal_ssa_name.
1969 (associate_plusminus): Call can_propagate_from before propagating
1970 from definition statements.
1971 (ssa_forward_propagate_and_combine): Remove superfluous newline.
1972
dfedbe40
RG
19732011-06-29 Richard Guenther <rguenther@suse.de>
1974
1975 * doc/invoke.texi: Document -scev dump modifier.
1976 * tree-pass.h (TDF_SCEV): New dump flag.
1977 * tree-dump.c (dump_option_value_in): Add scev.
1978 * tree-chrec.c: Replace all TDF_DETAILS checks with TDF_SCEV.
1979 * tree-scalar-evolution.c: Likewise.
1980
3a86cfeb
NS
19812011-06-29 Nathan Sidwell <nathan@codesourcery.com>
1982
1983 * config/arm/unwind-arm.c (enum __cxa_type_match_result): New.
1984 (cxa_type_match): Correct declaration.
0d5e0c1b
UB
1985 (__gnu_unwind_pr_common): Reconstruct additional indirection
1986 when __cxa_type_match returns succeeded_with_ptr_to_base.
3a86cfeb 1987
f3678bfb
UW
19882011-06-29 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1989
1990 PR rtl-optimization/49114
1991 * reload.c (struct replacement): Remove SUBREG_LOC member.
1992 (push_reload): Do not set it.
1993 (push_replacement): Likewise.
1994 (subst_reload): Remove dead code.
1995 (copy_replacements): Remove assertion.
1996 (copy_replacements_1): Do not handle SUBREG_LOC.
1997 (move_replacements): Likewise.
1998 (find_replacement): Remove dead code. Use reload_adjust_reg_for_mode.
1999 Detect subregs via recursive descent instead of via SUBREG_LOC.
2000
433ba0a5 20012011-06-29 Georg-Johann Lay <avr@gjlay.de>
0d5e0c1b 2002
433ba0a5
GJL
2003 * config/avr/avr.c (avr_encode_section_info): Dispatch to
2004 default_encode_section_info.
2005
73f6eabc
RS
20062011-06-29 Richard Sandiford <richard.sandiford@linaro.org>
2007
2008 PR tree-optimization/49545
2009 * builtins.c (get_object_alignment_1): Update function comment.
2010 Do not use DECL_ALIGN for functions, but test
2011 TARGET_PTRMEMFUNC_VBIT_LOCATION instead.
2012 * fold-const.c (get_pointer_modulus_and_residue): Don't check
2013 for functions here.
2014 * tree-ssa-ccp.c (get_value_from_alignment): Likewise.
2015
a0f33d3a
JJ
20162011-06-29 Jakub Jelinek <jakub@redhat.com>
2017
2018 PR debug/49567
0d5e0c1b
UB
2019 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTEND>: Give up for
2020 non-MODE_INT modes instead of asserting the mode has MODE_INT class.
a0f33d3a 2021
946c8b23 20222011-06-29 Georg-Johann Lay <avr@gjlay.de>
0d5e0c1b 2023
946c8b23 2024 PR target/34734
0d5e0c1b 2025 * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
946c8b23
GJL
2026 about uninitialized data attributed 'progmem' from here...
2027 (avr_encode_section_info): ...to this new function.
2028 (TARGET_ENCODE_SECTION_INFO): New define.
2029 (avr_section_type_flags): For data in ".progmem.data", remove
2030 section flag SECTION_WRITE.
2031
9a63dee4 20322011-06-29 Georg-Johann Lay <avr@gjlay.de>
0d5e0c1b 2033
9a63dee4
GJL
2034 * config/avr/t-avr (LIB1ASMFUNCS): Add _mulhisi3, _umulhisi3,
2035 _xmulhisi3_exit.
2036 * config/avr/libgcc.S (_xmulhisi3_exit): New Function.
2037 (__mulhisi3): Optimize if have MUL*. Use XJMP instead of rjmp.
2038 (__umulhisi3): Ditto.
2039 * config/avr/avr.md (mulhisi3): New insn expender.
2040 (umulhisi3): New insn expender.
2041 (*mulhisi3_call): New insn.
2042 (*umulhisi3_call): New insn.
2043
4374ce45
JM
20442011-06-28 Joseph Myers <joseph@codesourcery.com>
2045
2046 * Makefile.in (LIBGCC2_CFLAGS): Remove -D__GCC_FLOAT_NOT_NEEDED.
2047
94759030
RH
20482011-06-28 Richard Henderson <rth@redhat.com>
2049
2050 * config/arm/arm.c (thumb_pop): Rename from thumb_pushpop. Delete
2051 all code and arguments that handled pushes. Update all callers.
2052
d018b46e
RH
20532011-06-28 Richard Henderson <rth@redhat.com>
2054
2055 * config/arm/arm.c (arm_output_function_prologue): Don't call
2056 thumb1_output_function_prologue.
2057 (arm_expand_prologue): Avoid dead store.
2058 (number_of_first_bit_set): Use ctz_hwi.
2059 (thumb1_emit_multi_reg_push): New.
2060 (thumb1_expand_prologue): Merge thumb1_output_function_prologue
2061 to emit the entire prologue as rtl.
2062 (thumb1_output_interwork): Split out from
2063 thumb1_output_function_prologue.
2064 (thumb1_output_function_prologue): Remove.
2065 (arm_attr_length_push_multi): Handle thumb1.
2066 * config/arm/arm.md (VUNSPEC_THUMB1_INTERWORK): New.
2067 (prologue_thumb1_interwork): New.
2068 (*push_multi): Allow thumb1; use push_mult_memory_operand.
2069 * config/arm/predicates.md (push_mult_memory_operand): New.
2070
97269a23
EB
20712011-06-28 Eric Botcazou <ebotcazou@adacore.com>
2072
2073 * config/sparc/sync.md (*stbar): Delete.
2074 (*membar_v8): New insn to implement UNSPEC_MEMBAR in SPARC-V8.
2075
4a9206ce
EB
20762011-06-28 Eric Botcazou <ebotcazou@adacore.com>
2077
2078 * tree-ssa-dom.c (initialize_hash_element): Fix oversight.
2079
6138f9bd
RO
20802011-06-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2081
2082 * config/sparc/sol2-64.h (TARGET_DEFAULT): Remove.
2083 (TARGET_64BIT_DEFAULT): Define.
2084 * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front
2085 of tm_file.
2086 * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define.
2087
a7d0d30f
JM
20882011-06-28 Joseph Myers <joseph@codesourcery.com>
2089
2090 * common.opt (in_lto_p): New Variable entry.
2091 * flags.h (in_lto_p): Move to common.opt.
2092 * gcc.c: Include params.h.
2093 (set_option_handlers): Also use common_handle_option and
2094 target_handle_option.
0d5e0c1b 2095 (main): Call global_init_params, finish_params and init_options_struct.
a7d0d30f
JM
2096 * opts.c (debug_type_names): Move from toplev.c.
2097 (print_filtered_help): Access quiet_flag through opts pointer.
0d5e0c1b
UB
2098 (common_handle_option): Return early in the driver for some options.
2099 Access in_lto_p, dwarf_version and warn_maybe_uninitialized through
2100 opts pointer.
a7d0d30f
JM
2101 * toplev.c (in_lto_p): Move to common.opt.
2102 (debug_type_names): Move to opts.c.
2103 * Makefile.in (OBJS): Remove opts.o.
2104 (OBJS-libcommon-target): Add opts.o.
2105 (gcc.o): Update dependencies.
2106
420863a9
KT
21072011-06-28 Kai Tietz <ktietz@redhat.com>
2108
0d5e0c1b 2109 * tree-ssa-forwprop.c (simplify_bitwise_binary): Improve type sinking.
420863a9 2110
0498a2be
RR
21112011-06-28 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2112
2113 * config/arm/vfp.md ("*divsf3_vfp"): Replace '+' constraint modifier
2114 with '=' constraint modifier.
2115 (*divdf3_vfp): Likewise.
2116 ("*mulsf3_vfp"): Likewise.
2117 ("*muldf3_vfp"): Likewise.
2118 ("*mulsf3negsf_vfp"): Likewise.
2119 ("*muldf3negdf_vfp"): Likewise.
2120
4a68b724
NC
21212011-06-28 Nick Clifton <nickc@redhat.com>
2122
2123 * config/mn10300/mn10300.h (LINK_SPEC): Do not use linker
2124 relaxation when performing an incremental link.
2125
72a32729
KT
21262011-06-28 Kai Tietz <ktietz@redhat.com>
2127
2128 * tree-ssa-math-opts.c (execute_optimize_bswap): Search
2129 within BB from last to first.
2130
88a00ef7
JM
21312011-06-28 Joseph Myers <joseph@codesourcery.com>
2132
2133 * genattr-common.c: New. Based on genattr.c.
2134 * Makefile.in (INSN_ATTR_H): Include insn-attr-common.h.
2135 (MOSTLYCLEANFILES): Add insn-attr-common.h.
2136 (opts.o): Update dependencies.
2137 (.PRECIOUS): Add insn-attr-common.h.
2138 (simple_rtl_generated_h): Add insn-attr-common.h.
2139 (build/genattr-common.o): New.
2140 (genprogrtl): Add attr-common.
2141 * genattr.c (main): Include insn-attr-common.h. Don't generate
2142 definitions of DELAY_SLOTS or INSN_SCHEDULING.
0d5e0c1b 2143 * opts.c: Include insn-attr-common.h instead of rtl.h and insn-attr.h.
88a00ef7 2144
880962ac
GJL
21452011-06-28 Georg-Johann Lay <avr@gjlay.de>
2146
4a68b724 2147 * config.gcc (tm_file): Add elfos.h and avr/elf.h for
880962ac 2148 avr-*-* and avr-*-rtems* targets.
4a68b724 2149
880962ac
GJL
2150 * config/avr/elf.h: New file.
2151 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define.
2152 (TARGET_ASM_SELECT_SECTION): Define.
2153 (INIT_SECTION_ASM_OP): Undefine.
2154 (FINI_SECTION_ASM_OP): Undefine.
2155 (READONLY_DATA_SECTION_ASM_OP): Undefine.
2156 (PCC_BITFIELD_TYPE_MATTERS): Undefine.
2157 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Undefine.
2158 * config/avr/avr.h:
2159 (PREFERRED_DEBUGGING_TYPE): Move to elf.h.
2160 (TARGET_ASM_NAMED_SECTION): Move to elf.h.
2161 (MAX_OFILE_ALIGNMENT): Move to elf.h.
2162 (STRING_LIMIT): Move to elf.h.
2163 (ASM_DECLARE_FUNCTION_NAME): Move to elf.h.
2164 (ASM_DECLARE_OBJECT_NAME): Remove.
2165 (ESCAPES): Remove.
2166 (ASM_OUTPUT_SKIP): Remove.
2167 (DWARF2_DEBUGGING_INFO): Remove.
2168 (OBJECT_FORMAT_ELF): Remove.
2169 (USER_LABEL_PREFIX): Remove.
2170 (ASM_OUTPUT_EXTERNAL): Remove.
2171 (ASM_OUTPUT_ASCII): Remove.
2172 (TYPE_ASM_OP): Remove.
2173 (SIZE_ASM_OP): Remove.
2174 (WEAK_ASM_OP): Remove.
2175 (STRING_ASM_OP): Remove.
2176 (SET_ASM_OP): Remove.
2177 (ASM_WEAKEN_LABEL): Remove.
2178 (TYPE_OPERAND_FMT): Remove.
2179 (ASM_DECLARE_FUNCTION_SIZE): Remove.
2180 (ASM_FINISH_DECLARE_OBJECT): Remove.
2181 (NO_DOLLAR_IN_LABEL): Remove.
2182 (ASM_GENERATE_INTERNAL_LABEL): Remove.
2183 (ASM_OUTPUT_CASE_LABEL): Remove.
2184 * config/avr/avr.c (avr_asm_output_aligned_decl_common): Use
2185 ASM_OUTPUT_ALIGNED_LOCAL, ASM_OUTPUT_ALIGNED_COMMON.
2186 (gas_output_ascii): Remove.
2187 (gas_output_limited_string): Remove.
2188 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove.
2189 * config/avr/avr-protos.h
2190 (gas_output_ascii): Remove prototye.
2191 (gas_output_limited_string): Remove prototype.
2192
a1b5eb93
RE
21932011-06-27 Richard Earnshaw <rearnsha@arm.com>
2194
2195 PR target/48637
2196 * arm.c (arm_print_operand): Allow sym+offset. Don't abort on invalid
2197 asm operands.
2198
310e71a8
JH
21992011-06-27 Jan Hubicka <jh@suse.cz>
2200
4a9206ce
EB
2201 * ipa.c (cgraph_address_taken_from_non_vtable_p): Walk references of
2202 node instead of references in node.
310e71a8 2203
171da07a
RH
22042011-06-27 Richard Henderson <rth@redhat.com>
2205
2206 * config/alpha/alpha.c (vms_patch_builtins): Provide dummy definition.
2207 * config/ia64/ia64.c (ia64_init_builtins): Call vms_patch_builtins
2208 inside ifdef.
2209
dc2a58da
JJ
22102011-06-27 Jakub Jelinek <jakub@redhat.com>
2211
56300785
JJ
2212 * c-decl.c (union lang_tree_node): Use it in chain_next expression.
2213
45d439ac
JJ
2214 * builtin-types.def (BT_FN_PTR_CONST_PTR_SIZE_VAR): New.
2215 * builtins.def (BUILT_IN_ASSUME_ALIGNED): New builtin.
2216 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call,
2217 find_func_clobbers): Handle BUILT_IN_ASSUME_ALIGNED.
2218 * tree-ssa-ccp.c (bit_value_assume_aligned): New function.
2219 (evaluate_stmt, execute_fold_all_builtins): Handle
2220 BUILT_IN_ASSUME_ALIGNED.
2221 * tree-ssa-dce.c (propagate_necessity): Likewise.
2222 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
2223 call_may_clobber_ref_p_1): Likewise.
2224 * builtins.c (is_simple_builtin, expand_builtin): Likewise.
2225 (expand_builtin_assume_aligned): New function.
2226 * doc/extend.texi (__builtin_assume_aligned): Document.
2227
dc2a58da
JJ
2228 PR debug/49544
2229 * cselib.c (promote_debug_loc): If cselib_preserve_constants
2230 and l has two DEBUG_INSN owned locs instead of just one, adjust
2231 the second location's setting_insn too.
2232
0d72f628
RO
22332011-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2234
2235 PR libmudflap/38738
2236 * config/sol2.h [!USE_GLD] (MFLIB_SPEC): Define.
2237
bebd619e
NC
22382011-06-27 Nick Clifton <nickc@redhat.com>
2239
0d5e0c1b
UB
2240 * config/mn10300/mn10300.md (clzsi2): Use XOR after BSCH to convert
2241 bit position of highest bit set into a count of the high zero bits.
bebd619e 2242
353b39fa
EB
22432011-06-27 Eric Botcazou <ebotcazou@adacore.com>
2244
2245 * dwarf2out.c (TYPE_DECL_IS_STUB): Extend mechanism to all types.
2246
a7af037b
EB
22472011-06-27 Eric Botcazou <ebotcazou@adacore.com>
2248
2249 PR lto/48492
2250 * dwarf2out.c (dwarf2out_finish): Do not attach a DIE on the limbo list
2251 to a NULL parent.
2252
1c86160a
RG
22532011-06-27 Richard Guenther <rguenther@suse.de>
2254
2255 PR tree-optimization/49394
2256 * passes.c (execute_one_pass): Restore current_pass after
2257 applying IPA transforms.
2258
5da49a9d
KT
22592011-06-27 Kai Tietz <ktietz@redhat.com>
2260
2261 * tree-ssa-math-opts.c (do_shift_rotate): Zero bits
2262 out of type precision after operation.
0d5e0c1b
UB
2263 (find_bswap): Take for limit value the integer auto-promotion
2264 into account.
5da49a9d 2265
9242213f
EB
22662011-06-27 Eric Botcazou <ebotcazou@adacore.com>
2267
2268 * reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the
2269 forward scan as well.
2270
db8b22ef
TG
22712011-06-27 Tristan Gingold <gingold@adacore.com>
2272
2273 PR target/44241
2274 * config/vms/vms-protos.h: New file.
2275 * config/vms/vms-crtlmap.map: New file.
2276 * config/vms/vms.c: New file.
2277 * config/vms/make-crtlmap.awk: New file.
2278 * config/vms/vms-crtl.h: File removed.
2279 * config/vms/vms-crtl-64.h: File removed.
2280 * config/vms/t-vms (vms-crtlmap.h, vms.o): New targets.
2281 * config/alpha/vms64.h: Do not include vms-crtl-64.h
2282 * config/alpha/alpha.c (alpha_init_builtins): Remove code to
2283 clear some builtins on VMS. Calls vms_patch_builtins.
2284 (avms_asm_output_external): Remove.
2285 * config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Remove.
2286 (struct crtl_name_spec): Remove
2287 (DO_CTRL_NAMES): Remove.
2288 * config/ia64/vms.h (struct crtl_name_spec): Remove
2289 (DO_CTRL_NAMES): Remove.
2290 * config/ia64/ia64.c (alpha_init_builtins): Remove code to
2291 clear some builtins on VMS. Calls vms_patch_builtins.
2292 (ia64_asm_output_external): Remove DO_CRTL_NAME.
2293 * config/ia64/vms64.h: Do not include vms-crtl-64.h
0d5e0c1b 2294 * config.gcc (*-*-*vms*): Define extra_objs, target_gtfiles, tm_p_file.
db8b22ef 2295
b213221d
TG
22962011-06-27 Tristan Gingold <gingold@adacore.com>
2297
2298 * config/alpha/alpha.c (alpha_end_function): Always generate .end
2299 directive on VMS.
2300
157b9300
EB
23012011-06-27 Eric Botcazou <ebotcazou@adacore.com>
2302
2303 * config/sparc/sparc.c (sparc_frame_pointer_required): Return true if
2304 the function receives nonlocal gotos.
2305
ccbf5bb4
RG
23062011-06-27 Richard Guenther <rguenther@suse.de>
2307
2308 PR tree-optimization/49536
2309 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2310 For non-scalar inner types use a scalar type according to
2311 the scalar inner mode.
2312
fe4cd14b
RG
23132011-06-27 Richard Guenther <rguenther@suse.de>
2314
2315 PR tree-optimization/49365
2316 * params.def (min-insn-to-prefetch-ratio): Reduce from 10 to 9.
2317
afc3f22f
RS
23182011-06-27 Richard Guenther <rguenther@suse.de>
2319
2320 PR tree-optimization/49169
2321 * fold-const.c (get_pointer_modulus_and_residue): Don't rely on
2322 the alignment of function decls.
2323
92590751 23242011-06-26 Iain Sandoe <iains@gcc.gnu.org>
a45a766b
IS
2325
2326 PR target/47997
2327 * config/darwin.c (darwin_mergeable_string_section): Place string
2328 constants in '.cstring' rather than '.const' when CF/NSStrings are
2329 active.
2330
605354f3
EB
23312011-06-26 Eric Botcazou <ebotcazou@adacore.com>
2332
2333 * config/sparc/sparc.c (save_local_or_in_reg_p): Adjust comment.
2334 (emit_save_register_window): Likewise.
2335 (sparc_expand_prologue): Use SIZE_INT_RTX and SIZE_RTX variables.
2336 (sparc_flat_expand_prologue): Add comment. Always emit blockage.
2337 Swap back %o7/%i7 in register naming.
2338
0e9197f5
IS
23392011-06-25 Iain Sandoe <iains@gcc.gnu.org>
2340
2341 PR driver/49371
2342 * config/darwin.c (darwin_override_options): Improve warning when
2343 mdynamic-no-pic is given together with fPIC/fpic, also warn when it
2344 is given with fpie/fPIE.
2345 * config/darwin.h (PIE_SPEC): New, (LINK_SPEC): Use PIE_SPEC.
2346 * config/darwin9.h (PIE_SPEC): New.
53461199 2347
605354f3 23482011-06-25 Basile Starynkevitch <basile@starynkevitch.net>
53461199
BS
2349
2350 * timevar.c (timevar_print): Increase width for display of timevar
2351 name.
2352
f796c438
JJ
23532011-06-24 Jakub Jelinek <jakub@redhat.com>
2354
2355 PR c++/46400
2356 * c-decl.c (union lang_tree_node): Use TYPE_NEXT_VARIANT
2357 instead of TYPE_CHAIN for chain_next for types.
2358
a7289eaf
RH
23592011-06-24 Richard Henderson <rth@redhat.com>
2360
2361 * config/sparc/sparc.md (create_flat_frame_1<P:mode>): Remove.
2362 (create_flat_frame_2<P:mode>, create_flat_frame_3<P:mode>): Remove.
2363 * config/sparc/sparc.c (gen_create_flat_frame_1): Remove.
2364 (gen_create_flat_frame_2, gen_create_flat_frame_3): Remove.
2365 (sparc_flat_expand_prologue): Emit individual instructions
2366 instead of one of the above.
2367
c4b9a87e
ER
23682011-06-24 Easwaran Raman <eraman@google.com>
2369
2370 PR rtl-optimization/49429
2371 PR target/49454
2372 * expr.c (emit_block_move_hints): Mark MEM_EXPR(x) and
2373 MEM_EXPR(y) addressable if emit_block_move_via_libcall is
2374 used to copy y into x.
2375 * calls.c (initialize_argument_information): Mark
2376 an argument addressable if it is passed by invisible reference.
2377 (emit_library_call_value_1): Mark MEM_EXPR (val) addressable
2378 if it is passed by reference.
2379
5ac6c59e
L
23802011-06-24 H.J. Lu <hongjiu.lu@intel.com>
2381
2382 PR rtl-optimization/49504
2383 * rtlanal.c (nonzero_bits1): Properly handle addition or
1f134bd6
L
2384 subtraction of a pointer in Pmode if pointers extend unsigned.
2385 (num_sign_bit_copies1): Likewise.
5ac6c59e 2386
b807e627
MJ
23872011-06-24 Martin Jambor <mjambor@suse.cz>
2388
2389 PR tree-optimizations/49516
2390 * tree-sra.c (sra_modify_assign): Choose the safe path for
2391 aggregate copies if we also did scalar replacements.
2392
9a1ea4b9
RR
23932011-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2394
2395 PR target/49335
2396 * config/arm/predicates.md (add_operator): New.
0d5e0c1b 2397 * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage in Thumb2.
9a1ea4b9 2398
949cfd0a
AK
23992011-06-24 Andi Kleen <ak@linux.intel.com>
2400
2401 * tree-sra.c (type_internals_preclude_sra_p): Add msg
2402 parameter. Split up ifs and report reason in *msg.
2403 (reject): Add.
2404 (find_var_candiate): Add msg variable.
2405 Split up ifs and report reason to reject.
2406 (find_param_candidates): Add msg variable.
2407 Pass msg to type_internals_preclude_sra_p.
2408
49e9c661 24092011-06-23 Jeff Law <law@redhat.com>
ad3577df 2410
b0c11403
JL
2411 PR middle-end/48770
2412 * reload.h (reload): Change to return a bool.
2413 * ira.c (ira): If requested by reload, run a fast DCE pass after
2414 reload has completed. Fix comment typo.
2415 * reload1.c (need_dce): New file scoped static.
2416 (reload): Set reload_completed here. Return whether or not a DCE
2417 pass after reload is needed.
2418 (delete_dead_insn): Set need_dce as needed.
2419
ad3577df
JL
2420 PR middle-end/49465
2421 * tree-ssa-threadupate.c (fix_duplicate_block_edges): Fix condition
2422 to detect threading through joiner block. If there was already
2423 an edge to the new target, then do not change the PHI nodes.
2424
7cf64710
JJ
24252011-06-23 Jakub Jelinek <jakub@redhat.com>
2426
2427 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
2428 get_pointer_alignment to see if base isn't sufficiently aligned.
2429
febb1302
JH
24302011-06-23 Jan Hubicka <jh@suse.cz>
2431
2432 PR tree-optimize/49373
2433 * tree-pass.h (all_late_ipa_passes): Declare.
2434 * cgraphunit.c (init_lowered_empty_function): Fix properties.
4a9206ce
EB
2435 (cgraph_optimize): Execute late passes; remove unreachable funcions
2436 after materialization.
2437 * ipa-inline.c (gate_ipa_inline): Enable only when optimizing or
2438 LTOing.
febb1302
JH
2439 * passes.c (all_late_ipa_passes): Declare.
2440 (dump_passes, register_pass): Handle late ipa passes.
4a9206ce
EB
2441 (init_optimization_passes): Move ipa_pta to late passes; schedule
2442 fixup_cfg at beggining of all_passes.
febb1302
JH
2443 (apply_ipa_transforms): New function.
2444 (execute_one_pass): When doing simple ipa pass, apply all transforms.
2445
4c77620d
JM
24462011-06-23 Joseph Myers <joseph@codesourcery.com>
2447
2448 * params.c: Include common/common-target.h. Don't include tm.h.
2449 (lang_independent_params): Move from toplev.c.
2450 (global_init_params): New.
2451 * params.h (global_init_params): Declare.
2452 * target.def (default_params): Move to common-target.def.
2453 * toplev.c (lang_independent_options): Remove.
2454 (lang_independent_params): Move to params.c.
2455 (general_init): Use global_init_params.
2456 * common/common-target.def (option_default_params): Move from
2457 target.def.
2458 * common/config/ia64/ia64-common.c: Include params.h.
2459 (ia64_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
2460 from ia64.c.
2461 * common/config/rs6000/rs6000-common.c: Include params.h.
2462 (rs6000_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
2463 from rs6000.c.
2464 * common/config/sh/sh-common.c: Include params.h.
2465 (sh_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
2466 from sh.c.
2467 * common/config/spu/spu-common.c: Include params.h.
2468 (spu_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
2469 from spu.c.
2470 * config/ia64/ia64.c (ia64_option_default_params,
2471 TARGET_OPTION_DEFAULT_PARAMS): Move to ia64-common.c.
2472 * config/rs6000/rs6000.c (rs6000_option_default_params,
2473 TARGET_OPTION_DEFAULT_PARAMS): Move to rs6000-common.c.
2474 * config/sh/sh.c (sh_option_default_params,
2475 TARGET_OPTION_DEFAULT_PARAMS): Move to sh-common.c.
2476 * config/spu/spu.c (spu_option_default_params,
2477 TARGET_OPTION_DEFAULT_PARAMS): Move to spu-common.c.
2478 * Makefile.in (OBJS): Remove params.o.
2479 (OBJS-libcommon-target): Add params.o.
2480 (params.o, $(common_out_object_file)): Update dependencies.
2481 * doc/tm.texi: Regenerate.
2482
6aad1e38
AM
24832011-06-23 Alan Modra <amodra@gmail.com>
2484
2485 PR bootstrap/49383
2486 * config/rs6000/rs6000.c (call_ABI_of_interest): Adjust cgraph
2487 invocation for 2011-06-09 changes.
2488
4fb489e7
JJ
24892011-06-22 Jakub Jelinek <jakub@redhat.com>
2490
fb79f500
JJ
2491 PR libgomp/49490
2492 * omp-low.c (expand_omp_for_static_nochunk): Only
0d5e0c1b
UB
2493 use n ceil/ nthreads size for the first n % nthreads threads in the
2494 team instead of all threads except for the last few ones which
fb79f500
JJ
2495 get less work or none at all.
2496
4fb489e7
JJ
2497 PR debug/49496
2498 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Ignore debug
2499 uses.
2500
9c7c9f10
RG
25012011-06-22 Richard Guenther <rguenther@suse.de>
2502
2503 PR tree-optimization/49493
2504 * tree-ssa-structalias.c (get_constraint_for_ssa_var):
2505 Refer to the alias target of variables.
2506 (associate_varinfo_to_alias_1): Remove.
2507 (ipa_pta_execute): Do not associate aliases with anything.
2508 * cgraph.h (varpool_alias_aliased_node): Fix cut&paste errors.
2509 (cgraph_function_node): Likewise.
2510 (cgraph_function_or_thunk_node): Likewise.
2511 (varpool_variable_node): Likewise.
2512
7cf13d1f
NS
25132011-06-22 Nathan Sidwell <nathan@codesourcery.com>
2514
0d5e0c1b 2515 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect typo.
7cf13d1f
NS
2516 * config.gcc (arm*-*-linux*): Default to gnu tls.
2517 (arm*-*-*): Add --with-tls option.
2518 (all_defaults): Add 'tls'.
2519
78a8eb4e
RH
25202011-06-22 Richard Henderson <rth@redhat.com>
2521
2522 * reg-notes.def (REG_CFA_WINDOW_SAVE): New.
2523 * dwarf2out.c (dwarf2out_frame_debug): Handle it.
2524 (dwarf2out_frame_debug_cfa_window_save): Rename from
2525 dwarf2out_window_save; make static.
2526 * tree.h (dwarf2out_window_save): Don't declare.
2527
2528 * config/sparc/sparc.c (sparc_dwarf_handle_frame_unspec): Remove.
2529 (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
2530 (emit_save_register_window): Rename from gen_save_register_window;
2531 emit the insn and add REG_CFA_* notes.
2532 (sparc_expand_prologue): Update to match.
2533 * config/sparc/sparc.md (save_register_window_1): Simplify from
2534 save_register_window<P:mode>.
2535
3b4c46d7
L
25362011-06-22 H.J. Lu <hongjiu.lu@intel.com>
2537
2538 PR target/49497
2539 * config/i386/i386.md (*lea_general_2): Always allow SImode.
2540 (*lea_general_2_zext): Likewise.
2541 (imul to lea peepholes): Use const359_operand and check
2542 TARGET_PARTIAL_REG_STALL.
2543
2544 * config/i386/predicates.md (const359_operand): New.
2545
4399cf59
MM
25462011-06-22 Michael Matz <matz@suse.de>
2547
2548 * cgraphunit.c (assemble_thunk): Use correct return type.
2549
31a0c825 25502011-06-22 Dmitry Plotnikov <dplotnikov@ispras.ru>
0d5e0c1b 2551 Dmitry Melnik <dm@ispras.ru>
31a0c825
DP
2552
2553 * config/arm/arm.c (neon_immediate_valid_for_shift): New function.
2554 (neon_output_shift_immediate): Ditto.
2555 * config/arm/arm-protos.h (neon_immediate_valid_for_shift): New
2556 prototype.
2557 (neon_output_shift_immediate): Ditto.
2558 * config/arm/neon.md (vashl<mode>3): Modified constraint.
2559 (vashr<mode>3_imm): New insn pattern.
2560 (vlshr<mode>3_imm): Ditto.
2561 (vashr<mode>3): Modified constraint.
2562 (vlshr<mode>3): Ditto.
2563 * config/arm/predicates.md (imm_for_neon_lshift_operand): New
2564 predicate.
2565 (imm_for_neon_rshift_operand): Ditto.
2566 (imm_lshift_or_reg_neon): Ditto.
2567 (imm_rshift_or_reg_neon): Ditto.
2568
2569 * optabs.c (init_optabs): Init optab codes for vashl, vashr, vlshr.
2570
ddb555ed
JJ
25712011-06-22 Jakub Jelinek <jakub@redhat.com>
2572
36dc1a88
JJ
2573 * tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for
2574 builtin calls even if likelyvalue is not CONSTANT.
2575 Handle BUILT_IN_STRDUP and BUILT_IN_STRNDUP like BUILT_IN_MALLOC.
2576 Return get_value_for_expr of first operand
2577 for BUILT_IN_{MEM{CPY,MOVE,SET},STR{,N}CPY}{,_CHK}.
2578 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
2579 BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK like
2580 their non-checking counterparts.
2581 (call_may_clobber_ref_p_1): Likewise.
2582 (stmt_kills_ref_p_1): Handle BUILT_IN_MEM{{,P}CPY,MOVE,SET}_CHK
2583 like their non-checking counterparts.
2584 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2585 Handle BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK
2586 like their non-checking counterparts.
2587 (find_func_clobbers): Likewise.
2588 * tree-ssa-dce.c (propagate_necessity): Handle BUILT_IN_MEMSET_CHK
2589 like BUILT_IN_MEMSET and BUILT_IN_CALLOC like BUILT_IN_MALLOC.
2590
41cd4957
JJ
2591 * dwarf2out.c (size_of_loc_descr, output_loc_operands,
2592 mark_base_types, hash_loc_operands, compare_loc_operands): Allow
2593 DW_OP_GNU_convert and DW_OP_GNU_reinterpret to use constant instead
2594 of base type reference as argument.
2595 (resolve_addr_in_expr): Likewise. Fix keep computation.
2596 (convert_descriptor_to_signed): Renamed to...
0d5e0c1b
UB
2597 (convert_descriptor_to_mode): ... this. For wider types convert to
2598 unsigned instead of signed, for <= DWARF2_ADDR_SIZE convert to untyped.
41cd4957
JJ
2599 (typed_binop): New function.
2600 (scompare_loc_descriptor, ucompare_loc_descriptor,
2601 minmax_loc_descriptor, mem_loc_descriptor): For wider integer modes
2602 default to unsigned type instead of signed.
2603
ddb555ed
JJ
2604 PR debug/47858
2605 * gimple.h (enum gimple_debug_subcode): Add GIMPLE_DEBUG_SOURCE_BIND.
2606 (gimple_build_debug_source_bind_stat): New prototype.
2607 (gimple_build_debug_source_bind): Define.
2608 (gimple_debug_source_bind_p, gimple_debug_source_bind_get_var,
2609 gimple_debug_source_bind_get_value,
2610 gimple_debug_source_bind_get_value_ptr,
2611 gimple_debug_source_bind_set_var,
2612 gimple_debug_source_bind_set_value): New inlines.
2613 * gimple.c (gimple_build_debug_source_bind_stat): New function.
2614 * gimple-pretty-print.c (dump_gimple_debug): Handle
2615 GIMPLE_DEBUG_SOURCE_BIND.
2616 * sese.c (rename_uses): Handle gimple_debug_source_bind_p.
2617 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
2618 * tree-parloops.c (eliminate_local_variables,
2619 separate_decls_in_region): Likewise.
2620 (separate_decls_in_region_debug): Renamed from
2621 separate_decls_in_region_debug_bind. Handle
2622 gimple_debug_source_bind_p.
2623 * tree.h (decl_debug_args_lookup, decl_debug_args_insert): New
2624 prototypes.
2625 (DECL_HAS_DEBUG_ARGS_P): Define.
2626 (struct tree_function_decl): Add has_debug_args_flag field.
2627 * tree.c (debug_args_for_decl): New variable.
2628 (decl_debug_args_lookup, decl_debug_args_insert): New functions.
2629 * tree-into-ssa.c (mark_def_sites): Handle uses in debug stmts.
2630 (rewrite_debug_stmt_uses): New function.
2631 (rewrite_stmt): Use it to rewrite debug stmt uses.
2632 * rtl.def (DEBUG_PARAMETER_REF): New.
2633 * rtl.h (DEBUG_PARAMETER_REF_DECL): Define.
2634 * cselib.c (rtx_equal_for_cselib_1, cselib_hash_rtx): Handle
2635 DEBUG_PARAMETER_REF.
2636 * rtl.c (rtx_equal_p_cb, rtx_equal_p, iterative_hash_rtx): Likewise.
2637 * print-rtl.c (print_rtx): Likewise.
2638 * tree-sra.c (sra_ipa_reset_debug_stmts): Prefer replacing of
2639 SSA_NAMEs with DEBUG_EXPR_DECLs initialized in source bind
2640 debug stmts in the first bb.
2641 * tree-inline.c (remap_ssa_name): If remapping default def
2642 of a PARM_DECL fails, map to a DEBUG_EXPR_DECL set in
2643 a source bind debug stmt.
2644 (remap_gimple_stmt): Handle gimple_debug_source_bind_p.
2645 (maybe_move_debug_stmts_to_successors): Likewise.
2646 (copy_debug_stmt): Likewise. Avoid shadowing a variable.
2647 (tree_function_versioning): If DECL_HAS_DEBUG_ARGS_P, copy
2648 debug args vector from old_decl to new_decl.
2649 * ipa-prop.c (ipa_modify_call_arguments): For optimized away
2650 or modified parameters, add debug bind stmts before call
0d5e0c1b 2651 setting DEBUG_EXPR_DECL which is remembered in debug args vector.
ddb555ed
JJ
2652 * cfgexpand.c (expand_call_stmt): Call expand_debug_expr
2653 on DECL_DEBUG_EXPRs from debug args vector.
2654 (expand_debug_source_expr): New function.
2655 (expand_debug_locations): Use it for source bind insns.
2656 (expand_gimple_basic_block): Handle gimple_debug_source_bind_p.
2657 * var-tracking.c (prepare_call_arguments): Add debug args
2658 to call_arguments if any.
2659 * dwarf2out.c (dwarf_stack_op_name, size_of_loc_descr,
0d5e0c1b
UB
2660 output_loc_operands, output_loc_operands_raw, resolve_addr_in_expr,
2661 compare_loc_operands): Handle DW_OP_GNU_parameter_ref.
ddb555ed
JJ
2662 (get_ref_die_offset, parameter_ref_descriptor): New functions.
2663 (mem_loc_descriptor): Handle DEBUG_PARAMETER_REF.
2664 (gen_subprogram_die): Handle parameters identified by
2665 DEBUG_PARAMETER_REF.
2666
ccdc2164
NS
26672011-06-22 Nathan Sidwell <nathan@codesourcery.com>
2668
2669 * doc/invoke.texi (ARM Options): Document -mtls-dialect option.
2670 * doc/install.texi (Configuration): Document --with-tls.
ccdc2164
NS
2671 * config/arm/arm.c (enum tls_reloc): Add TLS_DESCSEQ.
2672 (arm_call_tls_get_addr): Clean up. Assert not tls descriptor.
2673 (arm_tls_descseq_addr): New.
2674 (legitimize_tls_address): Add tlsdesc support.
2675 (arm_cannot_copy_insn_p): Check for tlscall.
2676 (arm_emit_tls_decoration): Likewise.
2677 * config/arm/arm.h (TARGET_GNU2_TLS): New.
2678 (OPTION_DEFAULT_SPECS): Add with-tls support.
2679 * config/arm/arm.md (R1_REGNUM): Define.
2680 (tlscall): New.
2681 * config/arm/arm.opt (tls_type): New enumeration type and values.
2682 (mtls-dialect): New switch.
2683 * config/arm/arm-opts.h (enum tls_type): New.
2684
70e41a6a
NP
26852011-06-21 Nicola Pero <nicola.pero@meta-innovation.com>
2686
2687 * attribs.c (register_attribute): Added assert to check that all
2688 attribute specs are registered with a name that is not empty and
2689 does not start with '_'.
2690 (decl_attributes): Avoid the lookup of the "naked" attribute spec
2691 if the function has no attributes.
2692 * tree.c (is_attribute_with_length_p): Removed.
2693 (is_attribute_p): Removed.
0d5e0c1b 2694 (private_is_attribute_p): New.
70e41a6a
NP
2695 (private_lookup_attribute): New.
2696 (lookup_attribute): Removed.
2697 (lookup_ident_attribute): New.
2698 (remove_attribute): Require the first argument to be in the form
2699 'text', not '__text__'. Updated asserts.
2700 (merge_attributes): Use lookup_ident_attributes instead of
2701 lookup_attribute.
2702 (merge_dllimport_decl_attributes): Use remove_attribute.
2703 (attribute_list_contained): Likewise.
2704 (attribute_list_equal): Immediately return 1 if the arguments are
2705 identical pointers.
2706 * tree.h (is_attribute_p): Made inline. Return a 'bool', not an
2707 'int'. Require the first argument to be in the form 'text', not
2708 '__text__'. Require the second argument to be an identifier.
2709 (lookup_attribute): Made inline. Require the first argument to be
2710 in the form 'text', not '__text__'.
2711 (private_is_attribute_p, private_lookup_attribute): New.
2712 Updated comments.
0d5e0c1b 2713
e0a8ecf2
AM
27142011-06-21 Andrew MacLeod <amacleod@redhat.com>
2715
2716 * builtins.c: Add sync_ or SYNC__ to builtin names.
2717 * sync-builtins.def: Add sync_ or SYNC__ to builtin names.
2718 * omp-low.c: Add sync_ or SYNC__ to builtin names.
2719
663827d3 27202011-06-21 Georg-Johann Lay <avr@gjlay.de>
637c11bd 2721
663827d3
GJL
2722 PR target/33049
2723 * config/avr/avr.md (extzv): New expander.
2724 (*extzv): New insn.
2725 (*extzv.qihi1, *extzv.qihi2): New insn-and-split.
2726 * config/avr/constraints.md (C04): New constraint.
2727 * doc/md.texi (Machine Constraints): Document it.
2728
146aef0b
JJ
27292011-06-21 Jakub Jelinek <jakub@redhat.com>
2730
2731 PR middle-end/49489
2732 * builtins.c (expand_builtin_unop): Call expand_unop with 0 as
2733 unsignedp argument instead of 1 for clrsb_optab.
2734 (fold_builtin_bitop): Fix masking for width > HOST_BITS_PER_WIDE_INT
2735 and < 2 * HOST_BITS_PER_WIDE_INT. Optimize BUILT_IN_CLRSB*.
2736 (fold_builtin_1): Call fold_builtin_binop for BUILT_IN_CLRSB*.
2737 * optabs.c (widen_leading): Call widen_operand and expand_unop
2738 with 0 as unsignedp argument instead of 1 for clrsb_optab.
637c11bd 2739 (expand_unop): Subtract difference of mode sizes also for clrsb_optab.
146aef0b 2740
c0503294
GJL
27412011-06-21 Georg-Johann Lay <avr@gjlay.de>
2742
2743 * config/avr/avr.md (*jcindirect_jump): Fix build warning.
2744
3801c801
BS
27452011-06-21 Bernd Schmidt <bernds@codesourcery.com>
2746
0bddee8e
BS
2747 * gensupport.c (add_define_attr): New static function.
2748 (is_predicable): Allow multi-alternative lists for the "predicable"
2749 attribute.
2750 (modify_attr_enabled_ce, alter_attrs_for_insn): New static functions.
2751 (process_one_cond_exec): Call alter_attrs_for_insn.
2752 * doc/md.texi (Defining Attributes): Mention some standard names.
2753 (Conditional Execution): Update documentation for "predicable".
2754
3801c801
BS
2755 * doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
2756 __builtin_clrsbll): Document.
2757 * doc/rtl.texi (clrsb): New entry.
2758 * optabs.c (widen_leading): Renamed from widen_clz. New argument
2759 UNOPTAB. All callers changed. Use UNOPTAB instead of clz_optab.
2760 (expand_unop): Handle clrsb_optab.
2761 (init_optabs): Initialize it.
2762 * optabs.h (enum optab_index): New entry OTI_clrsb.
2763 (clrsb_optab): Define.
2764 * genopinit.c (optabs): Add an entry for it.
2765 * builtins.c (expand_builtin): Handle clrsb builtin functions.
2766 * builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
2767 BUILT_IN_CLRSBLL): New.
2768 * rtl.def (CLRSB): New code.
2769 * dwarf2out.c (mem_loc_descriptor): Handle it.
2770 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
2771 Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
2772 and popcount.
2773 * libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
2774 * libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
2775 (__ctzDI2): Move declaration.
2776 * config/bfin/bfin.md (clrsbsi2): New expander.
2777 (signbitssi2): Use the CLRSB rtx.
2778 (clrsbhi2): Renamed from signbitshi2. Use the CLRSB rtx.
2779 * config/bfin/bfin.c (bdesc_1arg): Changed accordingly.
2780
55f01229
RG
27812011-06-21 Richard Guenther <rguenther@suse.de>
2782
637c11bd 2783 * ipa-inline-transform.c (inline_transform): Fix previous change.
55f01229 2784
5181cd6a
IR
27852011-06-21 Ira Rosen <ira.rosen@linaro.org>
2786
2787 PR tree-optimization/49478
2788 * tree-vect-loop.c (vectorizable_reduction): Handle DOT_PROD_EXPR
2789 with constant operand.
2790
e4ee3d70
RG
27912011-06-21 Richard Guenther <rguenther@suse.de>
2792
2793 * ipa-inline-transform.c (inline_transform): Fix typo.
637c11bd 2794
7b7ec6c5
RG
27952011-06-21 Richard Guenther <rguenther@suse.de>
2796
2797 PR tree-optimization/49483
2798 * tree-vect-stmts.c (vectorizable_assignment): Also handle
2799 VIEW_CONVERT_EXPR conversions.
2800
1b916ca6
JM
28012011-06-21 Joseph Myers <joseph@codesourcery.com>
2802
2803 * config/avr/avr-mcus.def, config/avr/genopt.sh: New files.
2804 * config/avr/avr-tables.opt: New file (generated).
2805 * config.gcc (avr-*-*): Use avr/avr-tables.opt.
2806 * config/avr/avr-devices.c (avr_mcu_types): Move contents to
2807 avr-mcus.def.
2808 * config/avr/avr.c (avr_help, TARGET_HELP): Remove.
2809 (avr_option_override): Don't process -mmcu= argument here. Set
2810 avr_current_device using avr_mcu_index.
637c11bd 2811 (avr_file_start): Use avr_current_device->name instead of avr_mcu_name.
1b916ca6
JM
2812 * config/avr/avr.opt (mmcu=): Use Enum.
2813 * config/avr/t-avr (avr-devices.o): Update dependencies.
2814 ($(srcdir)/config/avr/avr-tables.opt): New.
2815 * target.def (help): Remove.
2816 * doc/tm.texi.in (TARGET_HELP): Remove.
2817 * doc/tm.texi: Regenerate.
2818 * opts.c: Don't include target.h.
2819 (common_handle_option): Don't call targetm.help.
2820 * system.h (TARGET_HELP): Poison.
2821 * Makefile.in (opts.o): Update dependencies.
2822
7ecfa34f
RO
28232011-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2824
2825 * config/usegld.h: New file.
2826 * config/sol2.h (PREFERRED_DEBUGGING_TYPE): Remove.
2827 (CPP_SUBTARGET_SPEC): Remove -compat-bsd support.
637c11bd 2828 (LIB_SPEC): Likewise. Search /lib.
7ecfa34f
RO
2829 (LINK_ARCH32_SPEC_BASE): Remove -compat-bsd support.
2830 (RDYNAMIC_SPEC): Handle GNU ld.
637c11bd
UB
2831 [HAVE_LD_EH_FRAME_HDR && TARGET_DL_ITERATE_PHDR] (LINK_EH_SPEC):
2832 Define.
7ecfa34f
RO
2833 (SUPPORTS_INIT_PRIORITY): Only disable for Sun ld.
2834 (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Define.
2835 [!USE_GAS] (NO_DBX_BNSYM_ENSYM): Redefine.
2836 (STACK_CHECK_STATIC_BUILTIN): Define.
2837 * config/sol2.opt (compat-bsd): Remove.
2838 * config/sol2-10.h (TARGET_C99_FUNCTIONS): Remove undef.
2839 * config/sol2-bi.h: New file.
2840 * config/sol2-gld.h: Remove.
2841 * config/i386/sol2.h (TLS_COMMON_ASM_OP): Only define if !USE_GAS.
2842 (NO_DBX_BNSYM_ENSYM): Remove.
2843 (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
2844 (STACK_CHECK_STATIC_BUILTIN): Remove.
2845 Test USE_GLD instead of TARGET_GNU_LD.
2846 * config/i386/sol2-10.h: Rename to ...
2847 * config/i386/sol2-bi.h .. this.
2848 (SUBTARGET_EXTRA_SPECS): Redefine.
2849 (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Remove.
2850 (MULTILIB_DEFAULTS): Remove.
2851 (DEFAULT_ARCH32_P): Define.
2852 (LINK_ARCH64_SPEC_BASE, LINK_ARCH64_SPEC): Remove.
2853 (ARCH64_SUBDIR): Define.
2854 Test USE_GLD instead of TARGET_GNU_LD.
2855 (I386_EMULATION): Rename to ...
2856 (ARCH32_EMULATION): ... this.
2857 (X86_64_EMULATION): Rename to ...
2858 (ARCH64_EMULATION): ... this.
2859 (TARGET_LD_EMULATION): Remove.
2860 (LINK_ARCH_SPEC): Remove.
2861 * config/i386/sol2-gas.h: Remove.
2862 * config/i386/t-sol2-10: Rename to ...
2863 * config/i386/t-sol2-64: ... this.
2864 * config/sparc/sol2.h (SPARC_DEFAULT_CMODEL): Redefine.
2865 (AS_SPARC64_FLAG): Define.
2866 (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Redefine.
2867 (CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC): Redefine
2868 depending on TARGET_CPU_DEFAULT.
2869 (CPP_CPU_SPEC): Redefine.
2870 (ASM_CPU_SPEC): Handle DEFAULT_ARCH32_P.
2871 (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Redefine.
2872 (CPP_ARCH32_SPEC, CPP_ARCH64_SPEC, CPP_ARCH_SPEC): Redefine.
2873 (ASM_ARCH_SPEC, ASM_ARCH32_SPEC, ASM_ARCH64_SPEC,
2874 ASM_ARCH_DEFAULT_SPEC): Redefine.
2875 (SUBTARGET_EXTRA_SPECS): Add LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
2876 LINK_ARCH_DEFAULT_SPEC.
2877 [USE_GLD] (ARCH32_EMULATION, ARCH64_EMULATION): Define.
2878 [USE_GLD] (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Redefine.
2879 (ARCH64_SUBDIR): Define.
2880 (LINK_ARCH64_SPEC): Redefine.
2881 (CC1_SPEC): Redefine.
2882 (OPTION_DEFAULT_SPECS): Redefine.
2883 (MULTILIB_DEFAULTS): Define.
2884 (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Redefine.
2885 [USE_GAS && HAVE_AS_TLS] (TARGET_SUN_TLS, TARGET_GNU_TLS): Redefine.
2886 [USE_GLD] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undef.
2887 (NO_DBX_BNSYM_ENSYM): Remove.
2888 (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
2889 (ASM_OUTPUT_ALIGN_WITH_NOP): Only define if !USE_GAS.
2890 (TARGET_ASM_NAMED_SECTION): Likewise.
2891 (STACK_CHECK_STATIC_BUILTIN): Remove.
2892 * config/sparc/sol2-bi.h: Remove.
2893 * config/sparc/sol2-gas-bi.h: Remove.
2894 * config/sparc/sol2-gas.h: Remove.
2895 * config/sparc/sol2-gld-bi.h: Remove.
2896 * config.gcc (i[34567]86-*-solaris2*, sparc*-*-solaris2*): Move
2897 common parts ...
2898 (*-*-solaris2*): ... here.
2899
4b583c43 29002011-06-21 Christian Bruel <christian.bruel@st.com>
637c11bd 2901
4b583c43 2902 PR other/43564
637c11bd
UB
2903 * ipa-inline.c (can_inline_edge_p): Check
2904 !DECL_DISREGARD_INLINE_LIMITS.
2905
3bb556ad 29062011-06-21 Christian Bruel <christian.bruel@st.com>
637c11bd 2907
3bb556ad
CB
2908 PR middle-end/49139
2909 * cgraphunit.c (process_function_and_variable_attributes): warn when
2910 always_inline functions that are not inline.
637c11bd
UB
2911 * ipa-inline-transform.c (inline_transform): Always call
2912 optimize_inline.
2913 * tree-inline.c (tree_inlinable_function_p): Use error instead
2914 of sorry.
3bb556ad 2915 (expand_call_inline): Likewise.
637c11bd 2916
f1ee724c
JJ
29172011-06-21 Jakub Jelinek <jakub@redhat.com>
2918
2919 * Makefile.in (dg_target_exps): Set.
2920 (check_gcc_parallelize): Parallelize gcc testing into 10 jobs
2921 instead of 7, try to divide it more evenly.
2922
29232011-06-20 Changpeng Fang <changpeng.fang@amd.com>
97ef5ae6 2924
931050d0 2925 PR target/49089
97ef5ae6
CF
2926 * config/i386/i386.c (avx256_split_unaligned_load): New definition.
2927 (avx256_split_unaligned_store): New definition.
2928 (ix86_option_override_internal): Enable avx256 unaligned load/store
2929 splitting only when avx256_split_unaligned_load/store is set.
2930
998c75b6
BS
29312011-06-20 Bernd Schmidt <bernds@codesourcery.com>
2932
2933 * regrename.c (scan_rtx_reg): Handle the case where we write to an
2934 open chain in a smaller mode without failing the entire block.
2935
83a8cbda
L
29362011-06-20 H.J. Lu <hongjiu.lu@intel.com>
2937
2938 PR middle-end/47725
2939 * combine.c (cant_combine_insn_p): Don't check zero/sign
2940 extended hard registers.
2941
3a769784
AM
29422011-06-21 Alan Modra <amodra@gmail.com>
2943
2944 * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): Match
2945 CONST high part large-toc address.
2946 (rs6000_tls_referenced_p): Make static.
2947 * config/rs6000/rs6000-protos.h (rs6000_tls_referenced_p): Delete.
2948
d1e32c4a
L
29492011-06-20 H.J. Lu <hongjiu.lu@intel.com>
2950
2951 PR middle-end/47725
2952 * combine.c (cant_combine_insn_p): Check zero/sign extended
2953 hard registers.
2954
c2954af9
RR
29552011-06-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2956
2957 PR target/49385
2958 * config/arm/thumb2.md (*thumb2_movhi_insn): Make sure atleast
2959 one of the operands is a register.
2960
a95015b6
KT
29612011-06-20 Kai Tietz <ktietz@redhat.com>
2962
637c11bd
UB
2963 * fold-const.c (fold_binary_loc): Add missing folding for truth-not
2964 operations in combination with binary and.
a95015b6 2965
49a30d00
BS
29662011-06-20 Bernd Schmidt <bernds@codesourcery.com>
2967
2968 * regrename.c (do_replace): Don't update notes.
2969
3bae1d98
AM
29702011-06-20 Alan Modra <amodra@gmail.com>
2971
2972 * config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
2973 of toc-relative address in CONST.
2974 (rs6000_delegitimize_address): Recognize changed address.
2975 (rs6000_legitimize_reload_address): Likewise.
2976 (rs6000_emit_move): Don't force these constants to memory.
2977 * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
2978 toc-relative address in CONST.
2979 (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
2980 (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
2981
10937b0c
L
29822011-06-18 H.J. Lu <hongjiu.lu@intel.com>
2983
637c11bd 2984 * longlong.h (count_leading_zeros): Use long long builtin for x86-64.
10937b0c
L
2985 (count_trailing_zeros): Likewise.
2986
0c587260
L
29872011-06-18 H.J. Lu <hongjiu.lu@intel.com>
2988
2989 PR other/49325
2990 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Properly check if
2991 .init_array can be used with .ctors on targets.
2992 * configure: Regenerated.
2993
c020c92b
EB
29942011-06-18 Eric Botcazou <ebotcazou@adacore.com>
2995
2996 * tree-sra.c (type_internals_preclude_sra_p) <ARRAY_TYPE>: Return true
2997 if the element type is volatile.
2998
cd35bcf7
JH
29992011-06-18 Jan Hubicka <jh@suse.cz>
3000
3001 * lto-symtab.c (lto_varpool_replace_node): Remove code handling
3002 extra name aliases.
3003 (lto_symtab_resolve_can_prevail_p): Likewise.
3004 (lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
3005 * cgraphbuild.c (record_reference): Remove extra body alias code.
3006 (mark_load): Likewise.
3007 (mark_store): Likewise.
3008 * cgraph.h (varpool_node): Remove extra_name filed;
3009 add alias_of and extraname_alias.
3010 (varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
3011 (varpool_alias_aliased_node): New inline function.
3012 (varpool_variable_node): New function.
3013 * cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
3014 * ipa-ref.c (ipa_record_reference): Allow aliases on variables.
3015 * lto-cgraph.c (lto_output_varpool_node): Update streaming.
3016 (input_varpool_node): Likewise.
3017 * lto-streamer-out.c (produce_symtab): Remove extra name aliases.
3018 (varpool_externally_visible_p): Remove extra body alias code.
3019 (function_and_variable_visibility): Likewise.
3020 * tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
3021 (ipa_pta_execute): Use it.
3022 * varpool.c (varpool_remove_node): Remove extra name alias code.
3023 (varpool_mark_needed_node): Likewise.
3024 (varpool_analyze_pending_decls): Analyze aliases.
3025 (assemble_aliases): New functoin.
3026 (varpool_assemble_decl): Use it.
3027 (varpool_create_variable_alias): New function.
3028 (varpool_extra_name_alias): Rewrite.
3029 (varpool_for_node_and_aliases): New function.
3030
c96b4102
JJ
30312011-06-18 Jakub Jelinek <jakub@redhat.com>
3032
3033 PR target/49411
3034 * config/i386/i386.c (ix86_expand_multi_arg_builtins): If
3035 last_arg_constant and last argument doesn't match its predicate,
3036 for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
3037 if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
3038 (ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
3039 spelling of error message.
3040 * config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
3041 vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
3042 const_0_to_255_operand instead of const_int_operand.
3043
3044 Revert:
3045 2011-05-09 Uros Bizjak <ubizjak@gmail.com>
3046
3047 * config/i386/sse.md (blendbits): Remove mode attribute.
3048 (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
3049 instead of const_0_to_<blendbits>_operand for operand 3 predicate.
3050 Check integer value of operand 3 in insn constraint.
3051
9a2091cd
HPN
30522011-06-17 Hans-Peter Nilsson <hp@axis.com>
3053
3054 PR rtl-optimization/48542
3055 * reload.c (find_equiv_reg): Stop looking when finding a
3056 setjmp-type call.
3057 * reload1.c (reload_as_needed): Invalidate all reload
3058 registers when crossing a setjmp-type call.
3059
361b51c0
JL
30602011-06-16 Jeff Law <law@redhat.com>
3061
3062 * tree-ssa-threadupdate.c (struct redirection_data): New field
3063 intermediate_edge.
3064 (THREAD_TARGET2): Define.
637c11bd 3065 (redirection_data_eq): Also check that the intermediate edge is equal.
361b51c0
JL
3066 (lookup_redirection_data): Drop useless argument. Extract the
3067 outgoing_edge and intermediate edge from E. Callers updated.
3068 (copy_phi_args, update_destination_phis): New functions.
3069 (fix_duplicate_block_edges): Likewise.
3070 (create_edge_and_update_destination_phis): Duplicate all the edges
3071 hung off e->aux. Use copy_phi_args.
3072 (create_duplicates): Use fix_duplicate_block_edges.
3073 (fixup_template_block): Likewise.
3074 (redirect_edges): If necessary, redirect the joiner block's incoming
3075 edge to the duplicate of the joiner block.
3076 (thread_block): Don't muck up loops when threading through a joiner
3077 block.
637c11bd 3078 (thread_through_loop_header): Handle threading through a joiner block.
361b51c0
JL
3079 (mark_threaded_blocks, register_jump_thread): Likewise.
3080 * tree-flow.h (register_jump_thread): Add new argument. Callers
3081 updated.
3082 * tree-ssa-threadedge.c (phi_args_equal_on_edges): New function.
3083 (thread_across_edge): Handle threading through a joiner block.
637c11bd 3084
ee460e75
MJ
30852011-06-16 Martin Jambor <mjambor@suse.cz>
3086
3087 PR tree-optimization/49343
3088 * tree-sra.c (build_ref_for_model): Use component_ref_field_offset to
3089 calculate offset, provide 2nd operand for the new COMPONENT_REF.
3090
a285ba2e
IS
30912011-06-16 Iain Sandoe <iains@gcc.gnu.org>
3092
3093 * config/darwin-protos.h (machopic_select_rtx_section): Move to
3094 inside RTX_CODE ifdef.
3095
0703f020
TV
30962011-06-16 Tom de Vries <tom@codesourcery.com>
3097
3098 PR target/45098
637c11bd
UB
3099 * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith):
3100 Disallow NULL pointer for pointer arithmetic.
0703f020 3101
900c07da
RR
31022011-06-16 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3103
3104 PR target/49398
3105 Revert.
3106 2011-06-10 Wei Guozhi <carrot@google.com>
3107
3108 PR target/45335
3109 * config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da,
3110 stm2_da, ldm2_db, stm2_db): Add condition !arm_arch7 to these insns.
3111 (ldrd, ldrd_reg1, ldrd_reg2 and peephole2): New insn patterns and
3112 related peephole2.
3113 (strd, strd_reg1, strd_reg2 and peephole2): New insn patterns and
3114 related peephole2.
3115 * config/arm/arm-protos.h (arm_check_ldrd_operands): New prototype.
3116 (arm_legitimate_ldrd_p): New prototype.
3117 (arm_output_ldrd): New prototype.
3118 * config/arm/arm.c (arm_check_ldrd_operands): New function.
3119 (arm_legitimate_ldrd_p): New function.
3120 (arm_output_ldrd): New function.
3121
c020c92b 31222011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
3123
3124 PR middle-end/46500
3125 * doc/tm.texi.in: Update Copyright date.
3126 * doc/tm.texi: Regenerate.
3127 * targhooks.c (default_setup_incoming_varargs): Replace
3128 CUMULATIVE_ARGS* argument type with cumulative_args_t.
3129 (default_pretend_outgoing_varargs_named): Likewise.
3130 (hook_pass_by_reference_must_pass_in_stack): Likewise.
3131 (hook_callee_copies_named): Likewise.
3132 (default_function_arg_advance): Likewise.
3133 (default_function_arg): Likewise.
3134 (default_function_incoming_arg): Likewise.
3135 (hook_bool_CUMULATIVE_ARGS_false): Likewise.
3136 (hook_bool_CUMULATIVE_ARGS_true): Likewise.
3137 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
3138 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
3139 (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
3140 * targhooks.h (default_setup_incoming_varargs): Likewise.
3141 (default_pretend_outgoing_varargs_named): Likewise.
3142 (hook_pass_by_reference_must_pass_in_stack): Likewise.
3143 (hook_callee_copies_named): Likewise.
3144 (default_function_arg_advance): Likewise.
3145 (default_function_arg): Likewise.
3146 (default_function_incoming_arg): Likewise.
3147 (hook_bool_CUMULATIVE_ARGS_false): Likewise.
3148 (hook_bool_CUMULATIVE_ARGS_true): Likewise.
3149 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
3150 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
3151 (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
3152 * target.def (pass_by_reference): Likewise.
3153 (setup_incoming_varargs, strict_argument_naming): Likewise.
3154 (pretend_outgoing_varargs_named, callee_copies): Likewise.
3155 (arg_partial_bytes, function_arg_advance, function_arg): Likewise.
3156 (function_incoming_arg): Likewise.
3157 * target.h: Don't include "tm.h" .
3158 (cumulative_args_t): New typedef.
3159 [GCC_TM_H] (get_cumulative_args): New static inline function.
3160 [GCC_TM_H] (pack_cumulative_args): Likewise.
3161 * config/alpha/alpha.c (alpha_function_arg): Replace CUMULATIVE_ARGS*
3162 argument type with cumulative_args_t.
3163 (alpha_function_arg_advance, alpha_arg_partial_bytes): Likewise.
3164 (alpha_pass_by_reference, alpha_setup_incoming_varargs): Likewise.
3165 * config/frv/frv.c (frv_setup_incoming_varargs): Likewise.
3166 (frv_arg_partial_bytes, frv_function_arg): Likewise.
3167 (frv_function_incoming_arg, frv_function_arg_advance): Likewise.
3168 (frv_function_arg_1): Likewise.
3169 * config/s390/s390.c (s390_pass_by_reference): Likewise.
3170 (s390_function_arg_advance, s390_function_arg): Likewise.
3171 * config/m32c/m32c.c (m32c_function_arg): Likewise.
3172 (m32c_pass_by_reference, m32c_function_arg_advance): Likewise.
3173 (m32c_strict_argument_naming): Likewise.
3174 * config/spu/spu.c (spu_pass_by_reference, spu_function_arg): Likewise.
3175 (spu_function_arg_advance): Likewise.
3176 (spu_setup_incoming_varargs): Likewise. Make static.
3177 * config/spu/spu-protos.h (spu_setup_incoming_varargs):
3178 Remove prototype.
3179 * config/sparc/sparc.c (sparc_strict_argument_naming): Replace
3180 CUMULATIVE_ARGS* argument type with cumulative_args_t.
3181 (sparc_pass_by_reference, sparc_function_arg_advance): Likewise.
3182 (sparc_function_arg, sparc_function_incoming_arg): Likewise.
3183 (sparc_arg_partial_bytes, sparc_function_arg_1): Likewise.
3184 * config/mep/mep.c (mep_setup_incoming_varargs): Likewise.
3185 (mep_pass_by_reference, mep_function_arg): Likewise.
3186 (mep_function_arg_advance): Likewise.
3187 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
3188 (m32r_pass_by_reference, m32r_arg_partial_bytes): Likewise.
3189 (m32r_function_arg, m32r_function_arg_advance): Likewise.
3190 * config/rx/rx.c (rx_function_arg, rx_function_arg_advance): Likewise.
3191 * config/i386/i386.c (ix86_function_arg_advance): Likewise.
3192 (ix86_function_arg, ix86_pass_by_reference): Likewise.
3193 (ix86_setup_incoming_varargs): Likewise.
3194 * config/sh/sh.c (sh_setup_incoming_varargs): Likewise.
3195 (sh_strict_argument_naming): Likewise.
3196 (sh_pretend_outgoing_varargs_named, sh_pass_by_reference): Likewise.
3197 (sh_callee_copies, sh_arg_partial_bytes): Likewise.
3198 (sh_function_arg_advance, sh_function_arg): Likewise.
3199 * config/pdp11/pdp11.c (pdp11_function_arg): Likewise.
3200 (pdp11_function_arg_advance): Likewise.
3201 * config/microblaze/microblaze.c (microblaze_function_arg_advance):
3202 Likewise.
3203 (microblaze_function_arg, function_arg_partial_bytes): Likewise.
3204 * config/avr/avr.c (avr_function_arg): Likewise.
3205 (avr_function_arg_advance): Likewise.
3206 * config/xtensa/xtensa.c (xtensa_function_arg_advance): Likewise.
3207 (xtensa_function_arg, xtensa_function_incoming_arg): Likewise.
3208 (xtensa_function_arg_1): Likewise.
637c11bd
UB
3209 * config/stormy16/stormy16.c (xstormy16_function_arg_advance):
3210 Likewise.
d5cc9181
JR
3211 (xstormy16_function_arg): Likewise.
3212 * config/fr30/fr30.c (fr30_setup_incoming_varargs): Likewise.
3213 (fr30_arg_partial_bytes, fr30_function_arg): Likewise.
3214 (fr30_function_arg_advance): Likewise.
3215 * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
3216 (lm32_function_arg, lm32_function_arg_advance): Likewise.
3217 * config/moxie/moxie.c (moxie_setup_incoming_varargs): Likewise.
3218 (moxie_function_arg, moxie_function_arg_advance): Likewise.
3219 (moxie_pass_by_reference, moxie_arg_partial_bytes): Likewise.
3220 * config/cris/cris.c (cris_setup_incoming_varargs): Likewise.
3221 (cris_pass_by_reference, cris_arg_partial_bytes): Likewise.
3222 (cris_function_arg, cris_function_incoming_arg): Likewise.
3223 (cris_function_arg_advance, cris_function_arg_1): Likewise.
3224 * config/iq2000/iq2000.c (iq2000_setup_incoming_varargs): Likewise.
3225 (iq2000_pass_by_reference, iq2000_arg_partial_bytes): Likewise.
3226 (iq2000_function_arg, iq2000_function_arg_advance): Likewise.
3227 * config/mn10300/mn10300.c (mn10300_pass_by_reference): Likewise.
3228 (mn10300_function_arg, mn10300_function_arg_advance): Likewise.
3229 (mn10300_arg_partial_bytes): Likewise.
3230 * config/ia64/ia64.c (ia64_setup_incoming_varargs): Likewise.
3231 (ia64_arg_partial_bytes, ia64_function_arg): Likewise.
3232 (ia64_function_incoming_arg, ia64_function_arg_advance): Likewise.
3233 (ia64_function_arg_1): Likewise.
3234 * config/m68k/m68k.c (m68k_function_arg_advance): Likewise.
3235 (m68k_function_arg): Likewise.
3236 * config/rs6000/rs6000.c (rs6000_function_arg_advance): Likewise.
3237 (rs6000_function_arg, setup_incoming_varargs): Likewise.
3238 (rs6000_pass_by_reference, rs6000_arg_partial_bytes): Likewise.
3239 * config/picochip/picochip.c (picochip_arg_partial_bytes): Likewise.
3240 (picochip_function_arg, picochip_incoming_function_arg): Likewise.
3241 (picochip_arg_advance): Likewise.
3242 * config/mcore/mcore.c (mcore_setup_incoming_varargs): Likewise.
3243 (mcore_arg_partial_bytes, mcore_function_arg): Likewise.
3244 (mcore_function_arg_advance): Likewise.
3245 * config/score/score.c (score_pass_by_reference): Likewise.
3246 (score_function_arg_advance): Likewise.
3247 (score_arg_partial_bytes): Likewise. Make static.
3248 * config/score/score-protos.h (score_arg_partial_bytes): Don't declare.
3249 * config/arm/arm.c (arm_arg_partial_bytes): Replace
3250 CUMULATIVE_ARGS* argument type with cumulative_args_t.
3251 (arm_function_arg, arm_function_arg_advance): Likewise.
3252 (arm_setup_incoming_varargs, arm_pass_by_reference): Likewise.
3253 * config/pa/pa.c (pa_pass_by_reference): Likewise.
3254 (pa_arg_partial_bytes, pa_function_arg_advance): Likewise.
3255 (pa_function_arg): Likewise.
3256 * config/mips/mips.c (mips_strict_argument_naming): Likewise.
3257 (mips_function_arg, mips_function_arg_advance): Likewise.
3258 (mips_arg_partial_bytes, mips_pass_by_reference): Likewise.
3259 (mips_callee_copies, mips_setup_incoming_varargs): Likewise.
3260 * config/vax/vax.c (vax_function_arg): Likewise.
3261 (vax_function_arg_advance): Likewise.
3262 * config/h8300/h8300.c (h8300_function_arg): Likewise.
3263 (h8300_function_arg_advance): Likewise.
3264 * config/v850/v850.c (v850_pass_by_reference): Likewise.
3265 (v850_strict_argument_naming, v850_function_arg): Likewise.
3266 (v850_arg_partial_bytes, v850_function_arg_advance): Likewise.
3267 (v850_setup_incoming_varargs): Likewise.
3268 * config/mmix/mmix.c (mmix_setup_incoming_varargs): Likewise.
3269 (mmix_function_arg_advance, mmix_function_incoming_arg): Likewise.
3270 (mmix_function_arg, mmix_pass_by_reference): Likewise.
3271 (mmix_function_arg_1): Replace const CUMULATIVE_ARGS* argument type
3272 with const void *.
3273 * config/bfin/bfin.c (setup_incoming_varargs): Replace
3274 CUMULATIVE_ARGS* argument type with cumulative_args_t.
3275 (bfin_function_arg_advance, bfin_function_arg): Likewise.
3276 (bfin_arg_partial_bytes, bfin_pass_by_reference): Likewise.
3277 * calls.c (emit_call_1): Change type of args_so_far to
3278 cumulative_args_t. Changed all callers.
3279 (initialize_argument_information): Likewise.
3280 (expand_call, emit_library_call_value_1): Use pack_cumulative_args.
3281 * dse.c (get_call_args): Likewise.
3282 * expr.c (block_move_libcall_safe_for_call_parm): Likewise.
3283 * function.c (pass_by_reference, reference_callee_copied): Likewise.
3284 (struct assign_parm_data_all): Rename args_so_far to args_so_far_v.
3285 New member args_so_far_v. Changed all users.
3286 * var-tracking.c (prepare_call_arguments): Use pack_cumulative_args.
3287 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
3288 * config/mips/mips.c (mips_output_args_xfer): Likewise.
3289 * config/s390/s390.c (s390_call_saved_register_used): Likewise.
3290 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
637c11bd
UB
3291 * config/microblaze/microblaze.c (microblaze_expand_prologue):
3292 Likewise.
d5cc9181
JR
3293 * config/m32r/m32r.c (m32r_return_in_memory): Adjust for changed
3294 m32r_pass_by_reference.
3295
51312233
IR
32962011-06-16 Ira Rosen <ira.rosen@linaro.org>
3297
3298 * tree-vectorizer.h (vect_recog_func_ptr): Change the first
3299 argument to be a VEC of statements.
637c11bd
UB
3300 * tree-vect-loop.c (vect_determine_vectorization_factor): Remove the
3301 assert that pattern statements have to have their vector type set.
51312233
IR
3302 * tree-vect-patterns.c (vect_recog_widen_sum_pattern):
3303 Change the first argument to be a VEC of statements. Update
3304 documentation.
3305 (vect_recog_dot_prod_pattern, vect_recog_pow_pattern): Likewise.
3306 (vect_handle_widen_mult_by_const): New function.
637c11bd
UB
3307 (vect_recog_widen_mult_pattern): Change the first argument to be a
3308 VEC of statements. Update documentation. Check that the constant is
3309 INTEGER_CST. Support multiplication by a constant that fits an
3310 intermediate type - call vect_handle_widen_mult_by_const.
51312233
IR
3311 (vect_pattern_recog_1): Update vect_recog_func_ptr and its
3312 call. Handle additional pattern statements if necessary.
3313
fd4df33d
NC
33142011-06-16 Nick Clifton <nickc@redhat.com>
3315
3316 PR target/49427
3317 * config.gcc: Set cpu_type to v850 for any V850 architecture.
3318 (v850*-*-*): Delete explicit setting of tm_p_file, tmake_file,
3319 md_file, extra_modes, out_file and extra_options are these are all
3320 deduced from cpu_type.
3321
fbd05da0
GJL
33222011-06-16 Georg-Johann Lay <avr@gjlay.de>
3323
3324 * config/avr/libgcc.S (__ashldi3, __ashrdi3, __lshrdi3): Set shift
3325 truncation mask to 63.
3326
0ad8bb3b
GJL
33272011-06-16 Georg-Johann Lay <avr@gjlay.de>
3328
3329 PR target/49313
3330 PR target/29524
3331 * longlong.h: Add AVR support:
3332 (count_leading_zeros): New macro.
3333 (count_trailing_zeros): New macro.
3334 (COUNT_LEADING_ZEROS_0): New macro.
637c11bd
UB
3335 * config/avr/t-avr (LIB1ASMFUNCS): Add _ffssi2, _ffshi2, _loop_ffsqi2,
3336 _ctzsi2, _ctzhi2, _clzdi2, _clzsi2, _clzhi2, _paritydi2, _paritysi2,
3337 _parityhi2, _popcounthi2,_popcountsi2, _popcountdi2, _popcountqi2,
3338 _bswapsi2, _bswapdi2, _ashldi3, _ashrdi3, _lshrdi3.
0ad8bb3b
GJL
3339 (LIB2FUNCS_EXCLUDE): Add _clz.
3340 * config/avr/libgcc.S (XCALL): Move up in file.
3341 (XJMP): New C Macro.
3342 (DEFUN): New asm macro.
3343 (ENDF): New asm macro.
3344 (__ffssi2): New function.
3345 (__ffshi2): New function.
3346 (__loop_ffsqi2): New function.
3347 (__ctzsi2): New function.
3348 (__ctzhi2): New function.
3349 (__clzdi2): New function.
3350 (__clzsi2): New function.
3351 (__clzhi2): New function.
3352 (__paritydi2): New function.
3353 (__paritysi2): New function.
3354 (__parityhi2): New function.
59c1e10b 3355 (__parityqi2): New function.
0ad8bb3b
GJL
3356 (__popcounthi2): New function.
3357 (__popcountsi2): New function.
3358 (__popcountdi2): New function.
3359 (__popcountqi2): New function.
3360 (__bswapsi2): New function.
3361 (__bswapdi2): New function.
3362 (__ashldi3): New function.
3363 (__ashrdi3): New function.
3364 (__lshrdi3): New function.
3365 Fix suspicous lines.
3366
12430896
RG
33672011-06-16 Richard Guenther <rguenther@suse.de>
3368
3369 * gimple.c (canonicalize_cond_expr_cond): (bool)x is not
3370 the same as x != 0.
637c11bd
UB
3371 * fold-const.c (fold_binary_loc): Do not fold X & 1 != 0
3372 to (bool) X & 1.
12430896
RG
3373 * ipa-prop.c (ipa_analyze_indirect_call_uses): Also allow
3374 equality compares against zero for the lower bit.
3375
09302442
JJ
33762011-06-16 Jakub Jelinek <jakub@redhat.com>
3377
3378 PR tree-optimization/49419
3379 * tree-vrp.c (execute_vrp): Call init_range_assertions
3380 before estimate_numbers_of_iterations, call
3381 free_number_of_iterations_estimates before calling
3382 remove_range_assertions.
3383
81c41166
RE
33842011-06-16 Revital Eres <revital.eres@linaro.org>
3385
3386 * modulo-sched.c (struct ps_insn): Remove row_rest_count field.
3387 (struct partial_schedule): Add rows_length field.
3388 (verify_partial_schedule): Check rows_length.
3389 (ps_insert_empty_row): Handle rows_length.
3390 (create_partial_schedule): Likewise.
3391 (free_partial_schedule): Likewise.
3392 (reset_partial_schedule): Likewise.
3393 (create_ps_insn): Remove rest_count argument.
3394 (remove_node_from_ps): Update rows_length.
3395 (add_node_to_ps): Update rows_length and call create_ps_insn
3396 without passing row_rest_count.
3397 (rotate_partial_schedule): Update rows_length.
3398
d24dc7b3
RE
33992011-06-16 Revital Eres <revital.eres@linaro.org>
3400
3401 * ddg.c (add_intra_loop_mem_dep): New function.
3402 (build_intra_loop_deps): Call it.
3403
361b51c0 34042011-06-13 Jeff Law <law@redhat.com>
2098e438
JL
3405
3406 * df-problems.c (df_lr_local_compute): Manually CSE
3407 PIC_OFFSET_TABLE_REGNUM.
3408 * df-scan.c (df_get_regular_block_artificial_uses): Likewise.
3409 (df_get_entry_block_def_set, df_get_exit_block_use_set): Likewise.
3410
85ce9375
JH
34112011-06-13 Jan Hubicka <jh@suse.cz>
3412
3413 * cgraphunit.c (handle_alias_pairs): New function.
3414 (cgraph_finalize_compilation_unit): Use it.
3415 * ipa.c (cgraph_externally_visible_p): Remove hack marking asm names
3416 as externally visible.
3417
a577c405
RG
34182011-06-15 Richard Guenther <rguenther@suse.de>
3419
3420 * expr.c (expand_expr_real_2): Reduce all integral types to
3421 bitfield precision.
3422 (expand_expr_real_1): Likewise.
3423
93536c97
MJ
34242011-06-15 Martin Jambor <mjambor@suse.cz>
3425
3426 PR tree-optimization/48613
3427 * ipa-prop.c (ipa_prop_write_jump_functions): Return immediately if
3428 ipa_node_params_vector is NULL.
fd4df33d 3429
ba45cfc4
JJ
34302011-06-15 Jakub Jelinek <jakub@redhat.com>
3431
3432 PR debug/49382
3433 * dwarf2out.c (dw_loc_list_node): Add force field.
637c11bd
UB
3434 (add_var_loc_to_decl): For PARM_DECL, attempt to keep the incoming
3435 location in the list, even if it is modified before first real insn.
ba45cfc4 3436 (output_loc_list): Emit empty ranges with force flag set.
637c11bd 3437 (dw_loc_list): If first range of a PARM_DECL is empty, set force flag.
ba45cfc4 3438
6fc5966f
AM
34392011-06-15 Alexander Monakov <amonakov@ispras.ru>
3440
3441 PR target/49349
3442 * sel-sched.c (find_place_for_bookkeeping): Add new parameter
3443 (fence_to_rewind). Use it to notice when bookkeeping will be placed
3444 above a fence. Update comments.
3445 (generate_bookkeeping_insn): Rewind fence when bookkeeping code is
3446 placed just above it. Do not allow NULL place_to_insert.
3447
9d5e7640
IR
34482011-06-15 Ira Rosen <ira.rosen@linaro.org>
3449
3450 * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): Remove.
3451 (slpeel_tree_peel_loop_to_edge): Don't call
3452 remove_dead_stmts_from_loop.
3453 * tree-vect-loop.c (vect_determine_vectorization_factor): Don't
3454 remove irrelevant pattern statements. For irrelevant statements
3455 check if it is the last statement of a detected pattern, use
3456 corresponding pattern statement instead.
3457 (destroy_loop_vec_info): No need to remove pattern statements,
3458 only free stmt_vec_info.
3459 (vect_transform_loop): For irrelevant statements check if it is
3460 the last statement of a detected pattern, use corresponding
3461 pattern statement instead.
3462 * tree-vect-patterns.c (vect_pattern_recog_1): Don't insert
3463 pattern statements. Set basic block for the new statement.
3464 (vect_pattern_recog): Update documentation.
3465 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Scan
3466 operands of pattern statements.
3467 (vectorizable_call): Fix printing. In case of a pattern statement
3468 use the lhs of the original statement when creating a dummy
3469 statement to replace the original call.
3470 (vect_analyze_stmt): For irrelevant statements check if it is
3471 the last statement of a detected pattern, use corresponding
3472 pattern statement instead.
3473 * tree-vect-slp.c (vect_schedule_slp_instance): For pattern
3474 statements use gsi of the original statement.
3475
677f3fa8
JM
34762011-06-14 Joseph Myers <joseph@codesourcery.com>
3477
3478 * target-def.h (TARGET_HAVE_NAMED_SECTIONS): Move to
3479 common/common-target-def.h.
3480 * target.def (default_target_flags, handle_option,
3481 supports_split_stack, optimization_table, init_struct,
3482 except_unwind_info, unwind_tables_default, have_named_sections):
3483 Move to common/common-target.def.
3484 * target.h (enum opt_levels, struct default_options): Move to
3485 common/common-target.h.
3486 * targhooks.c (default_except_unwind_info,
3487 dwarf2_except_unwind_info, sjlj_except_unwind_info,
3488 default_target_handle_option, empty_optimization_table): Move to
3489 common/common-targhooks.c.
3490 * targhooks.h (default_except_unwind_info,
3491 dwarf2_except_unwind_info, sjlj_except_unwind_info,
3492 default_target_handle_option, empty_optimization_table): Move to
3493 common/common-targhooks.h.
3494 * common/common-target-def.h: Include common/common-targhooks.h.
3495 (TARGET_HAVE_NAMED_SECTIONS): Define if TARGET_ASM_NAMED_SECTION
3496 defined.
3497 * common/common-target.def (handle_option, option_init_struct,
3498 option_optimization_table, default_target_flags,
3499 except_unwind_info, supports_split_stack, unwind_tables_default,
3500 have_named_sections): Move from target.def.
3501 (HOOK_PREFIX): Undefine at end of file.
3502 * common/common-target.h: Include input.h.
3503 (enum opt_levels, struct default_options): Move from target.h.
3504 * common/common-targhooks.c, common/common-targhooks.h: New.
3505 * config.gcc (target_has_targetm_common): Default to yes.
3506 (moxie*): Set target_has_targetm_common=no.
3507 (hppa*-*-*): Don't set target_has_targetm_common=yes.
3508 * doc/tm.texi: Regenerate.
3509 * Makefile.in (COMMON_TARGET_H): Add $(INPUT_H).
3510 (C_TARGET_DEF_H): Add common/common-targhooks.h.
3511 (GCC_OBJS): Remove vec.o.
3512 (OBJS): Remove hooks.o and vec.o.
3513 (OBJS-libcommon-target): Add vec.o, hooks.o and
3514 common/common-targhooks.o.
3515 (c-family/c-common.o, c-family/c-cppbuiltin.o, lto-opts.o, tree.o,
3516 tree-tailcall.o, opts.o, toplev.o, varasm.o, function.o, except.o,
3517 expr.o, explow.o, dbxout.o, dwarf2out.o, cfgrtl.o, haifa-sched.o,
3518 cfglayout.o, $(out_object_file), $(common_out_object_file)):
3519 Update dependencies.
3520 (common/common-targhooks.o): New.
637c11bd 3521 * common/config/default-common.c: Include tm.h. Add FIXME comment.
677f3fa8
JM
3522 * common/config/pa/pa-common.c: Include more headers. Take
3523 copyright dates from pa.c.
3524 (pa_option_optimization_table, pa_handle_option,
3525 TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS,
3526 TARGET_HANDLE_OPTION): Move from pa.c.
3527 * common/config/alpha/alpha-common.c,
3528 common/config/arm/arm-common.c, common/config/avr/avr-common.c,
3529 common/config/bfin/bfin-common.c,
3530 common/config/cris/cris-common.c,
3531 common/config/fr30/fr30-common.c, common/config/frv/frv-common.c,
3532 common/config/h8300/h8300-common.c,
3533 common/config/i386/i386-common.c,
3534 common/config/ia64/ia64-common.c,
3535 common/config/iq2000/iq2000-common.c,
3536 common/config/lm32/lm32-common.c,
3537 common/config/m32c/m32c-common.c,
3538 common/config/m32r/m32r-common.c,
3539 common/config/m68k/m68k-common.c,
3540 common/config/mcore/mcore-common.c,
3541 common/config/mep/mep-common.c,
3542 common/config/microblaze/microblaze-common.c,
3543 common/config/mips/mips-common.c,
3544 common/config/mmix/mmix-common.c,
3545 common/config/mn10300/mn10300-common.c,
3546 common/config/pdp11/pdp11-common.c,
3547 common/config/picochip/picochip-common.c,
3548 common/config/rs6000/rs6000-common.c,
3549 common/config/rx/rx-common.c, common/config/s390/s390-common.c,
3550 common/config/score/score-common.c, common/config/sh/sh-common.c,
3551 common/config/sparc/sparc-common.c,
3552 common/config/spu/spu-common.c, common/config/v850/v850-common.c,
3553 common/config/vax/vax-common.c,
3554 common/config/xstormy16/xstormy16-common.c,
3555 common/config/xtensa/xtensa-common.c: New.
3556 * config/alpha/alpha.c: Include common/common-target.h.
3557 (alpha_option_optimization_table, alpha_handle_option,
3558 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
3559 TARGET_OPTION_OPTIMIZATION_TABLE): Move to alpha-common.c.
3560 * config/arm/arm-protos.h (arm_except_unwind_info): Declare.
3561 * config/arm/arm.c (arm_option_optimization_table,
3562 TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
3563 TARGET_EXCEPT_UNWIND_INFO, arm_except_unwind_info): Move to
3564 arm-common.c.
3565 * config/avr/avr.c (avr_option_optimization_table,
3566 TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move
3567 to avr-common.c.
3568 * config/bfin/bfin.c (struct bfin_cpu): Move to bfin.h.
3569 (bfin_cpus, bfin_handle_option, TARGET_HANDLE_OPTION,
3570 TARGET_DEFAULT_TARGET_FLAGS): Move to bfin-common.c.
3571 * config/bfin/bfin.h struct bfin_cpu): Move from bfin.c.
3572 * config/cris/cris.c (cris_option_optimization_table,
3573 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
3574 TARGET_OPTION_OPTIMIZATION_TABLE, cris_handle_option): Move to
3575 cris-common.c.
3576 * config/fr30/fr30.c (fr30_option_optimization_table,
3577 TARGET_EXCEPT_UNWIND_INFO, TARGET_OPTION_OPTIMIZATION_TABLE): Move
3578 to fr30-common.c.
3579 * config/frv/frv.c (frv_option_optimization_table,
3580 MASK_DEFAULT_ALLOC_CC, TARGET_DEFAULT_TARGET_FLAGS,
3581 TARGET_OPTION_OPTIMIZATION_TABLE): Move to frv-common.c.
3582 * config/h8300/h8300.c (h8300_option_optimization_table,
3583 TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
3584 TARGET_EXCEPT_UNWIND_INFO): Move to h8300-common.c.
3585 * config/i386/i386-protos.h (ix86_handle_option): Declare.
3586 * config/i386/i386.c: Include common/common-target.h.
3587 (OPTION_MASK_ISA_MMX_SET, OPTION_MASK_ISA_3DNOW_SET,
3588 OPTION_MASK_ISA_SSE_SET, OPTION_MASK_ISA_SSE2_SET,
3589 OPTION_MASK_ISA_SSE3_SET, OPTION_MASK_ISA_SSSE3_SET,
3590 OPTION_MASK_ISA_SSE4_1_SET, OPTION_MASK_ISA_SSE4_2_SET,
3591 OPTION_MASK_ISA_AVX_SET, OPTION_MASK_ISA_FMA_SET,
3592 OPTION_MASK_ISA_SSE4_SET, OPTION_MASK_ISA_SSE4A_SET,
3593 OPTION_MASK_ISA_FMA4_SET, OPTION_MASK_ISA_XOP_SET,
3594 OPTION_MASK_ISA_LWP_SET, OPTION_MASK_ISA_AES_SET,
3595 OPTION_MASK_ISA_PCLMUL_SET, OPTION_MASK_ISA_ABM_SET,
3596 OPTION_MASK_ISA_BMI_SET, OPTION_MASK_ISA_TBM_SET,
3597 OPTION_MASK_ISA_POPCNT_SET, OPTION_MASK_ISA_CX16_SET,
3598 OPTION_MASK_ISA_SAHF_SET, OPTION_MASK_ISA_MOVBE_SET,
3599 OPTION_MASK_ISA_CRC32_SET, OPTION_MASK_ISA_FSGSBASE_SET,
3600 OPTION_MASK_ISA_RDRND_SET, OPTION_MASK_ISA_F16C_SET,
3601 OPTION_MASK_ISA_MMX_UNSET, OPTION_MASK_ISA_3DNOW_UNSET,
3602 OPTION_MASK_ISA_3DNOW_A_UNSET, OPTION_MASK_ISA_SSE_UNSET,
3603 OPTION_MASK_ISA_SSE2_UNSET, OPTION_MASK_ISA_SSE3_UNSET,
3604 OPTION_MASK_ISA_SSSE3_UNSET, OPTION_MASK_ISA_SSE4_1_UNSET,
3605 OPTION_MASK_ISA_SSE4_2_UNSET, OPTION_MASK_ISA_AVX_UNSET,
3606 OPTION_MASK_ISA_FMA_UNSET, OPTION_MASK_ISA_SSE4_UNSET,
3607 OPTION_MASK_ISA_SSE4A_UNSET, OPTION_MASK_ISA_FMA4_UNSET,
3608 OPTION_MASK_ISA_XOP_UNSET, OPTION_MASK_ISA_LWP_UNSET,
3609 OPTION_MASK_ISA_AES_UNSET, OPTION_MASK_ISA_PCLMUL_UNSET,
3610 OPTION_MASK_ISA_ABM_UNSET, OPTION_MASK_ISA_BMI_UNSET,
3611 OPTION_MASK_ISA_TBM_UNSET, OPTION_MASK_ISA_POPCNT_UNSET,
3612 OPTION_MASK_ISA_CX16_UNSET, OPTION_MASK_ISA_SAHF_UNSET,
3613 OPTION_MASK_ISA_MOVBE_UNSET, OPTION_MASK_ISA_CRC32_UNSET,
3614 OPTION_MASK_ISA_FSGSBASE_UNSET, OPTION_MASK_ISA_RDRND_UNSET,
3615 OPTION_MASK_ISA_F16C_UNSET, ix86_handle_option,
3616 ix86_option_optimization_table, ix86_option_init_struct,
3617 ix86_supports_split_stack, TARGET_DEFAULT_TARGET_FLAGS,
3618 TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
3619 TARGET_OPTION_INIT_STRUCT, TARGET_SUPPORTS_SPLIT_STACK): Move to
3620 i386-common.c.
3621 * config/i386/t-i386 (i386.o): Update dependencies.
3622 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Declare.
3623 * config/ia64/ia64.c (ia64_option_optimization_table,
3624 TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO,
3625 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
3626 ia64_handle_option): Move to ia64-common.c.
3627 * config/iq2000/iq2000.c (iq2000_option_optimization_table,
3628 TARGET_OPTION_OPTIMIZATION_TABLE): Move to iq2000-common.c.
3629 * config/lm32/lm32.c (lm32_option_optimization_table,
3630 TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move
3631 to lm32-common.c.
3632 * config/m32c/m32c.c (TARGET_HAVE_NAMED_SECTIONS): Move to
3633 m32c-common.c.
3634 * config/m32r/m32r.c (m32r_option_optimization_table,
3635 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
3636 TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO,
3637 m32r_handle_option): Move to m32r-common.c.
3638 (m32r_memory_move_cost): Remove comment referring to
3639 TARGET_HANDLE_OPTION.
3640 * config/m68k/m68k.c (TARGET_HANDLE_OPTION, m68k_handle_option):
3641 Move to m68k-common.c.
3642 * config/mcore/mcore.c (mcore_option_optimization_table,
3643 TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
3644 TARGET_EXCEPT_UNWIND_INFO): Move to mcore-common.c.
3645 * config/mep/mep.c (mep_option_optimization_table,
3646 mep_handle_option, TARGET_HANDLE_OPTION,
3647 TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS):
3648 Move to mep-common.c.
3649 * config/microblaze/microblaze.c
3650 (microblaze_option_optimization_table,
3651 TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
3652 TARGET_EXCEPT_UNWIND_INFO): Move to microblaze-common.c.
3653 * config/mips/mips.c (mips_handle_option,
3654 mips_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE,
3655 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Move to
3656 mips-common.c.
3657 * config/mmix/mmix.c (mmix_option_optimization_table,
3658 TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE):
3659 Move to mmix-common.c.
3660 * config/mn10300/mn10300.c (mn10300_option_optimization_table,
3661 mn10300_handle_option, TARGET_EXCEPT_UNWIND_INFO,
3662 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
3663 TARGET_OPTION_OPTIMIZATION_TABLE): Move to mn10300-common.c.
3664 * config/pa/pa.c: Include common/common-target.h.
3665 (pa_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE,
3666 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
3667 pa_handle_option): Move to pa-common.c.
3668 (pa_option_override): Use targetm_common.except_unwind_info.
3669 (pa_asm_output_mi_thunk, pa_function_section): Use
3670 targetm_common.have_named_sections.
3671 * config/pdp11/pdp11.c (pdp11_option_optimization_table,
3672 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
3673 TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT,
3674 pdp11_handle_option, pdp11_option_init_struct): Move to
3675 pdp11-common.c.
3676 * config/picochip/picochip.c (picochip_option_optimization_table,
3677 TARGET_HAVE_NAMED_SECTIONS, TARGET_OPTION_OPTIMIZATION_TABLE,
3678 TARGET_EXCEPT_UNWIND_INFO): Move to picochip-common.c.
3679 * config/rs6000/rs6000.c: Include common/common-target.h.
3680 (rs6000_option_optimization_table, TARGET_HANDLE_OPTION,
3681 TARGET_OPTION_INIT_STRUCT, TARGET_OPTION_OPTIMIZATION_TABLE,
3682 TARGET_DEFAULT_TARGET_FLAGS, rs6000_option_init_struct,
3683 rs6000_handle_option): Move to rs6000-common.c.
3684 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
3685 * config/rx/rx.c (rx_handle_option, rx_option_optimization_table,
3686 TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
3687 TARGET_EXCEPT_UNWIND_INFO): Move to rx-common.c.
3688 * config/s390/s390.c (processor_flags_table,
3689 s390_option_optimization_table, s390_option_init_struct,
3690 s390_handle_option, TARGET_DEFAULT_TARGET_FLAGS,
3691 TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
3692 TARGET_OPTION_INIT_STRUCT): Move to s390-common.c.
3693 * config/s390/s390.h (processor_flags_table): Declare.
3694 * config/score/score.c (score_option_optimization_table,
3695 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
3696 TARGET_OPTION_OPTIMIZATION_TABLE, MASK_ALL_CPU_BITS,
3697 score_handle_option): Move to score-common.c.
3698 * config/sh/sh.c (sh_option_optimization_table,
3699 TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT,
3700 TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
3701 sh_handle_option, sh_option_init_struct): Move to sh-common.c.
3702 * config/sparc/sparc.c: Include common/common-target.h.
3703 (sparc_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS,
3704 TARGET_OPTION_OPTIMIZATION_TABLE): Move to sparc-common.c.
3705 * config/spu/spu.c (TARGET_DEFAULT_TARGET_FLAGS,
3706 TARGET_OPTION_INIT_STRUCT, TARGET_EXCEPT_UNWIND_INFO,
3707 spu_option_init_struct): Move to spu-common.c.
3708 * config/stormy16/stormy16.c (xstorym16_option_optimization_table,
3709 TARGET_OPTION_OPTIMIZATION_TABLE): Move to xstormy16-common.c.
3710 * config/v850/v850.c (small_memory_physical_max,
3711 v850_handle_memory_optionn v850_handle_option,
3712 v850_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS,
3713 TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE): Move to
3714 v850-common.c.
637c11bd 3715 * config/vax/vax.c (TARGET_DEFAULT_TARGET_FLAGS): Move to vax-common.c.
677f3fa8
JM
3716 * config/xtensa/xtensa.c (xtensa_option_optimization_table,
3717 TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE):
3718 Move to xtensa-common.c.
3719 * cfglayout.c: Include common/common-target.h.
3720 (fixup_reorder_chain): Use targetm_common.have_named_sections.
3721 * cfgrtl.c: Include common/common-target.h.
3722 (force_nonfallthru_and_redirect, commit_one_edge_insertion): Use
3723 targetm_common.have_named_sections.
3724 * dbxout.c: Include common/common-target.h.
3725 (dbxout_function_end): Use targetm_common.have_named_sections.
3726 * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Use
3727 targetm_common.except_unwind_info.
3728 * dwarf2out.c: Include common/common-target.h.
3729 (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
3730 dwarf2out_begin_prologue, dwarf2out_frame_init,
3731 dwarf2out_frame_finish, dwarf2out_assembly_start): Use
3732 targetm_common.except_unwind_info.
3733 * except.c: Include common/common-target.h.
3734 (init_eh, finish_eh_generation,
3735 output_one_function_exception_table): Use
3736 targetm_common.except_unwind_info.
637c11bd 3737 (switch_to_exception_section): Use targetm_common.have_named_sections.
677f3fa8
JM
3738 * explow.c: Include common/common-target.h.
3739 * expr.c: Include common/common-target.h.
637c11bd 3740 (build_personality_function): Use targetm_common.except_unwind_info.
677f3fa8
JM
3741 * function.c: Include common/common-target.h.
3742 (expand_function_end): Use targetm_common.except_unwind_info.
3743 * haifa-sched.c: Include common/common-target.h.
637c11bd 3744 (sched_create_recovery_edges): Use targetm_common.have_named_sections.
677f3fa8
JM
3745 * lto-opts.c: Include common/common-target.h instead of target.h.
3746 (lto_reissue_options): Use targetm_common.handle_option.
3747 * opts.c: Include common/common-target.h.
3748 (target_handle_option): Use targetm_common.handle_option.
3749 (init_options_struct): Update comment referring to
3750 targetm.target_option.optimization. Use
3751 targetm_common.default_target_flags,
3752 targetm_common.unwind_tables_default and
3753 targetm_common.option_init_struct.
3754 (default_options_optimization): Use
3755 targetm_common.option_optimization_table.
3756 (finish_options): Use targetm_common.except_unwind_info,
3757 targetm_common.unwind_tables_default,
3758 targetm_common.have_named_sections and
3759 targetm_common.supports_split_stack.
3760 * toplev.c: Include common/common-target.h.
3761 (process_options): Use targetm_common.have_named_sections.
3762 * tree-tailcall.c: Include common/common-target.h.
637c11bd 3763 (suitable_for_tail_call_opt_p): Use targetm_common.except_unwind_info.
677f3fa8 3764 * tree.c: Include common/common-target.h.
637c11bd 3765 (build_common_builtin_nodes): Use targetm_common.except_unwind_info.
677f3fa8
JM
3766 * varasm.c: Include common/common-target.h.
3767 (resolve_unique_section, hot_function_section,
3768 default_function_section): Use targetm_common.have_named_sections.
3769
d26c7090
ER
37702011-06-14 Easwaran Raman <eraman@google.com>
3771
3772 PR rtl-optimization/44194
3773 * dse.c: Include tree-flow.h
3774 (insn_info): Add new field non_frame_wild_read.
3775 (group_info): Add new fields escaped_n and escaped_p.
3776 (kill_on_calls): New variable.
3777 (get_group_info): Initialize gi->escaped_n and gi->escaped_p.
3778 (dse_step0): Initialize kill_on_calls.
3779 (can_escape): New function.
3780 (set_usage_bits): Add additional parameter; record information
3781 about escaped locations.
637c11bd 3782 (record_store): Pass EXPR corresponding to MEM to set_usage_bits.
d26c7090
ER
3783 (dse_step2_nospill): Set kill_on_calls based on
3784 group->escaped_n and group->escaped_n.
3785 (add_wild_read): Refactor into...
3786 (reset_active_stores): ... New function, and
3787 (free_read_records): ... New function.
3788 (add_non_frame_wild_read): New function.
3789 (scan_insn): Call add_non_frame_wild_read on non-const calls.
637c11bd 3790 (scan_reads_nospill): Handle instructions with non_frame_wild_read.
d26c7090
ER
3791 (dse_step5_nospill): Call scan_reads_nospill for instructions
3792 marked as non_frame_wild_read.
637c11bd 3793 (dse_step7): Free escaped_n, escaped_p and kill_on_calls bitmaps.
d26c7090 3794
c49a6962
JM
37952011-06-14 Joseph Myers <joseph@codesourcery.com>
3796
3797 * common/common-target-def.h, common/common-target.def,
3798 common/common-target.h, common/config/default-common.c,
3799 common/config/pa/pa-common.c: New files.
3800 * Makefile.in (common_out_file, common_out_object_file,
3801 COMMON_TARGET_H, COMMON_TARGET_DEF_H): New.
3802 (OBJS-libcommon-target): Include $(common_out_object_file).
3803 (prefix.o): Update dependencies.
3804 ($(common_out_object_file), common/common-target-hooks-def.h,
3805 s-common-target-hooks-def-h): New.
3806 (s-tm-texi): Also check timestamp on common-target.def.
3807 (build/genhooks.o): Update dependencies.
3808 * config.gcc (common_out_file, target_has_targetm_common): Define.
3809 * config/pa/som.h (ALWAYS_STRIP_DOTDOT): Replace with
3810 TARGET_ALWAYS_STRIP_DOTDOT.
3811 * configure.ac (common_out_object_file): Define.
3812 (common_out_file, common_out_object_file): Substitute.
3813 (common): Create directory.
3814 * configure: Regenerate.
3815 * doc/tm.texi.in (targetm_common): Document.
3816 (TARGET_ALWAYS_STRIP_DOTDOT): Add @hook entry.
3817 * doc/tm.texi: Regenerate.
3818 * genhooks.c (hook_array): Also include common/common-target.def.
3819 * prefix.c (tm.h): Don't include.
3820 (common/common-target.h): Include.
3821 (ALWAYS_STRIP_DOTDOT): Don't define.
3822 (update_path): Use targetm_common.always_strip_dotdot instead of
3823 ALWAYS_STRIP_DOTDOT.
3824 * system.h (ALWAYS_STRIP_DOTDOT): Poison.
3825
22c5fa5f
DL
38262011-06-14 David Li <davidxl@google.com>
3827
3828 * passes.c (execute_function_todo): Remove TODO_dump_func.
3829 (execute_one_pass): Remove TODO_dump_func.
3830 (execute_function_dump): New function.
3831 * tree-vrp.c: Remove TODO_dump_func.
3832 * regrename.c: Remove TODO_dump_func.
3833 * fwprop.c: Remove TODO_dump_func.
3834 * tree-into-ssa.c: Remove TODO_dump_func.
3835 * tree-complex.c: Remove TODO_dump_func.
3836 * tracer.c: Remove TODO_dump_func.
3837 * tree-loop-distribution.c: Remove TODO_dump_func.
3838 * postreload-gcse.c: Remove TODO_dump_func.
3839 * postreload.c: Remove TODO_dump_func.
3840 * tree-ssa-loop-ch.c: Remove TODO_dump_func.
3841 * tree-tailcall.c: Remove TODO_dump_func.
3842 * ipa-cp.c: Remove TODO_dump_func.
3843 * final.c: Remove TODO_dump_func.
3844 * tree-emutls.c: Remove TODO_dump_func.
3845 * omp-low.c: Remove TODO_dump_func.
3846 * tree-ssa-dse.c: Remove TODO_dump_func.
3847 * tree-ssa-uncprop.c: Remove TODO_dump_func.
3848 * auto-inc-dec.c: Remove TODO_dump_func.
3849 * reorg.c: Remove TODO_dump_func.
3850 * tree-ssa-copyrename.c: Remove TODO_dump_func.
3851 * tree-ssa-ccp.c: Remove TODO_dump_func.
3852 * compare-elim.c: Remove TODO_dump_func.
3853 * mode-switching.c: Remove TODO_dump_func.
3854 * modulo-sched.c: Remove TODO_dump_func.
3855 * tree-call-cdce.c: Remove TODO_dump_func.
3856 * cse.c: Remove TODO_dump_func.
3857 * web.c: Remove TODO_dump_func.
3858 * tree-stdarg.c: Remove TODO_dump_func.
3859 * lto-streamer-out.c: Remove TODO_dump_func.
3860 * tree-ssa-math-opts.c: Remove TODO_dump_func.
3861 * tree-ssa-dom.c: Remove TODO_dump_func.
3862 * tree-nrv.c: Remove TODO_dump_func.
3863 * loop-init.c: Remove TODO_dump_func.
3864 * gimple-low.c: Remove TODO_dump_func.
3865 * ipa-inline.c: Remove TODO_dump_func.
3866 * tree-ssa-sink.c: Remove TODO_dump_func.
3867 * jump.c: Remove TODO_dump_func.
3868 * ifcvt.c: Remove TODO_dump_func.
3869 * tree-ssa-loop.c: Remove TODO_dump_func.
3870 * recog.c: Remove TODO_dump_func.
3871 * dse.c: Remove TODO_dump_func.
3872 * tree-ssa-ifcombine.c: Remove TODO_dump_func.
3873 * matrix-reorg.c: Remove TODO_dump_func.
3874 * tree-eh.c: Remove TODO_dump_func.
3875 * regmove.c: Remove TODO_dump_func.
3876 * function.c: Remove TODO_dump_func.
3877 * tree-vectorizer.c: Remove TODO_dump_func.
3878 * ipa-split.c: Remove TODO_dump_func.
3879 * gcse.c: Remove TODO_dump_func.
3880 * tree-if-conv.c: Remove TODO_dump_func.
3881 * init-regs.c: Remove TODO_dump_func.
3882 * tree-ssa-phiopt.c: Remove TODO_dump_func.
3883 * implicit-zee.c: Remove TODO_dump_func.
3884 * lower-subreg.c: Remove TODO_dump_func.
3885 * bt-load.c: Remove TODO_dump_func.
3886 * tree-dfa.c: Remove TODO_dump_func.
3887 * except.c: Remove TODO_dump_func.
3888 * emit-rtl.c: Remove TODO_dump_func.
3889 * store-motion.c: Remove TODO_dump_func.
3890 * cfgexpand.c: Remove TODO_dump_func.
3891 * tree-cfgcleanup.c: Remove TODO_dump_func.
3892 * cfgcleanup.c: Remove TODO_dump_func.
3893 * tree-ssa-pre.c: Remove TODO_dump_func.
3894 * tree-sra.c: Remove TODO_dump_func.
3895 * tree-mudflap.c: Remove TODO_dump_func.
3896 * tree-ssa-copy.c: Remove TODO_dump_func.
3897 * cfglayout.c: Remove TODO_dump_func.
3898 * tree-ssa-forwprop.c: Remove TODO_dump_func.
3899 * tree-ssa-dce.c: Remove TODO_dump_func.
3900 * ira.c: Remove TODO_dump_func.
3901 * tree-ssa.c: Remove TODO_dump_func.
3902 * integrate.c: Remove TODO_dump_func.
3903 * tree-optimize.c: Remove TODO_dump_func.
3904 * tree-ssa-phiprop.c: Remove TODO_dump_func.
3905 * tree-object-size.c: Remove TODO_dump_func.
3906 * combine.c: Remove TODO_dump_func.
3907 * bb-reorder.c: Remove TODO_dump_func.
3908 * cprop.c: Remove TODO_dump_func.
3909 * var-tracking.c: Remove TODO_dump_func.
3910 * tree-profile.c: Remove TODO_dump_func.
3911 * tree-vect-generic.c: Remove TODO_dump_func.
3912 * reg-stack.c: Remove TODO_dump_func.
3913 * sched-rgn.c: Remove TODO_dump_func.
3914 * tree-ssa-structalias.c: Remove TODO_dump_func.
3915 * tree-switch-conversion.c: Remove TODO_dump_func.
3916 * tree-cfg.c: Remove TODO_dump_func.
3917 * tree-ssa-reassoc.c: Remove TODO_dump_func.
3918 * combine-stack-adj.c: Remove TODO_dump_func.
3919 * dce.c: Remove TODO_dump_func.
3920 * tree-ssanames.c: Remove TODO_dump_func.
3921 * regcprop.c: Remove TODO_dump_func.
3922
fa465762
L
39232011-06-14 H.J. Lu <hongjiu.lu@intel.com>
3924
3925 PR middle-end/47364
3926 * builtins.c (expand_builtin_strlen): Expand strlen to Pmode
3927 and properly handle result not in Pmode.
3928
7d8d16c3
RM
39292011-06-14 Robert Millan <rmh@gnu.org>
3930
3931 * config/i386/kfreebsd-gnu.h: Resync with `config/i386/linux.h'.
3932 * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER): Resync with
3933 `config/linux.h'.
3934
3935 * config/i386/kfreebsd-gnu64.h: New file.
3936 * config.gcc (x86_64-*-kfreebsd*-gnu): Replace `i386/kfreebsd-gnu.h'
3937 with `i386/kfreebsd-gnu64.h'.
3938
3939 * config/i386/linux64.h (GNU_USER_LINK_EMULATION32)
3940 (GNU_USER_LINK_EMULATION64): New macros.
3941 * config/i386/gnu-user64.h (LINK_SPEC): Rely on
3942 `GNU_USER_LINK_EMULATION32' and `GNU_USER_LINK_EMULATION64' instead
3943 of hardcoding `elf_i386' and `elf_x86_64'.
3944
0ccef3d2
NC
39452011-06-14 Nick Clifton <nickc@redhat.com>
3946
3947 PR target/49403
3948 * config/v850/v850.c (v850_memory_move_cost): Add reg_class_t parameter.
3949
3950 PR target/49402
3951 * config.gcc(v850*-*-*): Avoid duplication of v850.opt.
3952
8a76c4a0
JJ
39532011-06-14 Jakub Jelinek <jakub@redhat.com>
3954
1ace6185
JJ
3955 PR fortran/49103
3956 * tree.h (DECL_NONSHAREABLE): Define.
3957 (struct tree_decl_common): Change decl_common_unused to
3958 decl_nonshareable_flag.
3959 * cfgexpand.c (expand_used_vars_for_block, clear_tree_used):
3960 Ignore vars with DECL_NONSHAREABLE bit set.
3961 * tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE
3962 on stores to automatic aggregate vars.
3963
8a76c4a0
JJ
3964 PR rtl-optimization/49390
3965 Revert:
3966 2010-06-29 Bernd Schmidt <bernds@codesourcery.com>
3967
3968 * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
3969 MEM_ALIAS_SET.
3970
b4a9343c
ZD
39712011-06-14 Zdenek Dvorak <ook@ucw.cz>
3972 Tom de Vries <tom@codesourcery.com>
3973
3974 PR target/45098
3975 * cfgloop.h (nb_iterations_upper_bound, nb_iterations_estimate):
3976 Document changed semantics.
3977 (max_stmt_executions, max_stmt_executions_int): Declare.
3978 * tree-data-ref.c (estimated_loop_iterations)
3979 (estimated_loop_iterations_int): Move functions...
3980 * tree-ssa-loop-niter.c (estimated_loop_iterations)
3981 (estimated_loop_iterations_int): here.
3982 (record_estimate): Change nb_iterations_upper_bound and
3983 nb_iterations_estimate semantics.
3984 (max_stmt_executions, max_stmt_executions_int): New function.
3985 * tree-data-ref.c (estimated_loop_iterations_tree): Rename to ...
3986 (max_stmt_executions_tree): this.
3987 (analyze_miv_subscript): Use max_stmt_executions_tree instead of
3988 estimated_loop_iterations_tree.
3989 tree-ssa-loop-ivopts.c (avg_loop_niter): Use
3990 max_stmt_executions_int instead of estimated_loop_iterations_int.
3991 * predict.c (predict_loops): Idem.
3992 * tree-parloops.c (parallelize_loops): Idem.
3993 * tree-data-ref.c (analyze_siv_subscript_cst_affine)
3994 (compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine)
3995 (init_omega_for_ddr_1): Idem.
3996 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse)
3997 (loop_prefetch_arrays): Idem
3998 * graphite-sese-to-poly.c (build_loop_iteration_domains): Use
3999 max_stmt_executions instead of estimated_loop_iterations.
4000 * tree-data-ref.c (estimated_loop_iterations_tree): Idem.
4001 * tree-vrp.c (adjust_range_with_scev): Use estimated_loop_iterations
4002 instead of nb_iterations_upper_bound.
4003
d2640c43
JH
40042011-06-13 Jan Hubicka <jh@suse.cz>
4005
4006 * ipa.c (cgraph_address_taken_from_non_vtable_p): Check the ref type.
4007
40873cdd
RH
40082011-06-14 Richard Henderson <rth@redhat.com>
4009
4010 PR debug/48459
4011 * dwarf2out.c (frame_pointer_fb_offset_valid): New.
4012 (based_loc_descr): Assert it's true.
4013 (compute_frame_pointer_to_fb_displacement): Set it, rather than
4014 aborting immediately.
4015
73e8cb24
SL
40162011-06-14 Sanjin Liu <scliu@faraday-tech.com>
4017 Mingfeng Wu <mingfeng@faraday-tech.com>
4018
4019 * doc/invoke.texi: Re-add missing -mcpu docs for Faraday cores.
4020
f835f0a7
JH
40212011-06-13 Jan Hubicka <jh@suse.cz>
4022
4023 * ipa-cp.c (ipcp_iterate_stage): Revert accidental commit.
4024
ee6f1177
JH
40252011-06-13 Jan Hubicka <jh@suse.cz>
4026
4027 * cgraph.c (cgraph_make_decl_local): Handle DECL_ONE_ONLY
4028 similarly to DECL_COMDAT.
4029 * cgraphunit.c (cgraph_analyze_function): Likewise.
4030 * ipa.c (function_and_variable_visibility): Likewise.
4031
618abf9a
JH
40322011-06-13 Jan Hubicka <jh@suse.cz>
4033
4034 * lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output
4035 BINFO_VIRTUALS when streaming for ltrans unit.
4036
a45fe02f
DE
40372011-06-13 David Edelsohn <dje.gcc@gmail.com>
4038
4039 * config/rs6000/rs6000.md (movdi_mfpgpr): Remove POWER mnemonic.
4040 (movdi_internal64): Same.
4041
40422011-06-13 Edmar Wienskoski <edmar@freescale.com>
4043
e641e495 4044 PR target/44618
7d8d16c3
RM
4045 * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern with
4046 a set of similar patterns, where the MATCH_OPERAND for the function
4047 argument is replaced with individual references to hardware registers.
a45fe02f
DE
4048 (save_fpregs_<mode>): Ditto
4049 (restore_gpregs_<mode>): Ditto
4050 (return_and_restore_gpregs_<mode>): Ditto
4051 (return_and_restore_fpregs_<mode>): Ditto
4052 (return_and_restore_fpregs_aix_<mode>): Ditto
4053
8775a18b
JH
40542011-06-13 Jan Hubicka <jh@suse.cz>
4055
4056 * ipa-utils.c (postorder_stack): New structure.
4057 (ipa_reverse_postorder): Handle aliases.
4058
40592011-06-13 Jan Hubicka <jh@suse.cz>
4060
4061 * ipa-inline.c (reset_edge_caches): Walk aliases.
4062 (update_caller_keys): Do not test inlinability of aliases.
4063 * ipa-inline-analysis.c (do_estimate_edge_time): Look through alias.
4064 (do_estimate_growth): Fix typo.
4065
6c69a029
JH
40662011-06-13 Jan Hubicka <jh@suse.cz>
4067
4068 * ipa-inline-transform.c (+can_remove_node_now_p_1): Break out from...
4069 (can_remove_node_now_p): ... here; handle same comdat groups.
4070 (clone_inlined_nodes): Update use of can_remove_node_now_p add TODO.
4071 (inline_call): Update use of can_remove_node_now_p.
4072
10c63ba4 40732011-06-13 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
495f8c14 4074
10c63ba4 4075 * config/h8300/h8300.md (bsetqi_msx, bclrqi_msx, bnotqi_msx): Added
495f8c14
KP
4076 condition to disallow non-identical memory locations.
4077 (*andqi3_2, andqi3_1, iorqi3_1, xorqi3_1): Reorder insn to give
4078 preference to bit manipulation instructions.
495f8c14 4079
9aa3f5c5
JH
40802011-06-13 Jan Hubicka <jh@suse.cz>
4081
4082 * cgraph.c (cgraph_for_node_thunks_and_aliases,
4083 cgraph_for_node_and_aliases): Fix thinko in recursive walking.
4084 (nonremovable_p): New function.
4085 (cgraph_can_remove_if_no_direct_calls_p): New function.
4086 (used_from_object_file_p): New functoin.
10c63ba4
EB
4087 (cgraph_will_be_removed_from_program_if_no_direct_calls): Look for
4088 references from aliases.
9aa3f5c5
JH
4089 * cgraph.h (cgraph_can_remove_if_no_direct_calls_p): Bring offline.
4090 * ipa-inline.c (check_caller_edge): New function.
10c63ba4
EB
4091 (want_inline_function_called_once_p): Use it; accept aliases called
4092 once, too.
9aa3f5c5
JH
4093 * ipa-inline-analysis.c (do_estimate_growth): Remove FIXME.
4094
30cecf17
RR
40952011-06-13 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
4096
4097 PR target/48454
4098 * config/arm/neon.md (vec_pack_trunc): Set the lengths
4099 correctly for the case with Quad vectors.
4100
29f85237
JJ
41012011-06-13 Jakub Jelinek <jakub@redhat.com>
4102 Ira Rosen <ira.rosen@linaro.org>
4103
4104 PR tree-optimization/49352
4105 * tree-vect-loop.c (vect_is_slp_reduction): Don't count debug uses at
4106 all, make sure loop_use_stmt after the loop is a def stmt of a used
4107 SSA_NAME that is the only one defined inside of the loop. Don't
4108 check for COND_EXPR and GIMPLE_BINARY_RHS.
4109 (vect_is_simple_reduction_1): Call vect_is_slp_reduction only if
4110 check_reduction is true.
4111
c3e3f090
JH
41122011-06-11 Jan Hubicka <jh@suse.cz>
4113
4114 PR middle-end/49373
4115 * ipa.c (cgraph_externally_visible_p): Check resolution info.
4116
516e0768
JH
41172011-06-11 Jan Hubicka <jh@suse.cz>
4118
4119 PR middle-end/48836
4120 * ipa-inline-transform.c: Include tree-pass.h
4121 (inline_transform): Set TODO_update_ssa_only_virtuals.
4122 * Makefile.in (ipa-inline-transform.o): Add tree-pass.h.
4123
903b0a8b
JH
41242011-06-11 Jan Hubicka <jh@suse.cz>
4125
4126 PR middle-end/49378
4127 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p): Rule out
4128 aliases and thunks.
4129
44542f8e
IR
41302011-06-12 Ira Rosen <ira.rosen@linaro.org>
4131
4132 * tree-vect-data-refs.c (vect_peeling_hash_get_most_frequent):
4133 Take number of iterations to peel into account for equally frequent
4134 misalignment values.
4135
ea89702b
JH
41362011-06-11 Jan Hubicka <jh@suse.cz>
4137
637c11bd
UB
4138 * lto-streamer-out.c (produce_symtab): Stream out the newly
4139 represented aliases.
ea89702b 4140
380ed5ed
JH
41412011-06-11 Jan Hubicka <jh@suse.cz>
4142
637c11bd
UB
4143 * ipa-prop.c (ipa_make_edge_direct_to_target): Fix code setting
4144 varying args.
380ed5ed
JH
4145 (ipa_update_after_lto_read): Likewise.
4146 (ipa_write_node_info): Do not sream call_with_var_arguments.
4147 (ipa_read_node_info): Likewise.
4148
00cfc363
JH
41492011-06-11 Jan Hubicka <jh@suse.cz>
4150
4151 * ipa.c (cgraph_comdat_can_be_unshared_p): Fix pasto.
4152
39e2db00
JH
41532011-06-11 Jan Hubicka <jh@suse.cz>
4154
4155 * lto-symtab.c (lto_cgraph_replace_node): Kill same body alias code.
4156 (lto_symtab_resolve_can_prevail_p): Likewise.
4157 (lto_symtab_merge_cgraph_nodes): Update merging of aliases.
4158 * cgraph.c (same_body_aliases_done): New global var.
4159 (cgraph_same_body_alias_1): Rename to ...
4160 (cgraph_create_function_alias): ... this one; reorg to new
4161 representation.
4162 (cgraph_same_body_alias): Use cgraph_create_function_alias;
4163 record references when asked to.
4164 (cgraph_add_thunk): Fix formating.
4165 (cgraph_get_node): Kill same body alias code.
4166 (cgraph_node_for_asm): Likewise.
4167 (cgraph_remove_same_body_alias): Remove.
4168 (cgraph_remove_node): Kill same body alias code.
4169 (cgraph_mark_address_taken_node): Mark also the aliased function
4170 as having address taken.
4171 (dump_cgraph_node): Dump same body aliases.
4172 (cgraph_for_node_thunks_and_aliases): Update for new alias
4173 representation.
4174 (cgraph_for_node_and_aliases): Likewise.
4175 * cgraph.h (same_body): Kll pointer.
4176 (same_body_alias): Update comment.
4177 (same_body_aliases_done): Declare.
4178 (cgraph_remove_same_body_alias): Remove declaration.
4179 (cgraph_create_function_alias): Declare.
4180 (cgraph_process_same_body_aliases): Declare.
4181 (cgraph_function_with_gimple_body_p): Check for alias.
4182 (cgraph_can_remove_if_no_direct_calls_p): Look for aliases.
4183 (cgraph_alias_aliased_node): New function.
4184 (cgraph_function_node): Update for new aliases.
4185 (cgraph_function_or_thunk_node): Likewise.
4186 * ipa-inline-transform.c (can_remove_node_now_p): Look for aliases.
4187 (inline_call): Remove dead aliases.
10c63ba4
EB
4188 * cgraphunit.c (cgraph_decide_is_function_needed): Disable assembler
4189 name hack for same body aliases.
39e2db00
JH
4190 (clone_of_p): Look through aliases.
4191 (verify_cgraph_node): Verify aliases.
4192 (cgraph_analyze_function): Analyze aliases; fixup C++ bugs.
4193 (cgraph_process_same_body_aliases): New function.
4194 (process_function_and_variable_attributes): Disable weakref warning on
4195 alias.
4196 (cgraph_analyze_functions): Handle aliases.
4197 (cgraph_mark_functions_to_output): Handle aliases same way as thunks.
4198 (assemble_thunks): Rename to ...
4199 (assemble_thunks_and_aliases): ... this one; handle aliases, too.
4200 (cgraph_expand_function): Remove alias output code.
4201 (cgraph_output_in_order): Skip aliases.
4202 (cgraph_preserve_function_body_p): Aliases don't need preserving.
4203 * ipa-ref.c (ipa_ref_use_name): Add alias reference.
4204 (ipa_record_reference): Do not assert on alias references.
4205 (ipa_ref_has_aliases_p): New function.
4206 * ipa-ref.h (enum ipa_ref_use): Add IPA_REF_ALIAS.
4207 (ipa_ref_has_aliases_p): Declare.
4208 * lto-cgraph.c (lto_output_node): Handle aliases.
4209 (input_node): Likewise.
4210 * lto-streamer-out.c (lto_output): Skip aliases.
4211 (produce_symtab): Kill same_body_alias code.
4212 * ipa-utils.c (ipa_reverse_postorder): Add FIXME.
4213 (ipa_reverse_postorder): Use cgraph_only_called_directly_or_aliased_p.
4214 * ipa-inline.c (update_caller_keys): Walk aliases.
4215 (inline_small_functions): Fix thinko in previous patch.
4216 * ipa.c (cgraph_externally_visible_p): Do not walk aliases.
4217 (function_and_variable_visibility): Do not walk same body aliases.
4218 * tree-ssa-structalias.c (associate_varinfo_to_alias): New function.
4219 (ipa_pta_execute): Use it.
4220
9ee65b55
UB
42212011-06-11 Uros Bizjak <ubizjak@gmail.com>
4222
4223 * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
4224 (*vec_dupv2df): Rename from vec_dupv2df.
4225 (vec_dupv2df): New expander.
4226
42272011-06-11 Uros Bizjak <ubizjak@gmail.com>
4228
4229 * config/i386/sse.md (AVX_VEC_DUP_MODE): Rename from AVX256MODE24P.
4230
42312011-06-11 Uros Bizjak <ubizjak@gmail.com>
4232
4233 * config/i386/i386.md: Use default value in "isa" attribute.
4234 * config/i386/sse.md: Ditto.
4235 * config/i386/mmx.md: Ditto.
4236
ba68a139
WG
42372011-06-10 Wei Guozhi <carrot@google.com>
4238
4239 PR target/45335
4240 * config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da,
4241 stm2_da, ldm2_db, stm2_db): Add condition !arm_arch7 to these insns.
4242 (ldrd, ldrd_reg1, ldrd_reg2 and peephole2): New insn patterns and
4243 related peephole2.
4244 (strd, strd_reg1, strd_reg2 and peephole2): New insn patterns and
4245 related peephole2.
4246 * config/arm/arm-protos.h (arm_check_ldrd_operands): New prototype.
4247 (arm_legitimate_ldrd_p): New prototype.
4248 (arm_output_ldrd): New prototype.
4249 * config/arm/arm.c (arm_check_ldrd_operands): New function.
4250 (arm_legitimate_ldrd_p): New function.
4251 (arm_output_ldrd): New function.
4252
deced1e2
XDL
42532011-06-10 David Li <davidxl@google.com>
4254
4255 * cgraphunit.c (cgraph_finalize_compilation_unit): Pass dump.
4256 * passes.c (passr_eq): New function.
4257 (create_pass_tab): New function.
4258 (pass_traverse): New function.
4259 (dump_one_pass): New function.
4260 (dump_pass_list): New function.
4261 (dump_passes): New function.
4262
71fb4f92
JH
42632011-06-10 Jan Hubicka <jh@suse.cz>
4264
4265 * cgraph.c (cgraph_set_nothrow_flag_1): Update cgraph after
4266 setting the nothrow flag.
4267 * ipa-reference.c (propagate): Skip aliases.
4268 * ipa-pure-const.c (propagate_pure_const): Skip aliases.
4269 (propagate_nothrow): Skip aliases; do not update cgraph.
4270 (local_pure_const): Do not update cgraph.
4271 * tree-profile.c (tree_profiling): Do fixup_cfg.
4272
41817394
JH
42732011-06-10 Jan Hubicka <jh@suse.cz>
4274
4275 * ipa.c (cgraph_non_local_node_p_1): Break out from ...;
4276 (cgraph_local_node_p): ... here; handle aliases.
4277 (has_addr_references_p): Break out from ...;
4278 (cgraph_remove_unreachable_nodes) ... here.
4279
fb37c1de
JH
42802011-06-10 Jan Hubicka <jh@suse.cz>
4281
4282 * opts.c (default_options): Enlist OPT_finline_functions_called_once.
9ee65b55
UB
4283 * common.opt (flag_inline_functions_called_once): Do not
4284 initialize to 1.
fb37c1de 4285
0818c24c
JH
42862011-06-10 Jan Hubicka <jh@suse.cz>
4287
4288 * ipa-cp.c (ipcp_versionable_function_p): Thunks are not versionable.
9ee65b55
UB
4289 (ipcp_initialize_node_lattices): Do not deal with aliases;
4290 Do not try to propagate through thunks.
0818c24c
JH
4291 (ipcp_change_tops_to_bottom): Do not deal with aliases.
4292
c8246dbe
JH
42932011-06-10 Jan Hubicka <jh@suse.cz>
4294
9ee65b55
UB
4295 * ipa-prop.c (ipa_write_node_info): Stream jump functions
4296 for indirect calls.
c8246dbe
JH
4297 (ipa_read_node_info): Likewise.
4298
d7e2a1c1
BS
42992011-06-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4300
4301 PR lto/49302
4302 * tree-ssa-math-opts.c (powi_as_mults): Minor cleanup.
4303 (build_and_insert_call): Likewise.
4304 (build_and_insert_ref): New.
4305 (gimple_expand_builtin_pow): Minor cleanup.
4306 (gimple_expand_builtin_cabs): New.
4307 (execute_cse_sincos): Add case for BUILT_IN_CABS.
9ee65b55 4308
749f25d8
JH
43092011-06-10 Jan Hubicka <jh@suse.cz>
4310
4311 * ipa-cp.c (ipcp_versionable_function_p): Aliases are not versionable.
4312 (ipcp_cloning_candidate_p): Aliases are not clonning candidates.
4313 (ipcp_initialize_node_lattices): We don't propagate through an aliases.
4314 (ipcp_propagate_stage): Skip aliases when propagating.
4315 (ipcp_need_redirect_p): Skip aliases.
4316 (ipcp_insert_stage): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY and
4317 collect_callers_of_node.
4318 * ipa-prop.c (ipa_init_func_list): Do not analyze datastructures
4319 for aliases.
4320 (ipa_compute_jump_functions): Look through aliases.
4321
8340fbd7
RO
43222011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4323
4324 * doc/sourcebuild.texi (Effective-Target Keywords, pie): Document it.
4325
9aaa7e47
HPN
43262011-06-10 Hans-Peter Nilsson <hp@axis.com>
4327
4328 * ira-costs.c: Remove #ifdefs on dead FORBIDDEN_INC_DEC_CLASSES.
4329 Adjust comments.
4330 * system.h (FORBIDDEN_INC_DEC_CLASSES): Poison.
4331
f1724940
JH
43322011-06-10 Jan Hubicka <jh@suse.cz>
4333
4334 * ipa-cp.c (ipcp_process_devirtualization_opportunities):
4335 Update call of gimple_get_virt_method_for_binfo.
4336 * gimple-fold.c (gimple_get_virt_method_for_binfo): Remove
4337 refuse_thunks parameter.
4338 (gimple_fold_call): Update.
4339 * ipa-prop.c (try_make_edge_direct_virtual_call): Update.
4340
a6f834c5
JH
43412011-06-10 Jan Hubicka <jh@suse.cz>
4342
4343 * tree-sra.c (all_callers_have_enough_arguments_p): Rename to ...
4344 (not_all_callers_have_enough_arguments_p): ... this one; turn into
4345 worker for cgraph_for_node_and_aliases.
4346 (convert_callers_for_node): Break out from ...
4347 (convert_callers): ... here.
4348 (modify_function): Use collect_callers_of_node.
4349 (ipa_early_sra): Use cgraph_for_node_and_aliases.
4350
7871eee3
RG
43512011-06-10 Richard Guenther <rguenther@suse.de>
4352
4353 PR tree-optimization/49361
4354 * fold-const.c (fold_binary_loc): Only fold x * x to pow (x, 2.0)
4355 when not already in gimple form.
4356
dae957ae
RG
43572011-06-10 Richard Guenther <rguenther@suse.de>
4358
4359 PR bootstrap/49344
4360 * tree-ssa-math-opts.c (convert_mult_to_fma): Use
4361 FOR_EACH_PHI_OR_STMT_USE.
4362
a5b1779f
JH
43632011-06-10 Jan Hubicka <jh@suse.cz>
4364
4365 * ipa-inline-transform.c (can_remove_node_now_p): Move out of...
4366 (clone_inlined_nodes): ... here.
4367 (inline_call): Use cgraph_function_or_thunk_node; redirect edge
4368 to real destination prior inlining.
4369 * ipa-inline.c (caller_growth_limits, can_inline_edge_p,
4370 can_early_inline_edge_p, want_early_inline_function_p,
4371 want_early_inline_function_p, want_inline_small_function_p,
4372 want_inline_self_recursive_call_p, want_inline_function_called_once_p,
4373 edge_badness, update_all_callee_keys, lookup_recursive_calls,
4374 add_new_edges_to_heap, inline_small_functions, flatten_function,
4375 inline_always_inline_functions, early_inline_small_functions): Use
4376 cgraph_function_or_thunk_node.
4377 * ipa-inline-analysis.c (evaluate_conditions_for_edge,
4378 dump_inline_edge_summary, estimate_function_body_sizes): Likewise.
4379 (do_estimate_edge_growth_1): Break out from ...
4380 (do_estimate_growth) ... here; walk aliases.
4381 (inline_generate_summary): Skip aliases.
4382
c1ae3ca5
RG
43832011-06-10 Richard Guenther <rguenther@suse.de>
4384
9ee65b55
UB
4385 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Scan stmts
4386 forward when combining, visit inserted stmts when a stmt was changed.
c1ae3ca5 4387
b504a918
PC
43882011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
4389
4390 * tree.h (error_operand_p): Add.
4391 * dbxout.c (dbxout_type_fields): Use the latter.
4392 * c-decl.c (add_stmt): Likewise.
4393 * gimplify.c (omp_add_variable, omp_notice_variable,
4394 gimplify_scan_omp_clauses): Likewise.
4395
3f5ea9dc 43962011-06-10 Georg-Johann Lay <avr@gjlay.de>
b504a918 4397
3f5ea9dc
GJL
4398 * config/avr/avr.c (avr_function_arg_advance): Fix thinko about
4399 when a value is actually passed in regs.
4400
b11b0904 44012011-06-10 Eric Botcazou <ebotcazou@adacore.com>
870c3cf8 4402 Laurent Rougé <laurent.rouge@menta.fr>
b11b0904
EB
4403
4404 * doc/invoke.texi (SPARC options): Add -mflat.
4405 * config/sparc/sparc.opt: Likewise.
4406 * config/sparc/sparc-protos.h (sparc_expand_epilogue): Add parameter.
4407 (sparc_flat_expand_prologue): Declare.
4408 (sparc_flat_expand_epilogue): Likewise.
4409 * config/sparc/sparc.h (CPP_CPU_SPEC): Do not handle -msoft-float.
4410 (CPP_ENDIAN_SPEC): Replace with...
4411 (CPP_OTHER_SPEC): ...this. Also handle -mflat and -msoft-float.
4412 (CPP_SPEC): Adjust to above change.
4413 (EXTRA_SPECS): Likewise.
4414 (SPARC_INCOMING_INT_ARG_FIRST): Add TARGET_FLAT handling.
4415 (INCOMING_REGNO): Likewise.
4416 (OUTGOING_REGNO): Likewise.
4417 (LOCAL_REGNO): Likewise.
4418 (SETUP_FRAME_ADDRESSES): Likewise.
4419 (FIXED_REGISTERS): Set 0 for %fp.
4420 (CALL_USED_REGISTERS): Likewise.
4421 (INITIAL_ELIMINATION_OFFSET): Pass current_function_is_leaf.
4422 (EXIT_IGNORE_STACK): Define to 1 unconditionally.
4423 (RETURN_ADDR_REGNUM): Define.
4424 (RETURN_ADDR_RTX): Use it.
4425 (INCOMING_RETURN_ADDR_REGNUM): Define.
4426 (INCOMING_RETURN_ADDR_RTX): Use it.
4427 (DWARF_FRAME_RETURN_COLUMN): Likewise.
4428 (EH_RETURN_REGNUM): Define.
4429 (EH_RETURN_STACKADJ_RTX): Use it.
4430 (EH_RETURN_HANDLER_RTX): Delete.
4431 (EPILOGUE_USES): Use them and add TARGET_FLAT handling.
4432 * config/sparc/sparc.c (apparent_fsize, actual_fsize, num_gfregs):
4433 Delete.
4434 (struct machine_function): Add frame_size, apparent_frame_size,
4435 frame_base_reg, frame_base_offset, n_global_fp_regs and
4436 save_local_in_regs_p fields.
4437 (sparc_frame_size, sparc_apparent_frame_size, sparc_frame_base_reg,
4438 sparc_frame_base_offset, sparc_n_global_fp_regs,
4439 sparc_save_local_in_regs_p): New macros.
4440 (sparc_option_override): Error out if -fcall-saved-REG is specified
4441 for Out registers.
4442 (eligible_for_restore_insn): Fix formatting.
4443 (eligible_for_return_delay): Likewise. Add TARGET_FLAT handling.
4444 (eligible_for_sibcall_delay): Likewise.
4445 (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Add MODE parameter.
4446 (sparc_legitimate_address_p): Adjust to above change.
4447 (save_global_or_fp_reg_p): New predicate.
4448 (return_addr_reg_needed_p): Likewise.
4449 (save_local_or_in_reg_p): Likewise.
4450 (sparc_compute_frame_size): Use them. Add TARGET_FLAT handling.
4451 (SORR_SAVE, SORR_RESTORE): Delete.
4452 (sorr_pred_t): New typedef.
4453 (sorr_act_t): New enum.
4454 (save_or_restore_regs): Rename to...
4455 (emit_save_or_restore_regs): ...this. Change type of LOW and HIGH
4456 parameters, remove ACTION parameter, add LEAF_FUNCTION_P, SAVE_P,
4457 ACTION_TRUE and ACTION_FALSE parameters. Implement more general
4458 mechanism. Add CFI information for double-word saves in 32-bit mode.
4459 (emit_adjust_base_to_offset): New function extracted from...
4460 (emit_save_or_restore_regs): ...this. Rename the rest to...
4461 (emit_save_or_restore_regs_global_fp_regs): ...this.
4462 (emit_save_or_restore_regs_local_in_regs): New function.
4463 (gen_create_flat_frame_[123]): New functions.
4464 (sparc_expand_prologue): Use SIZE local variable. Adjust.
4465 (sparc_flat_expand_prologue): New function.
4466 (sparc_asm_function_prologue): Add TARGET_FLAT handling.
4467 (sparc_expand_epilogue): Use SIZE local variable. Adjust.
4468 (sparc_flat_expand_epilogue): New function.
4469 (sparc_can_use_return_insn_p): Add TARGET_FLAT handling.
4470 (output_return): Likewise.
4471 (output_sibcall): Likewise.
4472 (sparc_output_mi_thunk): Likewise.
4473 (sparc_frame_pointer_required): Likewise.
4474 (sparc_conditional_register_usage): If TARGET_FLAT, disable the leaf
4475 function optimization.
4476 * config/sparc/sparc.md (flat): New attribute.
4477 (prologue): Add TARGET_FLAT handling.
4478 (save_register_window): Disable if TARGET_FLAT.
4479 (create_flat_frame_[123]): New patterns.
4480 (epilogue): Add TARGET_FLAT handling.
4481 (sibcall_epilogue): Likewise.
4482 (eh_return): New expander.
4483 (eh_return_internal): New insn and splitter.
4484 (return_internal): Add TARGET_FLAT handling.
4485 (untyped_return): Remove bogus test and use RETURN_ADDR_REGNUM.
4486 (save_stack_nonlocal): Use RETURN_ADDR_REGNUM.
4487 (nonlocal_goto): Add TARGET_FLAT handling.
4488 * config/sparc/t-elf: Add -mflat multilib.
4489 * config/sparc/t-leon: Likewise.
4490
fede8efa
JH
44912011-06-10 Jan Hubicka <jh@suse.cz>
4492
4493 * ipa-utils.c (searchc): Use cgraph_function_or_thunk_node.
4494 * ipa-pure-const.c (analyze_function): Aliases don't need analysis.
4495 (self_recursive_p): Use cgraph_function_node.
4496 (propagate_pure_const): Likewise.
4497 (propagate_nothrow): Likewise.
4498 * ipa-reference.c (ipa_reference_get_not_read_global): Use
4499 cgraph_function_node.
4500 (propagate_bits): Likewise.
4501 (propagate): Likewise.
4502
0127c76f
RR
45032011-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
4504 Richard Earnshaw <rearnsha@arm.com>
4505
9ee65b55 4506 * config/arm/arm.c (const_ok_for_op): Check to see if mvn can be used.
0127c76f
RR
4507 * config/arm/vfp.md (*arm_movdi_vfp): Delete.
4508 (*thumb2_movdi_vfp): Delete.
4509 (*arm_movdi_vfp_cortexa8): Delete.
4510 (*movdi_vfp): Consolidate from *arm_movdi_vfp and *thumb2_movdi_vfp.
4511 (*movdi_vfp_cortexa8): Likewise.
4512
f93fe5a0
RG
45132011-06-10 Richard Guenther <rguenther@suse.de>
4514
4515 * stor-layout.c (initialize_sizetypes): Give names to all
4516 sizetype kinds.
4517
f2164f87
IR
45182011-06-10 Ira Rosen <ira.rosen@linaro.org>
4519
4520 PR tree-optimization/49318
4521 * tree-vect-loop.c (vect_determine_vectorization_factor): Remove
4522 irrelevant pattern statements.
4523
3f91c962
HPN
45242011-06-10 Hans-Peter Nilsson <hp@axis.com>
4525
3d223145
HPN
4526 * system.h (SETJMP_VIA_SAVE_AREA): Poison.
4527
3f91c962
HPN
4528 PR bootstrap/49354
4529 * ira-costs.c (setup_regno_cost_classes_by_mode): Add missing cast
4530 to last assignment.
4531
b125ad45
JH
45322011-06-09 Jan Hubicka <jh@suse.cz>
4533
4534 * cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline;
4535 do not recompute reachable flag.
4536 (cgraph_finalize_function, cgraph_analyze_functions): Set
4537 redefined_extern_inline here.
4538
be330ed4
JH
45392011-06-09 Jan Hubicka <jh@suse.cz>
4540
4541 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Rename from ...
4542 (cgraph_only_called_directly_p): ... this one; bring offline.
4543 (resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
4544 varpool_used_from_object_file_p): Drop names from the declaratoin.
4545 (cgraph_for_node_thunks_and_aliases, cgraph_for_node_and_aliases,
4546 collect_callers_of_node): New.
4547 (cgraph_function_node, cgraph_function_or_thunk_node): New functions.
4548 (cgraph_edge_recursive_p): Use cgraph_function_node.
4549 * cgraph.c (cgraph_add_thunk): Check that thunk is not already alias.
4550 (cgraph_node_cannot_be_local_p_1): Break out from ...
4551 (cgraph_node_can_be_local_p): ... here; walk aliases.
4552 (cgraph_for_node_thunks_and_aliases): New function.
4553 (cgraph_for_node_and_aliases): New function.
4554 (cgraph_make_node_local_1): Break out from ...
9ee65b55
UB
4555 (cgraph_make_node_local) ... here; use
4556 cgraph_for_node_thunks_and_aliases.
be330ed4 4557 (cgraph_set_nothrow_flag_1): Break out from ...
9ee65b55
UB
4558 (cgraph_set_nothrow_flag) ... here;
4559 use cgraph_for_node_thunks_and_aliases.
be330ed4 4560 (cgraph_set_const_flag_1): Break out from ...
9ee65b55
UB
4561 (cgraph_set_const_flag) ... here;
4562 use cgraph_for_node_thunks_and_aliases.
be330ed4 4563 (cgraph_set_pure_flag_1): Break out from ...
9ee65b55
UB
4564 (cgraph_set_pure_flag) ... here;
4565 use cgraph_for_node_thunks_and_aliases.
be330ed4 4566 (cgraph_propagate_frequency_1): Break out from ...
9ee65b55
UB
4567 (cgraph_propagate_frequency) ... here; use
4568 cgraph_for_node_thunks_and_aliases.
be330ed4 4569 (cgraph_used_from_object_file_p): Do not care about aliases.
9ee65b55
UB
4570 (cgraph_not_only_called_directly_p_1, cgraph_only_called_directly_p):
4571 New functions.
be330ed4
JH
4572 (collect_callers_of_node_1, collect_callers_of_node): New functions.
4573
2ea91d6b
HPN
45742011-06-10 Hans-Peter Nilsson <hp@axis.com>
4575
4576 PR rtl-optimization/49154
4577 * config/cris/cris.h (FIXED_REGISTERS): Include CRIS_CC0_REGNUM.
4578 (enum reg_class): Add SRP_REGS and MOF_SRP_REGS.
4579 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
4580 (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Adjust to fit.
4581 * config/cris/cris.h (cris_register_move_cost): Remove
4582 !TARGET_V32 code. Tweak comments.
4583
9cf4fb5a
JH
45842011-06-09 Jan Hubicka <jh@suse.cz>
4585
4586 * cgraphbuild.c (record_eh_tables): Mark personality function as having
4587 address taken.
4588
6049a4c8
HPN
45892011-06-10 Hans-Peter Nilsson <hp@axis.com>
4590
c577822e 4591 PR rtl-optimization/49154
9ee65b55
UB
4592 * ira-costs.c (setup_regno_cost_classes_by_mode): If there already
4593 is a matching slot in the hashtable, assign it to classes_ptr.
c577822e 4594
54e1e4f7 4595 PR rtl-optimization/49154
6049a4c8
HPN
4596 * doc/tm.texi.in (Register Classes): Document rule for the narrowest
4597 register classes.
4598 * doc/tm.texi: Regenerate.
4599
3be68b64
KK
46002011-06-09 Kaz Kojima <kkojima@gcc.gnu.org>
4601
4602 PR target/49307
4603 * config/sh/sh.md (UNSPEC_CHKADD): New.
4604 (chk_guard_add): New define_insn_and_split.
4605 (symGOT_load): Use chk_guard_add instead of blockage.
4606
bf806a90
KT
46072011-06-09 Kai Tietz <ktietz@redhat.com>
4608
4609 * libgcc2.c (L_trampoline): Include windows.h for mingw targets.
4610
d5a9738b
EB
46112011-06-09 Eric Botcazou <ebotcazou@adacore.com>
4612
4613 * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
4614
527e82c2
WG
46152011-06-09 Wei Guozhi <carrot@google.com>
4616
4617 PR target/46975
4618 * config/arm/arm.md (*addsi3_carryin_compare0_<optab>): New pattern.
4619 (peephole2 for conditional move): Generate 16 bit instructions.
4620
b8bc3a43
UB
46212011-06-09 Uros Bizjak <ubizjak@gmail.com>
4622
4623 * config/i386/i386.md (*movdi_internal_rex64): Merge
4624 alternatives 6 and 8.
4625
4745da6e
DL
46262011-06-09 David Li <davidxl@google.com>
4627
4628 * cgraphunit.c (cgraph_finalize_compilation_unit): Pass dump.
4629 * passes.c (passr_eq): New function.
4630 (create_pass_tab): New function.
4631 (pass_traverse): New function.
4632 (dump_one_pass): New function.
4633 (dump_pass_list): New function.
4634 (dump_passes): New function.
4635
bdf67bcb
DL
46362011-06-09 David Li <davidxl@google.com>
4637
4638 * tree-complex.c (tree_lower_complex): Gate cleanup.
4639 * tree-stdarg.c (check_all_va_list_escapes): Ditto.
4640 (execute_optimize_stdarg): Ditto.
4641 * tree-eh.c (execute_lower_eh_dispatch): Ditto.
4642 (execute_cleanup_eh_1): Ditto.
4643 (execute_cleanup_eh): Ditto.
4644 * gcse.c (gate_rtl_pre): Ditto.
4645 (execute_rtl_pre): Ditto.
4646 * except.c (finish_eh_generation): Ditto.
4647 (convert_to_eh_region_ranges): Ditto.
4648 * cprop.c (one_cprop_pass): Ditto.
4649
547fdef8
BS
46502011-06-09 Bernd Schmidt <bernds@codesourcery.com>
4651
4652 PR target/48673
4653 * config/ia64/ia64.c (ia64_reorg): Clear BB_DISABLE_SCHEDULE flag
4654 in all basic blocks.
4655
10e48e39
RO
46562011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4657
4658 * config/alpha/netbsd.h (ENABLE_EXECUTE_STACK): Remove.
4659 (HAVE_ENABLE_EXECUTE_STACK): Define.
4660 * config/alpha/osf5.h (ENABLE_EXECUTE_STACK): Remove.
4661 (HAVE_ENABLE_EXECUTE_STACK): Define.
4662 * config/darwin.h (ENABLE_EXECUTE_STACK): Remove.
4663 (HAVE_ENABLE_EXECUTE_STACK): Define.
4664 * config/i386/mingw32.h (MINGW_ENABLE_EXECUTE_STACK): Remove.
4665 (ENABLE_EXECUTE_STACK): Remove.
4666 (HAVE_ENABLE_EXECUTE_STACK): Define.
4667 [IN_LIBGCC2]: Don't include <windows.h>.
4668 * config/i386/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
4669 (HAVE_ENABLE_EXECUTE_STACK): Define.
4670 * config/i386/netbsd64.h (ENABLE_EXECUTE_STACK): Remove.
4671 (HAVE_ENABLE_EXECUTE_STACK): Define.
4672 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Remove.
4673 * config/openbsd.h (ENABLE_EXECUTE_STACK): Remove.
4674 (HAVE_ENABLE_EXECUTE_STACK): Define.
4675 * config/sol2.h (ENABLE_EXECUTE_STACK): Remove.
4676 (HAVE_ENABLE_EXECUTE_STACK): Define.
4677 * config/sparc/freebsd.h (ENABLE_EXECUTE_STACK): Remove.
4678 (HAVE_ENABLE_EXECUTE_STACK): Define.
4679 * config/sparc/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
4680 (HAVE_ENABLE_EXECUTE_STACK): Define.
4681 * config/alpha/alpha.c (alpha_trampoline_init): Test
4682 HAVE_ENABLE_EXECUTE_STACK.
4683 * config/i386/i386.c (ix86_trampoline_init): Likewise.
4684 * config/sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
4685 (sparc64_initialize_trampoline): Likewise.
4686 * libgcc2.c [L_enable_execute_stack]: Remove.
4687 * system.h (ENABLE_EXECUTE_STACK): Poison.
4688 * doc/tm.texi.in (Trampolines, ENABLE_EXECUTE_STACK): Remove.
4689 * doc/tm.texi: Regenerate.
4690 * Makefile.in (LIBGCC2_CFLAGS): Add -fbuilding-libgcc.
4691
8ced31fe
JJ
46922011-06-09 Jakub Jelinek <jakub@redhat.com>
4693
4694 PR middle-end/49308
4695 * dce.c (reset_unmarked_insns_debug_uses): Avoid shadowing insn
4696 variable. After resetting and rescanning insn continue with previous
4697 statement.
4698
ee610fcd
RO
46992011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4700
4701 * configure.ac (gcc_cv_as_hidden): Enable on *-*-darwin*.
4702 (gcc_cv_ld_hidden): Likewise.
4703 * configure: Regenerate.
4704 * config/i386/i386.c (USE_HIDDEN_LINKONCE): Remove TARGET_MACHO.
4705 (ix86_stack_protect_fail): Mark unused.
4706 (TARGET_STACK_PROTECT_FAIL) [TARGET_MACHO]: Don't redefine.
4707 * config/rs6000/rs6000.c (rs6000_assemble_visibility)
4708 [TARGET_MACHO]: Don't define.
4709 (TARGET_ASM_ASSEMBLE_VISIBILITY): Likewise.
4710 (TARGET_STACK_PROTECT_FAIL): Likewise.
4711 (rs6000_stack_protect_fail): Mark unused.
4712 * dwarf2asm.c (dw2_output_indirect_constant_1): Mark decl hidden if
b8bc3a43 4713 USE_LINKONCE_INDIRECT. Don't emit .hidden expicitly.
ee610fcd 4714
8f2e22ff
AK
47152011-06-08 Andi Kleen <ak@linux.intel.com>
4716
4717 * varasm.c (get_section): Print location of other conflict
4718 for section conflicts.
4719
815cecbe
AK
47202011-06-08 Andi Kleen <ak@linux.intel.com>
4721
4722 * config/i386/driver-i386.c (host_detect_local_cpu):
4723 Add model 0x2d Intel CPU.
4724
1460ec5c
AK
47252011-06-08 Andi Kleen <ak@linux.intel.com>
4726
4727 * reginfo.c (global_regs_decl): Add.
b8bc3a43
UB
4728 (globalize_reg): Add decl parameter. Compute location. Pass location
4729 to warnings and add inform. Store decl in global_regs_decl.
1460ec5c
AK
4730 * rtl.h (globalize_reg): Update prototype.
4731 * varasm.c (make_decl_rtl): Pass decl to globalize_reg().
4732
df17530a
MX
47332011-06-09 Mingjie Xing <mingjie.xing@gmail.com>
4734
4735 * treestruct.def (TS_TYPE_DECL): Fix the printable name typo.
4736
409fed48
KK
47372011-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
4738
4739 PR target/49305
4740 * config/sh/predicates.md (general_movsrc_operand): Check
4741 mode for memory with indexed address for QI and HImode.
4742 (general_movdst_operand): Likewise.
4743
87c16a45
NP
47442011-06-09 Nicola Pero <nicola.pero@meta-innovation.com>
4745
b8bc3a43 4746 * doc/objc.texi (Traditional GNU Objective-C runtime API): Updated.
87c16a45 4747
49931fcb
AO
47482011-06-08 Alexandre Oliva <aoliva@redhat.com>
4749
4750 * tree-flow-inline.h (op_iter_init): Reject GIMPLE_PHI stmts.
4751 (num_ssa_operands): Likewise.
4752 (op_iter_init_phiuse): Forward-declare.
4753 (delink_stmt_imm_use): Iterate with FOR_EACH_PHI_OR_STMT_USE.
4754
29494d1f
NC
47552011-06-08 Nick Clifton <nickc@redhat.com>
4756
4757 * doc/invoke.texi (ARM Options): Update description of
4758 -mthumb-interwork.
4759
4ffae7ff
L
47602011-06-08 H.J. Lu <hongjiu.lu@intel.com>
4761
4762 * config/i386/driver-i386.c (host_detect_local_cpu): Support
4763 unknown Intel family 0x6 CPUs.
4764
d9c77712
MJ
47652011-06-08 Martin Jambor <mjambor@suse.cz>
4766
4767 * tree-sra.c (mark_rw_status): Removed.
4768 (analyze_access_subtree): New parameter parent instead of
4769 mark_read and mark_write, propagate from that.
4770
b1def36c
JB
47712011-06-08 Julian Brown <julian@codesourcery.com>
4772
4773 * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
4774 for double-precision helper functions in hard-float mode if only
4775 single-precision arithmetic is supported in hardware.
4776
6c8e9fc9
AM
47772011-06-08 Alexander Monakov <amonakov@ispras.ru>
4778
4779 PR rtl-optimization/49303
4780 * sel-sched.c (move_op): Use correct type for 'res'. Verify that
4781 code_motion_path_driver returned 0 or 1.
4782 (sel_region_finish): Clear h_d_i_d.
4783
c2bbcb0d
KK
47842011-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
4785
4786 * config/sh/sh.c (prepare_move_operands): Set pic register
4787 appropriately for global and local dynamic tls models even
4788 if flag_pic is unset.
4789
6976ae51
JM
47902011-06-07 Jason Merrill <jason@redhat.com>
4791
4792 * pretty-print.h (ATTRIBUTE_GCC_PPDIAG): Use GCC_DIAG_STYLE if set.
4793
bb5b1f5e
XDL
47942011-06-07 Xinliang David Li <davidxl@google.com>
4795 * passes.c (enable_disable_pass): Handle assembler name.
4796 (is_pass_explicitly_enabled_or_disabled): Ditto.
4797
91ffe356
RO
47982011-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4799
4800 PR tree-optimization/48497
4801 * doc/sourcebuild.texi (Directives, dg-additional-options): Document.
4802
06bc3ec7
BS
48032011-06-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4804
4805 PR tree-optimization/46728
4806 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Change FIXME
4807 to use gimple_val_nonnegative_real_p.
4808 * gimple-fold.c (gimple_val_nonnegative_real_p): New function.
4809 * gimple.h (gimple_val_nonnegative_real_p): New declaration.
29494d1f 4810
c074d740
L
48112011-06-07 H.J. Lu <hongjiu.lu@intel.com>
4812
4813 * config/i386/i386.md (*movsf_internal): Optimize AVX check.
4814
8973b112
SG
48152011-06-07 Sergey Grechanik <mouseentity@ispras.ru>
4816
4817 * config/arm/arm.c (coproc_secondary_reload_class): Return NO_REGS for
4818 constant vectors.
4819
67b88453
RG
48202011-06-07 Richard Guenther <rguenther@suse.de>
4821
4822 * stor-layout.c (initialize_sizetypes): Initialize all
4823 sizetypes based on target definitions.
4824 (set_sizetype): Remove.
4825 * tree.c (build_common_tree_nodes): Do not call set_sizetype.
4826 * tree.h (set_sizetype): Remove.
4827
1dcad079
NC
48282011-06-07 Nick Clifton <nickc@redhat.com>
4829
4830 * config.gcc: Unify V850 architecture options and add support for
4831 newer V850 architectures.
4832 * config/v850/t-v850e: Delete.
4833
009db074
RG
48342011-06-07 Richard Guenther <rguenther@suse.de>
4835
4836 * tree.c (build_common_tree_nodes): Also initialize size_type_node.
4837 Call set_sizetype from here.
4838
f373314f
AS
48392011-06-07 Andrew Stubbs <ams@codesourcery.com>
4840
4841 * config/arm/arm.md (*maddhidi4tb, *maddhidi4tt): New define_insns.
4842 (*maddhisi4tb, *maddhisi4tt): New define_insns.
4843
c536876e
AS
48442011-06-07 Bernd Schmidt <bernds@codesourcery.com>
4845 Andrew Stubbs <ams@codesourcery.com>
4846
4847 * simplify-rtx.c (simplify_unary_operation_1): Canonicalize widening
4848 multiplies.
4849 * doc/md.texi (Canonicalization of Instructions): Document widening
4850 multiply canonicalization.
4851
308dc890
JJ
48522011-06-07 Jakub Jelinek <jakub@redhat.com>
4853
4854 PR gcov-profile/49299
b8bc3a43 4855 * value-prof.c (gimple_ic): Don't assume icall has a fallthru edge.
308dc890 4856
383d9c83
IR
48572011-06-07 Ira Rosen <ira.rosen@linaro.org>
4858
4859 * tree-vectorizer.h (vect_recog_func_ptr): Make last argument to be
4860 a pointer.
4861 * tree-vect-patterns.c (vect_recog_widen_sum_pattern,
4862 vect_recog_widen_mult_pattern, vect_recog_dot_prod_pattern,
4863 vect_recog_pow_pattern): Likewise.
4864 (vect_pattern_recog_1): Remove declaration.
4865 (widened_name_p): Remove declaration. Add new argument to specify
4866 whether to check that both types are either signed or unsigned.
4867 (vect_recog_widen_mult_pattern): Update documentation. Handle
4868 unsigned patterns and multiplication by constants.
4869 (vect_pattern_recog_1): Update vect_recog_func references. Use
4870 statement information from the statement returned from pattern
4871 detection functions.
4872 (vect_pattern_recog): Update vect_recog_func reference.
4873 * tree-vect-stmts.c (vectorizable_type_promotion): For widening
4874 multiplication by a constant use the type of the other operand.
4875
4de4b0f2
RS
48762011-06-06 Richard Sandiford <rdsandiford@googlemail.com>
4877
4878 PR rtl-optimization/49145
4879 * combine.c (make_compound_operation): Handle ZERO_EXTEND specially.
4880
a9d24544
JJ
48812011-06-06 Jakub Jelinek <jakub@redhat.com>
4882
99a5e049
JJ
4883 PR debug/49262
4884 * dwarf2out.c (native_encode_initializer): Decrement count in each
4885 iteration.
4886
04902d4c
JJ
4887 PR debug/49294
4888 * dwarf2out.c (mem_loc_descriptor) <do_shift>: Give up for
4889 non-MODE_INT modes.
4890
a9d24544
JJ
4891 PR c++/49264
4892 * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
4893 if stmt folded into nothing.
b8bc3a43
UB
4894 * tree-inline.c (fold_marked_statements): If a builtin at the end of
4895 a bb folded into nothing, just update cgraph edges and move to next bb.
a9d24544
JJ
4896 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
4897 to be NULL. Don't compute count and frequency if new_call is NULL.
4898
47c79d56
DN
48992011-06-04 Diego Novillo <dnovillo@google.com>
4900
4901 * Makefile.in (lto-compress.o): Add dependency on LTO_STREAMER_H.
4902 (cgraph.o): Likewise.
4903 (cgraphunit.o): Likewise.
4904 * cgraphunit.c: Include lto-streamer.h
4905 (cgraph_finalize_compilation_unit): Call lto_streamer_hooks_init
4906 if LTO is enabled.
4907 * lto-streamer-in.c (unpack_value_fields): Call
4908 streamer_hooks.unpack_value_fields if set.
4909 (lto_materialize_tree): For unhandled nodes, first try to
4910 call lto_streamer_hooks.alloc_tree, if it exists.
4911 (lto_input_ts_decl_common_tree_pointers): Move reading of
4912 DECL_INITIAL to lto_streamer_read_tree.
4913 (lto_read_tree): Call lto_streamer_hooks.read_tree if set.
4914 (lto_streamer_read_tree): New.
4915 (lto_reader_init): Rename from lto_init_reader.
4916 Move initialization code to lto/lto.c.
4917 * lto-streamer-out.c (pack_value_fields): Call
4918 streamer_hooks.pack_value_fields if set.
b8bc3a43
UB
4919 (lto_output_tree_ref): For tree nodes that are not normally indexable,
4920 call streamer_hooks.indexable_with_decls_p before giving up.
47c79d56 4921 (lto_output_ts_decl_common_tree_pointers): Move handling
b8bc3a43
UB
4922 for FUNCTION_DECL and TRANSLATION_UNIT_DECL to lto_streamer_write_tree.
4923 (lto_output_tree_header): Call streamer_hooks.is_streamable instead of
4924 lto_is_streamable. Call lto_streamer_hooks.output_tree_header if set.
4925 (lto_write_tree): Call lto_streamer_hooks.write_tree if set.
47c79d56
DN
4926 (lto_streamer_write_tree): New.
4927 (lto_output): Call lto_streamer_init directly.
4928 (lto_writer_init): Remove.
4929 * lto-streamer.c (streamer_hooks): New.
4930 (lto_streamer_cache_create): Call streamer_hooks.preload_common_nodes
4931 instead of lto_preload_common_nodes.
4932 (lto_is_streamable): Move from lto-streamer.h
4933 (lto_streamer_hooks_init): New.
4934 (streamer_hooks): New.
4935 (streamer_hooks_init): New.
4936 * lto-streamer.h (struct output_block): Forward declare.
4937 (struct lto_input_block): Likewise.
4938 (struct data_in): Likewise.
4939 (struct bitpack_d): Likewise.
4940 (struct streamer_hooks): Declare.
4941 (streamer_hooks): Declare.
4942 (lto_streamer_hooks_init): Declare.
4943 (lto_streamer_write_tree): Declare.
4944 (lto_streamer_read_tree): Declare.
4945 (streamer_hooks_init): Declare.
4946 (lto_is_streamable): Move to lto-streamer.c
4947
22afe143
AK
49482011-06-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4949
4950 * longlong.h (smul_ppmm): The resulting register pair contains the
4951 higher order word first.
4952
3906ea1b
BS
49532011-06-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4954
4955 PR tree-optimization/46728
4956 * builtins.c (powi_table): Remove.
4957 (powi_lookup_cost): Remove.
4958 (powi_cost): Remove.
4959 (expand_powi_1): Remove.
4960 (expand_powi): Remove.
4961 (expand_builtin_pow_root): Remove.
4962 (expand_builtin_pow): Remove.
4963 (expand_builtin_powi): Eliminate handling of constant exponent.
4964 (expand_builtin): Use expand_builtin_mathfn_2 for BUILT_IN_POW.
b8bc3a43 4965
3598cabd
AO
49662011-06-06 Alexandre Oliva <aoliva@redhat.com>
4967
4968 * cprop.c (local_cprop_pass): Don't set changed for debug insns.
4969
a7a110bb
AO
49702011-06-06 Alexandre Oliva <aoliva@redhat.com>
4971
4972 * dce.c (reset_unmarked_insns_debug_uses): New.
4973 (delete_unmarked_insns): Skip debug insns.
4974 (prescan_insns_for_dce): Likewise.
4975 (rest_of_handle_ud_dce): Reset debug uses of removed sets.
4976 * reg-stack.c (subst_stack_regs_in_debug_insn): Signal when no
4977 active reg can be found.
4978 (subst_all_stack_regs_in_debug_insn): New. Reset debug insn then.
4979 (convert_regs_1): Use it.
4980
6d8402ac
AO
49812011-06-06 Alexandre Oliva <aoliva@redhat.com>
4982
4983 * tree-pretty-print.c (dump_function_header): Add flags.
4984 Don't dump decl_uid with nouid.
4985 * tree-pretty-print.h (dump_function_header): Adjust.
4986 * final.c (rest_of_clean_state): Pass dump_flags on, with nouid.
4987 * passes.c (pass_init_dump_file): Pass dump_flags on.
4988 * tree-cfg.c (gimple_dump_cfg): Pass flags on.
4989
f75e1f1e
AO
49902011-06-06 Alexandre Oliva <aoliva@redhat.com>
4991
4992 PR bootstrap/49270
4993 * ipa-inline-analysis.c (read_predicate): Initialize all clauses.
4994
275311c4
MP
49952011-06-06 Mikael Pettersson <mikpe@it.uu.se>
4996
4997 PR tree-optimization/49243
4998 * calls.c (setjmp_call_p): Also check if fndecl has the
4999 returns_twice attribute.
5000
aa4203e7
RO
50012011-06-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5002
5003 * config/mips/iris6.h (ENDFILE_SPEC): Use crtfastmath.o if
5004 -ffast-math etc.
5005
48f9d59a
RH
50062011-06-06 Richard Henderson <rth@redhat.com>
5007 Georg-Johann Lay <avr@gjlay.de>
5008
5009 PR target/42210
5010 * config/avr/predicates.md (const1_operand, const_0_to_7_operand):
5011 New predicates.
5012 * config/avr/avr.md ("insv"): New insn expander.
5013 ("*movbitqi.1-6.a", "*movbitqi.1-6.b", "*movbitqi.0", "*insv.io",
5014 "*insv.not.io", "*insv.reg"): New insns.
5015
11494830
HPN
50162011-06-06 Hans-Peter Nilsson <hp@bitrange.com>
5017
5018 PR target/49285
b8bc3a43
UB
5019 * config/mmix/mmix.md ("truncdfsf2", "extendsfdf2"): Correct predicate
5020 to nonimmediate_operand from memory_operand for the operand that is to
5021 be forced to memory by the expander. Lose the constraints.
11494830 5022
679e70df
EB
50232011-06-05 Eric Botcazou <ebotcazou@adacore.com>
5024
5025 * config/sparc/sparc.c (output_return): Fix thinko in the output of an
5026 EH return when delayed branches are disabled.
5027
4d3d7f15
UB
50282011-06-05 Uros Bizjak <ubizjak@gmail.com>
5029
5030 * config/i386/i386.md (*movdf_internal_rex64) <case 8,9,10>:
5031 Remove MODE_TI handling. Remove SSE1 handling in attribute "mode"
5032 calculation.
5033 (*movdf_internal_rex64) <case 6,7,8>: Remove MODE_TI handling.
5034 Simplify MODE_V1DF and MODE_V2SF handling.
5035 (*movsf_internal): Remove x constraint from alternative 7 of operand 1.
5036 Simplify MODE_SF handling.
5037
a45c0557
JH
50382011-06-04 Jan Hubicka <jh@suse.cz>
5039
5040 PR tree-optimization/48893
5041 PR tree-optimization/49091
5042 PR tree-optimization/49179
5043 * ipa-inline-analysis.c (evaluate_conditions_for_known_args):
5044 Bounds check.
5045
26740835
JH
50462011-06-04 Jan Hubicka <jh@suse.cz>
5047
5048 PR lto/48954
b8bc3a43
UB
5049 * lto-cgraph.c (output_node_opt_summary): Handle NULL skip args
5050 bitmaps.
26740835 5051
014ab419
JW
50522011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
5053
5054 * doc/invoke.texi: Document -Wdelete-non-virtual-dtor.
5055
407bcba7
JJ
50562011-06-04 Jakub Jelinek <jakub@redhat.com>
5057
5058 PR target/49281
5059 * config/i386/i386.md (*lea_general_4): Require INTVAL (operands[3])
5060 to be strictly smaller than 1 << shiftcount.
5061
e3195c52
JH
50622011-06-04 Jan Hubicka <jh@suse.cz>
5063
5064 PR tree-optimize/48929
5065 * ipa-inline-analysis.c (remap_edge_predicates): Fix handling
5066 of empty predicate.
5067
047d33a0
AO
50682011-06-04 Alexandre Oliva <aoliva@redhat.com>
5069
5070 PR debug/48333
5071 * calls.c (emit_call_1): Prefer the __builtin declaration of
5072 builtin functions.
5073
dc587809
DN
50742011-06-03 Diego Novillo <dnovillo@google.com>
5075
5076 * lto-streamer-in.c (unpack_value_fields): Remove unneeded asserts.
5077 (lto_input_tree_pointers): Likewise.
5078 * lto-streamer-out.c (pack_value_fields): Likewise.
5079 (lto_output_tree_pointers): Likewise.
5080 * lto-streamer.h (lto_is_streamable): Add check for OMP_CLAUSE
5081 and OPTIMIZATION_NODE.
5082
58cd1d70
RO
50832011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5084
5085 * config/alpha/linux.h (MD_UNWIND_SUPPORT): Remove.
5086 * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Remove.
5087 * config/alpha/vms.h (MD_UNWIND_SUPPORT): Remove.
5088 * config/bfin/linux.h (MD_UNWIND_SUPPORT): Remove.
5089 * config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Remove.
5090 * config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
5091 * config/i386/linux64.h (MD_UNWIND_SUPPORT): Remove.
5092 * config/i386/sol2.h (MD_UNWIND_SUPPORT): Remove.
5093 * config/i386/mingw32.h (MD_UNWIND_SUPPORT): Remove.
5094 * config/ia64/linux.h (MD_UNWIND_SUPPORT): Remove.
5095 * config/ia64/vms.h (MD_UNWIND_SUPPORT): Remove.
5096 * config/m68k/linux.h (MD_UNWIND_SUPPORT): Remove.
5097 * config/mips/linux.h (MD_UNWIND_SUPPORT): Remove.
5098 * config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): Remove.
5099 * config/pa/pa32-linux.h (MD_UNWIND_SUPPORT): Remove.
5100 * config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Remove.
5101 * config/rs6000/linux.h (MD_UNWIND_SUPPORT): Remove.
5102 * config/rs6000/linux64.h (MD_UNWIND_SUPPORT): Remove.
5103 * config/s390/linux.h (MD_UNWIND_SUPPORT): Remove.
5104 * config/s390/tpf.h (MD_UNWIND_SUPPORT): Remove.
5105 * config/sh/linux.h (MD_UNWIND_SUPPORT): Remove.
5106 * config/sparc/linux.h (MD_UNWIND_SUPPORT): Remove.
5107 * config/sparc/linux64.h (MD_UNWIND_SUPPORT): Remove.
5108 * config/sparc/sol2.h (MD_UNWIND_SUPPORT): Remove.
5109 * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Remove.
5110 * config/alpha/linux-unwind.h: Move to ../libgcc/config/alpha.
5111 * config/alpha/osf5-unwind.h: Move to ../libgcc/config/alpha.
5112 * config/alpha/vms-unwind.h: Move to ../libgcc/config/alpha.
5113 * config/bfin/linux-unwind.h: Move to ../libgcc/config/bfin.
5114 * config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
5115 * config/i386/sol2-unwind.h: Move to ../libgcc/config/i386.
5116 * config/i386/w32-unwind.h: Move to ../libgcc/config/i386.
5117 * config/ia64/linux-unwind.h: Move to ../libgcc/config/ia64.
5118 * config/ia64/vms-unwind.h: Move to ../libgcc/config/ia64.
5119 * config/m68k/linux-unwind.h: Move to ../libgcc/config/m68k.
5120 * config/mips/linux-unwind.h: Move to ../libgcc/config/mips.
5121 * config/pa/hpux-unwind.h: Move to ../libgcc/config/pa.
5122 * config/pa/linux-unwind.h: Move to ../libgcc/config/pa.
5123 * config/rs6000/darwin-unwind.h: Move to ../libgcc/config/rs6000.
5124 * config/rs6000/linux-unwind.h: Move to ../libgcc/config/rs6000.
5125 * config/s390/linux-unwind.h: Move to ../libgcc/config/s390.
5126 * config/s390/tpf-unwind.h: Move to ../libgcc/config/s390.
5127 * config/sh/linux-unwind.h: Move to ../libgcc/config/sh.
5128 * config/sparc/linux-unwind.h: Move to ../libgcc/config/sparc.
5129 * config/sparc/sol2-unwind.h: Move to ../libgcc/config/sparc.
5130 * config/xtensa/linux-unwind.h: Move to ../libgcc/config/xtensa.
5131 * config/darwin9.h (DARWIN_LIBSYSTEM_HAS_UNWIND): Remove.
5132 * system.h (MD_UNWIND_SUPPORT): Poison.
5133 * doc/tm.texi.in (Exception Handling, MD_UNWIND_SUPPORT): Remove.
5134 * doc/tm.texi: Regenerate.
5135 * unwind-dw2.c: Include md-unwind-support.h instead of
5136 MD_UNWIND_SUPPORT.
5137 * config/ia64/unwind-ia64.c: Likewise.
5138 * config/xtensa/unwind-dw2-xtensa.c: Likewise.
5139
10c63ba4 51402011-06-03 Jack Howarth <howarth@bromo.med.uc.edu>
34e0c8d5
JH
5141
5142 * varpool.c (varpool_extra_name_alias): Return NULL, not false.
5143
1b7a0148
RH
51442011-06-03 Richard Henderson <rth@redhat.com>
5145 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5146
5147 * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
5148 (sigill_hdlr): Correct insn, insn size.
5149 (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
5150
737346fa
RO
51512011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5152
5153 * config.gcc (mips-sgi-irix6.5*): Set tmake_file to mips/t-irix6
5154 t-slibgcc-dummy.
5155 * config/mips/irix-crti.asm: Move to ../libgcc/config/mips/irix-crti.S.
5156 * config/mips/irix-crtn.asm: Move to ../libgcc/config/mips/irix-crtn.S.
5157 * config/mips/t-iris: Remove.
5158 * config/mips/t-irix6: New file.
5159 * config/mips/t-slibgcc-irix: Move to ../libgcc/config/mips.
5160
c192cee6
RO
51612011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5162
5163 * Makefile.in (LIB2ADDEHDEP): Remove.
5164 * config/arm/t-bpabi (LIB2ADDEHDEP): Remove.
5165 * config/arm/t-symbian (LIB2ADDEHDEP): Remove.
5166 * config/picochip/t-picochip (LIB2ADDEHDEP): Remove.
5167 * config/t-darwin (LIB2ADDEHDEP): Remove.
5168 * config/t-freebsd (LIB2ADDEHDEP): Remove.
5169 * config/t-linux (LIB2ADDEHDEP): Remove.
5170
d5828cc7
DN
51712011-06-03 Diego Novillo <dnovillo@google.com>
5172
5173 * lto-streamer-in.c (get_resolution): Move to lto/lto.c.
5174 (lto_register_var_decl_in_symtab): Likewise.
5175 (lto_register_function_decl_in_symtab): Likewise.
5176 (lto_read_tree): Move VAR_DECL and FUNCTION_DECL registration
8929d9ea 5177 logic to uniquify_nodes.
d5828cc7 5178
ee33b5f0
RO
51792011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5180
5181 * config/alpha/t-osf5: Remove.
5182 * config/alpha/t-osf-pthread: Remove.
5183 * config.gcc (alpha*-dec-osf5.1*): Set tmake_file to t-slibgcc-dummy.
5184 * mkmap-flat.awk: Handle osf_export for Tru64 UNIX linker -input file.
5185
16868d84
JB
51862011-06-03 Julian Brown <julian@codesourcery.com>
5187
5188 * config/arm/arm-cores.def (strongarm, strongarm110, strongarm1100)
5189 (strongarm1110): Use strongarm tuning.
4d3d7f15 5190 * config/arm/arm-protos.h (tune_params): Add max_insns_skipped field.
16868d84
JB
5191 * config/arm/arm.c (arm_strongarm_tune): New.
5192 (arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
5193 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a5_tune)
5194 (arm_cortex_a9_tune, arm_fa726te_tune): Add max_insns_skipped field
5195 setting, using previous defaults or 1 for Cortex-A5.
5196 (arm_option_override): Set max_insns_skipped from current tuning.
5197
1cec1285
NS
51982011-06-03 Nathan Sidwell <nathan@codesourcery.com>
5199
5200 * doc/install.texi (Options specification): Document --with-specs.
5201
eed55426
RR
52022011-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
5203
5204 * config/arm/neon.md (orndi3_neon): Actually split it.
5205
d5b6cc25
AO
52062011-06-02 Alexandre Oliva <aoliva@redhat.com>
5207
5208 * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): Bump default to 10.
5209 * var-tracking.c (reverse_op): Limite recurse depth to 5.
5210
2ba42841
AO
52112011-06-02 Alexandre Oliva <aoliva@redhat.com>
5212
5213 PR debug/47590
5214 * target.def (delay_sched2, delay_vartrack): New.
5215 * doc/tm.texi.in: Update.
5216 * doc/tm.texi: Rebuild.
5217 * sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
5218 * var-tracking.c (gate_handle_var_tracking): Likewise.
5219 * config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
5220 (bfin_flag_var_tracking): Drop.
5221 (output_file_start): Don't save and override flag_var_tracking.
5222 (bfin_option_override): Ditto flag_schedule_insns_after_reload.
5223 (bfin_reorg): Test original variables.
5224 (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
5225 * config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
5226 (ia64_flag_var_tracking): Drop.
5227 (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
5228 (ia64_file_start): Don't save and override flag_var_tracking.
5229 (ia64_override_options_after_change): Ditto
5230 flag_schedule_insns_after_reload.
5231 (ia64_reorg): Test original variables.
5232 * config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
5233 (picochip_flag_var_tracking): Drop.
5234 (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
5235 (picochip_option_override): Don't save and override
5236 flag_schedule_insns_after_reload.
5237 (picochip_asm_file_start): Ditto flag_var_tracking.
5238 (picochip_reorg): Test original variables.
5239 * config/spu/spu.c (spu_flag_var_tracking): Drop.
5240 (TARGET_DELAY_VARTRACK): Define.
5241 (spu_var_tracking): New.
5242 (spu_machine_dependent_reorg): Call it.
5243 (asm_file_start): Don't save and override flag_var_tracking.
5244
a700b5f0
KK
52452011-06-02 Kaz Kojima <kkojima@gcc.gnu.org>
5246
5247 PR target/49163
5248 * config/sh/predicates.md (general_movsrc_operand): Return 0
5249 for memory and memory subreg of which address is an invalid
5250 indexed address for QI and HImode.
5251 (general_movdst_operand): Likewise.
5252
76015c34
EB
52532011-06-02 Eric Botcazou <ebotcazou@adacore.com>
5254
5255 * cse.c (cse_find_path): Refine change to exclude EDGE_ABNORMAL_CALL
5256 edges only, when there is a non-local label in the function.
5257 * postreload-gcse.c (bb_has_well_behaved_predecessors): Likewise.
5258
4e76acd2
UB
52592011-06-02 Uros Bizjak <ubizjak@gmail.com>
5260
5261 * config/i386/constraints.md (Y3): New register constraint.
5262 * config/i386/sse.md (*vec_interleave_highv2df): Merge with
5263 *sse3_interleave_highv2df and *sse2_interleave_highv2df.
5264 (*vec_interleave_lowv2df): Merge with *sse3_interleave_lowv2df and
5265 *sse2_interleave_lowv2df.
5266
288f605f
JB
52672011-06-02 Julian Brown <julian@codesourcery.com>
5268
5269 * config/arm/arm-cores.def (cortex-a5): Use cortex_a5 tuning.
5270 * config/arm/arm.c (arm_cortex_a5_branch_cost): New.
5271 (arm_cortex_a5_tune): New.
5272
7ec70105
JB
52732011-06-02 Julian Brown <julian@codesourcery.com>
5274
153668ec
JB
5275 * config/arm/arm-protos.h (tune_params): Add branch_cost hook.
5276 * config/arm/arm.c (arm_default_branch_cost): New.
5277 (arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
5278 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a9_tune)
5279 (arm_fa726_tune): Set branch_cost field using
5280 arm_default_branch_cost.
5281 * config/arm/arm.h (BRANCH_COST): Use branch_cost hook from
5282 current_tune structure.
5283 * dojump.c (tm_p.h): Include file.
5284
52852011-06-02 Julian Brown <julian@codesourcery.com>
5286
5287 * config/arm/arm-cores.def (arm1156t2-s, arm1156t2f-s): Use v6t2
5288 tuning.
7ec70105
JB
5289 (cortex-a5, cortex-a8, cortex-a15, cortex-r4, cortex-r4f, cortex-m4)
5290 (cortex-m3, cortex-m1, cortex-m0): Use cortex tuning.
5291 * config/arm/arm-protos.h (tune_params): Add prefer_constant_pool
5292 field.
5293 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
5294 (arm_xscale_tune, arm_9e_tune, arm_cortex_a9_tune)
5295 (arm_fa726te_tune): Add prefer_constant_pool setting.
5296 (arm_v6t2_tune, arm_cortex_tune): New.
5297 * config/arm/arm.h (TARGET_USE_MOVT): Make dependent on
5298 prefer_constant_pool setting.
5299
aad61732
UB
53002011-06-02 Uros Bizjak <ubizjak@gmail.com>
5301
4e76acd2
UB
5302 * config/i386/i386.c (standard_sse_constant_p) <case 1>: Simplify
5303 switch statement.
aad61732
UB
5304 * config/i386/i386.md (*movdf_internal_rex64) <case 8,9,10>: Ditto.
5305 (*movdf_internal) <case 6,7,8>: Ditto.
5306
4e76acd2 5307 * config/i386/constraints.md (Y4): New register constraint.
aad61732
UB
5308 * config/i386/sse.md (vec_set<mode>_0): Merge with
5309 *vec_set<mode>_0_sse4_1 and *vec_set<mode>_0_sse2.
5310 (*vec_extractv2di_1): Merge from *vec_extractv2di_1_sse2 and
5311 *vec_extractv2di_1_sse.
5312 (*vec_concatv2di_rex64): Merge from *vec_concatv2di_rex64_sse4_1
5313 and *vec_concatv2di_rex64_sse.
5314
6e588138
SH
53152011-06-02 Stuart Henderson <shenders@gcc.gnu.org>
5316
5317 PR target/48807
5318 * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Check return value
5319 of cgraph_local_info for null before attempting to use it.
5320
bc6d3f91
EB
53212011-06-02 Eric Botcazou <ebotcazou@adacore.com>
5322
5323 * function.h (struct stack_usage): Remove dynamic_alloc_count field.
5324 (current_function_dynamic_alloc_count): Delete.
5325 * builtins.c (expand_builtin_setjmp_setup): Do not set calls_setjmp.
5326 (expand_builtin_nonlocal_goto): Remove obsolete comment.
5327 (expand_builtin_update_setjmp_buf): Remove dead code.
5328 * cse.c (cse_find_path): Do not follow a single abnormal incoming edge.
5329 * explow.c (allocate_dynamic_stack_space): Remove SETJMP_VIA_SAVE_AREA
5330 support.
5331 * function.c (instantiate_virtual_regs): Likewise.
5332 * postreload-gcse.c (bb_has_well_behaved_predecessors): Return false
5333 for a block with a single abnormal incoming edge.
5334 * config/sparc/sparc.h (STACK_SAVEAREA_MODE): Define.
a21ede65 5335 (SETJMP_VIA_SAVE_AREA): Delete.
bc6d3f91
EB
5336 * config/sparc/sparc-protos.h (load_got_register): Declare.
5337 * config/sparc/sparc.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
5338 (load_got_register): Make global.
5339 (sparc_frame_pointer_required): Add 'static'.
5340 (sparc_can_eliminate): Likewise. Call sparc_frame_pointer_required.
5341 (sparc_builtin_setjmp_frame_value): New function.
5342 * config/sparc/sparc.md (UNSPECV_SETJMP): Remove.
5343 (save_stack_nonlocal): New expander.
5344 (restore_stack_nonlocal): Likewise.
5345 (nonlocal_goto): Remove modes, adjust predicates and reimplement.
5346 (nonlocal_goto_internal): New insn.
5347 (goto_handler_and_restore): Delete.
5348 (builtin_setjmp_setup): Likewise.
5349 (do_builtin_setjmp_setup): Likewise.
5350 (setjmp): Likewise.
5351 (builtin_setjmp_receiver): New expander.
5352
69282fee
DL
53532011-06-01 David Li <davidxl@google.com>
5354
5355 PR middle-end/49261
5356 * tree-pretty-print.c (dump_function_header): Format cleanup.
5357
e95873dd
KK
53582011-06-01 Kaz Kojima <kkojima@gcc.gnu.org>
5359
5360 PR target/49238
5361 * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
5362 needed when original operands are used for msw_skip comparison.
5363
88c15821
JJ
53642011-06-01 Jakub Jelinek <jakub@redhat.com>
5365
5366 PR debug/49250
5367 * var-tracking.c (add_uses, add_stores): Don't call
5368 cselib_subst_to_values on ENTRY_VALUE.
5369
07233947
DN
53702011-06-01 Diego Novillo <dnovillo@google.com>
5371
5372 * lto-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call
5373 output_record_start with LTO_null instead of output_zero.
5374 (lto_output_ts_binfo_tree_pointers): Likewise.
5375 (lto_output_tree): Likewise.
5376 (output_eh_try_list): Likewise.
5377 (output_eh_region): Likewise.
5378 (output_eh_lp): Likewise.
5379 (output_eh_regions): Likewise.
5380 (output_bb): Likewise.
5381 (output_function): Likewise.
5382 (output_unreferenced_globals): Likewise.
5383 * lto-streamer.h (enum LTO_tags): Reserve MAX_TREE_CODES
5384 instead of NUM_TREE_CODES.
5385 (lto_tag_is_tree_code_p): Check max value against MAX_TREE_CODES.
5386 (lto_output_int_in_range): Change << to >> when shifting VAL.
5387
4ee3537a
DN
53882011-06-01 Diego Novillo <dnovillo@google.com>
5389
5390 * lto-streamer-out.c (lto_output_ts_decl_non_common_tree_pointers):
5391 Remove assertion for DECL_SAVED_TREE in FUNCTION_DECL nodes.
5392
02972eaf
RS
53932011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
5394
5395 PR target/45074
5396 * optabs.h (valid_multiword_target_p): Declare.
5397 * expmed.c (extract_bit_field_1): Check valid_multiword_target_p when
5398 doing multi-word operations.
5399 * optabs.c (expand_binop): Likewise.
5400 (expand_doubleword_bswap): Likewise.
5401 (expand_absneg_bit): Likewise.
5402 (expand_unop): Likewise.
5403 (expand_copysign_bit): Likewise.
5404 (multiword_target_p): New function.
5405
4d41c2d1
RS
54062011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
5407
5408 PR rtl-optimization/48830
5409 PR rtl-optimization/48808
5410 PR rtl-optimization/48792
5411 * reload.c (push_reload): Check contains_reg_of_mode.
5412 * reload1.c (strip_paradoxical_subreg): New function.
5413 (gen_reload_chain_without_interm_reg_p): Use it to handle
5414 paradoxical subregs.
5415 (emit_output_reload_insns, gen_reload): Likewise.
5416
5f57dccb
DL
54172011-06-01 David Li <davidxl@google.com>
5418
5419 * predict.c : Change pass name
5420 * ipa.c: Ditto.
5421 * dce.c: Ditto.
5422 * tree-profile.c: Ditto.
5423 * except.c: Ditto.
5424
ea6cf778
DL
54252011-06-01 David Li <davidxl@google.com>
5426
5427 * tree-pretty-print.c (dump_function_header): New function.
5428 * final.c (rest_of_clean_state): Use header dumper.
5429 * tree-cfg.c (gimple_dump_cfg): Use header dumper.
5430 * passes.c (pass_init_dump_file): Use header dumper.
5431
ebdc0d4b
JJ
54322011-06-01 Jakub Jelinek <jakub@redhat.com>
5433
eeeb9b49
JJ
5434 * dwarf2out.c (compare_loc_descriptor, scompare_loc_descriptor,
5435 ucompare_loc_descriptor, minmax_loc_descriptor, clz_loc_descriptor,
5436 popcount_loc_descriptor, bswap_loc_descriptor, rotate_loc_descriptor):
5437 New functions.
5438 (mem_loc_descriptor): Use them.
5439
ebdc0d4b
JJ
5440 * var-tracking.c (create_entry_value): New function.
5441 (vt_add_function_parameter): Use it.
5442
0699e415
RO
54432011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5444
5445 * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]:
5446 Include <signal.h>, <ucontext.h>.
5447 (sigill_caught): Define.
5448 (sigill_hdlr): New function.
5449 (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Check if SSE
5450 insns can be executed.
aad61732 5451 * config/sol2.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math etc.
0699e415
RO
5452 * config/sparc/sol2.h (ENDFILE_SPEC): Remove.
5453
ca24c5ad
RO
54542011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5455
5456 * config/t-slibgcc-darwin: Move to ...
aad61732 5457 * config/t-slibgcc-dummy: ... this. Clarify comments.
ca24c5ad
RO
5458 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*,
5459 powerpc-*-darwin*, powerpc64-*-darwin*): Reflect this.
5460 (i[3456x]86-*-netware*): Add t-slibgcc-dummy to tmake_file.
aad61732 5461 (i[34567]86-*-rtems*): Remove extra_parts. Use i386/t-rtems.
ca24c5ad
RO
5462 Remove i386/t-crtstuff from tmake_file.
5463 (i[34567]86-*-solaris2*): Remove t-svr4,
5464 t-slibgcc-elf-ver, t-slibgcc-sld from tmake_file, add
5465 t-slibgcc-dummy.
5466 (sparc-*-elf*, sparc64-*-elf*): Remove tmake_file, extra_parts.
5467 (sparc-*-rtems*, sparc64-*-rtems*): Remove sparc/t-crtin,
5468 sparc/t-crtfm from tmake_file.
5469 (sparc*-*-solaris2*): Remove sparc/t-sol2, sparc/t-crtfm,
5470 t-slibgcc-elf-ver, t-slibgcc-sld, add t-slibgcc-dummy.
5471 Remove extra_parts.
5472 * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define.
5473 * config/i386/t-nwld (SHLIB_LINK): Remove.
5474 * config/i386/t-rtems-i386: Rename to ...
5475 * config/i386/t-rtems: ... this.
5476 ($(T)crti.o, $(T)crtn.o): Remove.
5477 (FPBIT, DPBIT, LIB2FUNCS_EXTRA): Remove.
5478 (dp-bit.c, fp-bit.c, xp-bit.c): Remove.
5479 (EXTRA_MULTILIB_PARTS, LIBGCC, INSTALL_LIBGCC): Remove.
5480 * config/i386/t-sol2-10 (LIBGCC, INSTALL_LIBGCC,
5481 EXTRA_MULTILIB_PARTS): Remove.
5482 * config/sparc/t-sol2-64: Likewise.
5483 * config/sparc/t-sol2: Remove.
5484 * config/sparc/t-crtin: Remove.
5485 * config/sparc/gmon-sol2.c: Move to ../libgcc/config.
5486 * config/i386/gmon-sol2.c: Remove.
5487 * config/i386/sol2-c1.asm: Move to ../libgcc/config/i386/sol2-c1.S.
5488 * config/i386/sol2-ci.asm: Move to ../libgcc/config/i386/sol2-ci.S.
5489 * config/i386/sol2-cn.asm: Move to ../libgcc/config/i386/sol2-cn.S.
5490 * config/i386/sol2-gc1.asm: Remove.
5491 * config/sparc/sol2-c1.asm: Move to ../libgcc/config/sparc/sol2-c1.S.
5492 * config/sparc/sol2-ci.asm: Move to ../libgcc/config/sparc/sol2-ci.S.
5493 * config/sparc/sol2-cn.asm: Move to ../libgcc/config/sparc/sol2-cn.S.
5494 * config/t-slibgcc-sld: Remove.
5495
a78d13c3
JJ
54962011-06-01 Jakub Jelinek <jakub@redhat.com>
5497
5498 * dwarf2out.c (mem_loc_descriptor) <do_ucompare>: Call
5499 base_type_for_mode with op_mode instead of mode.
5500
572070ef
PB
55012011-06-01 Paul Brook <paul@cpodesourcery.com>
5502
5503 * config/arm/arm-cores.def: Add cortex-r5. Add DIV flags to
5504 Cortex-A15.
5505 * config/arm/arm-tune.md: Regenerate.
5506 * config/arm/arm-tables.opt: Regenerate.
5507 * config/arm/arm.c (FL_DIV): Rename...
5508 (FL_THUMB_DIV): ... to this.
5509 (FL_ARM_DIV): Define.
5510 (FL_FOR_ARCH7R, FL_FOR_ARCH7M): Use FL_THUMB_DIV.
5511 (arm_arch_hwdiv): Remove.
5512 (arm_arch_thumb_hwdiv, arm_arch_arm_hwdiv): New variables.
5513 (arm_issue_rate): Add cortexr5.
5514 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set
5515 __ARM_ARCH_EXT_IDIV__.
5516 (TARGET_IDIV): Define.
5517 (arm_arch_hwdiv): Remove.
5518 (arm_arch_arm_hwdiv, arm_arch_thumb_hwdiv): New prototypes.
5519 * config/arm/arm.md (tune_cortexr4): Add cortexr5.
5520 (divsi3, udivsi3): New patterns.
5521 * config/arm/thumb2.md (divsi3, udivsi3): Remove.
5522 * doc/invoke.texi: Document ARM -mcpu=cortex-r5
5523
11026b51
MJ
55242011-06-01 Martin Jambor <mjambor@suse.cz>
5525
5526 * ipa-utils.c (ipa_dfs_info): New field scc_no.
5527 * ipa-utils.c (searchc): Set scc_no.
5528
b6156cf2
MJ
55292011-06-01 Martin Jambor <mjambor@suse.cz>
5530
5531 * ipa-utils.c (searchc_env): New field allow_overwritable.
5532 (searchc): do not ignore edges to overwritable nodes if indicated
5533 by env->allow_overwritable.
5534 (ipa_reduced_postorder): Set env.allow_overwritable.
5535
6807da97
RG
55362011-06-01 Richard Guenther <rguenther@suse.de>
5537
5538 * tree.c (free_lang_data): Do not reset boolean_type_node nor
5539 char_type_node.
5540 * lto-streamer.c (lto_record_common_node): Take node pointer,
5541 do not register types.
5542 (lto_preload_common_nodes): Explicitly skip preloading nodes
5543 that differ between frontends.
5544
66bd20e7 55452011-05-31 Pat Haugen <pthaugen@us.ibm.com>
ddaf42bc
PH
5546
5547 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
5548 NON_FLOAT_REGS.
5549
66bd20e7 55502011-05-31 Pat Haugen <pthaugen@us.ibm.com>
abdd692e
PH
5551
5552 * config/rs6000/rs6000.c (rs6000_register_move_cost): Preserve from
5553 parameter value for dump. Dump cost on outermost call only.
5554 (rs6000_memory_move_cost): Dump cost on outermost call only.
5555
7351d8da
JJ
55562011-05-31 Jakub Jelinek <jakub@redhat.com>
5557
ead7c399
JJ
5558 * dwarf2out.c (resolve_addr_in_expr): Optimize away redundant
5559 DW_OP_GNU_convert ops.
5560
509f4495
JJ
5561 * cselib.c (promote_debug_loc): Allow l->next non-NULL for
5562 cselib_preserve_constants.
5563 (cselib_lookup_1): If cselib_preserve_constants,
5564 a new VALUE is being created for REG and there is a VALUE for the
5565 same register in wider mode, add another loc with lowpart SUBREG of
5566 the wider VALUE.
5567 (cselib_subst_to_values): Handle ENTRY_VALUE.
5568 * var-tracking.c (replace_expr_with_values): Return NULL for
5569 ENTRY_VALUE too.
5570 * dwarf2out.c (convert_descriptor_to_signed): New function.
5571 (mem_loc_descriptor) <case ZERO_EXTEND>: Optimize using DW_OP_and
5572 instead of two shifts.
5573 (mem_loc_descriptor) <do_shift>: ZERO_EXTEND second argument to
5574 the right mode if needed.
5575 (mem_loc_descriptor) <case MOD>: For typed ops just use DW_OP_mod.
5576 (mem_loc_descriptor) <case UNSIGNED_FIX>: Use
5577 convert_descriptor_to_signed.
5578 (mem_loc_descriptor) <case UDIV, CLZ, CTZ, FFS, POPCOUNT, PARITY,
5579 BSWAP, ROTATE, ROTATERT>: Handle these rtls.
5580
7351d8da
JJ
5581 PR target/48688
5582 * config/i386/i386.md (*lea_general_4): New define_insn_and_split.
5583
5cc93ee0
UB
55842011-05-31 Uros Bizjak <ubizjak@gmail.com>
5585
5586 * config/i386/i386.md: Use SWI248x instead of X87MODEI, SWI24 instead
5587 of X87MODEI12 and SWI48x instead of SSEMODEI24.
5588 (SWI248x): New mode iterator, rename from X87MODEI.
5589 (X87MODEI): Remove mode iterator.
5590 (X87MODEI12): Ditto.
5591 (SSEMODEI24): Ditto.
5592
f0686e78
AO
55932011-05-31 Alexandre Oliva <aoliva@redhat.com>
5594
5595 * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
5596 * doc/invoke.texi: Document max-vartrack-expr-depth.
5597 * var-tracking.c (EXPR_DEPTH): New.
5598 (reverse_op, vt_expand_loc, vt_expand_loc_dummy): Use it.
5599
f3308413
AO
56002011-05-31 Alexandre Oliva <aoliva@redhat.com>
5601
5602 * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
5603 * config/i386/sse.md: Add n to negated FMA pattern names.
5604
28c14a04
AO
56052011-05-31 Alexandre Oliva <aoliva@redhat.com>
5606
5607 * gcc.c (driver_handle_option): Fix disabling of -fcompare-debug.
5608
70efc82d
AO
56092011-05-31 Alexandre Oliva <aoliva@redhat.com>
5610
5cc93ee0 5611 * gengtype-state.c (read_state_params_structs): Initialize previous.
70efc82d 5612
6ba5d856
UB
56132011-05-31 Uros Bizjak <ubizjak@gmail.com>
5614
5615 * config/i386/i386.md (*pushxf_nointeger): Merge alternatives 1 and 2.
5616 (FP push_operand splitters): Merge {TF,XF,DF}mode splitters.
5617
56182011-05-31 Uros Bizjak <ubizjak@gmail.com>
5619
5620 * config/i386/i386.md (*movtf_internal): Avoid allocating general
5621 registers. Penalize F*r->o alternative to prevent partial memory
5622 stalls. Slightly penalize *roF->*r alternative. Generate SSE
5623 CONST_DOUBLE immediates when optimizing function for size. Do not move
5624 CONST_DOUBLEs directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
5625 (*movxf_internal): Slightly penalize Yx*roF->Yx*r alternative.
5626 (*movdf_internal): Slightly penalize Yd*roF->Yd*r alternative.
5627 (*movdf_internal_rex64): Slightly penalize rm->r, F->m and r->m
5628 alternatives.
5629 (*movsf_internal): Slightly penalize rmF->r and Fr->m alternatives.
5630
5631 (fp_register_operand splitters): Use fp_register_operand
5632 constraint. Do not use FP_REG_P in insn condition.
5633 (any_fp_register_operand splitters): Use any_fp_register_operand
5634 constraint. Do not use ANY_FP_REG_P in insn condition.
5635
533c07c5
JH
56362011-05-31 Jan Hubicka <jh@suse.cz>
5637
5638 * cgraph.h (cgraph_inline_failed_t): Give enum a name
5639 * lto-cgraph.c (LDPR_NUM_KNOWN): New macro.
5640 (LTO_cgraph_tags): Add LTO_cgraph_last_tag.
5641 (lto_output_edge): Use output_enum and var_len_unsigned.
5642 (lto_output_varpool_node): Likewise.
5643 (input_overwrite_node): Do not take resolution parameter;
5644 extract it from a bitpack.
5645 (input_node): Do not read resolution; use input_enum and
5646 var_len_unsigned.
5647 (input_varpool_node): Likewise.
5648 (input_edge): Likewise.
5649 (input_cgraph_1): Likewise.
5650
2611db71
RG
56512011-05-31 Richard Guenther <rguenther@suse.de>
5652
5653 * gimple.c (gimple_register_canonical_type): Do not register
5654 any types via gimple_register_type.
5655
b9e57365
JH
56562011-05-31 Jan Hubicka <jh@suse.cz>
5657
5658 * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl
5659 of thunks.
5660
35979cc2
JJ
56612011-05-31 Jakub Jelinek <jakub@redhat.com>
5662
5663 PR rtl-optimization/49235
5664 * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
5665 (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
5666
8f7de592
IR
56672011-05-31 Ira Rosen <ira.rosen@linaro.org>
5668
5669 PR tree-optimization/49093
5670 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
5671 data references.
5672
8d8a3bda
DS
56732011-05-31 Dodji Seketeli <dodji@redhat.com>
5674
5675 PR debug/49047
5676 * dwarf2out.c (gen_subprogram_die): Emit linkage name attribute
6ba5d856 5677 for concrete functions containing the code of cloned functions.
8d8a3bda 5678
2e87621c
RG
56792011-05-31 Richard Guenther <rguenther@suse.de>
5680
5681 * tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename
5682 to ...
5683 (forward_propagate_into_comparison_1): ... this.
5684 (forward_propagate_comparison): Rename to ...
5685 (forward_propagate_into_comparison): ... this. Split out
5686 real forward propagation code to ...
5687 (forward_propagate_comparison): ... this.
5688 (forward_propagate_into_gimple_cond): Remove looping.
5689 (forward_propagate_into_cond): Likewise.
5690 (simplify_not_neg_expr): Return whether we have done something.
5691 (simplify_gimple_switch): Likewise.
5692 (tree_ssa_forward_propagate_single_use_vars): Rename to ...
5693 (ssa_forward_propagate_and_combine): ... this. Re-structure
5694 to do a forward forward-propagation walk on BBs and a backward
6ba5d856 5695 stmt combining walk on BBs. Consistently re-scan changed statements.
2e87621c
RG
5696 (pass_forwprop): Adjust.
5697
5a880d5d
ILT
56982011-05-30 Ian Lance Taylor <iant@google.com>
5699
5700 * godump.c (go_format_type): Correct length of name added to
5701 obstack for anonymous field.
5702
5f133038
KK
57032011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
5704
5705 PR target/49186
5706 * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
5707 part of the second operand is 0.
5708
b17d5426
UB
57092011-05-30 Uros Bizjak <ubizjak@gmail.com>
5710
5711 * config/i386/i386.md (*movxf_internal): Penalize FYx*r->o alternative
5712 to prevent partial memory stalls. Do not move CONST_DOUBLEs directly
5713 to memory for !TARGET_MEMORY_MISMATCH_STALL.
5714 (*movdf_internal_rex64): Do not penalize F->r alternative.
6ba5d856 5715 (*movdf_internal): Penalize FYd*r->o alternative to prevent partial
b17d5426
UB
5716 memory stalls. Generate SSE and x87 CONST_DOUBLE immediates only
5717 when optimizing function for size. Do not move CONST_DOUBLEs
5718 directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
6ba5d856
UB
5719 (FP move splitters): Merge {TF,XF,DF}mode splitters. Do not handle
5720 SUBREGs. Do not check for MEM_P operands in the insn condition,
b17d5426
UB
5721 check for ANY_FP_REGNO_P instead.
5722 * config/i386/constraints.md (Yd): Enable GENERAL_REGS for
5723 TARGET_64BIT and for TARGET_INTEGER_DFMODE_MOVES when optimizing
5724 function for speed.
5725 * config/i386/i386.c (ix86_option_override_internal): Do not
5726 set TARGET_INTEGER_DFMODE_MOVES here.
5727
a0cd843f
L
57282011-05-30 H.J. Lu <hongjiu.lu@intel.com>
5729
5730 PR target/49168
aad61732 5731 * config/i386/i386.md (*movtf_internal): Handle misaligned load/store.
a0cd843f 5732
006a5f38
JJ
57332011-05-30 Jakub Jelinek <jakub@redhat.com>
5734
5735 * dwarf2out.c (modified_type_die, gen_reference_type_die): Use
5736 DW_TAG_rvalue_reference_type even for
5737 -gdwarf-4 -fno-debug-types-section.
5738
6e96f98a
BS
57392011-05-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5740
5741 PR tree-optimization/46728
5742 * tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
5743 (build_and_insert_binop): New.
5744 (gimple_expand_builtin_pow): Reorder args for
5745 build_and_insert_call; use build_and_insert_binop; add more
5746 optimizations for fractional exponents.
b17d5426 5747
4f60111f
NF
57482011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
5749
5750 PR bootstrap/49190
5751
5752 Revert:
5753 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5754
5755 * tree.h (struct tree_identifier): Inherit from tree_typed, not
5756 tree_common.
5757 (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
5758 * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
5759 TS_BASE instead of TS_COMMON.
5760 * varasm.c (assemble_name): Remove assert.
5761
3fd7879d
RS
57622011-05-30 Richard Sandiford <rdsandiford@googlemail.com>
5763
5764 * config.gcc: Keep obselete list sorted.
5765
80060f7a
JJ
57662011-05-30 Jakub Jelinek <jakub@redhat.com>
5767 Eric Botcazou <ebotcazou@adacore.com>
5768
5769 * var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with
5770 crtl->args.internal_arg_pointer based address to arg_pointer_rtx if
5771 there is a DRAP register and arg_pointer_rtx is the CFA pointer.
5772 (vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned.
5773 (vt_initialize): Initialize cfa_base_rtx if there is a DRAP register.
5774
17e99cdb
RG
57752011-05-30 Richard Guenther <rguenther@suse.de>
5776
5777 * gimple.c (gimple_types_compatible_p_1): Compare record
5778 and union type members properly.
5779
42b05b6e
RG
57802011-05-30 Richard Guenther <rguenther@suse.de>
5781
5782 PR tree-optimization/49210
6ba5d856
UB
5783 * ipa-split.c (split_function): Care for the case where the call
5784 result is not trivially convertible to the result holding variable.
42b05b6e 5785
f3321158
RG
57862011-05-30 Richard Guenther <rguenther@suse.de>
5787
5788 PR tree-optimization/49218
5789 * tree-vrp.c (adjust_range_with_scev): Properly check whether
5790 overflow occured.
5791
d12d8efe
RG
57922011-05-30 Richard Guenther <rguenther@suse.de>
5793
5794 * tree-ssa-forwprop.c (forward_propagate_into_comparison):
5795 New function split out from ...
5796 (forward_propagate_into_gimple_cond): ... here. Adjust.
5797 (forward_propagate_into_cond): Likewise.
5798 (forward_propagate_comparison): Also propagate into
5799 comparisons on assignment RHS. Change return value to
5800 behave similar to forward_propagate_into_cond.
5801 (tree_ssa_forward_propagate_single_use_vars): Handle
5802 strict-overflow warnings properly for forward_propagate_comparison.
5803
df33b41f
RO
58042011-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5805
5806 * configure.ac (gcc_cv_lto_plugin): Determine lto plugin support
5807 from plugin linker.
5808 * configure: Regenerate.
5809
69940d4d
IR
58102011-05-30 Ira Rosen <ira.rosen@linaro.org>
5811
5812 PR tree-optimization/49199
5813 * tree-vect-loop.c (vect_is_slp_reduction): Check that the
b17d5426 5814 non-reduction operands are either defined in the loop or by induction.
69940d4d 5815
226c52aa
XDL
58162011-05-29 Xinliang David Li <davidxl@google.com>
5817
5818 * opts-global.c (handle_common_deferred_options): Handle new options.
5819 * passes.c (register_one_dump_file): Call register_pass_name.
5820 (execute_one_pass): Check explicit enable/disable flag.
5821 (passr_hash): New function.
5822 (passr_eq): Ditto.
5823 (register_pass_name): Ditto.
5824 (get_pass_by_name): Ditto.
5825 (pass_hash): Ditto.
5826 (pass_eq): Ditto.
5827 (enable_pass): Ditto.
5828 (disable_pass): Ditto.
5829 (is_pass_explicitly_enabled_or_disabled): Ditto.
5830
491d8eed
UB
58312011-05-29 Uros Bizjak <ubizjak@gmail.com>
5832
5833 * config/i386/i386.md (*movoi_internal_avx): Use
5834 standard_sse_constant_opcode for alternative 0.
5835 (*movti_internal_sse): Ditto.
5836 (*movti_internal_rex64): Use standard_sse_constant_opcode for
5837 alternative 2.
5838 (*movdi_internal_rex64): Use standard_sse_constant_opcode for
5839 sselog1 type moves.
5840 (*movsi_internal): Ditto.
5841 (*movdi_internal): Ditto. Add ssecvt type moves.
5842
eb93b31f
EB
58432011-05-29 Eric Botcazou <ebotcazou@adacore.com>
5844
5845 PR target/48830
5846 * rtlanal.c (simplify_subreg_regno): Adjust comment.
5847
3f831b7d
JJ
58482011-05-29 Jakub Jelinek <jakub@redhat.com>
5849
5850 PR rtl-optimization/49095
5851 * config/i386/predicates.md (plusminuslogic_operator): New predicate.
5852 * config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0.
5853
ee3ee488
RS
58542011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
5855
5856 PR target/43995
5857 * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
5858 recurse_p argument. Only follow register copies if it is set,
5859 and prevent mips_find_pic_call_symbol from recursing.
5860 (mips_find_pic_call_symbol): Add a recurse_p argument.
5861 Pass it to mips_pic_call_symbol_from_set.
5862 (mips_annotate_pic_calls): Update accordingly.
5863
65f3dedb
RS
58642011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
5865
5866 * emit-rtl.c (try_split): Use a loop to search for
5867 NOTE_INSN_CALL_ARG_LOCATIONs.
5868
61e374ab
RG
58692011-05-29 Richard Guenther <rguenther@suse.de>
5870
5871 PR tree-optimization/49217
5872 * ipa-pure-const.c (propagate_pure_const): Fix typos.
5873
fac009a8
JH
58742011-05-28 Jan Hubicka <jh@suse.cz>
5875
5876 * lto-streamer-out.c (hash_string_slot_node): Hash string based on its
5877 length.
5878 (string_slot_free): Remove
5879 (create_output_block): Initialize obstack.
5880 (destroy_output_block): Free obstack.
5881 (lto_string_index): Add PERSISTENT parameter; do not duplicate
5882 the string unless it needs to be added into the hash.
5883 (lto_output_string_with_length): Add persistent attribute;
5884 handle NULL strings.
5885 (lto_output_string): Add PERSISTENT parameter.
5886 (output_string_cst, output_identifier): Simplify.
5887 (lto_output_location_bitpack): Update.
5888 (lto_output_builtin_tree): Update.
5889 * lto-streamer.h (struct output_block): Add obstack.
491d8eed
UB
5890 (lto_output_string, lto_output_string_with_length): Remove
5891 declarations; functions are static now.
fac009a8 5892
fa766006
JH
58932011-05-28 Jan Hubicka <jh@suse.cz>
5894
5895 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields,
5896 pack_ts_decl_common_value_fields, pack_ts_decl_with_vis_value_fields,
5897 pack_ts_function_decl_value_fields, lto_output_builtin_tree,
5898 output_cfg, output_gimple_stmt): Use enum and variable length i/o.
5899 * lto-streamer-in.c (input_cfg, input_gimple_stmt,
5900 unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields,
5901 unpack_ts_decl_with_vis_value_fields,
5902 unpack_ts_type_common_value_fields, unpack_ts_block_value_fields,
5903 lto_get_builtin_tree): Use enum and variable length i/o.
5904 * basic-block.h (profile_status_d): Add PROFILE_LAST.
5905 * lto-streamer.h (bp_pack_int_in_range, bp_unpack_int_in_range):
5906 New functions.
5907 (bp_pack_enum, bp_unpack_enum): New macros.
5908
e092158b
RS
59092011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
5910
5911 * genrecog.c: Remove redundant forward declarations.
5912
7ca2afa0
RS
59132011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
5914
5915 * config.gcc: Deprecate mips*-*-openbsd*.
5916
a601a53a
RS
59172011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
5918
5919 PR bootstrap/49195
5920 * genrecog.c (add_to_sequence): Use XEXP rather than XVECEXP
5921 for match_op_dup.
5922
fc64b448
AP
59232011-05-27 Andrew Pinski <pinskia@gmail.com>
5924
5925 PR middle-end/48981
5926 * gengtype.c (vec_prefix_type): New function.
5927 (note_def_vec): Use vec_prefix_type and change the length
5928 attribute to be based on the prefix.
5929 * vec.c: Include coretypes.h before vec.h.
5930 (struct vec_prefix): Remove.
5931 (vec_gc_p_reserve): Change the offsetof to sizeof.
5932 (vec_gc_p_reserve_exact): Likewise.
5933 (vec_heap_p_reserve): Likewise.
5934 (vec_heap_p_reserve_exact): Likewise.
5935 (vec_stack_o_reserve_1): Copy from +1 instead of from vec.
5936 (vec_stack_p_reserve): Change the offsetof to sizeof.
5937 (vec_stack_p_reserve_exact): Likewise.
5938 * vec.h (struct vec_prefix): New struct definition.
5939 (VEC_T(T,B)): Use vec_prefix instead of having num/alloc fields.
5940 (VEC_T_GTY(T,B)): Likewise.
5941 (DEF_VEC_FUNC_P(T)): Use prefix field.
5942 (DEF_VEC_NONALLOC_FUNCS_O(T,A)): Likewise.
5943 (DEF_VEC_NONALLOC_FUNCS_I(T,A)): Likewise.
5944
ba869341
BS
59452011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5946
5947 PR tree-optimization/46728
5948 * tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location.
5949 (powi_as_mults): Add gimple_set_location.
5950 (build_and_insert_call): New.
5951 (gimple_expand_builtin_pow): Add handling for pow(x,y) when y is
5952 0.5, 0.25, 0.75, 1./3., or 1./6.
491d8eed 5953
d296760d
AM
59542011-05-27 Alexander Monakov <amonakov@ispras.ru>
5955
5956 * doc/contrib.texi: Update copyright years.
5957 (Contributors): Add Zdenek Sojka.
5958
38e01f9e
NF
59592011-05-27 Nathan Froyd <froydnj@codesourcery.com>
5960
5961 * c-decl.c (c_push_function_context): Copy the current statement
5962 list stack.
5963 (add_stmt): Check building_stmt_list_p and push_stmt if necessary.
5964 (finish_struct): Call building_stmt_list_p instead of checking
5965 cur_stmt_list.
5966 * c-parser.c (c_parser_postfix_expression): Likewise.
5967 * c-typeck.c (c_end_compound_stmt): Likewise.
5968 * print-tree.c (print_node) [STATEMENT_LIST]: Don't print TREE_CHAIN.
5969 * tree-iterator.c (stmt_list_cache): Change to a VEC.
5970 (alloc_stmt_list): Adjust for stmt_list_cache's new type.
5971 (free_stmt_list): Likewise.
5972 * tree.h (struct tree_statement_list): Include typed_tree instead
5973 of tree_common.
5974 * tree.c (initialize_tree_contains_struct): Mark TS_STATEMENT_LIST
5975 as TS_TYPED instead of TS_COMMON.
5976
8950516e 59772011-05-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
66bd20e7 5978 Uros Bizjak <ubizjak@gmail.com>
8950516e
RO
5979
5980 * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
5981 (HAVE_AS_IX86_TLSGDPTL): Define.
5982 (gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt.
5983 (HAVE_AS_IX86_TLSLDMPLT): Define.
5984 * configure: Regenerate.
5985 * config.in: Regenerate.
5986 * config/i386/i386.c (ix86_print_operand): Handle code 'p'.
5987 * config/i386/i386.md (*tls_global_dynamic_32_gnu): If
5988 TARGET_SUN_TLS, use @tlsgdplt or @plt.
5989 (*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS.
5990 (*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use
5991 @tlsldmplt or @plt.
5992 (*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS.
5993
b0bd15f7
BS
59942011-05-27 Bernd Schmidt <bernds@codesourcery.com>
5995
5996 * sched-int.h (struct _haifa_deps_insn_data): New members cond
5997 and reverse_cond.
5998 (INSN_COND, INSN_REVERSE_COND): New macros.
5999 * sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev
6000 once.
6001 (sched_get_condition_with_rev): Cache the results, and look them up
6002 if possible.
6003 (sched_analyze_insn): Destroy INSN_COND of previous insns if they
6004 are clobbered by the current insn.
6005 * target.def (exposed_pipline): New sched data hook.
6006 * doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook.
6007 * doc/tm.texi: Regenerate.
6008
fa65a9cf
BS
60092011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6010
6011 PR tree-optimization/49170
6012 * tree-ssa-math-opts.c (execute_cse_sincos): Add checks for
6013 sincos or cexp.
b0bd15f7 6014
c2299dfe
RG
60152011-05-27 Richard Guenther <rguenther@suse.de>
6016
6017 PR middle-end/49189
6018 * fold-const.c (fold_unary_loc): Do not re-fold folding conversions
6019 of comparisons.
6020
a95b23b4
BS
60212011-05-27 Bernd Schmidt <bernds@codesourcery.com>
6022
6023 * haifa-sched.c (sched_scan_info): Remove.
6024 (schedule_block): Call sched_extend_luids rather than sched_init_luids
6025 with NULL args.
6026 (extend_bb, init_bb, extend_insn, init_insn, init_insns_in_bb):
6027 Remove functions.
6028 (sched_scan): Remove.
6029 (sched_extend_luids): Renamed from luids_extend_insn and no longer
6030 static. All callers changed.
6031 (sched_init_insn_luid): Renamed from luids_init_insn and no longer
6032 static. All callers changed.
6033 (sched_init_luids): Remove all arguments except the first. All
6034 callers changed. Don't use sched_scan.
6035 (haifa_init_h_i_d): Likewise.
6036 (haifa_init_insn): Call sched_extend_luids and sched_init_insn_luid
6037 manually rather than using sched_init_luids. Likewise with
6038 extend_h_i_d, init_h_i_d and haifa_init_h_i_d.
6039 * sel-sched.c (sel_region_target_finish): Call sched_extend_luids
6040 rather than sched_init_luids with NULL args.
6041 * sel-sched-ir.c (new_insns): Remove variable.
6042 (sched_scan): New static function, previously in haifa-sched.c. Remove
6043 all arguments but the first two; all callers changed.
6044 (sel_init_new_insn): Call sched_extend_luids and sched_init_insn_luid
6045 rather than sched_init_luids.
6046 (sel_init_bbs): Remove second argument. All callers changed.
6047 (sel_add_bb): Call sched_extend_luids rather than sched_init_luids
6048 with NULL arguments.
6049 (create_insn_rtx_from_pattern): Likewise.
6050 * sel-sched-ir.h (sel_init_bbs): Adjust declaration.
6051 * sched-int.h (sched_init_luids, haifa_init_h_i_d): Likewise.
6052 (sched_init_insn_luid, sched_extend_luids): Declare.
6053 (sched_scan_info_def, sched_scan_info, sched_scan): Remove
6054 declarations.
6055
f8f972fc
RB
60562011-05-27 Richard Guenther <rguenther@suse.de>
6057
6058 PR middle-end/49177
6059 * fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
6060 A CMP B ? (T) true : (T) false for non-integral types T again.
6061
51a9ed47
JH
60622011-05-27 Jan Hubicka <jh@suse.cz>
6063
6064 * lto-streamer-out.c (lto_string_index): break out from...; offset by 1
6065 so 0 means NULL string.
6066 (lto_output_string_with_length): ... here.
f8f972fc
RB
6067 (lto_output_string, output_string_cst, output_identifier): Update
6068 handling of NULL strings.
51a9ed47
JH
6069 (lto_output_location_bitpack): New function.
6070 (lto_output_location): Use it.
6071 (lto_output_tree_ref): Use output_record_start.
f8f972fc
RB
6072 (pack_ts_type_common_value_fields): Pack aliagn & alias set in var
6073 len values.
6074 * lto-streamer-in.c (string_for_index): Break out from ...; offset
6075 values by 1.
491d8eed 6076 (input_string_internal): ... here;
f8f972fc
RB
6077 (input_string_cst, input_identifier, lto_input_string): Update handling
6078 of NULL strings.
51a9ed47
JH
6079 (lto_input_location_bitpack): New function
6080 (lto_input_location): Use it.
f8f972fc
RB
6081 (unpack_ts_type_common_value_fields): Pack align & alias in var len
6082 values.
51a9ed47
JH
6083 * lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
6084 bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
6085 (bp_pack_value): Sanity check the value range.
6086 * lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
6087 New functions.
6088 * lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
6089 New functions.
6090
66bd20e7 60912011-05-27 Hariharan Sandanagobalane <hariharan@picochip.com>
dc38fc2e
HS
6092
6093 * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
6094 call_arg_location instructions down the floor.
6095
574e418a
VM
60962011-05-26 Vladimir Makarov <vmakarov@redhat.com>
6097
6098 PR rtl-optimization/49154
6099 * ira.c (setup_pressure_classes): Process class without sublcasses
6100 as a candidate for pressure classes.
6101
6a1a787e
RS
61022011-05-26 Richard Sandiford <rdsandiford@googlemail.com>
6103
6104 PR rtl-optimization/48575
6105 * genrecog.c (position_type): New enum.
6106 (position): New structure.
6107 (decision): Use position structure instead of a string.
6108 (root_pos, peep2_insn_pos_list): New variables.
6109 (next_position, compare_positions): New functions.
6110 (new_decision): Use position structures instead of strings.
6111 (maybe_both_true): Likewise.
6112 (change_state): Likewise.
6113 (write_tree): Likewise.
6114 (make_insn_sequence): Likewise.
6115
92e948a8
NF
61162011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6117
6118 * tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
6119 TS_BASE instead of TS_COMMON.
6120 (find_decls_types_r): Check for TS_TYPED structure before looking at
6121 TREE_TYPE.
6122 * tree.h (struct tree_block): Inherit from tree_base, not tree_common.
6123 Add chain field.
6124 (BLOCK_CHAIN): Use new chain field.
6125
66bd20e7 61262011-05-26 Pat Haugen <pthaugen@us.ibm.com>
c61e40d3
PH
6127
6128 * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
6129 moves expensive on Power7 also.
6130
1f498652
RG
61312011-05-26 Richard Guenther <rguenther@suse.de>
6132
6133 * fold-const.c (fold_unary_loc): Remove bogus code.
6134
a2fc3e63
NF
61352011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6136
6137 * tree.h (struct tree_identifier): Inherit from tree_typed, not
6138 tree_common.
6139 (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
6140 * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
6141 TS_BASE instead of TS_COMMON.
6142 * varasm.c (assemble_name): Remove assert.
6143
d11bf18f
BS
61442011-05-26 Bernd Schmidt <bernds@codesourcery.com>
6145
6146 * Makefile.in (srcdirify): Change order so that libgcc_objdir is
6147 substituted first.
6148 * libgcc-std.ver: Delete file.
6149
ac8e1875
RG
61502011-05-26 Richard Guenther <rguenther@suse.de>
6151
6152 PR tree-optimization/48702
6153 * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
6154 only when we know the base address is within bounds.
6155 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
6156 assume the base address of TARGET_MEM_REFs is in bounds.
6157
7e32e652
RO
61582011-05-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6159
6160 PR target/49099
6161 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap
6162 declaration in TARGET_SOLARIS.
6163
66bd20e7 61642011-05-26 Hariharan Sandanagobalane <hariharan@picochip.com>
43660e0b
HS
6165
6166 * config/picochip/picochip.md (cbranchhi4): No :CC for match_operator.
491d8eed 6167 The instruction is then expanded explicitly.
43660e0b
HS
6168 (supported_compare): Callable instruction.
6169 (compare): Likewise.
6170
1537737f
JJ
61712011-05-26 Jakub Jelinek <jakub@redhat.com>
6172
6173 PR c++/49165
6174 * gimplify.c (shortcut_cond_r): Don't special case
6175 COND_EXPRs if they have void type on one of their arms.
6176
7b1ac803
BS
61772011-05-26 Bernd Schmidt <bernds@codesourcery.com>
6178
6179 * haifa-sched.c (schedule-block): Reorder the inner scheduling loop
6180 to reduce duplication, and to achieve a slightly more logical order
6181 of operations.
6182
1aa9438f
JJ
61832011-05-26 Jakub Jelinek <jakub@redhat.com>
6184
6185 PR tree-optimization/49161
6186 * tree-vrp.c (struct case_info): New type.
6187 (compare_case_labels): Sort case_info structs instead of
6188 trees, and not primarily by CASE_LABEL uids but by
6189 label_for_block indexes.
6190 (find_switch_asserts): Put case labels into struct case_info
6191 array instead of TREE_VEC, adjust sorting, compare label_for_block
6192 values instead of CASE_LABELs.
6193
50fed7bf
RR
61942011-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6195
6196 * config/arm/neon.md ("orn<mode>3_neon"): Canonicalize not.
6197 ("orndi3_neon"): Likewise.
6198 ("bic<mode>3_neon"): Likewise.
6199
48df3fa6
IR
62002011-05-26 Ira Rosen <ira.rosen@linaro.org>
6201
6202 PR tree-optimization/49038
6203 * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
6204 Ensure at least one epilogue iteration if required by data
6205 accesses with gaps.
6206 * tree-vectorizer.h (struct _loop_vec_info): Add new field
6207 to mark loops that require peeling for gaps.
6208 * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
6209 (vect_get_known_peeling_cost): Take peeling for gaps into
6210 account.
6211 (vect_transform_loop): Generate epilogue if required by data
6212 access with gaps.
6213 * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
6214 loop as requiring an epilogue if there are gaps in the end of
6215 the strided group.
6216
53febcba
ILT
62172011-05-25 Ian Lance Taylor <iant@google.com>
6218
6219 * godump.c (go_format_type): Output the first field with a usable
6220 Go type, if any.
6221
dbbc4d4c
ILT
62222011-05-25 Ian Lance Taylor <iant@google.com>
6223
6224 * godump.c (go_format_type): Check for invalid type names, pointer
6225 target types, and struct field types.
6226
f03a5402
JM
62272011-05-25 Jason Merrill <jason@redhat.com>
6228
6229 * print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
6230
c497c412
UB
62312011-05-25 Uros Bizjak <ubizjak@gmail.com>
6232
6233 * config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
6234
e470affe
L
62352011-05-25 H.J. Lu <hongjiu.lu@intel.com>
6236
6237 * config/i386/i386.md (*movqi_extv_1)): Put back
6238 "register_operand" check in "type" calculation.
6239 (*movqi_extzv_2): Likewise.
6240
6c81b2bc
L
62412011-05-25 H.J. Lu <hongjiu.lu@intel.com>
6242
c497c412 6243 * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic.
6c81b2bc 6244
0c007eb2
BS
62452011-05-25 Bernd Schmidt <bernds@codesourcery.com>
6246
6247 PR bootstrap/49160
6248 * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
6249 __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
6250 __divxc3, __divtc3): Wrap definitions in #ifndef.
6251
521ca78e
L
62522011-05-25 H.J. Lu <hongjiu.lu@intel.com>
6253
6254 PR target/49142
6255 * config/i386/i386.md (*movqi_extv_1_rex64): Remove
6256 "register_operand" check and replace q_regs_operand with
6257 QIreg_operand in "type" calculation.
6258 (*movqi_extv_1): Likewise.
6259 (*movqi_extzv_2_rex64): Likewise.
6260 (*movqi_extzv_2): Likewise.
6261
6262 * config/i386/predicates.md (QIreg_operand): New.
6263
29f8b844
RG
62642011-05-25 Richard Guenther <rguenther@suse.de>
6265
6266 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
6267 type-based offset disambiguation, streamline MEM_REF and
6268 TARGET_MEM_REF handling.
6269
74838de3
L
62702011-05-25 H.J. Lu <hongjiu.lu@intel.com>
6271
6272 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
6273 (bdesc_special_args): Add pause intrinsic.
6274
6275 * config/i386/i386.md (UNSPEC_PAUSE): New.
6276 (pause): Likewise.
6277 (*pause): Likewise.
6278 * config/i386/ia32intrin.h (__pause): Likewise.
6279
6280 * doc/extend.texi (X86 Built-in Functions): Add documentation for
6281 pause intrinsic.
6282
d24ad7d6
BS
62832011-05-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6284
6285 PR tree-optimization/46728
6286 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
6287 (execute_cse_sincos): Add switch case for BUILT_IN_POW.
c497c412 6288
d9f8303f
NF
62892011-05-25 Nathan Froyd <froydnj@codesourcery.com>
6290
6291 * tree.h (struct tree_exp): Inherit from struct tree_typed.
6292 * tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED
6293 instead of TS_COMMON.
6294
cdbf4541
BS
62952011-05-25 Bernd Schmidt <bernds@codesourcery.com>
6296
6297 * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
6298 LIBGCC2_GNU_PREFIX is defined.
6299 (__N): New macro.
6300 (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
6301 __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
6302 __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
6303 __clz_tab): Define using __N.
6304 (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
6305 COMPAT_SIMODE_TRAPPING_ARITHMETIC.
6306 * target.def (libfunc_gnu_prefix): New hook.
6307 * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
6308 (TARGET_LIBFUNC_GNU_PREFIX): Add hook.
6309 * doc/tm.texi: Regenerate.
6310 * system.h (LIBGCC2_GNU_PREFIX): Poison.
6311 * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
6312 account.
6313 (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
6314 (init_optabs): Likewise for the bswap libfuncs.
6315 * tree.c (build_common_builtin_nodes): Likewise for complex multiply
6316 and divide.
6317 * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
6318 * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
6319 * libgcc-std.ver: Remove.
6320 * Makefile.in (srcdirify): Handle $$(libgcc_objdir).
6321 * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
6322 libgcc-std.ver.
6323 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
6324 * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
6325 * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
6326 * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
6327 * config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
6328 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
6329 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
6330 * config/fixed-bit.h (FIXED_OP): Define differently depending on
6331 LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
6332 (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
6333
f242c0a5
JH
63342011-05-25 Jan Hubicka <jh@suse.cz>
6335
6336 * lto-streamer-out.c (output_record_start): Use lto_output_enum
6337 (lto_output_tree): Use output_record_start.
6338 * lto-streamer-in.c (input_record_start): Use lto_input_enum
6339 (lto_get_pickled_tree): Use input_record_start.
6340 * lto-section-in.c (lto_section_overrun): Turn into fatal error.
6341 (lto_value_range_error): New function.
6342 * lto-streamer.h (lto_value_range_error): Declare.
6343 (lto_output_int_in_range, lto_input_int_in_range): New functions.
6344 (lto_output_enum, lto_input_enum): New macros.
6345
a11e0df4
EB
63462011-05-25 Eric Botcazou <ebotcazou@adacore.com>
6347
6348 * common.opt (flag_stack_usage_info): New variable.
6349 (-Wstack-usage): New option.
6350 * doc/invoke.texi (Warning options): Document -Wstack-usage.
6351 * opts.c (common_handle_option) <OPT_Wstack_usage_>: New case.
6352 <OPT_fstack_usage>: Likewise.
6353 * toplev.c (output_stack_usage): Handle -Wstack-usage.
6354 * calls.c (expand_call): Test flag_stack_usage_info variable instead
6355 of flag_stack_usage.
6356 (emit_library_call_value_1): Likewise.
6357 * explow.c (allocate_dynamic_stack_space): Likewise.
6358 * function.c (instantiate_virtual_regs ): Likewise.
6359 (prepare_function_start): Likewise.
6360 (rest_of_handle_thread_prologue_and_epilogue): Likewise.
6361 * config/alpha/alpha.c (alpha_expand_prologue): Likewise.
6362 * config/arm/arm.c (arm_expand_prologue): Likewise.
6363 (thumb1_expand_prologue): Likewise.
6364 * config/avr/avr.c (expand_prologue): Likewise.
6365 * config/i386/i386.c (ix86_expand_prologue): Likewise.
6366 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
6367 * config/m68k/m68k.c (m68k_expand_prologue): Likewise.
6368 * config/mips/mips.c (mips_expand_prologue): Likewise.
6369 * config/pa/pa.c (hppa_expand_prologue): Likewise.
6370 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
6371 * config/s390/s390.c (s390_emit_prologue): Likewise.
6372 * config/sh/sh.c (sh_expand_prologue): Likewise.
6373 * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
6374 * config/spu/spu.c (spu_expand_prologue): Likewise.
6375
e7cfe241
RG
63762011-05-25 Richard Guenther <rguenther@suse.de>
6377
6378 * gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.
6379 (gimple_canonical_types_compatible_p): Likewise.
6380
c5235f4c
JH
63812011-05-25 Jan Hubicka <jh@suse.cz>
6382
6383 PR middle-end/49062
6384 * ipa.c (function_and_variable_visibility): Only add to same
6385 comdat group list if DECL_ONE_ONLY.
6386
8242a0f6
AB
63872011-05-25 Andrey Belevantsev <abel@ispras.ru>
6388
6389 PR rtl-optimization/49014
6390 * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
6391
642a011d
JJ
63922011-05-25 Jakub Jelinek <jakub@redhat.com>
6393
6394 PR target/49128
6395 * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
6396
30a435d8
VM
63972011-05-24 Vladimir Makarov <vmakarov@redhat.com>
6398
6399 PR rtl-optimization/48757
6400 * ira-build.c (loop_with_eh_edge_p): Rename to
6401 loop_with_complex_edge_p, check edges on complexity, make function
6402 conditional.
6403 (mark_loops_for_removal): Make call of loop_with_complex_edge_p
6404 conditional.
6405
24d1bbc7
EB
64062011-05-24 Eric Botcazou <ebotcazou@adacore.com>
6407
6408 * config/sparc/sparc.c (sparc_option_override): If not set by the user,
6409 force flag_ira_share_save_slots to 0.
6410
65773087
EB
64112011-05-24 Eric Botcazou <ebotcazou@adacore.com>
6412
6413 * var-tracking.c (compute_cfa_pointer): Adjust head comment.
6414 (vt_initialize): Set PROLOGUE_BB unconditionally.
6415 Add block comment about CFA_BASE_RTX machinery.
6416 Reset FP_CFA_OFFSET to -1 on all invalid paths.
6417 Call vt_init_cfa_base only if FP_CFA_OFFSET isn't equal to -1.
6418
4e26ba90
NP
64192011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
6420
6421 PR objc/48187
6422 * c-parser.c (c_parser_objc_class_instance_variables): More robust
6423 parsing of syntax error in ObjC instance variable lists. In
6424 particular, avoid an infinite loop if there is a stray ']'.
6425 Updated error message.
6426
936fd13c
ILT
64272011-05-24 Ian Lance Taylor <iant@google.com>
6428
6429 * godump.c (go_define): Don't accept a string immediately after
6430 another operand.
6431
f17333e3
ILT
64322011-05-24 Ian Lance Taylor <iant@google.com>
6433
6434 * godump.c (struct godump_container): Add invalid_hash field.
6435 (go_format_type): Return false if type is found in invalid_hash.
6436 (go_output_typedef): Add invalid type to invalid_hash.
6437 (go_finish): Create and delete invalid_hash.
6438
d24ad7d6 64392011-05-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
c497c412 6440
78be79d5
BS
6441 PR tree-optimization/46728
6442 * tree-ssa-math-opts.c (powi_table): New.
6443 (powi_lookup_cost): New.
6444 (powi_cost): New.
6445 (powi_as_mults_1): New.
6446 (powi_as_mults): New.
6447 (gimple_expand_builtin_powi): New.
6448 (execute_cse_sincos): Add switch case for BUILT_IN_POWI.
6449 (gate_cse_sincos): Remove sincos/cexp restriction.
f17333e3 6450
caee412b
RO
64512011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6452
6453 PR target/3746
6454 * config.gcc (alpha*-dec-osf5.1*): Only build mips-tfile,
6455 mips-tdump native.
6456 * mips-tfile.c: Remove CROSS_DIRECTORY_STRUCTURE handling.
6457 * mips-tdump.c: Likewise.
6458
5eed4f27
L
64592011-05-24 H.J. Lu <hongjiu.lu@intel.com>
6460
6461 PR target/49128
6462 * config/i386/driver-i386.c (host_detect_local_cpu): Always
6463 add -mno-XXX. Handle FMA.
6464
8c5fdaae
VM
64652011-05-24 Vladimir Makarov <vmakarov@redhat.com>
6466
6467 PR rtl-optimization/48633
6468 * ira-build.c (loop_with_eh_edge_p): New function.
6469 (mark_loops_for_removal): Use it.
6470
64712011-05-24 Vladimir Makarov <vmakarov@redhat.com>
113a5be6
VM
6472
6473 PR rtl-optimization/48971
6474 * ira.c (setup_pressure_classes): Don't check register move cost
6475 for classes with one registers. Don't add pressure class if there
6476 is a pressure class with the same available hard registers.
6477 Check contains_reg_of_mode. Fix a typo in collecting
6478 temp_hard_regset. Ignore hard registers not belonging to a class.
6479
df1f7315
UB
64802011-05-24 Uros Bizjak <ubizjak@gmail.com>
6481
6482 PR target/49133
6483 * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
6484
ee0cb37c
EB
64852011-05-24 Eric Botcazou <ebotcazou@adacore.com>
6486 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6487
6488 PR gcov-profile/48845
6489 * config/sol2.h (LIB_SPEC): Link TLS support for tree profiling.
6490
6a20ce76
RG
64912011-05-24 Richard Guenther <rguenther@suse.de>
6492
6493 * gimple.c (compare_type_names_p): Remove for_completion_p arg.
6494 (gimple_compatible_complete_and_incomplete_subtype_p): Remove.
6495 (gimple_types_compatible_p_1): Adjust.
6496 (iterative_hash_canonical_type): Do not bother about complete vs.
6497 incomplete types.
6498 (gimple_canonical_types_compatible_p): Likewise.
6499
2fcb858c
RO
65002011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6501
6502 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Remove.
6503
96d91dcf
RG
65042011-05-24 Richard Guenther <rguenther@suse.de>
6505
6506 PR bootstrap/49078
6507 * gimple.c (gimple_register_canonical_type): Revert
6508 previous change.
6509 * alias.c (get_alias_set): Only assert that TYPE_CANONICAL
6510 does not for a tree for the case where it matters. Cache
6511 pointer-type alias-sets.
6512
1ed1641d
JM
65132011-05-24 Joseph Myers <joseph@codesourcery.com>
6514
6515 * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
6516 (OBJS): Remove options.o, opts-common.o and prefix.o.
6517 (OBJS-libcommon-target): New.
6518 (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
6519 (BACKEND): Include libcommon-target.a.
6520 (MOSTLYCLEANFILES): Include libcommon-target.a.
6521 (libcommon-target.a): New.
6522 (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
6523 prefix.o.
6524
57dfdff0
JM
65252011-05-23 Joseph Myers <joseph@codesourcery.com>
6526
6527 * optc-save-gen.awk: New. Based on optc-gen.awk. Don't generate
6528 parts of output shared with the driver.
6529 * optc-gen.awk: Don't generate parts of output not shared with the
6530 driver.
6531 * opth-gen.awk: Remove GCC_DRIVER conditionals.
6532 * doc/options.texi (SourcerInclude): Mention options-save.c.
6533 * Makefile.in (GCC_OBJS): Use options.o instead of gcc-options.o.
6534 (OBJS): Add options-save.o.
6535 (options-save.c, options-save.o): New.
6536 (options.o): Update dependencies.
6537 (gcc-options.o): Remove.
6538 (mostlyclean): Remove options-save.c.
6539
0e0d82a7
JJ
65402011-05-23 Jakub Jelinek <jakub@redhat.com>
6541
9166988f
JJ
6542 PR debug/49032
6543 * dbxout.c: Include cgraph.h.
6544 (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
6545 and without value expr, return NULL if no varpool node exists for
6546 it or if it is not needed.
6547 * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
6548
0e0d82a7
JJ
6549 PR c/49120
6550 * c-decl.c (start_decl): Convert expr to void_type_node.
6551
65712d5c
RS
65522011-05-23 Richard Sandiford <rdsandiford@googlemail.com>
6553
6554 PR rtl-optimization/48826
6555 * emit-rtl.c (try_split): When splitting a call that is followed
6556 by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.
6557
9025085e
JJ
65582011-05-23 Jakub Jelinek <jakub@redhat.com>
6559
6560 * cfgexpand.c (expand_debug_expr): For unused non-addressable
6561 parameters passed in memory prefer using DECL_INCOMING_RTL over
6562 the pseudos it will be copied into.
6563
34a061be
L
65642011-05-23 H.J. Lu <hongjiu.lu@intel.com>
6565
6566 PR target/47315
6567 * config/i386/i386.c (ix86_option_override_internal): Save the
6568 initial options after checking vzeroupper.
6569
c375a3a4
DL
65702011-05-23 David Li <davidxl@google.com>
6571
6572 PR tree-optimization/48988
6573 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
6574 Initialize has_valid_pred for each pred chain.
6575
e1caba18
RG
65762011-05-23 Richard Guenther <rguenther@suse.de>
6577
6578 * gimple.c (gimple_types_compatible_p_1): Always compare type names.
6579 (iterative_hash_gimple_type): Always hash type names.
6580
dde05067
NF
65812011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6582
6583 * c-typeck.c (build_function_call_vec): Tweak call to
6584 check_function_arguments.
6585
094f6ab3
RG
65862011-05-23 Richard Guenther <rguenther@suse.de>
6587
6588 PR tree-optimization/49115
6589 * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
6590 is not necessarily carried out, do not claim it kills the ref.
6591 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
6592
9a9822e1
RG
65932011-05-23 Richard Guenther <rguenther@suse.de>
6594
6595 PR middle-end/15419
6596 * builtins.c (fold_builtin_memory_op): Be less restrictive about
6597 what pointer types we accept for folding.
6598
c8028650
RO
65992011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6600
6601 * gthr-gnat.c: Remove.
6602 * gthr-gnat.h: Remove.
6603 * Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
6604 * config/t-freebsd (LIB2ADDEH): Likewise.
6605 * config/t-linux (LIB2ADDEH): Likewise.
6606 * config/t-sol2 (LIB2ADDEH): Likewise.
6607 * config/ia64/t-vms (LIB2ADDEH): Likewise.
6608 * configure.ac (target_thread_file): Remove gnat handling.
6609 * configure: Regenerate.
6610 * doc/install.texi (Configuration, --enable-threads): Remove gnat.
6611
15882fe9
TG
66122011-05-23 Tristan Gingold <gingold@adacore.com>
6613 Eric Botcazou <ebotcazou@adacore.com>
6614
6615 * gcov.c (create_file_names): If no object directory is specified,
6616 keep the directory of the file.
6617
da90c957
RO
66182011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6619
6620 * configure.ac (enable_threads): Remove irix; add lynx, tpf; sort list.
6621 * configure: Regenerate.
6622
7bba408b
JJ
66232011-05-23 Jakub Jelinek <jakub@redhat.com>
6624
6625 PR middle-end/48973
6626 * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
6627 failed and the comparison has a single bit signed type, use
6628 constm1_rtx instead of const1_rtx for true value.
6629 (do_store_flag): If ops->type is single bit signed type, disable
6630 signel bit test optimization and pass -1 instead of 1 as last
6631 parameter to emit_store_flag_force.
6632
bc69f7ff
TV
66332011-05-23 Tom de Vries <tom@codesourcery.com>
6634
6635 PR target/45098
6636 * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
6637 function.
6638 (infer_loop_bounds_from_undefined): Use new function.
6639
29cedf8e
RS
66402011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
6641
6642 * config/mips/mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
6643 (ASM_SPEC): Add a -O* option here. Pass -O0 for -noasmopt,
6644 -O1 for -fno-delayed-branch, -O2 if optimization is enabled,
6645 and -O0 otherwise.
6646 (EXTRA_SPECS): Remove subtarget_asm_optimizing_spec.
6647
afe8b6ec
EB
66482011-05-22 Eric Botcazou <ebotcazou@adacore.com>
6649
6650 * cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
6651 (try_optimize_cfg): Update BB_FORWARDER_BLOCK if try_forward_edges
6652 returns true.
6653
872dab53
RS
66542011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
6655
6656 * config/mips/mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
6657
145f6c5b
EB
66582011-05-22 Eric Botcazou <ebotcazou@adacore.com>
6659
6660 * config/sparc/sparc.c (sparc_delegitimize_address): Handle
6661 UNSPEC_MOVE_PIC pattern.
6662
8ac79835
EB
66632011-05-22 Eric Botcazou <ebotcazou@adacore.com>
6664
6665 * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
6666 (sparc-*-rtems*): Likewise.
6667 (sparc64-*-elf*): Likewise.
6668 (sparc64-*-rtems*): Likewise.
6669 (sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts.
6670 * config/sparc/t-crtin: New file.
6671 * config/sparc/t-sol2 (crti.o): Delete rule.
6672 (crtn.o): Likewise.
6673 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
6674 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
6675 * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
6676 (ENDFILE_SPEC): Add crtn.o.
6677
5fb43dd8
TV
66782011-05-22 Tom de Vries <tom@codesourcery.com>
6679
6680 PR middle-end/48689
6681 * fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
6682 CODE_CONTAINS_STRUCT (TS_COMMON).
6683
ccb1b17b
JJ
66842011-05-22 Jakub Jelinek <jakub@redhat.com>
6685
6686 PR middle-end/49029
6687 * expmed.c (extract_fixed_bit_field): Test whether target can be used
6688 only after deciding which mode to use.
6689
50ad7db2
TV
66902011-05-22 Tom de Vries <tom@codesourcery.com>
6691
6692 PR target/45098
dc0a3366 6693 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
50ad7db2
TV
6694 for call to get_shiftadd_cost.
6695
ef230b38
UB
66962011-05-22 Uros Bizjak <ubizjak@gmail.com>
6697
6698 PR target/49104
6699 * config/i386/cpuid.h (bit_MMXEXT): New define.
6700
15f072f9
NC
67012011-05-22 Nick Clifton <nickc@redhat.com>
6702
6703 * config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
6704 initialisation of non-existant args[2] element. Use args[] array
6705 not arg[] array to pass arguments to build_function_type_list.
6706
e38fdc94
IR
67072011-05-22 Ira Rosen <ira.rosen@linaro.org>
6708
6709 PR tree-optimization/49087
ef230b38 6710 * tree-vect-loop.c (vect_is_slp_reduction): Fail if LHS has no uses.
e38fdc94 6711
5b018c65
JM
67122011-05-21 Jason Merrill <jason@redhat.com>
6713
6714 PR c++/49092
6715 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
6716 static storage duration.
6717
abd9a770
EB
67182011-05-21 Eric Botcazou <ebotcazou@adacore.com>
6719
6720 * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
6721 frame pointer.
6722
bd9a3248
EB
67232011-05-21 Eric Botcazou <ebotcazou@adacore.com>
6724
6725 * config/sparc/sparc.c (eligible_for_return_delay): Do not return
6726 false if there are call-saved registers here...
6727 (sparc_can_use_return_insn_p): ...but here instead.
6728 (save_or_restore_regs): Fix thinko.
6729 (sparc_expand_prologue): Use current_function_is_leaf.
6730 (sparc_frame_pointer_required): Likewise.
6731
a5dfec9a
NC
67322011-05-21 Nick Clifton <nickc@redhat.com>
6733
6734 PR target/49098
6735 * config/rx/rx.c (rx_memory_move_cost): Note unused parameters.
6736
555c3771
NP
67372011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
6738
6739 * gengtype.c (walk_type): Implemented "atomic" GTY option.
6740 * doc/gty.texi (GTY Options): Document "atomic" GTY option.
6741
86fa5de4
JM
67422011-05-21 Joseph Myers <joseph@codesourcery.com>
6743
6744 * opt-read.awk: New. Split out of optc-gen.awk and opth-gen.awk.
6745 * optc-gen.awk: Move common code to opt-read.awk.
6746 * opth-gen.awk: Likewise.
ef230b38 6747 * Makefile.in (options.c, s-options-h): Update to use opt-read.awk.
86fa5de4 6748
bce33ab2
NF
67492011-05-20 Nathan Froyd <froydnj@codesourcery.com>
6750
6751 * godump.c (go_format_type): Don't use TYPE_ARG_TYPES.
6752
e6450c11
TV
67532011-05-20 Tom de Vries <tom@codesourcery.com>
6754
6755 PR target/45098
6756 * tree-ssa-loop-ivopts.c: Include expmed.h.
6757 (get_shiftadd_cost): New function.
6758 (force_expr_to_var_cost): Declare forward. Use get_shiftadd_cost.
6759
0e8b84ec
JJ
67602011-05-20 Jakub Jelinek <jakub@redhat.com>
6761
6762 PR bootstrap/49086
6763 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
6764 for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
6765
946bdf67
JM
67662011-05-20 Joseph Myers <joseph@codesourcery.com>
6767
6768 * Makefile.in: Update comment referring to $(OBJS-common).
6769
c53aafdf
ILT
67702011-05-20 Ian Lance Taylor <iant@google.com>
6771
6772 * godump.c (go_output_typedef): Put enum constants in the macro
6773 hash table to avoid duplicate Go const definitions.
6774
2691e6d7
JM
67752011-05-20 Joseph Myers <joseph@codesourcery.com>
6776
6777 * Makefile.in (LIBDEPS): Add libcommon.a.
6778 (LIBS): Likewise.
6779 (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
6780 (OBJS-common): Remove diagnostic.o, input.o, intl.o,
6781 pretty-print.o and version.o.
6782 (OBJS-libcommon): New.
6783 (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
6784 (BACKEND): Add libcommon.a.
6785 (MOSTLYCLEANFILES): Likewise.
6786 (libcommon.a): New.
6787 (xgcc$(exeext)): Don't explicitly use version.o and intl.o.
6788 (cpp$(exeext)): Likewise.
6789 (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
6790 pretty-print.o and input.o.
6791 (lto-wrapper$(exeext)): Don't explicitly use intl.o.
6792 (lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
6793 (errors.o): Remove.
6794 (mips-tfile): Don't explicitly use version.o.
6795 (mips-tdump): Likewise.
6796 (gcov.o): Depend on $(DIAGNOSTIC_H).
6797 (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
6798 (GCOV_OBJS): Remove intl.o, version.o and errors.o.
6799 (GCOV_DUMP_OBJS): Remove version.o and errors.o.
6800 * gcov-dump.c: Include intl.h and diagnostic.h.
6801 (main): Initialize diagnostics.
6802 * gcov.c: Include diagnostic.h.
6803 (fnotice): Remove.
6804 (main): Initialize diagnostics.
6805 * lto-wrapper.c: Include diagnostic.h.
6806 (main): Initialize diagnostics.
6807
252b3e8c
MM
68082011-05-20 Michael Matz <matz@suse.de>
6809
6810 * Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
6811
2ee36ba6
MM
68122011-05-20 Michael Matz <matz@suse.de>
6813 Richard Guenther <rguenther@suse.de>
6814
6815 * lto-streamer.c (lto_record_common_node): Don't track seen nodes,
6816 use lto_streamer_cache_append directly instead of returning a VEC.
6817 (preload_common_node): Remove.
6818 (lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
6819 track seen nodes.
6820 (lto_streamer_cache_create): Call lto_preload_common_nodes.
6821
90ff582f
RG
68222011-05-20 Richard Guenther <rguenther@suse.de>
6823
6824 PR tree-optimization/49079
6825 * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
6826 MEM_REFs correctly for the trailing array access detection.
6827 Special case constants the same way as decls for overall size
6828 constraining.
6829
3cda91d8
UB
68302011-05-20 Uros Bizjak <ubizjak@gmail.com>
6831
6832 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
6833 argument expansion.
6834
6c66f733
JJ
68352011-05-20 Jakub Jelinek <jakub@redhat.com>
6836
6837 PR tree-optimization/49073
3cda91d8
UB
6838 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL if
6839 PHI argument is SSA_NAME, whose def_stmt is dominated by the PHI.
6c66f733
JJ
6840 * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
6841
0ea80a16
RG
68422011-05-20 Richard Guenther <rguenther@suse.de>
6843
6844 PR middle-end/48849
6845 * gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
6846 of pointer types the same way the middle-end does.
6847
fb291a1e
RG
68482011-05-20 Richard Guenther <rguenther@suse.de>
6849
3cda91d8
UB
6850 * gimple.c (gimple_register_type_1): Do not fiddle with main-variant
6851 or pointer-to chains. Delay all fixup to uniquify_nodes.
fb291a1e 6852
37cb25ed
QN
68532011-05-19 Quentin Neill <quentin.neill@amd.com>
6854
6855 * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
6856 (fma4_fmaddsub): Likewise
6857
a30726a4
JH
68582011-05-19 Jan Hubicka <jh@suse.cz>
6859
6860 * gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
6861 (GIMPLE_TYPE_PAIR_SIZE): New macro.
6862 (type_pair_cache): New static var.
6863 (lookup_type_pair): Use fixed sized custom hash; make inline.
6864 (gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
6865 calls of lookup_type_pair.
6866 (print_gimple_types_stats): Remove cache stats.
6867 (free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
6868 and gtc_ob.
6869
0955cf61
UB
68702011-05-19 Uros Bizjak <ubizjak@gmail.com>
6871
6872 * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
6873 when TARGET_RDRND is active.
6874 (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
6875 Generate dummy SImode target register when target is NULL.
6876
12d844c8
JM
68772011-05-19 Joseph Myers <joseph@codesourcery.com>
6878
6879 * config/arm/arm-fpus.def: New.
6880 * config/arm/genopt.sh: Generate Enum and EnumValue entries from
6881 arm-fpus.def.
6882 * config/arm/arm-tables.opt: Regenerate.
6883 * config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
6884 (arm_option_override): Don't decode FPU name to string here.
6885 * config/arm/arm.opt (mfpu=): Use Enum.
6886 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
6887 Update dependencies.
6888
9e350e99
JM
68892011-05-19 Joseph Myers <joseph@codesourcery.com>
6890
6891 * collect2.c: Include diagnostic.h.
6892 (fatal_perror, fatal, error, fancy_abort): Remove.
6893 (main): Set progname. Call xmalloc_set_program_name and
6894 diagnostic_initialize.
6895 (maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
6896 scan_libraries, resolve_lib_name): Call fatal_error instead of
6897 fatal and fatal_perror.
6898 * collect2.h (error, fatal, fatal_perror): Don't declare.
6899 * tlink.c: Include diagnostic-core.h.
6900 (recompile_files): Call fatal_error instead of fatal_perror.
6901 * Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
6902 pretty-print.o and input.o.
6903 (collect2.o, tlink.o): Update dependencies.
6904
86ff4081
RO
69052011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6906
6907 * config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
6908
2ca48caa
RO
69092011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6910
6911 PR target/40483
6912 * configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
6913 COMDAT group syntax, both SPARC and x86 variants.
6914 (HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
6915 * configure: Regenerate.
6916 * config/sol2.h (TARGET_SOLARIS): Define.
6917 (PUSHSECTION_FORMAT): Remove.
6918 (SECTION_NAME_FORMAT): Define.
6919 * config/sol2.c: Include hashtab.h.
6920 (solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
6921 expansion, using SECTION_NAME_FORMAT.
6922 (solaris_comdat_htab): New variable.
6923 (struct comdat_entry): Define.
6924 (comdat_hash): New function.
6925 (comdat_eq): New function.
6926 (solaris_elf_asm_comdat_section): New function.
6927 (solaris_define_comdat_signature): New function.
6928 (solaris_code_end): New function.
6929 * config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
6930 (solaris_code_end): Declare.
6931 * config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
6932 * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
6933 solaris_code_end.
6934 (i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
6935 Remove ATTRIBUTE_UNUSED.
6936 [!USE_GAS]: Call solaris_elf_asm_comdat_section for
6937 SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
0955cf61 6938 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Likewise.
2ca48caa
RO
6939 * config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
6940 * config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
6941 * config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
6942 (PUSHSECTION_FORMAT): Remove.
6943 (SECTION_NAME_FORMAT): Redefine.
6944
da5fb469
KT
69452011-05-19 Kai Tietz <ktietz@redhat.com>
6946
6947 * tree-cfg.c (verify_gimple_assign_binary): Barf on
6948 TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
6949 (gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.
6950
1651e703 69512011-05-19 Anatoly Sokolov <aesok@post.ru>
0967b228
AS
6952 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6953
6954 * config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.
6955
e497b9bd
RG
69562011-05-19 Richard Guenther <rguenther@suse.de>
6957
6958 PR middle-end/48985
6959 * tree-object-size.c (addr_object_size): If the pointed-to
6960 variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
6961
31b3ca64
RG
69622011-05-19 Richard Guenther <rguenther@suse.de>
6963
6964 * gimple.c (gimple_types_compatible_p_1): Compare names of
6965 the types themselves.
6966 (iterative_hash_gimple_type): And hash them that way.
6967 (gimple_register_type_1): If we register a main variant properly
6968 initialize the leader to ourselves.
6969
bb8d292d
TV
69702011-05-19 Tom de Vries <tom@codesourcery.com>
6971
6972 PR target/45098
6973 * tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
6974 get_loop_invariant_expr_id.
6975 (get_loop_invariant_expr_id): Use get_expr_id.
6976 (parm_decl_cost): New function.
6977 (determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
6978 Improve bound cost estimation. Use different inv_expr_id for elim and
6979 express cases.
6980
a53c5024
TV
69812011-05-19 Tom de Vries <tom@codesourcery.com>
6982
6983 PR target/45098
6984 * tree-ssa-loop-ivopts.c (determine_iv_cost): Prevent
6985 cost_base.cost == 0.
6986
31f9eb59
L
69872011-05-18 H.J. Lu <hongjiu.lu@intel.com>
6988
6989 PR target/49002
66bd20e7
EB
6990 * config/i386/sse.md
6991 (avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>): Properly handle
6992 load cast.
31f9eb59 6993
681056ae
JJ
69942011-05-18 Jakub Jelinek <jakub@redhat.com>
6995
6996 PR tree-optimization/49039
6997 * tree-vrp.c (extract_range_from_binary_expr): For
6998 MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
6999 return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
7000
b5ee6752
TV
70012011-05-18 Tom de Vries <tom@codesourcery.com>
7002
7003 PR target/45098
7004 * tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.
7005
0bda47a3
UB
70062011-05-18 Uros Bizjak <ubizjak@gmail.com>
7007
7008 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
7009 (*tls_global_dynamic_64): Ditto.
7010 (*tls_local_dynamic_base_32_gnu): Ditto.
7011 (*tls_local_dynamic_base_64): Ditto.
7012 (tls_initial_exec_64_sun): Ditto.
7013
033b0805
SH
70142011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
7015
7016 * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
7017 * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
7018 bf592-none.
7019 * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
7020 * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
7021 * config/bfin/bfin.c (bfin_cpus): Add bf592.
7022 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
0bda47a3 7023 __ADSPBF592__ and __ADSPBF59x__ for BFIN_CPU_BF592.
033b0805
SH
7024 * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
7025 * config/bfin/elf.h (LIB_SPEC): Add bf592.
7026
ba163417
JM
70272011-05-18 Joseph Myers <joseph@codesourcery.com>
7028
7029 * config/arm/arm-opts.h (enum arm_fp16_format_type, enum
0bda47a3 7030 arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from arm.h.
ba163417
JM
7031 * config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
7032 target_thread_pointer, arm_structure_size_boundary, struct
7033 float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
7034 struct abi_name, arm_all_abis): Remove.
0bda47a3
UB
7035 (arm_option_override) Don't process most enumerated option values here.
7036 Don't process target_fpe_name here. Work with integer not string for
7037 structure size boundary; use separate diagnostics for each case.
ba163417
JM
7038 * config/arm/arm.h (enum float_abi_type, enum
7039 arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
7040 to arm-opts.h.
7041 (arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
7042 arm_structure_size_boundary): Remove.
7043 * config/arm/arm.opt (mabi=): Use Enum and Init.
7044 (arm_abi_type): New Enum and EnumValue entries.
7045 (mfloat-abi=): Use Enum and Init.
7046 (float_abi_type): New Enum and EnumValue entries.
0bda47a3 7047 (mfp=, mfpe=): Replace by separate Alias entries for each argument.
ba163417
JM
7048 (mfp16-format=): Use Enum and Init.
7049 (arm_fp16_format_type): New Enum and EnumValue entries.
7050 (mstructure-size-boundary=): Use UInteger and Init.
7051 (mtp=): Use Enum and Init.
7052 (arm_tp_type): New Enum and EnumValue entries.
7053
179184e3
RG
70542011-05-18 Richard Guenther <rguenther@suse.de>
7055
7056 PR tree-optimization/49018
7057 * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
7058 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
7059 gimple_has_side_effects.
7060
93b2a207
RG
70612011-05-18 Richard Guenther <rguenther@suse.de>
7062
7063 * gimple.c (gimple_register_type_1): New function, split out from ...
7064 (gimple_register_type): ... here. Avoid infinite recursion.
7065
b010117a
IR
70662011-05-18 Ira Rosen <ira.rosen@linaro.org>
7067
7068 PR tree-optimization/41881
7069 * tree-vectorizer.h (struct _loop_vec_info): Add new field
7070 reduction_chains along with a macro for its access.
7071 * tree-vect-loop.c (new_loop_vec_info): Initialize reduction chains.
7072 (destroy_loop_vec_info): Free reduction chains.
7073 (vect_analyze_loop_2): Return false if vect_analyze_slp() returns false.
7074 (vect_is_slp_reduction): New function.
7075 (vect_is_simple_reduction_1): Call vect_is_slp_reduction.
7076 (vect_create_epilog_for_reduction): Support SLP reduction chains.
7077 * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow different
7078 definition types for reduction chains.
7079 (vect_supported_load_permutation_p): Don't allow permutations for
7080 reduction chains.
7081 (vect_analyze_slp_instance): Support reduction chains.
7082 (vect_analyze_slp): Try to build SLP instance from reduction chains.
7083 (vect_get_constant_vectors): Handle reduction chains.
7084 (vect_schedule_slp_instance): Mark the first statement of the
7085 reduction chain as reduction.
7086
e14c1050
IR
70872011-05-18 Ira Rosen <ira.rosen@linaro.org>
7088
7089 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
7090 names for group elements access.
7091 * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
7092 reduction chains as well. Remove data reference and interleaving
7093 related words from the fields names.
7094 * tree-vect-loop.c (vect_transform_loop): Use new names for group
7095 elements access.
7096 * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
7097 vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
7098 vect_update_interleaving_chain, vect_same_range_drs,
7099 vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
7100 vect_verify_datarefs_alignment, vector_alignment_reachable_p,
7101 vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
7102 vect_analyze_group_access, vect_analyze_data_ref_access,
7103 vect_create_data_ref_ptr, vect_transform_strided_load,
7104 vect_record_strided_load_vectors): Likewise.
7105 * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
7106 vect_model_load_cost, vectorizable_store, vectorizable_load,
7107 vect_remove_stores, new_stmt_vec_info): Likewise.
7108 * tree-vect-slp.c (vect_build_slp_tree,
7109 vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.
7110
51c213f7
RG
71112011-05-18 Richard Guenther <rguenther@suse.de>
7112
7113 PR middle-end/48989
7114 * tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
7115 operand verification.
7116 (verify_gimple_assign_binary): Likewise.
7117 * tree-ssa.c (useless_type_conversion_p): Preserve conversions
7118 to non-1-precision BOOLEAN_TYPEs.
7119
8f5e5434
TV
71202011-05-18 Tom de Vries <tom@codesourcery.com>
7121
7122 PR target/45098
7123 * tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.
7124
116bc3a4
JJ
71252011-05-18 Jakub Jelinek <jakub@redhat.com>
7126
7127 PR tree-optimization/49000
7128 * tree-ssa.c (execute_update_addresses_taken): Call
7129 maybe_rewrite_mem_ref_base on debug stmt value. If it couldn't
7130 be rewritten and decl has been marked for renaming, reset
7131 the debug stmt.
7132
26a8964c
JM
71332011-05-17 Joseph Myers <joseph@codesourcery.com>
7134
7135 * config/i386/i386.c (ix86_valid_target_attribute_tree): Use
7136 enum_opts_set when testing if attributes have set -mfpmath=.
7137
82bd45d7
RS
71382011-05-17 Richard Sandiford <rdsandiford@googlemail.com>
7139
7140 * config/mips/mips.c (mips_handle_option): Remove unused variable.
7141
267ffce3
UB
71422011-05-17 Uros Bizjak <ubizjak@gmail.com>
7143
7144 * ipa-inline-analysis.c (inline_node_duplication_hook): Initialize
7145 info->entry with 0
7146 * tree-inline.c (maybe_inline_call_in_expr): Initialize
7147 id.transform_lang_insert_block with NULL.
7148
71492011-05-17 Uros Bizjak <ubizjak@gmail.com>
d9403b0d
UB
7150
7151 * config/i386/i386-protos.h (output_fix_trunc): Change arg 3 to bool.
7152 (output_fp_compare): Change args 3 and 4 to bool.
7153 (ix86_expand_call): Change arg 6 to bool.
7154 (ix86_attr_length_immediate_default): Change arg 2 to bool.
7155 (ix86_attr_length_vex_default): Change arg 3 to bool.
7156 * config/i386/i386.md: Update all uses.
7157 * config/i386/i386.c: Ditto.
7158 (ix86_flags_dependent): Change return type to bool.
7159
5beaf664
RG
71602011-05-17 Richard Guenther <rguenther@suse.de>
7161
7162 * gimple.c (type_hash_pair_compare): Fix comparison.
7163
008bad7a
RG
71642011-05-17 Richard Guenther <rguenther@suse.de>
7165
7166 * gimple.c (iterative_hash_gimple_type): Simplify singleton
7167 case some more, fix final hash value of the non-singleton case.
7168
36461340
RG
71692011-05-17 Richard Guenther <rguenther@suse.de>
7170
7171 PR bootstrap/49013
7172 Revert
7173 2011-05-16 Richard Guenther <rguenther@suse.de>
7174
7175 * gimple.c (gimple_types_compatible_p_1): Use names of the
7176 type itself, not its main variant.
7177 (iterative_hash_gimple_type): Likewise.
7178
6b6a59f3
RG
71792011-05-17 Richard Guenther <rguenther@suse.de>
7180
7181 * gimple.c (gimple_register_canonical_type): Use the main-variant
7182 leader for computing the canonical type.
7183
4ffc4134
NC
71842011-05-17 Nick Clifton <nickc@redhat.com>
7185
a1d8754e
NC
7186 * config/rx/rx.c (rx_memory_move_cost): Include cost of register
7187 moves.
7188
4ffc4134
NC
7189 * config/rx/rx.md: Add peephole to remove redundant extensions
7190 after loads.
39960f7a
NC
7191 (bitset_in_memory): Use rx_restricted_mem_operand.
7192 (bitinvert_in_memory): Likewise.
7193 (bitclr_in_memory): Likewise.
4ffc4134 7194
b3db92ac
KI
71952011-05-17 Kazuhio Inaoka <kazuhiro.inaoka.ud@renesas.com>
7196 Nick Clifton <nickc@redhat.com>
7197
7198 * config/rx/rx.md: Add peepholes to match a register move followed
7199 by a comparison of the moved register. Replace these with an
7200 addition of zero that does both actions in one instruction.
7201
8637e32a
JJ
72022011-05-17 Jakub Jelinek <jakub@redhat.com>
7203
7204 PR target/48986
7205 * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
7206 predicate to allow CONST_INT.
7207 (*sync_old_add_cmp<mode>): New insn and peephole2 for it.
7208
8023568e
JM
72092011-05-16 Joseph Myers <joseph@codesourcery.com>
7210
7211 * opts-common.c (opt_enum_arg_to_value): New.
7212 * opts.h (opt_enum_arg_to_value): Declare.
7213 * config/i386/i386.opt (fpmath): Remove.
7214 (mfpmath=): Use Enum, Init and Save.
7215 (fpmath_unit): New Enum and EnumValue entries.
7216 * config/i386/i386-c.c (ix86_pragma_target_parse): Update field
7217 name for function fpmath state.
7218 * config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
7219 * config/i386/i386.c: Include diagnostic.h.
7220 (ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
d9403b0d 7221 (ix86_target_string): Take enum fpmath_unit value instead of string.
8023568e 7222 (ix86_debug_options): Update call to ix86_target_string.
d9403b0d 7223 (ix86_option_override_internal): Don't process fpmath strings here.
8023568e
JM
7224 (x86_function_specific_save, ix86_function_specific_restore):
7225 Don't handle fpmath state specially.
7226 (ix86_function_specific_print): Pass fpmath state to
7227 ix86_target_string instead of printing in this function.
7228 (ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
7229 Handle enum attributes.
7230 (IX86_ATTR_ENUM, ix86_opt_enum): New.
7231 (ix86_valid_target_attribute_tree): Update option_strings
7232 handling. Handle fpmath as enum option.
7233 (ix86_can_inline_p): Update field names for function fpmath state.
7234 (ix86_expand_builtin): Update call to ix86_target_string.
7235 * config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
7236 (ix86_fpmath): Remove.
7237 * config/i386/t-i386 (i386.o): Update dependencies.
7238
9e8d926e
JM
72392011-05-16 Joseph Myers <joseph@codesourcery.com>
7240
7241 PR preprocessor/48677
7242 * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
7243 from decoded_options[0], not from itself.
7244
f6449011
UB
72452011-05-16 Uros Bizjak <ubizjak@gmail.com>
7246
7247 * config/i386/constraints.md (z): New constraint.
7248 * config/i386/i386.c (c): New mode attribute.
7249 (*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
7250 *call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
7251 constraint for operand 0.
7252 (*call_vzeroupper): Ditto.
7253 (*call_rex64_ms_sysv): Ditto. Use "rzm" constraint for operand 0.
7254 (*call_rex64_ms_sysv_vzeroupper): Ditto.
7255 (*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
7256 Use "lzm" constraint for operand 0.
7257 (*call_pop_vzeroupper): Ditto.
7258 (*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
7259 *sibcall_1_rex64 patterns using "P" mode iterator. Use "Uz"
7260 constraint for operand 0.
7261 (*sibcall_vzeroupper): Ditto.
7262 (*sibcall_rex64_ms_sysv): Ditto.
7263 (*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
7264 (*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
7265 *sibcall_pop_1. Use "Uz" constraint for operand 0.
7266 (*sibcall_pop_vzeroupper): Ditto.
7267 (*call_value): Merge insn pattern from *call_value_0, *call_value_1,
7268 *call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
7269 mode iterator. Use "<c>zm" constraint for operand 1.
7270 (*call_value_vzeroupper): Ditto.
7271 (*call_value_rex64_ms_sysv): Ditto. Use "rzm" constraint
d9403b0d 7272 for operand 1.
f6449011
UB
7273 (*call_value_rex64_ms_sysv_vzeroupper): Ditto.
7274 (*call_value_pop): Merge insn pattern from *call_value_pop_0 and
7275 *call_value_pop_1. Use "lzm" constraint for operand 1.
7276 (*call_value_pop_vzeroupper): Ditto.
7277 (*sibcall_value): Merge insn pattern from *sibcall_value_0,
7278 *sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
7279 mode iterator. Use "Uz" constraint for operand 1.
7280 (*sibcall_value_vzeroupper): Ditto.
7281 (*sibcall_value_rex64_ms_sysv): Ditto.
7282 (*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
7283 (*sibcall_value_pop): Rename from *sibcall_pop_1. Use "Uz"
7284 constraint for operand 1.
7285 (*sibcall_value_pop_vzeroupper): Ditto.
7286 (*tls_global_dynamic_64): Use constant_call_address_operand predicate
7287 and "z" constraint for operand 2.
7288 (*tls_global_dynamic_32_gnu): Ditto.
7289 (*tls_local_dynamic_base_32_gnu): Ditto.
7290 (*tls_local_dynamic_base_64): Ditto.
7291 (*tls_local_dynamic_32_once): Ditto.
7292 * config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
7293 Update all callers.
7294 * config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.
7295
c11b6902
RG
72962011-05-16 Richard Guenther <rguenther@suse.de>
7297
7298 * gimple.c (gimple_types_compatible_p_1): Use names of the
7299 type itself, not its main variant.
7300 (iterative_hash_gimple_type): Likewise.
7301
1e83b5f1
RG
73022011-05-16 Richard Guenther <rguenther@suse.de>
7303
f6449011
UB
7304 * gimple.c (iterative_hash_gimple_type): Re-instantiate change to
7305 always visit pointer target and function result and argument types.
1e83b5f1 7306
62e36382
JM
73072011-05-16 Jason Merrill <jason@redhat.com>
7308
7309 PR c++/48999
7310 * tree-inline.c (copy_statement_list): Put back recursion.
7311
687027a4
GJL
73122011-05-16 Georg-Johann Lay <avr@gjlay.de>
7313
7314 PR target/27663
7315 PR target/41076
7316 * config/avr/predicates.md (const_8_16_24_operand): New predicate.
7317 * config/avr/avr.md ("*ior<mode>qi.byte0",
7318 "*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.
7319
f24a5190
GJL
73202011-05-16 Georg-Johann Lay <avr@gjlay.de>
7321
7322 PR target/45099
7323 * config/avr/avr.c (avr_function_arg_advance): Error if a fixed
7324 register is needed for a function argument.
7325
3066f593
RG
73262011-05-16 Richard Guenther <rguenther@suse.de>
7327
7328 * gimple.c (struct type_hash_pair): New type.
7329 (type_hash_pair_compare): New function.
f6449011 7330 (iterative_hash_gimple_type): Mix in SCC member hashes in hash-order.
3066f593 7331
b2ab2cf4
RE
73322011-05-16 Revital Eres <revital.eres@linaro.org>
7333
f6449011 7334 * modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P first.
b2ab2cf4 7335
dfb737fc
UB
73362011-05-15 Uros Bizjak <ubizjak@gmail.com>
7337
7338 * config/i386/i386.md (floating point move splitters): Fix
7339 usage of standard_80387_constant_p.
f6449011 7340 * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
dfb737fc 7341
8caa1de0
UB
73422011-05-15 Uros Bizjak <ubizjak@gmail.com>
7343
7344 * config/i386/i386.md (*movdf_internal): Simplify insn condition.
7345
8a519095
EB
73462011-05-14 Eric Botcazou <ebotcazou@adacore.com>
7347
7348 * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
7349 (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
7350 (tree_ssa_lim_finalize): Likewise.
7351
479fecd3
UB
73522011-05-14 Uros Bizjak <ubizjak@gmail.com>
7353
7354 * config/i386/constraint.md (Yd, Yx): New register constraints.
7355 * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
7356 Yd conditional register constraint.
7357 (*movtf_internal): Use standard_sse_constant_opcode.
7358 (*movxf_internal): Merge with *movxf_internal_nointeger. Use
7359 Yx conditional register constraint.
7360 (*movdf_internal): Merge with *movdf_internal_nointeger. Use
7361 Yd conditional register constraint. Use standard_sse_constant_p to
7362 check for valid SSE constants and call standard_sse_constant_opcode to
7363 output SSE insn.
7364 (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
7365 constants and call standard_sse_constant_opcode to output SSE insn.
7366 * config/i386/i386.c (ix86_option_ovverride_internal): Set
7367 TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
7368 optimize_size is set.
7369 (standard_sse_constant_opcode): Output conditional AVX insn templates.
7370
2d8c9ad5
TB
73712011-05-14 Tobias Burnus <burnus@net-b.de>
7372
7373 * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
7374
411a20d6
MJ
73752011-05-13 Martin Jambor <mjambor@suse.cz>
7376
7377 * ipa-prop.c (ipa_cst_from_jfunc): New function.
7378 * ipa-prop.h (ipa_cst_from_jfunc): Declare.
7379 * ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
7380 (evaluate_conditions_for_ipcp_clone): Removed.
7381 (estimate_ipcp_clone_size_and_time): Accept vector of known constants.
7382 * ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
7383 * ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.
7384
dc764d10
EB
73852011-05-13 Eric Botcazou <ebotcazou@adacore.com>
7386
7387 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
7388 * regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
7389 lieu of MAY_HAVE_DEBUG_STMTS.
7390 * tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
7391 debug statements if !MAY_HAVE_DEBUG_STMTS.
7392
9f47a24e
MT
73932011-05-13 Martin Thuresson <martint@google.com>
7394
7395 PR gcov-profile/47793
7396 * libgcov.c (gcov_exit): Support relative profile paths.
7397 * doc/invoke.texi (-fprofile-dir): Update for above change.
7398
b8a71aed
RG
73992011-05-13 Richard Guenther <rguenther@suse.de>
7400
7401 * gimple.c (gimple_canonical_types_compatible_p): Do not use
7402 type-pair caching, do not compare hashes.
7403
eb9f9259
NF
74042011-05-13 Nathan Froyd <froydnj@codesourcery.com>
7405
7406 PR middle-end/48965
7407 * tree-cfg.c (edge_to_cases_cleanup): Return true.
7408 (verify_expr) [CASE_LABEL_EXPR]: Add checking.
7409
3c6cbf7a
KT
74102011-05-13 Kai Tietz <ktietz@redhat.com>
7411
7412 * gimplify.c (gimplify_expr): Make sure operand is boolified.
7413 * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
7414 compatible type for TRUTH_NOT_EXPR.
7415
2e7f5dc0
L
74162011-05-13 H.J. Lu <hongjiu.lu@intel.com>
7417
dc764d10 7418 * config/i386/i386.c (ix86_save_reg): Change return type to bool.
2e7f5dc0
L
7419 (ix86_hard_regno_mode_ok): Change return value to bool. Use
7420 can_create_pseudo_p ().
7421
e834e95c
RG
74222011-05-13 Richard Guenther <rguenther@suse.de>
7423
7424 PR lto/48978
7425 * gimple.c (iterative_hash_gimple_type): Revert change in
7426 pointer target and function result and argument hashing.
7427
34203483
UB
74282011-05-13 Uros Bizjak <ubizjak@gmail.com>
7429
7430 * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
7431 (*movxf_internal_nointeger): Ditto.
7432 (*movdf_internal_rex64): Ditto.
7433 (*movdf_internal): Ditto.
7434 (*movdf_internal_nointeger): Ditto.
7435 (*movsf_internal): Ditto.
7436 (sincos splitters): Use can_create_pseudo ().
7437
7eb68c06
JM
74382011-05-13 Joseph Myers <joseph@codesourcery.com>
7439
7440 * config/i386/i386-opts.h: New.
7441 * gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
7442 ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
7443 ix86_section_threshold): Remove.
7444 (ix86_handle_option): Move MAX_CODE_ALIGN define here. Handle
7445 OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
7446 OPT_mbranch_cost_.
7447 (ix86_option_override_internal): Don't decode strings for options
7448 other than -march=, -mtune= and -mfpmath=. Don't allow for
7449 __attribute__ uses in remaining diagnostics for options with
34203483 7450 string arguments. Don't check for integer arguments being negative.
7eb68c06 7451 * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
34203483 7452 enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
7eb68c06
JM
7453 (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
7454 ix86_branch_cost, ix86_section_threshold): Remove.
7455 * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
7456 HeaderInclude.
7457 (malign-functions=, malign-jumps=, malign-loops=): Use UInteger
7458 but not Var.
7459 (masm=): Use Enum and Init.
7460 (asm_dialect): New Enum and EnumValue entries.
7461 (mbranch-cost=): Use UInteger.
7462 (mlarge-data-threshold=): Use UInteger and Init.
7463 (mcmodel=): Use Enum and Init.
7464 (cmodel): New Enum and EnumValue entries.
7465 (mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
7466 (mpreferred-stack-boundary=, mincoming-stack-boundary=,
7467 mregparm=): Use UInteger.
7468 (mstringop-strategy=): Use Enum and Init.
7469 (stringop_alg): New Enum and EnumValue entries.
7470 (mtls-dialect=): Use Enum and Init.
7471 (tls_dialect): New Enum and EnumValue entries.
7472 (mabi=): Use Enum and Init.
7473 (calling_abi): New Enum and EnumValue entries.
7474 (mveclibabi=): Use Enum and Init.
7475 (ix86_veclibabi): New Enum and EnumValue entries.
7476
f67e203c
NC
74772011-05-13 Nick Clifton <nickc@redhat.com>
7478
34203483
UB
7479 * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
7480 * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
f67e203c 7481
221df0b6
KT
74822011-05-13 Kai Tietz <ktietz@redhat.com>
7483
7484 PR middle-end/48984
7485 * gimplify.c (gimplify_expr): Check for boolean_type_node instead
7486 for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
7487 (gimple_boolify): Check for cast for boolean_type_node instead for
7488 BOOLEAN_TYPE.
7489
208cb8cb
RG
74902011-05-13 Richard Guenther <rguenther@suse.de>
7491
7492 PR tree-optimization/48172
7493 * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
7494 multiplying by number of iterations for equal step.
7495 (vect_create_cond_for_alias_checks): Likewise.
7496
b88ecf55
AS
74972011-05-13 Andreas Schwab <schwab@redhat.com>
7498
7499 * configure.ac: Use AS_HELP_STRING throughout.
7500 * configure: Regenerate.
7501
569b527e
L
75022011-05-12 H.J. Lu <hongjiu.lu@intel.com>
7503
34203483 7504 * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
569b527e
L
7505 (ix86_emit_restore_regs_using_mov): Likewise.
7506 (ix86_emit_restore_sse_regs_using_mov): Likewise.
7507
8b9a1428
AS
75082011-05-12 Anatoly Sokolov <aesok@post.ru>
7509
7510 * config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
7511 SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
7512 (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
7513 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
7514 RTX_OK_FOR_OLO10_P): ...here.
7515 (sparc_mode_dependent_address_p): Use symbolic_operand instead of
7516 SYMBOLIC_CONST.
7517
1d15f620
KT
75182011-05-12 Kai Tietz <ktietz@redhat.com>
7519
7520 * gimplify.c (gimple_boolify): Re-boolify expression
7521 arguments even if expression type is of kind BOOLEAN_TYPE.
7522 (gimplify_boolean_expr): Removed.
7523 (gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
7524 and XOR. Additional take care that we keep expression's type.
7525 * tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
7526 of TRUTH_AND|OR|XOR_EXPR.
7527
c2b5fc8d
JJ
75282011-05-12 Jakub Jelinek <jakub@redhat.com>
7529
7530 PR tree-optimization/48975
7531 * tree-if-conv.c (combine_blocks): Call free_bb_predicate
7532 on all bbs here and free and clear ifc_bbs at the end.
7533
61332f77
RG
75342011-05-12 Richard Guenther <rguenther@suse.de>
7535
7536 * gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
7537 NULLPTR_TYPE similar to VOID_TYPE. Defer type-leader lookup
7538 until after simple checks.
7539 (gimple_types_compatible_p): Likewise.
7540 (iterative_hash_gimple_type): Always hash pointer targets
7541 and function return and argument types.
7542 (iterative_hash_canonical_type): Do not hash TYPE_QUALS,
7543 hash TYPE_ALIGN. Do not hash TYPE_MIN/MAX_VALUE.
7544 (gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
7545 handle NULLPTR_TYPE similar to VOID_TYPE. Handle non-aggregates
7546 completely in the simple compare section.
7547 (gimple_register_canonical_type): Query the cache again after
7548 registering.
7549
e2a3a5f1
RG
75502011-05-12 Richard Guenther <rguenther@suse.de>
7551
7552 PR tree-optimization/48172
7553 * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
7554 the number of iterations from the segment size calculation.
7555 (vect_create_cond_for_alias_checks): Adjust.
7556
2c703f3a
JJ
75572011-05-12 Jakub Jelinek <jakub@redhat.com>
7558
7559 PR debug/48967
7560 * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
7561 if validate_subreg fails.
7562
75632011-05-12 Hariharan Sandanagobalane <hariharan@picochip.com>
b27981e0
HS
7564
7565 * ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
7566 accessing beyond the end of REGNO_REG_CLASS array by stopping the loop
7567 early.
7568
87e91fca
DD
75692011-05-12 DJ Delorie <dj@redhat.com>
7570
d53903d6 7571 * config/rx/rx.c (rx_builtins): New arrays - holds builtin functions.
87e91fca
DD
7572 (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
7573 created builtin into rx_builtins array.
7574 (rx_builtin_decl): New function.
34203483 7575 (TARGET_BUITLIN_DECL): Define. Include gt-rx.h.
87e91fca 7576
5f2f13fd
DD
75772011-05-12 DJ Delorie <dj@redhat.com>
7578 Nick Clifton <nickc@redhat.com>
7579
7580 * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
7581 * config/rx/rx.c (CC_FLAG_FP): Fix comment.
7582 (rx_is_legitimate_address): Add pre-decrement and post-increment
7583 addressing in HImode and QImode. Fix test for out of range
7584 REG+INT addressing.
87e91fca 7585 (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
34203483 7586 (rx_align_for_label): Test label before extracting its usage count.
5f2f13fd 7587 (rx_adjust_insn_lengths): Fix selection of insn codes.
87e91fca 7588 (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
5f2f13fd 7589
57421f45
JM
75902011-05-11 Jason Merrill <jason@redhat.com>
7591
7592 * tree.c (type_hash_canon): Use struct tree_type_non_common.
7593
898c90c0
EB
75942011-05-11 Eric Botcazou <ebotcazou@adacore.com>
7595
7596 * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
7597 reindent the subsequent block.
7598
79bec923
ST
75992011-05-11 Satoru Takabayashi <satorux@google.com>
7600 Paul Pluzhnikov <ppluzhnikov@google.com>
7601
34203483 7602 * doc/install.texi (Configuration): Document --with-linker-hash-style.
e77e2cbb
PP
7603 * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
7604 * config.in: Add LINKER_HASH_STYLE.
7605 * configure.ac: Add --with-linker-hash-style.
7606 * configure: Regenerate.
79bec923 7607
d0340959
RG
76082011-05-11 Richard Guenther <rguenther@suse.de>
7609
7610 PR middle-end/48964
7611 * gimple.c (iterative_hash_canonical_type): Fix typo.
7612
cb032fee
UB
76132011-05-11 Uros Bizjak <ubizjak@gmail.com>
7614
7615 * config/i386/i386.c (legitimize_tls_address)
479fecd3 7616 <case TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
7617 expanders directly for TARGET_GNU2_TLS. Determine pic and
7618 __tls_get_addr symbol reference here. Update call to
7619 gen_tls_global_dynamic_{32,64} for added arguments.
479fecd3 7620 <case TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
7621 expanders directly for TARGET_GNU2_TLS. Determine
7622 __tls_get_addr symbol reference here. Update call to
7623 gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
7624 unique UNSPEC REG_EQUIV to libcall block.
7625 (ix86_tls_get_addr): Declare static.
7626 * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
7627 * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
7628 Do not determine pic and __tls_get_addr symbol reference here. Do not
7629 call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
7630 (tls_local_dynamic_base_32): Ditto for operands 1 and 2.
7631 (tls_global_dynamic_64): Add operand 2. Do not determine
7632 __tls_get_addr symbol reference here. Do not call
7633 gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
7634 (tls_local_dynamic_base64): Ditto for operand 1.
7635
6d3cc8f0
EB
76362011-05-11 Eric Botcazou <ebotcazou@adacore.com>
7637
7638 * function.c (expand_function_start): Initialize stack_check_probe_note
7639 only if the generic stack checking mechanism is used.
7640
51e020fc
RG
76412011-05-11 Richard Guenther <rguenther@suse.de>
7642
7643 PR tree-optimization/15256
7644 * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
7645 (A & B) | C, combine (A op CST1) op CST2.
7646 (tree_ssa_forward_propagate_single_use_vars): Only bother to
7647 visit assigns that have uses.
7648
51545682
NF
76492011-05-11 Nathan Froyd <froydnj@codesourcery.com>
7650
cb032fee 7651 * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common.
51545682
NF
7652 * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
7653 (unpack_ts_type_common_value_fields): ...this. Update comment.
7654 (unpack_value_fields): Adjust for renaming.
7655 (lto_input_ts_type_tree_pointers): Split into...
7656 (lto_input_ts_type_common_tree_pointer): ...this and...
7657 (lto_input_ts_type_non_common_tree_pointers): ...this.
7658 (lto_input_tree_pointers): Adjust for above split.
7659 * lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
7660 (pack_ts_type_common_value_fields): ...this. Update comment.
7661 (lto_output_ts_type_tree_pointers): Split into...
7662 (lto_output_ts_type_common_tree_pointers): ...this and...
7663 (lto_output_ts_type_non_common_tree_pointers): ...this.
7664 (lto_output_tree_pointers): Adjust for above split.
7665 * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
7666 TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
7667 * stor-layout.c (vector_type_mode): Adjust location of mode field.
7668 * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
7669 Define.
7670 (struct tree_type): Split into...
7671 (struct tree_type_common: ...this and...
7672 (struct tree_type_with_lang_specific): ...this and...
7673 (struct tree_type_non_common): ...this. Adjust accessor macros
7674 accordingly.
7675 (TYPE_VALUES_RAW): Define.
7676 (union tree_node): Update for above changes.
7677 * tree.c (tree_node_structure_for_code) [tcc_type]: Return
7678 TS_TYPE_NON_COMMON.
7679 (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
7680 Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
7681 (tree_code_size) [tcc_type]: Use struct tree_type_non_common.
7682 * treestructu.def (TS_TYPE): Remove.
7683 (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
7684 Define.
7685
b03c3082
JJ
76862011-05-11 Jakub Jelinek <jakub@redhat.com>
7687
7688 PR debug/48159
7689 * tree-ssa.c (reset_debug_uses): New function.
7690 * tree-flow.h (reset_debug_uses): New prototype.
7691 * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
7692 * tree-loop-distribution.c (generate_loops_for_partition): Call
7693 reset_debug_uses on the stmts that will be removed. Keep around
7694 all debug stmts, don't count them as bits in partition bitmap.
7695 (generate_builtin): Don't count debug stmts or labels as bits in
7696 partition bitmap.
7697
b5e04de5
RG
76982011-05-11 Richard Guenther <rguenther@suse.de>
7699
7700 * gimple.c (gimple_type_hash_1): Merge with ...
7701 (gimple_type_hash): ... this.
7702 (gtc_visit): Remove mode parameter and simplify accordingly.
7703 (gimple_types_compatible_p_1): Likewise.
7704 (gimple_types_compatible_p): Likewise.
7705 (iterative_hash_gimple_type): Likewise.
7706 (visit): Likewise.
7707 (gimple_type_eq): Adjust.
7708
fc6970e4
RE
77092011-05-11 Revital Eres <revital.eres@linaro.org>
7710
7711 * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
7712 enters the branch create an anti edge in the opposite direction
7713 to prevent the creation of reg-moves.
7714 * modulo-sched.c: Adjust comment to reflect the fact we are
7715 scheduling closing branch.
7716 (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
7717 (stage_count): New field in struct partial_schedule.
7718 (calculate_stage_count): New function.
7719 (normalize_sched_times): Rename to reset_sched_times and handle
7720 incrementing the sched time of the nodes by a constant value
7721 passed as parameter.
7722 (duplicate_insns_of_cycles): Skip closing branch.
7723 (sms_schedule_by_order): Schedule closing branch.
7724 (ps_insn_find_column): Handle closing branch.
7725 (sms_schedule): Call reset_sched_times and adjust the code to
7726 support scheduling of the closing branch.
7727 (ps_insert_empty_row): Update calls to normalize_sched_times
7728 and rotate_partial_schedule functions.
7729
41a58a92
RG
77302011-05-11 Richard Guenther <rguenther@suse.de>
7731
7732 PR middle-end/48953
7733 * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
7734
e9f8dcf9
JM
77352011-05-11 Joseph Myers <joseph@codesourcery.com>
7736
cb032fee
UB
7737 * opts.c (finish_options): Move warning settings from process_options.
7738 * toplev.c (process_options): Move warning settings to finish_options.
e9f8dcf9 7739
10c224a9
RG
77402011-05-11 Richard Guenther <rguenther@suse.de>
7741
7742 PR tree-optimization/18041
7743 * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
7744 (simplify_bitwise_binary): ... this. Handle operand conversions
7745 by applying them to the result instead.
7746 (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
7747
825b27de
RG
77482011-05-11 Richard Guenther <rguenther@suse.de>
7749
7750 * gimple.c (gimple_canonical_types_compatible_p): Split out
7751 from gimple_types_compatible_p and friends. Do not recurse
7752 to pointed-to types.
7753 (gimple_canonical_type_eq): Use it.
7754 (iterative_hash_canonical_type): Split out from
7755 iterative_hash_gimple_type and friends. Do not recurse
7756 to pointed-to types.
7757 (gimple_canonical_type_hash): Use it, allocate the hash here.
7758
ca756625
RE
77592011-05-11 Revital Eres <revital.eres@linaro.org>
7760
7761 * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
7762 recognizing doloop.
7763
b8abece3
RE
77642011-05-11 Revital Eres <revital.eres@linaro.org>
7765
7766 * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
7767 instead of PREV_INSN.
7768
ce7b3761
RE
77692011-05-11 Revital Eres <revital.eres@linaro.org>
7770
7771 * modulo-sched.c (sms_schedule): Support new form of doloop pattern
7772 * loop-doloop.c (doloop_condition_get): Likewise.
7773 * config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
7774 (doloop_end): New.
7775 * config/arm/arm.md (*addsi3_compare0): Remove "*".
7776
a9dc9d37
NF
77772011-05-10 Nathan Froyd <froydnj@codesourcery.com>
7778
7779 * tree.def (CASE_LABEL_EXPR): Add an operand.
7780 * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
7781
96703596
JM
77822011-05-10 Joseph Myers <joseph@codesourcery.com>
7783
7784 * c-decl.c (c_override_global_bindings_to_false): Remove.
7785 (global_bindings_p): Don't check
7786 c_override_global_bindings_to_false.
7787 * c-tree.h (c_override_global_bindings_to_false): Remove.
7788 * c-typeck.c (composite_type): Don't set
7789 c_override_global_bindings_to_false.
7790
dbcc9f08
MM
77912011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
7792
7793 PR target/48857, 48495
7794 * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
7795 (VSX_MODE): Ditto.
7796 (VSX_MOVE_MODE): Ditto.
7797 (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
7798 VSX vector types. Add V2DImode.
7799 (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
7800 ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
7801 (MODES_TIEABLE_P): Ditto.
7802
7803 * config/rs6000/rs6000.c (rs6000_emit_move): Use
7804 ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
7805 VSX_VECTOR_MODE.
7806 (init_cumulative_args): Ditto.
7807 (rs6000_function_arg_boundary): Ditto.
7808 (rs6000_function_arg_advance_1): Ditto.
7809 (rs6000_function_arg): Ditto.
7810 (rs6000_function_ok_for_sibcall): Ditto.
7811 (emit_frame_save): Ditto.
7812 (rs6000_function_value): Ditto.
7813 (rs6000_libcall_value): Ditto.
7814
4a68b4ca
JM
78152011-05-10 Joseph Myers <joseph@codesourcery.com>
7816
7817 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
7818 i386/darwin-lib.h to $libgcc_tm_file.
7819 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
7820
bcb521e9
JM
78212011-05-10 Joseph Myers <joseph@codesourcery.com>
7822
7823 * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
7824
f10d3ac9
JM
78252011-05-10 Joseph Myers <joseph@codesourcery.com>
7826
cb032fee 7827 * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files.
f10d3ac9
JM
7828 * config/rs6000/rs6000-tables.opt: New file (generated).
7829 * config.gcc (powerpc*-*-*, rs6000*-*-*): Add
7830 rs6000/rs6000-tables.opt to extra_options.
7831 * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
7832 * config/rs6000/rs6000.c (rs6000_select): Remove.
7833 (processor_target_table): Move contents to rs6000-cpus.def.
7834 (darwin_rs6000_override_options): Check
7835 global_options_set.x_rs6000_cpu_index instead of
7836 rs6000_select[1].string.
7837 (rs6000_option_override_internal): Likewise.
7838 (rs6000_handle_option): Don't assert that global structures are in
7839 use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
7840 (rs6000_default_cpu): New variable.
7841 (rs6000_file_start): Set it instead of local default_cpu. Check
7842 rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
7843 global_options_set.x_rs6000_tune_index instead of rs6000_select.
7844 (rs6000_darwin_file_start): Check rs6000_default_cpu and
7845 global_options_set.x_rs6000_cpu_index instead of rs6000_select.
7846 * config/rs6000/rs6000.h (struct rs6000_cpu_select,
7847 rs6000_select): Remove.
7848 * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
7849 Remove.
7850 (mcpu=, mtune=): Use Var, Init, Enum and Save.
7851 * config/rs6000/t-rs6000
7852 ($(srcdir)/config/rs6000/rs6000-tables.opt): New.
7853 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
7854 global_options_set.x_rs6000_cpu_index instead of
7855 rs6000_select[1].string.
7856 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
7857 global_options_set.x_rs6000_cpu_index instead of
7858 rs6000_select[1].string.
7859
80cf2e08
JM
78602011-05-10 Joseph Myers <joseph@codesourcery.com>
7861
7862 * config.gcc (libgcc_tm_file): Define instead of including files
7863 from ../../libgcc/config/ in tm_file.
cb032fee 7864 * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define.
80cf2e08
JM
7865 * configure: Regenerate.
7866 * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
7867 libgcc_tm.h, cs-libgcc_tm.h): New.
7868 (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
7869 (clean): Remove libgcc_tm.h.
7870 * config/arm/symbian.h (RENAME_LIBRARY): Remove.
7871 * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
7872 * system.h (DECLARE_LIBRARY_RENAMES): Poison.
7873
fd01a351
GJL
78742011-05-10 Georg-Johann Lay <avr@gjlay.de>
7875
7876 PR target/48896
7877 * config/avr/avr.c (avr_ret_register): Return unsigned int
7878 instead of int.
7879 (avr_function_value): Mark fn_decl_or_type as unused, don't pass
7880 it to avr_libcall_value.
7881 avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
7882 expand_expr.
7883 (avr_expand_binop_builtin): Ditto.
7884 (avr_expand_unop_builtin): Ditto.
7885
34cc3c86
DD
78862011-05-10 DJ Delorie <dj@redhat.com>
7887
7888 * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
7889 (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
7890 * config/rx/rx.c (rx_align_for_label): Add label and
7891 uses_threshold parameters. Do not align when the label is not
7892 used enough.
7893 * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
7894
be173289
RG
78952011-05-10 Richard Guenther <rguenther@suse.de>
7896
7897 * tree-ssa-forwprop.c (combine_conversions): Pattern-match
7898 a series of conversions and apply foldings similar to what
7899 fold-const does.
7900 (tree_ssa_forward_propagate_single_use_vars): Call it.
7901
e7f78021
JJ
79022011-05-10 Jakub Jelinek <jakub@redhat.com>
7903
6ae70ea2
JJ
7904 PR tree-optimization/48611
7905 PR tree-optimization/48794
7906 * tree-eh.c (remove_unreachable_handlers): Don't remove regions
7907 referenced from RESX or EH_DISPATCH arguments.
7908
e7f78021
JJ
7909 PR debug/48928
7910 * dfp.c (decimal_to_decnumber): Handle conversion from
7911 dconst{1,2,m1,half}.
7912
fca132b9
UB
79132011-05-09 Uros Bizjak <ubizjak@gmail.com>
7914
7915 * config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
7916 for !flag_prefer_avx128.
7917 (ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
7918
e4c03378
EB
79192011-05-09 Eric Botcazou <ebotcazou@adacore.com>
7920
7921 * fold-const.c (fold_range_test): Pass LOC to build_range_check.
7922 (fold_ternary_loc): Use expr_location_or.
7923
805d6a75
L
79242011-05-09 H.J. Lu <hongjiu.lu@intel.com>
7925
7926 PR debug/48853
7927 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
7928 POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
7929 Pmode and mem_mode is not VOIDmode.
7930
e4c03378 79312011-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
b5da71d4 7932
e4c03378
EB
7933 * tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST, TYPE_QUAL_VOLATILE,
7934 TYPE_QUAL_RESTRICT): Convert to enum.
b5da71d4 7935
51e7f377
UB
79362011-05-09 Uros Bizjak <ubizjak@gmail.com>
7937
7938 * config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
7939 (const_pow2_1_to_8_operand): Ditto.
7940 (const_pow2_1_to_128_operand): Ditto.
7941 (const_pow2_1_to_32768_operand): Ditto.
7942 * config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
7943 const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
7944 in insn constraint to check integer value of operand 3.
7945 * config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
7946
7947 (PINSR_MODE): New mode iterator.
7948 (sse2p4_1): New mode attribute.
7949 (<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
7950 sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
7951 iterator. Use const_int_operand instead of
7952 const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
7953 exact_log2 in insn constraint to check integer value of operand 3.
7954
79552011-05-09 Uros Bizjak <ubizjak@gmail.com>
7956
7957 * config/i386/sse.md (blendbits): Remove mode attribute.
7958 (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
7959 instead of const_0_to_<blendbits>_operand for operand 3 predicate.
7960 Check integer value of operand 3 in insn constraint.
7961
0ca8de87
RG
79622011-05-09 Richard Guenther <rguenther@suse.de>
7963
7964 * lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
7965 for diagnostics.
7966 (lto_symtab_merge): Likewise. Do not register types here.
7967 (lto_symtab_merge_decls_2): Likewise.
7968 (lto_symtab_merge_decls_1): Likewise.
7969 * gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
7970 * gimple.c (enum gtc_mode): Declare.
7971 (gimple_types_compatible_p): Make static.
7972
a9e6994a
AK
79732011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7974
7975 * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
7976 temporary register to match Pmode.
7977
fb55d62e
UB
79782011-05-09 Uros Bizjak <ubizjak@gmail.com>
7979
7980 * config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
7981 and *vec_concatv4si_1_avx.
7982
eb1485a6
UB
79832011-05-09 Uros Bizjak <ubizjak@gmail.com>
7984
7985 PR rtl-optimization/48927
7986 * ira-conflicts.c (commutative_constraint_p): Use
7987 recog_data.alternative_enabled_p to disable alternatives where
7988 "enabled" attribute is false.
7989 (get_dup_num): Ditto.
7990 * ira-lives.c (single_reg_class): Ditto.
7991 (ira_implicitly_set_insn_hard_regs): Ditto.
7992
c46d001a
EB
79932011-05-09 Eric Botcazou <ebotcazou@adacore.com>
7994
7995 * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
7996 (dataflow_set_preserve_mem_locs): Likewise.
7997
79982011-05-09 Philipp Thomas <pth@suse.de>
7999
6d9e7c41
PT
8000 * config/mep/mep.c (mep_validate_vliw): Syntax description
8001 should not be translated.
8002
d371df6f
JM
80032011-05-09 Joseph Myers <joseph@codesourcery.com>
8004
8005 * config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
8006 * config/mips/mips-tables.opt: New file (generated).
eb1485a6 8007 * config.gcc (mips*-*-*): Add mips/mips-tables.opt to extra_options.
d371df6f
JM
8008 * config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
8009 MIPS_ARCH_OPTION_NATIVE): Define.
8010 * config/mips/mips.c (mips_cpu_info_table): Move contents to
8011 mips-cpus.def.
8012 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
8013 mips_parse_cpu): Remove.
8014 (mips_cpu_info_from_opt, mips_default_arch): New.
8015 (mips_handle_option): Don't assert that global structures are in
8016 use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
8017 (mips_option_override): Use new variables and functions to set
eb1485a6 8018 state of these options. Use strcmp to check for individual CPU names.
d371df6f
JM
8019 * config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
8020 definition.
8021 * config/mips/mips.opt (march=): Use ToLower and Enum.
8022 (mips): Use ToLower, Enum and Var.
8023 (mtune=): Use ToLower and Enum.
8024 * config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
8025
4fc07af9
JH
80262011-05-08 Jan Hubicka <jh@suse.cz>
8027
8028 * gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
8029 Arrange type pairs to be UID ordered.
8030 (gimple_lookup_type_leader): Make inline.
8031
2cf320a8
NC
80322011-05-09 Nick Clifton <nickc@redhat.com>
8033
61d6def5
NC
8034 PR target/48899
8035 * config/iq2000/iq2000.opt (iq2000_tune): Initialise to
8036 PROCESSOR_DEFAULT.
8037
2cf320a8
NC
8038 PR target/48897
8039 * config/mn10300/mn10300.c (extract_bundle): Remove spurious local
8040 variable 's'.
8041
4f82319d
CLT
80422011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
8043
8044 * combine.c (simplify_comparison): Abstract out parts into...
8045 (simplify_compare_const): ... new function.
8046 (try_combine): Generalize parallel arithmetic/compare combining
8047 to call simplify_compare_const() and CANONICALIZE_COMPARE().
8048
74605a11
JH
80492011-05-08 Jan Hubicka <jh@suse.cz>
8050
8051 * cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
eb1485a6
UB
8052 (cgraph_create_virtual_clone): Call hooks once virtual clone
8053 is finished.
74605a11 8054 * cgraph.h (cgraph_clone_node): Update prototype.
eb1485a6
UB
8055 * ipa-cp.c (ipcp_estimate_growth): Use
8056 estimate_ipcp_clone_size_and_time.
74605a11
JH
8057 * ipa-inline-transform.c (clone_inlined_nodes): Update.
8058 * lto-cgraph.c (input_node): Update.
8059 * ipa-inline.c (recursive_inlining): Update.
8060 * ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
8061 (evaluate_conditions_for_known_args): Break out from ...
8062 (evaluate_conditions_for_edge): ... here.
8063 (evaluate_conditions_for_ipcp_clone): New function.
8064 (inline_node_duplication_hook): Update clone summary based
8065 on parameter map.
8066 (estimate_callee_size_and_time): Rename to ...
8067 (estimate_node_size_and_time): take NODE instead of EDGE;
8068 take POSSIBLE_TRUTHS as argument.
8069 (estimate_callee_size_and_time): Update.
8070 (estimate_ipcp_clone_size_and_time): New function.
8071 (do_estimate_edge_time): Update.
8072
5c049507
RG
80732011-05-08 Richard Guenther <rguenther@suse.de>
8074
8075 PR middle-end/48908
8076 PR middle-end/48905
8077 * expmed.c (expand_shift_1): Compute adjusted constant shift
8078 amount manually.
8079
f64c36ba
EB
80802011-05-08 Eric Botcazou <ebotcazou@adacore.com>
8081
8082 * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
8083
c461a957
EB
80842011-05-08 Eric Botcazou <ebotcazou@adacore.com>
8085
8086 * config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
8087
7c74e556
JW
80882011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
8089
8090 * doc/invoke.texi (-fuse-linker-plugin): Improve grammar.
8091
b4c0a884
JH
80922011-05-07 Jan Hubicka <jh@suse.cz>
8093
a9bcb3f0
EB
8094 * ipa-inline-transform.c (inline_call): Account when program size
8095 decreases.
b4c0a884 8096 * ipa-inline.c (relative_time_benefit): New function.
a9bcb3f0
EB
8097 (edge_badness): Reorganize to be power 2 based; fix thinko when
8098 computing badness for negative growth; update comments to match
8099 reality; better dumps.
b4c0a884 8100
c99c0026
EB
81012011-05-07 Eric Botcazou <ebotcazou@adacore.com>
8102
8103 * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
8104 type to bool and adjust comment.
8105 * fold-const.c (fold_range_test): Adjust call to global_bindings_p.
8106 (fold_mathfn_compare): Remove calls to global_bindings_p.
8107 (fold_inf_compare): Likewise.
8108 * stor-layout.c (variable_size): Adjust call to global_bindings_p.
8109 * c-tree.h (global_bindings_p): Adjust prototype.
8110 * c-decl.c (global_bindings_p): Return bool and simplify.
8111
1400c8e5
ZD
81122011-05-07 Zdenek Dvorak <ook@ucw.cz>
8113
8114 PR tree-optimization/48837
8115 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
8116 when accumulator transformation is performed.
8117
5d0878e7
JH
81182011-05-06 Jan Hubicka <jh@suse.cz>
8119
a9bcb3f0
EB
8120 * i386.h (ix86_tune_indices): Add
8121 X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
eb1485a6 8122 (TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macro.
a9bcb3f0
EB
8123 * i386.c (initial_ix86_tune_features): Add
8124 X86_SOFTARE_PREFETCHING_BENEFICIAL.
5d0878e7
JH
8125 (software_prefetching_beneficial_p): Remove predicate.
8126 (ix86_option_override_internal): Use new macro.
8127
58696ce5
JH
81282011-05-06 Jan Hubicka <jh@suse.cz>
8129
8130 * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
8131
c47d0034
JH
81322011-05-06 Jan Hubicka <jh@suse.cz>
8133
8134 * cgraph.c (cgraph_add_thunk): Create real function node instead
8135 of alias node; finalize it and mark needed/reachale; arrange visibility
8136 to be right and add it into the corresponding same comdat group list.
8137 (dump_cgraph_node): Dump thunks.
8138 * cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
a9bcb3f0
EB
8139 cgraph_function_with_gimple_body_p,
8140 cgraph_first_function_with_gimple_body,
c47d0034
JH
8141 cgraph_next_function_with_gimple_body): New functions.
8142 (FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
8143 New macros.
8144 * ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
8145 (ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
8146 * cgraphunit.c (cgraph_finalize_function): Only look into possible
8147 devirtualization when optimizing.
8148 (verify_cgraph_node): Verify thunks.
8149 (cgraph_analyze_function): Analyze thunks.
8150 (cgraph_mark_functions_to_output): Output thunks only in combination
8151 with function they are assigned to.
8152 (assemble_thunk): Turn thunk into non-thunk; don't try to turn
8153 alias into normal node.
8154 (assemble_thunks): New functoin.
8155 (cgraph_expand_function): Use it.
8156 * lto-cgraph.c (lto_output_node): Stream thunks.
8157 (input_overwrite_node): Stream in thunks.
8158 * ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
8159 * lto-streamer-out.c (lto_output): Do not try to output thunk's body.
8160 * ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
8161 * ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
8162 (inline_analyze_function): Do not care about thunk jump functions.
8163 (inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
a9bcb3f0
EB
8164 * ipa-prop.c (ipa_prop_write_jump_functions): Use
8165 cgraph_function_with_gimple_body_p.
8166 * passes.c (do_per_function_toporder): Use
8167 cgraph_function_with_gimple_body_p.
c47d0034
JH
8168 (execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
8169 (ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
8170 (function_called_by_processed_nodes_p): Likewise.
8171
d8f426ec
JM
81722011-05-06 Joseph Myers <joseph@codesourcery.com>
8173
8174 * config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
8175 rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
8176 entries.
8177 (mabi=): Replace with separate entries for mabi=altivec,
8178 mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
8179 mabi=ieeelongdouble and mabi=ibmlongdouble.
8180 * config/rs6000/rs6000.c (rs6000_option_override_internal): Move
8181 check for -mabi=spe without SPE ABI support here.
8182 (rs6000_handle_option): Replace OPT_mabi_ handling with
8183 OPT_mabi_altivec and OPT_mabi_spe handling.
8184
80bde45b
CC
81852011-05-06 Cary Coutant <ccoutant@google.com>
8186
8187 * dwarf2out.c (contains_subprogram_definition): New function.
8188 (should_move_die_to_comdat): Call it.
8189
a91926b9
JL
81902011-05-06 Jeff Law <law@redhat.com>
8191
8192 * tree-ssa-threadupdate.c (create_block_for_threading): Do not call
8193 remove_ctrl_stmt_and_useless_edges.
8194 (create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
8195 (fixup_template_block, thread_single_edge): Likewise.
8196 (mark_threaded_blocks): Use THREAD_TARGET.
8197
1fc1b66d
AM
81982011-05-06 Alan Modra <amodra@gmail.com>
8199
8200 PR target/48900
8201 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
8202 const0_rtx as the arg to the dummy __tls_get_addr libcall.
8203
e194de64
UB
82042011-05-06 Uros Bizjak <ubizjak@gmail.com>
8205
8206 * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
8207 constraint modifier to "r".
8208
d740dc9e
JM
82092011-05-06 Joseph Myers <joseph@codesourcery.com>
8210
8211 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
8212 fall through for OPT_mcmodel_.
8213
cab78b15
AK
82142011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8215
8216 * config/s390/s390.c (s390_asm_trampoline_template): Comment
8217 instruction sizes.
e194de64 8218 (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
cab78b15 8219
ee6824ae
RR
82202011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
8221
eb1485a6
UB
8222 PR target/47930
8223 * config/arm/arm.opt (marm): Document it.
8224 (mthumb): Reject negative variant.
ee6824ae 8225
9ef58464
UB
82262011-05-06 Uros Bizjak <ubizjak@gmail.com>
8227
8228 PR target/48898
8229 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
8230 Fix typo in "ccvt" variable name.
8231
155b6176
TG
82322011-05-06 Tristan Gingold <gingold@adacore.com>
8233
8234 PR target/48895
8235 * config/vms/vms-ar.c (main): Remove cwd variable.
8236
3becc47b
JJ
82372011-05-06 Jakub Jelinek <jakub@redhat.com>
8238
8239 PR debug/48902
8240 * var-tracking.c (prepare_call_arguments): Move else before #endif.
8241
3d528853
NF
82422011-05-05 Nathan Froyd <froydnj@codesourcery.com>
8243
8244 * except.c (sjlj_emit_dispatch_table): Call build_case_label.
8245 * gimplify.c (gimplify_switch_expr): Likewise.
8246 * omp-low.c (expand_omp_sections): Likewise.
8247 * tree-eh.c (lower_try_finally_switch): Likewise.
8248 (lower_eh_dispatch): Likewise.
8249 * tree.h (build_case_label): Declare.
8250 * tree.c (build_case_label): Define.
8251
deb5046b
JM
82522011-05-05 Jason Merrill <jason@redhat.com>
8253
8254 PR c++/40975
8255 * tree-inline.c (copy_tree_r): Use copy_statement_list.
8256 (copy_statement_list): Don't recurse.
8257 * stor-layout.c (copy_self_referential_tree_r): Don't allow
8258 STATEMENT_LIST.
8259
013c0411
JM
82602011-05-05 Joseph Myers <joseph@codesourcery.com>
8261
8262 * config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
8263 through from -mfpu= handling.
8264 * config/rs6000/rs6000.opt (mfpu=): Use Var and Init.
8265
a0905f8b
BS
82662011-05-05 Bernd Schmidt <bernds@codesourcery.com>
8267
8268 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
8269 POST_MODIFY.
8270
fc4538e4
SE
82712011-05-05 Steve Ellcey <sje@cup.hp.com>
8272
8273 * config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
8274 for 11.31.
8275 (hppa[12]*-*-hpux11*): Ditto.
8276 (ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
8277 * config/ia64/hpux-unix2003.h: New.
8278 * config/pa/pa-hpux1131.opt: New.
8279 * config/pa/pa-hpux1131.h: New.
8280 * config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
8281 * config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
4eec64ff 8282 * config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.
fc4538e4 8283
1e30c578
JJ
82842011-05-05 Jakub Jelinek <jakub@redhat.com>
8285
8286 PR debug/48853
8287 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
8288 instead of mode as 3rd argument to recursive call.
8289 (mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
8290 emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
8291 VOIDmode.
8292 (mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
8293 don't give up if mode is Pmode and mem_mode is not VOIDmode.
8294 (mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
8295 use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.
8296
d19eb620
JB
82972011-05-05 Julian Brown <julian@codesourcery.com>
8298
8299 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
8300 parenthesis in D-register case.
8301
c860fe8c
JM
83022011-05-05 Joseph Myers <joseph@codesourcery.com>
8303
8304 * opt-functions.awk (var_type_struct): Handle Enum options.
8305 * optc-gen.awk: Don't check range of variables of character type.
8306 * config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
8307 rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
8308 rs6000_sdata_name, rs6000_explicit_options): Remove.
8309 (rs6000_option_override_internal): Check for -malign-power here.
8310 Use global_options_set instead of rs6000_explicit_options.
8311 (rs6000_parse_fpu_option): Remove.
8312 (rs6000_handle_option): Access variables via opts and opts_set
8313 pointers. Use error_at and warning_at. Add fall-through
8314 comments. Don't handle OPT_mcmodel_, OPT_maix_struct_return,
8315 OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
8316 OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
8317 OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
8318 here. Don't use rs6000_parse_fpu_option.
8319 * config/rs6000/rs6000.h (fpu_type): Remove declaration.
8320 * config/rs6000/rs6000.opt (rs6000_long_double_type_size,
8321 rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
8322 (mrecip=): Use Var.
8323 (mspe): Use Var and Save.
8324 (mtraceback=): Use Enum and Var.
8325 (rs6000_traceback_type): New Enum and EnumValue entries.
8326 (mfloat-gprs=): Use Enum, Var and Save.
8327 (rs6000_float_gprs): New Enum and EnumValue entries.
8328 (mlong-double-): use Var and Save.
8329 (msched-costly-dep=, minsert-sched-nops=): Use Var.
8330 (malign-): Use Enum and Var.
8331 (rs6000_alignment_flags): New Enum and EnumValue entries.
8332 (mfpu=): Use Enum.
8333 (fpu_type_t): New Enum and EnumValue entries.
8334 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
8335 global_options_set instead of rs6000_explicit_options.
8336 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
8337 global_options_set instead of rs6000_explicit_options.
8338 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
8339 global_options_set instead of rs6000_explicit_options.
8340 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
8341 global_options_set instead of rs6000_explicit_options.
8342 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
8343 global_options_set instead of rs6000_explicit_options.
8344 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
8345 global_options_set instead of rs6000_explicit_options.
8346 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
8347 definition.
8348 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
8349 global_options_set instead of rs6000_explicit_options.
8350 * config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
8351 (rs6000_cmodel): New Enum and EnumValue entries.
8352 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
8353 global_options_set instead of rs6000_explicit_options.
8354 * config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
8355 (mtls-size=): Use Enum and Var.
8356 (rs6000_tls_size): New Enum and EnumValue entries.
8357
0691dde9
MM
83582011-05-05 Michael Matz <matz@suse.de>
8359
8360 * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
8361 * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
8362 * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
8363 * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
8364 * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
8365 * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
8366 * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
8367 * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
8368 * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
8369 * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
8370 * config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
8371 * config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
8372 * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
8373 * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
8374 * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
8375 * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
8376
86529a49
RG
83772011-05-05 Richard Guenther <rguenther@suse.de>
8378
8379 * expmed.c (expand_variable_shift): Rename to ...
8380 (expand_shift_1): ... this. Take an expanded shift amount.
8381 For rotates recurse directly not building trees for the shift amount.
8382 (expand_variable_shift): Wrap around expand_shift_1.
8383 (expand_shift): Adjust.
8384
d0228c2e
JJ
83852011-05-05 Jakub Jelinek <jakub@redhat.com>
8386
8387 * gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
8388
907a08d9
EB
83892011-05-05 Eric Botcazou <ebotcazou@adacore.com>
8390
8391 * tree.h (get_pending_sizes): Remove prototype.
8392 (put_pending_size): Likewise.
8393 (put_pending_sizes): Likewise.
8394 * stor-layout.c (pending_sizes): Delete.
8395 (get_pending_sizes): Likewise.
8396 (put_pending_size): Likewise.
8397 (put_pending_sizes): Likewise.
8398 (variable_size): Do not call put_pending_size and tidy up.
8399 * function.h (struct function): Remove dont_save_pending_sizes_p.
8400 * lto-streamer-in.c (input_function): Do not stream it.
8401 * lto-streamer-out.c (output_function): Likewise.
8402 * tree-inline.c (initialize_cfun): Do not copy it.
8403 * c-decl.c (store_parm_decls): Do not set it.
8404 * omp-low.c (create_task_copyfn): Likewise.
8405 * tree-optimize.c (tree_rest_of_compilation): Likewise.
8406
386d9c57
UB
84072011-05-05 Uros Bizjak <ubizjak@gmail.com>
8408
8409 * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
8410 conditions.
8411 (*movdf_internal): Ditto.
8412 (*movdf_internal_nointeger): Ditto.
8413 (*movsf_internal): Ditto.
8414
a04a722b
JM
84152011-05-05 Joseph Myers <joseph@codesourcery.com>
8416
8417 * c-decl.c (finish_decl): Don't call get_pending_sizes.
8418 (grokparm): Add parameter expr. Pass it to grokdeclarator.
8419 (push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
8420 (c_variable_size): Remove.
8421 (grokdeclarator): Use save_expr instead of c_variable_size. Don't
8422 call put_pending_sizes.
8423 (get_parm_info): Add parameter expr. Use it to set
8424 arg_info->pending_sizes.
8425 (store_parm_decls): Use arg_info->pending_sizes instead or calling
8426 get_pending_sizes.
8427 * c-parser.c (c_parser_parms_declarator): Update call to
8428 c_parser_parms_list_declarator.
8429 (c_parser_parms_list_declarator): Take parameter expr. Update
8430 call to push_parm_decl. Update recursive call. Don't call
8431 get_pending_sizes. Update calls to get_parm_info.
8432 (c_parser_objc_method_definition): Update calls to
8433 c_parser_objc_method_decl and objc_start_method_definition.
386d9c57 8434 (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl.
a04a722b
JM
8435 (c_parser_objc_method_decl): Add parameter expr. Update call to
8436 grokparm.
386d9c57 8437 (c_parser_objc_try_catch_finally_statement): Update call to grokparm.
a04a722b
JM
8438 * c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
8439 (get_parm_info, grokparm, push_parm_decl): Update prototypes.
8440
c92a6f97
MH
84412011-05-05 Michael Hope <michael.hope@linaro.org>
8442
386d9c57
UB
8443 PR pch/45979
8444 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
8445 __ARM_EABI__ hosts.
c92a6f97 8446
07ea0048
UW
84472011-05-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8448
8449 * config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
8450 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
8451 (spu_output_mi_thunk): New function.
8452
d634bfa1
RO
84532011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8454
8455 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
8456 targetm.asm_out.print_operand.
8457 * config/sol2.c: Include target.h.
8458
40fda55b
JH
84592011-05-04 Jan Hubicka <jh@suse.cz>
8460
8461 * ipa-inline.c (reset_edge_caches): New function.
8462 (update_caller_keys): Add check_inlinablity_for; do not
8463 reset edge caches; remove now unnecesary loop.
386d9c57 8464 (update_callee_keys): Add comments; reset node_growth_cache of callee.
40fda55b
JH
8465 (update_all_callee_keys): Likewise.
8466 (inline_small_functions): Sanity check cache; update code
8467 recomputing it.
8468
0360f70d
BS
84692011-05-04 Bernd Schmidt <bernds@codesourcery.com>
8470
8471 PR rtl-optimization/47612
8472 * df-problems.c (can_move_insns_across): Don't pick a cc0 setter
8473 as the last insn of the sequence to be moved.
8474
7a994646
TB
84752011-05-04 Tobias Burnus <burnus@net-b.de>
8476
8477 PR fortran/48864
8478 * doc/invoke.texi (Ofast): Document that it
8479 enables Fortran's -fno-protect-parens.
8480
7a2f7208
UB
84812011-05-04 Uros Bizjak <ubizjak@gmail.com>
8482
8483 * config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
8484
a2d42931
EB
84852011-05-04 Eric Botcazou <ebotcazou@adacore.com>
8486
8487 * stor-layout.c (variable_size): Do not issue errors.
8488
f81b1a3d
RG
84892011-05-04 Richard Guenther <rguenther@suse.de>
8490
8491 * coverage.c (tree_coverage_counter_ref): Use integer_type_node
8492 for array-ref indices.
8493 (tree_coverage_counter_addr): Likewise.
8494 (build_fn_info_type): Use size_int for index types.
8495 (build_gcov_info): Likewise.
8496
c62c040f
RG
84972011-05-04 Richard Guenther <rguenther@suse.de>
8498
8499 * c-decl.c (check_bitfield_type_and_width): Do not pass NULL
8500 to build_int_cst.
8501 * c-typeck.c (really_start_incremental_init): Use bitsize_int
8502 for constructor indices.
8503 (push_init_level): Likewise.
8504
1e3287d0
RG
85052011-05-04 Richard Guenther <rguenther@suse.de>
8506
8507 * explow.c (promote_mode): Move variable declarations before code.
8508
6c32445b
NF
85092011-05-04 Nathan Froyd <froydnj@codesourcery.com>
8510
8511 * tree.h (build_function_type_array): Declare.
8512 (build_varargs_function_type_array): Declare.
8513 (build_function_type_vec, build_varargs_function_type_vec): Define.
8514 * tree.c (build_function_type_array_1): New function.
8515 (build_function_type_array): New function.
8516 (build_varargs_function_type_array): New function.
8517
fdabf269
RS
85182011-05-04 Richard Sandiford <richard.sandiford@linaro.org>
8519
8520 * tree-vect-loop.c (vectorizable_reduction): Check reduction cost
8521 before setting STMT_VINFO_TYPE.
8522
a207915a
UW
85232011-05-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8524
8525 * config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
8526 instead of spu_pass_by_reference.
8527
5e617be8
AK
85282011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8529
8530 * calls.c (emit_library_call_value_1): Invoke
8531 promote_function_mode hook on libcall arguments.
8532 * explow.c (promote_function_mode, promote_mode): Handle TYPE
8533 argument being NULL.
8534 * targhooks.c (default_promote_function_mode): Lisewise.
8535 * config/s390/s390.c (s390_promote_function_mode): Likewise.
8536 * config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
8537
8538 * doc/tm.texi: Document that TYPE argument might be NULL.
8539
486d04be
SH
85402011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
8541
8542 * config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
8543
9b19b026
SH
85442011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
8545
8546 From Bernd Schmidt
8547 * config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
8548
502bc3df
RO
85492011-05-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8550
8551 * config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
8552 (MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
8553 Move ...
8554 * mips-tfile.c: ... here.
8555 Don't include coretypes.h, tm.h, filenames.h.
8556 (saber_stop): Remove definition and all calls.
8557 [__SABER__]: Remove.
8558 (__LINE__): Remove default.
8559 (Size_t, Ptrdiff_t): Remove definitions.
8560 Replace by size_t, ptrdiff_t.
8561 [!MIPS_DEBUGGING_INFO]: Remove.
8562 (SHASH_SIZE, THASH_SIZE): Remove defaults.
8563 (progname): Add const.
8564 (STATIC): Remove.
8565 Replace all uses by static.
8566 (ALIGN_SYMTABLE_OFFSET): Remove default.
8567 * mips-tdump.c: Don't include coretypes.h, tm.h.
8568 Remove !MIPS_IS_STAB guard.
8569 * Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
8570 $(TM_H), filenames.h dependencies.
8571 (mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
8572
991eb6ef
SH
85732011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
8574
8575 From Jie Zhang
8576 *config/bfin/bfin.c (bfin_extra_live_on_entry): New.
8577 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
8578
420ccc84
SH
85792011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
8580
8581 From Bernd Schmidt
8582 * config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
8583 account and save/restore RETS.
8584 (PROFILE_BEFORE_PROLOGUE): Define.
8585 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
8586 the push insn to use predecrement.
8587
9f8d69ee
SH
85882011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
8589
8590 From Jie Zhang
8591 * config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
8592
662c03f4
NC
85932011-05-04 Nick Clifton <nickc@redhat.com>
8594
8595 * config/mn10300/mn10300.c: Include cfgloop.h.
8596 (DUMP): New macro.
8597 (mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
8598 Lcc or a FLcc insn into the instruction stream.
8599 (mn10300_block_contains_call): New function. Returns true if the
8600 given basic block contains a CALL insn.
8601 (mn10300_loop_contains_call_insn): New function. Returns true if
8602 the given loop contains a CALL insn.
8603 (mn10300_scan_for_setlb_lcc): New function. Finds opportunities
8604 to use the SETLB and Lcc or FLcc insns.
8605 (mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
8606 (TARGET_FLAGS): Add MASK_ALLOW_SETLB.
8607 * config/mn10300/mn10300.opt (msetlb): New option. Used to
8608 disable the SETLB optimization.
8609 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
8610 __SETLB__ or __NO_SETLB__.
8611 * config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
8612 (movsf_internal): Handle MDR register.
8613 (cmpsi): Make visible.
8614 (setlb): New pattern.
8615 (Lcc): New pattern.
8616 (FLcc): New pattern.
8617
843b6915
UB
86182011-05-04 Uros Bizjak <ubizjak@gmail.com>
8619
8620 PR target/48860
8621 * config/i386/i386.md (*movdi_internal_rex64) Use %vmovd
8622 for reg<->xmm moves.
8623 * config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
8624 (vec_concatv2di_rex64_sse): Ditto.
8625 (*sse2_storeq_rex64): Do not emit %v prefix for mov{q} mnemonic.
8626 (*vec_extractv2di_1_rex64): Ditto.
8627
8628 Revert:
8629 2011-05-02 Uros Bizjak <ubizjak@gmail.com>
8630
8631 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
8632 reg<->xmm moves.
8633 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.
8634
d35936ab
RG
86352011-05-04 Richard Guenther <rguenther@suse.de>
8636
8637 * tree.h (int_const_binop): Remove notrunc argument.
8638 * fold-const.c (int_const_binop): Remove notrunc argument. Always
8639 create integer constants that are properly truncated.
8640 (extract_muldiv_1): Expand one notrunc int_const_binop caller.
8641 (const_binop): Remove zero notrunc argument to int_const_binop.
8642 (size_binop_loc): Likewise.
8643 (fold_div_compare): Likewise.
8644 (maybe_canonicalize_comparison_1): Likewise.
8645 (fold_comparison): Likewise.
8646 (fold_binary_loc): Likewise.
8647 (multiple_of_p): Likewise.
8648 * expr.c (store_constructor): Likewise.
8649 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
8650 (maybe_fold_stmt_addition): Likewise.
8651 * ipa-prop.c (ipa_modify_call_arguments): Likewise.
8652 * stor-layout.c (layout_type): Likewise.
8653 * tree-data-ref.c (tree_fold_divides_p): Likewise.
8654 * tree-sra.c (build_ref_for_offset): Likewise.
8655 (build_user_friendly_ref_for_offset): Likewise.
8656 * tree-ssa-address.c (maybe_fold_tmr): Likewise.
8657 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
8658 * tree-ssa-loop-niter.c (inverse): Likewise.
8659 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
8660 * tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
8661 * tree-switch-conversion.c (check_range): Likewise.
8662 (build_constructors): Likewise.
8663 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
8664 * tree-vrp.c (set_and_canonicalize_value_range): Likewise.
8665 (extract_range_from_assert): Likewise.
8666 (vrp_int_const_binop): Likewise.
8667 (extract_range_from_binary_expr): Likewise.
8668 (extract_range_from_unary_expr): Likewise.
8669 (check_array_ref): Likewise.
8670 (find_case_label_range): Likewise.
8671 (simplify_div_or_mod_using_ranges): Likewise.
8672 * tree-cfg.c (group_case_labels_stmt): Use double-ints for
8673 comparing case labels for merging.
8674
8992c063
MW
86752011-05-03 Mark Wielaard <mjw@redhat.com>
8676
8677 * dwarf2out.c (debug_str_hash_forced): Removed.
8678 (gen_label_for_indirect_string): Removed.
8679 (get_debug_string_label): Removed.
8680 (AT_string_form): Generate label directly.
8681 (output_indirect_string): Test indirect_string_node for
8682 DW_FORM_strp instead of checking label and refcount.
8683 (prune_indirect_string): Removed.
8684 (prune_unused_types): Don't check debug_str_hash_forced or
8685 call prune_indirect_string.
8686
4868e6ea
AO
86872011-05-04 Alexandre Oliva <aoliva@redhat.com>
8688
8689 PR other/48093
8690 * doc/invoke.texi: Document -mtls-dialect and GCC_COMPARE_DEBUG.
8691
01a5c0ab
AO
86922011-05-04 Alexandre Oliva <aoliva@redhat.com>
8693
8694 PR debug/47994
8695 PR debug/47919
8696 * combine.c (try_combine): Skip debug insns at m_split tests.
8697
6ac00218
MW
86982011-04-26 Mark Wielaard <mjw@redhat.com>
8699
8700 PR42288
8701 * dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
8702 when info_section_emitted.
8703
3af42a7b
JM
87042011-05-03 Joseph Myers <joseph@codesourcery.com>
8705
8706 * config/mips/mips-opts.h: New.
8707 * config/mips/mips.c (enum mips_r10k_cache_barrier_setting): Move
8708 to mips-opts.h.
8709 (mips_abi, mips_code_readable, mips_r10k_cache_barriee): Remove.
8710 (mips_handle_option): Don't handle OPT_mabi_, OPT_mcode_readable_
8711 or OPT_mr10k_cache_barrier_ here. Access mips_cache_flush_func
8712 via opts pointer.
8713 * config/mips/mips.h (enum mips_code_readable_setting): Move to
8714 mips-opts.h.
8715 (mips_abi, mips_code_readable): Don't declare.
843b6915 8716 * config/mips/mips.opt (config/mips/mips-opts.h): New HeaderInclude.
3af42a7b
JM
8717 (mabi=): Use Enum and Var.
8718 (mips_abi): New Enum and EnumValue entries.
8719 (mcode-readable=): Use Enum and Var.
8720 (mips_code_readable_setting): New Enum and EnumValue entries.
8721 (mr10k-cache-barrier=): Use Enum and Var.
8722 (mips_r10k_cache_barrier_setting): New Enum and EnumValue entries.
8723
1cb1a99f
JH
87242011-05-03 Jan Hubicka <jh@suse.cz>
8725
8726 * cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
8727 replace hash by pointer map.
8728 (cgraph_node_set_element_def, cgraph_node_set_element,
8729 const_cgraph_node_set_element, varpool_node_set_element_def,
8730 varpool_node_set_element, const_varpool_node_set_element): Remove.
8731 (free_cgraph_node_set, free_varpool_node_set): New function.
8732 (cgraph_node_set_size, varpool_node_set_size): Use vector size.
8733 * tree-emutls.c: Free varpool node set.
8734 * ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
8735 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
8736 debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
8737 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
8738 dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
8739 Move here from ipa.c; implement using pointer_map
8740 * ipa.c (cgraph_node_set_new, cgraph_node_set_add,
8741 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
8742 debug_cgraph_node_set, varpool_node_set_new,
8743 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
8744 dump_varpool_node_set, debug_varpool_node_set):
8745 Move to ipa-uitls.c.
8746 * passes.c (ipa_write_summaries): Update.
8747
7f31f4db
SH
87482011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
8749
7a2f7208
UB
8750 From Mike Frysinger:
8751 * config/bfin/bfin.c (bfin_cpus[]): Add 0.4 for
8752 bf542/bf544/bf547/bf548/bf549.
7f31f4db 8753
b70fce6d
UB
87542011-05-03 Uros Bizjak <ubizjak@gmail.com>
8755
8756 * expmed.c (extract_bit_field_1): Remove write-only variable "icode".
8757
265b1d82
SH
87582011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
8759
8760 From Bernd Schmidt:
8761 * config/bfin/bfin.md (MOVCC): New mode_macro.
8762 (mov<mode>cc_insn1, mov<mode>cc_insn2, mov<mode>cc): Renamed from
8763 movsicc_insn1, movsicc_insn2 and movsicc and macroized. Remove
8764 comments from generated assembly.
8765
f0b568f3
SH
87662011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
8767
8768 From Bernd Schmidt
8769 * config/bfin/t-bfin (LIB1ASMFUNCS): Add muldi3 and umulsi3_highpart.
8770 * config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add muldi3.
8771 * config/bfin/t-bfin-linux (LIB1ASMFUNCS): Add muldi3.
8772 * config/bfin/t-bfin-uclinux (LIB1ASMFUNCS): Add muldi3.
8773 * config/bfin/lib1funcs.asm (___muldi3): New function.
8774
2c67cf6e
NF
87752011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8776
8777 * config/stormy16/stormy16 (xstormy16_init_builtins): Call
8778 build_function_type_list instead of build_function_type.
8779 Rearrange initialization of `args' to do so.
8780
f9ac28ad
NF
87812011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8782
8783 * config/i386/i386.c (ix86_code_end): Call build_function_type_list
8784 instead of build_function_type.
8785
22b8798c
NF
87862011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8787
8788 * config/rs6000/rs6000.c (spe_init_builtins): Call
8789 build_function_type_list instead of build_function_type.
8790 (paired_init_builtins, altivec_init_builtins): Likewise.
8791 (builtin_function_type): Likewise.
8792
4cb44528
NF
87932011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8794
8795 * config/sh/sh.c (sh_media_init_builtins): Call
8796 build_function_type_list instead of build_function_type.
8797
4c203a6a
NF
87982011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8799
8800 * config/sparc/sparc.c (sparc_file_end): Call
8801 build_function_type_list instead of build_function_type.
8802
d6a3d62b
NF
88032011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8804
8805 * config/alpha/alpha.c (alpha_init_builtins): Call
8806 build_function_type_list instead of build_function_type.
8807
de530b86
NF
88082011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8809
8810 * config/xtensa/xtensa.c (xtensa_init_builtins): Call
8811 build_function_type_list instead of build_function_type.
8812
baeec5f2
NF
88132011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8814
8815 * config/iq2000/i2000.c (iq2000_init_builtins): Call
8816 build_function_type_list instead of build_function_type.
8817 Delete `endlink' variable.
8818
c19afe52
NF
88192011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8820
8821 * config/avr/avr.c (avr_init_builtins): Call
8822 build_function_type_list instead of build_function_type.
8823
a341df0a
NF
88242011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8825
8826 * config/picochip/picochip.c (picochip_init_builtins): Call
8827 build_function_type_list instead of build_function_type.
8828 Delete `endlink' variable.
8829
2102b1e1
NF
88302011-05-03 Nathan Froyd <froydnj@codesourcery.com>
8831
8832 * config/bfin/bfin.c (bfin_init_builtins): Call
8833 build_function_type_list instead of build_function_type.
8834
9f111209
SH
88352011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
8836
8837 From Bernd Schmidt
8838 * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
8839 that's not CONST_INT. Seemingly redundant check is due to PR39768.
8840
7071d064
SH
88412011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
8842
8843 From Jie Zhang:
8844 * config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
8845 libbffastfp overrides libgcc when -mfast-fp.
8846
748f7574 88472011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
44fb48ef
SH
8848
8849 Originally from Bernd Schmidt
8850 * config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
8851 * config/bfin/bfin.c (override_options): Test it and error if
8852 TARGET_FDPIC.
8853
1a3a9152
SH
88542011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
8855
8856 Originally From Bernd Schmidt
8857 * config/bfin/bfin.c (override_options): Disable -fstack-limit for
8858 FD-PIC.
8859
7134c090
JL
88602011-05-03 Jeff Law <law@redhat.com>
8861
8862 * tree-ssa-threadupdate.c (THREAD_TARGET): define.
8863 (remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
8864 (craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
b70fce6d
UB
8865 than accessing AUX field directly. Free the AUX field before
8866 clearing it.
7134c090
JL
8867 (thread_block, thread_through_loop_header): Likewise.
8868 (thread_single_edge, mark_threaded_blocks): Likewise.
8869 (redirect_edges): Delay clearing the AUX field. Free the AUX field.
8870 (register_jump_thread): Do not attempt to thread to a NULL edge.
b70fce6d 8871
2c7eebae
BS
88722011-05-03 Bernd Schmidt <bernds@codesourcery.com>
8873
8874 * function.c (init_function_start): Call decide_function_section.
8875 * varasm.c (decide_function_section): New function.
8876 (assemble_start_function): When not using
8877 flag_reorder_blocks_and_partition, don't compute in_cold_section_p
8878 or first_function_block_is_cold.
8879 * rtl.h (decide_function_section): Declare.
8880
17038fcf
JJ
88812011-05-03 Uros Bizjak <ubizjak@gmail.com>
8882 Jakub Jelinek <jakub@redhat.com>
8883
8884 PR target/48774
8885 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
8886 only succeed if req_mode is the same as set_mode.
8887
3810076b
BS
88882011-05-03 Bernd Schmidt <bernds@codesourcery.com>
8889
8890 * gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
8891 * genemit.c (gen_exp): Handle RETURN.
8892 * emit-rtl.c (verify_rtx_sharing): Likewise.
8893 (init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
8894 * rtl.c (copy_rtx): RETURN is shared.
8895 * rtl.h (enum global_rtl_index): Add GR_RETURN.
8896 (ret_rtx): New.
8897 * jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
8898 * config/s390/s390.c (s390_emit_epilogue): Likewise.
8899 * config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
8900 * config/cris/cris.c (cris_expand_return): Likewise.
8901 * config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
8902 * config/rs6000/rs6000.c (rs6000_make_savres_rtx,
8903 rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
8904 * config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
8905 * config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
8906 Likewise.
8907 * config/v850/v850.c (expand_epilogue): Likewise.
8908 * config/bfin/bfin.c (bfin_expand_call): Likewise.
8909 * config/arm/arm.md (epilogue): Likewise.
8910 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
8911 * config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
8912 variable to ret_reg.
8913
9efdb4ad
RG
89142011-05-03 Richard Guenther <rguenther@suse.de>
8915
8916 PR lto/48846
8917 * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
8918 Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
8919 * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
8920
60a45536
RG
89212011-05-03 Richard Guenther <rguenther@suse.de>
8922
8923 * c-decl.c (grokdeclarator): Instead of looking at
8924 TREE_OVERFLOW check if the constant fits in the index type.
8925
3188ed59
RS
89262011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
8927
8928 * config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
8929 (vec_store_lanes<mode><mode>): Likewise.
8930
272c6793
RS
89312011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
8932
8933 * doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
8934 * optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
8935 convert_optab_index values.
8936 (vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
8937 * genopinit.c (optabs): Initialize the new optabs.
8938 * internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
8939 * internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
8940 (expand_STORE_LANES): New functions.
8941 * tree.h (build_array_type_nelts): Declare.
8942 * tree.c (build_array_type_nelts): New function.
8943 * tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
8944 (vect_model_load_cost): Likewise.
8945 (vect_store_lanes_supported, vect_load_lanes_supported)
8946 (vect_record_strided_load_vectors): Declare.
8947 * tree-vect-data-refs.c (vect_lanes_optab_supported_p)
8948 (vect_store_lanes_supported, vect_load_lanes_supported): New functions.
8949 (vect_transform_strided_load): Split out statement recording into...
8950 (vect_record_strided_load_vectors): ...this new function.
8951 * tree-vect-stmts.c (create_vector_array, read_vector_array)
8952 (write_vector_array, create_array_ref): New functions.
8953 (vect_model_store_cost): Add store_lanes_p argument.
8954 (vect_model_load_cost): Add load_lanes_p argument.
8955 (vectorizable_store): Try to use store-lanes functions for
8956 interleaved stores.
8957 (vectorizable_load): Likewise load-lanes and loads.
8958 * tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
8959 to vect_model_store_cost.
8960 (vect_build_slp_tree): Likewise vect_model_load_cost.
8961
0f6d54f7
RS
89622011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
8963
8964 * hooks.h (hook_bool_mode_uhwi_false): Declare.
8965 * hooks.c (hook_bool_mode_uhwi_false): New function.
8966 * target.def (array_mode_supported_p): New hook.
8967 * doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
8968 * doc/tm.texi: Regenerate.
8969 * stor-layout.c (mode_for_array): New function.
8970 (layout_type): Use it.
8971 * config/arm/arm.c (arm_array_mode_supported_p): New function.
8972 (TARGET_ARRAY_MODE_SUPPORTED_P): Define.
8973
b15eacc7
EB
89742011-05-03 Eric Botcazou <ebotcazou@adacore.com>
8975
8976 PR target/48723
8977 * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
8978 for -fstack-check if the size to allocate is negative.
8979
575bfb00
LC
89802011-05-02 Lawrence Crowl <crowl@google.com>
8981
8982 * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
8983 (timevar_cond_start): New for starting a timer only when it is not
8984 already running.
8985 (timevar_cond_stop): New for stopping a timer when it was not already
8986 running.
8987
8988 * timevar.c (timevar_stop): Enable start/stop timers to start again.
8989 (timevar_cond_start): New as above.
8990 (timevar_cond_stop): New as above.
8991
8992 * timevar.def: Add start/stop timers for compiler phases,
8993 TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
8994 TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
8995 and TV_PHASE_FINALIZE.
8996 Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
8997 Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
8998 TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
8999 Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
9000 Make unused TV_OVERLOAD into a start/stop timer.
9001
9002 Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
9003 Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
9004 to indicate that they are start/stop timers.
9005
9006 * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
9007 Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
9008 Move initialization to do_compile.
9009 (do_compile): Add initialization from above.
9010 Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
9011
9012 * c-decl.c (c_write_global_declarations): Add start/stop of
9013 TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
9014
9015 * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
9016 or TV_PARSE_INLINE, as appropriate.
9017 (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
9018 (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
9019
3533b943
JM
90202011-05-02 Jason Merrill <jason@redhat.com>
9021
9022 PR c++/40975
9023 * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
9024
2609a0ce
SM
90252011-05-02 Simon Martin <simartin@users.sourceforge.net>
9026
9027 PR c/35445
9028 * c-decl.c (finish_decl): Only create a composite if the types are
9029 compatible.
9030
6b0e4cbb
JM
90312011-05-02 Joseph Myers <joseph@codesourcery.com>
9032
9033 * config/fr30/fr30-protos.h (Mmode): Don't define.
9034 * config/m32r/m32r-protos.h (Mmode): Don't define. Expand
9035 definition where used.
9036 * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
9037 define. Expand definitions where used.
9038 * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
9039 Expand definitions where used.
9040 * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
9041 rx_function_arg, rx_function_arg_advance,
9042 rx_function_arg_boundary): Expand definitions of those macros.
9043 * config/v850/v850-protos.h (Mmode): Don't define. Expand
9044 definition where used.
9045
4e938ce6
UB
90462011-05-02 Uros Bizjak <ubizjak@gmail.com>
9047
9048 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
9049 reg<->xmm moves.
9050 (*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
9051 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge
9052 with *movv2sf_internal_rex64_avx.
9053 (*movv2sf_internal): Merge with *movv2sf_internal_avx.
9054 * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
9055 Use %v prefix in insn mnemonic to handle TARGET_AVX.
9056 (*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of
9057 "vex" in "prefix" attribute calculation.
9058 (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
9059
36019c19
SH
90602011-05-02 Stuart Henderson <shenders@gcc.gnu.org>
9061
7a2f7208
UB
9062 PR target/47951
9063 * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
9064 inputs match the output.
36019c19 9065
f69ea688
AS
90662011-05-02 Andreas Schwab <schwab@linux-m68k.org>
9067
9068 PR target/47955
9069 * config/m68k/m68k.c (m68k_expand_prologue): Set
9070 current_function_static_stack_size.
9071
c33406f5
JH
90722011-05-02 Jan Hubicka <jh@suse.cz>
9073
9074 * lto-streamer.c (lto_streamer_cache_insert_1,
9075 lto_streamer_cache_lookup, lto_streamer_cache_create,
9076 lto_streamer_cache_delete): Use pointer map instead of hashtable.
9077 * lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.
9078
47c94d21
JM
90792011-05-02 Joseph Myers <joseph@codesourcery.com>
9080
9081 * config/m68k/genopt.sh, config/m68k/m68k-isas.def,
9082 config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
9083 config/m68k/t-opts: New files.
9084 * config/m68k/m68k-tables.opt: New file (generated).
9085 * config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
9086 extra_options and m68k/t-opts to tmake_file.
9087 * config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
9088 (all_isas): Initialize using m68k-isas.def.
9089 (all_microarchs): Initialize using m68k-microarchs.def.
9090 (m68k_find_selection): Remove.
9091 (m68k_handle_option): Don't assert that global structures are in
9092 use. Use error_at. Access variables via opts pointer. Don't
9093 handle -march=, -mcpu= and -mtune= here. Set gcc_options fields
9094 directly for -m68020-40 and -m68020-60.
9095 (m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
9096 m68k_tune_entry here.
9097 * config/m68k/m68k.h (enum uarch_type, enum target_device): Move
9098 to m68k-opts.h.
9099 (m68k_library_id_string): Remove declaration.
4e938ce6 9100 * config/m68k/m68k.opt (config/m68k/m68k-opts.h): New HeaderInclude.
47c94d21
JM
9101 (m68k_library_id_string): New Variable.
9102 (march=, mcpu=, mtune=): Use Enum and Var.
9103
e562bf36
RG
91042011-05-02 Richard Guenther <rguenther@suse.de>
9105
9106 * varasm.c (output_constructor_regular_field): Compute zero-based
9107 index with double-ints. Make sure to ICE instead of producing
9108 wrong code.
9109 * cgraph.c (cgraph_add_thunk): Do not create new tree nodes
9110 in asserts. Properly use a signed type.
9111
6bec6c98
UB
91122011-05-02 Uros Bizjak <ubizjak@gmail.com>
9113
9114 * config/i386/sse.md (V): New mode iterator.
9115 (V_128): Rename from SSEMODE. Make V2DF mode conditional on
9116 TARGET_SSE2.
9117 (V_256): Rename from AVX256MODE.
9118 (VF): Make V4SF mode unconditional. Add TARGET_SSE instruction
9119 condition to all users.
9120 (VF1): Ditto.
9121 (VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction
9122 condition to all users.
9123 (VF_128): Make V4SF mode unconditional.
9124 (VF_256): Rename from AVX256MODEF2P.
9125 (VI4F_128): Rename from SSEMODE4S.
9126 (VI8F_128): Rename from SSEMODE2D.
9127 (VI4F_256): Rename from AVX256MODE8P.
9128 (VI8F_256): Rename from AVX256MODE4P.
9129 (avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
9130 (ssescalarmodesuffix): Remove SF and DF modes.
9131 (SSEMODE124): Remove.
9132 (SSEMODE1248): Ditto.
9133 (SSEMODEF2P): Ditto.
9134 (AVXMODEF2P): Ditto.
9135 (AVXMODEFDP): Ditto.
9136 (AVXMODEFSP): Ditto.
9137 (VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
9138 unconditional.
9139 (VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode
9140 unconditional.
9141 (xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
9142 xop_pcmov_<mode>256. Use V mode iterator.
9143
9144 Adjust RTX patterns globally for renamed mode attributes.
9145
2dfdcb4b
UW
91462011-05-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9147
9148 * haifa-sched.c (sched_emit_insn): Emit insn before first
9149 non-scheduled insn. Inform back-end about new insn. Add
9150 new insn to scheduled_insns list.
9151
90bc4623
RG
91522011-05-02 Richard Guenther <rguenther@suse.de>
9153
9154 PR tree-optimization/48822
9155 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
9156 (process_scc): Indicate which iteration we start.
9157
bc0fe8cb
JH
91582011-05-02 Jan Hubicka <jh@suse.cz>
9159
9160 * lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
9161 (lto_section_overrun): New.
9162 * lto-section-out.c (append_block): Rename to ...
9163 (lto_append_block): ... this one; export.
9164 (lto_output_1_stream): Move lto lto-streamer.h
9165 (lto_output_data_stream): Update.
9166 * lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
9167 (lto_output_1_stream, lto_input_1_unsigned): Turn into inline
9168 functions.
9169
f070a9d1
RG
91702011-05-02 Richard Guenther <rguenther@suse.de>
9171
9172 * tree.c (tree_code_counts): New global array.
9173 (record_node_allocation_statistics): Count individual tree codes.
9174 (dump_tree_statistics): Dump individual code stats.
9175
09dfe187
JH
91762011-05-01 Jan Hubicka <jh@suse.cz>
9177
9178 * ipa-inline.c (caller_growth_limits): Fix thinko when
9179 looking for largest stack frame.
9180 * ipa-inline.h (dump_inline_summary): Declare.
9181 * ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
9182 on stack usage.
9183 (dump_inline_summary): Export.
9184 (debug_inline_summary): Declare as DEBUG_FUNCTION.
9185
6f76a878
AS
91862011-05-01 Anatoly Sokolov <aesok@post.ru>
9187
9188 * reginfo.c (memory_move_cost): Change rclass argument type form
9189 'enum reg_class' to reg_class_t.
9190 * reload.h (memory_move_cost): Update prototype.
9191 * postreload.c reload_cse_simplify_set): Change type dclass var to
9192 reg_class_t.
9193 * ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
9194 Update prototype.
9195 (ira_allocate_and_set_costs): Change aclass argument type form
9196 'enum reg_class' to reg_class_t.
6bec6c98 9197 * ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
6f76a878
AS
9198 Change aclass argument type to reg_class_t.
9199 (update_conflict_hard_reg_costs): Change type aclass and pref vars
9200 to reg_class_t.
9201 * gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
9202 memory_move_cost call.
9203
9204 * config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
9205 'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
9206 Change type tmp var to reg_class_t.
9207
9a4ac625
JH
92082011-04-30 Jan Hubicka <jh@suse.cz>
9209
9210 * ipa-inline.c (can_inline_edge_p): Disregard limits when
9211 inlining into function with flatten attribute.
9212 (want_inline_small_function_p): Be more realistic about inlining
9213 cold calls where callee size grows.
9214
dd8352ee
JH
92152011-04-30 Jan Hubicka <jh@suse.cz>
9216
9217 * cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
9218 flags.
9219
46e43d2b
AS
92202011-04-30 Anatoly Sokolov <aesok@post.ru>
9221
9222 * config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
9223 PRINT_OPERAND_PUNCT_VALID_P): Remove.
9224 * config/sparc/sparc-protos.h (print_operand): Remove declaration.
9225 * config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
9226 TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
9227 (print_operand): Rename to...
9228 (sparc_print_operand): ...this. Make static. Adjust
9229 sparc_print_operand function call.
9230 (sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
9231 functions.
9232
ecb62563
JH
92332011-04-30 Jan Hubicka <jh@suse.cz>
9234
6bec6c98 9235 PR middle-end/48752
ecb62563
JH
9236 * ipa-inline.c (early_inliner): Disable when doing late
9237 addition of function.
9238
edb9b69e
JJ
92392011-04-30 Jakub Jelinek <jakub@redhat.com>
9240
be80a87e
JJ
9241 * dwarf2out.c (get_address_mode): New inline.
9242 (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
9243 if not dwarf_strict emit
9244 DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
9245 desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
9246 UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for
9247 FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
9248 (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
9249 dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
9250 mem_loc_descriptor callers.
9251 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
9252 output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
9253 Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
9254 DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
9255 (base_types): New variable.
9256 (get_base_type_offset, calc_base_type_die_sizes,
9257 base_type_for_mode, mark_base_types, base_type_cmp,
9258 move_marked_base_types): New functions.
9259 (calc_die_sizes): Assert that die_offset is 0 or equal to
9260 next_die_offset.
9261 (loc_descriptor): Only handle here lowpart SUBREGs of REG, for
9262 others defer to mem_loc_descriptor. Adjust mem_loc_descriptor
9263 callers. If not dwarf_strict, call mem_loc_descriptor even for
9264 non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
9265 (gen_subprogram_die): Don't give up on call site parameters
9266 with non-integral or large integral modes. Adjust
9267 mem_loc_descriptor callers.
9268 (prune_unused_types): Call prune_unused_types_mark on base_types
9269 vector entries.
9270 (resolve_addr): Call mark_base_types.
9271 (dwarf2out_finish): Call move_marked_base_types.
9272
edb9b69e
JJ
9273 PR tree-optimization/48809
9274 * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
9275 type.
9276 (gen_inbound_check): Don't compute index_expr - range_min in utype
9277 again, instead reuse SSA_NAME initialized in build_arrays.
9278 Remove two useless gsi_for_stmt calls.
9279
a6545a3d
JL
92802011-04-29 Jeff Law <law@redhat.com>
9281
9282 * tree-ssa-threadedge.c (thread_across_edge): Add missing return.
9283
af8bca3c
MJ
92842011-04-29 Martin Jambor <mjambor@suse.cz>
9285
9286 * cgraph.h (cgraph_postorder): Remove declaration.
9287 * ipa-utils.h (ipa_free_postorder_info): Declare.
9288 (ipa_reverse_postorder): Likewise.
9289 * cgraphunit.c: Include ipa-utils.h.
9290 (cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
9291 * ipa-inline.c: Include ipa-utils.h.
9292 (ipa_inline): Update call to ipa_reverse_postorder.
9293 * ipa-pure-const.c (propagate_pure_const): Update call to
9294 ipa_reduced_postorder and ipa_print_order. Call
9295 ipa_free_postorder_info to clean up.
9296 (propagate_nothrow): Likewise.
9297 * ipa-reference.c (propagate): Removed a useless call to
9298 ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
9299 and ipa_print_order. Call ipa_free_postorder_info to clean up.
9300 * ipa.c: Include ipa-utils.h.
9301 (ipa_profile): Update call to ipa_reverse_postorder.
9302 (cgraph_postorder): Moved to...
9303 * ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
9304 (ipa_utils_print_order): Renamed to ipa_print_order.
9305 (ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
9306 comments.
9307 (ipa_free_postorder_info): New function.
9308 * passes.c: Include ipa-utils.h.
9309 (do_per_function_toporder): Update call to ipa_reverse_postorder.
9310 (ipa_write_summaries): Likewise.
9311 * Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
9312 (cgraphunit.o): Likewise.
9313 (ipa.o): Likewise.
9314 (ipa-inline.o): Likewise.
9315
b15c64ee
JH
93162011-04-29 Jan Hubicka <jh@suse.cz>
9317
9318 * gcc.dg/tree-ssa/inline-10.c: New testcase.
9319 * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
9320 * ipa-inline.h (clause_t): Turn into unsigned int.
9321 * ipa-inline-analysis.c (add_clause): Do more simplification.
9322 (and_predicates): Shortcut more cases.
9323 (predicates_equal_p): Move forward; check that clauses are properly
9324 ordered.
9325 (or_predicates): Shortcut more cases.
9326 (edge_execution_predicate): Rewrite as...
9327 (set_cond_stmt_execution_predicate): ... this function; handle
9328 __builtin_constant_p.
9329 (set_switch_stmt_execution_predicate): New .
9330 (compute_bb_predicates): New.
9331 (will_be_nonconstant_predicate): Update TODO.
9332 (estimate_function_body_sizes): Use compute_bb_predicates
9333 and free them later, always try to estimate if stmt is constant.
9334 (estimate_time_after_inlining, estimate_size_after_inlining):
9335 Gracefully handle optimized out edges.
9336 (read_predicate): Fix off by one error.
9337
a88fdc2a
NP
93382011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
9339
9340 * Makefile.in (ENABLE_MAINTAINER_RULES): New.
9341
d984c8ef
XDL
93422011-04-27 Xinliang David Li <davidxl@google.com>
9343
9344 * tree-profile.c (init_ic_make_global_vars): Set
9345 tls attribute on ic vars.
9346 * coverage.c (coverage_end_function): Initialize
9347 function_list with zero.
9348
45a2c477
RG
93492011-04-29 Richard Guenther <rguenther@suse.de>
9350
9351 * builtins.c (fold_builtin_classify_type): Use integer_type_node
9352 for the type of the result.
9353 (fold_builtin_isascii): Likewise.
9354 (fold_builtin_toascii): Use integer_type_node where appropriate.
9355 (fold_builtin_logb): Likewise.
9356 (fold_builtin_frexp): Likewise.
9357 (fold_builtin_strstr): Likewise.
9358 (fold_builtin_strpbrk): Likewise.
9359 (fold_builtin_fputs): Likewise.
9360 (fold_builtin_sprintf): Likewise.
9361 (fold_builtin_snprintf): Likewise.
9362 (fold_builtin_printf): Likewise.
9363 (do_mpfr_remquo): Use a proper type for the assigned constant.
9364 (do_mpfr_lgamma_r): Likewise.
9365 * dwarf2out.c (resolve_one_addr): Use size_int.
9366 * except.c (init_eh): Likewise.
9367 (assign_filter_values): Use integer_type_node for filter values.
9368 (sjlj_emit_dispatch_table): Use integer_type_node for dispatch
9369 indices.
9370 * tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
9371 for EH region numbers.
9372 * tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
9373 for the shift amount.
9374
eb6c3df1
RG
93752011-04-29 Richard Guenther <rguenther@suse.de>
9376
9377 * expr.h (expand_shift): Rename to ...
9378 (expand_variable_shift): ... this.
9379 (expand_shift): Take a constant shift amount.
9380 * expmed.c (expand_shift): Rename to ...
9381 (expand_variable_shift): ... this.
9382 (expand_shift): New wrapper around expand_variable_shift.
9383 * expr.c (convert_move, emit_group_load_1, emit_group_store,
9384 optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
9385 expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
9386 * expmed.c (store_fixed_bit_field, extract_bit_field_1,
9387 extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
9388 expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
9389 extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
9390 emit_store_flag_1, emit_store_flag): Likewise.
9391 * builtins.c (expand_builtin_signbit): Likewise.
9392 * calls.c (load_register_parameters): Likewise.
9393 * function.c (assign_parm_setup_block): Likewise.
9394 * lower-subreg.c (resolve_shift_zext): Likewise.
9395 * optabs.c (widen_bswap, expand_abs_nojump,
9396 expand_one_cmpl_abs_nojump, expand_float): Likewise.
9397 * spu/spu.c (spu_expand_extv): Likewise.
9398 * sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
9399
9f616812
RG
94002011-04-29 Richard Guenther <rguenther@suse.de>
9401
9402 * tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
9403 for the remapped region number.
9404 * predict.c (build_predict_expr): Use integer_type_node for the
9405 predict kind.
9406 * fold-const.c (fold_binary_loc): Use integer_type_node for
9407 the shift amount. Use a proper type for the PLUS_EXPR operand.
9408
b823cdfe
MM
94092011-04-29 Michael Matz <matz@suse.de>
9410
9411 * lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
9412 other trees that just builtins.
9413 (lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
9414
413581ba
RG
94152011-04-29 Richard Guenther <rguenther@suse.de>
9416
9417 * tree-nested.c (get_trampoline_type): Use size_int.
9418 (get_nl_goto_field): Likewise.
9419 * tree-eh.c (lower_try_finally_switch): Use integer_type_node
9420 for all indexes.
9421 (lower_eh_constructs_2): Likewise.
9422 (lower_resx): Likewise.
9423 (lower_eh_dispatch): Likewise.
9424 * tree-mudflap.c (mf_build_string): Use size_int.
9425 (mudflap_register_call): Use integer_type_node for the flag.
9426 (mudflap_enqueue_constant): Use size_int.
9427 * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
9428 instead of rebuilding it.
9429
5c04e9f4
RG
94302011-04-29 Richard Guenther <rguenther@suse.de>
9431
9432 * tree-ssa-structalias.c (get_fi_for_callee): Restructure.
9433 Handle OBJ_TYPE_REF.
9434 (find_func_aliases_for_call): Use it more consistently.
9435
5c24671b
AO
94362011-04-29 Alexandre Oliva <aoliva@redhat.com>
9437
9438 * haifa-sched.c (last_nondebug_scheduled_insn): New.
9439 (rank_for_schedule): Use it.
9440 (schedule_block): Set it.
9441
10adac51
XDL
94422011-04-28 David Li <davidxl@google.com>
9443
9444 * tree.c (crc32_string): Use crc32_byte.
9445 (crc32_byte): New function.
9446 * tree.h (crc32_byte): New function.
9447 * gcov.c (read_graph_file): Handle new cfg_cksum.
9448 (read_count_file): Ditto.
9449 * profile.c (instrument_values): Ditto.
9450 (get_exec_counts): Ditto.
9451 (read_profile_edge_counts): Ditto.
9452 (compute_branch_probabilities): Ditto.
9453 (compute_value_histograms): Ditto.
9454 (branch_prob): Ditto.
9455 (end_branch_prob): Ditto.
9456 * coverage.c (read_counts_file): Ditto.
9457 (get_coverage_counts): Ditto.
9458 (tree_coverage_counter_addr): Ditto.
9459 (coverage_checksum_string): Ditto.
9460 (coverage_begin_output): Ditto.
9461 (coverage_end_function): Ditto.
9462 (build_fn_info_type): Ditto.
9463 (build_fn_info_value): Ditto.
9464 * libgcov.c (gcov_exit): Ditto.
9465 * gcov-dump.c (tag_function): Ditto.
9466 (compute_checksum): Remove.
9467
5d6358a5
AM
94682011-04-29 Alan Modra <amodra@gmail.com>
9469
9470 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
9471 unspec plus offset. Tidy macho code.
9472
85ad2ef5
MJ
94732011-04-29 Martin Jambor <mjambor@suse.cz>
9474
9475 * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
9476 node instead of a decl. Update all callers.
9477 * cgraph.h: Update declaration.
9478
437f4a00
IR
94792011-04-28 Ira Rosen <ira.rosen@linaro.org>
9480
9481 PR tree-optimization/48765
9482 * tree-vectorizer.h (vect_make_slp_decision): Return bool.
9483 * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
9484 to indicate if loop aware SLP is being used. Scan the statements
9485 and update the vectorization factor according to the type of
9486 vectorization before statement analysis.
9487 (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
9488 pass it to vect_analyze_loop_operations.
9489 (vectorizable_reduction): Set number of copies to 1 in case of pure
9490 SLP statement.
9491 * tree-vect-stmts.c (vectorizable_conversion,
9492 vectorizable_assignment, vectorizable_shift,
9493 vectorizable_operation, vectorizable_type_demotion,
9494 vectorizable_type_promotion, vectorizable_store, vectorizable_load):
9495 Likewise.
9496 (vectorizable_condition): Move the check that it is not SLP
9497 vectorization before the number of copies check.
9498 * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
9499 to vectorize the loop using SLP.
9500
c6fc44f3
JJ
95012011-04-28 Jakub Jelinek <jakub@redhat.com>
9502
9503 PR middle-end/48597
9504 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
9505 inline asm.
9506
6c0170ea
JM
95072011-04-28 Joseph Myers <joseph@codesourcery.com>
9508
9509 * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
9510 *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
9511 (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
9512 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
9513 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
9514 linux*.h headers.
6bec6c98 9515 * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Define.
6c0170ea
JM
9516 * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
9517 * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
9518 * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6bec6c98 9519 * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6c0170ea
JM
9520 * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
9521 REG_NAME.
9522 * config/i386/linux.h (REG_NAME): Don't define.
9523 * config/i386/linux64.h (REG_NAME): Don't define.
9524 * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
9525 Undefine before defining.
9526
970dabbd
JH
95272011-04-28 Jan Hubicka <jh@suse.cz>
9528
6bec6c98
UB
9529 * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take
9530 nonconstant_names array.
970dabbd
JH
9531 (estimate_function_body_sizes): Build nonconstant_names array; handle
9532 BUILT_IN_CONSTANT_P.
9533
8d3e3924
RG
95342011-04-28 Richard Guenther <rguenther@suse.de>
9535
9536 PR bootstrap/48804
9537 Revert
9538 2011-04-28 Richard Guenther <rguenther@suse.de>
9539
9540 * tree-ssa-structalias.c (solve_constraints): Build succ graph
9541 as late as possible.
6bec6c98 9542
8576f20a
RG
95432011-04-28 Richard Guenther <rguenther@suse.de>
9544
9545 * tree-ssa-structalias.c (dump_constraint): Don't end the line.
9546 (debug_constraint): Do it here.
9547 (dump_constraints): And here.
9548 (rewrite_constraints): And here.
9549 (dump_constraint_edge): Remove.
9550 (dump_constraint_graph): Rewrite to produce DOT output.
9551 (solve_constraints): Build succ graph as late as possible.
9552 Dump constraint graphs before and after solving.
9553
e38811ce
RG
95542011-04-28 Richard Guenther <rguenther@suse.de>
9555
9556 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
9557 New function split out from ...
9558 (find_func_aliases): ... here. Call it.
9559 (find_func_aliases_for_call): Likewise.
9560
fbaf0d0c
GDR
95612011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
9562
9563 * internal-fn.h (internal_fn_name_array): Declare.
9564 (internal_fn_flags_array): Likewise.
9565
cbb734aa
UB
95662011-04-27 Uros Bizjak <ubizjak@gmail.com>
9567
9568 * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize,
9569 ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
9570 Move from sse.md.
9571 (ssemodefsuffix): Remove.
9572 (ssevecmodesuffix): New mode attribute.
9573 (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
9574 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
9575 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
9576 *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
9577 *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
9578 *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
9579 *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
9580 ssemodesuffix mode attribute.
9581 (float splitters): Use ssevecmodesuffix mode attribute.
9582 * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
9583 (sseinsmode): Rename from avxvecmode.
9584 (avxsizesuffix): Rename from avxmodesuffix.
9585 (sseintvecmode): Rename from avxpermvecmode.
9586 (ssedoublevecmode): Rename from ssedoublesizemode.
9587 (ssehalfvecmode): Rename from avxhalfvecmode.
9588 (ssescalarmode): Rename from avxscalarmode.
9589 (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
9590 templates for ssemodesuffix mode attribute.
9591 (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
9592 mode attribute.
9593
9594 Adjust RTX patterns globally for renamed mode attributes.
9595
991278ab
JH
95962011-04-27 Jan Hubcika <jh@suse.cz>
9597
9598 * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
9599 * ipa-inline-analysis.c: Include alloc-pool.h.
9600 (edge_predicate_pool): New.
9601 (trye_predicate_p): New function
9602 (false_predicate_p): New function.
9603 (add_clause): Sanity check that false clauses are "optimized";
9604 never add clauses to predicate that is already known to be false.
9605 (and_predicate): Use flase_predicate_p.
9606 (evaulate_predicate): Rename to ...
9607 (evaluate_predicate): ... this one; update all callers; assert
9608 that false is not listed among possible truths.
9609 (dump_predicate): Use true_predicate_p.
9610 (account_size_time): Use false_predicate_p.
9611 (evaulate_conditions_for_edge): Rename to ...
9612 (evaluate_conditions_for_edge) ... this one.
9613 (edge_set_predicate): New function.
9614 (inline_edge_duplication_hook): Duplicate edge predicates.
9615 (inline_edge_removal_hook): Free edge predicates.
cbb734aa 9616 (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
991278ab
JH
9617 (dump_inline_summary): Update.
9618 (estimate_function_body_sizes): Set edge predicates.
9619 (estimate_calls_size_and_time): Handle predicates.
9620 (estimate_callee_size_and_time): Update.
9621 (remap_predicate): Add toplev_predicate; update comment.
9622 (remap_edge_predicates): New function.
9623 (inline_merge_summary): Compute toplev predicate; update.
9624 (read_predicate): New function.
9625 (read_inline_edge_summary): Use it.
9626 (inline_read_section): Likewise.
9627 (write_predicate): New function.
9628 (write_inline_edge_summary): Use it.
9629 (inline_write_summary): Likewise.
9630 (inline_free_summary): Free alloc pool and edge summary vec.
9631
648b5f85
RG
96322011-04-27 Richard Guenther <rguenther@suse.de>
9633
9634 * tree-ssa-structalias.c (changed_count): Remove.
9635 (changed): Use a bitmap.
9636 (unify_nodes): Adjust.
9637 (do_sd_constraint): Likewise.
9638 (do_ds_constraint): Likewise.
9639 (do_complex_constraint): Likewise.
9640 (solve_graph): Likewise.
9641
4d5dcfb2
JH
96422011-04-27 Jan Hubicka <jh@suse.cz>
9643
9644 * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
9645
200eb7d2
UB
96462011-04-27 Uros Bizjak <ubizjak@gmail.com>
9647
9648 * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
9649 (avx_vperm2f128_*_operand): Ditto.
9650 * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
9651 Use avx_vpermilp_parallel in insn condition.
9652 (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
9653 Use avx_vperm2f128_parallel in insn condition.
9654
7d6e2521
RG
96552011-04-27 Richard Guenther <rguenther@suse.de>
9656
9657 * Makefile.in (tree-ssa-structalias.o): Remove
9658 gt-tree-ssa-structalias.h dependency.
9659 (GTFILES): Remove tree-ssa-structalias.c.
9660 * tree.c (allocate_decl_uid): New function.
9661 (make_node_stat): Use it.
9662 (copy_node_stat): Likewise.
9663 * tree.h (allocate_decl_uid): Declare.
9664 * tree-ssa-alias.h (delete_alias_heapvars): Remove.
9665 * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
9666 * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
200eb7d2 9667 * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
7d6e2521
RG
9668 * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
9669 (struct heapvar_map): Likewise.
9670 (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
9671 heapvar_insert): Likewise.
9672 (make_heapvar_for): Rename to ...
9673 (make_heapvar): ... this. Simplify.
9674 (fake_var_decl_obstack): New global var.
9675 (build_fake_var_decl): New function.
9676 (make_constraint_from_heapvar): Adjust.
9677 (handle_lhs_call): Likewise.
9678 (create_function_info_for): Likewise.
9679 (intra_create_variable_infos): Likewise.
9680 (init_alias_vars): Allocate fake_var_decl_obstack.
9681 (init_alias_heapvars, delete_alias_heapvars): Remove.
9682 (compute_points_to_sets): Do not call init_alias_heapvars.
9683 (ipa_pta_execute): Likewise.
9684 (delete_points_to_sets): Free fake_var_decl_obstack.
9685
526ed6c2
UW
96862011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9687
9688 * config/spu/divmovti4.c (union qword_UTItype): New data type.
9689 (si_from_UTItype, si_to_UTItype): New functions.
9690 (__udivmodti4): Use them to implement type-punning.
9691 * config/spu/multi3.c (union qword_TItype): New data type.
9692 (si_from_TItype, si_to_TItype): New functions.
9693 (__multi3): Use them to implement type-punning.
9694
c187d33c
UW
96952011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9696
9697 * config/spu/spu.c (spu_expand_epilogue): Do not emit barrier.
9698
40982661
JH
96992011-04-27 Jan Hubicka <jh@suse.cz>
9700
9701 * ipa-prop.c (function_insertion_hook_holder): New holder.
9702 (ipa_add_new_function): New function.
200eb7d2
UB
9703 (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
9704 Register/deregister holder.
40982661 9705
9aef53ee
RG
97062011-04-27 Richard Guenther <rguenther@suse.de>
9707
9708 PR tree-optimization/48772
200eb7d2 9709 * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
9aef53ee 9710
f63d806d
RG
97112011-04-27 Richard Guenther <rguenther@suse.de>
9712
9713 * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
9714 TARGET_MEM_REF handling.
9715
e1ea7451
NC
97162011-04-27 Nick Clifton <nickc@redhat.com>
9717
9b5db25d
NC
9718 * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
9719 ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
9720 (REG_CLASS_NAMES): Likewise.
9721 (REG_CLASS_CONTENTS): Likewise.
9722 (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
9723 (ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
9724 (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS.
9725 (FPR_REGS): New macro. Alias for QUAD_ACC_REGS.
9726 (EVEN_REGS): New macro. Alias for QUAD_REGS.
9727 * config/frv/frv.c (frv_secondary_reload_class): Remove use of
9728 duplicate register classes.
97d20907 9729 (frv_class_likely_spilled_p): Likewise.
9b5db25d
NC
9730 (frv_register_move_cost): Likewise.
9731
e1ea7451
NC
9732 * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
9733 end of the regno_reg_class array.
9734
5c2f94b4
JJ
97352011-04-27 Jakub Jelinek <jakub@redhat.com>
9736
9737 PR c/48742
9738 * c-typeck.c (build_binary_op): Don't wrap arguments if
9739 int_operands is true.
9740
57a944d7
KK
97412011-04-26 Kaz Kojima <kkojima@gcc.gnu.org>
9742
9743 PR target/48767
9744 * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
9745 targetm.calls.must_pass_in_stack for void type.
9746
898b8927
JH
97472011-04-26 Jan Hubicka <jh@suse.cz>
9748
9749 * cgraphbuild.c (build_cgraph_edges): Update call
9750 of cgraph_create_edge and cgraph_create_indirect_edge.
9751 * cgraph.c (cgraph_create_edge_including_clones,
9752 cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
9753 cgraph_update_edges_for_call_stmt_node): Do not take nest
9754 argument; do not initialize call_stmt_size/time.
9755 (dump_cgraph_node): Do not dump nest.
9756 (cgraph_clone_edge): Do not take loop_nest argument;
9757 do not propagate it; do not clone call_stmt_size/time.
9758 (cgraph_clone_node): Likewise.
9759 (cgraph_create_virtual_clone): Update.
9760 * cgraph.h (struct cgraph_edge): Remove
9761 call_stmt_size/call_stmt_time/loop_nest.
9762 (cgraph_create_edge, cgraph_create_indirect_edge,
9763 cgraph_create_edge_including_clones, cgraph_clone_node): Update
9764 prototype.
9765 * tree-emutls.c (gen_emutls_addr): Update.
9766 * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
9767 loop_nest; handle indirect calls, too.
9768 (clone_inlined_nodes): Do not care about updating inline summaries.
9769 * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
9770 * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
9771 stream call_stmt_size/call_stmt_time/loop_nest.
9772 * ipa-inline.c (edge_badness): Update.
9773 (ipa_inline): dump summaries after inlining.
9774 * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
200eb7d2 9775 New.
898b8927
JH
9776 (inline_edge_summary): New function.
9777 * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
9778 (inline_edge_removal_hook): Handle edge summaries.
9779 (inline_edge_duplication_hook): New hook.
9780 (inline_summary_alloc): Alloc hooks.
9781 (initialize_growth_caches): Do not register removal hooks.
9782 (free_growth_caches); Do not free removal hook.
9783 (dump_inline_edge_summary): New function.
9784 (dump_inline_summary): Use it.
9785 (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
9786 (inline_update_callee_summaries): New function.
9787 (inline_merge_summary): Use it.
9788 (do_estimate_edge_time, do_estimate_edge_growth): Update.
9789 (read_inline_edge_summary): New function.
9790 (inline_read_section): Use it.
9791 (write_inline_edge_summary): New function.
9792 (inline_write_summary): Use it.
9793 (inline_free_summary): Free edge new holders.
9794 * tree-inline.c (copy_bb): Update.
9795
ffa03772
JM
97962011-04-26 Jason Merrill <jason@redhat.com>
9797
9798 * tree-eh.c (lower_try_finally_switch): Create the label along with
9799 the CASE_LABEL_EXPR.
9800
6d7b45ad
DM
98012011-04-26 David S. Miller <davem@davemloft.net>
9802 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9803
9804 * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
9805 * configure: Regenerate.
9806
df10b6d4
MM
98072011-04-26 Michael Meissner <meissner@linux.vnet.ibm.com>
9808
9809 PR target/48258
9810 * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
9811 reduction.
9812 (VEC_reduc): New code iterator and splitters for vector reduction.
9813 (VEC_reduc_name): Ditto.
9814 (VEC_reduc_rtx): Ditto.
9815 (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
9816 (reduc_<VEC_reduc_name>_v4sf): Ditto.
9817
9818 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
9819 support for extracting SF on VSX.
9820
9821 * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
9822 generating xscvspdp.
9823 (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
9824 (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
9825 double add, minimum, maximum vector reduction.
9826 (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
9827 (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
9828 optimize double vector reduction.
9829 (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
9830
35a5db04
JM
98312011-04-26 Joseph Myers <joseph@codesourcery.com>
9832
9833 * config/fr30/fr30.h (inhibit_libc): Don't define.
9834 * config/m32r/m32r-protos.h: Correct comment.
9835 * config/v850/v850.h (GHS_default_section_names,
9836 GHS_current_section_names): Use tree, not union tree_node *.
9837
2f964ad6
XDL
98382011-04-26 Xinliang David Li <davidxl@google.com>
9839
200eb7d2 9840 * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
2f964ad6
XDL
9841 * c-family/c-opts.c (c_common_handle_option): Set
9842 warn_maybe_uninitialized.
9843 * opts.c (common_handle_option): Ditto.
9844 * common.opt: New option.
9845 * tree-ssa.c (warn_uninit): Add one more parameter.
9846 (warn_uninitialized_var): Pass warning code.
9847 * tree-flow.h: Interface change.
9848
9c7bd91a
RO
98492011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9850
200eb7d2 9851 * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
9c7bd91a
RO
9852 (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
9853 (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
9854
c2f36e21
RO
98552011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9856
9857 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
9858 * config/mips/mips.opt (mmips-tfile): Remove.
9859
9860 * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
9861 mips-tdump reference to ...
200eb7d2 9862 (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX.
c2f36e21
RO
9863 * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
9864 reference by Tru64 UNIX.
9865
2c9da85b
JJ
98662011-04-26 Jakub Jelinek <jakub@redhat.com>
9867
0c5f6539
JJ
9868 PR debug/48768
9869 * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
9870 is error_mark_node, set value to NULL.
9871
2c9da85b
JJ
9872 PR tree-optimization/48734
9873 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
9874 if return value from maybe_fold_*_comparsions isn't something
9875 the code is prepared to handle.
9876
77fa1d54
UB
98772011-04-26 Uros Bizjak <ubizjak@gmail.com>
9878
9879 * config/i386/predicates.md (ext_QIreg_operand): Remove extra
9880 mode check.
9881 (ext_QIreg_nomode_operands): Remove.
9882 * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
9883 (*andsi_1): Ditto.
9884 (*andhi_1): Ditto.
9885
0e2a6c2b
AS
98862011-04-26 Andrew Stubbs <ams@codesourcery.com>
9887
9888 * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
9889
961562d8
RB
98902011-04-26 Richard Guenther <rguenther@suse.de>
9891
9892 * c-typeck.c (build_unary_op): Do not expand array-refs via
9893 pointer arithmetic. Only adjust qualifiers for function types.
9894
98952011-04-26 Richard Guenther <rguenther@suse.de>
9896
9897 PR middle-end/48694
9898 * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
9899 * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
77fa1d54
UB
9900 compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees
9901 with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
961562d8 9902
a0d260fc
PC
99032011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
9904
6bec6c98 9905 * doc/extend.texi: Document __underlying_type.
a0d260fc 9906
4d583bb9
SB
99072011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
9908
9909 * config/rs6000/titan.md (automata_option "progress"): Remove.
9910
1f3fcdc3
JL
99112011-04-25 Jeff Law <law@redhat.com>
9912
9913 * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
9914
e5b0dad8
JK
99152011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
9916
9917 * system.h (ENUM_BITFIELD): Remove.
9918
5157a881 99192011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
b15eacc7 9920 Eric Botcazou <ebotcazou@adacore.com>
5157a881
MK
9921
9922 * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
9923 for STORE_FLAG_VALUE==-1 case.
9924
ed4c109e
RS
99252011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
9926
9927 PR target/43804
9928 * config/m68k/constraints.md (T): Allow PIC operands that satisfy
9929 LEGITIMATE_PIC_OPERAND_P.
9930
f3181aa2
JH
99312011-04-24 Jan Hubicka <jh@suse.cz>
9932
9933 * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
9934 WPA hack.
77fa1d54
UB
9935 * ipa-prop.h (ipa_get_param, ipa_is_param_used,
9936 ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
9937 ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
f3181aa2
JH
9938 * ipa-inline-analysis.c (add_clause): Fix clause ordering.
9939 (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
9940 Sanity check predicate length.
9941 (remap_predicate): Likewise; sanity check jump functions.
9942 (inline_read_section, inline_write_summary): Sanity check
9943 predicate length.
9944
5307cbaa
PC
99452011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9946
9947 PR other/48748
9948 * doc/extend.texi (Type Traits): Document __is_standard_layout,
9949 __is_literal_type, and __is_trivial; update throughout about
9950 possibly cv-qualified void types.
9951
bebd5f99
GP
99522011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
9953
9954 * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
9955 testsuite and make it version agnostic.
9956
7ee28a74
JH
99572011-04-22 Jan Hubicka <jh@suse.cz>
9958
9959 * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
9960
16997bc0
JJ
99612011-04-23 Jakub Jelinek <jakub@redhat.com>
9962
9963 PR c/48685
9964 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
9965 to VOID_TYPE even around MODIFY_EXPR.
9966
f94d4ab1
MS
99672011-04-22 Mike Stump <mikestump@comcast.net>
9968
1a84c183 9969 * gensupport.c (read_md_rtx): Fix typo in comment.
f94d4ab1
MS
9970 * config/cris/cris.opt (moverride-best-lib-options): Fix typo in
9971 comment.
9972
632b4f8e
JH
99732011-04-22 Jan Hubicka <jh@suse.cz>
9974
9975 * gengtype.c (open_base_files): Add ipa-inline.h include.
77fa1d54
UB
9976 * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
9977 ipa-prop.c; update all uses.
632b4f8e 9978 * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
77fa1d54
UB
9979 * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
9980 merge summary of inlined function into former caller.
632b4f8e
JH
9981 * ipa-inline.c (max_benefit): Remove.
9982 (edge_badness): Compensate for removal of benefits.
77fa1d54
UB
9983 (update_caller_keys): Use
9984 reset_node_growth_cache/reset_edge_growth_cache.
632b4f8e
JH
9985 (update_callee_keys): Likewise.
9986 (update_all_callee_keys): Likewise.
77fa1d54
UB
9987 (inline_small_functions): Do not collect max_benefit; do not reset
9988 estimated_growth; call free_growth_caches and initialize_growth_caches.
9989 * ipa-inline.h (struct condition, type clause_t, struct predicate,
9990 struct size_time_entry): New structures.
632b4f8e 9991 (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
77fa1d54
UB
9992 (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
9993 and estimated_growth.
632b4f8e
JH
9994 (edge_growth_cache_entry): New structure.
9995 (node_growth_cache, edge_growth_cache): New global vars.
9996 (estimate_growth): Turn into inline.
9997 (inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
9998 initialize_growth_caches, free_growth_caches): Declare.
9999 (estimate_edge_growth): Rewrite.
10000 (estimate_edge_time): Implement as inline cache lookup.
77fa1d54
UB
10001 (reset_node_growth_cache, reset_edge_growth_cache): New inline
10002 functions.
632b4f8e
JH
10003 (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
10004 (NUM_CONDITIONS): New constant.
10005 (predicate_conditions): New enum.
10006 (IS_NOT_CONSTANT): New constant.
10007 (edge_removal_hook_holder): New var.
10008 (node_growth_cache, edge_growth_cache): New global vars.
77fa1d54
UB
10009 (true_predicate, single_cond_predicate, false_predicate,
10010 not_inlined_predicate, add_condition, add_clause, and_predicates,
10011 or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
10012 dump_clause, dump_predicate, account_size_time,
632b4f8e
JH
10013 evaulate_conditions_for_edge): New functions.
10014 (inline_summary_alloc): Move to heap.
10015 (inline_node_removal_hook): Clear condition and entry vectors.
10016 (inline_edge_removal_hook): New function.
10017 (initialize_growth_caches, free_growth_caches): New function.
10018 (dump_inline_summary): Update.
10019 (edge_execution_predicate): New function.
10020 (will_be_nonconstant_predicate): New function.
10021 (estimate_function_body_sizes): Compute BB and constantness predicates.
10022 (compute_inline_parameters): Do not clear estimated_growth.
10023 (estimate_edge_size_and_time): New function.
10024 (estimate_calls_size_and_time): New function.
10025 (estimate_callee_size_and_time): New function.
10026 (remap_predicate): New function.
10027 (inline_merge_summary): New function.
10028 (do_estimate_edge_time): New function based on...
10029 (estimate_edge_time): ... this one.
10030 (do_estimate_edge_growth): New function.
10031 (do_estimate_growth): New function based on....
10032 (estimate_growth): ... this one.
10033 (inline_analyze_function): Analyze after deciding on jump functions.
10034 (inline_read_section): New function.
10035 (inline_read_summary): Use it.
10036 (inline_write_summary): Write all the new data.
10037 * ipa-prop.c (ipa_get_param_decl_index): Export.
10038 (ipa_lattice_from_jfunc): Move here from ipa-cp.c
77fa1d54
UB
10039 * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
10040 Declare.
10041 (ipa_get_lattice): Move here from ipa-cp.c
632b4f8e
JH
10042 * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
10043 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
10044 * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
10045 cgraph_edge_inlinable_p): Remove.
10046 * cgraphunit.c: Include ipainline.h
77fa1d54
UB
10047 (cgraph_process_new_functions): Update call of
10048 compute_inline_parameters.
632b4f8e 10049
1df5b0db
RG
100502011-04-22 Richard Guenther <rguenther@suse.de>
10051
10052 * tree.c (build_int_cst): Properly create canonicalized integer
10053 constants.
10054 (build_int_cst_type): Remove scary comments.
10055
ae01169c
XDL
100562011-04-22 Xinliang David Li <davidxl@google.com>
10057
10058 * toplev.c (process_options): Enable -Werror=coverage-mismatch
10059 by default when -Wno-error is not specified.
10060 * opts-global.c (decode_options): Remove call to
10061 control_warning_options.
10062
93dfac24
JJ
100632011-04-22 Jakub Jelinek <jakub@redhat.com>
10064
10065 PR tree-optimization/48717
10066 * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
10067 ~A + A optimizations use build_int_cst_type instead of build_int_cst.
10068
1b5f5069
JM
100692011-04-22 Joseph Myers <joseph@codesourcery.com>
10070
10071 * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
10072 definition where used.
10073
144f4153
JJ
100742011-04-22 Jakub Jelinek <jakub@redhat.com>
10075
10076 PR c/48716
10077 * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
10078 TREE_STATIC variables declared inside of some OpenMP construct.
10079
f9fd305b
MJ
100802011-04-22 Martin Jambor <mjambor@suse.cz>
10081
10082 PR middle-end/48585
1d284ec5 10083 * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
f9fd305b 10084
49819fef
AM
100852011-04-22 Alexander Monakov <amonakov@ispras.ru>
10086
10087 PR c/36750
10088 * c-typeck.c (pop_init_level): Do not warn about initializing
10089 with ` = {0}'.
10090
401f6699
AM
100912011-04-22 Alan Modra <amodra@gmail.com>
10092
10093 * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
10094 when returning call_cookie.
10095 (rs6000_function_ok_for_sibcall): Allow sibcalls via function
10096 pointers, to functions with no more vector args than the current
10097 function, and some non-local calls for ABI_V4.
10098 * config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
10099 sibcall_nonlocal_aix64): Combine to ..
10100 (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls.
10101 (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
10102 (sibcall_value_nonlocal_aix<mode>): ..likewise.
10103 (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
10104 (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie
10105 operand.
10106 * config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
10107 sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
10108 sibcall_value_symbolic_64): Delete.
10109
903d1e67
XDL
101102011-04-21 Xinliang David Li <davidxl@google.com>
10111
10112 * cgraph.h: Remove pid.
10113 * cgraph.c: Remove pid.
10114 * value-prof.c (init_node_map): New function.
10115 (del_node_map): New function.
10116 (find_func_by_funcdef_no): New function.
10117 (gimple_ic_transform): Call new function.
10118 * cgraphunit.c (cgraph_finalize_function): Remove pid.
10119 * function.c (get_last_funcdef_no): New function.
10120 * function.h (get_last_funcdef_no): New function.
10121 * tree-profile.c (gimple_gen_ic_func_profiler): Pass funcdef_no
10122 to libgcov function.
10123 (tree-profiling): Call node map init and delete function.
10124
7378e95f
ILT
101252011-04-21 Ian Lance Taylor <iant@google.com>
10126
10127 * godump.c (go_format_type): Use exported Go name for anonymous
10128 field name.
10129
e84a6fcf
NF
101302011-04-21 Nathan Froyd <froydnj@codesourcery.com>
10131
10132 * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
10133 Call builtin_function_type_list instead of builtin_function_type.
10134 (UNARY, BINARY, TRINARY, QUAD): Likewise.
10135
4fe058e2
NF
101362011-04-21 Nathan Froyd <froydnj@codesourcery.com>
10137
10138 * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
10139 build_function_type_list instead of build_function_type.
10140 Delete variable `endlink'.
10141
1ba0a2d2
NF
101422011-04-21 Nathan Froyd <froydnj@codesourcery.com>
10143
10144 * config/s390/s390.c (s390_init_builtins): Call
10145 build_function_type_list instead of build_function_type.
10146
c0676219
NF
101472011-04-21 Nathan Froyd <froydnj@codesourcery.com>
10148
10149 * config/ia64/ia64.c (ia64_init_builtins): Call
10150 build_function_type_list instead of builtin_function_type.
10151
6ddfda8a
ER
101522011-04-21 Easwaran Raman <eraman@google.com>
10153
3a6448ea 10154 * cfgexpand.c (stack_var): Remove OFFSET...
6ddfda8a
ER
10155 (add_stack_var): ...and its reference here...
10156 (expand_stack_vars): ...and here.
10157 (stack_var_cmp): Sort by descending order of size.
10158 (partition_stack_vars): Change heuristic.
1d284ec5 10159 (union_stack_vars): Fix to reflect changes in partition_stack_vars.
6ddfda8a
ER
10160 (dump_stack_var_partition): Add newline after each partition.
10161
23756963
DA
101622011-04-21 Dimitrios Apostolou <jimis@gmx.net>
10163 Jeff Law <law@redhat.com>
10164
77fa1d54 10165 * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
23756963
DA
10166 * gengtype.c (matching_file_name_substitute): Likewise.
10167
aa2a43d2
RG
101682011-04-21 Richard Guenther <rguenther@suse.de>
10169
10170 PR lto/48703
1d284ec5 10171 * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
aa2a43d2 10172
4d931f41
EB
101732011-04-21 Eric Botcazou <ebotcazou@adacore.com>
10174
10175 * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
10176
f103fa7a
RG
101772011-04-21 Richard Guenther <rguenther@suse.de>
10178
10179 * Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
10180 file name.
10181
e19f6650
RG
101822011-04-21 Richard Guenther <rguenther@suse.de>
10183
10184 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
10185 MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
10186 Use DECL_P, not SSA_VAR_P.
10187 (ptr_derefs_may_alias_p): Likewise.
10188 (ptr_deref_may_alias_ref_p_1): Likewise.
10189 (decl_refs_may_alias_p): Likewise.
10190 (refs_may_alias_p_1): Likewise.
10191 (ref_maybe_used_by_call_p_1): Likewise.
10192 (call_may_clobber_ref_p_1): Likewise.
10193 (indirect_ref_may_alias_decl_p): Assume indirect refrences
10194 are either MEM_REF or TARGET_MEM_REF.
10195 (indirect_refs_may_alias_p): Likewise.
10196 * calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
10197 for MEM_EXPR of indirect calls.
10198
9d1831bb
TG
101992011-04-21 Tristan Gingold <gingold@adacore.com>
10200
10201 * vmsdbgout.c (write_srccorr): Compute file length from the string.
10202 (dst_file_info_struct): Remove flen field.
10203 (lookup_filename): Remove code that set flen field.
10204
f199c029
TG
102052011-04-21 Tristan Gingold <gingold@adacore.com>
10206
10207 * config/ia64/ia64.c (ia64_start_function): Add a guard.
10208
2894086e
UB
102092011-04-21 Uros Bizjak <ubizjak@gmail.com>
10210
10211 PR target/48708
10212 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
10213 vec_extract and vec_concat for non-SSE4_1 targets.
10214
53f94a5c
RG
102152011-04-21 Richard Guenther <rguenther@suse.de>
10216
10217 * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
10218 return statements.
10219
f0dca5ba
JM
102202011-04-21 Joseph Myers <joseph@codesourcery.com>
10221
10222 * config/i386/cygming.h (union tree_node, TREE): Don't define or
10223 undefine.
10224 (FILE): Don't undefine.
10225
984514ac
JM
102262011-04-21 Joseph Myers <joseph@codesourcery.com>
10227
10228 * config/alpha/alpha.c (struct machine_function): Use rtx, not
10229 struct rtx_def *.
10230 * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
10231 struct rtx_def *.
10232 * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
2894086e 10233 * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct rtx_def *.
984514ac
JM
10234 * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
10235 rtx_def *.
10236 * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
10237 definitions where used.
10238 * config/microblaze/microblaze.h (struct microblaze_args): Use
10239 rtx, not struct rtx_def *.
10240 * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
10241 rtx_def *.
2894086e
UB
10242 * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def *.
10243 * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def *.
984514ac
JM
10244 * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
10245 not struct rtx_def *.
10246 * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
10247 struct rtx_def *.
10248 * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
10249 rtx_def *.
2894086e 10250 * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def *.
984514ac 10251
0b5a2724
RS
102522011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
10253
10254 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
10255 operand_equal_p to compare DR_BASE_ADDRESSes.
10256 (vect_check_interleaving): Likewise.
10257
4b18d683
RS
102582011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
10259
10260 PR target/46329
10261 * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
10262 for all Neon struct constants.
10263
1a627b35
RS
102642011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
10265
10266 * target.def (legitimate_constant_p): New hook.
10267 * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
10268 (TARGET_LEGITIMATE_CONSTANT_P): ...this.
10269 * doc/tm.texi: Regenerate.
10270 * hooks.h (hook_bool_mode_rtx_true): Declare.
10271 * hooks.c (hook_bool_mode_rtx_true): Define.
10272 * system.h (LEGITIMATE_CONSTANT_P): Poison.
10273 * calls.c (precompute_register_parameters): Replace uses of
10274 LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
10275 (emit_library_call_value_1): Likewise.
10276 * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
10277 (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
10278 * ira-costs.c (scan_one_insn): Likewise.
10279 * recog.c (general_operand, immediate_operand): Likewise.
10280 * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
10281 * reload1.c (init_eliminable_invariants): Likewise.
10282
10283 * config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
10284 mode argument.
10285 * config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
10286 * config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
10287 argument.
10288 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10289 * config/alpha/predicates.md (input_operand): Update call to
10290 alpha_legitimate_constant_p.
10291
10292 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
10293 * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
10294 (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
10295 * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10296 (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
10297 (arm_legitimate_constant_p): New functions.
10298 (arm_cannot_force_const_mem): Make static.
10299
10300 * config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
10301
10302 * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
10303 * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
10304 * config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
10305 instead of bfin_legitimate_constant_p.
10306 (bfin_legitimate_constant_p): Make static. Add a mode argument.
10307 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10308
10309 * config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
10310
10311 * config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
10312
10313 * config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
10314 * config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
10315 * config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10316 (frv_legitimate_constant_p): Make static. Add a mode argument.
10317
10318 * config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
10319 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
10320 * config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
10321
10322 * config/i386/i386-protos.h (legitimate_constant_p): Delete.
10323 * config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
10324 * config/i386/i386.c (legitimate_constant_p): Rename to...
10325 (ix86_legitimate_constant_p): ...this. Make static. Add a mode
10326 argument.
10327 (ix86_cannot_force_const_mem): Update accordingly.
10328 (ix86_legitimate_address_p): Likewise.
10329 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10330 * config/i386/i386.md: Update commentary.
10331
10332 * config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
10333 * config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
10334 * config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10335 (ia64_legitimate_constant_p): Make static. Add a mode argument.
10336
10337 * config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
10338
10339 * config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
10340 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
10341 * config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10342 (lm32_legitimate_constant_p): Make static. Add a mode argument.
10343
10344 * config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
10345 * config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
10346 * config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
10347
10348 * config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
10349 * config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10350 (m32r_legitimate_constant_p): New function.
10351
10352 * config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
10353 * config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
10354 LEGITIMATE_CONSTANT_P.
10355 (LEGITIMATE_CONSTANT_P): Delete.
10356 * config/m68k/m68k.c (m68k_expand_prologue): Call
10357 m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
10358 (m68k_legitimate_constant_p): New function.
10359 * config/m68k/m68k.md: Update comments.
10360
10361 * config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
10362 * config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10363 (mcore_legitimate_constant_p): New function.
10364
10365 * config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
10366 * config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
10367 * config/mep/mep.c (mep_legitimate_constant_p): Make static.
10368 Add a mode argument.
10369 (mep_legitimate_address): Update accordingly.
10370 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10371
10372 * config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
10373 Delete.
10374 * config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
10375 * config/microblaze/microblaze.c (microblaze_const_double_ok): Make
10376 static. Check OP's mode for VOIDmode.
10377 (microblaze_legitimate_constant_p): New function.
10378 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10379
10380 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
10381 * config/mips/mips.c (mips_legitimate_constant_p): New function.
10382 (mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
10383 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10384 * config/mips/predicates.md: Update comments.
10385
10386 * config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
10387 * config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
10388 * config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10389 (mmix_legitimate_constant_p): Make static, return a bool, and take
10390 a mode argument.
10391 (mmix_print_operand_address): Update accordingly.
10392
10393 * config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
10394 Delete.
10395 * config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
2894086e
UB
10396 * config/mn10300/mn10300.c (mn10300_legitimate_constant_p): Make
10397 static. Add a mode argument.
1a627b35
RS
10398 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10399
10400 * config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
10401
10402 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
10403 * config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10404 (pa_legitimate_constant_p): New function.
10405
10406 * config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
10407
10408 * config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
10409 * config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10410 (pdp11_legitimate_constant_p): New function.
10411
10412 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
10413 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10414 (rs6000_legitimate_constant_p): New function.
10415
10416 * config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
10417 (rx_legitimate_constant_p): ...this.
10418 * config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
10419 * config/rx/rx.c (rx_is_legitimate_constant): Replace with...
10420 (rx_legitimate_constant_p): ...this.
10421 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10422 * config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
10423
10424 * config/s390/s390-protos.h (legitimate_constant_p): Delete.
10425 * config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
10426 * config/s390/s390.c (legitimate_constant_p): Rename to...
10427 (s390_legitimate_constant_p): ...this. Make static, return a bool,
10428 and add a mode argument.
10429 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10430
10431 * config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
10432
10433 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
10434 * config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10435 (sh_legitimate_constant_p): New function.
10436
10437 * config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
10438 * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
10439 * config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10440 (legitimate_constant_p): Rename to...
10441 (sparc_legitimate_constant_p): ...this. Make static. Add a mode
10442 argument.
10443 (constant_address_p): Update accordingly.
10444
10445 * config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
10446 argument and return a bool.
10447 * config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
10448 * config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10449 (spu_legitimate_constant_p): Add a mode argument and return a bool.
10450 (spu_rtx_costs): Update accordingly.
10451 * config/spu/predicates.md (vec_imm_operand): Likewise.
10452
10453 * config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
10454
10455 * config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
10456 * config/v850/v850.c (v850_legitimate_constant_p): New function.
10457 (TARGET_LEGITIMATE_CONSTANT_P): Define.
10458
10459 * config/vax/vax-protos.h (legitimate_constant_p): Delete.
10460 * config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
10461 * config/vax/vax.c (legitimate_constant_p): Likewise.
10462
10463 * config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
10464 * config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
10465 (xtensa_legitimate_constant_p): New function.
10466
fbbf66e7
RS
104672011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
10468
10469 * target.def (cannot_force_const_mem): Add a mode argument.
10470 * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
10471 * doc/tm.texi: Regenerate.
10472 * hooks.h (hook_bool_mode_rtx_false): Declare.
10473 * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
10474 (hook_bool_mode_const_rtx_true): Likewise.
10475 (hook_bool_mode_rtx_false): New function.
10476 * reload.c (CONST_POOL_OK_P): Take a mode argument and require it
10477 to be non-VOID. Update call to cannot_force_const_mem.
10478 (find_reloads): Update accordingly.
10479 * varasm.c (force_const_mem): Update call to cannot_force_const_mem.
10480 * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
10481 argument.
10482 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
10483 * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
10484 * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
10485 * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
10486 * config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
10487 * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
10488 * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
10489 * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
10490 (m68k_cannot_force_const_mem): ...this new function.
10491 * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
10492 argument.
10493 (mips_const_insns, mips_legitimize_const_move): Update calls.
10494 (mips_secondary_reload_class): Likewise.
10495 * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
10496 (pa_cannot_force_const_mem): ...this new function.
2894086e 10497 * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to...
fbbf66e7
RS
10498 (rs6000_cannot_force_const_mem): ...this new function.
10499 * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
10500 argument.
10501 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
10502 * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
10503 to...
10504 (xtensa_cannot_force_const_mem): ...this new function.
10505
b861891b
NF
105062011-04-20 Nathan Froyd <froydnj@codesourcery.com>
10507
10508 * config/mips/mips.c (mips16_build_function_stub): Call
10509 build_function_type_list instead of build_function_type.
10510 (mips16_build_call_stub): Likewise.
10511
34149ed5
NF
105122011-04-20 Nathan Froyd <froydnj@codesourcery.com>
10513
10514 * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
10515 instead of build_function_type.
10516
12526412
NF
105172011-04-20 Nathan Froyd <froydnj@codesourcery.com>
10518
10519 * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
10520 instead of build_function_type.
10521
3b84d61f
UB
105222011-04-20 Uros Bizjak <ubizjak@gmail.com>
10523
10524 PR target/48678
10525 * config/i386/i386.md (insv): Change operand 0 constraint to
10526 "register_operand". Change operand 1 and 2 constraint to
10527 "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
10528 * config/i386/sse.md (sse4_1_pinsrb): Export.
10529 (sse2_pinsrw): Ditto.
10530 (sse4_1_pinsrd): Ditto.
10531 (sse4_1_pinsrq): Ditto.
10532 * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
10533 * config/i386/i386.c (ix86_expand_pinsr): New.
10534
4a25752b
ER
105352011-04-20 Easwaran Raman <eraman@google.com>
10536
10537 * cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
10538 containing union type only with -fstrict-aliasing.
10539
04695783
JM
105402011-04-20 Jim Meyering <meyering@redhat.com>
10541
10542 Remove useless if-before-free tests.
10543 * calls.c (expand_call, save_area): Likewise.
10544 * cfgcleanup.c (try_forward_edges): Likewise.
10545 * collect2.c (collect_execute): Likewise.
10546 * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
10547 * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
10548 * coverage.c (coverage_checksum_string): Likewise.
10549 * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
10550 * cselib.c (cselib_init): Likewise.
10551 * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
10552 (df_set_clean_cfg): Likewise.
10553 * function.c (free_after_compilation): Likewise.
10554 * gcc.c (do_spec_1, main): Likewise.
10555 * gcov.c (create_file_names): Likewise.
10556 * gensupport.c (identify_predicable_attribute): Likewise.
10557 * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
10558 * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
10559 * haifa-sched.c (haifa_finish_h_i_d): Likewise.
10560 * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
10561 * ipa-pure-const.c (local_pure_const): Likewise.
10562 * ipa-reference.c (propagate): Likewise.
10563 * ira-costs.c (free_ira_costs): Likewise.
10564 * ira.c (free_register_move_costs, build_insn_chain): Likewise.
10565 * matrix-reorg.c (mat_free): Likewise.
10566 * prefix.c (get_key_value): Likewise.
10567 * profile.c (compute_value_histograms): Likewise.
10568 * reload1.c (free_reg_equiv): Likewise.
10569 * sched-deps.c (free_deps): Likewise.
10570 * sel-sched-ir.c (fence_clear): Likewise.
10571 * sese.c (set_rename, if_region_set_false_region): Likewise.
10572 * tree-data-ref.c (free_rdg): Likewise.
10573 * tree-eh.c (lower_try_finally): Likewise.
10574 * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
10575 * tree-ssa-live.c (delete_var_map): Likewise.
10576 * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
10577 * tree-ssa-pre.c (phi_trans_add): Likewise.
10578
6788475a
JJ
105792011-04-20 Jakub Jelinek <jakub@redhat.com>
10580
10581 PR tree-optimization/48611
10582 * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
10583 beyond ERT_MUST_NOT_THROW region.
10584
0eda4033
CM
105852011-04-20 Catherine Moore <clm@codesourcery.com>
10586
10587 * config/mips/mips.opt (mfix-24k): New.
10588 * config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
10589 * config/mips/mips.md (length): Increase by 4 for stores if
10590 fixing 24K errata.
10591 * config/mips/mips.c (mips_reorg_process_insns): Do not allow
10592 all noreorder if fixing 24K errata.
10593 * doc/invoke.texi: Document mfix-24k.
10594
01475747
CLT
105952011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
10596
10597 * config/arm/arm.c (arm_legitimize_reload_address): For NEON
2894086e 10598 quad-word modes, reduce to 9-bit index range when above 1016 limit.
01475747 10599
bc2c1a60
AS
106002011-04-20 Andrew Stubbs <ams@codesourcery.com>
10601
10602 * config/arm/arm.c (arm_gen_constant): Move movw support ....
10603 (const_ok_for_op): ... to here.
10604
583722ee
KT
106052011-04-20 Kai Tietz <ktietz@redhat.com>
10606
2894086e
UB
10607 * fold-const.c (fold_binary_loc): Add handling for (X & ~Y) | (~X & Y)
10608 and (X && !Y) | (!X && Y) optimization to (X ^ Y).
583722ee 10609
422c0989
AS
106102011-04-20 Andrew Stubbs <ams@codesourcery.com>
10611
10612 * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
10613
d7978bff
RG
106142011-04-20 Richard Guenther <rguenther@suse.de>
10615
10616 PR tree-optimization/47892
10617 * tree-if-conv.c (if_convertible_stmt_p): Const builtins
10618 are if-convertible.
10619
818412ba
EB
106202011-04-20 Eric Botcazou <ebotcazou@adacore.com>
10621
10622 * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
10623
b501ce4e
TG
106242011-04-20 Tristan Gingold <gingold@adacore.com>
10625
10626 * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
10627
516edfdd
GJL
106282011-04-20 Georg-Johann Lay <avr@gjlay.de>
10629
10630 PR target/18145
10631
10632 * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
10633 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
10634 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
10635 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
10636 (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
10637
10638 * config/avr/avr-protos.h (avr_asm_output_aligned_common):
10639 New prototype.
10640
10641 * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
10642 (avr_asm_named_section, avr_asm_output_aligned_common,
10643 avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
10644 New functions to update...
10645 (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
10646 (avr_asm_init_sections): Overwrite section callbacks for
10647 data_section, bss_section.
10648 (avr_file_start): Move output of __do_copy_data, __do_clear_bss
10649 from here to...
10650 (avr_file_end): ...here.
10651
dafc9511
RG
106522011-04-20 Richard Guenther <rguenther@suse.de>
10653
10654 PR middle-end/48695
10655 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2894086e 10656 objects and types here. Adjust for their offset before comparing.
dafc9511 10657
1da0876c
RS
106582011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
10659
10660 * tree-vect-stmts.c (vectorizable_store): Only chain one related
10661 statement per copy.
10662
25583c4f
RS
106632011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
10664
10665 * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
10666 (GIMPLE_H): Include $(INTERNAL_FN_H).
10667 (OBJS-common): Add internal-fn.o.
10668 (internal-fn.o): New rule.
10669 * internal-fn.def: New file.
10670 * internal-fn.h: Likewise.
10671 * internal-fn.c: Likewise.
10672 * gimple.h: Include internal-fn.h.
10673 (GF_CALL_INTERNAL): New gf_mask.
10674 (gimple_statement_call): Put fntype into a union with a new
10675 internal_fn field.
10676 (gimple_build_call_internal): Declare.
10677 (gimple_build_call_internal_vec): Likewise.
10678 (gimple_call_same_target_p): Likewise.
10679 (gimple_call_internal_p): New function.
10680 (gimple_call_internal_fn): Likewise.
10681 (gimple_call_fntype): Return null for internal calls.
10682 (gimple_call_set_fntype): Assert that the function is not internal.
10683 (gimple_call_set_fn): Likewise.
10684 (gimple_call_set_fndecl): Likewise.
10685 (gimple_call_set_internal_fn): New function.
10686 (gimple_call_addr_fndecl): Handle null functions.
10687 (gimple_call_return_type): Likewise null types.
10688 * gimple.c (gimple_build_call_internal_1): New function.
10689 (gimple_build_call_internal): Likewise.
10690 (gimple_build_call_internal_vec): Likewise.
10691 (gimple_call_same_target_p): Likewise.
10692 (gimple_call_flags): Handle calls to internal functions.
10693 (gimple_call_fnspec): New function.
10694 (gimple_call_arg_flags, gimple_call_return_flags): Use it.
10695 (gimple_has_side_effects): Handle null functions.
10696 (gimple_rhs_has_side_effects): Likewise.
10697 (gimple_call_copy_skip_args): Handle calls to internal functions.
10698 * cfgexpand.c (expand_call_stmt): Likewise.
10699 * expr.c (expand_expr_real_1): Assert that the call isn't internal.
10700 * gimple-fold.c (gimple_fold_call): Handle null functions.
10701 (gimple_fold_stmt_to_constant_1): Don't fold
10702 calls to internal functions.
10703 * gimple-low.c (gimple_check_call_args): Handle calls to internal
10704 functions.
10705 * gimple-pretty-print.c (dump_gimple_call): Likewise.
10706 * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
10707 * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
10708 (do_warn_unused_result): Likewise.
10709 * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
10710 * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
10711 * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
10712 the target of a call.
10713 (initialize_hash_element): Update accordingly.
10714 (hashable_expr_equal_p): Use gimple_call_same_target_p.
10715 (iterative_hash_hashable_expr): Handle calls to internal functions.
10716 (print_expr_hash_elt): Likewise.
10717 * tree-ssa-pre.c (can_value_number_call): Likewise.
10718 (eliminate): Handle null functions.
10719 * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
10720 * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
10721 (find_func_aliases): Likewise.
10722 * value-prof.c (gimple_ic_transform): Likewise.
10723 (gimple_indirect_call_to_profile): Likewise.
10724 * lto-streamer-in.c (input_gimple_stmt): Likewise.
10725 * lto-streamer-out.c (output_gimple_stmt): Likewise.
10726
1a3118e9
JH
107272011-04-19 Jan Hubicka <jh@suse.cz>
10728
10729 * ipa-inline-transform.c (save_inline_function_body): Add comments.
9d12f71a
EB
10730 * ipa-inline.c (inline_small_functions): Compute summaries first,
10731 populate heap later.
1a3118e9 10732
fee8b6da
JH
107332011-04-19 Jan Hubicka <jh@suse.cz>
10734
10735 * cgraph.h (save_inline_function_body): Remove.
10736 * ipa-inline-transform.c: New file, broke out of...
10737 * ipa-inline.c: ... this one; Update toplevel comment.
10738 (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
10739 make global.
10740 (update_noncloned_frequencies): Move to ipa-inline-transform.c
10741 (cgraph_mark_inline_edge): Rename to inline_call; move to
10742 ipa-inline-transform.c.
10743 (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
10744 move to ipa-inline-transform.c
10745 (recursive_inlining, inline_small_functions, flatten_function,
10746 ipa_inline, inline_always_inline_functions,
10747 early_inline_small_functions): Update.
10748 (inline_transform): Move to ipa-inline-transform.c.
10749 * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
10750 Declare.
10751 * Makefile.in (ipa-inline-transform.o): New file.
10752 * cgraphunit.c (save_inline_function_body): Move to
10753 ipa-inline-transform.c
10754
f0679612
DD
107552011-04-19 DJ Delorie <dj@redhat.com>
10756
10757 * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
10758 registers if we already know there aren't any.
10759 (m32c_emit_epilogue): Don't emit a barrier here.
10760 (m32c_emit_eh_epilogue): Likewise.
10761 * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
10762 operands at expand time.
10763 * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
10764 int" wchar type.
10765 (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
10766 duplicates. Provide aliases instead.
10767 * config/m32c/prologue.md (eh_return): Emit a barrier here.
10768 (eh_epilogue): Add a "(return)" here as a hint to other parts of
10769 the compiler.
10770
32257ddc
AS
107712011-04-19 Anatoly Sokolov <aesok@post.ru>
10772
10773 * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
10774 * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
10775 (general_or_i64_p, sparc_register_move_cost): New function.
10776
60bea929
RO
107772011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10778
10779 * doc/install.texi (Configuration, --enable-threads): Remove mach.
3b84d61f 10780 Add lynx, mipssde. Sort table.
60bea929 10781
444b3995 107822011-04-19 Xinliang David Li <davidxl@google.com>
3b84d61f 10783
9d12f71a
EB
10784 * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
10785 not negative.
444b3995 10786
d708ce50
JJ
107872011-04-19 Jakub Jelinek <jakub@redhat.com>
10788
10789 PR target/48678
10790 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
10791 is a SUBREG with non-MODE_INT mode inside of it.
10792
49c471e3
MJ
107932011-04-19 Martin Jambor <mjambor@suse.cz>
10794
10795 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
10796 also according to actual contants.
10797 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
10798 (gimple_fold_call): Use it.
10799 * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
10800
0004f992
MJ
108012011-04-19 Martin Jambor <mjambor@suse.cz>
10802
10803 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
10804 non-pointer assignments.
10805
40591473
MJ
108062011-04-19 Martin Jambor <mjambor@suse.cz>
10807
10808 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
10809 account anc_offset and otr_type from the indirect edge info.
10810 * ipa-prop.c (get_ancestor_addr_info): New function.
10811 (compute_complex_ancestor_jump_func): Assignment analysis moved to
10812 get_ancestor_addr_info, call it.
10813 (ipa_note_param_call): Do not initialize information about polymorphic
10814 calls, return the indirect call graph edge. Remove the last
10815 parameter, adjust all callers.
10816 (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
10817 parameters. Initialize polymorphic information in the indirect edge.
10818
abe36b81
EB
108192011-04-19 Eric Botcazou <ebotcazou@adacore.com>
10820
10821 PR lto/48148
10822 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
10823 the types if they have different enumeration identifiers.
10824
e6416b30
JH
108252011-04-19 Jan Hubicka <jh@suse.cz>
10826
10827 * cgraph.h (cgraph_optimize_for_size_p): Declare.
10828 * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
10829 * predict.c (cgraph_optimize_for_size_p): Break out from ...
10830 (optimize_function_for_size_p) ... here.
10831
d39132ea
RG
108322011-04-19 Richard Guenther <rguenther@suse.de>
10833
10834 PR lto/48207
10835 * tree.c (free_lang_data): Do not reset the decl-assembler-name
10836 langhook.
10837
ff7037dc
EB
108382011-04-19 Eric Botcazou <ebotcazou@adacore.com>
10839
10840 * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
10841 if DECL_NO_INLINE_WARNING_P is set on the function.
10842
c1ee2892
BS
108432011-04-19 Bernd Schmidt <bernds@codesourcery.com>
10844
10845 PR fortran/47976
10846 * reload1.c (inc_for_reload): Return void. All callers changed.
10847 (emit_input_reload_insns): Don't try to delete previous output
10848 reloads to a register, or record spill_reg_store for autoincs.
fbb20b29
BS
10849
108502011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
10851
10852 * gengtype.h: Updated copyright year.
10853 (struct input_file_st): Add inpisplugin field.
10854 (type_fileloc): New function.
10855 * gengtype.c
10856 (write_typed_struct_alloc_def): Add gcc_assert.
10857 (write_typed_alloc_defns): Ditto. Don't output for plugin files.
10858 (write_typed_alloc_defns): Don't output for plugin files.
10859 (input_file_by_name): Clear inpisplugin field.
10860 (main): Set inpisplugin field for plugin files.
10861
897e0a89
NP
108622011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
10863
10864 * gengtype-state.c (string_eq): New.
10865 (read_state): Use string_eq instead of strcmp when creating the
10866 state_ident_tab.
10867
363ee90e
WG
108682011-04-19 Wei Guozhi <carrot@google.com>
10869
10870 PR target/47855
10871 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
10872 * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
10873 linkage.
10874 * config/arm/constraints.md (Uu): New constraint.
10875 * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
10876
18a24fed
TG
108772011-04-19 Tristan Gingold <gingold@adacore.com>
10878
10879 * config.gcc (-*-*-*vms): Added.
10880 (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
10881 definitions moved.
10882 * config/vms/vms-ld.c: New file.
10883 * config/vms/vms-ar.c: New file.
10884 * config/vms/t-vmsnative: New file.
10885
1c13f168
XDL
108862011-04-18 Xinliang David Li <davidxl@google.com>
10887
10888 * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
10889
84825707
JJ
108902011-04-18 Jakub Jelinek <jakub@redhat.com>
10891
10892 PR middle-end/48661
10893 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
10894 if TREE_TYPE (v) is non-NULL.
10895
10896 * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
10897 gimple_get_virt_mehtod_for_binfo.
10898 * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
10899 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
10900 callers.
10901 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
10902
7d4f8d02 109032011-04-18 Michael Matz <matz@suse.de>
7254cb57
MM
10904 Steve Ellcey <sje@cup.hp.com>
10905
7d4f8d02
EB
10906 * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
10907 use its mode as source mode if it isn't VOIDmode.
7254cb57 10908
474e8e70
DCR
109092011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
10910
10911 * doc/passes.texi: Fill crossref nodes.
10912
cff41484
JM
109132011-04-18 Jim Meyering <meyering@redhat.com>
10914
7d4f8d02 10915 Fix doubled-word typos in comments and strings
cff41484
JM
10916 * config/alpha/vms-unwind.h: s/for for/for/
10917 * config/arm/unwind-arm.h: Likewise.
10918 * config/microblaze/microblaze.c: Likewise.
10919 * config/sh/constraints.md: s/in in/in/
10920 * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
10921
f60c2554
UB
109222011-04-18 Uros Bizjak <ubizjak@gmail.com>
10923
10924 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
10925 (AVX_FLOAT_MODE_P): Ditto.
10926 (AVX128_VEC_FLOAT_MODE_P): Ditto.
10927 (AVX256_VEC_FLOAT_MODE_P): Ditto.
10928 (AVX_VEC_FLOAT_MODE_P): Ditto.
10929 * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
10930 (UNSPEC_MASKSTORE): Ditto.
10931 * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
10932 Merge from <sse>_movmsk<ssemodesuffix> and
10933 avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
10934 (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
10935 iterator.
10936 (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
10937 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
10938 (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
10939
09a2806f
JH
109402011-04-18 Jan Hubicka <jh@suse.cz>
10941
8a8dccb2
JH
10942 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
10943
09a2806f
JH
10944 * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
10945 (want_inline_function_called_once_p): Break out the logic from
10946 ipa_inline.
10947 (edge_badness): Ensure that profile is not misupdated.
10948 (lookup_recursive_calls): Prioritize by call frequencies.
10949 (inline_small_functions): Move program size estimates here;
10950 actually process whole queue even when unit growth has been
10951 met. (to properly compute inline_failed reasons and for the
f60c2554 10952 case unit size decrease.) Revisit comments on recursive inlining.
09a2806f
JH
10953 (ipa_inline): Remove unit summary code; first inline hot calls
10954 of functions called once, cold calls next.
10955 (order, nnodes): Remove unused variables.
10956 * Makefile.in (ipa-inline.o): No longer depent on ggc files.
10957 (GTFILES): Remove ipa-inline.c
10958 * sel-sched.c (fill_insns): Silence uninitialized var warning.
10959
3eea52ef
EB
109602011-04-18 Eric Botcazou <ebotcazou@adacore.com>
10961
10962 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
10963
229a1c59 109642011-04-18 Jie Zhang <jie@codesourcery.com>
3eea52ef 10965 Richard Earnshaw <rearnsha@arm.com>
229a1c59
JZ
10966
10967 * arm.c (neon_builtin_type_bits): Remove.
10968 (typedef enum neon_builtin_mode): New.
10969 (T_MAX): Don't define.
10970 (typedef enum neon_builtin_datum): Remove bits, codes[],
10971 num_vars and base_fcode. Add mode, code and fcode.
10972 (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
10973 VAR10): Change accordingly.
10974 (neon_builtin_data[]): Change accordingly
10975 (arm_init_neon_builtins): Change accordingly.
10976 (neon_builtin_compare): Remove.
10977 (locate_neon_builtin_icode): Remove.
10978 (arm_expand_neon_builtin): Change accordingly.
10979
10980 * arm.h (enum arm_builtins): Move to ...
10981 * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
10982
10983 * arm.c (arm_builtin_decl): Declare.
10984 (TARGET_BUILTIN_DECL): Define.
10985 (enum arm_builtins): Correct ARM_BUILTIN_MAX.
10986 (arm_builtin_decls[]): New.
10987 (arm_init_neon_builtins): Store builtin declarations in
10988 arm_builtin_decls[].
10989 (arm_init_tls_builtins): Likewise.
10990 (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
10991 (arm_builtin_decl): New.
10992
75e802cc
RG
109932011-04-18 Richard Guenther <rguenther@suse.de>
10994
10995 * tree.c (upper_bound_in_type): Build properly canonicalized
10996 INTEGER_CSTs.
10997 (lower_bound_in_type): Likewise.
10998
3b45a007
RG
109992011-04-18 Richard Guenther <rguenther@suse.de>
11000
11001 * gimple.h (gimple_call_addr_fndecl): New function.
11002 (gimple_call_fndecl): Use it.
11003 * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
11004 for direct calls.
11005 * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
11006 * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
11007
d25a79ea
RG
110082011-04-18 Richard Guenther <rguenther@suse.de>
11009
11010 PR middle-end/48650
11011 * tree.c (build_string): STRING_CST is now derived from tree_typed.
11012
7d5fc814
EB
110132011-04-18 Eric Botcazou <ebotcazou@adacore.com>
11014
11015 PR lto/48492
11016 * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
11017 DECL_IN_CONSTANT_POOL without RTL.
11018
7e7cfcf6
UW
110192011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
11020 Ira Rosen <ira.rosen@linaro.org>
11021
11022 PR target/48252
11023 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
11024 to match neon_vzip/vuzp/vtrn_internal.
11025 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
11026 outputs explicitly dependent on both inputs.
11027 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
11028
49eab32e
JJ
110292011-04-18 Jakub Jelinek <jakub@redhat.com>
11030
11031 PR tree-optimization/48616
11032 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
11033 whether the shift is by scalar or vector based on whether all SLP
11034 scalar stmts have the same rhs.
11035
e54170f4
CLT
110362011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
11037
11038 * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
11039 memory operands.
11040
b14ee6c9
RS
110412011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
11042
269e0e18 11043 PR target/43700
b14ee6c9
RS
11044 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
11045 registers.
11046
10158cd3
JH
110472011-04-17 Jan Hubicka <jh@suse.cz>
11048
11049 * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
7d5fc814
EB
11050 * cgrpahunit.c (cgraph_finalize_function): Do not set
11051 finalized_by_frontend.
10158cd3
JH
11052 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
11053 finalized_by_frontend.
11054
2e9bb6ba
JH
110552011-04-17 Jan Hubicka <jh@suse.cz>
11056
11057 * cgraph.c (cgraph_clone_node): Do not handle vtable_method
11058 * cgraph.h (struct cgraph_local_info): Drop vtable_method.
11059 * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
7d5fc814
EB
11060 * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
11061 method.
2e9bb6ba
JH
11062 * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
11063 gimple-fold.c
11064 * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
11065
beb628e1
EB
110662011-04-17 Eric Botcazou <ebotcazou@adacore.com>
11067
11068 PR lto/48538
11069 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
11070 is non-null before accessing it.
11071 (input_cgraph): Remove trailing spaces.
11072
3e2fdd24
RE
110732011-04-17 Revital Eres <revital.eres@linaro.org>
11074
11075 * params.def (sms-min-sc): New param flag.
11076 * modulo-sched.c (sms_schedule): Use it.
11077 * doc/invoke.texi (sms-min-sc): Document it.
11078
4c0f7679
JH
110792011-04-17 Jan Hubicka <jh@suse.cz>
11080
11081 * lto-symtab.c (lto_cgraph_replace_node): When call statement is
11082 present, also set gimple_call_set_cannot_inline.
11083 * ipa-inline.c: Update toplevel comment.
11084 (MAX_TIME): Remove.
11085 (cgraph_clone_inlined_nodes): Fix linebreaks.
11086 (cgraph_check_inline_limits): Restructure to ...
11087 (caller_growth_limits): ... this one; be more tolerant
11088 on growth in nested inline chains; add explanatory comment;
11089 fix stack accounting thinko introduced by previous patch.
11090 (cgraph_default_inline_p): Remove.
11091 (report_inline_failed_reason): New function.
11092 (can_inline_edge_p): New function.
11093 (can_early_inline_edge_p): New function.
11094 (leaf_node_p): Move upwards in file.
11095 (want_early_inline_function_p): New function.
11096 (want_inline_small_function_p): New function.
11097 (want_inline_self_recursive_call_p): New function.
11098 (cgraph_edge_badness): Rename to ...
11099 (edge_badness) ... this one; fix linebreaks.
11100 (update_edge_key): Update call of edge_baddness; add
11101 detailed dump about queue updates.
11102 (update_caller_keys): Use can_inline_edge_p and
11103 want_inline_small_function_p.
11104 (cgraph_decide_recursive_inlining): Rename to...
11105 (recursive_inlining): Use can_inline_edge_p and
f60c2554
UB
11106 want_inline_self_recursive_call_p; simplify and remove no longer
11107 valid FIXME.
4c0f7679
JH
11108 (cgraph_set_inline_failed): Remove.
11109 (add_new_edges_to_heap): Use can_inline_edge_p and
11110 want_inline_small_function_p.
11111 (cgraph_decide_inlining_of_small_functions): Rename to ...
11112 (inline_small_functions): ... this one; cleanup; use
f60c2554
UB
11113 can/want predicates; cleanup debug ouput; work edges till fibheap
11114 is exhausted and do not stop once unit growth is reached; remove
11115 later loop processing remaining edges.
4c0f7679
JH
11116 (cgraph_flatten): Rename to ...
11117 (flatten_function): ... this one; use can_inline_edge_p
11118 and can_early_inline_edge_p predicates.
11119 (cgraph_decide_inlining): Rename to ...
11120 (ipa_inline): ... this one; remove unreachable nodes before
11121 inlining functions called once; simplify the pass.
11122 (cgraph_perform_always_inlining): Rename to ...
11123 (inline_always_inline_functions): ... this one; use
f60c2554 11124 DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
4c0f7679
JH
11125 (cgraph_decide_inlining_incrementally): Rename to ...
11126 (early_inline_small_functions): ... this one; simplify
11127 using new predicates; cleanup; make dumps prettier.
11128 (cgraph_early_inlining): Rename to ...
11129 (early_inliner): newer inline regular functions into always-inlines;
11130 fix updating of call stmt summaries.
11131 (pass_early_inline): Update for new names.
11132 (inline_transform): Fix formating.
11133 (gate_cgraph_decide_inlining): Rename to ...
11134 (pass_ipa_inline): ... this one.
11135 * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
11136 * ipa-inline-analysis.c (dump_inline_summary): Update.
11137 (compute_inline_parameters): Do not compute disregard_inline_limits;
11138 look for mismatching arguments.
11139 (estimate_growth): Fix handlig of non-trivial self recursion.
11140 (inline_read_summary): Do not read info->disregard_inline_limits.
11141 (inline_write_summary): Do not write info->disregard_inline_limits.
beb628e1
EB
11142 * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
11143 and move all checks into can_inline_edge_p predicate; re-enable code
11144 comparing optimization levels.
4c0f7679
JH
11145 (expand_call_inline): Do not test inline_forbidden_into_p.
11146 * Makefile.in (ipa-inline.o): Update arguments.
11147
54333b7c
RE
111482011-04-17 Revital Eres <revital.eres@linaro.org>
11149
11150 * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
11151
42c2bf92
RE
111522011-04-17 Revital Eres <revital.eres@linaro.org>
11153
11154 * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
11155
b183e9e0
MM
111562011-04-17 Michael Matz <matz@suse.de>
11157
11158 PR tree-optimization/48622
11159 PR lto/48645
11160 * ipa-inline-analysis.c (inline_read_summary): Read size/time
11161 in same order as they're written.
11162
b8a17fa2
JDA
111632011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11164
11165 * config/pa/predicates.md: Reorganize and simplify predicates.
11166 Eliminate duplicate code checks.
11167 (arith_operand): Rename to arith14_operand
11168 (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
11169 * config/pa/pa.md: Use renamed operands.
11170 * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
11171 (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
11172 arith11_operand, adddi3_operand, indexed_memory_operand,
11173 symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
11174 arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
11175 borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
11176 move_dest_operand, move_src_operand, prefetch_cc_operand,
11177 prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
11178 uint32_operand, reg_before_reload_operand, reg_or_0_operand,
11179 reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
11180 div_operand, int5_operand, movb_comparison_operator,
11181 ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
11182 arith_double_operand, ireg_operand, lhs_lshift_operand,
11183 pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
11184 integer_store_memory_operand): Likewise.
11185 * config/pa/pa.c (adddi3_operand): Move to predicates.md.
11186 (integer_store_memory_operand, read_only_operand,
11187 function_label_operand, borx_reg_operand,
11188 non_hard_reg_operand): Likewise.
11189 (eq_neq_comparison_operator): Delete unused operator.
11190 (legitimize_pic_address): Use VOIDmode for mode argument in calls to
11191 function_label_operand.
11192 (emit_move_sequence): Likewise.
11193
8dfb9f16
UB
111942011-04-16 Uros Bizjak <ubizjak@gmail.com>
11195
11196 * config/i386/sse.md (sseunpackmode): New mode attribute.
11197 (ssepackmode): Ditto.
11198 (vec_pack_trunc_<mode>): Macroize expander from
11199 vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
11200 (vec_unpacks_lo_<mode>): Macroize expander from
11201 vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
11202 (vec_unpacks_hi_<mode>): Macroize expander from
11203 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
11204 (vec_unpacku_lo_<mode>): Macroize expander from
11205 vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
11206 (vec_unpacku_hi_<mode>): Macroize expander from
11207 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
11208 * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
11209 ix86_expand_sse4_unpack.
11210 * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
11211
e7f23018
JH
112122011-04-16 Jan Hubicka <jh@suse.cz>
11213
11214 * cgraphbuild.c: Include ipa-inline.h.
11215 (reset_inline_failed): Use initialize_inline_failed.
11216 * cgraph.c: Include ipa-inline.h.
11217 (cgraph_create_node_1): Do not initialize estimated_growth.
11218 (initialize_inline_failed): More to ipa-inline-analysis.c
11219 (dump_cgraph_node): Do not dump inline flags.
11220 * cgraph.h (cgraph_local_info): Remove inlineable, versionable
11221 and disregard_inline_limits flags.
11222 (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
11223 time, size, estimated_growth.
8dfb9f16
UB
11224 * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
11225 Update.
e7f23018
JH
11226 * cgraphunit.c (cgraph_decide_is_function_needed): Use
11227 DECL_DISREGARD_INLINE_LIMITS.
11228 (cgraph_analyze_function): Do not initialize
11229 node->local.disregard_inline_limits.
11230 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
11231 inlinable, versionable and disregard_inline_limits.
11232 * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
8dfb9f16
UB
11233 cgraph_check_inline_limits, cgraph_default_inline_p,
11234 cgraph_edge_badness, update_caller_keys, update_callee_keys,
11235 add_new_edges_to_heap): Update.
11236 (cgraph_decide_inlining_of_small_function): Update; set
11237 CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
e7f23018
JH
11238 (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
11239 cgraph_decide_inlining_incrementally): Update.
8dfb9f16
UB
11240 * ipa-inline.h (inline_summary): Add inlinable, versionable,
11241 disregard_inline_limits, estimated_stack_size, stack_frame_offset,
11242 time, size and estimated_growth parameters.
e7f23018
JH
11243 (estimate_edge_growth): Update.
11244 (initialize_inline_failed): Declare.
11245 * ipa-split.c: Include ipa-inline.h
11246 (execute_split_functions): Update.
11247 * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
11248 (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
11249 (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
11250 * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
11251 estimated_growth to INT_MIN.
11252 (inline_node_duplication_hook): Likewise.
11253 (dump_inline_summary): Dump new fields.
11254 (compute_inline_parameters): Update.
11255 (estimate_edge_time, estimate_time_after_inlining,
11256 estimate_size_after_inlining, estimate_growth, inline_read_summary,
11257 inline_write_summary):
11258 (initialize_inline_failed): Move here from cgraph.c.
11259 * tree-sra.c: Include ipa-inline.h.
11260 (ipa_sra_preliminary_function_checks): Update.
f60c2554
UB
11261 * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
11262 ipa-inline.h.
e7f23018 11263
e81b8564
UB
112642011-04-16 Uros Bizjak <ubizjak@gmail.com>
11265
11266 * config/i386/sse.md (V16): New mode iterator.
11267 (VI1, VI8): Ditto.
11268 (AVXMODEQI, AVXMODEDI): Remove.
11269 (sse2, sse3): New mode attribute.
11270 (mov<mode>): Use V16 mode iterator.
11271 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
11272 (push<mode>1): Use V16 mode iterator.
11273 (movmisalign<mode>): Ditto.
11274 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
11275 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
11276 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
11277 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
11278 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
11279 avx_movdqu<avxmodesuffix>.
11280 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
11281 *avx_movdqu<avxmodesuffix>.
11282 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
11283 avx_lddqu<avxmodesuffix>.
11284 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
11285 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
11286 avx_movnt<AVXMODEDI:mode>.
11287 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
11288 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
11289
4743d438
BS
112902011-04-16 Bernd Schmidt <bernds@codesourcery.com>
11291
11292 PR target/48629
11293 * haifa-sched.c (prune_ready_list, schedule_block): Use
11294 sched_pressure_p rather than flag_sched_pressure.
11295
748f7574 112962011-04-15 Pat Haugen <pthaugen@us.ibm.com>
eb229cf4
PH
11297
11298 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
11299 cgraph_get_node instead of cgraph_get_create_node.
11300
2ba172e0
JJ
113012011-04-15 Jakub Jelinek <jakub@redhat.com>
11302
11303 * cfgexpand.c (expand_debug_expr): Use
11304 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
11305
63d2a353
MM
113062011-04-15 Michael Matz <matz@suse.de>
11307
11308 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
11309 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
11310 * function.c (gimplify_parameters): Ditto.
11311 * gimplify.c (gimplify_vla_decl): Ditto.
11312
11313 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
11314 (gimple_call_set_alloca_for_var): New inline function.
11315 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
11316 * gimple.c (gimple_build_call_from_tree): Remember
11317 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
11318 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
11319
11320 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
11321 calls if they were for VLA objects.
11322
dee74c34
MJ
113232011-04-15 Martin Jambor <mjambor@suse.cz>
11324
11325 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
11326 of ADR_EXPRs.
11327
8e5837bc
MJ
113282011-04-15 Martin Jambor <mjambor@suse.cz>
11329
11330 PR middle-end/48601
11331 * tree-emutls.c (lower_emutls_function_body): Call
11332 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
11333 result is non-NULL.
11334
0dc33c3c
NP
113352011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
11336
11337 * c-decl.c (detect_field_duplicates): Call
11338 objc_detect_field_duplicates instead of objc_get_interface_ivars.
11339
edcdea5b
NF
113402011-04-15 Nathan Froyd <froydnj@codesourcery.com>
11341
11342 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
11343 * gimple.c (gimple_asm_clobbers_memory_p): Define.
11344 * ipa-pure-const.c (check_stmt): Call it.
11345 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
11346
8456558d
RG
113472011-04-15 Richard Guenther <rguenther@suse.de>
11348
11349 PR tree-optimization/48290
11350 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
11351 Properly decide inhibiting propagation based on the valueized
11352 operand. Do loop-closed SSA form preserving here ...
11353 (init_copy_prop): ... not here.
11354
266446be
L
113552011-04-15 H.J. Lu <hongjiu.lu@intel.com>
11356
11357 PR target/48612
11358 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
11359 (*ieee_smax<mode>3): Likewise.
11360
17465c6e
AK
113612011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11362
11363 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
11364 Replace match_operand with match_dup for the third operand in
11365 these expanders.
11366
bce204e5
MK
113672011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
11368
11369 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
11370 to track processing of conditionals. Update all callers.
11371 (try_combine, simplify_if_then_else): Update.
11372
3162fdf4
MK
113732011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
11374
11375 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
11376 -fsched-pressure.
11377
79002a57 113782011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 11379
79002a57
GJL
11380 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
11381 instead of match_operand for operand 3.
11382
4fd3a105
RS
113832011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
11384
11385 * recog.h (insn_operand_data): Add an "allows_mem" field.
11386 * genoutput.c (output_operand_data): Initialize it.
11387 * optabs.c (maybe_legitimize_operand_same_code): New function.
11388 (maybe_legitimize_operand): Use it when matching the original
11389 op->value.
11390
ad19c4be
EB
113912011-04-15 Eric Botcazou <ebotcazou@adacore.com>
11392
11393 * gimplify.c: Fix issues in comments throughout.
11394 (voidify_wrapper_expr): Fix long line.
11395 (build_stack_save_restore): Likewise.
11396 (gimplify_loop_expr): Likewise.
11397 (gimplify_compound_lval): Likewise.
11398 (gimplify_init_ctor_eval): Likewise.
11399 (gimplify_modify_expr_rhs): Likewise.
11400 (omp_notice_threadprivate_variable): Likewise.
11401
b25aa0e8 114022011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 11403
b25aa0e8
EB
11404 * cfgexpand.c (expand_call_stmt): Convert the function type to the
11405 original one if this is not a builtin function.
e7925582 11406
09db7afe
JJ
114072011-04-14 Jakub Jelinek <jakub@redhat.com>
11408
11409 PR target/48605
11410 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
11411 offset it as needed based on top 2 bits in operands[3], change
11412 MEM mode to SFmode and mask those 2 bits away from operands[3].
11413
c59633d9
NP
114142011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
11415
11416 * c-parser.c (c_parser_objc_protocol_definition): Updated for
11417 change from objc_declare_protocols() to objc_declare_protocol().
11418
5e60198b
UB
114192011-04-14 Uros Bizjak <ubizjak@gmail.com>
11420
11421 * config/i386/sse.md (sse4_1): New mode attribute.
11422 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
11423 avx_blend<ssemodesuffix><avxmodesuffix> and
11424 sse4_1_blend<ssemodesuffix> using VF mode iterator.
11425 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
11426 avx_blendv<ssemodesuffix><avxmodesuffix> and
11427 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
11428 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
11429 avx_dp<ssemodesuffix><avxmodesuffix> and
11430 sse4_1_dp<ssemodesuffix> using VF mode iterator.
11431 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
11432 (sse4_1_packusdw): Merge with *avx_packusdw.
11433 (sse4_1_pblendvb): Merge with *avx_pblendvb.
11434 (sse4_1_pblendw): Merge with *avx_pblendw.
11435 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
11436 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
11437 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
11438 VF mode iterator.
11439 (sse4_1_round<ssescalarmodesuffix>): Merge with
11440 *avx_round<ssescalarmodesuffix>.
11441 (aesenc): Merge with *avx_aesenc.
11442 (aesenclast): Merge with *avx_aesenclast.
11443 (aesdec): Merge with *avx_aesdec.
11444 (aesdeclast): Merge with *avx_aesdeclast.
11445 (pclmulqdq): Merge with *pclmulqdq.
11446 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
11447 New predicate.
11448 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
11449
6f197850
L
114502011-04-14 H.J. Lu <hongjiu.lu@intel.com>
11451
11452 PR middle-end/48608
11453 * cfgexpand.c (get_decl_align_unit): Renamed to ...
11454 (align_local_variable): This. Update DECL_ALIGN.
11455 (add_stack_var): Updated.
11456 (expand_one_stack_var): Likewise.
11457
4a5ba3ed
RG
114582011-04-14 Richard Guenther <rguenther@suse.de>
11459
11460 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
11461 Remove.
11462 (dse_initialize_block_local_data, dse_leave_block,
11463 record_voperand_set, get_stmt_uid): Likewise.
11464 (dse_possible_dead_store_p): Allow any kind of killing stmt.
11465 (dse_optimize_stmt): Remove voperand set handling code.
11466 Simplify and improve to handle any kind of killing stmt.
11467 (dse_record_phi): Remove.
11468 (dse_enter_block): Simplify.
11469 (tree_ssa_dse): Likewise.
11470 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
11471
10a5dd5d
JH
114722011-04-14 Jan Hubicka <jh@suse.cz>
11473
11474 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
11475 * cgraph.h (struct inline_summary): Move to ipa-inline.h
11476 (cgraph_local_info): Remove inline_summary.
11477 * ipa-cp.c: Include ipa-inline.h.
11478 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
11479 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
11480 accesor.
11481 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
11482 (input_overwrite_node): Do not set inline summary.
11483 (input_node): Do not stream inline summary.
11484 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
11485 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
11486 growth; we do not have inline parameters computed for that anyway.
11487 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
11488 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
11489 (inline_summary_t): New type and VECtor.
11490 (debug_inline_summary, dump_inline_summaries): Declare.
11491 (inline_summary): Use VOCtor.
11492 (estimate_edge_growth): Kill hack computing call stmt size directly.
11493 * lto-section-in.c (lto_section_name): Add inline section.
11494 * ipa-inline-analysis.c: Include lto-streamer.h
11495 (node_removal_hook_holder, node_duplication_hook_holder): New holders
11496 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
11497 (inline_summary_vec): Define.
11498 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
11499 dump_inline_summaries): New functions.
5e60198b
UB
11500 (estimate_function_body_sizes): Properly compute size/time of outgoing
11501 calls.
11502 (compute_inline_parameters): Alloc inline_summary; do not compute
11503 size/time of incomming calls.
10a5dd5d
JH
11504 (estimate_edge_time): Avoid missing time summary hack.
11505 (inline_read_summary): Read inline summary info.
11506 (inline_write_summary): Write inline summary info.
11507 (inline_free_summary): Free all hooks and inline summary vector.
11508 * lto-streamer.h: Add LTO_section_inline_summary section.
11509 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
11510 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
11511
b602d918
RS
115122011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
11513
11514 * tree-vectorizer.h (vect_strided_store_supported): Add a
11515 HOST_WIDE_INT argument.
11516 (vect_strided_load_supported): Likewise.
11517 (vect_permute_store_chain): Return void.
11518 (vect_transform_strided_load): Likewise.
11519 (vect_permute_load_chain): Delete.
11520 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
11521 count argument. Check that the count is a power of two.
11522 (vect_strided_load_supported): Likewise.
11523 (vect_permute_store_chain): Return void. Update after above changes.
11524 Assert that the access is supported.
11525 (vect_permute_load_chain): Likewise.
11526 (vect_transform_strided_load): Return void.
11527 * tree-vect-stmts.c (vectorizable_store): Update calls after
11528 above interface changes.
11529 (vectorizable_load): Likewise.
11530 (vect_analyze_stmt): Don't check for strided powers of two here.
11531
ab4472fa
RG
115322011-04-14 Richard Guenther <rguenther@suse.de>
11533
11534 PR tree-optimization/48590
11535 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
11536 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
11537 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
11538 BUILT_IN_STACK_SAVE.
11539 * tree-ssa-dce.c (propagate_necessity): Handle
11540 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
11541
32dabdaf
NP
115422011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
11543
11544 * c-parser.c (c_parser_objc_class_declaration): Updated call to
11545 objc_declare_class.
11546
daade206
RG
115472011-04-14 Richard Guenther <rguenther@suse.de>
11548
11549 * tree.h (get_object_alignment_1): Declare.
11550 * builtins.c (get_object_alignment_1): Split out worker from ...
11551 (get_object_alignment): ... here.
11552 * fold-const.c (get_pointer_modulus_and_residue): Use
11553 get_object_alignment_1.
11554
920e8172
RS
115552011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
11556
11557 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
11558 type parameter.
11559 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
11560 parameter. Generalise code to handle arrays as well as vectors.
11561 (vect_setup_realignment): Update accordingly.
11562 * tree-vect-stmts.c (vectorizable_store): Likewise.
11563 (vectorizable_load): Likewise.
11564
5ce1ee7f
RS
115652011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
11566
11567 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
11568 within the per-copy loop.
11569
6438fe33 115702011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
11571
11572 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
11573 in the dump file.
11574
6438fe33 115752011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
11576
11577 * doc/options.texi (Negative): Explicitly mention that the
11578 Negative chain must be circular.
11579
61e46a7d
NF
115802011-04-14 Nathan Froyd <froydnj@codesourcery.com>
11581
11582 * function.h (block_chainon): Declare.
11583 * function.c (block_chainon): Define.
11584
43ea6502 115852011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b 11586 Eric Weddington <eric.weddington@atmel.com>
748f7574 11587 Georg-Johann Lay <avr@gjlay.de>
5e60198b 11588
f60c2554 11589 * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
43ea6502
AS
11590 New Includes
11591 (avr_init_builtins, avr_expand_builtin,
11592 avr_expand_delay_cycles, avr_expand_unop_builtin,
11593 avr_expand_binop_builtin ): New functions.
11594 (avr_builtin_id): New enum
11595 (struct avr_builtin_description): New struct
11596 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
11597 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 11598
43ea6502 11599 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 11600 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
11601 UNSPECV_DELAY_CYCLES): new enumeration values
11602 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
11603 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
11604 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
11605 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
11606 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
11607 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
11608 "fmulsu"): New insns
5e60198b 11609
43ea6502
AS
11610 * config/avr/avr-c.c: fix line endings
11611 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
11612 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
11613 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
11614 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
11615 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 11616
43ea6502
AS
11617 * doc/extend.texi (AVR Built-in Functions): New node
11618 (Target Builtins): Add documentation of AVR
11619 built-in functions.
11620
8a9b55f3
GJL
116212011-04-14 Georg-Johann Lay <avr@gjlay.de>
11622
11623 PR target/44643
11624 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
11625 alone. Error if non-const data has attribute progmem.
11626
94bd1825
NF
116272011-04-13 Nathan Froyd <froydnj@codesourcery.com>
11628
11629 * tree.h (struct tree_constructor): Include tree_typed instead of
11630 tree_common.
11631 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
11632 TS_TYPED instead of TS_COMMON.
11633
5e60198b 116342011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
11635
11636 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
11637 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
11638 (sse2_psadbw): Merge with *avx_psadbw.
11639 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
11640 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
11641 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
11642 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
11643 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
11644 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
11645 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
11646 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
11647 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
11648 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
11649 (ssse3_palignrti): Merge with *avx_palignrti.
11650
4b1a4694
NF
116512011-04-13 Nathan Froyd <froydnj@codesourcery.com>
11652
11653 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
11654 * tree-ssanames.c (fini_ssanames): VEC_free it.
11655 (make_ssa_name_fn): Update for VECness of free_ssanames.
11656 (release_ssa_name, release_dead_ssa_names): Likewise.
11657 * tree.h (struct tree_ssa_name): Include tree_typed instead of
11658 tree_common.
11659 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
11660 TS_TYPED instead of TS_COMMON.
11661
4da3b811
NF
116622011-04-13 Nathan Froyd <froydnj@codesourcery.com>
11663
11664 * postreload-gcse.c (gcse_after_reload_main): Add calls to
11665 statistics_counter_event.
11666 * tree-ssa-copyrename.c (stats): Define.
11667 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
11668 statistics_counter_event.
11669 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
11670 (bswap_stats, widen_mul_stats): Define.
11671 (insert_reciprocals): Increment rdivs_inserted.
11672 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
11673 rfuncs_inserted. Add calls to statistics_counter_event.
11674 (execute_cse_sincos_1): Increment inserted.
11675 (execute_cse_sincos): Zeroize sincos_stats. Add call to
11676 statistics_counter_event.
11677 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
11678 of bswap_stats. Add calls to statistics_counter_event.
11679 (convert_mult_to_widen): Increment widen_mults_inserted.
11680 (convert_plusminus_to_widen): Increment maccs_inserted.
11681 (convert_mult_to_fma): Increment fmas_inserted.
11682 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
11683 calls to statistics_counter_event.
11684
89fa552a
VM
116852011-04-13 Vladimir Makarov <vmakarov@redhat.com>
11686
11687 PR rtl-optimization/48455
11688 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
11689 `temp_costs->mem_cost'.
11690
03dfc36d
JH
116912011-04-13 Jan Hubicka <jh@suse.cz>
11692
11693 * ipa-inline.h: New file.
11694 * ipa-inline-analysis.c: New file. Broken out of ...
11695 * ipa-inline.c: ... this file; update toplevel comment;
11696 include ipa-inline.h
11697 (inline_summary): Move to ipa-inline.h
11698 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
11699 ipa-inline-analysis.c.
7d4f8d02
EB
11700 (cgraph_estimate_time_after_inlining): Rename to
11701 estiamte_time_after_inlining; move to ipa-inline-analysis.c
03dfc36d
JH
11702 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
11703 to estimate_edge_growth.
11704 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
11705 rename to estimate_size_after_inlining.
11706 (cgraph_mark_inline_edge): Update for new naming convention.
11707 (cgraph_check_inline_limits): Likewise.
11708 (cgraph_edge_badness): Likewise.
11709 (cgraph_decide_recursive_inlining): Likewise.
11710 (cgraph_decide_inlining_of_small_functions): Likewise.
11711 (cgraph_decide_inlining_incrementally): Likewise.
7d4f8d02
EB
11712 (cgraph_estimate_growth): Rename to estimate_growth; move to
11713 ipa-inline-analysis.c.
03dfc36d
JH
11714 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
11715 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
11716 (compute_inline_parameters): Likewise.
11717 (compute_inline_parameters_for_current): Likewise.
11718 (pass_inline_parameters): Likewise.
11719 (inline_indirect_intraprocedural_analysis): Likewise.
11720 (analyze_function): Rename to inline_analyze_function; likewise.
11721 (add_new_function): Move to ipa-inline-analysis.c.
11722 (inline_generate_summary): Likewise.
11723 (inline_read_summary): Likewise.
11724 (inline_write_summary): Likewise.
11725 * Makefile.in (ipa-inline-analysis.c): New file.
11726
7673c962
RO
117272011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11728
11729 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
11730 * configure: Regenerate.
11731
9698252f
NF
117322011-04-13 Nathan Froyd <froydnj@codesourcery.com>
11733
11734 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
11735 instead of tree_common.
11736 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
11737 Likewise.
11738 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
11739 TS_TYPED rather than TS_COMMON.
11740 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
11741
3a7bfdd5
GJL
117422011-04-01 Georg-Johann Lay <avr@gjlay.de>
11743
11744 PR target/45263
86d83530
GJL
11745 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
11746 r20 around calls of __tablejump_elpm__
3a7bfdd5 11747
20790697
JJ
117482011-04-13 Jakub Jelinek <jakub@redhat.com>
11749
11750 PR middle-end/48591
11751 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
11752 NULL.
11753 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
11754
094d7661
BS
117552011-04-13 Bernd Schmidt <bernds@codesourcery.com>
11756
11757 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
11758 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
11759 (cfi_vec): New typedef.
11760 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
11761 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
11762 (cie_cfi_vec): New static variable.
11763 (cie_cfi_head): Delete.
11764 (add_cfi): Accept a cfi_vec * as first argument. All callers and
11765 declaration changed. Use vector rather than list operations.
11766 (new_cfi): Don't initialize the dw_cfi_next field.
11767 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
11768 rather than list operations.
11769 (lookup_cfa): Use vector rather than list operations.
11770 (output_cfis): New argument upto. Accept a cfi_vec rather than
11771 a dw_cfi_ref list head as argument. All callers changed.
11772 Iterate over the vector using upto as a maximum index.
11773 (output_all_cfis): New static function.
11774 (output_fde): Use vector rather than list operations. Use the
11775 new upto argument for output_cfis rather than manipulating a
11776 list.
11777 (dwarf2out_begin_prologue): Change initializations to match
11778 new struct members.
11779 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
11780 from the vector length rather than searching for the end of a list.
11781 Use output_all_cfis.
11782 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
11783
673a5740
NC
117842011-04-13 Nick Clifton <nickc@redhat.com>
11785
11786 * config/rx/rx.md (movmemsi): Do not use this pattern when
11787 volatile pointers are involved.
11788
1ee8b298
UB
117892011-04-13 Uros Bizjak <ubizjak@gmail.com>
11790
11791 * config/i386/sse.md (pinsrbits): Remove.
11792 (sse2_packsswb): Merge with *avx_packsswb.
11793 (sse2_packssdw): Merge with *avx_packssdw.
11794 (sse2_packuswb): Merge with *avx_packuswb.
11795 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
11796 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
11797 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
11798 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
11799 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
11800 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
11801 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
11802 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
11803 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
11804 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
11805 (sse2_loadld): Merge with *avx_loadld.
11806 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
11807 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
11808 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
11809 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
11810 (vec_concatv2di): Merge with *vec_concatv2di_avx.
11811
81f653d6
NF
118122011-04-12 Nathan Froyd <froydnj@codesourcery.com>
11813
11814 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
11815 calling TREE_CHAIN.
11816 * print-tree.c (print_node): Likewise.
11817 * tree-inline.c (copy_tree_r): Likewise.
11818 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
11819 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
11820 instead of TS_COMMON.
11821 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
11822 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
11823 (copy_node_stat): Zero TREE_CHAIN only if necessary.
11824 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
11825 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
11826 ...and these...
11827 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
11828 * tree.h: ...here.
11829 (TREE_CHAIN): Check for a TS_COMMON structure.
11830 (TREE_TYPE): Check for a TS_TYPED structure.
11831
748f7574 118322011-04-12 Pat Haugen <pthaugen@us.ibm.com>
ed940a4a
PH
11833
11834 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
11835 cgraph_get_create_node instead of cgraph_node.
11836
eb345401
NP
118372011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
11838
11839 * c-parser.c (c_parser_initelt): Updated call to
11840 objc_build_message_expr.
11841 (c_parser_postfix_expression): Likewise.
11842
a6c46762
KT
118432011-04-12 Kai Tietz <ktietz@redhat.com>
11844
11845 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
11846 MASK_MS_BITFIELD_LAYOUT bit.
11847
b4ccfed9
JJ
118482011-04-12 Jakub Jelinek <jakub@redhat.com>
11849
11850 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
11851 assert it is always true.
11852 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
11853 moves.
11854
0d8a2528
NP
118552011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
11856
11857 * c-parser.c (c_lex_one_token): Rewritten conditional used when
11858 compiling Objective-C to be more efficient.
11859
06bd234a
AF
118602011-04-12 Axel Freyn <axel-freyn@gmx.de>
11861
11862 * opts-common.c (decode_cmdline_options_to_array): Remove variable
11863 argv_copied.
11864
28569ac3
RS
118652011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
11866
11867 * recog.h, genoutput.c, optabs.c: Revert last patch.
11868
ae59e00d
RR
118692011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
11870
81b1e7eb
UB
11871 PR target/48090
11872 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 11873
cff1b7e0
RS
118742011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
11875
11876 * recog.h (insn_operand_data): Add an "allows_mem" field.
11877 * genoutput.c (output_operand_data): Initialize it.
11878 * optabs.c (maybe_legitimize_operand_same_code): New function.
11879 (maybe_legitimize_operand): Use it when matching the original
11880 op->value.
11881
77059241
RS
118822011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
11883
11884 * genpreds.c (process_define_predicate): Move most processing
11885 to gensupport.c. Continue to validate the expression.
11886 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
11887 (process_define_predicate): Move processing to gensupport.c.
11888 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
11889 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
11890 (compute_predicate_codes): Moved from genrecog.c. Add lineno
11891 argument.
11892 (valid_predicate_name_p): New function, split out from old
11893 genpreds.c:process_define_predicate.
11894 (process_define_predicate): New function, combining code from
11895 old genpreds.c and genrecog.c functions.
11896 (process_rtx): Call it for DEFINE_PREDICATE and
11897 DEFINE_SPECIAL_PREDICATE.
11898
6308e208
RS
118992011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
11900
11901 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
11902 size of a '%A' memory reference.
11903 (T_DREG, T_QREG): New neon_builtin_type_bits.
11904 (arm_init_neon_builtins): Assert that the load and store operands
11905 are neon_struct_operands.
11906 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
11907 (NEON_ARG_MEMORY): New builtin_arg.
11908 (neon_dereference_pointer): New function.
11909 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
11910 Handle NEON_ARG_MEMORY.
11911 (arm_expand_neon_builtin): Update after above interface changes.
11912 Use NEON_ARG_MEMORY for loads and stores.
11913 * config/arm/predicates.md (neon_struct_operand): New predicate.
11914 * config/arm/iterators.md (V_two_elem): Tweak formatting.
11915 (V_three_elem): Use BLKmode for accesses that have no associated mode.
11916 (V_four_elem): Tweak formatting.
11917 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
11918 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
11919 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
11920 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
11921 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
11922 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
11923 (neon_vst4<mode>): Replace pointer operand with a memory operand.
11924 Use %A in the output template.
11925 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
11926 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
11927 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
11928 the width of the memory access. Remove post-increment.
11929 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
11930
e5db8f2f
NC
119312011-04-12 Nick Clifton <nickc@redhat.com>
11932
11933 * config/v850/v850.c (expand_prologue): Do not use the CALLT
11934 instruction for interrupt handlers if the target is the basic V850
11935 architecture.
11936 (expand_epilogue): Likewise.
11937
74f091d6
JJ
119382011-04-12 Jakub Jelinek <jakub@redhat.com>
11939
11940 PR rtl-optimization/48549
11941 * combine.c (propagate_for_debug): Also stop after BB_END of
11942 this_basic_block. Process LAST and just stop processing after it.
11943 (combine_instructions): If last_combined_insn has been deleted,
11944 set last_combined_insn to its PREV_INSN.
11945
f20ca725
RG
119462011-04-12 Richard Guenther <rguenther@suse.de>
11947
11948 PR tree-optimization/46076
11949 * gimple.h (struct gimple_statement_call): Add fntype field.
11950 (gimple_call_fntype): Adjust.
11951 (gimple_call_set_fntype): New function.
11952 * gimple.c (gimple_build_call_1): Set the call function type.
11953 * gimplify.c (gimplify_call_expr): Preserve the function
11954 type the frontend used for the call.
11955 (gimplify_modify_expr): Likewise.
11956 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
11957 function type.
11958 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
11959 function type.
11960 * tree-ssa.c (useless_type_conversion_p): Function pointer
11961 conversions are useless.
11962
a358e188
MJ
119632011-04-12 Martin Jambor <mjambor@suse.cz>
11964
11965 * cgraph.h (cgraph_node): Remove function declaration.
11966 (cgraph_create_node): Declare.
11967 (cgraph_get_create_node): Likewise.
11968 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
11969 Updated all callers.
11970 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
11971 the decl does not already exist. Call cgraph_get_create_node instead
11972 of cgraph_node.
11973 (cgraph_get_create_node): New function.
11974 (cgraph_same_body_alias): Update comment.
11975 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
11976 assert it does not return NULL.
11977 (cgraph_update_edges_for_call_stmt): Likewise.
11978 (cgraph_clone_edge): Likewise.
11979 (cgraph_create_virtual_clone): Likewise.
11980 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
11981 instead of cgraph_node.
11982 (cgraph_add_new_function): Call cgraph_create_node or
11983 cgraph_get_create_node instead of cgraph_node.
11984 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
11985 instead of cgraph_node.
11986 (record_eh_tables): Likewise.
11987 (mark_address): Likewise.
11988 (mark_load): Likewise.
11989 (build_cgraph_edges): Call cgraph_get_create_node instead
11990 of cgraph_node.
11991 (rebuild_cgraph_edges): Likewise.
11992 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
11993 instead of cgraph_node.
11994 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
11995 cgraph_node.
11996 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
11997 cgraph_create_node instead of cgraph_node.
11998 * c-decl.c (finish_function): Call cgraph_get_create_node instead
11999 of cgraph_node.
12000 * lto-cgraph.c (input_node): Likewise.
12001 * lto-streamer-in.c (input_function): Likewise.
12002 * varasm.c (mark_decl_referenced): Likewise.
12003 (assemble_alias): Likewise.
12004
fe660d7b
MJ
120052011-04-12 Martin Jambor <mjambor@suse.cz>
12006
12007 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
12008 instead of cgraph_node and assert it does not return NULL.
12009 * lto-streamer-in.c (lto_read_body): Likewise.
12010 * omp-low.c (new_omp_context): Likewise.
12011 (create_task_copyfn): Likewise.
12012 * tree-emutls.c (lower_emutls_function_body): Likewise.
12013 * matrix-reorg.c (transform_allocation_sites): Likewise.
12014
bae5cddf
JJ
120152011-04-12 Jakub Jelinek <jakub@redhat.com>
12016
12017 PR c/48552
12018 * c-typeck.c (build_asm_expr): Error out on attempts to use
12019 void type outputs or inputs for constraints that allow reg or
12020 don't allow memory.
12021
06eb52ca
CLT
120222011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
12023 Richard Earnshaw <rearnsha@arm.com>
12024
12025 PR target/48250
12026 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
12027 to use sign-magnitude offsets. Reject unsupported unaligned
12028 cases. Add detailed description in comments.
12029 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
12030 condition from TARGET_32BIT to TARGET_ARM.
12031
648a616b
NF
120322011-04-11 Nathan Froyd <froydnj@codesourcery.com>
12033
12034 * tree.h (struct typed_tree): New.
12035 (struct tree_common): Include it instead of tree_base.
12036 (TREE_TYPE): Update for new location of type field.
12037 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
12038 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
12039 (union tree_node): Add typed field.
12040 * treestruct.def (TS_TYPED): New.
12041 * lto-streamer.c (check_handled_ts_structures): Handle it.
12042 * tree.c (MARK_TS_TYPED): New macro.
12043 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
12044
1e6d1da0
EB
120452011-04-11 Eric Botcazou <ebotcazou@adacore.com>
12046
12047 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
12048 (force_nonfallthru): Do not alter the loop nest if no basic block
12049 was created.
12050
120512011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
12052
12053 * config/i386/sse.md (VI): New mode iterator.
12054 (SSEMODEI): Remove.
12055 (AVX256MODEI): Ditto.
12056 (AVXMODEF4P): Ditto.
12057 (avxvecpsmode): Ditto.
12058 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
12059 (sse2_andnot<mode>3): New expander.
12060 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
12061 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
12062 (<any_logic:code><mode>3): Use VI mode iterator.
12063 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
12064 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
12065 (*andnottf3): Handle AVX three-operand constraints.
12066 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
12067
b1372d5d 120682011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 12069 Robert Millan <rmh@gnu.org>
b1372d5d
JM
12070
12071 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
12072 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
12073 GNU_USER_DYNAMIC_LINKER64): Define.
12074 (REG_NAME): Don't undefine.
12075 (MD_UNWIND_SUPPORT): Undefine.
12076 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
12077 (REG_NAME): Don't undefine.
12078 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 12079 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 12080
761c0c6e
JM
120812011-04-11 Joseph Myers <joseph@codesourcery.com>
12082
12083 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
12084 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
12085
26e0228f
XDL
120862011-04-11 Xinliang David Li <davidxl@google.com>
12087
12088 * value-profile.c (check_ic_target): New function.
12089 (gimple_ic_transform): Sanity check indirect call target.
12090 * gimple-low.c (gimple_check_call_args): Interface change.
12091 (gimple_check_call_matching_types): New function.
12092 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
12093
120942011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
12095
12096 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
12097 tree-pretty-print.h & realmpfr.h.
12098
a58dfa49
VM
120992011-04-11 Vladimir Makarov <vmakarov@redhat.com>
12100
12101 PR middle-end/48464
12102 * ira.c (setup_pressure_classes): Fix typo in loop condition.
12103 (setup_allocno_and_important_classes): Ditto.
12104
107fd1c1
JM
121052011-04-11 Joseph Myers <joseph@codesourcery.com>
12106
12107 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
12108 GNU_USER_DYNAMIC_LINKER.
12109 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
12110 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12111 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
12112 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
12113 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
12114 GNU_USER_TARGET_OS_CPP_BUILTINS.
12115 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
12116 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12117 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
12118 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12119 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
12120 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
12121 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
12122 GNU_USER_TARGET_OS_CPP_BUILTINS.
12123 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
12124 GNU_USER_DYNAMIC_LINKER.
12125 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
12126 GNU_USER_TARGET_OS_CPP_BUILTINS.
12127 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
12128 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12129 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
12130 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12131 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
12132 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
12133 GNU_USER_DYNAMIC_LINKER64): Remove.
12134 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
12135 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12136 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
12137 GNU_USER_DYNAMIC_LINKER.
12138 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
12139 GNU_USER_TARGET_OS_CPP_BUILTINS.
12140 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
12141 GNU_USER_TARGET_OS_CPP_BUILTINS.
12142 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
12143 to GNU_USER_TARGET_OS_CPP_BUILTINS.
12144 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
12145 GNU_USER_TARGET_OS_CPP_BUILTINS.
12146 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
12147 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
12148 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
12149 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
12150 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12151 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
12152 GNU_USER_DYNAMIC_LINKER.
12153 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
12154 GNU_USER_TARGET_OS_CPP_BUILTINS.
12155 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
12156 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12157 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
12158 GNU_USER_DYNAMIC_LINKER.
12159 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
12160 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12161 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
12162 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12163 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
12164 GNU_USER_DYNAMIC_LINKER.
12165 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
12166 GNU_USER_DYNAMIC_LINKERN32.
12167 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
12168 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
12169 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
12170 GNU_USER_DYNAMIC_LINKER32.
12171 * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
12172 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12173 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
12174 GNU_USER_DYNAMIC_LINKER.
12175 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
12176 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12177 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
12178 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 12179 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
12180 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
12181 GNU_USER_DYNAMIC_LINKER32.
12182 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
12183 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
12184 GNU_USER_DYNAMIC_LINKER.
12185 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
12186 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12187 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
12188 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
12189 GNU_USER_DYNAMIC_LINKER64.
12190 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
12191 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12192 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
12193 GNU_USER_DYNAMIC_LINKER.
12194 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
12195 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12196 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
12197 GNU_USER_DYNAMIC_LINKER.
12198 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
12199 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12200 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
12201 GNU_USER_DYNAMIC_LINKER32.
12202 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
12203 GNU_USER_DYNAMIC_LINKER64.
12204 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
12205 GNU_USER_DYNAMIC_LINKER64.
12206 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
12207 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
12208 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
12209 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 12210 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 12211
e24609cf
JM
122122011-04-11 Joseph Myers <joseph@codesourcery.com>
12213
12214 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
12215 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
12216 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
12217 GNU_USER_DYNAMIC_LINKER.
12218 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
12219 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
12220 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
12221 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
12222 GNU_USER_DYNAMIC_LINKER64.
12223 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
12224 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
12225 GNU_USER_LINK_EMULATION.
12226 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
12227 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
12228 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
12229 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
12230 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
12231 CPP_SPEC, CC1_SPEC): Remove.
12232 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
12233 (GNU_USER_DYNAMIC_LINKER): Define.
12234 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
12235 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
12236 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
12237 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
12238 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
12239 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
12240 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
12241 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
12242 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
12243 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
12244 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
12245 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
12246 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
12247 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
12248 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
12249 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
12250 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
12251 GNU_USER_DYNAMIC_LINKER.
12252 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
12253 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
12254 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
12255 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
12256 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
12257 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
12258 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
12259 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
12260 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 12261 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 12262
b8ce4e94
KT
122632011-04-11 Kai Tietz <ktietz@redhat.com>
12264
12265 PR target/9601
12266 PR target/11772
12267 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
12268 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
12269 comment.
12270 (ix86_is_msabi_thiscall): Removed.
12271 (ix86_is_type_thiscall): Likewise.
12272 (ix86_get_callcvt): New function.
12273 (ix86_comp_type_attributes): Simplify check.
12274 (ix86_function_regparm): Use ix86_get_callcvt for calling
12275 convention attribute checks.
12276 (ix86_return_pops_args): Likewise.
12277 (ix86_static_chain): Likewise.
12278 (x86_this_parameter): Likewise.
12279 (x86_output_mi_thunk): Likewise.
12280 (ix86_function_type_abi): Optimize check for types without attributes.
12281 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
12282 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
12283 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
12284 by flag-values.
12285 (IX86_BASE_CALLCVT): Helper macro.
12286 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
12287 Use ix86_get_callcvt for calling convention attribute checks and avoid
12288 symbol-decoration for stdcall in TARGET_RTD case.
12289 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
12290 Likewise.
12291 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
12292 for declaration.
12293
798dd0ba
UB
122942011-04-11 Uros Bizjak <ubizjak@gmail.com>
12295
12296 * config/i386/sse.md (VI_128): New mode iterator.
12297 (VI12_128): Rename from SSEMODE12.
12298 (VI14_128): Rename from SSEMODE14.
12299 (VI124_128): New mode iterator.
12300 (VI24_128): Rename from SSEMODE248.
12301 (VI248_128): Rename from SSEMODE248.
12302 (SSEMODE124C8): Remove.
12303 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
12304 (*sse2_<plusminus_insn><mode>3): Merge with
12305 *avx_<plusminus_insn><mode>3.
12306 (*mulv8hi3): Merge with *avx_mulv8hi3.
12307 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
12308 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
12309 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
12310 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
12311 (ashr<mode>3): Merge with *avx_ashr<mode>3.
12312 (lshr<mode>3): Merge with *avx_lshr<mode>3.
12313 (ashl<mode>3): Merge with *avx_ashl<mode>3.
12314 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
12315 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
12316 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
12317 (*<smaxmin:code>v8hi3): Ditto.
12318 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
12319 (*<smaxmin:code>v16qi3): Ditto.
12320 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
12321 (*sse2_eq<mode>3): Ditto.
12322 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
12323 (*sse2_gt<mode>3): Ditto.
12324 (vcondv2di): Split out of vcond<mode>.
12325 (vconduv2di): Split out of vcondu<mode>.
12326
956011be
RG
123272011-04-11 Richard Guenther <rguenther@suse.de>
12328
12329 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
12330 before calling tree_low_cst.
12331
e6313a78
RG
123322011-04-11 Richard Guenther <rguenther@suse.de>
12333
12334 * stor-layout.c (layout_type): Compute all array index size operations
12335 in the original type.
12336 (initialize_sizetypes): Add comment.
12337 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
12338
e69d7376
JM
123392011-04-11 Joseph Myers <joseph@codesourcery.com>
12340
12341 * common.opt (Tbss=, Tdata=, Ttext=): New options.
12342
9f9ebcdf
MJ
123432011-04-11 Martin Jambor <mjambor@suse.cz>
12344
12345 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
12346 of cgraph_node, handle NULL return value.
12347 (cgraph_global_info): Likewise.
12348 (cgraph_rtl_info): Likewise.
12349 * tree-inline.c (estimate_num_insns): Likewise.
12350 * gimplify.c (unshare_body): Likewise.
12351 (unvisit_body): Likewise.
12352 (gimplify_body): Likewise.
12353 * predict.c (optimize_function_for_size_p): Likewise.
12354 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
12355 (call_may_clobber_ref_p_1): Likewise.
12356 * varasm.c (function_section_1): Likewise.
12357 (assemble_start_function): Likewise.
12358
581985d7
MJ
123592011-04-11 Martin Jambor <mjambor@suse.cz>
12360
12361 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
12362 of cgraph_node.
12363 * final.c (rest_of_clean_state): Likewise.
12364 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
12365 * passes.c (pass_init_dump_file): Likewise.
12366 (execute_all_ipa_transforms): Likewise.
12367 (function_called_by_processed_nodes_p): Likewise.
12368 * predict.c (maybe_hot_frequency_p): Likewise.
12369 (probably_never_executed_bb_p): Likewise.
12370 (compute_function_frequency): Likewise.
12371 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
12372 (unnest_nesting_tree_1): Likewise.
12373 (lower_nested_functions): Likewise.
12374 * tree-optimize.c (execute_fixup_cfg): Likewise.
12375 (tree_rest_of_compilation): Likewise.
12376 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
12377 * tree-sra.c (ipa_early_sra): Likewise.
12378 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
12379 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
12380 * ipa.c (record_cdtor_fn): Likewise.
12381 * ipa-inline.c (cgraph_early_inlining): Likewise.
12382 (compute_inline_parameters_for_current): Likewise.
12383 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
12384 * ipa-pure-const.c (local_pure_const): Likewise.
12385 * ipa-split.c (split_function): Likewise.
12386 (execute_split_functions): Likewise.
12387 * cgraphbuild.c (build_cgraph_edges): Likewise.
12388 (rebuild_cgraph_edges): Likewise.
12389 (cgraph_rebuild_references): Likewise.
12390 (remove_cgraph_callee_edges): Likewise.
12391 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
12392 (verify_cgraph_node): Likewise.
12393 (cgraph_analyze_functions): Likewise.
12394 (cgraph_preserve_function_body_p): Likewise.
12395 (save_inline_function_body): Likewise.
12396 (save_inline_function_body): Likewise.
12397 * tree-inline.c (copy_bb): Likewise.
12398 (optimize_inline_calls): Likewise.
12399
57dbdc5a
MJ
124002011-04-11 Martin Jambor <mjambor@suse.cz>
12401
12402 PR tree-optimization/48195
12403 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
12404 ipa_check_create_edge_args.
12405 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
12406 ipa_check_create_edge_args.
12407 * ipa-inline.c (inline_generate_summary): Do not call
12408 ipa_check_create_node_params and ipa_check_create_edge_args.
12409 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
12410 ipa_check_create_edge_args.
12411
d108e679
AS
124122011-04-09 Anatoly Sokolov <aesok@post.ru>
12413
12414 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
12415 instead of loop.
12416 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
12417 * function.c (record_hard_reg_sets): Likewise.
12418 * ira.c (compute_regs_asm_clobbered): Likewise.
12419 * sched-deps.c (sched_analyze_1): Likewise.
12420 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
12421
3411bc59
XDL
124222011-04-09 Xinliang David Li <davidxl@google.com>
12423
12424 PR tree-optimization/PR48484
12425 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
12426 has_valid_pred lazily
12427
b365495a
DS
124282011-04-09 Duncan Sands <baldrick@free.fr>
12429
12430 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
12431
68bc509a
EB
124322011-04-08 Eric Botcazou <ebotcazou@adacore.com>
12433
12434 * combine.c (combine_validate_cost): Adjust comments. Set registered
12435 cost of I0 to zero at the end, if any.
12436
041e059f
XDL
124372011-04-08 Xinliang David Li <davidxl@google.com>
12438
68bc509a
EB
12439 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
12440 to insane profile data.
041e059f 12441
444b3995
XDL
124422011-04-08 Xinliang David Li <davidxl@google.com>
12443
12444 * ipa-cp.c (ipcp_update_profiling): Correct
12445 negative scale factor due to insane profile data.
12446
6a801cf2
XDL
124472011-04-08 Xinliang David Li <davidxl@google.com>
12448
12449 * final.c (dump_basic_block_info): New function.
12450 (final): Dump basic block.
12451 (final_scan_insn): Remove old dump.
12452
d5f3624e
SK
124532011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
12454
68bc509a
EB
12455 PR target/47829
12456 * config.gcc (i386-*-freebsd): Disable unwind table generation for
12457 crtbegin/crtend.
d5f3624e 12458
42821aff
MM
124592011-04-08 Michael Matz <matz@suse.de>
12460
12461 PR middle-end/48389
12462 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
12463 functions.
12464 (rebuild_jump_labels): Call rebuild_jump_labels_1.
12465 * rtl.h (rebuild_jump_labels_chain): Declare.
12466 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
12467 insns inserted on edges.
12468
ad7be009
JM
124692011-04-08 Joseph Myers <joseph@codesourcery.com>
12470
12471 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
12472 * config/arm/arm-arches.def: New.
12473 * config/arm/arm-opts.h: New.
12474 * config/arm/genopt.sh: New.
12475 * config/arm/arm-tables.opt: New (generated).
12476 * config/arm/arm.c (arm_handle_option, arm_target_help,
12477 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
12478 (all_architectures): Get most table contents from arm-arches.def.
12479 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
12480 arm_selected_tune here.
12481 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
12482 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
12483 (march=, mcpu=, mtune=): Use Enum and Var.
12484 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
12485 (arm.o): Update dependencies.
ecbb6fb7 12486
42821aff 124872011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
12488
12489 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
12490 of header_file.
12491 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
12492 (write_typed_alloc_defns): Likewise.
12493 (main): Calls write_typed_alloc_defns with output_header.
12494
8d189b3f
VM
124952011-04-08 Vladimir Makarov <vmakarov@redhat.com>
12496
68bc509a 12497 PR inline-asm/48435
8d189b3f
VM
12498 * ira-color.c (setup_profitable_hard_regs): Add comments.
12499 Don't take prohibited hard regs into account.
12500 (setup_conflict_profitable_regs): Rename to
12501 get_conflict_profitable_regs.
12502 (check_hard_reg_p): Check prohibited hard regs.
12503
44f370bf
NF
125042011-04-08 Nathan Froyd <froydnj@codesourcery.com>
12505
12506 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
12507 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
12508 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
12509
483d7ad3
JDA
125102011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12511
12512 PR target/48366
12513 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
b8a17fa2 12514 move from floating point to shift amount register.
483d7ad3
JDA
12515 (emit_move_sequence): Remove secondary reload support for floating
12516 point to shift amount amount register copies.
12517 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
12518 amount register copies.
12519 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
12520 register, return false if mode isn't a scalar integer mode.
12521 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
12522
97e03fa1
RG
125232011-04-08 Richard Guenther <rguenther@suse.de>
12524
12525 * gimple.c (gimple_call_flags): Remove kludge.
12526
9d40778b
AM
125272011-04-08 Alexander Monakov <amonakov@ispras.ru>
12528
12529 * sel-sched.c (sel_region_init): Move call to
12530 sel_setup_region_sched_flags after setup_current_loop_nest.
12531
19ac7892
AB
125322011-04-08 Andrey Belevantsev <abel@ispras.ru>
12533
12534 PR rtl-optimization/48272
19ac7892
AB
12535 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
12536 init_insn_reg_pressure_info. Adjust a caller.
12537 * sched-int.h (init_insn_reg_pressure_info): Declare.
12538 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
12539 when sched-pressure is enabled.
12540
0f8c63cc
RG
125412011-04-08 Richard Guenther <rguenther@suse.de>
12542
12543 * gimple.c (gimple_set_modified): Do not queue calls to
12544 MODIFIED_NORETURN_CALLS here ...
12545 * tree-ssa-operands.c (update_stmt_operands): ... but here.
12546
5e5a425e
RG
125472011-04-08 Richard Guenther <rguenther@suse.de>
12548
12549 PR lto/48467
12550 * toplev.c (lang_dependent_init): Do not open asm_out_file
12551 in WPA mode, nor perform debug machinery initialization.
12552 (finalize): Do not unlink asm_out_file in WPA mode.
12553
9bfc434b
RG
125542011-04-08 Richard Guenther <rguenther@suse.de>
12555
12556 * gimple.h (gimple_call_fntype): New function.
12557 (gimple_call_return_type): Use it.
12558 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
12559 * gimple-low.c (gimple_check_call_args): Likewise.
12560 * gimple.c (gimple_call_flags): Likewise.
12561 (gimple_call_arg_flags): Likewise.
12562 (gimple_call_return_flags): Likewise.
12563 * tree-cfg.c (verify_gimple_call): Likewise.
12564 (do_warn_unused_result): Likewise.
12565 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
12566 * value-prof.c (gimple_ic_transform): Fix fndecl check.
12567
7c1f0b40
DM
125682011-04-08 Dmitry Melnik <dm@ispras.ru>
12569
12570 PR rtl-optimization/48235
12571 * sel-sched.c (code_motion_process_successors): Recompute the last
12572 insn in basic block if control flow changed.
12573 (code_motion_path_driver): Ditto. Recompute the first insn as well.
12574 Update condition for ilist_remove.
12575
ea4d630f
AM
125762011-04-08 Alexander Monakov <amonakov@ispras.ru>
12577
12578 PR rtl-optimization/48302
12579 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
12580 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
12581 it to record added preheader blocks.
12582 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
12583 on to sel_add_loop_preheaders.
12584 (sel_region_init): Move call to setup_current_loop_nest after
12585 sel_init_bbs.
12586
07643d76
AM
125872011-04-08 Alexander Monakov <amonakov@ispras.ru>
12588
12589 PR target/48273
12590 * cfgloop.h (loop_has_exit_edges): New helper.
12591 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
12592 non-clonable.
12593 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
12594 that have no exit edges.
12595
1f3b2b4e
AM
125962011-04-08 Alexander Monakov <amonakov@ispras.ru>
12597
12598 PR rtl-optimization/48442
12599 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
12600 all callers. Adjust assert.
12601
554f1948
JJ
126022011-04-08 Jakub Jelinek <jakub@redhat.com>
12603
12604 PR tree-optimization/48377
12605 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
12606 is_packed to true even for types with smaller TYPE_ALIGN than
12607 TYPE_SIZE.
12608
ddf72388
RG
126092011-04-08 Richard Guenther <rguenther@suse.de>
12610
12611 PR bootstrap/48513
12612 * doc/tm.texi: Re-generate.
12613
0c27e2d8
WG
126142011-04-08 Wei Guozhi <carrot@google.com>
12615
12616 PR target/47855
12617 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
12618 * config/arm/arm.c (arm_attr_length_push_multi): New function.
12619 * config/arm/arm.md (*push_multi): Change the length computation to
12620 call a C function.
12621
07c5f94e
AS
126222011-04-08 Anatoly Sokolov <aesok@post.ru>
12623
12624 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
12625 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
12626 * doc/tm.texi: Regenerate.
12627 * system.h (ASM_OUTPUT_BSS): Poison.
12628 * varasm.c (asm_output_bss): Remove function.
12629 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 12630
07c5f94e
AS
12631 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
12632 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
12633 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
12634 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
12635 Likewise.
12636 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
12637 Likewise.
12638 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
12639 Likewise.
12640 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12641
5f2c36e1
JM
126422011-04-07 Joseph Myers <joseph@codesourcery.com>
12643
12644 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
12645 EnumValue lines.
12646
39e7722b
JM
126472011-04-07 Joseph Myers <joseph@codesourcery.com>
12648
12649 * config/m68k/m68k.c (m68k_handle_option): Don't handle
12650 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
12651 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
12652 OPT_mcpu32.
12653 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
12654 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
12655 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
12656 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
12657 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
12658 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
12659 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
12660 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
12661 options. Don't map other m68k options manually. Don't handle
12662 old-style options as canonical.
12663 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 12664 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 12665
cf103ca4
EB
126662011-04-07 Eric Botcazou <ebotcazou@adacore.com>
12667
12668 * basic-block.h (force_nonfallthru): Move to...
12669 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
12670 (force_nonfallthru): ...here.
12671 * cfghooks.c (force_nonfallthru): New function.
12672 * cfgrtl.c (force_nonfallthru): Rename into...
12673 (rtl_force_nonfallthru): ...this.
12674 (commit_one_edge_insertion): Do not set AUX field.
12675 (commit_edge_insertions): Do not discover new basic blocks.
12676 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
12677 (cfg_layout_rtl_cfg_hooks): Likewise.
12678 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
12679 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
12680 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
12681
14431f58
AS
126822011-04-07 Anatoly Sokolov <aesok@post.ru>
12683
12684 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
12685 Remove macros.
12686
3729983c
UB
126872011-04-07 Uros Bizjak <ubizjak@gmail.com>
12688
12689 * config/i386/sse.md: Update copyright year.
12690 (avxcvtvecmode): Remove.
12691 (sse_movhlps): Merge with *avx_movhlps.
12692 (sse_movlhps): Merge with *avx_movlhps.
12693 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
12694 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
12695 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
12696 (sse_loadhps): Merge with *avx_loadhps.
12697 (sse_storelps): Merge with *avx_storelps.
12698 (sse_loadlps): Merge with *avx_loadlps.
12699 (sse_movss): Merge with *avx_movss.
12700 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
12701 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
12702 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
12703 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
12704 (vec_set<mode>_0): Ditto.
12705 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
12706 (sse4_1_insertps): Merge with *avx_insertps.
12707 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
12708 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
12709 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
12710 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
12711 (sse2_storehpd): Merge with *avx_storehpd.
12712 (sse2_loadhpd): Merge with *avx_loadhpd.
12713 (sse2_loadlpd): Merge with *avx_loadlpd.
12714 (sse2_movsd): Merge with *avx_movsd.
12715 (*vec_concatv2df): Merge with *vec_concatv2df.
12716
4e626909
JJ
127172011-04-07 Jakub Jelinek <jakub@redhat.com>
12718
12719 PR debug/48343
12720 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 12721 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
12722 (try_combine): Add last_combined_insn parameter, pass it instead of
12723 i3 to propagate_for_debug.
12724
3729983c 127252011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
12726
12727 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
12728 to handle MDR <-> data register transfers.
12729 (movhi_internal): Likewise.
12730
20c03367
AM
127312011-04-07 Alan Modra <amodra@gmail.com>
12732
12733 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
12734 previous stack info.
12735
bf22920b
TV
127362011-04-07 Tom de Vries <tom@codesourcery.com>
12737
12738 PR target/43920
12739 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
12740 flow_find_cross_jump. Swap variables to implement backward replacement.
12741 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
12742
823918ae
TV
127432011-04-07 Tom de Vries <tom@codesourcery.com>
12744
12745 PR target/43920
12746 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
12747 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
12748 and bb2.
12749 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
12750 src1 or src2. Redirect edges to the last basic block. Update
12751 frequency and count on multiple basic blocks in case of fallthru.
823918ae 12752
472c95f5
TV
127532011-04-07 Tom de Vries <tom@codesourcery.com>
12754
12755 PR target/43920
12756 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
12757 function.
3729983c
UB
12758 (old_insns_match_p): Change return type. Replace return false/true
12759 with return dir_none/dir_both. Use can_replace_by.
12760 (flow_find_cross_jump): Add dir_p parameter. Init replacement
12761 direction from dir_p. Register replacement direction in dir, last_dir
12762 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
12763 merge_dir. Return replacement direction in dir_p.
12764 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
12765 return type of old_insns_match_p.
12766 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
12767 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
12768 flow_find_cross_jump.
12769 * basic-block.h (enum replace_direction): New type.
12770 (flow_find_cross_jump): Add parameter to declaration.
12771
a95d4000
UB
127722011-04-06 Uros Bizjak <ubizjak@gmail.com>
12773
12774 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
12775 (AVXMODEDCVTPS2DQ): Ditto.
12776 (VEC_FLOAT_MODE): Ditto.
12777 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
12778 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
12779 (<any_logic:code><mode>3): Use VF mode iterator.
12780 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
12781 Use VF mode iterator.
12782 (copysign<mode>3): Use VF mode iterator.
12783 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
12784 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
12785 (*<any_logic:code><MODEF:mode>3): Merge with
12786 *avx_<any_logic:code><MODEF:mode>3.
12787 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
12788 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
12789 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
12790 (avx_cvtdq2ps<avxmodesuffix>): Remove.
12791 (sse2_cvtdq2ps): Use %v modifier.
12792 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
12793 (avx_cvtps2dq<avxmodesuffix>): Remove.
12794 (sse2_cvtps2dq): Use %v modifier.
12795 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
12796 (avx_cvttps2dq<avxmodesuffix>): Remove.
12797 (sse2_cvttps2dq): Use %v modifier.
12798 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
12799 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
12800 (sse2_cvtsd2siq): Fix insn template.
12801 (sse2_cvtsd2siq_2): Ditto.
12802 (sse2_cvttsd2siq): Ditto.
12803 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
12804 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
12805
ad01c437
JM
128062011-04-06 Joseph Myers <joseph@codesourcery.com>
12807
12808 * gcov-io.c: Use GCC Runtime Library Exception.
12809
fe846284
JJ
128102011-04-06 Jakub Jelinek <jakub@redhat.com>
12811
12812 PR debug/48466
12813 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
12814 as base_reg whatever register reg has been eliminated to, instead
12815 of hardcoding STACK_POINTER_REGNUM.
12816
acce4e77
JM
128172011-04-06 Joseph Myers <joseph@codesourcery.com>
12818
12819 * doc/tm.texi.in: Document C target hooks as separate from general
12820 target hooks.
12821 * doc/tm.texi: Regenerate.
12822 * genhooks.c (struct hook_desc): Add docname field.
12823 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
12824 docname field.
12825 (hook_array): Include c-target.def.
12826 (emit_documentation): Use docname field in output.
12827 (emit_init_macros): Take docname argument. Only emit definitions
12828 for hooks matching docname.
12829 (main): Expect additional arguments in all cases. Pass argument
12830 to emit_init_macros.
12831 * target.def: Move initial macro definitions and comments to
12832 target-hooks-macros.h.
12833 (gcc_targetcm): Move to c-family/c-target.def.
12834 * target.h (targetcm): Move declaration to c-family/c-target.h.
12835 * targhooks.c (default_handle_c_option): Move to
12836 c-family/c-opts.c.
12837 * targhooks.h (default_handle_c_option): Move declaration to
12838 c-family/c-common.h.
12839 * target-hooks-macros.h: New file.
12840 * config.gcc (target_has_targetcm): Define and use to add to
12841 c_target_objs and cxx_target_objs.
12842 * config/default-c.c: New file.
12843 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
12844 of target.h and target-def.h.
12845 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
12846 (darwin_objc_construct_string, darwin_cfstring_ref_p,
12847 darwin_check_cfstring_format_arg): Make static.
12848 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
12849 TARGET_STRING_OBJECT_REF_TYPE_P,
12850 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
12851 * config/darwin-protos.h (darwin_objc_construct_string,
12852 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
12853 declare.
12854 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
12855 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 12856 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
12857 * config/t-darwin (darwin-c.o): Update dependencies.
12858 * system.h (TARGET_HAS_TARGETCM): Poison.
12859 * Makefile.in (TARGET_H): Update.
12860 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
12861 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
12862 (default-c.o): New target.
12863 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 12864 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
12865 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
12866 c-target.def.
12867 (build/genhooks.o): Update dependencies.
12868
275b4baa 128692011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 12870
275b4baa
RG
12871 * ipa-inline.c (enum inlining_mode): Remove.
12872 (cgraph_flatten): Use some other token.
12873 (cgraph_edge_early_inlinable_p): New function, split out from ...
12874 (cgraph_perform_always_inlining): New function, split out from ...
12875 (cgraph_decide_inlining_incrementally): ... here.
12876 (cgraph_mark_inline_edge): Adjust.
12877 (cgraph_early_inlining): Re-structure.
12878 (pass_early_inline): Require SSA form.
12879
f15b8bdf 128802011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
12881 Julian Brown <julian@codesourcery.com>
12882 Mark Shinwell <shinwell@codesourcery.com>
12883
12884 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
12885 LO_REGS only for Thumb-1.
12886 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
12887 be used in short instructions when optimising for size on Thumb-2.
12888
516426da
EB
128892011-04-06 Eric Botcazou <ebotcazou@adacore.com>
12890
12891 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
12892 associated with user returns to be preserved.
12893
96621ebf
TG
128942011-04-06 Tristan Gingold <gingold@adacore.com>
12895
f15b8bdf
EB
12896 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
12897 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
12898 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
12899 if XCOFF_DEBUGGING_INFO.
12900
07c0852e
UB
129012011-04-06 Uros Bizjak <ubizjak@gmail.com>
12902
12903 * config/i386/i386.md (attribute isa): New.
12904 (attribute enabled): New.
12905 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
12906 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
12907 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
12908 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
12909 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
12910 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
12911 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
12912 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
12913
12914 * config/i386/sse.md (VF): New mode iterator.
12915 (VF1): Ditto.
12916 (VF2): Ditto.
12917 (VF_128): Ditto.
12918 (SSEMODEF4): Remove.
12919 (attribute sse): Handle V8SF and V4DF modes.
12920 (<absneg:code><mode>2): Use VF mode iterator.
12921 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
12922 mode iterator.
12923 (<plusminus_insn><mode>3): Use VF mode iterator.
12924 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
12925 Use VF mode iterator.
12926 (<sse>_vm<plusminus_insn><mode>3): Merge with
12927 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
12928 (mul<mode>3): Use VF mode iterator.
12929 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
12930 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
12931 mode iterator.
12932 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
12933 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
12934 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
12935 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
12936 mode iterator.
12937 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
12938 Use VF1 mode iterator.
12939 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
12940 (sqrt<VF2:mode>2): New expander.
12941 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
12942 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
12943 and sqrtv2df2. Use VF mode iterator.
12944 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
12945 mode iterator.
12946 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
12947 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
12948 Use VF1 mode iterator.
12949 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
12950 (<smaxmin:code><mode>3): Use VF mode iterator.
12951 (*<smaxmin:code><mode>3_finite): Merge with
12952 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
12953 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
12954 (<sse>_vm<smaxmin:code><mode>2): Merge with
12955 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
12956 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
12957 mode iterator.
12958 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
12959 mode iterator.
12960 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
12961 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
12962 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
12963 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
12964 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
12965 VF mode iterator.
12966 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
12967 Use VF_128 mode iterator.
12968 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
12969 mode iterator.
12970 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
12971 VF_128 mode iterator.
12972 (vcond<mode>): Use VF mode iterator.
12973 * config/i386/predicates.md (sse_comparison_operator): Merge with
12974 avx_comparison_float_operator. Do not declare as special_predicate.
12975 * config/i386/i386.c (struct builtin_description): Update for renamed
12976 compare patterns.
12977 (ix86_expand_args_builtin): Ditto.
12978 (ix86_expand_sse_compare_mask): Ditto.
12979
ff5d142c
RG
129802011-04-06 Richard Guenther <rguenther@suse.de>
12981
12982 * tree-inline.c (estimate_num_insns): For calls simply account
12983 for all passed arguments and a used return value.
12984
d7d1d041 129852011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 12986
d7d1d041
RG
12987 PR tree-optimization/47663
12988 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
12989 call_stmt_time fields.
12990 (cgraph_edge_inlinable_p): Declare.
12991 (cgraph_edge_recursive_p): New inline function.
12992 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
12993 (cgraph_clone_edge): Copy it.
12994 * ipa-inline.c (cgraph_estimate_edge_time): New function.
12995 Account for call stmt time.
12996 (cgraph_estimate_time_after_inlining): Take edge argument.
12997 (cgraph_estimate_edge_growth): Account call stmt size.
12998 (cgraph_estimate_size_after_inlining): Take edge argument.
12999 (cgraph_mark_inline_edge): Adjust.
13000 (cgraph_check_inline_limits): Likewise.
13001 (cgraph_recursive_inlining_p): Remove.
13002 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
13003 (cgraph_decide_recursive_inlining): Take edge argument and
13004 adjust.
13005 (cgraph_decide_inlining_of_small_functions): Do not avoid
13006 diags for recursive inlining here.
13007 (cgraph_flatten): Adjust.
13008 (cgraph_decide_inlining_incrementally): Likewise.
13009 (estimate_function_body_sizes): Remove call cost handling.
13010 (compute_inline_parameters): Initialize caller edge call costs.
13011 (cgraph_estimate_edge_growth): New function.
13012 (cgraph_estimate_growth): Use it.
13013 (cgraph_edge_badness): Likewise.
13014 (cgraph_check_inline_limits): Take an edge argument.
13015 (cgraph_decide_inlining_of_small_functions): Adjust.
13016 (cgraph_decide_inlining): Likewise.
13017 * tree-inline.c (estimate_num_insns): Only account for call
13018 return value if it is used.
13019 (expand_call_inline): Avoid diagnostics on recursive inline
13020 functions here.
13021 * lto-cgraph.c (lto_output_edge): Output edge call costs.
13022 (input_edge): Input edge call costs.
13023
2feb95f7
RO
130242011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13025
13026 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
13027
26fbd9c2
JW
130282011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
13029
13030 * doc/invoke.texi (Spec Files): Fix typo.
13031
694dc0ca
EB
130322011-04-06 Eric Botcazou <ebotcazou@adacore.com>
13033
13034 * profile.c (branch_prob): Move declaration of local variable. Remove
13035 obsolete ??? comment. Expand the location explicitly instead of using
13036 the LOCATION_FILE and LOCATION_LINE macros.
13037
4925d0d5
WG
130382011-04-06 Wei Guozhi <carrot@google.com>
13039
13040 PR target/47855
13041 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
13042 (arm_cond_branch): Likewise.
13043 (arm_cond_branch_reversed): Likewise.
13044 (arm_jump): Likewise.
13045 (push_multi): Likewise.
13046 * config/arm/constraints.md (Py): New constraint.
13047
f55dfa2f
NF
130482011-04-05 Nathan Froyd <froydnj@codesourcery.com>
13049
13050 PR bootstrap/48471
13051 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
13052 Move these...
13053 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
13054 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
13055 #ifdef DBX_DEBUGGING_INFO.
13056
fca96842
BS
130572011-04-05 Bernd Schmidt <bernds@codesourcery.com>
13058
13059 PR bootstrap/48403
13060 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
13061 if old and new states differ.
13062
30b83e38
JM
130632011-04-05 Joseph Myers <joseph@codesourcery.com>
13064
13065 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
13066 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
13067 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
13068 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
13069 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
13070 mcfv4e): Use Alias.
13071 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
13072 ColdFire options to -mcpu= options.
13073
277a9aa5
JL
130742011-04-05 Jeff Law <law@redhat.com>
13075
13076 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
13077 check if BB is a successor of LOOP->header and return
13078 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
13079
c1e2610e
SB
130802011-04-05 Steven Bosscher <steven@gcc.gnu.org>
13081
13082 * cprop.c (struct reg_use): Remove.
13083 (reg_use_table): Make an array of RTX.
13084 (find_used_regs, constprop_register, local_cprop_pass,
13085 bypass_block): Simplify users of reg_use_table.
13086 (cprop_insn): Likewise. Iterate if copy propagation succeeded
13087 on one of the uses found by find_used_regs.
13088
e532f586
NF
130892011-04-05 Nathan Froyd <froydnj@codesourcery.com>
13090
13091 PR bootstrap/48469
13092 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
13093 declaration.
13094
3fb7c055
NF
130952011-04-05 Nathan Froyd <froydnj@codesourcery.com>
13096
13097 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
13098 as an rtx.
13099 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
13100
b71b43d9
SB
131012011-04-05 Steven Bosscher <steven@gcc.gnu.org>
13102
13103 PR middle-end/48441
13104 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
13105
b405b274
NF
131062011-04-05 Nathan Froyd <froydnj@codesourcery.com>
13107
13108 * combine.c: Include obstack.h.
13109 (struct insn_link): Define.
13110 (uid_log_links): Adjust type.
13111 (FOR_EACH_LOG_LINK): New macro.
13112 (insn_link_obstack): Declare.
13113 (alloc_insn_link): Define.
13114 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
13115 type of link variables.
13116 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
13117 (try_combine, record_promoted_values, distribute_notes): Likewise.
13118 (distribute_links): Likewise. Tweak prototype.
13119 (clear_log_links): Delete.
13120 (adjust_for_new_dest): Call alloc_insn_link.
13121 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
13122
6409abe3
NF
131232011-04-05 Nathan Froyd <froydnj@codesourcery.com>
13124
13125 * gcse.c (modify_mem_list): Convert to an array of VECs.
13126 (canon_modify_mem_list, compute_transp): Tweak formatting.
13127 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
13128 (load_killed_in_block_p): Likewise.
13129 (record_last_mem_set_info): Likewise.
13130 (clear_modify_mem_tables): Likewise.
13131
170d8157
TV
131322011-04-05 Tom de Vries <tom@codesourcery.com>
13133
13134 PR middle-end/48461
13135 * function.c (emit_use_return_register_into_block): Only define if
13136 HAVE_return.
13137
c5911a55
EB
131382011-04-05 Eric Botcazou <ebotcazou@adacore.com>
13139
13140 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
13141
abd016e6
JM
131422011-04-05 Joseph Myers <joseph@codesourcery.com>
13143
13144 * config/rx/rx-opts.h: New.
13145 * config/rx/rx.c (rx_cpu_type): Remove.
13146 (rx_handle_option): Don't assert that global structures are in
13147 use. Access variables via opts pointer. Defer most handling of
13148 OPT_mint_register_. Use error_at.
13149 (rx_option_override): Handle deferred OPT_mint_register_ here.
13150 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
13151 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
13152 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
13153 (rx_cpu_types): New Enum and EnumValue entries.
13154 (mint-register=): Use Defer and use Var accordingly.
13155
1ed13f83
NF
131562011-04-05 Nathan Froyd <froydnj@codesourcery.com>
13157
13158 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
13159 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
13160 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
13161 Move these...
13162 (debug_free_queue, debug_nesting, symbol_queue_index):
13163 ...and these...
13164 * dbxout.c: ...to here. Make static.
13165
6ce1edcf
NF
131662011-04-05 Nathan Froyd <froydnj@codesourcery.com>
13167
13168 * gcse.c (modify_pair): Define. Define a VEC of it.
13169 (canon_modify_mem_list): Convert to an array of VECs.
13170 (free_insn_expr_list_list): Delete.
13171 (clear_modify_mem_tables): Call VEC_free instead.
13172 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
13173 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
13174 (canon_list_insert, compute_transp): Likewise.
13175
c201ac94
TV
131762011-04-05 Tom de Vries <tom@codesourcery.com>
13177
13178 PR target/43920
13179 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
13180 for size.
13181
4c029f40
TV
131822011-04-05 Tom de Vries <tom@codesourcery.com>
13183
13184 PR target/43920
13185 * function.c (emit_use_return_register_into_block): New function.
13186 (thread_prologue_and_epilogue_insns): Use
13187 emit_use_return_register_into_block.
13188
2a562b0a
TV
131892011-04-05 Tom de Vries <tom@codesourcery.com>
13190
13191 PR target/43920
13192 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
13193 insn.
13194
0248bceb
TV
131952011-04-05 Tom de Vries <tom@codesourcery.com>
13196
13197 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
13198
ffa94123
YZ
131992011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
13200
798dd0ba
UB
13201 * config/arm/arm.md (define_constants for unspec): Replace with
13202 define_c_enum.
13203 (define_constants for unspecv): Replace with define_c_enum.
13204 * config/arm/neon.md (define_constants for unspec): Replace with
13205 define_c_enum.
ffa94123 13206
3b8f9b46
RH
132072011-04-04 Richard Henderson <rth@redhat.com>
13208
720cf80f 13209 PR bootstrap/48400
3b8f9b46
RH
13210 * dwarf2out.c (output_line_info): Always emit line info from
13211 at least one section.
13212 (dwarf2out_init): Create text_section_line_info here ...
13213 (set_cur_line_info_table): ... not here.
13214
720cf80f 132152011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
13216
13217 PR target/48380
13218 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 13219 not called.
e5b0e1ca 13220
720cf80f 13221 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 13222
196565d4
SB
132232011-04-04 Steven Bosscher <steven@gcc.gnu.org>
13224
b77f9eab
SB
13225 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
13226 (expr_equiv_p): Remove.
13227 (insert_set_in_table): Look at <dest, src> pair instead of expr.
13228 (hash_scan_set): Update call to insert_set_in_table.
13229 (dump_hash_table): Dump <dest, src> pair.
13230 (lookup_set): Simplify. Lookup <dest, src> pair.
13231 (compute_transp): Remove, fold heavily simplified code into...
13232 (compute_local_properties): ...here. Expect COMP and TRANSP
13233 unconditionally.
13234 (find_avail_set): Take set directly from struct expr.
13235 (find_bypass-set): Likewise.
13236 (bypass_block): Likewise.
13237 (cprop_insn): Likewise. Remove redundant INSN_P test.
13238
384d7a55
SB
13239 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
13240 checks on form of COND from find_implicit_sets to here.
13241 (find_implicit_sets): Cleanup control flow. Split critical edges
13242 if it exposes implicit sets. Allocate/resize implicit_sets as
13243 necessary.
13244 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
13245 changed something. Run df_analyze after find_implicit_sets if any
13246 edges were split. Do not allocate implicit_sets here.
13247
3084ce69
SB
13248 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
13249 (gcse_obstack): Renamed to cprop_obstack.
13250 (GNEW, GNEWVEC, GNEWVAR): Remove.
13251 (gmalloc): Remove.
13252 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
13253 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
13254 (gcse_alloc): Likewise, and rename to cprop_alloc.
13255 (alloc_gcse_men, free_gcse_mem): Remove.
13256 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
13257 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
13258 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
13259
196565d4
SB
13260 * cprop.c (oprs_not_set_p): Remove.
13261 (mark_set, mark_clobber): Remove.
13262 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
13263 (reg_not_set_p): New function.
13264 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
13265 (cprop_insn): Likewise.
13266 (cprop_jump): Use FOR_EACH_EDGE.
13267
9b69cf83
BS
132682011-04-04 Bernd Schmidt <bernds@codesourcery.com>
13269
13270 PR bootstrap/48403
13271 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
13272 (rank_for_schedule): Use scheduled_insns vector instead of
13273 last_scheduled_insn.
13274 (ok_for_early_queue_removal): Likewise.
13275 (queue_to_ready): Search forward in nonscheduled_insns_begin if
13276 we have a dbg_cnt.
13277 (choose_ready): Likewise.
13278 (commit_schedule): Use VEC_iterate.
13279 (schedule_block): Initialize nonscheduled_insns_begin. If we have
13280 a dbg_cnt, use it and ensure the first insn is in the ready list.
13281 (haifa_sched_init): Allocate scheduled_insns.
13282 (sched_extend_ready_list): Don't allocate it; reserve space.
13283 (haifa_sched_finish): Free it.
13284
24f48c2f
JM
132852011-04-04 Joseph Myers <joseph@codesourcery.com>
13286
13287 * optc-gen.awk: Always remove type from Variable entry before
13288 recording in var_seen.
13289
8effe856
EB
132902011-04-04 Eric Botcazou <ebotcazou@adacore.com>
13291
13292 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
13293 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
13294 call to tidy_fallthru_edges.
13295
413519ae
JM
132962011-04-04 Joseph Myers <joseph@codesourcery.com>
13297
13298 * doc/options.texi (ToLower): Document.
3729983c 13299 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
13300 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
13301 * opts.h (cl_option): Add cl_tolower field.
13302 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
13303 arguments with lowercase strings.
13304 * config/rx/rx.opt (mcpu=): Add ToLower.
13305 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
13306 argument.
13307
7d34a1b0
RS
133082011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
13309
13310 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
13311
c30e7434
RS
133122011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
13313
13314 * config/vax/vax.c: Include reload.h.
13315
112a861d
AS
133162011-04-04 Anatoly Sokolov <aesok@post.ru>
13317
13318 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
13319 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
13320 (sparc_preferred_reload_class): New function.
13321
e8c6bb74
JJ
133222011-04-04 Jakub Jelinek <jakub@redhat.com>
13323
2aeaa366 13324 PR debug/48401
e8c6bb74
JJ
13325 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
13326 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
13327
2c081caf
NF
133282011-04-03 Nathan Froyd <froydnj@codesourcery.com>
13329
13330 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
13331 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
13332
53802f27
AS
133332011-04-03 Anatoly Sokolov <aesok@post.ru>
13334
13335 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
13336 (ASM_OUTPUT_ALIGNED_BSS): Define.
13337
e89964e3
MM
133382011-04-03 Michael Matz <matz@suse.de>
13339
13340 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
13341 and next_slot members.
13342 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
13343 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
13344 (lto_streamer_cache_append): Declare.
13345 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
13346 unsigned index, remove offset parameter, ensure that we append
13347 or update existing entries.
13348 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
13349 parameter, update next_slot for append.
13350 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
13351 parameter.
13352 (lto_streamer_cache_insert_at): Likewise.
13353 (lto_streamer_cache_append): New function.
13354 (lto_streamer_cache_lookup): Use unsigned index.
13355 (lto_streamer_cache_get): Likewise.
13356 (lto_record_common_node): Don't test tree_node_can_be_shared.
13357 (preload_common_node): Adjust call to lto_streamer_cache_insert.
13358 (lto_streamer_cache_delete): Don't free offsets member.
13359 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
13360 (lto_output_string_with_length): Use lto_output_data_stream.
13361 (lto_output_tree_header): Remove ix parameter, don't write it.
13362 (lto_output_builtin_tree): Likewise.
13363 (lto_write_tree): Adjust callers to above, don't track and write
13364 offset, write unsigned index.
13365 (output_unreferenced_globals): Don't emit all global vars.
13366 (write_global_references): Use unsigned indices.
13367 (lto_output_decl_state_refs): Likewise.
13368 (write_symbol): Likewise.
13369 * lto-streamer-in.c (lto_input_chain): Move earlier.
13370 (input_function): Use unsigned index.
13371 (input_alias_pairs): Don't read and then ignore all global vars.
13372 (lto_materialize_tree): Remove ix_p parameter, don't read index,
13373 don't pass it back, use lto_streamer_cache_append.
13374 (lto_register_var_decl_in_symtab): Use unsigned index.
13375 (lto_register_function_decl_in_symtab): Likewise.
13376 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
13377 index.
13378 (lto_get_builtin_tree): Don't read index, use
13379 lto_streamer_cache_append.
13380 (lto_read_tree): Adjust call to lto_materialize_tree.
13381
13382 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
13383 don't use function calls in arguments to MIN.
13384
13385 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
13386 twice.
13387
13388 * gimple.c (gimple_type_leader_entry): Mark deletable.
13389
b9a5b5b2
AM
133902011-04-03 Alan Modra <amodra@gmail.com>
13391
13392 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
13393
ac6a641b
MM
133942011-04-03 Michael Matz <matz@suse.de>
13395
13396 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
13397 an integer.
13398 * tree.h (tree_decl_non_common.vindex): Adjust comment.
13399
0038d4e0
MM
134002011-04-03 Michael Matz <matz@suse.de>
13401
e9c18386 13402 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
13403 * gimple-fold.c (canonicalize_constructor_val): Accept being called
13404 without function context.
13405 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
13406 current_function_decl and cfun.
13407
91f2fae8
MM
134082011-04-03 Michael Matz <matz@suse.de>
13409
13410 * tree.c (decl_init_priority_insert): Don't create entry for
13411 default priority.
13412 (decl_fini_priority_insert): Ditto.
13413 (fields_compatible_p, find_compatible_field): Remove.
13414 * tree.h (fields_compatible_p, find_compatible_field): Remove.
13415 * gimple.c (gimple_compare_field_offset): Adjust block comment.
13416
da29e070
EB
134172011-04-03 Eric Botcazou <ebotcazou@adacore.com>
13418
13419 * combine.c (try_combine): Remove useless local variable.
13420
4979c28b 134212011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 13422 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
13423
13424 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
13425 non-variable offsets and compare the remaining bases of the two
13426 accesses instead of looking for exact same data-ref.
13427
b4ddcaee
KT
134282011-04-02 Kai Tietz <ktietz@redhat.com>
13429
f90298e1
KT
13430 PR target/48416
13431 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
13432
b4ddcaee
KT
13433 * i386.c (ix86_is_msabi_thiscall): New helper function.
13434 (ix86_is_type_thiscall): New helper function.
13435 (ix86_comp_type_attributes): Handle thiscall for method-functions
13436 special.
13437 (init_cumulative_args): Likewise.
13438 (find_drap_reg): Likewise.
13439 (ix86_static_chain): Likewise.
13440 (x86_this_parameter): Likewise.
13441 (x86_output_mi_thunk): Likewise.
13442
2a9d769a 134432011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
13444 Nicolas Setton <setton@adacore.com>
13445 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
13446
13447 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
13448 (add_gnat_descriptive_type_attribute): New function.
13449 (gen_array_type_die): Call it.
13450 (gen_enumeration_type_die): Likewise.
13451 (gen_struct_or_union_type_die): Likewise.
13452 (modified_type_die): Likewise.
13453 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
13454 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
13455 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
13456
15a03a11
JJ
134572011-04-01 Jakub Jelinek <jakub@redhat.com>
13458
13459 PR bootstrap/48148
13460 * dwarf2out.c (resolve_addr): Don't call force_decl_die
13461 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
13462
13463 Revert:
13464 2011-03-17 Richard Guenther <rguenther@suse.de>
13465
13466 PR bootstrap/48148
13467 * lto-cgraph.c (input_overwrite_node): Clear the abstract
13468 origin for decls in other ltrans units.
13469 (input_varpool_node): Likewise.
13470
19228b93
JJ
134712011-04-01 Jakub Jelinek <jakub@redhat.com>
13472
13473 PR middle-end/48335
13474 * expr.c (expand_assignment): Handle all possibilities
13475 if TO_RTX is CONCAT.
e9c18386 13476 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
13477 (store_split_bit_field): If SUBREG_REG (op0) or
13478 op0 itself has smaller mode than word, return it
13479 for offset 0 and const0_rtx for out-of-bounds stores.
13480 If word is const0_rtx, skip it.
13481
88cb339e
N
134822011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
13483
13484 * config/h8300/h8300.c (print_operand_address): Rename to...
13485 (h8300_print_operand_address): ...this. Make static. Adjust comments.
13486 Call h8300_print_operand and h8300_print_operand_address instead of
13487 print_operand and print_operand_address. Declare.
13488 (print_operand): Renake to...
13489 (h8300_print_operand): ...this. Make static. Adjust comments.
13490 Call h8300_print_operand instead of print_operand. Declare.
13491 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
13492 (h8300_register_move_cost): Likewise.
13493 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
13494 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
13495 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
13496 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
13497 * config/h8300/h8300-protos.h (print_operand): Delete.
13498 (print_operand_address): Delete.
13499
756d6ee9
RH
135002011-04-01 Richard Henderson <rth@redhat.com>
13501
13502 PR 48400
13503 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
13504 in strict mode before dwarf4. Re-order tests to early out
13505 before switching sections.
13506
ceaaaeab
NF
135072011-04-01 Nathan Froyd <froydnj@codesourcery.com>
13508
13509 * config/h8300/constraints.md: New file.
13510 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
13511 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
13512 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
13513 * config/h8300/predicates.md (bit_operand): Likewise.
13514 (incdec_operand): Use satisfies_constraint_M and
13515 satisfies_constraint_O. Don't use C code block.
13516 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
13517 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
13518 (compute_mov_length): Use satisfies_constraint_G.
13519 (fix_bit_operand): Use satisfies_constraint_U.
13520 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
13521 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
13522 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
13523 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
13524 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
13525 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
13526 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
13527 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
13528 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
13529 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
13530 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
13531 (EXTRA_MEMORY_CONSTRAINT): Delete.
13532
08ae38e0
AP
135332011-04-01 Andrew Pinski <pinskia@gmail.com>
13534 Michael Meissner <meissner@linux.vnet.ibm.com>
13535
13536 PR target/48262
13537 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
13538 operands, as per the specifications.
13539
13540 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
13541 (vec_extract_evenv4sf): Ditto.
13542 (vec_extract_evenv8hi): Ditto.
13543 (vec_extract_evenv16qi): Ditto.
13544 (vec_extract_oddv4si): Ditto.
13545
bdb0b0f6
MW
135462011-03-31 Mark Wielaard <mjw@redhat.com>
13547
13548 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
13549 high_pc attribute if the CU has no associated code. Only output
13550 DW_AT_entry_pc for CU if not generating strict dwarf and
13551 dwarf_version < 4.
13552
722279e4
BS
135532011-04-01 Bernd Schmidt <bernds@codesourcery.com>
13554
13555 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
13556 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
13557 out of ...
13558 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
13559 * final.c (final_start_function): Call the new function rather
13560 than using a NULL argument for dwarf2out_frame_debug.
13561
c5dd277d
BS
13562 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
13563 that contains the prologue.
13564
ec4efea9
BS
13565 * haifa-sched.c (queue_insn): New arg REASON. All callers
13566 changed. Print it in debugging output.
13567
2a6a0d80
BS
13568 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
13569
86014d07
BS
13570 * sched-ebb.c (begin_schedule_ready): Remove second argument.
13571 Split most of the code into...
13572 (begin_move_insn): ... here. New function.
13573 (ebb_sched_info): Add a pointer to it.
13574 * haifa-sched.c (scheduled_insns): New static variable.
13575 (sched_extend_ready_list): Allocate it.
13576 (schedule_block): Use it to record the order of scheduled insns.
13577 Perform RTL changes to move insns only after all scheduling
13578 decisions have been made.
13579 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
13580 begin_move_insn field.
13581 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
13582 * sched-int.h (struct haifa_sched_info): Remove second argument
13583 from begin_schedule_ready hook. Add new member begin_move_insn.
13584 * sched-rgn.c (begin_schedule_ready): Remove second argument.
13585 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
13586
9d701248
BS
13587 * haifa-sched.c (prune_ready_list): New function, broken out of
13588 schedule_block.
13589 (schedule_block): Use it.
13590
1ca1dad5
UW
135912011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13592
13593 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
13594
49568e45
KT
135952011-04-01 Kai Tietz <ktietz@redhat.com>
13596
13597 * config.gcc (*-*-mingw*): Allow as option the
13598 posix threading model.
07c0852e 13599 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
13600 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
13601 definition.
13602 (CPP_SPEC): Add pthread/no-pthread handling.
13603 (LIB_SPEC): Likewise.
13604 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
13605 (LIB_SPEC): Likewise.
13606 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
13607 flag to pass -pthread option for shared libgcc build.
13608 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
13609 for shared libgcc build.
13610 * config/i386/t-mingw-pthread: New file.
13611 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
13612 New define to enable use of library pthread by default.
13613 * config/i386/mingw.opt (pthread): New driver option.
13614 (no-pthread): New driver option.
e9c18386 13615 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
13616 * config/i386/mingw-w64.opt: Likewise.
13617
748f7574 136182011-04-01 Gary Funck <gary@intrepid.com>
636b4106
GF
13619
13620 * c-decl.c (grokdeclarator): Fix formatting.
13621
f04713ee
RS
136222011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
13623
13624 * expr.c (emit_block_move_via_movmem): Use n_generator_args
13625 instead of n_operands.
13626 (set_storage_via_setmem): Likewise.
13627 * optabs.c (maybe_gen_insn): Likewise.
13628 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
13629 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
13630 (mips_expand_builtin_direct): Likewise.
13631 * config/spu/spu.c (expand_builtin_args): Likewise.
13632
b29387ee
RS
136332011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
13634
13635 * recog.h (insn_data_d): Add n_generator_args.
13636 * genoutput.c (data): Likewise.
13637 (output_insn_data): Print it.
13638 (max_opno, num_dups): Delete.
13639 (scan_operands): Just fill in "d->operand[...]".
13640 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
13641
e792559a
RS
136422011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
13643
13644 * gensupport.h (pattern_stats): New structure.
13645 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
13646 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
13647 (max_operand_1, max_operand_vec): Delete.
13648 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
13649
e8110d6f
NF
136502011-03-31 Nathan Froyd <froydnj@codesourcery.com>
13651
13652 * emit-rtl.c (emit_pattern_after_setloc): New function.
13653 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
13654 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
13655 (emit_pattern_after): New function.
13656 (emit_insn_after, emit_jump_insn_after): Call it.
13657 (emit_call_insn_after, emit_debug_insn_after): Likewise.
13658 (emit_pattern_before_setloc): New function.
13659 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
13660 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
13661 Likewise.
13662 (emit_pattern_before): New function.
13663 (emit_insn_before, emit_jump_insn_before): Call it.
13664 (emit_call_insn_before, emit_debug_insn_before): Likewise.
13665
576f85f1
RH
136662011-03-31 Richard Henderson <rth@redhat.com>
13667
13668 * dwarf2out.c (dw_separate_line_info_ref): Remove.
13669 (dw_separate_line_info_entry): Remove.
13670 (enum dw_line_info_opcode): New.
13671 (dw_line_info_entry): Use it.
13672 (dw_line_info_table, dw_line_info_table_p): New.
13673 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
13674 (line_info_table, line_info_label_num): Remove.
13675 (line_info_table_in_use): Remove.
13676 (separate_line_info_table): Remove.
13677 (separate_line_info_table_allocated): Remove.
13678 (separate_line_info_table_in_use): Remove.
13679 (LINE_INFO_TABLE_INCREMENT): Remove.
13680 (line_info_label_num): New.
13681 (cur_line_info_table): New.
13682 (text_section_line_info, cold_text_section_line_info): New.
13683 (separate_line_info): New.
13684 (SEPARATE_LINE_CODE_LABEL): Remove.
13685 (print_dwarf_line_table): Remove.
13686 (debug_dwarf): Don't dump it.
13687 (output_one_line_info_table): New.
13688 (output_line_info): Use it.
13689 (new_line_info_table): New.
13690 (set_cur_line_info_table): New.
13691 (dwarf2out_switch_text_section): Use it.
13692 (dwarf2out_begin_function): Likewise.
13693 (push_dw_line_info_entry): New.
13694 (dwarf2out_source_line): Rewrite for new line info tables.
13695 (dwarf2out_init): Remove dead initailizations.
13696
300d83d9
JM
136972011-03-31 Joseph Myers <joseph@codesourcery.com>
13698
13699 * opts.h (cl_option): Add comments to fields. Add bit-fields for
13700 various flags.
13701 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
13702 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
13703 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
13704 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
13705 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
13706 * opt-functions.awk (flag_init, switch_bit_fields): New.
13707 (switch_flags): Don't handle flags moved to bit-fields. Don't
13708 generate CL_MISSING_OK or CL_SAVE.
13709 * optc-gen.awk: Update to generate bit-field output as well as
13710 flags field.
13711 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
13712 bit-field instead of CL_REJECT_DRIVER flag.
13713 * opts-common.c (generate_canonical_option,
13714 decode_cmdline_option): Use bit-fields instead of CL_* flags.
13715 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
13716 instead of CL_REJECT_NEGATIVE flag.
13717 * toplev.c (print_switch_values): Use cl_report bit-field instead
13718 of CL_REPORT flag.
13719
d4d73ce2
EB
137202011-03-31 Eric Botcazou <ebotcazou@adacore.com>
13721
13722 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
13723 a zero minimum index only if it is redundant.
13724
b8faca75
VM
137252011-03-31 Vladimir Makarov <vmakarov@redhat.com>
13726
13727 PR rtl-optimization/48381
13728 * ira-color.c (assign_hard_reg): Use hard reg set intersection
13729 instead of ira_class_hard_reg_index for calculating conflicting
13730 hard registers.
13731
7d11cebe
SB
137322011-03-31 Steven Bosscher <steven@gcc.gnu.org>
13733
13734 * cprop.c: Clean up hash table building.
13735 (reg_avail_info): Remove.
13736 (oprs_available_p): Remove.
13737 (record_last_reg_set_info): Remove.
13738 (record_last_set_info): Remove.
13739 (reg_available_p): New function.
13740 (gcse_constant_p): Do not treat unfolded conditions as constants.
13741 (make_set_regs_unavailable): New function.
13742 (hash_scan_set): Simplify with new reg_available_p.
13743 (compute_hash_table_work): Traverse insns stream only once.
13744 Do not compute reg_avail_info. Traverse insns in reverse order.
13745 Record implicit sets after recording explicit sets from the block.
13746
98faf84f
MM
137472011-03-31 Michael Matz <matz@suse.de>
13748
e9c18386 13749 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 13750
f52d97da
AS
137512011-03-31 Anatoly Sokolov <aesok@post.ru>
13752
13753 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
13754 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
13755 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
13756 (h8300_mode_dependent_address_p): New function.
13757 (h8300_get_index): Make static.
13758
e16b6fd0
JL
137592011-03-31 Jeff Law <law@redhat.com>
13760
10c51983
JL
13761 * reload1.c (elimination_effects): Fix typo in recent change.
13762
e9c18386 13763 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
13764 typo potentially leading to null pointer dereference.
13765
13766 * caller-save.c (new_saved_hard_reg): Eliminate return value.
13767 (setup_save_areas): Corresponding changes to avoid useless
13768 assignments.
13769
13770 * jump.c (reversed_comparison_code_parts): Avoid successive return
13771 statements when REVERSE_CONDITION is defined.
13772
13773 * expr.c (expand_assignment): Avoid useless assignments.
13774 (expand_expr_real_1): Likewise.
13775 (expand_expr_real_2): Avoid useless statements.
13776
13777 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
13778
13779 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
13780
13781 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
13782 statements.
13783
13784 * stmt.c (expand_expr_stmt): Avoid useless assignment.
13785
eb1eb914
JM
137862011-03-31 Joseph Myers <joseph@codesourcery.com>
13787
13788 PR target/47109
13789 * doc/tm.texi.in (TARGET_VERSION): Remove.
13790 * doc/tm.texi: Regenerate.
13791 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
13792 * collect2.c (main): Don't use TARGET_VERSION.
13793 * mips-tdump.c (main): Don't use TARGET_VERSION.
13794 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 13795 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
13796 * config/rs6000/vxworksae.h: Remove.
13797 * config/alpha/alpha.h (TARGET_VERSION): Remove.
13798 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
13799 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
13800 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
13801 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
13802 * config/arm/arm.h (TARGET_VERSION): Remove.
13803 * config/arm/coff.h (TARGET_VERSION): Remove.
13804 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
13805 * config/arm/elf.h (TARGET_VERSION): Remove.
13806 * config/arm/freebsd.h (TARGET_VERSION): Remove.
13807 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
13808 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
13809 * config/arm/pe.h (TARGET_VERSION): Remove.
13810 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
13811 * config/arm/semi.h (TARGET_VERSION): Remove.
13812 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
13813 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
13814 * config/arm/vxworks.h (TARGET_VERSION): Remove.
13815 * config/avr/avr.h (TARGET_VERSION): Remove.
13816 * config/bfin/bfin.h (TARGET_VERSION): Remove.
13817 * config/fr30/fr30.h (TARGET_VERSION): Remove.
13818 * config/frv/frv.h (TARGET_VERSION): Remove.
13819 * config/h8300/h8300.h (TARGET_VERSION): Remove.
13820 * config/i386/cygwin.h (TARGET_VERSION): Remove.
13821 * config/i386/darwin.h (TARGET_VERSION): Remove.
13822 * config/i386/darwin64.h (TARGET_VERSION): Remove.
13823 * config/i386/djgpp.h (TARGET_VERSION): Remove.
13824 * config/i386/freebsd.h (TARGET_VERSION): Remove.
13825 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
13826 * config/i386/gnu.h (TARGET_VERSION): Remove.
13827 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
13828 * config/i386/i386elf.h (TARGET_VERSION): Remove.
13829 * config/i386/linux.h (TARGET_VERSION): Remove.
13830 * config/i386/linux64.h (TARGET_VERSION): Remove.
13831 * config/i386/lynx.h (TARGET_VERSION): Remove.
13832 * config/i386/mingw32.h (TARGET_VERSION): Remove.
13833 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
13834 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
13835 * config/i386/netware.h (TARGET_VERSION): Remove.
13836 * config/i386/nto.h (TARGET_VERSION): Remove.
13837 * config/i386/openbsd.h (TARGET_VERSION): Remove.
13838 * config/i386/vxworks.h (TARGET_VERSION): Remove.
13839 * config/ia64/elf.h (TARGET_VERSION): Remove.
13840 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
13841 * config/ia64/hpux.h (TARGET_VERSION): Remove.
13842 * config/ia64/linux.h (TARGET_VERSION): Remove.
13843 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
13844 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
13845 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
13846 * config/lm32/lm32.h (TARGET_VERSION): Remove.
13847 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
13848 * config/m32c/m32c.h (TARGET_VERSION): Remove.
13849 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
13850 * config/m32r/m32r.h (TARGET_VERSION): Remove.
13851 * config/m68k/linux.h (TARGET_VERSION): Remove.
13852 * config/m68k/m68k.h (TARGET_VERSION): Remove.
13853 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
13854 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
13855 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
13856 * config/mep/mep.h (TARGET_VERSION): Remove.
13857 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
13858 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
13859 * config/mips/iris6.h (MACHINE_TYPE): Remove.
13860 * config/mips/linux.h (TARGET_VERSION): Remove.
13861 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
13862 * config/mips/vxworks.h (TARGET_VERSION): Remove.
13863 * config/mmix/mmix.h (TARGET_VERSION): Remove.
13864 * config/mn10300/linux.h (TARGET_VERSION): Remove.
13865 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
13866 * config/pa/pa.h (TARGET_VERSION): Remove.
13867 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
13868 * config/picochip/picochip.h (TARGET_VERSION): Remove.
13869 * config/rs6000/aix.h (TARGET_VERSION): Remove.
13870 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
13871 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
13872 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
13873 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
13874 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
13875 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
13876 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
13877 * config/rs6000/linux.h (TARGET_VERSION): Remove.
13878 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
13879 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
13880 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
13881 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
13882 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
13883 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
13884 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
13885 * config/s390/linux.h (TARGET_VERSION): Remove.
13886 * config/s390/s390.h (TARGET_VERSION): Remove.
13887 * config/s390/tpf.h (TARGET_VERSION): Remove.
13888 * config/score/score.h (TARGET_VERSION): Remove.
13889 * config/sh/linux.h (TARGET_VERSION): Remove.
13890 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
13891 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
13892 * config/sh/sh.h (TARGET_VERSION): Remove.
13893 * config/sh/sh64.h (TARGET_VERSION): Remove.
13894 * config/sh/superh.h (TARGET_VERSION): Remove.
13895 * config/sh/vxworks.h (TARGET_VERSION): Remove.
13896 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
13897 * config/sparc/linux.h (TARGET_VERSION): Remove.
13898 * config/sparc/linux64.h (TARGET_VERSION): Remove.
13899 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
13900 TARGET_NAME32, TARGET_NAME): Remove.
13901 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
13902 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
13903 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
13904 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
13905 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
13906 * config/spu/spu.h (TARGET_VERSION): Remove.
13907 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
13908 * config/v850/v850.h (TARGET_VERSION): Remove.
13909 * config/vax/linux.h (TARGET_VERSION): Remove.
13910 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
13911 * config/xtensa/elf.h (TARGET_VERSION): Remove.
13912 * config/xtensa/linux.h (TARGET_VERSION): Remove.
13913
ace31bca
EB
139142011-03-31 Eric Botcazou <ebotcazou@adacore.com>
13915
13916 PR target/48142
13917 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
13918 frame-related from frame-unrelated adjustments to the stack pointer.
13919
76f9db36
JJ
139202011-03-31 Jakub Jelinek <jakub@redhat.com>
13921
13922 * common.opt (fdebug-types-section): Move earlier.
13923 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
13924
b7826465
AT
139252011-03-31 Andreas Tobler <andreast@fgznet.ch>
13926
13927 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
13928 var.
13929
1290e54c
NF
139302011-03-30 Nathan Froyd <froydnj@codesourcery.com>
13931
13932 * tree.h (CASE_CHAIN): Define.
13933 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
13934 (gimple_redirect_edge_and_branch): Likewise.
13935
bddc98e1
VM
139362011-03-30 Vladimir Makarov <vmakarov@redhat.com>
13937
13938 PR middle-end/48367
13939 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
13940 calculation.
13941
c865e437
JL
139422011-03-30 Jeff Law <law@redhat.com>
13943
b3750213 13944 * PR bootstrap/48371
c865e437
JL
13945 * reload1.c (reload): Fix botch in last change.
13946
13947 * reload.h (struct reload): Fix typo introduced in last change.
13948
2cdf9574
JM
139492011-03-30 Joseph Myers <joseph@codesourcery.com>
13950
13951 * config/arm/arm.opt (mhard-float, msoft-float): Mark
13952 Undocumented. Remove help text.
13953 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
13954 -mhard-float.
13955
666a21a2
JM
139562011-03-30 Joseph Myers <joseph@codesourcery.com>
13957
13958 * doc/options.texi (NegativeAlias): Document.
13959 (Alias): Mention NegativeAlias.
13960 * opt-functions.awk: Handle NegativeAlias.
e9c18386 13961 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
13962 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
13963 * opts.h (CL_NEGATIVE_ALIAS): Define.
13964 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
13965 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
13966 OPT_mspe_.
13967 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
13968 Alias entries.
13969 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
13970 mno-spe and mno-isel instead of mspe=no and -misel=no.
13971
0fa4e351
MW
139722011-03-29 Mark Wielaard <mjw@redhat.com>
13973
13974 * common.opt (fdebug-types-section): New flag.
13975 * doc/invoke.texi: Document new -fno-debug-types-section flag.
13976 * dwarf2out.c (use_debug_types): New define.
13977 (struct die_struct): Mark die_id with GTY desc use_debug_types.
13978 (print_die): Guard output of type unit signatures using
13979 use_debug_types.
13980 (build_abbrev_table): Replace assert of dwarf_version >= 4
13981 with assert on use_debug_types.
13982 (size_of_die): Likewise.
13983 (unmark_dies): Likewise.
13984 (value_format): Decide AT_ref_external form on use_debug_types.
13985 (output_die): Replace dwarf_version version check guard with
13986 use_debug_types where appropriate.
13987 (modified_type_die): Likewise.
13988 (gen_reference_type_die): Likewise.
13989 (dwarf2out_start_source_file): Likewise.
13990 (dwarf2out_end_source_file): Likewise.
13991 (prune_unused_types_walk_attribs): Likewise.
13992 (dwarf2out_finish): Likewise.
13993
4648deb4
VM
139942011-03-30 Vladimir Makarov <vmakarov@redhat.com>
13995
13996 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
13997
4f431835
RS
139982011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
13999
14000 PR rtl-optimization/48332
14001 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
14002 mode of input operand N and modeN to its actual mode.
14003
f2034d06
JL
140042011-03-30 Jeff Law <law@redhat.com>
14005
14006 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
14007 define accessor macro.
14008 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
14009 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
14010 (reg_equiv_init): Likewise.
14011 (reg_equivs_size): New variable.
14012 (reg_equiv_init_size): Remove.
14013 (allocate_initial_values): Move prototype to here from....
14014 * integrate.h (allocate_initial_values): Remove prototype.
14015 * integrate.c: Include reload.h.
14016 (allocate_initial_values): Corresponding changes.
14017 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
14018 (fix_reg_equiv_init, no_equiv): Corresponding changes.
14019 (update_equiv_regs): Corresponding changes.
14020 (ira): Corresponding changes.
14021 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
14022 (push_secondary_reload): Corresponding changes.
14023 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
14024 (make_memloc, find_reloads_address): Corresponding changes.
14025 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
14026 (find_reloads_address_1): Corresponding changes.
14027 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
14028 (refers_to_regno_for_reload_p): Corresponding changes.
14029 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
14030 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
14031 * reload1.c: Include ggc.h.
14032 (grow_reg_equivs): New function.
14033 (replace_pseudos_in, reload): Corresponding changes.
14034 (calculate_needs_all_insns, alter_regs): Corresponding changes.
14035 (eliminate_regs_1, elimination_effects): Corresponding changes.
14036 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
14037 (delete_output_reload): Likewise.
14038 * caller-save.c (mark_referenced_regs): Corresponding changes.
14039 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
14040 * frv/predicates.md (frv_load_operand): Corresponding changes.
14041 * microblaze/microblaze.c (double_memory_operand): Corresponding
14042 changes.
14043 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
14044 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 14045 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
14046 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
14047 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
14048 changes.
14049 * pa/pa.c (emit_move_sequence): Corresponding changes.
14050 * vax/vax.c (nonindexed_address_p): Corresponding changes.
14051
159b81b0
RS
140522011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
14053
14054 PR target/47551
14055 * config/arm/arm.c (coproc_secondary_reload_class): Handle
14056 structure modes. Don't check neon_vector_mem_operand for
14057 vector or structure modes.
14058
a6217191
RS
140592011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
14060 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
14061
14062 PR target/43590
14063 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
14064 operand 1 and reshuffle the operands to match.
14065 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
14066
bd837408
CS
140672011-03-30 Christian Schüler <cschueler@gmx.de>
14068
6955d771 14069 PR driver/48208
bd837408 14070 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 14071
6955d771 14072 PR driver/48260
bd837408
CS
14073 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
14074 handler function.
14075 * config/darwin.opt: Added '-arch' option.
14076
e9c0470a
NC
140772011-03-30 Nick Clifton <nickc@redhat.com>
14078
14079 * config/rx/rx.md: Add peepholes and patterns to combine
14080 extending loads and simple arithmetic instructions.
14081 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
14082 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
14083 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 14084 modes to use pre-decrement and post-increment addressing.
e9c18386 14085 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 14086 addresses.
e9c18386
UB
14087 (rx_print_operand): Add support for %Q. Fix handling of %Q.
14088 (rx_memory_move_cost): Adjust cost of stores.
14089 (rx_adjust_insn_length): New function.
e9c0470a 14090
8a87e7ab
JJ
140912011-03-30 Jakub Jelinek <jakub@redhat.com>
14092
14093 PR c/48305
14094 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
14095 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
14096 matching arg00/arg01 types.
14097
12486e03
EB
140982011-03-30 Eric Botcazou <ebotcazou@adacore.com>
14099
14100 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
14101 last_location to UNKNOWN_LOCATION.
14102
0b99eef6
L
141032011-03-30 H.J. Lu <hongjiu.lu@intel.com>
14104
14105 PR target/48349
14106 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
14107 FLOAT_SSE_REGS.
14108
023592aa
JM
141092011-03-30 Joseph Myers <joseph@codesourcery.com>
14110 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14111
14112 PR bootstrap/48337
14113 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
14114 Init(PROCESSOR_V7).
14115 (sparc_cpu): Likewise.
14116 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
14117 PROCESSOR_V7.
14118
ad3b266b
VM
141192011-03-29 Vladimir Makarov <vmakarov@redhat.com>
14120
14121 PR target/48336
14122 PR middle-end/48342
14123 PR rtl-optimization/48345
14124 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
14125 hard regs for given mode from profitable regs when doing secondary
14126 allocation.
14127
633c9126
JL
141282011-03-29 Jeff Law <law@redhat.com>
14129
14130 PR bootstrap/48327
14131 * tree-ssa-threadupdate.c (struct redirection_data): Remove
14132 do_not_duplicate field.
14133 (lookup_redirection_data): Corresponding changes.
14134 (create_duplicates): Always create a template block.
14135 (redirect_edges): Remove code which reused the original block
14136 when it was going to become unreachable code.
14137 (thread_block): Don't set do_not_duplicate field.
14138
eb50f63a
JM
141392011-03-29 Joseph Myers <joseph@codesourcery.com>
14140
14141 * lto-opts.c (register_user_option_p, lto_register_user_option):
14142 Make type argument unsigned.
14143 * lto-streamer.h (lto_register_user_option): Make type argument
14144 unsigned.
14145 * opth-gen.awk: Make CL_* macros unsigned.
14146 * opts-common.c (find_opt): Make lang_mask argument unsigned.
14147 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
14148 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
14149 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
14150 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
14151 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
14152 (find_opt): Make lang_mask argument unsigned.
14153
76763a6d
VM
141542011-03-29 Vladimir Makarov <vmakarov@redhat.com>
14155
14156 PR rtl-optimization/48331
14157 PR rtl-optimization/48334
14158 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
14159 for any used algorithm.
14160
5c82436e
VM
141612011-03-29 Vladimir Makarov <vmakarov@redhat.com>
14162
14163 * ira-conflicts.c (build_object_conflicts): Add unused attribute
14164 to parent_max.
14165
7a81008b
UB
141662011-03-29 Uros Bizjak <ubizjak@gmail.com>
14167
14168 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
14169 (alpha_option_override): Don't set alpha_sr_alias_set.
14170 (emit_frame_store_1): Use gen_frame_mem rather than calling
14171 set_mem_alias_set.
14172 (alpha_expand_epilogue): Ditto.
14173
86c8d1f6
IR
141742011-03-29 Ira Rosen <ira.rosen@linaro.org>
14175
14176 PR tree-optimization/48290
14177 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
14178 vectorization, check that relevant phis in the basic block after
14179 the inner loop are really inner loop's exit phis.
14180
0d12220f
RS
141812011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
14182
e8cf17e7 14183 PR debug/48190
0d12220f
RS
14184 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
14185 (cached_dw_loc_list_def): New structure.
14186 (cached_dw_loc_list): New typedef.
14187 (cached_dw_loc_list_table): New variable.
14188 (cached_dw_loc_list_table_hash): New function.
14189 (cached_dw_loc_list_table_eq): Likewise.
14190 (add_location_or_const_value_attribute): Take a bool cache_p.
14191 Cache the list when the parameter is true.
14192 (gen_formal_parameter_die): Update caller.
14193 (gen_variable_die): Likewise.
14194 (dwarf2out_finish): Likewise.
14195 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
14196 while generating debug info for the decl.
14197 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
14198 (dwarf2out_init): Initialize cached_dw_loc_list_table.
14199 (resolve_addr): Cache the result of resolving a chain of
14200 location lists.
14201
1756cb66
VM
142022011-03-28 Vladimir Makarov <vmakarov@redhat.com>
14203
14204 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
14205 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 14206
1756cb66
VM
14207 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
14208 after regstat_init_n_sets_and_refs.
14209
14210 * ira.c: Add more comments at the top.
14211 (setup_stack_reg_pressure_class, setup_pressure_classes):
14212 Add comments how we compute the register pressure classes.
14213 (setup_allocno_and_important_classes): Add more comments.
14214 (setup_class_translate_array, reorder_important_classes)
14215 (setup_reg_class_relations): Add comments.
14216
14217 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
14218 start of the file.
14219
14220 * ira-color.c: Add 2011 to the Copyright line.
14221 (assign_hard_reg): Add more comments.
14222 (improve_allocation): Ditto.
14223
14224 * ira-costs.c: Add 2011 to the Copyright line.
14225 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
14226 comments.
14227 (setup_regno_cost_classes_by_mode): Ditto.
14228
14229 Initial patches from ira-improv branch:
14230
14231 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
14232
f60c2554 14233 * ira-build.c (ira_create_object): Remove initialization of
1756cb66
VM
14234 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
14235 (ira_create_allocno): Remove initialization of
14236 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
14237 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
14238 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
14239 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
14240 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
14241 Initialize ALLOCNO_ADD_DATA.
14242 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
14243 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
14244 ALLOCNO_REG.
14245 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
14246 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
14247
14248 * ira.c (ira_reallocate): Remove.
14249 (setup_pressure_classes): Call
14250 ira_init_register_move_cost_if_necessary. Use
14251 ira_register_move_cost instead of ira_get_register_move_cost.
14252 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
14253 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
14254
14255 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
14256 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
14257 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
14258 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
14259 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
14260 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
14261 Fix formatting.
7a81008b 14262 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
14263 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
14264 (struct allocno_color_data): New.
14265 (allocno_color_data_t): New typedef.
14266 (allocno_color_data): New definition.
14267 (ALLOCNO_COLOR_DATA): New macro.
14268 (struct object_color_data): New.
14269 (object_color_data_t): New typedef.
14270 (object_color_data): New definition.
14271 (OBJECT_COLOR_DATA): New macro.
14272 (update_copy_costs, calculate_allocno_spill_cost): Call
14273 ira_init_register_move_cost_if_necessary. Use
14274 ira_register_move_cost instead of ira_get_register_move_cost.
14275 (move_spill_restore, update_curr_costs): Ditto.
14276 (allocno_spill_priority): Make it inline.
7a81008b 14277 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
14278 (struct coalesce_data, coalesce_data_t): New.
14279 (allocno_coalesce_data): New definition.
14280 (ALLOCNO_COALESCE_DATA): New macro.
14281 (merge_allocnos, coalesced_allocno_conflict_p): Use
14282 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
14283 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
14284 (coalesce_allocnos): Ditto.
14285 (setup_coalesced_allocno_costs_and_nums): Ditto.
14286 (collect_spilled_coalesced_allocnos): Ditto.
14287 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
14288 (setup_slot_coalesced_allocno_live_ranges): Ditto.
14289 (coalesce_spill_slots): Ditto.
14290 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
14291 free allocno_coalesce_data.
14292
14293 * ira-conflicts.c: Fix formatting.
14294 (process_regs_for_copy): Call
14295 ira_init_register_move_cost_if_necessary. Use
14296 ira_register_move_cost instead of ira_get_register_move_cost.
14297 (build_object_conflicts): Optimize.
14298
14299 * ira-costs.c (record_reg_classes): Optimize. Call
14300 ira_init_register_move_cost_if_necessary. Use
14301 ira_register_move_cost, ira_may_move_in_cost, and
14302 ira_may_move_out_cost instead of ira_get_register_move_cost and
14303 ira_get_may_move_cost.
14304 (record_address_regs): Ditto.
14305 (scan_one_insn): Optimize.
14306 (find_costs_and_classes): Optimize.
14307 (process_bb_node_for_hard_reg_moves): Call
14308 ira_init_register_move_cost_if_necessary. Use
14309 ira_register_move_cost instead of ira_get_register_move_cost.
14310
14311 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
14312 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
14313 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
14314 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
14315 definitions.
14316 (ira_initiate_emit_data, ira_finish_emit_data)
14317 (create_new_allocno): New functions.
7a81008b 14318 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
14319 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
14320 Use ira_register_move_cost instead of ira_get_register_move_cost.
14321
14322 * ira-int.h: Fix some comments.
7a81008b
UB
14323 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
14324 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
14325 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
14326 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
14327 add_data.
14328 (struct ira_allocno): Make mode and aclass a bitfield. Move other
14329 bitfield after mode. Make hard_regno a short int. Make
14330 hard_regno short. Remove first_coalesced_allocno and
14331 next_coalesced_allocno. Move mem_optimized_dest_p,
14332 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
14333 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
14334 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
14335 temp, colorable_p. Add new member add_data.
14336 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
14337 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
14338 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
14339 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
14340 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
14341 (ALLOCNO_ADD_DATA): New macro.
14342 (ira_emit_data_t): New typedef.
14343 (struct ira_emit_data): New. Move mem_optimized_dest_p,
14344 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
14345 from struct ira_allocno.
14346 (ALLOCNO_EMIT_DATA): New macro.
14347 (ira_allocno_emit_data, allocno_emit_reg): New.
14348 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 14349 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
14350 (OBJECT_ADD_DATA): New macro.
14351 (ira_reallocate): Remove.
14352 (ira_initiate_emit_data, ira_finish_emit_data): New.
14353 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
14354 (ira_init_register_move_cost_if_necessary): New.
14355 (ira_object_conflict_iter_next): Merge into
14356 ira_object_conflict_iter_cond.
7a81008b 14357 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66 14358
f60c2554 14359 * ira-live.c (process_single_reg_class_operands): Call
1756cb66
VM
14360 ira_init_register_move_cost_if_necessary. Use
14361 ira_register_move_cost instead of ira_get_register_move_cost.
14362
14363 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
14364
14365 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
14366
14367 * ira-costs.c: Fix formatting.
14368 (cost_classes, cost_classes_num): Remove.
14369 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
14370 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
14371 (cost_classes_del, cost_classes_htab): New.
14372 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
14373 (initiate_regno_cost_classes, setup_cost_classes): New.
14374 (setup_regno_cost_classes_by_aclass): New.
7a81008b 14375 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
14376 (record_reg_classes): Use regno_cost_classes instead of
14377 cost_classes. Move checking opposite operand up.
14378 (record_address_regs): Use regno_cost_classes
14379 instead of cost_classes.
14380 (scan_one_insn): Ditto. Use always general register.
14381 (print_allocno_costs): Use regno_cost_classes instead of
14382 cost_classes.
14383 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
14384 (find_costs_and_classes): Set up cost classes for each registers.
14385 Use also their mode for this. Use regno_cost_classes instead of
14386 cost_classes.
14387 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
14388 cost_classes.
14389 (free_ira_costs, ira_init_costs): Don't use cost_classes.
14390 (ira_costs, ira_set_pseudo_classes): Call
14391 initiate_regno_cost_classes and finish_regno_cost_classes.
14392
14393 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
14394
14395 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
14396
14397 * target.def (ira_cover_classes): Remove.
14398
7a81008b 14399 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
14400
14401 * doc/tm.texi.in: Ditto.
14402
14403 * ira-conflicts.c: Remove mentioning cover classes from the file.
14404 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 14405 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
14406
14407 * targhooks.c (default_ira_cover_classes): Remove.
14408
14409 * targhooks.h (default_ira_cover_classes): Ditto.
14410
14411 * haifa-sched.c: Remove mentioning cover classes from the file.
14412 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
14413 ira_pressure_classes and ira_pressure_classes_num instead of
14414 ira_reg_class_cover_size and ira_reg_class_cover. Use
14415 sched_regno_pressure_class instead of sched_regno_cover_class.
14416 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
14417 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
14418
14419 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
14420 classes from the file.
14421 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
14422 (struct object_hard_regs, struct object_hard_regs_node): New.
14423 (struct ira_object): New members profitable_hard_regs,
14424 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
14425 (struct ira_allocno): Rename cover_class to aclass. Rename
14426 cover_class_cost and updated_cover_class_cost to class_cost and
14427 updated_class_cost. Remove splay_removed_p and
14428 left_conflict_size. Add new members colorable_p.
14429 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
14430 (ALLOCNO_COLORABLE_P): New macro.
14431 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
14432 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
14433 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
14434 (OBJECT_...): Rename parameter C to O.
14435 (OBJECT_PROFITABLE_HARD_REGS): New macro.
14436 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
14437 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
14438 (struct target_ira_int): New members x_ira_max_memory_move_cost,
14439 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
14440 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
14441 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
14442 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
14443 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
14444 x_ira_reg_class_subunion.
14445 (ira_max_memory_move_cost, ira_max_register_move_cost)
14446 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
14447 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
14448 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 14449 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
14450 (ira_reg_class_union): Rename to ira_reg_class_subunion.
14451 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
14452 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
14453 (ira_tune_allocno_costs_and_cover_classes): Rename to
14454 ira_tune_allocno_costs.
14455 (ira_debug_hard_regs_forest): New.
14456 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
14457 (ira_object_conflict_iter_next): Fix comments.
7a81008b 14458 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
14459 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
14460 cover_class to aclass.
14461 (ira_allocate_and_accumulate_costs): Ditto.
14462 (ira_allocate_and_set_or_copy_costs): Ditto.
14463
14464 * opts.c (decode_options): Remove ira_cover_class check.
14465
14466 * ira-color.c: Remove mentioning cover classes from the file. Use
14467 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
14468 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
14469 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
14470 (splay-tree.h): Remove include.
14471 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
14472 before copy_freq_compare_func.
14473 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
14474 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
14475 New definitions.
14476 (hard_regs_roots, hard_regs_node_vec): Ditto.
14477 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
14478 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
14479 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
14480 (create_new_object_hard_regs_node): Ditto.
14481 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 14482 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
14483 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
14484 Ditto.
14485 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
14486 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
14487 (remove_unused_object_hard_regs_nodes): Ditto.
14488 (enumerate_object_hard_regs_nodes): Ditto.
14489 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
14490 (object_hard_regs_subnode_t): Ditto.
14491 (struct object_hard_regs_subnode): Ditto.
14492 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
14493 (setup_object_hard_regs_subnode_index): Ditto.
14494 (get_object_hard_regs_subnodes_num): Ditto.
14495 (form_object_hard_regs_nodes_forest): Ditto.
14496 (finish_object_hard_regs_nodes_tree): Ditto.
14497 (finish_object_hard_regs_nodes_forest): Ditto.
14498 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 14499 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
14500 (pseudos_have_intersected_live_ranges_p): Rename to
14501 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
14502 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
14503 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
14504 (update_copy_costs): Remove assert. Skip cost update if the hard
14505 reg does not belong the class.
14506 (assign_hard_reg): Process only profitable hard regs.
14507 (uncolorable_allocnos_num): Make it scalar.
14508 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
14509 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
14510 and ira_reg_class_max_nregs.
14511 (bucket_allocno_compare_func): Check frequency first.
14512 (sort_bucket): Add compare function as a parameter.
14513 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
14514 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
14515 (push_allocno_to_stack): Rewrite for checking new allocno
14516 colorability.
7a81008b 14517 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
14518 (push_only_colorable): Pass new parameter to sort_bucket.
14519 (push_allocno_to_spill): Remove.
14520 (allocno_spill_priority_compare): Make it inline and rewrite.
14521 (splay_tree_allocate, splay_tree_free): Remove.
14522 (allocno_spill_sort_compare): New function.
14523 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
14524 build and use splay tree. Choose first allocno in uncolorable
14525 allocno bucket to spill. Remove setting spill cost.
14526 (all_conflicting_hard_regs): Remove.
14527 (setup_allocno_available_regs_num): Check only profitable hard
14528 regs. Print info about hard regs nodes.
14529 (setup_allocno_left_conflicts_size): Remove.
14530 (put_allocno_into_bucket): Don't call
7a81008b 14531 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
14532 (improve_allocation): New.
14533 (color_allocnos): Call setup_profitable_hard_regs,
14534 form_object_hard_regs_nodes_forest, improve_allocation,
14535 finish_object_hard_regs_nodes_forest. Setup spill cost.
14536 (print_loop_title): Use pressure classes.
14537 (color_allocnso): Ditto.
14538 (do_coloring): Remove allocation and freeing splay_tree_node_pool
14539 and allocnos_for_spilling.
14540 (ira_sort_regnos_for_alter_reg): Don't setup members
14541 {first,next}_coalesced_allocno.
14542 (color): Remove allocating and freeing removed_splay_allocno_vec.
14543 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
14544 prohibited_class_mode_regs.
14545
14546 * ira-lives.c: Remove mentioning cover classes from the file. Fix
14547 formatting.
14548 (update_allocno_pressure_excess_length): Use pressure classes.
14549 (inc_register_pressure, dec_register_pressure): Check for pressure
14550 class.
14551 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
14552 pressure class. Use ira_reg_class_nregs instead of
14553 ira_reg_class_max_nregs.
14554 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
14555 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
14556 (single_reg_class): Use ira_reg_class_nregs instead of
14557 ira_reg_class_max_nregs.
14558 (process_bb_node_lives): Use pressure classes.
14559
14560 * ira-emit.c: Remove mentioning cover classes from the file. Use
14561 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
14562 (change_loop): Use pressure classes.
14563 (modify_move_list): Call ira_set_allocno_class instead of
14564 ira_set_allocno_cover_class.
14565
14566 * ira-build.c: Remove mentioning cover classes from the file. Use
14567 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
14568 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
14569 ALLOCNO_UPDATED_CLASS_COST instead of
14570 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
14571 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
14572 (ira_create_allocno): Remove initialization of
14573 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
14574 ALLOCNO_COLORABLE_P.
14575 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
14576 Update conflict regs for the objects.
14577 (create_cap_allocno): Remove assert. Don't propagate
14578 ALLOCNO_AVAILABLE_REGS_NUM.
14579 (ira_free_allocno_costs): New function.
14580 (finish_allocno): Change a part of code into call of
14581 ira_free_allocno_costs.
14582 (low_pressure_loop_node_p): Use pressure classes.
14583 (object_range_compare_func): Don't compare classes.
14584 (setup_min_max_conflict_allocno_ids): Ditto.
14585
14586 * loop-invariant.c: Remove mentioning cover classes from the file.
14587 Use ira_pressure_classes and ira_pressure_classes_num instead of
14588 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
14589 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
14590 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
14591 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
14592 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
14593 STACK_REG_COVER_CLASS.
14594 (get_regno_cover_class): Rename to get_regno_pressure_class.
14595 (move_loop_invariants): Initialize and finalize regstat.
14596
14597 * ira.c: Remove mentioning cover classes from the file. Add
14598 comments about coloring without cover classes. Use ALLOCNO_CLASS
14599 instead of ALLOCNO_COVER_CLASS. Fix formatting.
14600 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
14601 setup_class_subset_and_memory_move_costs.
14602 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
14603 (setup_cover_and_important_classes): Rename to
14604 setup_allocno_and_important_classes.
14605 (setup_class_translate_array): New.
14606 (setup_class_translate): Call it for allocno and pressure classes.
14607 (cover_class_order): Rename to allocno_class_order.
14608 (comp_reg_classes_func): Use ira_allocno_class_translate instead
14609 of ira_class_translate.
14610 (reorder_important_classes): Set up ira_important_class_nums.
14611 (setup_reg_class_relations): Set up ira_reg_class_superunion.
14612 (print_class_cover): Rename to print_classes. Add parameter.
14613 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
14614 Print pressure classes too.
14615 (find_reg_class_closure): Rename to find_reg_classes. Don't call
14616 setup_reg_subclasses.
7a81008b 14617 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
14618 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
14619 (setup_prohibited_class_mode_regs): Use
7a81008b 14620 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
14621 (clarify_prohibited_class_mode_regs): New function.
14622 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
14623 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
14624 (ira_init_once): Initialize them.
14625 (free_register_move_costs): Process them.
14626 (ira_init): Move calls of find_reg_classes and
14627 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
14628 Call clarify_prohibited_class_mode_regs.
14629 (ira_no_alloc_reg): Remove.
14630 (too_high_register_pressure_p): Use pressure classes.
14631
14632 * sched-deps.c: Remove mentioning cover classes from the file.
14633 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
14634 ira_pressure_classes and ira_pressure_classes_num instead of
14635 ira_reg_class_cover_size and ira_reg_class_cover.
14636 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
14637 sched_regno_pressure_class instead of sched_regno_cover_class.
14638 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
14639 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
14640
14641 * ira.h: Add 2010 to Copyright.
14642 (ira_no_alloc_reg): Remove external.
14643 (struct target_ira): Rename x_ira_hard_regno_cover_class,
14644 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
14645 x_ira_class_translate to x_ira_hard_regno_allocno_class,
14646 x_ira_allocno_classes_num, x_ira_allocno_classes, and
14647 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
14648 x_ira_pressure_classes, x_ira_pressure_class_translate, and
14649 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
14650 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
14651 x_ira_no_alloc_regs.
7a81008b 14652 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
14653 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
14654 ira_allocno_classes_num and ira_allocno_classes.
14655 (ira_class_translate): Rename to ira_allocno_class_translate.
14656 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
14657 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
14658 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
14659 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
14660 (ira_no_alloc_regs): New.
14661
14662 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
14663 classes from the file. Use ALLOCNO_CLASS instead of
14664 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
14665 ALLOCNO_COVER_CLASS_COST.
14666 (regno_cover_class): Rename to regno_aclass.
14667 (record_reg_classes): Use ira_reg_class_subunion instead of
14668 ira_reg_class_union.
14669 (record_address_regs): Check overflow.
14670 (scan_one_insn): Ditto.
7a81008b 14671 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
14672 (print_pseudo_costs): Use REG_N_REFS.
14673 (find_costs_and_classes): Use classes intersected with them on the
14674 1st pass. Check overflow. Use ira_reg_class_subunion instead of
14675 ira_reg_class_union. Use ira_allocno_class_translate and
14676 regno_aclass instead of ira_class_translate and regno_cover_class.
14677 Modify code for finding regno_aclass. Setup preferred classes for
14678 the next pass.
14679 (setup_allocno_cover_class_and_costs): Rename to
14680 setup_allocno_class_and_costs. Use regno_aclass instead of
14681 regno_cover_class. Use ira_set_allocno_class instead of
14682 ira_set_allocno_cover_class.
14683 (init_costs, finish_costs): Use regno_aclass instead of
14684 regno_cover_class.
14685 (ira_costs): Use setup_allocno_class_and_costs instead of
14686 setup_allocno_cover_class_and_costs.
14687 (ira_tune_allocno_costs_and_cover_classes): Rename to
14688 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
14689 by processing objects. Use ira_reg_class_max_nregs instead of
14690 ira_reg_class_nregs.
14691
14692 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
14693
14694 * sched-int.h: Remove mentioning cover classes from the file.
14695 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
14696
14697 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
14698 classes from the file.
14699 (struct reg_pref): Rename coverclass into allocnoclass.
14700 (reg_cover_class): Rename to reg_allocno_class.
14701
7a81008b 14702 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
14703
14704 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
14705
14706 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
14707
14708 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
14709
14710 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
14711
14712 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
14713
14714 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
14715
14716 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
14717
14718 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
14719
14720 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
14721
14722 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
14723 (i386_ira_cover_classes): Ditto.
14724
14725 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
14726
14727 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
14728
14729 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
14730
14731 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
14732
14733 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
14734
14735 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
14736
14737 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
14738 (mips_ira_cover_classes): Ditto.
14739
14740 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
14741
14742 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
14743
14744 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
14745
14746 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
14747
14748 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
14749
14750 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
14751 (IRA_COVER_CLASSES_VSX): Ditto.
14752
14753 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
14754 (rs6000_ira_cover_classes): Ditto.
14755
14756 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
14757
14758 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
14759
14760 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
14761
14762 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
14763
14764 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
14765
14766 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
14767
14768 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
14769
14770 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
14771
14772 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
14773
14774 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
14775
2b80199f
JJ
147762011-03-29 Jakub Jelinek <jakub@redhat.com>
14777
71dae1fe
JJ
14778 PR debug/48253
14779 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
14780 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
14781 dw_fde_unlikely_section_end_label, cold_in_std_section,
14782 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
14783 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
14784 fields.
14785 (output_fde): Use dw_fde_second_{begin,end} if second is
14786 true, otherwise dw_fde_{begin,end}.
14787 (output_call_frame_info): Test dw_fde_second_begin != NULL
14788 instead of dw_fde_switched_sections.
14789 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
14790 fields, initialize new fields. Initialize in_std_section
14791 unconditionally from the first partition.
14792 (dwarf2out_end_epilogue): Don't override dw_fde_end when
14793 dw_fde_second_begin is non-NULL.
14794 (dwarf2out_switch_text_section): Stop initializing removed
14795 dw_fde_struct fields, initialize new fields, initialize
14796 also dw_fde_end here. Set dw_fde_switch_cfi even when
14797 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
14798 (struct var_loc_list_def): Add last_before_switch field.
14799 (arange_table, arange_table_allocated, arange_table_in_use,
14800 ARANGE_TABLE_INCREMENT, add_arange): Removed.
14801 (size_of_aranges): Count !in_std_section and !second_in_std_section
14802 hunks in fdes, instead of looking at arange_table_in_use.
14803 (output_aranges): Add aranges_length argument, don't call
14804 size_of_aranges here. Instead of using aranges_table*
14805 emit ranges for fdes when !in_std_section resp.
14806 !second_in_std_section.
14807 (dw_loc_list): Break ranges crossing section switch.
14808 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 14809 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
14810 (gen_subprogram_die): Don't call add_arange. Use
14811 dw_fde_{begin,end} for first partition and if switched
14812 section dw_fde_second_{begin,end} for the second.
14813 (var_location_switch_text_section_1,
14814 var_location_switch_text_section): New functions.
14815 (dwarf2out_begin_function): Initialize cold_text_section even
14816 when function_section () isn't text_section.
14817 (prune_unused_types): Don't walk arange_table.
14818 (dwarf2out_finish): Don't needlessly test
14819 flag_reorder_blocks_and_partition when testing cold_text_section_used.
14820 If info_section_emitted, call size_of_aranges and if it indicates
14821 non-empty .debug_aranges, call output_aranges with the computed
14822 size. Stop using removed dw_fde_struct fields, use
14823 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
14824 for second.
14825
2b80199f
JJ
14826 PR debug/48203
14827 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
14828 create ENTRY_VALUE if incoming or address of incoming's MEM
14829 is a hard REG.
14830 * dwarf2out.c (mem_loc_descriptor): Don't emit
14831 DW_OP_GNU_entry_value of DW_OP_fbreg.
14832 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
14833 on ENTRY_VALUE is able to find the canonical parameter VALUE.
14834 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
14835 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
14836 ENTRY_VALUE_EXPs.
14837 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
14838 is a REG_P or MEM_P with REG_P address, compute hash directly
14839 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
14840 (preserve_only_constants): Don't clear VALUES forwaring
14841 ENTRY_VALUE to some other VALUE.
14842
8a445129
RS
148432011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
14844
14845 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
14846 instead of GEN_INT.
14847
c82fee88
EB
148482011-03-28 Eric Botcazou <ebotcazou@adacore.com>
14849
14850 * cfgexpand.c (expand_gimple_cond): Always set the source location and
14851 block before expanding the statement.
14852 (expand_gimple_stmt_1): Likewise. Set them here...
14853 (expand_gimple_stmt): ...and not here. Tidy.
14854 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
14855 unknown.
14856
e45425ec
SB
148572011-03-28 Steven Bosscher <steven@gcc.gnu.org>
14858
14859 * Makefile.in: New rule for cprop.o.
14860 * gcse.c: Move constant/copy propagation to cprop.c.
14861 (compute_local_properties): Only handle expression tables.
14862 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
14863 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
14864 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
14865 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 14866 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
14867 compute_cprop_data, find_used_regs, try_replace_reg,
14868 find_avail_set, cprop_jump, constprop_register, cprop_insn,
14869 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
14870 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
14871 find_bypass_set, reg_killed_on_edge, bypass_block,
14872 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
14873 execute_rtl_cprop, pass_rtl_cprop): Move to...
14874 * cprop.c: ...here. New file, constant/copy propagation for RTL
14875 moved from gcse.c to here with minor cleanups in duplicated code.
14876
c09d5426
L
148772011-03-28 H.J. Lu <hongjiu.lu@intel.com>
14878
14879 * config/i386/i386.c (flag_opts): Fix a typo in
14880 -mavx256-split-unaligned-store.
14881
9eaa7740
AS
148822011-03-28 Anatoly Sokolov <aesok@post.ru>
14883
14884 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
14885 LIBCALL_VALUE): Remove macros.
14886 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
14887 TARGET_FUNCTION_VALUE_REGNO_P): Define.
14888 (h8300_function_value, h8300_libcall_value,
14889 h8300_function_value_regno_p): New functions.
14890
dcec2be2
AS
148912011-03-28 Anatoly Sokolov <aesok@post.ru>
14892
14893 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
14894
520af9ec
JL
148952011-03-28 Jeff Law <law@redhat.com>
14896
14897 * tree-ssa-threadupdate.c (redirect_edges): Call
14898 create_edge_and_update_destination_phis as needed.
14899 (create_edge_and_update_destination_phis): Accept new BB argument.
14900 All callers updated.
14901 (thread_block): Do not update the profile when threading around
14902 intermediate blocks.
14903 (thread_single_edge): Likewise.
14904 (determine_bb_domination_status): If BB is not a successor of the
14905 loop header, return NONDOMINATING.
14906 (register_jump_thread): Note when we register a jump thread around
14907 an intermediate block.
14908 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
14909 (thread_across_edge): Use it.
14910
7450b54f
TG
149112011-03-28 Tristan Gingold <gingold@adacore.com>
14912
14913 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
14914 when for_return is 2.
14915
649beb33
JL
149162011-03-28 Jeff Law <law@redhat.com>
14917
14918 * var-tracking.c (canonicalize_values_mark): Delete unused
14919 lhs assignment.
14920 (canonicalize_values_star, set_variable_part): Likewise.
14921 (clobber_variable_part, delete_variable_part): Likewise.
14922
d5b8da97
SB
149232011-03-28 Steven Bosscher <steven@gcc.gnu.org>
14924
14925 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
14926
322dd859
MJ
149272011-03-28 Martin Jambor <mjambor@suse.cz>
14928
14929 * tree-inline.c (expand_call_inline): Do not check that destination
14930 node is analyzed.
14931 (optimize_inline_calls): Assert that destination node is analyzed.
14932 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
14933 not call tree_lowering_passes.
14934 * cgraph.h (cgraph_analyze_function): Declare.
14935 * cgraphunit.c (cgraph_analyze_function): Make public.
14936
aa53e58b
JM
149372011-03-28 Joseph Myers <joseph@codesourcery.com>
14938
14939 * config/sparc/sparc-opts.h: New.
14940 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
14941 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
14942 (sparc_option_override): Store processor_type enumeration rather
14943 than string in cpu_default. Remove name and enumeration from
14944 cpu_table. Directly default -mcpu then default -mtune from -mcpu
14945 without using sparc_select. Use target_flags_explicit instead of
14946 fpu_option_set.
14947 * config/sparc/sparc.h (enum processor_type): Move to
14948 sparc-opts.h.
14949 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
14950 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
14951 HeaderInclude entry.
14952 (mcpu=, mtune=): Use Var and Enum.
14953 (sparc_processor_type): New Enum and EnumValue entries.
14954
dd350eba
RO
149552011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14956 Iain Sandoe <iains@gcc.gnu.org>
14957
14958 PR target/48245
14959 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
14960
1b29f05e
EB
149612011-03-28 Eric Botcazou <ebotcazou@adacore.com>
14962
14963 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
14964 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
14965 Insert new statements at it in lieu of STMT.
14966 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
14967 * tree-vect-stmts.c (vectorizable_store): Likewise.
14968 (vectorizable_load): Likewise.
14969
506e6808
UB
149702011-03-28 Uros Bizjak <ubizjak@gmail.com>
14971
14972 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
14973 (divtf3): Ditto.
14974 (multf3): Ditto.
14975 (subtf3): Ditto.
14976
2e939ee9
L
149772011-03-27 H.J. Lu <hongjiu.lu@intel.com>
14978
14979 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
14980 unaligned 256bit load/store.
14981 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
14982 (*avx_movdqu<avxmodesuffix>): Likewise.
14983
5e85ab88
JDA
149842011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14985
14986 PR target/48288
14987 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
14988 * config/pa/pa.md (iordi3): Use new predicate in expander.
14989 (iorsi3): Likewise.
14990
47be3d6d
AS
149912011-03-27 Anatoly Sokolov <aesok@post.ru>
14992
506e6808 14993 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 14994 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
14995 * config/mips/mips-protos.h (mips_function_value): Remove.
14996 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
14997 (mips_function_value_1): ... this. Make static. Handle receiving
14998 the function type in 'fn_decl_or_type' argument.
14999 (mips_function_value, mips_libcall_value,
15000 mips_function_value_regno_p): New function.
15001 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
15002 TARGET_FUNCTION_VALUE_REGNO_P): Define.
15003
d253656a
L
150042011-03-27 H.J. Lu <hongjiu.lu@intel.com>
15005
15006 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
15007 and -mavx256-split-unaligned-store.
15008 (ix86_option_override_internal): Split 32-byte AVX unaligned
15009 load/store by default.
15010 (ix86_avx256_split_vector_move_misalign): New.
15011 (ix86_expand_vector_move_misalign): Use it.
15012
15013 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
15014 -mavx256-split-unaligned-store.
15015
15016 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
15017 256bit load/store. Generate unaligned store on misaligned memory
15018 operand.
15019 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
15020 256bit load/store.
15021 (*avx_movdqu<avxmodesuffix>): Likewise.
15022
15023 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
15024 -mavx256-split-unaligned-store.
15025
1ea9206a
RS
150262011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
15027
15028 PR target/38598
15029 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
15030 Update commentary.
15031
b99ce2a8
RS
150322011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
15033
15034 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
15035 opno arguments with an expand_operand. Use create_input_operand.
15036 (mips_prepare_builtin_target): Delete.
15037 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
15038 functions.
15039 (mips_expand_builtin_direct): Use create_output_operand and
15040 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
15041 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
15042 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
15043
69d52339
IR
150442011-03-27 Ira Rosen <ira.rosen@linaro.org>
15045
15046 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
15047 function.
15048 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
15049
ba5e9aca
EB
150502011-03-26 Eric Botcazou <ebotcazou@adacore.com>
15051
15052 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
15053 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
15054 basic blocks and call commit_edge_insertions directly.
15055 (fixup_abnormal_edges): Move from here to...
15056 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
15057 on the edges and return whether some have actually been inserted.
15058 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
15059 compensation code.
15060
5d369d58
AB
150612011-03-26 Andrey Belevantsev <abel@ispras.ru>
15062
15063 PR rtl-optimization/48144
15064 * sel-sched-ir.c (merge_history_vect): Factor out from ...
15065 (merge_expr_data): ... here.
15066 (av_set_intersect): Rename to av_set_code_motion_filter.
15067 Update all callers. Call merge_history_vect when an expression
15068 is found in both sets.
15069 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
15070
f082c000
AM
150712011-03-26 Alan Modra <amodra@gmail.com>
15072
15073 * config/rs6000/predicates.md (word_offset_memref_op): Handle
15074 cmodel medium addresses.
15075 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
15076 64-bit gpr loads and stores.
15077 (rs6000_secondary_reload_ppc64): New function.
15078 * config/rs6000/rs6000-protos.h: Declare it.
15079 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
15080
8ac5e12e
AM
150812011-03-26 Alan Modra <amodra@gmail.com>
15082
15083 PR target/47487
15084 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
15085 GNU Go in traceback table.
15086
c2654ded
RH
150872011-03-25 Richard Henderson <rth@redhat.com>
15088
15089 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
15090 if there are exactly 6 operands.
15091 (set_storage_via_setmem): Similarly.
15092
ba78087b
KT
150932011-03-25 Kai Tietz <ktietz@redhat.com>
15094
15095 * collect2.c (write_c_file_stat): Handle backslash
15096 as right-hand directory separator.
15097 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
15098 checking just for slash.
15099 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
15100 instead of checking for trailing slash.
15101 * gcc.c (record_temp_file): Use filename_cmp instead
15102 of strcmp.
15103 (do_spec_1): Likewise.
15104 (replace_outfile_spec_function): Likewise.
15105 (is_directory): Use filename_ncmp instead of strncmp.
15106 (print_multilib_info): Likewise.
15107 * gcov.c (find_source): Use filename_cmp instead
15108 instead of strcmp.
15109 (make_gcov_file_name): Fix order of slash/backslash
15110 checks.
15111 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
15112 (add_standard_paths): Likewise.
15113 * mips-tfile.c (saber_stop): Handle backslash.
15114 * prefix.c (update_path): Use filename_ncmp instead of
15115 strncmp.
15116 * profile.c (output_location): Use filename_cmp instead
15117 of strcmp.
15118 * read-md.c (handle_toplevel_file): Handle backslash.
15119 * tlink.c (frob_extension): Likewise.
15120 * tree-cfg.c (same_line_p): Use filename_cmp instead of
15121 strcmp.
15122 * tree-dump.c (dequeue_and_dump): Handle backslash.
15123 * tree.c (get_file_function_name): Likewise.
15124 * gengtype.c (read_input_list): Likewise.
15125 (get_file_realbasename): Likewise.
15126 (get_output_file_with_visibility): Use filename_cmp
15127 instead of strcmp.
15128
75f6ec9a
RS
151292011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
15130
15131 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
15132 case to VFPv1.
15133
6c4e2997
NF
151342011-03-25 Nathan Froyd <froydnj@codesourcery.com>
15135
15136 * fold-const.c (expr_location_or): New function.
15137 (fold_truth_not_expr): Call it.
15138
0edf1bb2
JL
151392011-03-25 Jeff Law <law@redhat.com>
15140
15141 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
15142 va_end.
15143 * c-family/c-common.c (def_fn_type): Likewise.
15144 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
15145 * emit-rtl.c (gen_rtvec): Likewise.
15146 * lto/lto-lang.c (def_fn_type): Likewise.
15147
fdc2de95
RG
151482011-03-25 Richard Guenther <rguenther@suse.de>
15149
15150 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
15151 also generate copies.
15152 (fini_copy_prop): Handle constant values properly.
15153
21385db0
JJ
151542011-03-25 Jakub Jelinek <jakub@redhat.com>
15155
15156 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
15157 mode size instead of bitsize with DWARF2_ADDR_SIZE.
15158 (hash_loc_operands, compare_loc_operands): Handle
15159 DW_OP_GNU_entry_value.
15160
6510e8bb
KT
151612011-03-25 Kai Tietz <ktietz@redhat.com>
15162
15163 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
15164 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
15165 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
15166 comment and use macro TARGET_64BIT_MS_ABI instead.
15167 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
15168 and change default behavior for 32-bit MS_ABI.
15169 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
15170 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
15171 32-bit, too.
15172 (ix86_cfun_abi): Likewise.
15173 (ix86_maybe_switch_abi): Adjust comment.
15174 (init_cumulative_args): Check for bit-ness in MS_ABI case.
15175 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
15176 instead of checking for SYSV_ABI.
15177 (ix86_nsaved_sseregs): Likewise.
15178 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
15179 to 16 bytes.
15180 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
15181 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
15182 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
15183 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
15184 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
15185
34019e28
RG
151862011-03-25 Richard Guenther <rguenther@suse.de>
15187
15188 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
15189 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
15190 (verify_gimple): Remove.
15191 * tree-cfg.c (verify_gimple_call): Merge verification
15192 from verify_stmts.
15193 (verify_gimple_phi): Merge verification from verify_stmts.
15194 (verify_gimple_label): New function.
15195 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
15196 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
15197 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
15198 (verify_stmts): Rename to verify_gimple_in_cfg.
15199 (verify_gimple_in_cfg): New function.
15200 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
15201 * tree-ssa.c (verify_ssa): Likewise.
15202 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
15203
605896f5
RG
152042011-03-25 Richard Guenther <rguenther@suse.de>
15205
15206 * passes.c (init_optimization_passes): Add FRE pass after
15207 early SRA.
15208
7baa7c13
BS
152092011-03-25 Bernd Schmidt <bernds@codesourcery.com>
15210 Andrew Stubbs <ams@codesourcery.com>
15211
15212 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
15213 for Cortex-A8.
15214 (arm_movdi_vfp_cortexa8): New pattern.
15215 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
15216 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
15217 instructions when tuning for Cortex-A8. Set attribute "arch".
15218 * config/arm/arm.md: Move include arm-tune.md up a bit.
15219 (define_attr "arch"): Add "onlya8" and "nota8" values.
15220 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
15221
45dbce1b
NF
152222011-03-25 Nathan Froyd <froydnj@codesourcery.com>
15223
4ff08abf 15224 PR bootstrap/48282
45dbce1b
NF
15225 Revert:
15226 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
15227
15228 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
15229 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
15230 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
15231 * passes.c (init_optimization_passes): Move
15232 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
15233
ac9a30ae
KT
152342011-03-25 Kai Tietz <ktietz@redhat.com>
15235
15236 * c-typeck.c (comptypes_internal): Replace target
15237 hook call of comp_type_attributes by version in tree.c file.
15238 * gimple.c (gimple_types_compatible_p_1): Likewise.
15239 * tree-ssa.c (useless_type_conversion_p): Likewise.
15240 * tree.c (build_type_attribute_qual_variant): Likewise.
15241 (attribute_value_equal): New static helper function.
15242 (comp_type_attributes): New function.
15243 (merge_attributes): Use attribute_value_equal for comparison.
15244 (attribute_list_contained): Likewise.
15245 * tree.h (comp_type_attributes): New prototype.
15246
afdac116
RG
152472011-03-25 Richard Guenther <rguenther@suse.de>
15248
15249 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
15250 of complex types at -O0.
15251 (verify_gimple_assign_binary): Likewise.
15252 (verify_gimple_assign_ternary): Likewise.
15253
ec6165f8
MW
152542011-03-24 Mark Wielaard <mjw@redhat.com>
15255
15256 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
15257 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
15258
2a5ac39a
MW
152592011-03-24 Mark Wielaard <mjw@redhat.com>
15260
15261 PR debug/48041
15262 * dwarf2out.c (output_abbrev_section): Only write table when
15263 abbrev_die_table_in_use > 1.
15264
e533b2a4
RH
152652011-02-24 Richard Henderson <rth@redhat.com>
15266
15267 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
15268 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
15269 (alpha_expand_unaligned_load_words): Use extql.
15270 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
15271 (emit_insxl): Handle all modes for consistency.
15272
0b2a7367
RH
152732011-02-24 Richard Henderson <rth@redhat.com>
15274
15275 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
15276 (alpha_expand_unaligned_load): Likewise.
15277 (alpha_expand_unaligned_store): Likewise.
15278 (alpha_expand_unaligned_load_words): Likewise.
15279 (alpha_expand_unaligned_store_words): Likewise.
15280 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
15281 (alpha_split_lock_test_and_set_12): Likewise.
15282 (print_operand, alpha_fold_builtin_extxx): Likewise.
15283 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
15284 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
15285 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
15286 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
15287 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
15288 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
15289 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
15290 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
15291 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
15292 (extwl, extll, extql): Similarly.
15293 (inswh, inslh, insqh): Similarly.
15294 (mskbl, mskwl, mskll, mskql): Similarly.
15295 (mskwh, msklh, mskqh): Similarly.
15296
315b2bef
RH
152972011-02-24 Richard Henderson <rth@redhat.com>
15298
15299 * config/alpha/alpha.md (attribute isa): Add er, ner.
15300 (attribute enabled): Handle them.
15301 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
15302
67102517
RH
153032011-02-24 Richard Henderson <rth@redhat.com>
15304
15305 * config/alpha/alpha.md (attribute isa): Add vms.
15306 (attribute enabled): Handle it.
15307 (*movsf): Merge *movsf_{nofix,fix,nofp}.
15308 (*movdf): Merge *movdf_{nofix,fix,nofp}.
15309 (*movtf): Rename from *movtf_internal for consistency.
15310 (*movsi): Merge with *movsi_nt_vms.
15311 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
15312 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
15313 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
15314 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
15315
6aba5cb4
RH
153162011-02-24 Richard Henderson <rth@redhat.com>
15317
15318 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
15319 (extendqisi2, extendhisi2): Likewise.
15320 (extendqidi2): Simplify BWX/non-BWX expansions.
15321 (extendhidi2): Similarly.
15322
bdfb351b
RH
153232011-02-24 Richard Henderson <rth@redhat.com>
15324
15325 * config/alpha/alpha.md (attribute isa): New.
15326 (attribute enabled): New.
15327 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
15328 (zero_extendqisi2, zero_extendqidi2): Similarly.
15329 (zero_extendhisi2, zero_extendhidi2): Similarly.
15330 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
15331
6abe71eb
RH
153322011-02-24 Richard Henderson <rth@redhat.com>
15333
15334 * config/alpha/predicates.md (input_operand): Revert last change;
15335 update comment to mention 32-bit VMS rather than Windows.
15336
7114321e
NF
153372011-03-24 Nathan Froyd <froydnj@codesourcery.com>
15338
15339 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
15340 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
15341 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
15342 * passes.c (init_optimization_passes): Move
15343 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
15344
c8679567
EB
153452011-03-24 Eric Botcazou <ebotcazou@adacore.com>
15346
15347 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
15348
27173058
UB
153492011-03-24 Uros Bizjak <ubizjak@gmail.com>
15350
15351 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
15352 correctly.
15353
6f0c9f06
JJ
153542011-03-24 Jakub Jelinek <jakub@redhat.com>
15355
15356 PR debug/48204
15357 * simplify-rtx.c (simplify_const_unary_operation): Call
15358 real_convert when changing mode class with FLOAT_EXTEND.
15359
662666e5
NC
153602011-03-24 Nick Clifton <nickc@redhat.com>
15361
15362 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
15363 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
15364 * config/rx/rx.c (rx_option_override): Set align_jumps,
15365 align_loops and align_labels if not set by the user.
15366 (rx_align_for_label): New function.
15367 (rx_max_skip_for_label): New function.
15368 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
15369 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
15370 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
15371 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
15372 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
15373
2b99b2b8
RS
153742011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
15375
15376 PR rtl-optimization/48263
15377 * optabs.c (expand_binop_directly): Reinstate convert_modes code
15378 and original commutative_p handling. Use maybe_gen_insn.
15379
ccecd6ea
AK
153802011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15381
15382 * reload.c (find_reloads_subreg_address): Add address_reloaded
15383 parameter and return true there if the full address has been
15384 reloaded.
15385 (find_reloads_toplev): Pass address_reloaded flag.
15386 (find_reloads_address_1): Don't use address_reloaded parameter.
15387
67295642
JL
153882011-03-24 Jeff Law <law@redhat.com>
15389
15390 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
15391 unused variable "ann".
15392 (remove_unused_locals): Likewise.
15393
15394 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
15395 statement.
15396
15397 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
15398 after it is freed.
15399
212aa74f
AK
154002011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15401
15402 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
15403 for invalid symbolic addresses.
15404 (s390_secondary_reload): Don't use s390_check_symref_alignment for
15405 larl operands.
15406
fe784e0d
EB
154072011-03-24 Eric Botcazou <ebotcazou@adacore.com>
15408
15409 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
15410 the argument in calls to fold_truth_not_expr.
15411
63ee8641
NF
154122011-03-24 Nathan Froyd <froydnj@codesourcery.com>
15413
15414 * tree.c (record_node_allocation_statistics): New function.
15415 (make_node_stat, copy_node_stat, build_string): Call it.
15416 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
15417 (build1_stat, build_omp_clause): Likewise.
15418
61be2a1c
RS
154192011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
15420
15421 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
15422 last commit.
15423
a881aaa7
RG
154242011-03-24 Richard Guenther <rguenther@suse.de>
15425
15426 PR tree-optimization/48271
15427 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
15428 blocks that still exist.
15429
dbaa912c
RG
154302011-03-24 Richard Guenther <rguenther@suse.de>
15431
15432 PR tree-optimization/48270
15433 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
15434 not free datarefs before ddrs.
15435
1d60cc55
EB
154362011-03-24 Eric Botcazou <ebotcazou@adacore.com>
15437
15438 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
15439 from the address built for a reference with variable offset.
15440
c78dd519
UB
154412011-03-24 Uros Bizjak <ubizjak@gmail.com>
15442
15443 PR target/48237
15444 * config/i386/i386.md (*movdf_internal_rex64): Do not split
15445 alternatives that can be handled with movq or movabsq insn.
15446 (*movdf_internal): Disable for !TARGET_64BIT.
15447 (*movdf_internal_nointeger): Ditto.
15448 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
15449
b25b9e8f
NF
154502011-03-24 Nathan Froyd <froydnj@codesourcery.com>
15451
15452 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
15453 (FUNCTION_ARG_ADVANCE): Likewise.
15454 * tm.texi.in: Change references to them to hook references.
15455 * tm.texi: Regenerate.
c78dd519 15456 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
15457 (default_function_incoming_arg): Likewise.
15458 (default_function_arg_advance): Likewise.
c78dd519 15459 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
15460 (function_arg_advance): Likewise.
15461 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
15462
190b2187
RG
154632011-03-24 Richard Guenther <rguenther@suse.de>
15464
15465 PR middle-end/48269
15466 * tree-object-size.c (addr_object_size): Do not double-account
15467 for MEM_REF offsets.
15468
a183b5c7
DN
154692011-03-24 Diego Novillo <dnovillo@google.com>
15470
15471 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 15472 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
15473 (lto_input_data_block): Move from lto-opts.c. Make extern.
15474 Update all users.
15475 (lto_input_string): Rename from input_string. Make extern.
15476 Update all users.
15477 * lto-streamer-out.c (lto_output_string_with_length): Rename from
15478 output_string_with_length.
15479 Output 0 to indicate a non-NULL string. Update all callers to
15480 not emit 0.
15481 (lto_output_string): Rename from output_string. Make extern.
15482 Update all users.
15483 (lto_output_decl_state_streams): Make extern.
15484 (lto_output_decl_state_refs): Make extern.
15485 * lto-streamer.h (lto_input_string): Declare.
15486 (lto_input_data_block): Declare.
15487 (lto_output_string): Declare.
15488 (lto_output_string_with_length): Declare.
15489 (lto_output_decl_state_streams): Declare.
15490 (lto_output_decl_state_refs): Declare.
15491
cfef45c8
RG
154922011-03-24 Richard Guenther <rguenther@suse.de>
15493
15494 PR tree-optimization/46562
15495 * tree.c (build_invariant_address): New function.
15496 * tree.h (build_invariant_address): Declare.
15497 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
15498 a renamed function moved ...
15499 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
15500 Take valueization callback parameter.
15501 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
15502 * gimple-fold.h: New file.
15503 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
15504 (ccp_fold, fold_const_aggregate_ref,
15505 fold_ctor_reference, fold_nonarray_ctor_reference,
15506 fold_array_ctor_reference, fold_string_cst_ctor_reference,
15507 get_base_constructor): Move ...
15508 * gimple-fold.c: ... here.
15509 (gimple_fold_stmt_to_constant_1): New function
15510 split out from ccp_fold. Take a valueization callback parameter.
15511 Valueize all operands.
15512 (gimple_fold_stmt_to_constant): New wrapper function.
15513 (fold_const_aggregate_ref_1): New function split out from
15514 fold_const_aggregate_ref. Take a valueization callback parameter.
15515 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
15516 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
15517 invariant POINTER_PLUS_EXPRs to invariant form.
15518 (vn_valueize): New function.
15519 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
15520 * tree-vrp.c (vrp_valueize): New function.
15521 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
15522 to fold statements to constants.
15523 * tree-ssa-pre.c (eliminate): Properly guard propagation of
15524 function declarations.
15525 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
15526 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
15527
5e0a7e40
RS
155282011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
15529
15530 * config/h8300/predicates.md (jump_address_operand): Fix register
15531 mode check.
15532
bfe068c3
IR
155332011-03-24 Ira Rosen <ira.rosen@linaro.org>
15534
15535 * doc/invoke.texi (max-stores-to-sink): Document.
15536 * params.h (MAX_STORES_TO_SINK): Define.
15537 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
15538 if either vectorization or if-conversion is disabled.
15539 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
15540 tree-vect-data-refs.c vect_equal_offsets.
15541 (dr_equal_offsets_p): New function.
15542 (find_data_references_in_bb): Remove static.
15543 * tree-data-ref.h (find_data_references_in_bb): Declare.
15544 (dr_equal_offsets_p): Likewise.
15545 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
15546 (vect_drs_dependent_in_basic_block): Update calls to
15547 vect_equal_offsets.
15548 (vect_check_interleaving): Likewise.
15549 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
15550 (cond_if_else_store_replacement): Rename to...
15551 (cond_if_else_store_replacement_1): ... this. Change arguments and
15552 documentation.
15553 (cond_if_else_store_replacement): New function.
15554 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
15555 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
15556
4908b0bf
CLT
155572011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
15558
15559 PR target/46934
15560 * config/arm/arm.md (casesi): Use the gen_int_mode() function
15561 to subtract lower bound instead of GEN_INT().
15562
2be478a2
JW
155632011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
15564
15565 PR other/48179
15566 PR other/48221
15567 PR other/48234
15568 * doc/extend.texi (Alignment): Move section to match order in TOC.
15569 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
15570 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
15571
0c617be4
JL
155722011-03-23 Jeff Law <law@redhat.com>
15573
15574 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
15575 before removing the edge.
15576
15577 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
15578 it may have been freed by redirect_branch_edge or
15579 redirect_edge_succ_nodup.
15580
58da96fe
RG
155812011-03-23 Richard Guenther <rguenther@suse.de>
15582
c78dd519 15583 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
15584 (check_va_list_escapes): Likewise.
15585 (check_all_va_list_escapes): Likewise.
15586
b8beb4d1
RG
155872011-03-23 Richard Guenther <rguenther@suse.de>
15588
15589 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
15590 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
15591 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
15592 (alias.o): Likewise.
15593 (ipa-type-escape.o): Remove.
15594 (ipa-struct-reorg.o): Likewise.
15595 (GTFILES): Remove ipa-struct-reorg.c.
15596 * alias.c: Do not include ipa-type-escape.h.
15597 * tree-ssa-alias.c: Likewise.
15598 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
15599 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
15600 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
15601 and ipa-type-escape passes.
15602 * tree-pass.h (pass_ipa_type_escape): Remove.
15603 (pass_ipa_struct_reorg): Likewise.
15604 * ipa-struct-reorg.h: Remove.
15605 * ipa-struct-reorg.c: Likewise.
15606 * ipa-type-escape.h: Likewise.
15607 * ipa-type-escape.c: Likewise.
15608 * doc/invoke.texi (-fipa-struct-reorg): Remove.
15609 (--param struct-reorg-cold-struct-ratio): Likewise.
15610 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
15611 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
15612 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
15613
f137aa63
AK
156142011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15615
15616 * config/s390/2084.md: Enable all insn reservations also for z9_ec
15617 cpu attribute value.
15618 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
15619 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
15620 * config/s390/s390.c (processor_flags_table): New constant array.
15621 (s390_handle_arch_option): Remove.
15622 (s390_handle_option): Remove s390_handle_arch_option invocations
15623 and OPT_mwarn_framesize_ handling.
15624 (s390_option_override): Remove s390_handle_arch_option invocation.
15625 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
15626 warnings.
15627 * config/s390/s390.md (cpu attribute): Add z9_ec value.
15628 * config/s390/s390.opt (s390_tune, s390_arch)
15629 (march=): Replace s390_arch_option enum and values with
15630 processor_type. Set variable name to s390_arch. Set
15631 initialization value.
15632 (mtune=): Replace s390_arch_option with processor_type. Set
15633 variable name to s390_tune. Set initialization value.
15634
bf90208f
JB
156352011-03-23 Julian Brown <julian@codesourcery.com>
15636
15637 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
15638 accesses which are not naturally aligned.
15639
3460fdf3
RS
156402011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
15641
15642 PR target/47553
15643 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
15644
a5c7d693
RS
156452011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
15646
15647 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
15648 parameter from "int" to "enum insn_code".
15649 (expand_operand_type): New enum.
15650 (expand_operand): New structure.
15651 (create_expand_operand): New function.
15652 (create_fixed_operand, create_output_operand): Likewise
15653 (create_input_operand, create_convert_operand_to): Likewise.
15654 (create_convert_operand_from, create_address_operand): Likewise.
15655 (create_integer_operand): Likewise.
15656 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
15657 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
15658 (expand_insn, expand_jump_insn): Likewise.
15659 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
15660 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
15661 (expand_movstr, expand_builtin___clear_cache): Likewise.
15662 (expand_builtin_lock_release): Likewise.
15663 * explow.c (allocate_dynamic_stack_space): Likewise.
15664 (probe_stack_range): Likewise. Allow check_stack to FAIL,
15665 and use the default handling in that case.
15666 * expmed.c (check_predicate_volatile_ok): Delete.
15667 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
15668 (emit_cstore): Likewise.
15669 * expr.c (emit_block_move_via_movmem): Likewise.
15670 (set_storage_via_setmem, expand_assignment): Likewise.
15671 (emit_storent_insn, try_casesi): Likewise.
15672 (emit_single_push_insn): Likewise. Allow the expansion to fail.
15673 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
15674 (expand_vec_shift_expr, expand_binop_directly): Likewise.
15675 (expand_twoval_unop, expand_twoval_binop): Likewise.
15676 (expand_unop_direct, emit_indirect_jump): Likewise.
15677 (emit_conditional_move, vector_compare_rtx): Likewise.
15678 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
15679 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
15680 (expand_sync_lock_test_and_set): Likewise.
15681 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
15682 (emit_unop_insn): Likewise.
15683 (expand_copysign_absneg): Change icode to an insn_code.
15684 (create_convert_operand_from_type): New function.
15685 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
15686 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
15687 (expand_insn, expand_jump_insn): Likewise.
15688 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
15689 than const_int_operand for operand 2.
15690
78fadbab
AK
156912011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15692
15693 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
15694 if possible.
15695
5f02387d
NF
156962011-03-22 Nathan Froyd <froydnj@codesourcery.com>
15697
15698 * emit-rtl.c (emit_pattern_before_noloc): New function.
15699 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
15700 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
15701 (emit_pattern_after_noloc): New function.
15702 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
15703 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
15704
fdf3e18a
NF
157052011-03-22 Nathan Froyd <froydnj@codesourcery.com>
15706
15707 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
15708 (__ffsDI2): Likewise.
15709
42d085c1
RH
157102011-03-22 Richard Henderson <rth@redhat.com>
15711
15712 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
15713 of !TARGET_ABI_OPEN_VMS.
15714 (alpha_trampoline_init, alpha_start_function): Likewise.
15715 (alpha_expand_epilogue, alpha_file_start): Likewise.
15716 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
15717 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
15718 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
15719 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
15720 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
15721
cabbe12a
JM
157222011-03-22 Joseph Myers <joseph@codesourcery.com>
15723
15724 * config/s390/s390-opts.h: New.
15725 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
15726 s390_arch_flags, s390_warn_framesize, s390_stack_size,
15727 s390_stack_guard): Remove.
15728 (s390_handle_arch_option): Return void. Take enum
15729 s390_arch_option value instead of string and searching array.
15730 (s390_handle_option): Don't assert that global structures are in
15731 use. Access variables via opts pointer. Use error_at. Don't use
15732 sscanf for -mstack-guard= or -mstack-size=. Update call to
15733 s390_handle_arch_option.
15734 (s390_option_override): Update call to s390_handle_arch_option.
15735 (s390_emit_prologue): Use %d format for s390_stack_size in
15736 diagnostic. Use %wd for HOST_WIDE_INT.
15737 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
15738 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
15739 * config/s390/s390.opt (config/s390/s390-opts.h): New
15740 HeaderInclude entry.
15741 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
15742 s390_arch_flags, s390_warn_framesize): New Variable entries.
15743 (s390_arch_option): New Enum and EnumValue entries.
15744 (march=): Use Enum instead of Var.
15745 (mstack-guard=, mstack-size=): Use UInteger and Var.
15746 (mtune=): Use Enum.
15747
05b12036
JM
157482011-03-22 Joseph Myers <joseph@codesourcery.com>
15749
15750 * config/score/score.c (score_handle_option): Don't assert that
15751 global structures are in use. Access target_flags via opts
15752 pointer. Use value of -march= option to determine target_flags
15753 settings.
15754 * config/score/score.opt (march=): Use Enum.
15755 (score_arch): New Enum and EnumValue entries.
15756
dd51e35a
JM
157572011-03-22 Joseph Myers <joseph@codesourcery.com>
15758
15759 * config/mep/mep.c (option_mtiny_specified): Remove.
15760 (mep_option_override): Move register handling for -mivc2 from
15761 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
15762 instead of option_mtiny_specified.
15763 (mep_handle_option): Access target_flags via opts pointer. Don't
15764 assert that global structures are in use. Defer part of -mivc2
15765 handling and move it to mep_option_override.
15766 * config/mep/mep.opt (IVC2): New Mask entry.
15767 (mivc2): Use Var and Defer instead of Mask.
15768
4a8d3d91
JM
157692011-03-22 Joseph Myers <joseph@codesourcery.com>
15770
15771 * config/v850/v850-opts.h: New.
15772 * config/v850/v850.c (small_memory): Replace with
15773 small_memory_physical_max array. Make that array static const.
15774 (v850_handle_memory_option): Take integer value of argument. Take
15775 gcc_options pointer, option text and location. Return void.
15776 Update for changes to small memory structures.
15777 (v850_handle_option): Access target_flags via opts pointer. Don't
15778 assert that global structures are in use. Update calls to
15779 v850_handle_memory_option.
c78dd519
UB
15780 (v850_encode_data_area): Update references to small memory settings.
15781 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
15782 (enum small_memory_type): Move to v850-opts.h.
15783 * config/v850/v850.opt (config/v850/v850-opts.h): New
15784 HeaderInclude entry.
15785 (small_memory_max): New Variable entry.
15786 (msda): Replace by pair of options msda= and msda-. Use UInteger.
15787 (mtda, mzda): Likewise.
15788
117fdbfa
JM
157892011-03-22 Joseph Myers <joseph@codesourcery.com>
15790
15791 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
15792 pointer. Don't assert that global structures are in use.
15793
d715091c
JM
157942011-03-22 Joseph Myers <joseph@codesourcery.com>
15795
15796 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
15797 via opts pointer. Don't assert that global structures are in use.
15798
1bb721dc
JM
157992011-03-22 Joseph Myers <joseph@codesourcery.com>
15800
15801 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
15802 (munix=93): Use Var.
15803 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
15804 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
15805 * config/pa/pa-opts.h: New.
15806 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
15807 (pa_handle_option): Don't assert that global structures are in
15808 use. Access target_flags via opts pointer. Don't handle
15809 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
15810 OPT_munix_98 here.
15811 (pa_option_override): Handle deferred OPT_mfixed_range_.
15812
cd8d8754
JM
158132011-03-22 Joseph Myers <joseph@codesourcery.com>
15814
15815 * config/mn10300/mn10300-opts.h: New.
15816 * config/mn10300/mn10300.c (mn10300_processor,
15817 mn10300_tune_string): Remove.
15818 (mn10300_handle_option): Don't assert that global structures are
15819 in use. Access mn10300_processor via opts pointer. Don't handle
15820 OPT_mtune_ here.
15821 * config/mn10300/mn10300.h (enum processor_type): Move to
15822 mn10300-opts.h.
15823 (mn10300_processor): Remove.
15824 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
15825 HeaderInclude entry.
15826 (mn10300_processor): New Variable entry.
15827 (mtune=): Use Var.
15828
24e6e6b1
JM
158292011-03-22 Joseph Myers <joseph@codesourcery.com>
15830
15831 * config/microblaze/microblaze.c: Don't include opts.h.
15832 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
15833 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
15834 (mno-clearbss): Use Var and Warn.
15835
8a784afb
JM
158362011-03-22 Joseph Myers <joseph@codesourcery.com>
15837
15838 * config/m32r/m32r-opts.h: New.
15839 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
15840 (m32r_handle_option): Don't assert that global structures are in
15841 use. Access target_flags and m32r_cache_flush_func via opts
15842 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
15843 OPT_mno_flush_trap here.
15844 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
15845 include of m32r-opts.h.
15846 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
15847 HeaderInclude entry.
15848 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
15849 (mmodel=): Use Enum and Var.
15850 (m32r_model): New Enum and EnumValue entries.
15851 (mno-flush-trap): Use Var.
15852 (msdata=): Use Enum and Var.
15853 (m32r_sdata): New Enum and EnumValue entries.
15854
bbfc9a8c
JM
158552011-03-22 Joseph Myers <joseph@codesourcery.com>
15856
15857 * config/m32c/m32c.c: Don't include opts.h.
15858 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
15859 m32c_handle_option): Remove.
15860 (m32c_option_override): Check global_options_set.x_target_memregs
15861 instead of target_memregs_set.
15862 * config/m32c/m32c.h (target_memregs): Remove.
15863 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
15864 variable.
15865
e24b8335
JM
158662011-03-22 Joseph Myers <joseph@codesourcery.com>
15867
15868 * config/iq2000/iq2000-opts.h: New.
15869 * config/iq2000/iq2000.c: Don't include opts.h.
15870 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 15871 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
15872 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
15873 HeaderInclude entry.
15874 (iq2000_tune): New Variable entry.
15875 (march=): Add comment. Use Enum.
15876 (iq2000_arch): New Enum and EnumValue entries.
15877 (mcpu=): Use Enum and Var.
15878 (iq2000_tune): New Enum and EnumValue entries.
15879
e6cc0c98
JM
158802011-03-22 Joseph Myers <joseph@codesourcery.com>
15881
15882 * config/ia64/ia64-opts.h: New.
15883 * config/ia64/ia64.c (ia64_tune): Remove.
15884 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
15885 here. Use error_at.
15886 (ia64_option_override): Handle deferred OPT_mfixed_range_.
15887 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
15888 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
15889 HeaderInclude entry.
15890 (ia64_tune): New Variable entry.
15891 (mfixed-range=): Use Defer and Var.
15892 (mtune=): Use Enum and Var.
15893 (ia64_tune): New Enum and EnumValue entries.
15894
db25893c
JM
158952011-03-22 Joseph Myers <joseph@codesourcery.com>
15896
15897 * config/frv/frv-opts.h: New.
15898 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
15899 frv-opts.h.
15900 (frv_cpu_type): Remove.
15901 * config/frv/frv.c: Don't include opts.h.
15902 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 15903 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
15904 (frv_cpu_type): New Variable entry.
15905 (frv_cpu): New Enum and EnumValue entries.
15906
6c223f5d
JM
159072011-03-22 Joseph Myers <joseph@codesourcery.com>
15908
15909 * config/cris/cris.c (cris_handle_option): Access target_flags via
15910 opts pointer. Don't assert that global structures are in use.
15911 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
15912 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
15913
bbd399cf
JM
159142011-03-22 Joseph Myers <joseph@codesourcery.com>
15915
15916 * config/bfin/bfin-opts.h: New.
15917 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
15918 bfin_si_revision, bfin_workarounds): Remove.
15919 (bfin_cpus): Make static const.
15920 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
15921 not bfin_lib_id_given.
15922 (bfin_handle_option): Don't set bfin_lib_id_given. Access
15923 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 15924 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
15925 * config/bfin/bfin.h: Include bfin-opts.h.
15926 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
15927 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
15928 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
15929 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
15930 entries.
15931
5e1b4d5a
JM
159322011-03-22 Joseph Myers <joseph@codesourcery.com>
15933
15934 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
15935 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
15936 or -msoft-float here.
15937 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
15938 -msoft-float and -mhard-float.
c78dd519 15939 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
15940 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
15941 msoft-float.
15942 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
15943 -msoft-float.
15944 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
15945 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
15946 not mhard-float.
15947 (LIBGCC_SPEC): Don't handle -msoft-float.
15948 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
15949 -mhard-float.
15950 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
15951 msoft-float.
15952 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
15953 -mfloat-abi=*, not -msoft-float and -mhard-float.
15954 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
15955 -msoft-float.
15956 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
15957 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
15958 mhard-float and msoft-float.
15959 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
15960 mfloat-abi=soft in comments, not mhard-float and msoft-float.
15961 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
15962 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
15963 mhard-float.
15964 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
15965 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
15966 msoft-float.
15967 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
15968 not mhard-float.
15969 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
15970 not msoft-float.
15971
800d1de1
RH
159722011-03-22 Richard Henderson <rth@redhat.com>
15973
15974 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
15975 TARGET_ABI_WINDOWS_NT.
15976 (alpha_output_function_end_prologue): Likewise.
15977 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
15978 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
15979 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
15980 (trap, *movsi_nt_vms): Likewise.
15981 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
15982 (*tablejump_osf_nt_internal): Remove.
15983 * config/alpha/predicates.md (input_operand): Only test Pmode.
15984
c59ddd2b
JM
159852011-03-22 Joseph Myers <joseph@codesourcery.com>
15986
15987 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
15988 via opts pointer. Use error_at. Don't assert that global
15989 structures are in use.
15990
1333f97f
JM
159912011-03-22 Joseph Myers <joseph@codesourcery.com>
15992
15993 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
15994 (ix86_handle_option): Access ix86_isa_flags and
15995 ix86_isa_flags_explicit via opts pointer. Don't assert that
15996 global structures are in use.
15997 (ix86_function_specific_save, ix86_function_specific_restore):
15998 Update ix86_isa_flags_explicit field name.
c78dd519 15999 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
16000 (ix86_isa_flags_explicit): Rename TargetSave entry to
16001 x_ix86_isa_flags_explicit.
16002
75db85d8
RH
160032011-03-22 Richard Henderson <rth@redhat.com>
16004
16005 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
16006 (alpha_option_override, direct_return): Likewise.
16007 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
16008 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
16009 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
16010 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
16011 (alpha_expand_epilogue, alpha_end_function): Likewise.
16012 (alpha_init_libfuncs): Likewise.
16013 (struct machine_function): Remove unicosmk members.
16014 (print_operand) ['t']: Remove.
16015 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
16016 unicosmk_output_module_name, unicosmk_output_common,
16017 current_section_align, unicosmk_output_text_section_asm_op,
16018 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
16019 unicosmk_section_type_flags, unicosmk_unique_section,
16020 unicosmk_asm_named_section, unicosmk_insert_attributes,
16021 unicosmk_output_align, unicosmk_defer_case_vector,
16022 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
16023 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
16024 unicosmk_output_ssib, unicosmk_add_call_info_word,
16025 unicosmk_extern_head, unicosmk_output_default_externs,
16026 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
16027 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
16028 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
16029 * config/alpha/alpha-protos.h: Update.
16030 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
16031 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
16032 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
16033 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
16034 (*mulsi_se, mulvsi3): Likewise.
16035 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
16036 (*divmodsi_internal, call, call_value, realign): Likewise.
16037 (moddi3, umoddi3): Likewise; remove duplicate expander.
16038 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
16039 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
16040 (*movdi_nofix): Remove r/U alternative.
16041 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
16042 * config/alpha/constraints.md ("U"): Remove.
16043 * config/alpha/predicates.md (call_operand"): Don't test
16044 TARGET_ABI_UNICOSMK.
16045
96e45421
JM
160462011-03-22 Joseph Myers <joseph@codesourcery.com>
16047
16048 * target.def (handle_option): Take gcc_options and
16049 cl_decoded_option pointers and location_t.
16050 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
16051 * doc/tm.texi: Regenerate.
16052 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
16053 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
16054 * lto-opts.c (lto_reissue_options): Generate option structure for
16055 targetm.handle_option call.
16056 * opts.c (target_handle_option): Update call to
16057 targetm.handle_option. Remove assertions about values now passed
16058 down to hook.
16059 * targhooks.c (default_target_handle_option): New.
16060 * targhooks.h (default_target_handle_option): Declare.
16061 * config/alpha/alpha.c: Include opts.h.
16062 (alpha_handle_option): Update to new hook interface.
16063 * config/arm/arm.c: Include opts.h.
16064 (arm_handle_option): Update to new hook interface.
16065 * config/arm/t-arm (arm.o): Update dependencies.
16066 * config/bfin/bfin.c: Include opts.h.
16067 (bfin_handle_option): Update to new hook interface.
16068 * config/cris/cris.c: Include opts.h.
16069 (cris_handle_option): Update to new hook interface.
16070 * config/frv/frv.c: Include opts.h.
16071 (frv_handle_option): Update to new hook interface.
16072 * config/i386/i386.c: Include opts.h.
16073 (ix86_handle_option): Update to new hook interface.
16074 (ix86_valid_target_attribute_inner_p): Generate option structure
16075 for call to ix86_handle_option.
16076 * config/i386/t-i386 (i386.o): Update dependencies.
16077 * config/ia64/ia64.c: Include opts.h.
16078 (ia64_handle_option): Update to new hook interface.
16079 * config/ia64/t-ia64 (ia64.o): Update dependencies.
16080 * config/iq2000/iq2000.c: Include opts.h.
16081 (iq2000_handle_option): Update to new hook interface.
16082 * config/m32c/m32c.c: Include opts.h.
16083 (m32c_handle_option): Update to new hook interface.
16084 * config/m32r/m32r.c: Include opts.h.
16085 (m32r_handle_option): Update to new hook interface.
16086 * config/m68k/m68k.c: Include opts.h.
16087 (m68k_handle_option): Update to new hook interface.
16088 * config/mep/mep.c: Include opts.h.
16089 (mep_handle_option): Update to new hook interface.
16090 * config/microblaze/microblaze.c: Include opts.h.
16091 (microblaze_handle_option): Update to new hook interface.
16092 * config/mips/mips.c: Include opts.h.
16093 (mips_handle_option): Update to new hook interface.
16094 * config/mn10300/mn10300.c: Include opts.h.
16095 (mn10300_handle_option): Update to new hook interface.
16096 * config/pa/pa.c: Include opts.h.
16097 (pa_handle_option): Update to new hook interface.
16098 * config/pdp11/pdp11.c: Include opts.h.
16099 (pdp11_handle_option): Update to new hook interface.
16100 * config/rs6000/rs6000.c: Include opts.h.
16101 (rs6000_handle_option): Update to new hook interface.
16102 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
16103 * config/rx/rx.c: Include opts.h.
16104 (rx_handle_option): Update to new hook interface.
16105 * config/s390/s390.c: Include opts.h.
16106 (s390_handle_option): Update to new hook interface.
16107 * config/score/score.c: Include opts.h.
16108 (score_handle_option): Update to new hook interface.
16109 * config/sh/sh.c: Include opts.h.
16110 (sh_handle_option): Update to new hook interface.
16111 * config/sparc/sparc.c: Include opts.h.
16112 (sparc_handle_option): Update to new hook interface.
16113 * config/v850/v850.c: Include opts.h.
16114 (v850_handle_option): Update to new hook interface.
16115
66017846
JM
161162011-03-22 Joseph Myers <joseph@codesourcery.com>
16117
16118 * gcc.c (driver_unknown_option_callback): Only permit and save
16119 unknown -Wno- options.
16120 (driver_wrong_lang_callback): Save options directly instead of via
16121 driver_unknown_option_callback.
16122
e8b97ccd
EB
161232011-03-22 Eric Botcazou <ebotcazou@adacore.com>
16124
16125 * combine.c (simplify_set): Try harder to find the best CC mode when
16126 simplifying a nested COMPARE on the RHS.
16127
ebb9f8b0
JM
161282011-03-22 Joseph Myers <joseph@codesourcery.com>
16129
16130 * config/alpha/gnu.h: Remove.
16131 * config/arc: Remove directory.
16132 * config/arm/netbsd.h: Remove.
16133 * config/arm/t-pe: Remove.
16134 * config/crx: Remove directory.
16135 * config/i386/netbsd.h: Remove.
16136 * config/m68hc11: Remove directory.
16137 * config/m68k/uclinux-oldabi.h: Remove.
16138 * config/mcore/mcore-pe.h: Remove.
16139 * config/mcore/t-mcore-pe: Remove.
16140 * config/netbsd-aout.h: Remove.
16141 * config/rs6000/gnu.h: Remove.
16142 * config/sh/sh-symbian.h: Remove.
16143 * config/sh/symbian-base.c: Remove.
16144 * config/sh/symbian-c.c: Remove.
16145 * config/sh/symbian-cxx.c: Remove.
16146 * config/sh/symbian-post.h: Remove.
16147 * config/sh/symbian-pre.h: Remove.
16148 * config/sh/t-symbian: Remove.
16149 * config/svr3.h: Remove.
16150 * config/vax/netbsd.h: Remove.
16151 * config.build: Don't handle i[34567]86-*-pe.
16152 * config.gcc: Remove handling of deprecations for most deprecated
16153 targets.
16154 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
16155 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
16156 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
16157 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
16158 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
16159 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
16160 Remove cases.
16161 * config.host: Don't handle i[34567]86-*-pe.
16162 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
16163 (ASM_SPEC32): Don't handle -mcall-gnu.
16164 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
16165 -mcall-gnu.
16166 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
16167 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
16168 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
16169 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
16170 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
16171 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
16172 conditional on SYMBIAN.
16173 * configure.ac: Don't handle powerpc*-*-gnu*.
16174 * configure: Regenerate.
16175 * doc/extend.texi (interrupt attribute): Don't mention CRX.
16176 * doc/install-old.texi (m6811, m6812): Don't mention.
16177 * doc/install.texi (arc-*-elf*): Don't document multilib option.
16178 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
16179 (m68k-uclinuxoldabi): Don't mention.
16180 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
16181 Remove.
16182 (-mcall-gnu): Remove.
16183 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
16184 families): Remove constraint documentation.
16185
999a7d80
MS
161862011-03-22 Marius Strobl <marius@FreeBSD.org>
16187
16188 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
16189 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
16190 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
16191
45540bcf
MM
161922011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
16193
16194 PR target/48226
16195 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If we see a
16196 vector when peeking at the next token for vector, don't expand the
16197 keywords.
16198
980a0ff4
GJL
161992011-03-21 Georg-Johann Lay <avr@gjlay.de>
16200
16201 * config/avr/avr-protos.h (expand_epilogue): Change prototype
16202 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
16203 * config/avr/avr.c (init_cumulative_args)
16204 (avr_function_arg_advance): Use it.
16205 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
16206 sibcall epilogues.
16207 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
16208 (avr_function_ok_for_sibcall): ...this new function.
16209 (avr_lookup_function_attribute1): New static Function.
16210 (avr_naked_function_p, interrupt_function_p)
16211 (signal_function_p, avr_OS_task_function_p)
16212 (avr_OS_main_function_p): Use it.
16213 * config/avr/avr.md ("sibcall", "sibcall_value")
16214 ("sibcall_epilogue"): New expander.
16215 ("*call_insn", "*call_value_insn"): New insn.
16216 ("call_insn", "call_value_insn"): Remove
16217 ("call", "call_value", "epilogue"): Change expander to handle
16218 sibling calls.
16219
49168734
NC
162202011-03-21 Nick Clifton <nickc@redhat.com>
16221
16222 * doc/invoke.texi (Overall Options): Move closing brace to end of
16223 options list.
16224 (Optimization Options): Add missing @gol.
16225 (Directory Options): Likewise.
16226 (i386 and x86-64 Options): Likewise.
16227 (RS6000 and PowerPC Options): Likewise.
16228 (i386 and x86-64 Windows Options): Likewise.
16229 (V850 Options): Add text missing from descriptions.
16230
bdfe906f
RH
162312011-03-22 Richard Henderson <rth@redhat.com>
16232
16233 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
16234 (avr_incoming_return_addr_rtx): New.
16235 (emit_push_byte): New.
16236 (expand_prologue): Use it. Remove incorrect dwarf annotation for
16237 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
16238 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
16239 (emit_pop_byte): New.
16240 (expand_epilogue): Use it. Pop frame pointer by bytes.
16241 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
16242 (INCOMING_RETURN_ADDR_RTX): New.
16243 (INCOMING_FRAME_SP_OFFSET): New.
16244 (ARG_POINTER_CFA_OFFSET): New.
16245 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
16246 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
16247 (pophi): Remove.
16248
d090a5aa
RH
16249 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
16250
fdf3e18a
NF
162512011-03-22 Nathan Froyd <froydnj@codesourcery.com>
16252
16253 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
16254 (FUNCTION_ARG_ADVANCE): Likewise.
16255 * tm.texi.in: Change references to them to hook references.
16256 * tm.texi: Regenerate.
16257 * targhooks.c (default_function_arg): Eliminate check for target
16258 macro.
16259 (default_function_incoming_arg): Likewise.
16260 (default_function_arg_advance): Likewise.
c78dd519 16261 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
16262 (function_arg_advance): Likewise.
16263 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
16264
009d3fcf
NF
162652011-03-22 Nathan Froyd <froydnj@codesourcery.com>
16266
16267 * tree.c (build_call_1): New function.
16268 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
16269
7bec30e1
RG
162702011-03-22 Richard Guenther <rguenther@suse.de>
16271
16272 PR tree-optimization/48228
16273 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
16274 for single-arg PHIs.
16275
0b7e851b
AB
162762011-03-22 Andrey Belevantsev <abel@ispras.ru>
16277
16278 PR rtl-optimization/48143
16279 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
16280 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
16281 sse2_cvtps2pd): Likewise.
16282
d89afca5
AK
162832011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16284
16285 * recog.c (canonicalize_change_group): Use validate_unshare_change.
16286
f471fe72
RG
162872011-03-22 Richard Guenther <rguenther@suse.de>
16288
16289 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
16290 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
16291 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
16292 and REALIGN_LOAD_EXPR.
16293 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
16294 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
16295 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
16296 DOT_PROD_EXPR case ...
16297 (expand_expr_real_2): ... here.
16298 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
16299 and REALIGN_LOAD_EXPR.
16300 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
16301 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
16302 (vect_create_epilog_for_reduction): Likewise.
16303 (vectorizable_reduction): Likewise.
16304 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
16305 * tree-vect-stmts.c (vectorizable_load): Likewise.
16306
f2f81d57
EB
163072011-03-22 Eric Botcazou <ebotcazou@adacore.com>
16308
16309 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
16310
ab081dd6
AK
163112011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16312
16313 * config/s390/s390.c (s390_delegitimize_address): Fix offset
16314 handling for PLTOFF/GOTOFF.
16315
6fd5332b
NC
163162011-03-22 Nick Clifton <nickc@redhat.com>
16317
16318 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
16319 trailing backslash from the end of the macro definition.
16320
01841ac0
AK
163212011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16322
16323 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
16324 and PLT unspecs.
16325
2ef6ce06
RS
163262011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
16327
16328 * expr.h (prepare_operand): Move to...
16329 * optabs.h (prepare_operand): ...here and change the insn code
16330 parameter from "int" to "enum insn_code".
16331 (insn_operand_matches): Declare.
16332 * expr.c (init_expr_target): Use insn_operand_matches.
16333 (compress_float_constant): Likewise.
16334 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
16335 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
16336 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
16337 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
16338 Likewise.
2ef6ce06
RS
16339 (gen_cond_trap): Likewise.
16340 (prepare_operand): Likewise. Change icode to an insn_code.
16341 (insn_operand_matches): New function.
16342 * reload.c (find_reloads_address_1): Use insn_operand_matches.
16343 * reload1.c (gen_reload): Likewise.
16344 * targhooks.c (default_secondary_reload): Likewise.
16345
9e43ad68
UB
163462011-03-21 Uros Bizjak <ubizjak@gmail.com>
16347
9a96da32
UB
16348 * config/alpha/alpha.md (unspec): New define_c_enum.
16349 (unspecv): Ditto.
16350
163512011-03-21 Uros Bizjak <ubizjak@gmail.com>
16352
16353 PR debug/48214
9e43ad68
UB
16354 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
16355 between a call and its CALL_ARG_LOCATION note.
16356
31408f60
EB
163572011-03-21 Eric Botcazou <ebotcazou@adacore.com>
16358
16359 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
16360
163612011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
16362
16363 PR c/42544
16364 PR c/48197
16365 * c-common.c (shorten_compare): If primopN is first sign-extended
16366 to opN and then zero-extended to result type, set primopN to opN.
16367
9dfd55f5
DJ
163682011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
16369
16370 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
16371 for barrier handlers.
16372
f3c33d9d
MM
163732011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
16374
16375 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
16376 UNSPEC constants to be in the unspec enumeration, and redefine
16377 all UNSPECV constants to be in the unspecv enumeration, so that
16378 dumps print which unspec/unspec_volatile this is.
16379 * config/rs6000/vector.md (UNSPEC_*): Ditto.
16380 * config/rs6000/paired.md (UNSPEC_*): Ditto.
16381 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
16382 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
16383 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
16384
16385 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
16386 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
16387 UNSPECV_LWSYNC, since these are used as unspec_volatile.
16388 * config/rs6000/sync.md (isync, lwsync): Ditto.
16389
ac43f774
RG
163902011-03-21 Richard Guenther <rguenther@suse.de>
16391
16392 * params.def (lto-min-partition): Fix typo.
16393
411cdbd8
RG
163942011-03-21 Richard Guenther <rguenther@suse.de>
16395
16396 PR c/47939
16397 * c-decl.c (grokdeclarator): Drop to the main variant only
16398 for array types. Drop flag_gen_aux_info check.
16399
1cd9e416
RG
164002011-03-21 Richard Guenther <rguenther@suse.de>
16401
16402 PR translation/47911
16403 * params.def (lto-partitions): Fix typo.
16404 (lto-min-partition): Fix wording.
16405
ada5ad67
AT
164062011-03-21 Andreas Tobler <andreast@fgznet.ch>
16407
16408 * config/rs6000/t-freebsd: Remove duplication from file.
16409
f9613c9a
RG
164102011-03-21 Richard Guenther <rguenther@suse.de>
16411
16412 PR middle-end/47661
16413 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
16414
9bfbc1eb
RG
164152011-03-21 Richard Guenther <rguenther@suse.de>
16416
16417 PR lto/48210
16418 * params.def (lto-partitions): Require at least 1 partition.
16419
a2268084
RO
164202011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16421
16422 * gthr-solaris.h: Remove.
16423 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
16424 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
16425 (LIB_SPEC): Likewise.
16426 * config/sol2.opt (threads): Remove.
9e43ad68 16427 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
16428 (sparc*-*-solaris2*): Likewise.
16429 * configure.ac (enable_threads): Enable solaris support.
16430 * configure: Regenerate.
9e43ad68 16431 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
16432 * doc/install.texi (Configuration, --enable-threads=lib): Remove
16433 solaris.
16434
c43d9a1b
RO
164352011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16436
16437 * config.gcc: Obsolete *-*-solaris2.8*.
16438 * doc/install.texi (Specific, *-*-solaris2*): Document it.
16439
084239f4
RO
164402011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16441
16442 PR bootstrap/48135
16443 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
16444 reference. Solaris 8 perl works.
16445
64cadbe7
RO
164462011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16447
16448 PR bootstrap/48135
16449 * doc/install.texi (Prerequisites): Move jar etc. up.
16450 Explain support library version requirements.
16451
eb975109
RO
164522011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16453
16454 PR bootstrap/48135
16455 * doc/install.texi (Prerequisites): Move Perl to build
16456 requirements. Always necessary on Solaris 2 with Sun ld.
16457
8a509ffd
RO
164582011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16459
16460 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
16461 binutils 2.21.
16462 (Specific, i?86-*-solaris2.[89]): Likewise.
16463 (Specific, i?86-*-solaris2.10): Likewise.
16464 (Specific, mips-sgi-irix6): Likewise.
16465 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
16466 Update for binutils 2.21.
16467
8fbc58a1
RO
164682011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16469
16470 * configure.ac (gcc_cv_lto_plugin): Fix typo.
16471 Allow -fuse-linker-plugin for non-default plugin linker.
16472 * configure: Regenerate.
16473
7e84ad0b
NP
164742011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
16475
16476 PR bootstrap/48167
16477 * gengtype.c (files_rules): Added rule for cp/parser.h.
16478
2f36e14b
JJ
164792011-03-21 Jakub Jelinek <jakub@redhat.com>
16480
16481 PR target/48213
16482 * config/s390/s390.c (s390_delegitimize_address): Don't call
16483 lowpart_subreg if orig_x has BLKmode.
16484
62d784f7
KT
164852011-03-21 Kai Tietz <ktietz@redhat.com>
16486
16487 PR target/12171
9e43ad68
UB
16488 * doc/plugins.texi: Adjust documentation for plugin register_callback.
16489 * tree.h (attribute_spec): Add new member affects_type_identity.
16490 * attribs.c (empty_attribute_table): Adjust attribute_spec
16491 initializers.
62d784f7
KT
16492 * config/alpha/alpha.c: Likewise.
16493 * config/arc/arc.c: Likewise.
16494 * config/arm/arm.c: Likewise.
16495 * config/avr/avr.c: Likewise.
16496 * config/bfin/bfin.c: Likewise.
16497 * config/crx/crx.c: Likewise.
16498 * config/darwin.h: Likewise.
16499 * config/h8300/h8300.c: Likewise.
16500 * config/i386/cygming.h: Likewise.
16501 * config/i386/i386.c: Likewise.
16502 * config/ia64/ia64.c: Likewise.
16503 * config/m32c/m32c.c: Likewise.
16504 * config/m32r/m32r.c: Likewise.
16505 * config/m68hc11/m68hc11.c: Likewise.
16506 * config/m68k/m68k.c: Likewise.
16507 * config/mcore/mcore.c: Likewise.
16508 * config/mep/mep.c: Likewise.
16509 * config/microblaze/microblaze.c: Likewise.
16510 * config/mips/mips.c: Likewise.
16511 * config/rs6000/rs6000.c: Likewise.
16512 * config/rx/rx.c: Likewise.
16513 * config/sh/sh.c: Likewise.
16514 * config/sol2.h: Likewise.
16515 * config/sparc/sparc.c: Likewise.
16516 * config/spu/spu.c: Likewise.
16517 * config/stormy16/stormy16.c: Likewise.
16518 * config/v850/v850.c: Likewise.
16519
54833ec0
CLT
165202011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
16521
16522 * simplify-rtx.c (simplify_binary_operation_1): Handle
16523 (xor (and A B) C) case when B and C are both constants.
16524
14a41392
MX
165252011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
16526
16527 * tree-dfa.c (add_referenced_var): Fix typo in comment.
16528
806c3492
EB
165292011-03-20 Eric Botcazou <ebotcazou@adacore.com>
16530
16531 PR bootstrap/48168
16532 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
16533
65e0a0f3
JJ
165342011-03-20 Jakub Jelinek <jakub@redhat.com>
16535
16536 PR rtl-optimization/48156
16537 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
16538 assume df and df_lr are not NULL.
16539
b6a75dda
RR
165402011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
16541
16542 PR debug/48023
16543 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
16544 between a call and its CALL_ARG_LOCATION note.
16545
5969b52d
KK
165462011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
16547
16548 PR debug/48178
16549 * config/sh/sh.c (find_barrier): Don't emit a constant pool
16550 between a call and its corresponding CALL_ARG_LOCATION note.
16551
f773c2bd
AS
165522011-03-19 Anatoly Sokolov <aesok@post.ru>
16553
16554 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
16555 instead of loop. Use HARD_REGISTER_NUM_P predicate.
16556 * haifa-sched.c (setup_ref_regs): Ditto.
16557 * caller-save.c (add_used_regs_1): Ditto.
16558 * dse.c (look_for_hardregs): Ditto.
16559 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
16560 * sched-rgn.c (check_live_1): Ditto.
16561
8bf872f9
JM
165622011-03-18 Joseph Myers <joseph@codesourcery.com>
16563
16564 * c-decl.c (diagnose_mismatched_decls): Give an error for
16565 redefining a typedef with variably modified type.
16566
ff8e2159
JM
165672011-03-18 Joseph Myers <joseph@codesourcery.com>
16568
16569 * c-decl.c (grokfield): Don't allow typedefs for structures or
16570 unions with no tag by default.
16571 * doc/extend.texi (Unnamed Fields): Update.
16572
16cc4440
UB
165732011-03-18 Uros Bizjak <ubizjak@gmail.com>
16574
16575 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
16576 Rewrite using indirect functions.
16577 (lwp_slwpcb): Ditto.
16578 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
16579 (avx_vinsertf128<mode>): Ditto.
16580
e101e12e
AK
165812011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16582
16583 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
16584 unspecs.
16585
4627c7fb
AK
165862011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16587
16588 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 16589 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 16590
2d36b47f
MK
165912011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
16592
16593 PR rtl-optimization/48170
16594 * gcse.c (hoist_code): Remove bogus asserts.
16595
2a3d7659
JL
165962011-03-18 Georg-Johann Lay <avr@gjlay.de>
16597
16598 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
16599 computation for prologue/epilogue.
16600
34c3ef05
RO
166012011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16602
16603 * Makefile.in (check-consistency): Remove.
16604
81f2b976
JJ
166052011-03-18 Jakub Jelinek <jakub@redhat.com>
16606
16607 PR debug/48176
16608 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
16609 arange_table_in_use is 0, but either text_section_used or
16610 cold_text_section_used is true. Don't call it if
16611 !info_section_emitted.
16612
68fd7765
AS
166132011-03-18 Anatoly Sokolov <aesok@post.ru>
16614
16615 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
16616 FUNCTION_VALUE_REGNO_P): Remove.
16617 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
16618 Remove.
16619 * config/avr/avr.c (avr_ret_register): Make static inline.
16620 (avr_function_value_regno_p): New function.
16621 (avr_libcall_value): Make static. Add 'func' argument.
16622 (avr_function_value): Make static. Rename 'func' argument to
16623 'fn_decl_or_type', forward it to avr_libcall_value. Call
16624 avr_ret_register function instead of RET_REGISTER macro.
b8bc3a43 16625 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
68fd7765 16626
b4ef8aac
JM
166272011-03-18 Jason Merrill <jason@redhat.com>
16628
16629 PR c++/23372
16630 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
16631
09a52fc3
RG
166322011-03-18 Richard Guenther <rguenther@suse.de>
16633
16634 * doc/install.texi (--enable-gold): Remove.
16635 (--with-plugin-ld): Document.
16636 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
16637
2a3d7659 166382011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
16639
16640 PR middle-end/47790
16641 * expr.c (optimize_bitfield_assignment_op): Revamp to work
16642 again after expansion changes.
16643
2abbb0fe
CLT
166442011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
16645
16646 * combine.c (try_combine): Do simplification only call of
16647 subst() on i2 even when i1 is present. Update comments.
16648
2efd0aa6
KK
166492011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
16650
16651 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
16652 and UNSPEC_PCREL_SYMOFF.
16653
30a49b23
AK
166542011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16655
16656 * config/s390/s390.md: Use define_c_enum for the unspec constant
16657 definitions.
16658
419e1853
JJ
166592011-03-18 Richard Henderson <rth@redhat.com>
16660 Jakub Jelinek <jakub@redhat.com>
16661
16662 PR bootstrap/48161
16663 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
16664 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
16665
37875856
L
166662011-03-17 H.J. Lu <hongjiu.lu@intel.com>
16667
16668 PR middle-end/47725
16669 * combine.c (cant_combine_insn_p): Don't check zero/sign
16670 extended hard registers.
16671
76069764
L
166722011-03-17 H.J. Lu <hongjiu.lu@intel.com>
16673
16674 PR middle-end/47725
16675 * combine.c (cant_combine_insn_p): Check zero/sign extended
16676 hard registers.
16677
24da2019
AS
166782011-03-17 Anatoly Sokolov <aesok@post.ru>
16679
16680 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
16681 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
16682 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
16683 Change return type to bool.
16684 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
16685
a82ff31f
JJ
166862011-03-17 Jakub Jelinek <jakub@redhat.com>
16687
8b29c87a
JJ
16688 PR debug/48163
16689 * var-tracking.c (prepare_call_arguments): If CALL target
16690 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
16691 pc instead of looking it up using cselib_lookup and use
16692 Pmode for it if x has VOIDmode.
16693 * dwarf2out.c (gen_subprogram_die): If also both first and
16694 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
16695
a82ff31f
JJ
16696 PR debug/48163
16697 * function.c (assign_parms): For data.passed_pointer parms
16698 use MEM of data.entry_parm instead of data.entry_parm itself
16699 as DECL_INCOMING_RTL.
16700 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
16701 also when passed and declared mode is the same, DECL_RTL
16702 is a MEM with pseudo as address and DECL_INCOMING_RTL is
16703 a MEM too.
16704
82ce305c
JL
167052011-03-16 Jeff Law <law@redhat.com>
16706
16707 PR rtl-optimization/37273
16708 * ira-costs.c (scan_one_insn): Detect constants living in memory and
16709 handle them like argument loads from stack slots. Do not double
16710 count memory for memory constants and argument loads from stack slots.
16711
fe58e02b
L
167122011-03-17 H.J. Lu <hongjiu.lu@intel.com>
16713
16714 PR debug/48160
16715 * var-tracking.c (prepare_call_arguments): Check SUBREG.
16716
6fc4dbc7
L
167172011-03-17 H.J. Lu <hongjiu.lu@intel.com>
16718
16719 PR target/48171
16720 * config/i386/i386.opt: Add Save to -mavx and -mfma.
16721
db3ed0b3
JJ
167222011-03-17 Jakub Jelinek <jakub@redhat.com>
16723
8054a389
JJ
16724 PR bootstrap/48153
16725 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
16726 if dwarf_strict.
16727 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
16728 Clear call_arg_locations and call_arg_loc_last always.
16729
db3ed0b3
JJ
16730 PR middle-end/48152
16731 * var-tracking.c (prepare_call_arguments): If argument needs to be
16732 passed by reference, adjust argtype and mode.
16733
1bce4ff3
RG
167342011-03-17 Richard Guenther <rguenther@suse.de>
16735
16736 PR middle-end/48134
16737 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
16738 a value make sure to fold the statement.
16739
7c71147d
CLT
167402011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
16741
16742 PR target/43872
16743 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
16744 return condition with !cfun->calls_alloca.
16745
0e1ee172
RG
167462011-03-17 Richard Guenther <rguenther@suse.de>
16747
16748 PR bootstrap/48148
16749 * lto-cgraph.c (input_overwrite_node): Clear the abstract
16750 origin for decls in other ltrans units.
16751 (input_varpool_node): Likewise.
16752
f8bce518
RG
167532011-03-17 Richard Guenther <rguenther@suse.de>
16754
16755 PR middle-end/48165
16756 * tree-object-size.c (compute_object_offset): Properly return
16757 the offset operand of MEM_REFs as sizetype.
16758
1b6fa860
JJ
167592011-03-17 Jakub Jelinek <jakub@redhat.com>
16760
dabd47e7
JJ
16761 PR rtl-optimization/48141
16762 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
16763 * dse.c: Include params.h.
16764 (active_local_stores_len): New variable.
16765 (add_wild_read, dse_step1): Clear it when setting active_local_stores
16766 to NULL.
16767 (record_store, check_mem_read_rtx): Decrease it when removing
16768 from the chain.
16769 (scan_insn): Likewise. Increase it when adding to chain, if it
16770 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
16771 set active_local_stores to NULL before the addition.
16772 * Makefile.in (dse.o): Depend on $(PARAMS_H).
16773
1b6fa860
JJ
16774 PR rtl-optimization/48141
16775 * dse.c (record_store): If no positions are needed in an insn
16776 that cannot be deleted, at least unchain it from active_local_stores.
16777
7b5cb7d6
DS
167782011-03-16 Dodji Seketeli <dodji@redhat.com>
16779
16780 PR debug/47510
16781 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
16782 (lookup_type_die_strip_naming_typedef): ... here.
16783 (get_context_die): Use it.
16784 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
16785 the anonymous struct named by the naming typedef.
16786
585e9d9d
L
167872011-03-16 H.J. Lu <hongjiu.lu@intel.com>
16788
16789 PR target/48154
16790 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
16791 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
16792
6261ab0e
JL
167932011-03-16 Jeff Law <law@redhat.com>
16794
16795 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 16796 check for operands of conditional. Allow type to be a pointer.
6261ab0e 16797
0b0081ec
RG
167982011-03-16 Richard Guenther <rguenther@suse.de>
16799
16800 PR tree-optimization/48149
16801 * fold-const.c (fold_binary_loc): Fold
16802 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
16803
64a3d647
RG
168042011-03-16 Richard Guenther <rguenther@suse.de>
16805
16806 PR tree-optimization/26134
16807 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
16808 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
16809 (non_rewritable_mem_ref_base): Handle complex type component
16810 accesses, constrain offsets for vector and complex extracts
16811 more properly.
16812
ef13324e
RG
168132011-03-16 Richard Guenther <rguenther@suse.de>
16814
16815 PR tree-optimization/48146
16816 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
16817 operands avoiding the need for renaming.
16818
f0eddb90
RG
168192011-03-16 Richard Guenther <rguenther@suse.de>
16820
16821 * gimple-fold.c (maybe_fold_reference): Open-code relevant
16822 constant folding. Move MEM_REF canonicalization first.
16823 Rely on fold_const_aggregate_ref for initializer folding.
16824 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
16825
e42348b8
JJ
168262011-03-16 Jakub Jelinek <jakub@redhat.com>
16827
29f10e71
JJ
16828 PR middle-end/48136
16829 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
16830 arg0/arg1 or their arguments are always fold converted to matching
16831 types.
16832
e42348b8
JJ
16833 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
16834 to nargs.
16835
55b46574
RO
168362011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16837
16838 PR lto/46944
16839 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
16840 Handle in-tree gold.
16841 (ld_vers): Extract binutils version for gold.
16842 (gcc_cv_ld_hidden): Handle gold here.
16843 (gcc_cv_lto_plugin): Determine level of linker plugin support.
16844 * configure: Regenerate.
16845 * config.in: Regenerate.
16846 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
16847 -fuse-linker-plugin otherwise.
16848 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
16849 (LINK_COMMAND_SPEC): Use it.
16850 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
16851
2b1c5433
JJ
168522011-03-16 Jakub Jelinek <jakub@redhat.com>
16853
c2969d8e
JJ
16854 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
16855 * calls.c: Remove debug.h include.
16856 (emit_call_1): Don't call virtual_call_token debug hook.
16857 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
16858 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
16859 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
16860 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
16861 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
16862 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
16863 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
16864 dwarf2out_virtual_call): Remove.
16865 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
16866 copy_call_info and virtual_call hooks.
16867 (dwarf2out_init): Don't initialize vcall_insn_table,
16868 debug_dcall_section and debug_vcall_section.
16869 (prune_unused_types): Don't mark nodes from dcall_table.
16870 (dwarf2out_finish): Don't output dcall or vcall tables.
16871 * final.c (final_scan_insn): Don't call direct_call or
16872 virtual_call debug hooks.
16873 * debug.h (struct gcc_debug_hooks): Remove direct_call,
16874 virtual_call_token, copy_call_info and virtual_call hooks.
16875 (debug_nothing_uid): Remove prototype.
16876 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
16877 copy_call_info and virtual_call hooks.
16878 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
16879 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
16880 * debug.c (do_nothing_debug_hooks): Likewise.
16881 (debug_nothing_uid): Remove.
16882 * doc/invoke.texi (-fenable-icf-debug): Remove.
16883 * common.opt (-fenable-icf-debug): Likewise.
16884
325f5379
JJ
16885 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
16886 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
16887 call's MEM. Handle functions returning aggregate through a hidden
16888 first pointer. For virtual calls add clobbered pc to call arguments
16889 chain.
16890 * dwarf2out.c (gen_subprogram_die): Emit
16891 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
16892 can't be emitted.
16893
a58a8e4b
JJ
16894 PR debug/45882
16895 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
16896 * rtl.h (ENTRY_VALUE_EXP): Define.
16897 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
16898 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
16899 * print-rtl.c (print_rtx): Likewise.
16900 * gengtype.c (adjust_field_rtx_def): Likewise.
16901 * var-tracking.c (vt_add_function_parameter): Adjust
16902 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
16903 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
16904 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
16905 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
16906 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
16907
2b1c5433
JJ
16908 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
16909 Call var_location debug hook even on CALL_INSNs.
16910 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
16911 * rtl.def (ENTRY_VALUE): New.
16912 * dwarf2out.c: Include cfglayout.h.
16913 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
16914 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
16915 (struct call_arg_loc_node): New type.
16916 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
16917 tail_call_site_count): New variables.
16918 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
16919 DW_TAG_GNU_call_site_parameter.
16920 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
16921 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
16922 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
16923 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
16924 and DW_AT_GNU_all_source_call_sites.
16925 (mem_loc_descriptor): Handle ENTRY_VALUE.
16926 (add_src_coords_attributes): Don't add enything if
16927 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
16928 (dwarf2out_abstract_function): Save and clear call_arg_location,
16929 call_site_count and tail_call_site_count around dwarf2out_decl call.
16930 (gen_call_site_die): New function.
16931 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
16932 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
16933 (dwarf2out_function_decl): Clear call_arg_locations,
16934 call_arg_loc_last, set call_site_count and tail_call_site_count
16935 to -1 and free block_map.
16936 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
16937 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
16938 followed by any real instructions.
16939 (dwarf2out_begin_function): Set call_site_count and
16940 tail_call_site_count to 0.
16941 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
16942 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
16943 attempt to force a DIE for it and worst case remove the attribute.
16944 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
16945 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
16946 the decl itself.
16947 * var-tracking.c: Include tm_p.h.
16948 (vt_stack_adjustments): For calls call note_register_arguments.
16949 (argument_reg_set): New variable.
16950 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
16951 ensure the VALUE is resolved.
16952 (call_arguments): New variable.
16953 (prepare_call_arguments): New function.
16954 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
16955 (struct expand_loc_callback_data): Add ignore_cur_loc field.
16956 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
16957 always use the best expression.
16958 (vt_expand_loc): Add ignore_cur_loc argument.
16959 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
16960 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
16961 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
16962 note for all calls.
16963 (vt_add_function_parameter): Use cselib_lookup_from_insn.
16964 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
16965 argument. Don't call cselib_preserve_only_values and
16966 cselib_reset_table.
16967 (note_register_arguments): New function.
16968 (vt_initialize): Compute argument_reg_set. Call
16969 vt_add_function_parameters before processing basic blocks instead of
16970 afterwards. For calls call prepare_call_arguments before calling
16971 cselib_process_insn.
16972 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
16973 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
16974 (var-tracking.o): Depend on $(TM_P_H).
16975 * cfglayout.h (insn_scope): New prototype.
16976 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
16977 * cfglayout.c (insn_scope): No longer static.
16978 * insn-notes.def (CALL_ARG_LOCATION): New.
16979 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
16980 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
16981 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
16982 nothing for DECL_EXTERNAL BLOCK_VARS.
16983
9ef13bd0
AM
169842011-03-16 Alan Modra <amodra@gmail.com>
16985
16986 PR target/45844
16987 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
16988 create invalid offset address for vsx splat insn.
16989 * config/rs6000/predicates.md (splat_input_operand): New.
16990 * config/rs6000/vsx.md (vsx_splat_*): Use it.
16991
56b67510
XDL
169922011-03-15 Xinliang David Li <davidxl@google.com>
16993
16994 PR c/47837
16995 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
16996 (normalize_preds): New function.
16997 (is_use_properly_guarded): Normalize def predicates.
16998
80fffdef
RR
169992011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
17000
732f37c6 17001 PR target/46788
80fffdef
RR
17002 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
17003 in the output template.
17004
930672ad
RG
170052011-03-15 Richard Guenther <rguenther@suse.de>
17006
17007 PR middle-end/47650
17008 * tree-pretty-print.c (dump_function_declaration): Properly
17009 dump unprototyped and varargs function types.
17010
c7ee7b45
RG
170112011-03-15 Richard Guenther <rguenther@suse.de>
17012
17013 PR tree-optimization/13954
17014 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
17015 and friends.
17016
b2ad5e37
RG
170172011-03-15 Richard Guenther <rguenther@suse.de>
17018
17019 PR tree-optimization/48037
17020 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
17021 selects into BIT_FIELD_REFs.
17022 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
17023 vector select.
17024
7ee93d4e
JJ
170252011-03-15 Jakub Jelinek <jakub@redhat.com>
17026
17027 PR tree-optimization/48129
17028 * builtins.c (fold_builtin_snprintf): Convert to type of
17029 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
17030 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
17031
e106efc7
RG
170322011-03-15 Richard Guenther <rguenther@suse.de>
17033
17034 PR tree-optimization/41490
17035 * tree-ssa-dce.c (propagate_necessity): Handle returns without
17036 value but with VUSE.
17037 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
17038 return statements.
17039 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
17040 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
17041 * tree-tailcall.c (find_tail_calls): Ignore returns.
17042
17dea42f
RG
170432011-03-15 Richard Guenther <rguenther@suse.de>
17044
17045 PR middle-end/48031
17046 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
17047 or variable-indexed array accesses when in gimple form.
17048
01c77a60
RG
170492011-03-15 Richard Guenther <rguenther@suse.de>
17050
16cc4440 17051 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 17052
77b0791e
AM
170532011-03-15 Alan Modra <amodra@gmail.com>
17054
17055 PR target/48032
17056 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
17057 presume symbol_refs without a symbol_ref_decl are suitably
17058 aligned, nor other trees we may see here. Handle anchor symbols.
17059 (legitimate_constant_pool_address_p): Comment. Add mode param.
17060 Check cmodel=medium addresses. Adjust all calls.
17061 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
17062 creating cmodel=medium optimized access to locals.
17063 * config/rs6000/constraints.md (R): Pass QImode to
17064 legitimate_constant_pool_address_p.
17065 * config/rs6000/predicates.md (input_operand): Pass mode to
17066 legitimate_constant_pool_address_p.
17067 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
17068 Update prototype.
17069
35f61ba4
MM
170702011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
17071
17072 PR target/48053
17073 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
17074 64-bit constants being loaded into registers other than GPRs such
17075 as loading 0 into a VSX register.
17076
07332e6d
RO
170772011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17078
16cc4440 17079 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 17080
de888d90
JJ
170812011-03-14 Jakub Jelinek <jakub@redhat.com>
17082
ba3ceb2d
JJ
17083 PR middle-end/47917
17084 * builtins.c (fold_builtin_snprintf): New function.
17085 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
17086 (fold_builtin_4): Likewise.
17087
2e64f8b8
JJ
17088 PR middle-end/38878
17089 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
17090 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
17091 and C - X == X also strip nops from +/-/p+ operand.
17092 When optimizing -X == C, fold C to arg0's type.
17093
de888d90
JJ
17094 PR debug/47946
17095 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
17096 emit it as add_AT_int instead of add_AT_unsigned.
17097
170982011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
17099
17100 * unwind-dw2.c: Include sys/sdt.h if it exists.
17101 (_Unwind_DebugHook): Use STAP_PROBE2.
17102 * config.in, configure: Rebuild.
17103 * configure.ac: Check for sys/sdt.h.
17104
d34abfd2
UB
171052011-03-14 Uros Bizjak <ubizjak@gmail.com>
17106
17107 * config/i386/i386.md (ROUND_FLOOR): New constant.
17108 (ROUND_CEIL): Ditto.
17109 (ROUND_TRUNC): Ditto.
17110 (ROUND_MXCSR): Ditto.
17111 (ROUND_NO_EXC): Ditto.
17112 (rint<mode>2): Use new defines instead of numerical constants.
17113 (floor<mode>2): Ditto.
17114 (ceil<mode>2): Ditto.
17115 (btrunc<mode>2): Ditto.
17116 * config/i386/i386-builtin-types.def: Define ROUND function type
17117 aliases.
17118 * config/i386/i386.c (enum ix86_builtins): Add
17119 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
17120 (struct builtin_description): Add
17121 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
17122 (ix86_expand_sse_round): New static function.
17123 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
17124 function types.
17125 (ix86_builtin_vectorized_function): Handle
17126 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
17127
87f9e23d
TT
171282011-03-14 Tom Tromey <tromey@redhat.com>
17129
17130 * c-parser.c (c_parser_asm_string_literal): Clear
17131 warn_overlength_strings.
17132
b3ab9ea2
TT
171332011-03-14 Tom Tromey <tromey@redhat.com>
17134
17135 * c-parser.c (disable_extension_diagnostics): Save
17136 warn_overlength_strings.
17137 (restore_extension_diagnostics): Restore warn_overlength_strings.
17138
6bd73dd8
JJ
171392011-03-14 Jakub Jelinek <jakub@redhat.com>
17140
17141 * BASE-VER: Change to 4.7.0.
17142
7f4d6e1b
RG
171432011-03-14 Richard Guenther <rguenther@suse.de>
17144
17145 PR middle-end/48098
17146 * tree.c (build_vector_from_val): Adjust assert to requirements
17147 and reality.
17148
c6104ef1
JJ
171492011-03-14 Jakub Jelinek <jakub@redhat.com>
17150
17151 PR bootstrap/48102
d34abfd2 17152 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 17153
dfa95e19
AT
171542011-03-14 Andreas Tobler <andreast@fgznet.ch>
17155
f60c2554 17156 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
dfa95e19
AT
17157 terms of target_flags_explicit. Adjust copyright year.
17158
17159 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
17160 * config/rs6000/t-freebsd: New file. Add override for
17161 LIB2FUNCS_EXTRA.
17162
bb322018
CD
171632011-03-13 Chris Demetriou <cgd@google.com>
17164
17165 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
17166 (-fno-diagnostics-show-option): this, to reflect current default.
17167 (-Werror=): Update text about -fno-diagnostics-show-option.
17168
12b1c80b
PB
171692011-03-12 Peter Bergner <bergner@vnet.ibm.com>
17170
17171 PR target/48053
17172 * config/rs6000/predicates.md (easy_vector_constant_add_self,
17173 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
17174 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
17175 mode is not V2DImode or V2DFmode.
17176 (vspltis_constant): Do not handle V2DImode and V2DFmode.
17177 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
17178 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
17179 registers to 0.
17180 (movdi_internal64): Likewise.
17181
57d598f7
SP
171822011-03-12 Sebastian Pop <sebastian.pop@amd.com>
17183
17184 PR tree-optimization/47127
17185 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
17186 parameter.
17187 (set_cloog_options): Same.
17188 (scop_to_clast): Same.
17189 (print_clast_stmt): Do not call cloog_state_malloc and
17190 cloog_state_free.
17191 (print_generated_program): Same.
17192 (gloog): Same.
17193 * graphite-clast-to-gimple.h (cloog_state): Declared.
17194 (scop_to_clast): Adjust declaration.
17195 * graphite.c (cloog_state): Defined here.
17196 (graphite_initialize): Call cloog_state_malloc.
17197 (graphite_finalize): Call cloog_state_free.
17198
f231b5ff
JM
171992011-03-11 Jason Merrill <jason@redhat.com>
17200
17201 * attribs.c (lookup_attribute_spec): Take const_tree.
17202 * tree.h: Adjust.
17203
6a4e2bd5
JM
172042011-03-11 Joseph Myers <joseph@codesourcery.com>
17205
17206 * config/sparc/sparc.c (sparc_option_override): Use
17207 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
17208
a758fd67
RG
172092011-03-11 Richard Guenther <rguenther@suse.de>
17210
17211 PR tree-optimization/48067
17212 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
17213 multiplication result will be only used once on the target
17214 stmt.
17215
03dfda54
RG
172162011-03-11 Richard Guenther <rguenther@suse.de>
17217
17218 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
17219
5f11a50a
RG
172202011-03-11 Richard Guenther <rguenther@suse.de>
17221
17222 PR lto/48073
17223 * tree.c (find_decls_types_r): Do not walk types only reachable
17224 from IDENTIFIER_NODEs.
17225
4074f163
JJ
172262011-03-11 Jakub Jelinek <jakub@redhat.com>
17227
17228 PR middle-end/48044
17229 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
17230 all vnode->force_output nodes as needed.
17231
30f7cdcd
JM
172322011-03-11 Jason Merrill <jason@redhat.com>
17233
17234 PR c++/48069
17235 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
17236 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
17237
62ecfeb8
MJ
172382011-03-11 Martin Jambor <mjambor@suse.cz>
17239
17240 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
17241 cgraph_node.
17242
e89e03ab
JJ
172432011-03-11 Jakub Jelinek <jakub@redhat.com>
17244
17245 PR tree-optimization/48063
17246 * ipa-inline.c (cgraph_decide_inlining): Don't try to
17247 inline functions called once if !tree_can_inline_p (node->callers).
17248
efbe978b 172492011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 17250
efbe978b
EB
17251 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
17252 extra_objs.
9d6193a7
CL
17253 * config/score/score3.c: Delete.
17254 * config/score/score3.h: Delete.
17255 * config/score/mul-div.S: Delete.
17256 * config/score/sfp-machine.h: Add new file.
17257 * config/score/constraints.md: Add new file.
17258 * config/score/t-score-softfp: Add new file.
efbe978b 17259 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
17260 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
17261 (score7_extra_constraint): Delete.
efbe978b 17262 (score7_option_override): Remove unused code.
9d6193a7
CL
17263 * config/score/score.c: Remove score3 and score5 define and code.
17264 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 17265 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
17266 * config/score/score.opt: Remove score3 and score5 options.
17267
5de27cca
JDA
172682011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17269
17270 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
17271 when _HPUX_SOURCE is defined.
17272 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
17273
18d92053
JM
172742011-03-10 Jason Merrill <jason@redhat.com>
17275
17276 PR c++/48029
17277 * stor-layout.c (layout_type): Don't set structural equality
17278 on arrays of incomplete type.
17279 * tree.c (type_hash_eq): Handle comparing them properly.
17280
67a2f76d
JJ
172812011-03-10 Jakub Jelinek <jakub@redhat.com>
17282
17283 PR debug/48043
18d92053 17284 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
17285 result mode matches original rtl mode.
17286
d845b2f9
NC
172872011-03-10 Nick Clifton <nickc@redhat.com>
17288
17289 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 17290 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 17291
db7ec035
JJ
172922011-03-09 Jakub Jelinek <jakub@redhat.com>
17293
17294 PR rtl-optimization/47866
17295 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
17296 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
17297 if target wasn't scalar.
17298 * function.c (assign_stack_temp_for_type): Assert that neither
17299 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
17300 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
17301 macro.
17302 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
17303
5d304e47
AK
173042011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17305
17306 * config/s390/s390-protos.h (s390_label_align): New prototype.
17307 * config/s390/s390.c (s390_label_align): New function.
17308 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
17309
93b826f0
MM
173102011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
17311
17312 PR target/47755
17313 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
17314 V2DI/V2DF constants. Only all 0's or all 1's are easy.
17315 (output_vec_const_move): Ditto.
17316
ef78aed6
AS
173172011-03-08 Anatoly Sokolov <aesok@post.ru>
17318
17319 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
17320 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
17321 * config/mips/mips.c (mips_preferred_reload_class): Make static.
17322 Change 'rclass' argument and result type to reg_class_t.
17323 (TARGET_PREFERRED_RELOAD_CLASS): Define.
17324
5f892aa0
GJL
173252011-03-08 Georg-Johann Lay <avr@gjlay.de>
17326
9e43ad68
UB
17327 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
17328 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
17329 (TARGET_MEMORY_MOVE_COST): Define.
17330 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 17331
32bd2409
JJ
173322011-03-08 Jakub Jelinek <jakub@redhat.com>
17333
530a4800
JJ
17334 PR debug/47881
17335 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
17336 removed anything.
17337
32bd2409
JJ
17338 PR tree-optimization/48022
17339 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
17340 for EQ/NE_EXPR.
17341
c7148991
JJ
173422011-03-07 Jakub Jelinek <jakub@redhat.com>
17343
17344 PR debug/47991
17345 * var-tracking.c (find_use_val): Return NULL for
17346 cui->sets && cui->store_p BLKmode MEMs.
17347
43070a6e
AS
173482011-03-07 Anatoly Sokolov <aesok@post.ru>
17349
17350 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
17351 Remove.
17352 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
17353 xstormy16_print_operand_address): Remove.
17354 * config/stormy16/stormy16.c (xstormy16_print_operand,
17355 xstormy16_print_operand_address): Make static.
17356 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
17357
efbe978b 173582011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
17359
17360 PR target/47862
17361 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
17362 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
17363 before definition.
17364
cec8ac0b
ZD
173652011-03-07 Zdenek Dvorak <ook@ucw.cz>
17366
17367 PR bootstrap/48000
17368 * cfgloopmanip.c (fix_bb_placements): Return immediately
17369 if FROM is BASE_LOOP's header.
17370
59527282
PW
173712011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
17372
17373 * gimplify.c (gimplify_function_tree): Fix building calls
17374 to __builtin_return_address.
17375
617718f7
AM
173762011-03-07 Alan Modra <amodra@gmail.com>
17377
17378 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
17379 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
17380 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
17381 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
17382 return_mode args.
17383 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
17384 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
17385 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
17386 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
17387 * config/rs6000/rs6000.c
17388 (rs6000_elf_end_indicate_exec_stack): Rename to..
17389 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
17390 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
17391 (rs6000_file_start): ..here.
17392 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
17393 file scope variables.
17394 (call_ABI_of_interest): New function.
17395 (init_cumulative_args): Set above vars when function return value
17396 is a float, vector, or small struct.
17397 (rs6000_function_arg_advance_1): Likewise for function args.
17398 (rs6000_va_start): Set rs6000_passes_float if variable arg function
17399 references float args.
17400
38528d50
MX
174012011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
17402
17403 * doc/cfg.texi: Remove "See" before @ref.
17404 * doc/invoke.texi: Likewise.
17405
f42cf4f4
JM
174062011-03-05 Jason Merrill <jason@redhat.com>
17407
17408 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
17409
804a304d
AG
174102011-03-05 Anthony Green <green@moxielogic.com>
17411
17412 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
17413
634ee309
ZD
174142011-03-05 Zdenek Dvorak <ook@ucw.cz>
17415
17416 PR rtl-optimization/47899
17417 * cfgloopmanip.c (fix_bb_placements): Fix first argument
17418 to flow_loop_nested_p when moving the loop upward.
17419
6fe471c8
RE
174202011-03-05 Richard Earnshaw <rearnsha@arm.com>
17421
17422 PR target/47719
17423 * arm.md (movhi_insn_arch4): Accept any immediate constant.
17424
cc58ceee
JJ
174252011-03-05 Jakub Jelinek <jakub@redhat.com>
17426
17427 PR tree-optimization/47967
17428 * ipa-cp.c (build_const_val): Return NULL instead of creating
17429 VIEW_CONVERT_EXPR for mismatching sizes.
17430 (ipcp_create_replace_map): Return NULL if build_const_val failed.
17431 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
17432 give up on versioning.
17433
ea868305
AM
174342011-03-05 Alan Modra <amodra@gmail.com>
17435
17436 PR target/47986
17437 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
17438 full cmodel medium/large lo_sum + high addresses.
17439
bc6ce334
AK
174402011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17441
17442 * config/s390/s390.c (s390_decompose_address): Reject non-literal
17443 pool references in UNSPEC_LTREL_OFFSET.
17444
87e7b310
JH
174452011-03-04 Jan Hubicka <jh@suse.cz>
17446
17447 PR lto/47497
17448 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
17449 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
17450 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
17451 Add node pointers.
87e7b310
JH
17452 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
17453 cgraph_add_thunk): Add node pointers.
17454 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
17455 associated to right node.
17456 (input_node): Update use of cgraph_same_body_alias
17457 and cgraph_add_thunk.
17458
d9c64246
CF
174592011-03-04 Changpeng Fang <changpeng.fang@amd.com>
17460
17461 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
17462 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
17463 modes when the flag -mprefer-avx128 is on.
d9c64246 17464
08707076
RS
174652011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
17466
17467 * dwarf2out.c (compare_loc_operands): Fix address handling.
17468
52517c81
AM
174692011-03-04 Alan Modra <amodra@gmail.com>
17470
17471 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
17472
b147c5b9
RG
174732011-03-04 Richard Guenther <rguenther@suse.de>
17474
17475 PR middle-end/47968
17476 * expmed.c (extract_bit_field_1): Prefer vector modes that
17477 vec_extract patterns can handle.
17478
8750672f
RG
174792011-03-04 Richard Guenther <rguenther@suse.de>
17480
17481 PR middle-end/47975
17482 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
17483
9eac0f2a
RH
174842011-03-04 Richard Henderson <rth@redhat.com>
17485
17486 * explow.c (emit_stack_save): Remove 'after' parameter.
17487 (emit_stack_restore): Likewise.
17488 * expr.h: Update to match.
17489 * builtins.c, calls.c, stmt.c: Likewise.
17490 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
17491 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
17492 * function.c (expand_function_end): Insert the emit_stack_save
17493 sequence before parm_birth_insn instead of after.
17494
dfee1406
UB
174952011-03-03 Uros Bizjak <ubizjak@gmail.com>
17496
17497 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
17498 (ssse3_pmaddubsw128): Ditto.
17499 (ssse3_pmaddubsw): Ditto.
17500
f1d4c3de
SE
175012011-03-03 Steve Ellcey <sje@cup.hp.com>
17502
17503 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
17504
71f3a3f5
JJ
175052011-03-03 Jakub Jelinek <jakub@redhat.com>
17506
423ed416
JJ
17507 PR c/47963
17508 * gimplify.c (omp_add_variable): Only call omp_notice_variable
17509 on TYPE_SIZE_UNIT if it is a DECL.
17510
71f3a3f5
JJ
17511 PR debug/47283
17512 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
17513 first operand is not is_gimple_mem_ref_addr, try to fold it.
17514 If the operand still isn't is_gimple_mem_ref_addr, clear
17515 MEM_EXPR on op0.
17516
4b1a5c0d
RG
175172011-03-03 Richard Guenther <rguenther@suse.de>
17518
17519 PR middle-end/47283
17520 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
17521 match comment.
17522 (refs_may_alias_p_1): For release branches return true if
17523 we are confused by our input.
17524
b46616fd
AK
175252011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17526
17527 * config/s390/s390.c (s390_function_value): Rename to ...
17528 (s390_function_and_libcall_value): ... this.
17529 (s390_function_value): New function.
17530 (s390_libcall_value): New function.
dfee1406 17531 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
17532 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
17533 target macro definitions.
17534 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
17535
46d8fabb
JM
175362011-03-02 Joseph Myers <joseph@codesourcery.com>
17537
17538 * config/i386/freebsd64.h (CC1_SPEC): Define.
17539 * config/i386/linux64.h (CC1_SPEC): Define.
17540 * config/i386/x86-64.h (CC1_SPEC): Don't define.
17541
6b1ce545
AS
175422011-03-02 Anatoly Sokolov <aesok@post.ru>
17543
17544 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
17545 Remove.
17546 * config/stormy16/stormy16.c: Include reload.h.
17547 (xstormy16_memory_move_cost): New function.
17548 (TARGET_MEMORY_MOVE_COST): Define.
17549
34161e98
RS
175502011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
17551
17552 PR rtl-optimization/47925
17553 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
17554 with side effects. Remove the more-specific check for volatile asms.
17555
f60a97cf
AM
175562011-03-02 Alan Modra <amodra@gmail.com>
17557
17558 PR target/47935
17559 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
17560 toc relative addresses for valid offsets.
17561
f2ca11ca
RG
175622011-03-01 Richard Guenther <rguenther@suse.de>
17563
17564 PR tree-optimization/47890
17565 * tree-vect-loop.c (get_initial_def_for_induction): Set
17566 related stmt properly.
17567
7a00d9ea
RG
175682011-03-01 Richard Guenther <rguenther@suse.de>
17569
17570 PR lto/47924
17571 * lto-streamer.c (lto_record_common_node): Also register
17572 the canonical type.
17573
06c7edcc
RG
175742011-03-01 Richard Guenther <rguenther@suse.de>
17575
17576 PR lto/46911
17577 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
17578 Do not stream DECL_ABSTRACT_ORIGIN.
17579 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
17580 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
17581 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
17582 Do not stream DECL_ABSTRACT_ORIGIN.
17583 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
17584 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
17585
998871e9
AS
175862011-02-28 Anatoly Sokolov <aesok@post.ru>
17587
17588 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
17589 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 17590 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
17591 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
17592 Add 'outgoing' argument.
17593 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
17594 function.
17595 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
17596 TARGET_FUNCTION_VALUE_REGNO_P): Define.
17597
94369251
KT
175982011-02-28 Kai Tietz <kai.tietz@onevision.com>
17599
17600 PR debug/28047
17601 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
17602 (lookup_filename): Likewise.
b2e2ea67 17603 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 17604
80a832cd
JJ
176052011-02-28 Bernd Schmidt <bernds@codesourcery.com>
17606 Jakub Jelinek <jakub@redhat.com>
17607
17608 PR middle-end/47893
17609 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
17610 (assign_stack_local_1): Change last argument type to int.
17611 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
17612 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 17613 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
17614 (assign_stack_local): Adjust caller.
17615 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
17616 of assign_stack_local, pass 0 as last argument.
17617 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
17618 callers.
17619
1b500976
JJ
176202011-02-28 Jakub Jelinek <jakub@redhat.com>
17621
f61c6f34
JJ
17622 PR debug/47283
17623 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
17624 Use target address_mode and pointer_mode hooks instead of hardcoded
17625 Pmode and ptr_mode. Handle some simple cases of extending if
17626 POINTERS_EXTEND_UNSIGNED < 0.
17627 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
17628 Call convert_debug_memory_address.
17629 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
17630 convert_debug_memory_address.
17631
1b500976
JJ
17632 PR middle-end/46790
17633 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
17634 * configure: Regenerated.
17635 * config.in: Regenerated.
17636 * varasm.c (default_function_section): Return NULL
b2e2ea67 17637 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 17638
2f2935b6
MJ
176392011-02-28 Martin Jambor <mjambor@suse.cz>
17640
17641 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
17642 the description to match the printed values.
17643
474086eb
RG
176442011-02-28 Richard Guenther <rguenther@suse.de>
17645
17646 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
17647 of the copied scope tree.
17648
15bf6f3a
RW
176492011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17650
17651 * doc/extend.texi (Function Attributes): Avoid deeply (and
17652 wrongly) nested tables.
17653
f6b439c9
JJ
176542011-02-27 Jakub Jelinek <jakub@redhat.com>
17655
17656 PR middle-end/47903
17657 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
17658 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
17659 r isn't op0 nor op1.
17660
1d8ca2c7
GJL
176612011-02-23 Georg-Johann Lay <avr@gjlay.de>
17662
17663 * config/avr/avr.md: Remove magic comment for emacs.
17664
593fca4b
GJL
176652011-02-23 Georg-Johann Lay <avr@gjlay.de>
17666
17667 PR target/45261
17668 * config/avr/avr.c (avr_option_override): Use error on bad options.
17669 (avr_help): New function.
17670 (TARGET_HELP): Define.
17671
6609216e
GJL
176722011-02-22 Georg-Johann Lay <avr@gjlay.de>
17673
17674 PR target/42240
17675 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
17676 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
17677
03d458af
GP
176782011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
17679
17680 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
17681 (ARM Options): Ditto.
17682 (i386 and x86-64 Options): Ditto.
17683 (RX Options): Ditto.
17684 (SPARC Options): Ditto.
17685
1c379b78
TC
176862011-02-26 Tijl Coosemans <tijl@coosemans.org>
17687
17688 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
17689 FreeBSD 6 and later. Generally use cpu generic.
17690
d5ed058c 176912011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 17692
d5ed058c
GP
17693 * doc/cpp.texi: Update copyright years.
17694
509d65dd 176952011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 17696
509d65dd 17697 PR target/46898
308d39cd
SB
17698 * config/lm32/lm32.md (ashrsi3): Added needed variable.
17699
509d65dd 177002011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 17701
509d65dd 17702 PR target/46898
308d39cd
SB
17703 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
17704 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
17705 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
17706 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 17707 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
17708 (gen_int_relational): Move declarations to start of function.
17709
822ba6d7
EB
177102011-02-25 Eric Botcazou <ebotcazou@adacore.com>
17711
17712 PR tree-optimization/45470
17713 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
17714 can throw internally only.
17715 * tree-vect-stmts.c (vectorizable_call): Likewise.
17716
ef795fc2
AS
177172011-02-24 Anatoly Sokolov <aesok@post.ru>
17718
17719 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
17720 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
17721 * config/stormy16/stormy16-protos.h
17722 (xstormy16_preferred_reload_class): Remove.
17723 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
17724 static. Change 'rclass' argument and return type to reg_class_t.
17725 (TARGET_PREFERRED_RELOAD_CLASS,
17726 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
17727
1c3277ee
RG
177282011-02-24 Richard Guenther <rguenther@suse.de>
17729
17730 * lto-streamer-in.c (input_bb): Do not find referenced vars
17731 in debug statements.
17732
67e18edb
JM
177332011-02-23 Jason Merrill <jason@redhat.com>
17734
17735 * common.opt (fabi-version): Document v5 and v6.
17736
b14fad9d
RG
177372011-02-23 Richard Guenther <rguenther@suse.de>
17738
17739 PR tree-optimization/47849
17740 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
17741
7fcf46f5
JZ
177422011-02-23 Jie Zhang <jie@codesourcery.com>
17743
17744 * opts-common.c (decode_cmdline_option): Print empty string
17745 argument as "" in decoded->orig_option_with_args_text.
17746 * gcc.c (execute): Print empty string argument as ""
17747 in the verbose output.
17748 (do_spec_1): Keep empty string argument.
17749
f85b70fd
NF
177502011-02-23 Nathan Froyd <froydnj@codesourcery.com>
17751
17752 * config.gcc: Declare score-* and crx-* obsolete.
17753
b152a615
JZ
177542011-02-23 Jie Zhang <jie@codesourcery.com>
17755
17756 PR rtl-optimization/47763
17757 * web.c (web_main): Ignore naked clobber when replacing register.
17758
bb6e77bc
AS
177592011-02-22 Anatoly Sokolov <aesok@post.ru>
17760
17761 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
17762 Remove.
17763
68bf6491
SP
177642011-02-22 Sebastian Pop <sebastian.pop@amd.com>
17765
17766 PR doc/47848
17767 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
17768
88ee1fc7
MS
177692011-02-22 Mike Stump <mikestump@comcast.net>
17770
17771 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
17772 assembler.
17773 * configure: Regenerate.
17774
6042d1dd
CLT
177752011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
17776
17777 PR rtl-optimization/46002
17778 * ira-color.c (update_copy_costs): Change class intersection
17779 test to reg_class_contents[] test of 'hard_regno'.
17780
7de97f9e
JM
177812011-02-21 Joseph Myers <joseph@codesourcery.com>
17782
17783 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
17784 than Driver option.
17785 * config/hpux11.opt (mt): Likewise.
17786 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
17787 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
17788 * config/vax/elf.opt (mno-asm-pic): Likewise.
17789 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
17790
d1d46f9f
MS
177912011-02-21 Mike Stump <mikestump@comcast.net>
17792
17793 PR target/47822
17794 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
17795 tree so we can get save the type.
17796 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
17797 for CFString instead of trying to use past the end of the builtins.
17798 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
17799 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
17800 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
17801 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
17802 Rename to darwin_builtin_cfstring.
17803 (darwin_init_cfstring_builtins): Return the built type.
17804
23e0d930
UB
178052011-02-21 Uros Bizjak <ubizjak@gmail.com>
17806
17807 PR target/47840
17808 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
17809 (_mm256_insert_epi64): Use _mm_insert_epi64.
17810
192997cf
AS
178112011-02-21 Anatoly Sokolov <aesok@post.ru>
17812
17813 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
17814 * config/stormy16/stormy16-protos.h
17815 (xstormy16_mode_dependent_address_p): Remove.
17816 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
17817 Make static. Change return type to bool. Change argument type to
17818 const_rtx. Remove dead code.
17819 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
17820
e292d003
RG
178212011-02-21 Richard Guenther <rguenther@suse.de>
17822
17823 PR lto/47820
17824 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
17825 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
17826 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
17827 TUs context.
23e0d930 17828 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
17829 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
17830
77f846e9
RG
178312011-02-20 Richard Guenther <rguenther@suse.de>
17832
17833 PR lto/47822
17834 * tree.c (free_lang_data_in_decl): Clean builtins from
17835 the TU decl BLOCK_VARS.
23e0d930 17836
b2cddfc8
AO
178372011-02-19 Alexandre Oliva <aoliva@redhat.com>
17838
17839 PR debug/47620
17840 PR debug/47630
17841 * haifa-sched.c (fix_tick_ready): Skip tick computation
17842 for debug insns.
17843
becf4c11
RG
178442011-02-19 Richard Guenther <rguenther@suse.de>
17845
17846 PR lto/47647
17847 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
17848 Remove lazy BLOCK_VARS streaming.
17849 (lto_input_ts_block_tree_pointers): Likewise.
17850 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
17851
27f98305
JM
178522011-02-19 Joseph Myers <joseph@codesourcery.com>
17853
17854 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
17855
064bf3f4
JM
178562011-02-19 Joseph Myers <joseph@codesourcery.com>
17857
17858 * config/i386/biarch32.h, config/i386/mach.h,
17859 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
17860
9215ddc3
JJ
178612011-02-19 Jakub Jelinek <jakub@redhat.com>
17862
17863 PR target/47800
17864 * config/i386/i386.md (peephole2 for shift and plus): Use
17865 operands[1] original mode in the first insn.
17866
8b021004
MS
178672011-02-18 Mike Stump <mikestump@comcast.net>
17868
65ded153 17869 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 17870
f84ae14c
JH
178712011-02-18 Jan Hubicka <jh@suse.cz>
17872
17873 PR middle-end/47788
65ded153
EB
17874 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
17875 to zero when the function is not inlinable at all.
f84ae14c 17876
eddabc80
JDA
178772011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17878
17879 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
17880 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
17881 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
17882 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
17883 * config/pa/t-pa64: Likewise.
17884 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
17885
ca3da783
JJ
178862011-02-18 Jakub Jelinek <jakub@redhat.com>
17887
17888 PR driver/47787
17889 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
17890
430aa868
JDA
178912011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17892
17893 PR target/47792
17894 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
17895
4bf7ff7e
AS
178962011-02-18 Anatoly Sokolov <aesok@post.ru>
17897
17898 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
17899 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
17900 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
17901 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
17902 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
17903 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
17904 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
17905 m32r_load_postinc_p, m32r_store_preinc_predec_p,
17906 m32r_legitimate_address_p): New functions.
17907 * config/m32r/constraints.md (constraint "S"): Don't use
17908 STORE_PREINC_PREDEC_P.
17909 (constraint "U"): Don't use LOAD_POSTINC_P.
17910
7efcf910
CLT
179112011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
17912
17913 PR rtl-optimization/46178
17914 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
17915 compute ira_hard_regno_cover_class[].
17916
237d6259
RG
179172011-02-18 Richard Guenther <rguenther@suse.de>
17918
17919 PR lto/47798
17920 * lto-streamer.h (lto_global_var_decls): Declare.
17921 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
17922 statics for global var processing.
17923
12d80acc
RG
179242011-02-18 Richard Guenther <rguenther@suse.de>
17925
17926 PR tree-optimization/47737
17927 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
17928 edge dominance check.
17929
abfea58d
JJ
179302011-02-18 Jakub Jelinek <jakub@redhat.com>
17931
17932 PR debug/47780
17933 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
17934 avoid invalid rtx sharing.
17935
f73c8882
GP
179362011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
17937
17938 * doc/cpp.texi (Obsolete Features): Add background on the
17939 origin of assertions.
17940
d764a8e6
IS
179412011-02-17 Iain Sandoe <iains@gcc.gnu.org>
17942
17943 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 17944 objc_abi == 2.
d764a8e6
IS
17945 * config/darwin.c (output_objc_section_asm_op): Added support for
17946 ABI v1 and v2.
17947 (is_objc_metadata): New.
17948 (darwin_objc2_section): New.
17949 (darwin_objc1_section): New.
17950 (machopic_select_section): Added support for ABI v1 and v2.
17951 (darwin_emit_objc_zeroed): New.
17952 (darwin_output_aligned_bss): Detect objc metadata and treat it
17953 appropriately.
17954 (darwin_asm_output_aligned_decl_common): Same.
17955 (darwin_asm_output_aligned_decl_local): Same.
17956 * config/darwin-sections.def: Updated for ABI v1 and v2.
17957 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
17958 compiling Objective-C code for the NeXT runtime, default to using
17959 ABI version 0 for 32-bit, and version 2 for 64-bit.
17960
0a8134ca
JM
179612011-02-17 Joseph Myers <joseph@codesourcery.com>
17962
17963 * common.opt (optimize_fast): New Variable.
17964 * opts.c (default_options_optimization): Use opts->x_optimize_fast
17965 instead of local variable ofast.
17966
0a256240
NP
179672011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
17968
17969 * doc/invoke.texi (fobjc-abi-version): Documented.
17970 (fobjc-nilcheck): Documented.
17971 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
17972 version.
17973
fa381cb2
JM
179742011-02-17 Joseph Myers <joseph@codesourcery.com>
17975
17976 PR driver/47390
17977 * common.opt (export-dynamic): New Driver option.
17978 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
17979
5437eaa6
JM
179802011-02-17 Joseph Myers <joseph@codesourcery.com>
17981
17982 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
17983
bb7e6d55
AO
179842011-02-17 Alexandre Oliva <aoliva@redhat.com>
17985 Jan Hubicka <jh@suse.cz>
17986
17987 PR debug/47106
17988 PR debug/47402
17989 * cfgexpand.c (account_used_vars_for_block): Remove.
17990 (estimated_stack_frame_size): Use referenced vars.
17991 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
17992 that were referenced in the original function. Test src_fn
17993 rather than cfun. Drop redundant get_var_ann.
17994 (setup_one_parameter): Drop redundant get_var_ann.
17995 (declare_return_variable): Likewise.
17996 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
17997 (copy_arguments_for_versioning): Drop redundant get_var_ann.
17998 * ipa-inline.c (compute_inline_parameters): Do not compute
17999 disregard_inline_limits here.
bb7e6d55
AO
18000 (compute_inlinable_for_current, pass_inlinable): New.
18001 (pass_inline_parameters): Require PROP_referenced_vars.
18002 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 18003 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
18004 (cgraph_analyze_function): Set .disregard_inline_limits.
18005 * tree-sra.c (convert_callers): Compute inliner parameters
18006 only for functions already in SSA form.
18007
f181a8a7
JM
180082011-02-17 Joseph Myers <joseph@codesourcery.com>
18009
18010 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
18011 -mlittle-endian-data.
18012
c6869789
JM
180132011-02-17 Joseph Myers <joseph@codesourcery.com>
18014
18015 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
18016 -mno-fpu, not -fpu and -no-fpu.
18017 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
18018 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
18019
fbf4bfd3
UB
180202011-02-17 Uros Bizjak <ubizjak@gmail.com>
18021
18022 PR target/43653
18023 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
18024 input reload with PLUS RTX.
18025
70be5dc7
JM
180262011-02-16 Joseph Myers <joseph@codesourcery.com>
18027
18028 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
18029 of InverseVar(MDMX).
18030
30b1646e
JM
180312011-02-16 Joseph Myers <joseph@codesourcery.com>
18032
18033 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
18034 --m4-340.
18035
ab7b71e9
JM
180362011-02-16 Joseph Myers <joseph@codesourcery.com>
18037
18038 * config/mn10300/mn10300.opt (mno-crt0): New.
18039
466f3f08
JM
180402011-02-16 Joseph Myers <joseph@codesourcery.com>
18041
18042 * config/m68k/uclinux.opt (static-libc): New Driver option.
18043
8226cd7b
JM
180442011-02-16 Joseph Myers <joseph@codesourcery.com>
18045
18046 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
18047
45cab1d7
JM
180482011-02-16 Joseph Myers <joseph@codesourcery.com>
18049
18050 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
18051 %{muser-extend-enabled}.
18052
65aab64f
RG
180532011-02-16 Richard Guenther <rguenther@suse.de>
18054
18055 PR tree-optimization/47738
18056 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
18057 the TODO from tree_predictive_commoning.
18058
fc2fa4fb
JL
180592011-02-15 Jeff Law <law@redhat.com>
18060
18061 Revert
18062 2011-01-25 Jeff Law <law@redhat.com>
18063
18064 PR rtl-optimization/37273
18065 * ira-costs.c (scan_one_insn): Detect constants living in memory and
18066 handle them like argument loads from stack slots. Do not double
18067 count memory for memory constants and argument loads from stack slots.
18068
4e380b8e
L
180692011-02-15 H.J. Lu <hongjiu.lu@intel.com>
18070
18071 PR middle-end/47725
18072 * combine.c (cant_combine_insn_p): Revert the last change.
18073
e3a69bb4
MM
180742011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
18075
18076 PR target/47755
18077 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
18078 mode for vector constants. Remove code that checks for TImode.
18079
de650422
AO
180802011-02-15 Alexandre Oliva <aoliva@redhat.com>
18081
18082 PR debug/47106
18083 PR debug/47402
18084 * cgraph.h (compute_inline_parameters): Return void.
18085 * ipa-inline.c (compute_inline_parameters): Adjust.
18086
30925d94
AO
180872011-02-15 Alexandre Oliva <aoliva@redhat.com>
18088
18089 PR debug/47106
18090 PR debug/47402
18091 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
18092 rather than decl.
18093 * cfgexpand.c (estimated_stack_frame_size): Likewise.
18094 * ipa-inline.c (compute_inline_parameters): Adjust.
18095
1b9a784a
AO
180962011-02-15 Alexandre Oliva <aoliva@redhat.com>
18097
18098 PR debug/47106
18099 PR debug/47402
18100 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
18101 Adjust all users. Pass FN to...
18102 * tree-flow-inline.h (first_referenced_var): ... this. Add
18103 fn argument.
18104 * ipa-struct-reorg.c: Adjust.
18105 * tree-dfa.c: Adjust.
18106 * tree-into-ssa.c: Adjust.
18107 * tree-sra.c: Adjust.
18108 * tree-ssa-alias.c: Adjust.
18109 * tree-ssa-live.c: Adjust.
18110 * tree-ssa.c: Adjust.
18111 * tree-ssanames.c: Adjust.
18112 * tree-tailcall.c: Adjust.
18113
27c6b086
AO
181142011-02-15 Alexandre Oliva <aoliva@redhat.com>
18115
18116 PR debug/47106
18117 PR debug/47402
18118 * tree-flow.h (referenced_var_lookup): Add fn parameter.
18119 Adjust all callers.
18120 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
18121 * tree-flow-inline.h: Adjust.
18122 * gimple-pretty-print.c: Adjust.
18123 * tree-into-ssa.c: Adjust.
18124 * tree-ssa.c: Adjust.
18125 * cfgexpand.c: Adjust.
18126
679e8183
NF
181272011-02-15 Nathan Froyd <froydnj@codesourcery.com>
18128
fbf4bfd3
UB
18129 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
18130 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
18131 (EXTRA_CONSTRAINT): Delete.
18132 * config/iq2000/constraints.md: New file.
18133 * config/iq2000/iq2000.md: Include it.
679e8183
NF
18134 (define_insn ""): Delete.
18135 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
18136 unsupported constraint letters from patterns.
18137 (call_value, call_value_internal1): Likewise.
18138 (call_value_multiple_internal1): Likewise.
18139
a45d420a
NC
181402011-02-15 Nick Clifton <nickc@redhat.com>
18141
18142 * config/mn10300/mn10300.c: Include tm-constrs.h.
18143 (struct liw_data): New data structure describing an LIW candidate
18144 instruction.
18145 (extract_bundle): Use struct liw_data. Allow small integer
18146 operands for some instructions.
18147 (check_liw_constraints): Use struct liw_data. Remove swapped
18148 parameter. Add comments describing the checks. Fix bug when
18149 assigning the source of liw1 to the source of liw2.
18150 (liw_candidate): Delete. Code moved into extract_bundle.
18151 (mn10300_bundle_liw): Use struct liw_data. Check constraints
18152 before swapping.
18153 * config/mn10300/predicates.md (liw_operand): New predicate.
18154 Allows registers and small integer constants.
18155 * config/mn10300/constraints.md (O): New constraint. Accetps
18156 integers in the range -8 to +7 inclusive.
18157 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
18158 for moving a small integer into a register. Give this alternative
18159 LIW attributes.
18160 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
18161 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
18162 using the J,K,L and M constraints,
18163 (liw): Remove SI mode on second operands to allow for HI and QI
18164 mode values.
18165 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
18166 instruction.
18167
8a73faf1
L
181682011-02-15 H.J. Lu <hongjiu.lu@intel.com>
18169
18170 PR middle-end/47725
18171 * combine.c (cant_combine_insn_p): Check zero/sign extended
18172 hard registers.
18173
48feba28
RG
181742011-02-15 Richard Guenther <rguenther@suse.de>
18175
18176 PR tree-optimization/47743
18177 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
18178 for a non-type-compatible VN lookup bail out.
18179
ad1c1eeb
NF
181802011-02-15 Nathan Froyd <froydnj@codesourcery.com>
18181
18182 * config/fr30/constraints.md: New file.
18183 * config/fr30/fr30.md: Include it.
18184 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
18185 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
18186 (EXTRA_CONSTRAINT): Delete.
18187
49ac143d
NF
181882011-02-15 Nathan Froyd <froydnj@codesourcery.com>
18189
18190 * config/frv/constraints.md: New file.
18191 * config/frv/predicates.md: Include it.
18192 * config/frv/frv.c (reg_class_from_letter): Delete.
18193 (frv_option_override): Don't initialize it.
18194 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
18195 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
18196 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
18197 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
18198 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
18199 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
18200 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
18201 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
18202 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
18203 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
18204 (REG_CLASS_FROM_CONSTRAINT): Delete.
18205
c95f9494
JJ
182062011-02-15 Jakub Jelinek <jakub@redhat.com>
18207
18208 PR middle-end/47581
18209 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
18210 if frame size is 0 in a leaf function.
18211
13aed611
RO
182122011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18213
18214 PR pch/14940
18215 * config/alpha/host-osf.c: New file.
18216 * config/alpha/x-osf: New file.
18217 * config.host (alpha*-dec-osf*): Use it.
18218
b09c3081
AS
182192011-02-14 Anatoly Sokolov <aesok@post.ru>
18220
18221 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
18222 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
18223 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
18224 (rx_mode_dependent_address_p): ...this. Make static. Change argument
18225 type to const_rtx.
18226 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
18227
d634083b
NF
182282011-02-14 Nathan Froyd <froydnj@codesourcery.com>
18229
18230 * config/stormy16/constraints.md: New file.
18231 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
18232 Use satisfies_constraint_Q and satisfies_constraint_R.
18233 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
18234 Delete.
18235 (xstormy16_legitiamte_address_p): Declare.
18236 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
18237 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
18238 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 18239 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
18240 Un-staticize.
18241 (xstormy16_extra_constraint_p): Delete.
18242
c7dd803e
EB
182432011-02-14 Eric Botcazou <ebotcazou@adacore.com>
18244
18245 PR tree-optimization/46494
18246 * loop-unroll.c (split_edge_and_insert): Adjust comment.
18247 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
18248 (pass_rtl_loop_done): Add TODO_verify_flow.
18249 * fwprop.c (pass_rtl_fwprop): Likewise.
18250 * modulo-sched.c (pass_sms): Likewise.
18251 * tree-ssa-dom.c (pass_dominator): Likewise.
18252 * tree-ssa-loop-ch.c (pass_ch): Likewise.
18253 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
18254 (pass_tree_loop_done): Likewise.
18255 * tree-ssa-pre.c (execute_pre): Likewise.
18256 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
18257 * tree-ssa-sink.c (pass_sink_code): Likewise.
18258 * tree-vrp.c (pass_vrp): Likewise.
18259
c6150df6
NF
182602011-02-14 Nathan Froyd <froydnj@codesourcery.com>
18261
c7dd803e
EB
18262 * config/v850/constraints.md: New file.
18263 * config/v850/v850.md: Include it.
18264 * config/v850/predicates.md (reg_or_0_operand): Use
18265 satisfies_constraint_G.
18266 (special_symbolref_operand): Use satisfies_constraint_K.
18267 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
18268 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
18269 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
18270 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
18271 (EXTRA_CONSTRAINT): Delete.
18272 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
18273 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
18274 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 18275
30dd1ea3
AS
182762011-02-14 Anatoly Sokolov <aesok@post.ru>
18277
18278 PR target/47696
18279 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
18280 description.
18281
944f4bb3
NF
182822011-02-14 Nathan Froyd <froydnj@codesourcery.com>
18283
18284 * config/mcore/constraints.md: New file.
18285 * config/mcore/mcore.md: Include it.
18286 * config/mcore/mcore.c (reg_class_from_letter): Delete.
18287 * config/mcore/mcore.h (reg_class_from_letter): Delete.
18288 (REG_CLASS_FROM_LETTER): Delete.
18289 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
18290 insn_const_int_ok_for_constraint.
18291 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
18292 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
18293 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
18294 (EXTRA_CONSTRAINT): Delete.
18295
ad56a54c
RO
182962011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18297
18298 PR ada/41929
18299 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
18300 (IS_SIGHANDLER): Define.
18301 (sparc64_is_sighandler): New function, split off from
18302 sparc64_fallback_frame_state.
18303 (sparc_is_sighandler): New function, split off from
18304 sparc_fallback_frame_state.
18305 (sparc64_fallback_frame_state): Merge with ...
18306 (sparc_fallback_frame_state): ... this into ...
18307 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
18308 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
18309 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
18310 stack instead of hardcoded offsets.
ad56a54c 18311
fbf4bfd3 183122011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
18313
18314 PR target/45808
18315 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
18316
029c8f3e
RW
183172011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18318
18319 * configure: Regenerate.
18320
a016dc83
JM
183212011-02-12 Joseph Myers <joseph@codesourcery.com>
18322
18323 PR driver/45731
18324 * gcc.c (asm_options): Correct spec matching --target-help.
18325
8957a0ec
MJ
183262011-02-12 Martin Jambor <mjambor@suse.cz>
18327
18328 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
18329 to gimple call error.
18330
6ef828bc
MS
183312011-02-12 Mike Stump <mikestump@comcast.net>
18332
18333 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
18334 comments in backslash regions.
18335
a4015be5
MS
183362011-02-12 Mike Stump <mikestump@comcast.net>
18337 Jakub Jelinek <jakub@redhat.com>
18338 Iain Sandoe <iains@gcc.gnu.org>
18339
18340 PR target/47324
18341 * dwarf2out.c (output_cfa_loc): When required, apply the
18342 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
18343 (output_loc_sequence): Likewise.
18344 (output_loc_operands_raw): Likewise.
18345 (output_loc_sequence_raw): Likewise.
18346 (output_cfa_loc): Likewise.
18347 (output_loc_list): Suppress register number adjustment when
18348 calling output_loc_sequence()
18349 (output_die): Likewise.
18350
5378dda2
AS
183512011-02-12 Anatoly Sokolov <aesok@post.ru>
18352
18353 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
18354 Remove macros.
18355 * config/xtensa/xtensa.c (xtensa_register_move_cost,
18356 xtensa_memory_move_cost): New functions.
18357 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
18358
f3d533d3
AO
183592011-02-12 Alexandre Oliva <aoliva@redhat.com>
18360
18361 PR lto/47225
18362 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
18363 in the current directory.
18364 * configure: Rebuilt.
18365
9d53403c
IS
183662011-02-12 Iain Sandoe <iains@gcc.gnu.org>
18367
18368 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 18369 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
18370 correct indents of the preceding block.
18371
a350a6c8
IS
183722011-02-12 Iain Sandoe <iains@gcc.gnu.org>
18373
18374 * gcc.c (driver_handle_option): Concatenate the argument to -F with
18375 the switch.
18376
bab79a40
JM
183772011-02-11 Joseph Myers <joseph@codesourcery.com>
18378
18379 * common.opt (nostartfiles): New Driver option.
18380
1bbc6693
XDL
183812011-02-11 Xinliang David Li <davidxl@google.com>
18382
18383 PR tree-optimization/47707
18384 * tree-chrec.c (convert_affine_scev): Keep type precision.
18385
1da7d8c0
EB
183862011-02-11 Eric Botcazou <ebotcazou@adacore.com>
18387
18388 PR tree-optimization/47420
18389 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
18390
183912011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
18392
18393 PR rtl-optimization/47614
18394 * rtl.h (check_for_inc_dec): Declare.
18395 * dse.c (check_for_inc_dec): Externalize...
18396 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
18397 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
18398
4df47bca
JM
183992011-02-11 Joseph Myers <joseph@codesourcery.com>
18400
18401 PR driver/47678
18402 * gcc.c (main): Do not compile inputs if there were errors in
18403 option handling.
18404 * opts-common.c (read_cmdline_option): Check for wrong language
18405 after other error checks.
18406
61502ca8
NF
184072011-02-11 Nathan Froyd <froydnj@codesourcery.com>
18408
18409 * cgraph.c: Fix comment typos.
18410 * cgraph.h: Likewise.
18411 * cgraphunit.c: Likewise.
18412 * ipa-cp.c: Likewise.
18413 * ipa-inline.c: Likewise.
18414 * ipa-prop.c: Likewise.
18415 * ipa-pure-const.c: Likewise.
18416 * ipa-ref.c: Likewise.
18417 * ipa-reference.c: Likewise.
18418
b63f974e
JJ
184192011-02-11 Jakub Jelinek <jakub@redhat.com>
18420
d50c5e0c
JJ
18421 PR debug/47684
18422 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 18423
6dd2a13c
RO
184242011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18425
18426 PR testsuite/47400
18427 * doc/sourcebuild.texi (Require Support): Document
18428 dg-require-ascii-locale.
18429
4a087ccf
MX
184302011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
18431
18432 * doc/lto.texi (Write summary): Fix missing parentheses.
18433
a4403164
DD
184342011-02-10 DJ Delorie <dj@redhat.com>
18435
18436 * config/m32c/m32c.c (m32c_option_override): Disable
18437 -fcombine-stack-adjustments until flag value tracking and compare
18438 optimization can be rewritten.
18439
4fac45bd
PB
184402011-02-10 Peter Bergner <bergner@vnet.ibm.com>
18441
18442 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
18443 PROCESSOR_POWER7.
18444 (PROCESSOR_DEFAULT64): Likewise.
18445
72602cd1
RH
184462011-02-10 Richard Henderson <rth@redhat.com>
18447
18448 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
18449 change from 2011-02-03.
18450 * config/rx/rx.c (flags_from_code): Likewise.
18451 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
18452 is valid, n/pz otherwise.
18453 (rx_select_cc_mode): Return CCmode if Y is not zero.
18454
ea57f573
RG
184552011-02-10 Richard Guenther <rguenther@suse.de>
18456
ea4c3e65 18457 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 18458
92b1d23b
RG
184592011-02-10 Richard Guenther <rguenther@suse.de>
18460
18461 PR tree-optimization/47677
18462 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
18463
525a2d06
JJ
184642011-02-10 Jakub Jelinek <jakub@redhat.com>
18465
18466 PR target/47665
18467 * combine.c (make_compound_operation): Only change shifts into
18468 multiplication for SCALAR_INT_MODE_P.
18469
06c969bd
JZ
184702011-02-10 Jie Zhang <jie@codesourcery.com>
18471
18472 PR testsuite/47622
18473 Revert
18474 2011-02-05 Jie Zhang <jie@codesourcery.com>
18475 PR debug/42631
18476 * web.c (entry_register): Don't clobber the number of the
18477 first uninitialized reference in used[].
18478
282ec48e
RG
184792011-02-09 Richard Guenther <rguenther@suse.de>
18480
18481 PR tree-optimization/47664
18482 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
18483 all edges again.
18484
df98c3e8
DE
184852011-02-09 David Edelsohn <dje.gcc@gmail.com>
18486
d0f21cd6
DE
18487 PR target/46481
18488 PR target/47032
df98c3e8
DE
18489 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
18490 PROCESSOR_POWER7.
18491 (PROCESSOR_DEFAULT64): Same.
18492 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
18493
67b6839f
RO
184942011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18495
18496 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
18497
4fd73214
MJ
184982011-02-09 Martin Jambor <mjambor@suse.cz>
18499
18500 PR middle-end/45505
18501 * tree-sra.c (struct access): New flags grp_scalar_read and
18502 grp_scalar_write. Changed description of assignment read and write
18503 flags.
18504 (dump_access): Dump new flags, reorder all of them.
18505 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
18506 to detect multiple scalar reads.
18507 (analyze_access_subtree): Use the new scalar read write flags instead
18508 of the old flags. Adjusted comments.
18509
91140cd3
DD
185102011-02-08 DJ Delorie <dj@redhat.com>
18511
18512 PR target/47548
18513 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
18514 patterns.
18515
4254bbfe
JM
185162011-02-08 Joseph Myers <joseph@codesourcery.com>
18517
18518 * config/m68k/uclinux.opt: New.
18519 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
18520
f1fda84e
JM
185212011-02-08 Joseph Myers <joseph@codesourcery.com>
18522
18523 * config/cris/elf.opt (sim): New Driver option.
18524
4933ae74
JM
185252011-02-08 Joseph Myers <joseph@codesourcery.com>
18526
18527 * config/xtensa/elf.opt: New.
18528 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
18529
4ad70280
JM
185302011-02-08 Joseph Myers <joseph@codesourcery.com>
18531
18532 * config/vax/elf.opt: New.
18533 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
18534
20893707
JM
185352011-02-08 Joseph Myers <joseph@codesourcery.com>
18536
18537 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
18538
b8e7038e
JM
185392011-02-08 Joseph Myers <joseph@codesourcery.com>
18540
18541 * config/gnu-user.opt: New.
18542 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
18543 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
18544 *-*-uclinux*): Use gnu-user.opt.
18545
e1c5225a
TS
185462011-02-08 Thomas Schwinge <thomas@schwinge.name>
18547
18548 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
18549 * config/i386/gnu.h (CPP_SPEC): Likewise.
18550
5e46b0c6
ILT
185512011-02-08 Ian Lance Taylor <iant@google.com>
18552
18553 * common.opt (fcx-limited-range): Add SetByCombined flag.
18554 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
18555 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
18556 (fassociative-math, freciprocal-math): Likewise.
18557 (funsafe-math-optimizations): Likewise.
18558 * opth-gen.awk: Handle SetByCombined.
18559 * optc-gen.awk: Likewise.
ea4c3e65 18560 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
18561 (set_unsafe_math_optimizations_flags): Likewise.
18562 * doc/options.texi (Option properties): Document SetByCombined.
18563
32243d46
JM
185642011-02-08 Joseph Myers <joseph@codesourcery.com>
18565
18566 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
18567 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
18568 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
18569 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
18570 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
18571
479c1fb3
SP
185722011-02-08 Sebastian Pop <sebastian.pop@amd.com>
18573
18574 PR tree-optimization/46834
18575 PR tree-optimization/46994
18576 PR tree-optimization/46995
18577 * graphite-sese-to-poly.c (used_outside_reduction): New.
18578 (detect_commutative_reduction): Call used_outside_reduction.
18579 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
18580 translate_scalar_reduction_to_array only when at least one
18581 loop-phi/close-phi tuple has been detected.
18582
3865a06f
RG
185832011-02-08 Richard Guenther <rguenther@suse.de>
18584
18585 PR middle-end/47639
18586 * tree-vect-generic.c (expand_vector_operations_1): Update
18587 stmts here ...
18588 (expand_vector_operations): ... not here. Cleanup EH info
18589 and the CFG if required.
18590
62902f3f
RG
185912011-02-08 Richard Guenther <rguenther@suse.de>
18592
18593 PR tree-optimization/47641
18594 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
18595 require type compatibility.
18596
0efb9d64
AK
185972011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
18598
18599 * gimple-low.c (lower_function_body): Don't remove the location of
18600 the return statement here.
18601 (lower_gimple_return): Do it here instead but only if the return
18602 statement is actually used twice.
18603
034b8ae4
RG
186042011-02-08 Richard Guenther <rguenther@suse.de>
18605
18606 PR tree-optimization/47632
18607 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
18608 unused up_to_stmt parameter, return whether cfg-cleanup is
18609 necessary, remove EH info properly.
18610 (forward_propagate_into_gimple_cond): Adjust caller.
18611 (forward_propagate_into_cond): Likewise.
18612 (forward_propagate_comparison): Likewise.
18613 (tree_ssa_forward_propagate_single_use_vars): Make
18614 forward_propagate_comparison case similar to the two others.
18615
298362c8
NC
186162011-02-08 Nick Clifton <nickc@redhat.com>
18617
18618 * config/mn10300/mn10300.opt (mliw): New command line option.
18619 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
18620 (liw_bundling): New automaton.
18621 (liw): New attribute.
18622 (liw_op): New attribute.
18623 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
18624 (movsi_internal): Add LIW attributes.
18625 (andsi3): Likewise.
18626 (iorsi3): Likewise.
18627 (xorsi3): Likewise.
18628 (addsi3): Separate register and immediate alternatives.
18629 Add LIW attributes.
18630 (subsi3): Likewise.
18631 (cmpsi): Likewise.
18632 (aslsi3): Likewise.
18633 (lshrsi3): Likewise.
18634 (ashrsi3): Likewise.
18635 (liw): New pattern.
18636 * config/mn10300/mn10300.c (liw_op_names): New
18637 (mn10300_print_operand): Handle 'W' operand descriptor.
18638 (extract_bundle): New function.
18639 (check_liw_constraints): New function.
18640 (liw_candidate): New function.
18641 (mn10300_bundle_liw): New function.
18642 (mn10300_reorg): New function.
18643 (TARGET_MACHINE_DEPENDENT_REORG): Define.
18644 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
18645 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
18646 __LIW__ or __NO_LIW__.
18647 * doc/invoke.texi: Describe the -mliw command line option.
18648
90488014
JDA
186492011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18650
18651 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
18652 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
18653 pthread_mutex_unlock): Remove.
18654 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
18655 * config/pa/t-pa64: Likewise.
18656 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
18657 shared libc if not linking against libpthread.
18658 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
18659
689ff841
IS
186602011-02-07 Iain Sandoe <iains@gcc.gnu.org>
18661
18662 PR target/47558
18663 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
18664 on 10.6 and later to ensure that we always use the unwinder from
18665 the system. Only add -no_compact_unwind when tarteting darwin
18666 10.6 or later.
18667
821014aa
SE
186682011-02-07 Steve Ellcey <sje@cup.hp.com>
18669
18670 PR target/46997
18671 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
18672 (vec_interleave_lowv2sf): Ditto.
18673 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
18674 (vec_extract_oddv2sf): Ditto.
18675
41cf94fb
MS
186762011-02-07 Mike Stump <mikestump@comcast.net>
18677
62dea57d 18678 PR target/42333
41cf94fb
MS
18679 Add __ieee_divdc3 entry point.
18680 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
18681 entry point.
18682 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
18683 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
18684 * config/darwin.c (darwin_rename_builtins): Add.
18685 * config/darwin-protos.h (darwin_rename_builtins): Add.
18686
ee09a3dd
MM
186872011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
18688
18689 PR target/47636
18690 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
18691 for the condition.
18692
83296cd0
MS
186932011-02-07 Mike Stump <mikestump@comcast.net>
18694
ea4c3e65 18695 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 18696
0f4e946f
DC
186972011-02-07 Denis Chertykov <chertykov@gmail.com>
18698
18699 PR target/47534
18700 * config/avr/libgcc.S (exit): Move .endfunc
18701
1ec87690
RG
187022011-02-07 Richard Guenther <rguenther@suse.de>
18703
18704 PR tree-optimization/47615
18705 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
18706 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
18707 (run_scc_vn): Initialize it.
18708 (visit_reference_op_load): Use it.
18709 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
18710
b46ae6da
UW
187112011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
18712
18713 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
18714 DImode trapping arithmetic libfuncs.
18715
c0aae19c
RG
187162011-02-07 Richard Guenther <rguenther@suse.de>
18717
18718 PR tree-optimization/47621
18719 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
18720 two duplicates ...
18721 (execute_update_addresses_taken): ... here. Make it more
18722 conservative in what we accept.
18723
295d926b
JM
187242011-02-06 Joseph Myers <joseph@codesourcery.com>
18725
18726 * config/sparc/freebsd.h (ASM_SPEC): Define.
18727 * config/sparc/vxworks.h (ASM_SPEC): Define.
18728
bdeb2471
JM
187292011-02-06 Joseph Myers <joseph@codesourcery.com>
18730
18731 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
18732
d5d3781a
SB
187332011-02-06 Steven Bosscher <steven@gcc.gnu.org>
18734
18735 * doc/invoke.texi: Remove reference to compiler internals from
18736 user documentation.
18737
18738 * reg-notes.def: Remove REG_VALUE_PROFILE.
18739 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
18740
c42c09fc
JJ
187412011-02-05 Jakub Jelinek <jakub@redhat.com>
18742
18743 PR middle-end/47610
18744 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 18745 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 18746
beea2755
JZ
187472011-02-05 Jie Zhang <jie@codesourcery.com>
18748
18749 PR debug/42631
18750 * web.c (entry_register): Don't clobber the number of the
18751 first uninitialized reference in used[].
18752
a130584a
SP
187532011-02-04 Sebastian Pop <sebastian.pop@amd.com>
18754
18755 PR tree-optimization/46194
18756 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
18757 (build_classic_dist_vector_1): Do not represent classic distance
18758 vectors when the access functions are variating in different loops.
18759
962101ac
JM
187602011-02-04 Joseph Myers <joseph@codesourcery.com>
18761
18762 * config/mips/iris6.opt: New.
18763 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
18764
55eaaa5b
RH
187652011-02-04 Richard Henderson <rth@redhat.com>
18766 Steve Ellcey <sje@cup.hp.com>
18767
18768 PR target/46997
18769 * config/ia64/predicates.md (mux1_brcst_element): New.
18770 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
18771 * config/ia64/ia64.c (ia64_unpack_assemble): New.
18772 (ia64_unpack_sign): New.
18773 (ia64_expand_unpack): Rewrite using new routines.
18774 (ia64_expand_widen_sum): Ditto.
18775 (ia64_expand_dot_prod_v8qi): Ditto.
18776 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
18777 routines, add endian check.
18778 (pmpy2_even): Rename from pmpy2_r, add endian check.
18779 (pmpy2_odd): Rename from pmpy2_l, add endian check.
18780 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
18781 (vec_widen_smult_hi_v4hi): Ditto.
18782 (vec_widen_umult_lo_v4hi): Ditto.
18783 (vec_widen_umult_hi_v4hi): Ditto.
18784 (mulv2si3): Change endian checks.
18785 (sdot_prodv4hi): Rewrite with new calls.
18786 (udot_prodv4hi): New.
18787 (vec_pack_ssat_v4hi): Add endian check.
18788 (vec_pack_usat_v4hi): Ditto.
18789 (vec_pack_ssat_v2si): Ditto.
18790 (max1_even): Rename from max1_r, add endian check.
18791 (max1_odd): Rename from max1_l, add endian check.
18792 (*mux1_rev): Format change.
18793 (*mux1_mix): Ditto.
18794 (*mux1_shuf): Ditto.
18795 (*mux1_alt): Ditto.
18796 (*mux1_brcst_v8qi): Use new predicate.
18797 (vec_extract_evenv8qi): Remove endian check.
18798 (vec_extract_oddv8qi): Ditto.
18799 (vec_interleave_lowv4hi): Format change.
18800 (vec_interleave_highv4hi): Ditto.
18801 (mix2_even): Rename from mix2_r, add endian check.
18802 (mix2_odd): Rename from mux2_l, add endian check.
18803 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
18804 (vec_extract_evenodd_helper): Format change.
18805 (vec_extract_evenv4hi): Remove endian check.
18806 (vec_extract_oddv4hi): Remove endian check.
18807 (vec_interleave_lowv2si): Format change.
18808 (vec_interleave_highv2si): Format change.
18809 (vec_initv2si): Remove endian check.
18810 (vecinit_v2si): Add endian check.
18811 (reduc_splus_v2sf): Add endian check.
18812 (reduc_smax_v2sf): Ditto.
18813 (reduc_smin_v2sf): Ditto.
18814 (vec_initv2sf): Remove endian check.
18815 (fpack): Add endian check.
18816 (fswap): Add endian check.
18817 (vec_interleave_highv2sf): Add endian check.
18818 (vec_interleave_lowv2sf): Add endian check.
18819 (fmix_lr): Add endian check.
18820 (vec_setv2sf): Format change.
18821 (*vec_extractv2sf_0_be): Use shift to extract operand.
18822 (*vec_extractv2sf_1_be): New.
18823 (vec_pack_trunc_v4hi): Add endian check.
18824 (vec_pack_trunc_v2si): Format change.
18825
dcde5957
JJ
188262011-02-04 Jakub Jelinek <jakub@redhat.com>
18827
18828 PR inline-asm/23200
18829 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 18830 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
18831 (stmt_is_replaceable_p): New function.
18832 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
18833 callers.
18834 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
18835 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
18836 SSA_NAME_DEF_STMT.
18837 * tree-flow.h (stmt_is_replaceable_p): New prototype.
18838
a64a8e5a
JM
188392011-02-04 Joseph Myers <joseph@codesourcery.com>
18840
18841 * config/rs6000/xilinx.opt: New.
18842 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
18843
4da2ed2f
JM
188442011-02-04 Joseph Myers <joseph@codesourcery.com>
18845
18846 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
18847
a6e508f9
AS
188482011-02-03 Anatoly Sokolov <aesok@post.ru>
18849
18850 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
18851 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
18852 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
18853 secondary_reload_info, xtensa_secondary_reload): Remove.
18854 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
18855 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
18856 (xtensa_preferred_reload_class): Make static. Change return and
18857 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
18858 Use CONST_DOUBLE_P predicate.
18859 (xtensa_preferred_output_reload_class): New function.
18860 (xtensa_secondary_reload): Make static.
18861
82dc0de3
JM
188622011-02-03 Joseph Myers <joseph@codesourcery.com>
18863
18864 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
18865 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
18866 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
18867
7fece979
JJ
188682011-02-03 Jakub Jelinek <jakub@redhat.com>
18869
18870 PR middle-end/31490
18871 * output.h (SECTION_RELRO): Define.
18872 (SECTION_MACH_DEP): Adjust.
18873 (get_variable_section): New prototype.
18874 * varpool.c (varpool_finalize_named_section_flags): New function.
18875 (varpool_assemble_pending_decls): Call it.
18876 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
18877 * cgraphunit.c (cgraph_output_in_order): Call
18878 varpool_finalize_named_section_flags.
18879 * varasm.c (get_section): Allow section flags conflicts between
18880 relro and read-only sections if the section hasn't been declared yet.
18881 Set SECTION_OVERRIDE after diagnosing section type conflict.
18882 (get_variable_section): No longer static.
18883 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
18884 readonly sections that need relocations.
18885 (decl_readonly_section_1): New function.
18886 (decl_readonly_section): Use it.
18887
18888 Revert:
509d65dd 18889 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
18890 Steve Ellcey <sje@cup.hp.com>
18891
18892 PR middle-end/31490
18893 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
18894 if section attribute used.
18895
d18d5478
JJ
188962011-02-03 Jakub Jelinek <jakub@redhat.com>
18897
18898 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
18899 * config/darwin.c (SECTION_NO_ANCHOR): Define.
18900 (darwin_init_sections): Remove assertion.
18901
6479ed4b
NC
189022011-02-03 Nick Clifton <nickc@redhat.com>
18903
18904 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
18905 lt and ge.
38be4072 18906 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
18907 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
18908 instead of "n" and "pz".
18909 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
18910 CC_FLAG_S.
18911
89843f5d
JJ
189122011-02-03 Jakub Jelinek <jakub@redhat.com>
18913
65450d64
JJ
18914 PR target/47312
18915 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
18916 fma, expand FMA_EXPR as fma{,f,l} call.
18917
7d58701c
JJ
18918 PR lto/47274
18919 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
18920 copy them into a unsigned char variable and pass address of it to
18921 lto_output_data_stream.
18922
89843f5d
JJ
18923 PR target/47564
18924 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
18925 around backend_init_target and lang_dependent_init_target calls.
18926 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
18927 (verify_cgraph_node): Don't call set_cfun here. Use
18928 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
18929 Set error_found for incorrectly represented calls to thunks.
18930
4deef538
AO
189312011-02-03 Alexandre Oliva <aoliva@redhat.com>
18932
18933 PR debug/43092
18934 PR rtl-optimization/43494
18935 * rtl.h (for_each_inc_dec_fn): New type.
18936 (for_each_inc_dec): Declare.
18937 * rtlanal.c (struct for_each_inc_dec_ops): New type.
18938 (for_each_inc_dec_find_inc_dec): New fn.
18939 (for_each_inc_dec_find_mem): New fn.
18940 (for_each_inc_dec): New fn.
18941 * dse.c (struct insn_size): Remove.
18942 (replace_inc_dec, replace_inc_dec_mem): Remove.
18943 (emit_inc_dec_insn_before): New fn.
18944 (check_for_inc_dec): Use it, along with for_each_inc_dec.
18945 (canon_address): Pass mem modes to cselib_lookup.
18946 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
18947 (cselib_lookup_from_insn): Likewise.
18948 (cselib_subst_to_values): Likewise.
18949 * cselib.c (find_slot_memmode): New var.
18950 (cselib_find_slot): New fn. Use it instead of
18951 htab_find_slot_with_hash everywhere.
18952 (entry_and_rtx_equal_p): Use find_slot_memmode.
18953 (autoinc_split): New fn.
18954 (rtx_equal_for_cselib_p): Rename and implement in terms of...
18955 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
18956 Deal with autoinc. Special-case recursion into MEMs.
18957 (cselib_hash_rtx): Likewise.
18958 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
18959 address and MEM modes.
18960 (cselib_subst_to_values): Add memmode, pass it on.
18961 Deal with autoinc.
18962 (cselib_lookup): Add memmode argument, pass it on.
18963 (cselib_lookup_from_insn): Add memmode.
18964 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
18965 (struct cselib_record_autoinc_data): New.
18966 (cselib_record_autoinc_cb): New fn.
18967 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
18968 mode to cselib_lookup. Reset autoinced REGs here instead of...
18969 (cselib_process_insn): ... here.
18970 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
18971 to cselib_lookup.
18972 (add_uses): Likewise, also to cselib_subst_to_values.
18973 (add_stores): Likewise.
18974 * sched-deps.c (add_insn_mem_dependence): Pass mode to
18975 cselib_subst_to_values.
18976 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
18977 * gcse.c (do_local_cprop): Adjusted.
18978 * postreload.c (reload_cse_simplify_set): Adjusted.
18979 (reload_cse_simplify_operands): Adjusted.
18980 * sel-sched-dump (debug_mem_addr_value): Pass mode.
18981
1551d44a
AO
189822011-02-03 Alexandre Oliva <aoliva@redhat.com>
18983
18984 PR tree-optimization/45122
18985 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
18986 unsafe assumptions when there's more than one loop exit.
18987
c9485473
MM
189882011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
18989
18990 PR target/47272
18991 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
18992 Document using vector double with the load/store builtins, and
18993 that the load/store builtins always use Altivec instructions.
18994
18995 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
18996 to use altivec memory instructions, even on VSX.
18997 (vector_altivec_store_<mode>): Ditto.
18998
18999 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
19000 function.
19001
19002 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
19003 V2DF, V2DI support to load/store overloaded builtins.
19004
19005 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
19006 altivec load/store builtins for V2DF/V2DI types.
19007
19008 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
19009 set avoid indexed addresses on power6 if -maltivec.
19010 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
19011 vector_altivec_load/vector_altivec_store builtins.
19012 (altivec_expand_st_builtin): Ditto.
19013 (altivec_expand_builtin): Add VSX memory builtins.
19014 (rs6000_init_builtins): Add V2DI types to internal types.
19015 (altivec_init_builtins): Add support for V2DF/V2DI altivec
19016 load/store builtins.
19017 (rs6000_address_for_altivec): Insure memory address is appropriate
19018 for Altivec.
19019
19020 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
19021 vec_vsx_ld and vec_vsx_st.
19022 (vsx_store_<mode>): Ditto.
19023
19024 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
19025 variables to hold long long types for VSX vector memory builtins.
19026 (RS6000_BTI_unsigned_long_long): Ditto.
19027 (long_long_integer_type_internal_node): Ditti.
19028 (long_long_unsigned_type_internal_node): Ditti.
19029
19030 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
19031 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
19032 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
19033
19034 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
19035 short cuts.
19036 (vec_vsx_st): Ditto.
19037
b24d1acf
JM
190382011-02-02 Joseph Myers <joseph@codesourcery.com>
19039
19040 * config/pa/pa-hpux10.opt: New.
19041 * config/hpux11.opt (pthread): New Driver option.
19042 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
19043 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
19044
aa18dd0f
JM
190452011-02-02 Joseph Myers <joseph@codesourcery.com>
19046
19047 * config/ia64/vms.opt: New.
19048 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
19049
28fc3eee
MM
190502011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
19051
19052 PR target/47580
19053 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
19054 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
19055 generator functions.
19056 (vsx_floatuns<VSi><mode>2): Ditto.
19057 (vsx_fix_trunc<mode><VSi>2): Ditto.
19058 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
19059
b5838b1f
JM
190602011-02-02 Joseph Myers <joseph@codesourcery.com>
19061
19062 * config/i386/djgpp.opt (posix): New Driver option.
19063
0db8fa89
GP
190642011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
19065
19066 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
19067 Move to the unsupported targets list.
19068
9cd4f22a
PB
190692011-02-02 Peter Bergner <bergner@vnet.ibm.com>
19070
19071 PR rtl-optimization/47525
19072 * df-scan.c: Update copyright years.
19073 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
19074 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
19075
9ed8059c
RO
190762011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19077
19078 * config/i386/sysv4.h (TARGET_VERSION): Remove.
19079 (SUBTARGET_RETURN_IN_MEMORY): Remove.
19080 (ASM_OUTPUT_ASCII): Remove.
19081 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
19082
2a737389
JL
190832011-02-02 Jeff Law <law@redhat.com>
19084
19085 PR middle-end/47543
19086 * reload.c (find_reloads_address): Handle reg+d address where both
19087 components are invalid by reloading the entire address.
19088
9dac82c4
SP
190892011-02-02 Sebastian Pop <sebastian.pop@amd.com>
19090 Richard Guenther <rguenther@suse.de>
19091
19092 PR tree-optimization/40979
19093 PR bootstrap/47044
19094 * passes.c (init_optimization_passes): After LIM call copy_prop
19095 and DCE to clean up.
19096 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
19097
14dd9aab
SP
190982011-02-02 Sebastian Pop <sebastian.pop@amd.com>
19099
19100 PR tree-optimization/47576
19101 PR tree-optimization/47555
19102 * doc/invoke.texi (scev-max-expr-complexity): Documented.
19103 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
19104 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
19105 * tree-scalar-evolution.c (follow_ssa_edge): Use
19106 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
19107
5cbf5c20
RG
191082011-02-02 Richard Guenther <rguenther@suse.de>
19109
19110 PR tree-optimization/47566
19111 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
19112
83d70792
AO
191132011-02-02 Alexandre Oliva <aoliva@redhat.com>
19114
e829c321
AO
19115 PR debug/47106
19116 PR debug/47402
19117 * tree-inline.c (declare_return_variable): Remove unused caller
19118 variable.
19119
83d70792
AO
19120 PR debug/47106
19121 PR debug/47402
19122 * tree-flow-inline.h (clear_is_used, is_used_p): New.
19123 * cfgexpand.c (account_used_vars_for_block): Use them.
19124 * tree-nrv.c (tree_nrv): Likewise.
19125 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
19126 (dump_scope_block): Likewise.
19127 (remove_unused_locals): Likewise.
19128
aaa2ac93
AO
19129 PR debug/47106
19130 PR debug/47402
19131 * tree-inline.c (declare_return_variable): Add result decl to
19132 local decls only once.
19133 * gimple-low.c (record_vars_into): Mark newly-created variables
19134 as referenced.
19135
a59d15cf
AO
191362011-02-02 Alexandre Oliva <aoliva@redhat.com>
19137
19138 PR debug/47498
19139 PR debug/47501
19140 PR debug/45136
19141 PR debug/45130
19142 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
19143 debug insns.
19144 (no_real_insns_p, schedule_block, set_priorities): Drop special
19145 treatment of boundary debug insns.
38be4072 19146 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
19147 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
19148 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
19149 (BOUNDARY_DEBUG_INSN_P): Likewise.
19150 (SCHEDULE_DEBUG_INSN_P): Likewise.
19151 * sched-rgn.c (init_ready_list): Drop special treatment of
19152 boundary debug insns.
19153 * final.c (rest_of_clean_state): Clear notes' BB.
19154
6fc2f091
JM
191552011-02-01 Joseph Myers <joseph@codesourcery.com>
19156
19157 * config/openbsd.opt (assert=): New Driver option.
19158
fc523387
JM
191592011-02-01 Joseph Myers <joseph@codesourcery.com>
19160
19161 * config/i386/nto.opt: New.
19162 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
19163
6d9821e5
JM
191642011-02-01 Joseph Myers <joseph@codesourcery.com>
19165
19166 * config/i386/netware.opt: New.
19167 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
19168
cef932d4
JM
191692011-02-01 Joseph Myers <joseph@codesourcery.com>
19170
19171 * config/interix.opt (posix): New Driver option.
19172
22843acd
DD
191732011-02-01 DJ Delorie <dj@redhat.com>
19174
56490b74
DD
19175 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
19176
22843acd
DD
19177 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
19178 class for A0/A1.
19179
199c8f2f
SP
191802011-02-01 Sebastian Pop <sebastian.pop@amd.com>
19181
19182 PR tree-optimization/47561
19183 * toplev.c (process_options): Print the Graphite flags. Add
19184 flag_loop_flatten to the list of options requiring Graphite.
19185
926bcf22
JM
191862011-02-01 Joseph Myers <joseph@codesourcery.com>
19187
19188 * config/i386/cygming.opt (posix): New Driver option.
19189
59793c51
JM
191902011-02-01 Joseph Myers <joseph@codesourcery.com>
19191
19192 * config/arm/vxworks.opt: New.
19193 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
19194
183c38a4
JM
191952011-02-01 Joseph Myers <joseph@codesourcery.com>
19196
19197 * config/alpha/elf.opt: New.
19198 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
19199 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
19200
9939e416
RG
192012011-02-01 Richard Guenther <rguenther@suse.de>
19202
19203 PR tree-optimization/47559
19204 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
19205 store-motion on references that can throw.
19206
4a3c9687
BS
192072011-02-01 Bernd Schmidt <bernds@codesourcery.com>
19208
19209 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
19210 * tree-pass.h (TDF_CSELIB): New macro.
19211 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
19212 cselib_lookup): Check for it rather than for TDF_DETAILS.
19213
dd3b31fb
L
192142011-02-01 H.J. Lu <hongjiu.lu@intel.com>
19215
19216 PR driver/47547
19217 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
19218 is HOST_BIT_BUCKET.
19219
19220 * opts.c (finish_options): Don't add x_aux_base_name if it is
19221 HOST_BIT_BUCKET.
19222
34c1de79
RG
192232011-02-01 Richard Guenther <rguenther@suse.de>
19224
19225 PR tree-optimization/47555
19226 Revert
19227 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
19228
19229 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
19230
dd2804d2
SB
192312011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
19232
19233 PR gcc/46692
19234 * config/lm32/t-lm32: Add multilib for all CPU options.
19235
3fd3b156
RG
192362011-02-01 Richard Guenther <rguenther@suse.de>
19237
19238 PR tree-optimization/47541
19239 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
19240 sure to have a field at offset zero.
19241
f16072b6
JM
192422011-01-31 Joseph Myers <joseph@codesourcery.com>
19243
19244 * config/arc/arc.opt (EB, EL): New Driver options.
19245
6456cf2e
JM
192462011-01-31 Joseph Myers <joseph@codesourcery.com>
19247
19248 * config/alpha/osf5.opt: New.
19249 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
19250
cdde6ab4
JM
192512011-01-31 Joseph Myers <joseph@codesourcery.com>
19252
19253 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
19254
7633415c
SP
192552011-01-31 Sebastian Pop <sebastian.pop@amd.com>
19256
19257 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
19258 -floop-interchange.
19259 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
19260 is an alias of -floop-interchange and that it requires the
19261 Graphite infrastructure.
19262 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
19263 flag_loop_interchange based on the value of flag_tree_loop_linear.
19264
0425d6f5
JJ
192652011-01-31 Jakub Jelinek <jakub@redhat.com>
19266 Richard Guenther <rguenther@suse.de>
19267
19268 PR tree-optimization/47538
19269 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
19270 type instead of r1type, except for comparisons. For right
19271 shifts and comparisons punt if there are mismatches in
19272 sizetype vs. non-sizetype types.
19273
500b16c3
RO
192742011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19275
19276 * doc/sourcebuild.texi (Effective-Target Keywords): Document
19277 avx_runtime.
19278
e279edb0
RO
192792011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19280
19281 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
19282 version number.
19283 * configure: Regenerate.
19284
c6092243
RO
192852011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19286
19287 * configure.ac (gcc_cv_ld_static_option): Define.
19288 (gcc_cv_ld_dynamic_option): Define.
19289 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
19290 instead.
19291 (HAVE_LD_STATIC_DYNAMIC): Update message.
19292 (LD_STATIC_OPTION): Define.
19293 (LD_DYNAMIC_OPTION): Define.
19294 * configure: Regenerate.
19295 * config.in: Regenerate.
19296 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
19297 HAVE_LD_STATIC_DYNAMIC]: Use them.
19298
d7862be3
NC
192992011-01-31 Nick Clifton <nickc@redhat.com>
19300
19301 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
19302 registers inside interrupt handlers if the handler is not a leaf
19303 function.
19304
ba4ec0e0
NC
193052011-01-31 Nick Clifton <nickc@redhat.com>
19306
19307 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
19308 reg_renumber returning an INVALID_REGNUM.
19309
29a63921
AO
193102011-01-31 Alexandre Oliva <aoliva@redhat.com>
19311
19312 PR libgcj/44341
19313 * doc/install.texi: Document host options discarded when cross
19314 configuring target libraries.
19315
ef591d3f
AO
193162011-01-31 Alexandre Oliva <aoliva@redhat.com>
19317
19318 Reverted:
19319 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
19320 PR debug/45136
19321 PR debug/45130
19322 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
19323 debug insns.
19324 (no_real_insns_p, schedule_block, set_priorities): Drop special
19325 treatment of boundary debug insns.
38be4072 19326 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
19327 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
19328 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
19329 (BOUNDARY_DEBUG_INSN_P): Likewise.
19330 (SCHEDULE_DEBUG_INSN_P): Likewise.
19331 * sched-rgn.c (init_ready_list): Drop special treatment of
19332 boundary debug insns.
19333 * final.c (rest_of_clean-state): Clear notes' BB.
19334
61052244
AM
193352011-01-31 Alan Modra <amodra@gmail.com>
19336
19337 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
19338 toc relative expressions as we do in print_operand_address.
19339
c4c8962b
KH
193402011-01-30 Kazu Hirata <kazu@codesourcery.com>
19341
19342 * doc/extend.texi: Follow spelling conventions.
19343 * doc/invoke.texi: Fix a typo.
19344
e543b94c
JM
193452011-01-30 Joseph Myers <joseph@codesourcery.com>
19346
19347 * config/hpux11.opt: New.
19348 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
19349 ia64*-*-hpux*): Use hpux11.opt.
19350
509d65dd 193512011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
19352
19353 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
19354 to tmake_file.
19355
7be03a0e
GP
193562011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
19357
19358 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
19359 support sites.
19360
419d1d37
GP
193612011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
19362
b596ed64
GP
19363 * doc/install.texi (Binaries): Remove outdated reference for
19364 Motorola 68HC11/68HC12 downloads.
19365
193662011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 19367
419d1d37
GP
19368 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
19369 Drepper's paper.
19370
4406d0e9
JW
193712011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
19372
19373 PR bootstrap/47147
19374 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
19375 used by NetBSD.
19376
38be4072 193772011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
19378
19379 * value-prof.c (check_counter): Corrected error message.
19380
0cd98787
JZ
193812011-01-29 Jie Zhang <jie@codesourcery.com>
19382
19383 * config/arm/arm.c (arm_legitimize_reload_address): New.
19384 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
19385 arm_legitimize_reload_address.
38be4072 19386 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 19387
9b798ac5
ILT
193882011-01-28 Ian Lance Taylor <iant@google.com>
19389
19390 * godump.c (go_define): Ignore macros whose definitions include
19391 two adjacent operands.
19392
591e29d9
JJ
193932011-01-28 Jakub Jelinek <jakub@redhat.com>
19394
19395 PR target/42894
19396 * varasm.c (force_const_mem): Store copy of x in desc->constant
19397 instead of x itself.
19398 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
19399 itself into REG_EQUAL note.
19400
62dcc44a
JM
194012011-01-28 Joseph Myers <joseph@codesourcery.com>
19402
19403 * config/freebsd.opt (posix, rdynamic): New Driver options.
19404
c9f58b9a
RO
194052011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19406
19407 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
19408 -Bstatic/-Bdynamic.
19409 * configure: Regenerate.
19410
5f02b9db
JM
194112011-01-27 Joseph Myers <joseph@codesourcery.com>
19412
19413 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
19414 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
19415
5df97412
AS
194162011-01-27 Anatoly Sokolov <aesok@post.ru>
19417
19418 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
19419 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
19420 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
19421 (s390_preferred_reload_class): Make static. Change return and
19422 'rclass' argument type to reg_class_t.
19423
779d4b91
JH
194242011-01-27 Jan Hubicka <jh@suse.cz>
19425
19426 PR middle-end/46949
19427 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
19428 (process_function_and_variable_attributes): Check defined weakrefs.
19429
e80b21ed
MJ
194302011-01-27 Martin Jambor <mjambor@suse.cz>
19431
19432 PR tree-optimization/47228
19433 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
19434 build_ref_for_offset.
19435
6dcc4f31
UW
194362011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
19437
19438 * config/spu/spu-elf.h (ASM_SPEC): Remove.
19439
509d65dd 194402011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
19441
19442 PR rtl-optimization/46856
19443 * postreload.c (reload_combine_recognize_const_pattern): Do not
19444 separate cc0 setter and user on cc0 targets.
19445
04af8788
NP
194462011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
19447
19448 PR c/43082
19449 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
19450 passed a VOID_TYPE expression, immediately emit an error and
19451 return error_mark_node.
19452
f7a60085
JL
194532011-01-26 Jeff Law <law@redhat.com>
19454
19455 PR rtl-optimization/47464
19456 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
19457 rather than may_trap_p as needed.
19458
5c2917ec
DD
194592011-01-26 DJ Delorie <dj@redhat.com>
19460
19461 PR rtl-optimization/46878
19462 * combine.c (insn_a_feeds_b): Check for the implicit cc0
19463 setter/user dependency as well.
19464
bef16e87
EB
194652011-01-26 Eric Botcazou <ebotcazou@adacore.com>
19466
19467 PR rtl-optimization/44469
19468 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
19469 after removing trivially dead basic blocks.
19470
c75d884b
JM
194712011-01-26 Joseph Myers <joseph@codesourcery.com>
19472
19473 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
19474 * config/frv/frv.h (LINK_SPEC): Likewise.
19475 * config/i386/netware.h (LINK_SPEC): Likewise.
19476 * config/m68k/linux.h (ASM_SPEC): Likewise.
19477 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
19478 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
19479 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
19480 * config/sparc/linux.h (ASM_SPEC): Likewise.
19481 * config/sparc/linux64.h (ASM_SPEC): Likewise.
19482 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
19483
d3153553
JM
194842011-01-26 Joseph Myers <joseph@codesourcery.com>
19485
19486 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
19487 * config/frv/frv.h (ASM_SPEC): Likewise.
19488 * config/m68k/linux.h (ASM_SPEC): Likewise.
19489 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
19490 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
19491 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
19492 * config/sparc/linux.h (ASM_SPEC): Likewise.
19493 * config/sparc/linux64.h (ASM_SPEC): Likewise.
19494 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
19495
b89b1e9d
JM
194962011-01-26 Joseph Myers <joseph@codesourcery.com>
19497
19498 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
19499 * config/frv/frv.h (LINK_SPEC): Likewise.
19500 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
19501
12eb1a9c
JM
195022011-01-26 Joseph Myers <joseph@codesourcery.com>
19503
19504 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
19505 * config/frv/frv.h (ASM_SPEC): Likewise.
19506 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
19507 * config/m68k/linux.h (ASM_SPEC): Likewise.
19508 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
19509 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
19510 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
19511 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
19512 * config/sparc/linux.h (ASM_SPEC): Likewise.
19513 * config/sparc/linux64.h (ASM_SPEC): Likewise.
19514 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
19515 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
19516
e435f098
SE
195172011-01-26 Steve Ellcey <sje@cup.hp.com>
19518
19519 PR target/46997
19520 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
19521 (*mux2): Ditto.
19522 (vec_extract_evenodd_help): Ditto.
19523 (vec_extract_evenv4hi): Ditto.
19524 (vec_extract_oddv4hi): Ditto.
19525 (vec_interleave_lowv2si): Ditto.
19526 (vec_interleave_highv2si): Ditto.
19527 (vec_extract_evenv2si): Ditto.
19528 (vec_extract_oddv2si: Ditto.
19529 (vec_pack_trunc_v2si): Ditto.
19530
34f0eee0
JH
195312011-01-22 Jan Hubicka <jh@suse.cz>
19532
19533 PR target/47237
19534 * cgraph.h (cgraph_local_info): New field can_change_signature.
19535 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
19536 signature can change.
19537 (ipcp_estimate_growth): Call sequence simplify only if calle signature
19538 can change.
19539 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
19540 (cgraph_function_versioning): We can not change signature of functions
19541 that don't allow that.
19542 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
19543 (lto_input_node): Likewise.
38be4072
UB
19544 * ipa-inline.c (compute_inline_parameters): Compute
19545 local.can_change_signature.
34f0eee0 19546 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
19547 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
19548 functions that can not change signature.
34f0eee0 19549 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
19550 init_cumulative_args): Do not use local calling conventions
19551 for functions that can not change signature.
34f0eee0 19552
980ca891
JH
195532011-01-22 Jan Hubicka <jh@suse.cz>
19554
19555 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
19556
768e3c60
RG
195572011-01-26 Richard Guenther <rguenther@suse.de>
19558
19559 PR tree-optimization/47190
61052244
AM
19560 * cgraphunit.c (process_common_attributes): New function.
19561 (process_function_and_variable_attributes): Use it.
768e3c60 19562
21d6a1c7
RG
195632011-01-26 Richard Guenther <rguenther@suse.de>
19564
19565 PR lto/47423
19566 * cgraphbuild.c (record_eh_tables): Record reference to personality
19567 function.
19568
48bb58b1
AO
195692011-01-26 Alexandre Oliva <aoliva@redhat.com>
19570
19571 PR debug/45454
19572 * sel-sched.c (moveup_expr): Don't let debug insns prevent
19573 non-debug insns from moving up.
19574
58c741a6
DK
195752011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
19576
19577 PR target/40125
19578 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
19579 t-dlldir{,-x} fragment for build and add it to tmake_file.
19580 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
19581 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
19582 * config/i386/t-dlldir: New file.
19583 (SHLIB_DLLDIR): Define.
19584 * config/i386/t-dlldir-x: New file.
19585 (SHLIB_DLLDIR): Define.
19586 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
19587 (SHLIB_INSTALL): Use it.
19588
bff99262
CLT
195892011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
19590
19591 PR target/47246
19592 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
19593 lower bound of the allowed Thumb-2 coprocessor load/store
19594 index range to -256. Add explaining comment.
19595
82c03907
ILT
195962011-01-25 Ian Lance Taylor <iant@google.com>
19597
19598 * godump.c (go_define): Improve lexing of macro expansion to only
19599 accept expressions which match Go spec.
19600
47ea1edf
DK
196012011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
19602
d4dba752 19603 PR c++/43601
47ea1edf
DK
19604 * tree.c (handle_dll_attribute): Handle it.
19605 * doc/extend.texi (@item dllexport): Mention it.
19606 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
19607
744f0946
ILT
196082011-01-25 Ian Lance Taylor <iant@google.com>
19609
19610 PR tree-optimization/26854
19611 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
19612 (decl_jump_unsafe): Move higher in file, with no other change.
19613 (bind): Set has_jump_unsafe_decl if appropriate.
19614 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
19615 (check_earlier_gotos): Likewise.
19616 (c_check_switch_jump_warnings): Likewise.
19617
5734f2b3
JW
196182011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
19619
19620 * doc/invoke.texi (Warning Options): Add missing hyphen.
19621 (-fprofile-dir): Minor grammatical fixes.
19622 (-fbranch-probabilities): Likewise.
19623
9bdbdcef
AO
196242011-01-25 Alexandre Oliva <aoliva@redhat.com>
19625
19626 PR debug/45136
19627 PR debug/45130
19628 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
19629 debug insns.
19630 (no_real_insns_p, schedule_block, set_priorities): Drop special
19631 treatment of boundary debug insns.
38be4072 19632 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
19633 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
19634 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
19635 (BOUNDARY_DEBUG_INSN_P): Likewise.
19636 (SCHEDULE_DEBUG_INSN_P): Likewise.
19637 * sched-rgn.c (init_ready_list): Drop special treatment of
19638 boundary debug insns.
19639 * final.c (rest_of_clean-state): Clear notes' BB.
19640
b305e3da
SP
196412011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19642
19643 * Makefile.in (LAMBDA_H): Removed.
19644 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
19645 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
19646 lambda-trans.o, and tree-loop-linear.o.
19647 (lto-symtab.o): Remove dependence on LAMBDA_H.
19648 (tree-loop-linear.o): Remove rule.
19649 (lambda-mat.o): Same.
19650 (lambda-trans.o): Same.
19651 (lambda-code.o): Same.
19652 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
19653 (tree-vect-slp.o): Same.
19654 * hwint.h (gcd): Moved here.
19655 (least_common_multiple): Same.
19656 * lambda-code.c: Removed.
19657 * lambda-mat.c: Removed.
19658 * lambda-trans.c: Removed.
19659 * lambda.h: Removed.
19660 * tree-loop-linear.c: Removed.
19661 * lto-symtab.c: Do not include lambda.h.
19662 * omega.c (gcd): Removed.
19663 * passes.c (init_optimization_passes): Remove pass_linear_transform.
19664 * tree-data-ref.c (print_lambda_vector): Moved here.
19665 (lambda_vector_copy): Same.
19666 (lambda_matrix_copy): Same.
19667 (lambda_matrix_id): Same.
19668 (lambda_vector_first_nz): Same.
19669 (lambda_matrix_row_add): Same.
19670 (lambda_matrix_row_exchange): Same.
19671 (lambda_vector_mult_const): Same.
19672 (lambda_vector_negate): Same.
19673 (lambda_matrix_row_negate): Same.
19674 (lambda_vector_equal): Same.
19675 (lambda_matrix_right_hermite): Same.
19676 * tree-data-ref.h: Do not include lambda.h.
19677 (lambda_vector): Moved here.
19678 (lambda_matrix): Same.
19679 (dependence_level): Same.
19680 (lambda_transform_legal_p): Removed declaration.
19681 (lambda_collect_parameters): Same.
19682 (lambda_compute_access_matrices): Same.
19683 (lambda_vector_gcd): Same.
19684 (lambda_vector_new): Same.
19685 (lambda_vector_clear): Same.
19686 (lambda_vector_lexico_pos): Same.
19687 (lambda_vector_zerop): Same.
19688 (lambda_matrix_new): Same.
19689 * tree-flow.h (least_common_multiple): Removed declaration.
19690 * tree-parloops.c (lambda_trans_matrix): Moved here.
19691 (LTM_MATRIX): Same.
19692 (LTM_ROWSIZE): Same.
19693 (LTM_COLSIZE): Same.
19694 (LTM_DENOMINATOR): Same.
19695 (lambda_trans_matrix_new): Same.
19696 (lambda_matrix_vector_mult): Same.
19697 (lambda_transform_legal_p): Same.
19698 * tree-pass.h (pass_linear_transform): Removed declaration.
19699 * tree-ssa-loop.c (tree_linear_transform): Removed.
19700 (gate_tree_linear_transform): Removed.
19701 (pass_linear_transform): Removed.
19702 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
19703 flag_loop_interchange.
19704
6bdfdb96
JJ
197052011-01-25 Jakub Jelinek <jakub@redhat.com>
19706
19707 PR tree-optimization/47265
19708 PR tree-optimization/47443
19709 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
19710 if name still has some uses.
19711
e4cba915
MJ
197122011-01-25 Martin Jambor <mjambor@suse.cz>
19713
19714 PR tree-optimization/47382
19715 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
19716 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
19717
509d65dd 197182011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
19719
19720 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
19721 sjlj_except_unwind_info.
19722
194313e2
RG
197232011-01-25 Richard Guenther <rguenther@suse.de>
19724
19725 PR tree-optimization/47426
19726 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
19727 visible functions results escape.
19728
147a0bcf
JJ
197292011-01-25 Jakub Jelinek <jakub@redhat.com>
19730
19731 PR target/45701
19732 * config/arm/arm.c (any_sibcall_uses_r3): New function.
19733 (arm_get_frame_offsets): Use it.
19734
db963b52
SP
197352011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19736 Jakub Jelinek <jakub@redhat.com>
19737
19738 PR tree-optimization/47271
19739 * tree-if-conv.c (bb_postdominates_preds): New.
19740 (if_convertible_bb_p): Call bb_postdominates_preds.
19741 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
19742 (predicate_scalar_phi): Call bb_postdominates_preds.
19743
bcddd3b9
NC
197442011-01-25 Nick Clifton <nickc@redhat.com>
19745
19746 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
19747 * config/rx/rx.c (rx_function_value): Likewise.
19748 (rx_promote_function_mode): Likewise.
19749 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
19750 in order to make it legitimate.
38be4072
UB
19751 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
19752 make sure that the first operand is the same as the result register.
bcddd3b9
NC
19753 (addsi3_unspec): Delete.
19754 (subdi3): Do not accept immediate operands.
19755 (subdi3_internal): Likewise.
19756
7e6cb022
JL
197572011-01-25 Jeff Law <law@redhat.com>
19758
19759 PR rtl-optimization/37273
19760 * ira-costs.c (scan_one_insn): Detect constants living in memory and
19761 handle them like argument loads from stack slots. Do not double
19762 count memory for memory constants and argument loads from stack slots.
19763
9ffa621e
JJ
197642011-01-25 Jakub Jelinek <jakub@redhat.com>
19765
19766 PR tree-optimization/47427
19767 PR tree-optimization/47428
19768 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
19769 coalesce if the new root var would be TREE_READONLY.
19770
5bd6e652
RG
197712011-01-25 Richard Guenther <rguenther@suse.de>
19772
19773 PR middle-end/47414
19774 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
19775 correct type for TBAA.
19776
7c48ea69
SP
197772011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19778
19779 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
19780 (close_phi_written_to_memory): Call for_each_index with
19781 dr_indices_valid_in_loop.
19782
38013f25
SP
197832011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19784
19785 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
19786 when it is initialized.
19787
5c640e29
SP
197882011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19789
19790 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
19791 call to graphite_find_data_references_in_stmt.
19792 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
19793 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
19794 call to graphite_find_data_references_in_stmt.
19795 (analyze_drs_in_stmts): Same.
19796 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
19797 in which the scalar analysis of indices is performed.
19798 (create_data_ref): Same. Update call to dr_analyze_indices.
19799 (find_data_references_in_stmt): Update call to create_data_ref.
19800 (graphite_find_data_references_in_stmt): Same.
19801 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
19802 declaration.
19803 (create_data_ref): Same.
19804 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
19805 call to create_data_ref.
19806
ac53c069
SP
198072011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19808
19809 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 19810 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 19811
3d17df15
SP
198122011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19813
19814 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
19815 VAR_DECL, PARM_DECL, and RESULT_DECL.
19816
c513da01
SP
198172011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19818
19819 * graphite-dependences.c (reduction_dr_1): Allow several reductions
19820 in a reduction PBB.
19821 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
19822 that have already been marked as PBB_IS_REDUCTION.
19823
3a292d59
SP
198242011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19825
19826 * graphite-scop-detection.c (same_close_phi_node): New.
19827 (remove_duplicate_close_phi): New.
19828 (make_close_phi_nodes_unique): New.
19829 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
19830
ba858447
SP
198312011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19832
19833 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
19834 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
19835 of both data references to be the same.
19836
8d865c56
SP
198372011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19838
38be4072
UB
19839 * graphite-dependences.c (build_lexicographical_constraint): Remove
19840 the gdim parameter.
19841 (build_lexicographical_constraint): Adjust call to
19842 ppl_powerset_is_empty.
8d865c56
SP
19843 (dependence_polyhedron): Same.
19844 (graphite_legal_transform_dr): Same.
19845 (graphite_carried_dependence_level_k): Same.
38be4072
UB
19846 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
19847 parameter.
8d865c56
SP
19848 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
19849
50034a36
SP
198502011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19851
19852 * graphite-sese-to-poly.c
19853 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
19854 (close_phi_written_to_memory): New.
19855 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
19856 and unshare_expr.
19857
0deada9e
SP
198582011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19859
19860 * doc/install.texi: Update the expected version number of PPL to 0.11.
19861 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
19862 #if PPL_VERSION_MINOR < 11.
19863
d7d3d6af
SP
198642011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19865
19866 * graphite-dependences.c: Include graphite-cloog-util.h.
19867 (new_poly_ddr): Inlined into dependence_polyhedron.
19868 (free_poly_ddr): Moved close by new_poly_ddr.
19869 (dependence_polyhedron_1): Renamed dependence_polyhedron.
19870 Early return NULL when ppl_powerset_is_empty returns true.
19871 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
19872 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
19873 (graphite_legal_transform_dr): Call new_poly_ddr.
19874 (graphite_carried_dependence_level_k): Same.
19875 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
19876 (dot_transformed_deps_stmt_1): Removed.
19877 (dot_deps_stmt_1): Call dot_deps_stmt_2.
19878 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
19879 (dot_deps_1): Call dot_deps_2.
19880 * Makefile.in (graphite-dependences.o): Add missing dependence on
19881 graphite-cloog-util.h.
19882
28c5db57
SP
198832011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19884
19885 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
19886 (build_lexicographical_constraint): Same.
19887 (dependence_polyhedron_1): Same.
19888 (graphite_legal_transform_dr): Same.
19889 (graphite_carried_dependence_level_k): Same.
19890 * graphite-ppl.c (ppl_powerset_is_empty): New.
19891 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
19892 * tree-data-ref.c (dump_data_reference): Print the basic block index.
19893
5168d98f
SP
198942011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19895
19896 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
19897 the "a followed by b" relation and document it.
19898
4a40293a
SP
198992011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19900
19901 * graphite-dependences.c (build_lexicographical_constraint): Stop the
19902 iteration when the bag of constraints is empty.
19903
271fb6fa
SP
199042011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19905
19906 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
19907
92d23680
SP
199082011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19909
19910 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
19911 nest and two loop depths as parameters.
19912 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
19913 lst_perfect_nestify.
19914
2f51deff
SP
199152011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19916
19917 * graphite-dependences.c (print_pddr): Call
19918 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
19919
07f3593c
SP
199202011-01-25 Sebastian Pop <sebastian.pop@amd.com>
19921
19922 * graphite-ppl.c (debug_gmp_value): New.
19923 * graphite-ppl.h (debug_gmp_value): Declared.
19924
3fae6099
TG
199252011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
19926
19927 * doc/install.texi: Document availability of cloog-0.16.
19928
1c3ba85b
SP
199292011-01-25 Vladimir Kargov <kargov@gmail.com>
19930
19931 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
19932 invalid postdominance info.
19933
e8ba94fc
JH
199342011-01-24 Jan Hubicka <jh@suse.cz>
19935
19936 PR c/21659
19937 * doc/extend.texi (weak pragma): Drop claim that it must
19938 appear before definition.
19939 * varasm.c (merge_weak, declare_weak): Only sanity check
19940 that DECL is not output at a time it is declared weak.
19941
2b6e2d13
KZ
199422011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
19943
19944 * machmode.def: Fixed comments.
1c3ba85b 19945
9841210f
KT
199462011-01-24 Kai Tietz <kai.tietz@onevision.com>
19947
19948 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
19949
199502011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
19951
19952 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 19953 WORDS_BIG_ENDIAN.
e046112d 19954
a6c5070a
L
199552011-01-24 H.J. Lu <hongjiu.lu@intel.com>
19956
19957 PR target/46519
19958 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
19959 (block_info): Add scanned and prev.
19960 (move_or_delete_vzeroupper_2): Return if the basic block
19961 has been scanned and the upper 128bit state is unchanged
19962 from the last scan.
19963 (move_or_delete_vzeroupper_1): Return true if the exit
19964 state is changed.
19965 (move_or_delete_vzeroupper): Visit basic blocks using the
19966 work-list based algorithm based on vt_find_locations in
19967 var-tracking.c.
19968
19969 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
19970
a40d79d7
NC
199712011-01-24 Nick Clifton <nickc@redhat.com>
19972
19973 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
19974 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
19975 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
19976 then define __v850e1__.
19977 * doc/invoke.texi: Document -mv850es.
19978
440eb8de
RH
199792011-01-24 Richard Henderson <rth@redhat.com>
19980
19981 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
19982 compound unordered comparisons.
19983 * config/rx/rx.c (rx_split_fp_compare): Remove.
19984 * config/rx/rx-protos.h: Update.
19985 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
19986 (cbranchsf4): Don't call rx_split_fp_compare.
19987 (*cbranchsf4): Use rx_split_cbranch.
19988 (*cmpsf): Don't accept "i" constraint.
19989 (*conditional_branch): Only valid after reload.
19990 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
19991
3ff79f99
MM
199922011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
19993
19994 PR target/47385
19995 * config/rs6000/altivec.md (vector constant splitters): Add
19996 support for creating vector single precision constants if -mvsx is
19997 used and we would create the constant using Altivec primitives.
19998
ff3d9d08
BS
199992011-01-23 Bernd Schmidt <bernds@codesourcery.com>
20000 Richard Sandiford <rdsandiford@googlemail.com>
20001
20002 PR rtl-optimization/47166
20003 * reload1.c (emit_reload_insns): Disable the spill_reg_store
20004 mechanism for PRE_MODIFY and POST_MODIFY.
20005 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
20006 reloadreg.
20007
7fcaf152
AS
200082011-01-23 Andreas Schwab <schwab@linux-m68k.org>
20009
8788adb6 20010 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 20011
d09b58c4
JH
200122011-01-22 Jan Hubicka <jh@suse.cz>
20013
20014 PR lto/47333
20015 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
20016
e8ff8c5a
JH
200172011-01-22 Jan Hubicka <jh@suse.cz>
20018
20019 PR tree-optimization/43884
20020 PR lto/44334
8788adb6 20021 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
20022 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
20023
ccaed3ba
AS
200242011-01-22 Anatoly Sokolov <aesok@post.ru>
20025
20026 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
20027 * config/s390/s390.c (s390_register_move_cost,
20028 s390_memory_move_cost): New.
20029 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
20030
0cecee06
UW
200312011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
20032
20033 PR middle-end/47401
20034 * except.c (sjlj_assign_call_site_values): Move setting the
20035 crtl->uses_eh_lsda flag to ...
20036 (sjlj_mark_call_sites): ... here.
20037 (sjlj_emit_function_enter): Support NULL dispatch label.
20038 (sjlj_build_landing_pads): In a function with no landing pads
20039 that still has must-not-throw regions, generate code to register
20040 a personality function with empty LSDA.
20041
e692f276
RH
200422011-01-21 Richard Henderson <rth@redhat.com>
20043
1b7ae0b7
RH
20044 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
20045
3843787f
RH
20046 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
20047
e692f276
RH
20048 * compare-elim.c: New file.
20049 * Makefile.in (OBJS-common): Add it.
20050 (compare-elim.o): New.
20051 * common.opt (fcompare-elim): New.
20052 * opts.c (default_options_table): Add OPT_fcompare_elim.
20053 * tree-pass.h (pass_compare_elim_after_reload): New.
20054 * passes.c (init_optimization_passes): Add it.
20055 * recog.h: Protect against re-inclusion.
20056 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
20057 * doc/invoke.texi (-fcompare-elim): Document it.
20058 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
20059 * doc/tm.texi: Rebuild.
20060
9a7c2050
NC
200612011-01-22 Nick Clifton <nickc@redhat.com>
20062
20063 * config/rx/rx.md (cstoresf4): Pass comparison operator to
20064 rx_split_fp_compare.
20065
15ba5696
NC
200662011-01-22 Nick Clifton <nickc@redhat.com>
20067
20068 * config/rx/rx.md (UNSPEC_CONST): New.
20069 (deallocate_and_return): Wrap the amount popped off the stack in
20070 an UNSPEC_CONST in order to stop it being rejected by
20071 -mmax-constant-size.
20072 (pop_and_return): Add a "(return)" rtx.
20073 (call): Drop the immediate operand.
20074 (call_internal): Likewise.
20075 (call_value): Likewise.
20076 (call_value_internal): Likewise.
20077 (sibcall_internal): Likewise.
20078 (sibcall_value_internal): Likewise.
20079 (sibcall): Likewise. Generate an explicit call using
20080 sibcall_internal.
20081 (sibcall_value): Likewise.
20082 (mov<>): FAIL if a constant operand is not legitimate.
20083 (addsi3_unpsec): New pattern.
9a7c2050 20084
38be4072 20085 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
20086 (ok_for_max_constant): New function.
20087 (gen_safe_add): New function.
20088 (rx_expand_prologue): Use gen_safe_add.
20089 (rx_expand_epilogue): Likewise.
20090 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
20091 UNSPEC CONSTs.
20092
caaf13d3
JL
200932011-01-21 Jeff Law <law@redhat.com>
20094
20095 PR tree-optimization/47053
20096 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
20097 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
20098 statements are deleted.
20099 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
20100 is nonempty, then purge dead edges and cleanup the CFG.
20101
12c30f2f
AO
201022011-01-21 Alexandre Oliva <aoliva@redhat.com>
20103
20104 PR debug/47402
20105 Temporarily revert:
20106 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
20107 PR debug/47106
20108 * tree-dfa.c (create_var_ann): Mark variable as used.
20109
7360d2ac
JJ
201102011-01-21 Jakub Jelinek <jakub@redhat.com>
20111
aaa52a96
JJ
20112 PR middle-end/45566
20113 * except.c (convert_to_eh_region_ranges): Emit queued no-region
20114 notes from other section in hot/cold partitioning even if
20115 last_action is -3. Increment call_site_base.
20116
7360d2ac
JJ
20117 PR rtl-optimization/47366
20118 * fwprop.c (forward_propagate_into): Return bool. If
20119 any changes are made, -fnon-call-exceptions is used and
20120 REG_EH_REGION note is present, call purge_dead_edges
20121 and return true if it purged anything.
20122 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
20123 any EH edges were purged.
20124
e90b336f
JL
201252011-01-21 Jeff Law <law@redhat.com>
20126
20127 PR rtl-optimization/41619
20128 * caller-save.c (setup_save_areas): Break out code to determine
20129 which hard regs are live across calls by examining the reload chains
20130 so that it is always used.
20131 Eliminate code which checked REG_N_CALLS_CROSSED.
20132
3ffe07e1
JJ
201332011-01-21 Jakub Jelinek <jakub@redhat.com>
20134
20135 PR tree-optimization/47355
20136 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
20137 NOP has non-debug uses beyond PHIs in new_bb.
20138
1c7d0b34
AO
201392011-01-21 Alexandre Oliva <aoliva@redhat.com>
20140
20141 PR debug/47106
20142 * cfgexpand.c (account_used_vars_for_block): Only account vars
20143 that are annotated as used.
20144 (estimated_stack_frame_size): Don't set TREE_USED.
20145 * tree-dfa.c (create_var_ann): Mark variable as used.
20146
f99cc488
RG
201472011-01-21 Richard Guenther <rguenther@suse.de>
20148
20149 PR middle-end/47395
20150 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
20151
3bc27de7
RG
201522011-01-21 Richard Guenther <rguenther@suse.de>
20153
20154 PR tree-optimization/47365
20155 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
20156 (vn_reference_lookup_pieces): Adjust.
20157 (vn_reference_lookup): Likewise.
20158 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
20159 (vn_reference_lookup_3): Only look through kills if in
20160 VN_WALKREWRITE mode.
20161 (vn_reference_lookup_pieces): Adjust.
20162 (vn_reference_lookup): Likewise.
20163 (visit_reference_op_load): Likewise.
20164 (visit_reference_op_store): Likewise.
20165 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
20166 (compute_avail): Likewise.
20167 (eliminate): Likewise.
20168
d8debb1d
JJ
201692011-01-21 Jakub Jelinek <jakub@redhat.com>
20170
20171 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
20172 DECL_IGNORED_P non-reg vars if they are used.
20173
3a2df831
JJ
20174 PR tree-optimization/47391
20175 * varpool.c (const_value_known_p): Return false if
20176 decl is volatile.
20177
1dd584a2
KT
201782011-01-21 Kai Tietz <kai.tietz@onevision.com>
20179
20180 PR bootstrap/47215
20181 * config/i386/i386.c (ix86_local_alignment): Handle
20182 case for va_list_type_node is nil.
20183 (ix86_canonical_va_list_type): Likewise.
20184
7f9f095e
AM
201852011-01-21 Alan Modra <amodra@gmail.com>
20186
20187 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
20188 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
20189
837b01f6
RR
201902011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20191
20192 * config/arm/arm.md (define_attr type): Rename f_load
20193 and f_store to f_fpa_load and f_fpa_store. Update.
20194 (write_conflict): Deal with rename fallout.
20195 (*push_fp_multi): Likewise.
20196 * config/arm/fpa.md (f_load): Use f_fpa_load.
20197 (f_store): Use f_fpa_store.
20198 (*movsf_fpa): Likewise.
20199 (*movdf_fpa): Likewise.
20200 (*movxf_fpa): Likewise.
20201 (*thumb2_movsf_fpa): Likewise.
20202 (*thumb2_movdf_fpa): Likewise.
20203 (*thumb2_movxf_fpa): Likewise.
20204 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
20205 f_loadd and f_stored.
20206 (*thumb2_movdi_vfp): Likewise.
20207 (*thumb2_movsf_vfp): Fix attribute to f_loads.
20208 (*thumb2_movsi_vfp): Likewise.
20209 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
20210 Use f_loads instead of f_load.
20211 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
20212
a1a79768
AS
202132011-01-20 Anatoly Sokolov <aesok@post.ru>
20214
20215 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
20216 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
20217 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
20218 (xtensa_mode_dependent_address_p): New function.
20219 (constantpool_address_p): Make static. Change return type to bool.
20220 Change argument type to const_rtx. Use CONST_INT_P predicate.
20221
427f6cec
AO
202222011-01-20 Alexandre Oliva <aoliva@redhat.com>
20223
20224 PR debug/46583
20225 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
20226
583ac69c
JJ
202272011-01-20 Jakub Jelinek <jakub@redhat.com>
20228
20229 PR debug/47283
20230 * cfgexpand.c (expand_debug_expr): Instead of generating
20231 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
20232 etc. handling.
20233
93e452ed
RG
202342011-01-20 Richard Guenther <rguenther@suse.de>
20235
20236 PR middle-end/47370
20237 * tree-inline.c (remap_gimple_op_r): Recurse manually for
20238 the pointer operand of MEM_REFs.
20239
28fc44f3
JJ
202402011-01-20 Jakub Jelinek <jakub@redhat.com>
20241
20242 PR tree-optimization/46130
20243 * ipa-split.c (consider_split): If return_bb contains non-virtual
20244 PHIs other than for retval or if split_function would not adjust it,
20245 refuse to split.
20246
ddd268f2
RG
202472011-01-20 Richard Guenther <rguenther@suse.de>
20248
20249 PR tree-optimization/47167
20250 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
20251 Revert previous change, only avoid enumeral type changes.
20252
882020aa
MS
202532011-01-19 Mike Stump <mikestump@comcast.net>
20254
20255 * doc/tm.texi.in (BRANCH_COST): Englishify.
20256 * doc/tm.texi (BRANCH_COST): Likewise.
20257
7edb6247
DS
202582011-01-19 Dodji Seketeli <dodji@redhat.com>
20259
20260 PR c++/47291
20261 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
20262 (gen_scheduled_generic_parms_dies): New functions.
20263 (gen_struct_or_union_type_die): Schedule template parameters DIEs
20264 generation for the end of CU compilation.
20265 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 20266
23d5ed5d
AO
202672011-01-19 Alexandre Oliva <aoliva@redhat.com>
20268
20269 PR debug/46240
20270 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
20271 debug bind stmt on merge edges.
20272
37d6a488
AO
202732011-01-19 Alexandre Oliva <aoliva@redhat.com>
20274
20275 PR debug/47079
20276 PR debug/46724
20277 * function.c (instantiate_expr): Instantiate incoming rtl of
20278 implicit arguments, and recurse on VALUE_EXPRs.
20279 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
20280 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
20281
689f2c82
AO
202822011-01-19 Alexandre Oliva <aoliva@redhat.com>
20283
20284 * c-parser.c (c_parser_for_statement): Initialize
20285 collection_expression.
20286
03029de4
JM
202872011-01-19 Joseph Myers <joseph@codesourcery.com>
20288
20289 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
20290
3e03217e
JM
202912011-01-19 Joseph Myers <joseph@codesourcery.com>
20292
20293 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
20294 (LINK_SHLIB_SPEC): Don't use %(link_path).
20295 (SUBTARGET_EXTRA_SPECS): Remove link_path.
20296
5bbe9b3f
JM
202972011-01-19 Joseph Myers <joseph@codesourcery.com>
20298
20299 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
20300 (NO_SHARED_LIB_SUPPORT): Remove.
20301 (LINK_SHLIB_SPEC): Remove one conditional definition.
20302
368e0b39
JM
203032011-01-19 Joseph Myers <joseph@codesourcery.com>
20304
20305 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
20306 %{call_shared}.
20307 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
20308 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
20309 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
20310 %{call_shared} and conditionals on these options not being passed.
20311 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
20312 %{call_shared}.
20313
ed7656f6
JJ
203142011-01-19 Jakub Jelinek <jakub@redhat.com>
20315
68457901
JJ
20316 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
20317 simplify.
20318
ed7656f6
JJ
20319 * ipa-split.c: Spelling fixes.
20320
e0d1958f
RH
203212011-01-19 Richard Henderson <rth@redhat.com>
20322
20323 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
20324 (*mulsi3): Likewise.
20325
27098b6b
RH
20326 * longlong.h [__mn10300__] (count_leading_zeros): New.
20327 [__mn10300__] (umul_ppmm, smul_ppmm): New.
20328 [__mn10300__] (add_ssaaaa, subddmmss): New.
20329 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
20330 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
20331
d6be7c36
UW
203322011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
20333
20334 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
20335
b1efde2a
RH
203362011-01-19 Richard Henderson <rth@redhat.com>
20337
44217823
RH
20338 * config/mn10300/mn10300.md (addsi3_flags): New.
20339 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
20340 (subsi3_flags, subc_internal, subdi3): New.
20341 (subdi3_internal, *subdi3_degenerate): New.
20342 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
20343
37a185d7
RH
20344 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
20345 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
20346 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
20347 * config/mn10300/mn10300-protos.h: Update.
20348 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
20349 (return_ret): Likewise. Rename from return_internal_regs.
20350 (return_internal): Remove.
20351
040c5757
RH
20352 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
20353 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
20354 (mn10300_legitimate_constant_p): Likewise.
20355 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
20356 (mn10300_frame_size): New.
20357 (mn10300_expand_prologue): Use it.
20358 (mn10300_expand_epilogue): Likewise.
20359 (mn10300_initial_offset): Likewise.
20360 * config/mn10300/mn10300-protos.h: Update.
20361 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
20362 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
20363 (prologue, epilogue, return_internal): Tidy output code.
20364 (mn10300_store_multiple_operation, return): Likewise.
20365 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
20366 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
20367 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
20368 (load_pic, am33_load_pic): New.
20369 (mn10300_load_pic0, mn10300_load_pic1): New.
20370
bad41521
RH
20371 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
20372 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
20373 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
20374 (cc_flags_for_mode, cc_flags_for_code): New.
20375 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
20376 overflow flag is not valid. Validate that the flags we need
20377 for the comparison are valid.
20378 (mn10300_output_cmp): Remove.
20379 (mn10300_output_add): New.
20380 (mn10300_select_cc_mode): Use cc_flags_for_code.
20381 (mn10300_split_cbranch): New.
20382 (mn10300_match_ccmode): New.
20383 (mn10300_split_and_operand_count): New.
20384 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
20385 to the function.
20386 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
20387 (addsi3): ... here. Use mn10300_output_add.
20388 (*addsi3_flags): New.
20389 (*am33_subsi3, *mn10300_subsi3): Merge...
20390 (subsi3): ... here. Use attribute isa.
20391 (*subsi3_flags): New.
20392 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
20393 when possible.
20394 (*am33_andsi3, *mn10300_andsi3): Merge...
20395 (andsi3): ... here.
20396 (*andsi3_flags): New.
20397 (andsi3 splitters): New.
20398 (*am33_iorsi3, *mn10300_iorsi3): Merge...
20399 (iorsi3): ... here.
20400 (*iorsi3_flags): New.
20401 (*am33_xorsi3, *mn10300_xorsi3): Merge...
20402 (xorsi3): ... here.
20403 (*xorsi3_flags): New.
20404 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
20405 (one_cmplsi2): ... here.
20406 (*one_cmplsi2_flags): New.
20407 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
20408 instead of "dax" in constraints. Use mn10300_split_cbranch.
20409 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
20410 use matching constraints to eliminate a self-comparison.
20411 (*integer_conditional_branch): Rename from integer_conditional_branch.
20412 Use int_mode_flags to match CC_REG.
20413 (*cbranchsi4_btst, *btstsi): New.
20414 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
20415 mn10300_split_cbranch.
20416 (*am33_cmpsf): Rename from am33_cmpsf.
20417 (*float_conditional_branch): Rename from float_conditional_branch.
20418 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
20419 (zero_extendqisi2): ... here.
20420 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
20421 (zero_extendhisi2): ... here.
20422 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
20423 (extendqisi2): ... here.
20424 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
20425 (extendhisi2): ... here.
20426 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
20427 (ashlsi3): ... here.
20428 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
20429 (lshrsi3): ... here.
20430 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
20431 (ashrsi3): ... here.
20432 (consecutive add peephole): Remove.
20433 * config/mn10300/predicates.md (label_ref_operand): New.
20434 (int_mode_flags): New.
20435 (CCZN_comparison_operator): New.
20436
9efb4993
RH
20437 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
20438 (throughput_42_latency_43): New reservation.
20439 (mulsidi3, umulsidi3): New expanders.
20440 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
20441 the MDR register to allocation; separately allocate the low and
20442 high parts of the DImode result.
20443 (umulsidi3_internal): Similarly.
20444 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
20445 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
20446 (udivsi3, umodsi3): Remove.
20447 (udivmodsi4, divmodsi4): New expanders.
20448 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
20449 (*divmodsi4): Simiarly.
20450 (ext_internal): New.
20451
c25a21f5
RH
20452 * config/mn10300/constraints.md ("z"): New constraint.
20453 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
20454 (FIXED_REGISTERS): Don't fix MDR.
20455 (CALL_USED_REGSITERS): Reformat nicely.
20456 (REG_ALLOC_ORDER): Add MDR.
20457 (enum regclass): Add MDR_REGS.
20458 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
20459 (IRA_COVER_CLASSES): Add MDR_REGS.
20460 (REGNO_REG_CLASS): Handle MDR_REG.
20461 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
20462 (mn10300_register_move_cost): Likewise.
20463 * config/mn10300/mn10300.md (MDR_REG): New.
20464 (*movsi_internal): Handle moves to/from MDR_REGS.
20465
36846b26
RH
20466 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
20467 POST_MODIFY.
20468 (mn10300_secondary_reload): Tidy combination reload classes.
20469 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
20470 addresses for AM33. Allow symbolic offsets for reg+imm.
20471 (mn10300_regno_in_class_p): New.
20472 (mn10300_legitimize_reload_address): New.
20473 * config/mn10300/mn10300.h (enum reg_class): Remove
20474 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
20475 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
20476 SP_OR_GENERAL_REGS.
20477 (REG_CLASS_NAMES): Update to match.
20478 (REG_CLASS_CONTENTS): Likewise.
20479 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
20480 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
20481 (REGNO_IN_RANGE_P): Remove.
20482 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
20483 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
20484 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
20485 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
20486 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
20487 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
20488 (REGNO_GENERAL_P): New.
20489 (HAVE_POST_MODIFY_DISP): New.
20490 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
20491 (LEGITIMIZE_RELOAD_ADDRESS): New.
20492 * config/mn10300/mn10300-protos.h: Update.
20493
8b119bb6
RH
20494 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
20495 DATA_REGS for AM33 stack-pointer destination.
20496 (mn10300_preferred_output_reload_class): Likewise.
20497 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
20498 into a form appropriate for ...
20499 (TARGET_SECONDARY_RELOAD): New.
20500 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
20501 * config/mn10300/mn10300-protos.h: Update.
20502 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
20503 reload_insi; use the "A" constraint for the scratch; handle AM33
20504 moves of sp to non-address registers.
20505
b1efde2a
RH
20506 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
20507 (*movqi_internal): ... here.
20508 (*am33_movhi, *mn10300_movhi): Merge into...
20509 (*movhi_internal): ... here.
20510 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
20511 as the source/destination of moves from/to SP.
20512 (movsf): Only allow for AM33-2.
1c3ba85b 20513 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
20514 any integer constant constraint. Only allow for AM33-2. Tidy
20515 all of the alternative outputs.
20516 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
20517 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
20518 for MN103.
20519 (udivsi3, umodsi3): New patterns for MN103 only.
20520
b899fd78
JR
205212011-01-19 Joern Rennecke <amylaar@spamcop.net>
20522
20523 * doc/tm.texi.in: Spell out that a lack of register class unions
20524 can lead to ICEs.
20525 * doc/tm.texi: Regenerate.
20526
afaaa67d
JJ
205272011-01-19 Jakub Jelinek <jakub@redhat.com>
20528
2e0642cd
JJ
20529 PR rtl-optimization/47337
20530 * dce.c (check_argument_store): New function.
20531 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
20532
afaaa67d
JJ
20533 PR tree-optimization/47290
20534 * tree-eh.c (infinite_empty_loop_p): New function.
20535 (cleanup_empty_eh): Use it.
20536
d2cd871f
SE
205372011-01-18 Steve Ellcey <sje@cup.hp.com>
20538
20539 PR target/46997
20540 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
20541 (a64_expand_widen_sum): Ditto.
20542 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
20543 (vec_extract_evenodd_help): Ditto.
20544 (vec_extract_evenv4hi): Ditto.
20545 (vec_extract_oddv4hi): Ditto.
20546 (vec_extract_evenv2si): Ditto.
20547 (vec_extract_oddv2si): Ditto.
20548 (vec_extract_evenv2sf): Ditto.
20549 (vec_extract_oddv2sf): Ditto.
20550 (vec_pack_trunc_v4hi: Ditto.
20551 (vec_pack_trunc_v2si): Ditto.
20552 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
20553 (vec_interleave_highv8qi): Ditto.
20554 (mix1_r): Ditto.
20555 (vec_extract_oddv8qi): Ditto.
20556 (vec_interleave_lowv4hi): Ditto.
20557 (vec_interleave_highv4hi): Ditto.
20558 (vec_interleave_lowv2si): Ditto.
20559 (vec_interleave_highv2si): Ditto.
20560
41a1208a
JDA
205612011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
20562
20563 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
20564 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
20565 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
20566 (pa_c_mode_for_suffix): New.
20567 (TARGET_EXPAND_BUILTIN): Define.
20568 (TARGET_C_MODE_FOR_SUFFIX): Define.
20569 (pa_builtins): Define.
20570 (pa_init_builtins): Register __float128 type and init new support
20571 builtins.
20572 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
20573 * config/pa/quadlib.c (_U_Qfcopysign): New.
20574
1ecad98e
EB
205752011-01-18 Eric Botcazou <ebotcazou@adacore.com>
20576
20577 PR middle-end/46894
20578 * explow.c (allocate_dynamic_stack_space): Do not assume more than
20579 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
20580 are defined.
20581
d4f2460a
UW
205822011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
20583
20584 PR tree-optimization/47179
20585 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
20586 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
20587
4994da65
RG
205882011-01-18 Richard Guenther <rguenther@suse.de>
20589
20590 PR rtl-optimization/47216
20591 * emit-rtl.c: Include tree-flow.h.
20592 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
20593 of replicating it with different semantics.
20594 * Makefile.in (emit-rtl.o): Adjust.
20595
1eb458d1
RR
205962011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20597
38be4072 20598 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 20599 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 20600
e7ef91dc
JJ
206012011-01-18 Jakub Jelinek <jakub@redhat.com>
20602
20603 PR rtl-optimization/47299
20604 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 20605 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
20606 * expmed.c (expand_widening_mult): Don't try to optimize constant
20607 multiplication if op0 has VOIDmode. Convert op1 constant to mode
20608 before using it.
20609
535b7874
RW
206102011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20611
20612 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
20613 spacing after 'e.g.', typos, comma, hyphenation.
20614
27bf36f3
RH
206152011-01-17 Richard Henderson <rth@redhat.com>
20616
8a5b5449
RH
20617 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
20618 (rx_restricted_mem_operand): New.
20619 (rx_shift_operand): Use register_operand.
20620 (rx_source_operand, rx_compare_operand): Likewise.
20621 * config/rx/rx.md (addsi3_flags): New expander.
20622 (adddi3): Rewrite as expander.
20623 (adc_internal, *adc_flags, adddi3_internal): New patterns.
20624 (subsi3_flags): New expander.
20625 (subdi3): Rewrite as expander.
20626 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
20627
784f69be
RH
20628 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
20629 (rx_init_builtins): Remove sat builtin.
20630 (rx_expand_builtin): Likewise.
20631 * config/rx/rx.md (ssaddsi3): New.
20632 (*sat): Rename from sat. Represent the CC_REG input.
20633
f033541c
RH
20634 * config/rx/predicates.md (rshift_operator): New.
20635 * config/rx/rx.c (rx_expand_insv): Remove.
20636 * config/rx/rx-protos.h: Update.
20637 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
20638 operand to the canonical position.
20639 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
20640 (*bitclr, *bitclr_in_memory): Similarly.
20641 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
20642 (insv): Retain the zero_extract in the expansion.
20643
34fee389
RH
20644 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
20645 (bswaphi2, bitinvert, revw): Likewise.
20646
265c835f
RH
20647 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
20648 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
20649 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
20650 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
20651 (bitset, bitset_in_memory): Likewise.
20652 (bitinvert, bitinvert_in_memory): Likewise.
20653 (bitclr, bitclr_in_memory): Likewise.
20654 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
20655 (rx_strend, rx_cmpstrn): Likewise.
20656 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
20657 (bitop peep2 patterns): Remove.
20658
b4d83be3
RH
20659 * config/rx/rx.c (rx_match_ccmode): New.
20660 * config/rx/rx-protos.h: Update.
20661 * config/rx/rx.md (abssi2): Clobber, don't set flags.
20662 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
20663 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
20664 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
20665 (fix_truncsfsi2, floatsisf2): Likewise.
20666 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
20667 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
20668 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
20669 (*subsi3_flags, *xorsi3_flags): New.
20670
d0acb939
RH
20671 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
20672
c06fc3d9
RH
20673 * config/rx/rx.c (rx_print_operand): Remove workaround for
20674 unsplit comparison operations.
20675
2882702b
RH
20676 * config/rx/rx.md (movsicc): Split after reload.
20677 (*movsicc): Merge *movsieq and *movsine via match_operator.
20678 (*stcc): New pattern.
20679
6f7310f2
RH
20680 * config/rx/rx.c (rx_float_compare_mode): Remove.
20681 * config/rx/rx.h (rx_float_compare_mode): Remove.
20682 * config/rx/rx.md (cstoresi4): Split after reload.
20683 (*sccc): New pattern.
20684
e963cb1a
RH
20685 * config/rx/predicates.md (label_ref_operand): New.
20686 (rx_z_comparison_operator): New.
20687 (rx_zs_comparison_operator): New.
20688 (rx_fp_comparison_operator): New.
20689 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
20690 Validate that the flags are set properly for the comparison.
20691 (rx_gen_cond_branch_template): Remove.
20692 (rx_cc_modes_compatible): Remove.
20693 (mode_from_flags): New.
20694 (flags_from_code): Rename from flags_needed_for_conditional.
20695 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
20696 (rx_select_cc_mode): Likewise.
20697 (rx_split_fp_compare): New.
20698 (rx_split_cbranch): New.
20699 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
20700 (*cbranchsi4): Use match_operator and rx_split_cbranch.
20701 (*cbranchsf4): Similarly.
20702 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
20703 match_operator and rx_split_cbranch.
20704 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
20705 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
20706 (*cmpsi): Rename from cmpsi.
20707 (*tstsi): Rename from tstsi.
20708 (*cmpsf): Rename from cmpsf; use CC_Fmode.
20709 (*conditional_branch): Rename from conditional_branch.
20710 (*reveresed_conditional_branch): Remove.
20711 (b<code>): Remove expander.
20712 * config/rx/rx-protos.h: Update.
20713
af530bb4
RH
20714 * config/rx/rx.c (rx_compare_redundant): Remove.
20715 * config/rx/rx.md (cmpsi): Don't use it.
20716 * config/rx/rx-protos.h: Update.
20717
27bf36f3
RH
20718 * config/rx/rx-modes.def (CC_F): New mode.
20719 * config/rx/rx.c (rx_select_cc_mode): New.
20720 * config/rx/rx.h (SELECT_CC_MODE): Use it.
20721 * config/rx/rx-protos.h: Update.
20722
d7fde127
RH
207232011-01-17 Richard Henderson <rth@redhat.com>
20724
20725 * except.c (dump_eh_tree): Fix stray ; after for statement.
20726
6ff38230
RG
207272011-01-17 Richard Guenther <rguenther@suse.de>
20728
20729 PR tree-optimization/47313
20730 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
20731 handling before copying the body. Properly deal with
20732 by-reference result in SSA form.
20733
114ce554
ILT
207342011-01-17 Ian Lance Taylor <iant@google.com>
20735
bf5cd92b 20736 PR target/47219
114ce554
ILT
20737 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
20738 (struct_value_alias_set): Don't define.
20739 (sparc_option_override): Don't set sparc_sr_alias_set and
20740 struct_value_alias_set.
20741 (save_or_restore_regs): Use gen_frame_mem rather than calling
20742 set_mem_alias_set.
20743 (sparc_struct_value_rtx): Likewise.
20744
98c6d93c
L
207452011-01-17 H.J. Lu <hongjiu.lu@intel.com>
20746
20747 PR target/47318
7a81008b 20748 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
20749 (_mm_maskstore_pd): Likewise.
20750 (_mm_maskload_ps): Likewise.
20751 (_mm_maskstore_ps): Likewise.
20752 (_mm256_maskload_pd): Change mask to __m256i.
20753 (_mm256_maskstore_pd): Likewise.
20754 (_mm256_maskload_ps): Likewise.
20755 (_mm256_maskstore_ps): Likewise.
20756
20757 * config/i386/i386-builtin-types.def: Updated.
20758 (ix86_expand_special_args_builtin): Likewise.
20759
20760 * config/i386/i386.c (bdesc_special_args): Update
20761 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
20762 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
20763 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
20764 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
20765
20766 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
20767 Use <avxpermvecmode> on mask register.
20768 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
20769
b9361af2 207702011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
20771 Michael Haubenwallner <michael.haubenwallner@salomon.at>
20772 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
20773
20774 PR target/46655
20775 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
20776 if <= USHRT_MAX in 32-bit mode.
20777
b7ae9eb5
RW
207782011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20779
20780 * doc/install.texi (Configuration, Specific): Wrap long
20781 lines in examples. Allow line wrapping in long options
20782 and URLs where beneficial for PDF output.
20783
4377fad9
RS
207842011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
20785
20786 * config/mips/mips.c (mips_classify_symbol): Don't return
20787 SYMBOL_PC_RELATIVE for nonlocal labels.
20788
55959ffa 207892011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 20790
55959ffa
EB
20791 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
20792
207932011-01-15 Jan Hubicka <jh@suse.cz>
20794
20795 PR tree-optimization/47276
be46831f
JH
20796 * ipa.c (function_and_variable_visibility): Do not try to mark alias
20797 declarations as needed.
20798
05842ff5
MJ
207992011-01-15 Martin Jambor <mjambor@suse.cz>
20800
20801 * common.opt (fdevirtualize): New flag.
20802 * doc/invoke.texi (Option Summary): Document it.
20803 * opts.c (default_options_table): Add devirtualize flag.
20804 * ipa-prop.c (detect_type_change): Return immediately if
20805 devirtualize flag is not set.
20806 (detect_type_change_ssa): Likewise.
20807 (compute_known_type_jump_func): Likewise.
20808 (ipa_analyze_virtual_call_uses): Likewise.
20809
f65cf2b7
MJ
208102011-01-14 Martin Jambor <mjambor@suse.cz>
20811
20812 PR tree-optimization/45934
20813 PR tree-optimization/46302
20814 * ipa-prop.c (type_change_info): New type.
20815 (stmt_may_be_vtbl_ptr_store): New function.
20816 (check_stmt_for_type_change): Likewise.
20817 (detect_type_change): Likewise.
20818 (detect_type_change_ssa): Likewise.
20819 (compute_complex_assign_jump_func): Check for dynamic type change.
20820 (compute_complex_ancestor_jump_func): Likewise.
20821 (compute_known_type_jump_func): Likewise.
20822 (compute_scalar_jump_functions): Likewise.
20823 (ipa_analyze_virtual_call_uses): Likewise.
20824 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
20825
eb5bb0fd
JM
208262011-01-14 Joseph Myers <joseph@codesourcery.com>
20827
20828 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
20829 * config/i386/i386.opt (msse5): New Alias.
20830
f2060fbe
JM
208312011-01-14 Joseph Myers <joseph@codesourcery.com>
20832
20833 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
20834 * config/sparc/linux64.h (CC1_SPEC): Likewise.
20835 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
20836 * config/sparc/sparc.h (CC1_SPEC): Likewise.
20837
3a7b4385
JM
208382011-01-14 Joseph Myers <joseph@codesourcery.com>
20839
20840 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
20841 -mcpu options.
20842 * config/sparc/linux64.h (CC1_SPEC): Likewise.
20843 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
20844 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
20845 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
20846 Likewise.
20847 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
20848
a7b778f8
JM
208492011-01-14 Joseph Myers <joseph@codesourcery.com>
20850
38be4072 20851 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 20852
a7edae0a
MS
208532011-01-14 Mike Stump <mikestump@comcast.net>
20854
20855 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
20856 * config/fr30/fr30.md: Likweise
20857 (movsi_push): Likewise.
20858 (movsi_pop): Likewise.
20859 (enter_func): Likewise.
20860 * config/moxie/moxie.md (movsi_push): Likewise.
20861 (movsi_pop): Likewise.
20862
cbabf03f
JM
208632011-01-14 Joseph Myers <joseph@codesourcery.com>
20864
20865 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
20866 %{no_archive} %{exact_version}.
20867 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
20868 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
20869 %{no_archive} %{exact_version}.
20870 * config/mips/openbsd.h (LINK_SPEC): Likewise.
20871 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
20872 * config/mips/vxworks.h: Likewise.
20873
438da41a
JM
208742011-01-14 Joseph Myers <joseph@codesourcery.com>
20875
38be4072 20876 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 20877
da290a42
JM
208782011-01-14 Joseph Myers <joseph@codesourcery.com>
20879
20880 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
20881 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
20882
8989d00e
JM
208832011-01-14 Joseph Myers <joseph@codesourcery.com>
20884
20885 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
20886 -nodefaultlib.
20887
a3010a69
JM
208882011-01-14 Joseph Myers <joseph@codesourcery.com>
20889
20890 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
20891 for mcpu not cpu.
20892 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
20893 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
20894 not cpu.
20895 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
20896 Don't handle -shlib.
20897
e7f2f537
JM
208982011-01-14 Joseph Myers <joseph@codesourcery.com>
20899
20900 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
20901 (CC1_SPEC): Don't handle -profile.
20902
34830bfd
JM
209032011-01-14 Joseph Myers <joseph@codesourcery.com>
20904
20905 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
20906 * config/mips/mips.h (CC1_SPEC): Likewise.
20907
b2d36e74
JM
209082011-01-14 Joseph Myers <joseph@codesourcery.com>
20909
20910 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
20911 * config/mips/mips.h (CC1_SPEC): Likewise.
20912
dabadc52
JM
209132011-01-14 Joseph Myers <joseph@codesourcery.com>
20914
20915 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
20916 * config/m32r/linux.h (LINK_SPEC): Likewise.
20917 * config/mips/linux.h (LINK_SPEC): Likewise.
20918 * config/mips/linux64.h (LINK_SPEC): Likewise.
20919 * config/sparc/linux.h (LINK_SPEC): Likewise.
20920 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
20921 LINK_SPEC): Likewise.
20922 * config/xtensa/linux.h (LINK_SPEC): Likewise.
20923
43ee6785
JM
209242011-01-14 Joseph Myers <joseph@codesourcery.com>
20925
20926 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
20927 %{version:-v}.
20928 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
20929
45e79dfd
JM
209302011-01-14 Joseph Myers <joseph@codesourcery.com>
20931
20932 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
20933 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
20934
37e9e71d
JM
209352011-01-14 Joseph Myers <joseph@codesourcery.com>
20936
20937 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
20938
bb127cd8
RO
209392011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20940
20941 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
20942 supports -Bstatic/-Bdynamic.
20943 * configure: Regenerate.
20944
89a012ea 209452011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 20946 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
20947
20948 PR target/46037
20949 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
20950 when checking debug_info_level. Test write_symbols instead of
20951 debug_hooks->var_location when setting flag_var_tracking_uninit.
20952
7352c013
RG
209532011-01-14 Richard Guenther <rguenther@suse.de>
20954
20955 PR tree-optimization/47179
20956 * target.def (ref_may_alias_errno): New target hook.
20957 * targhooks.h (default_ref_may_alias_errno): Declare.
20958 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
20959 (default_ref_may_alias_errno): New function.
20960 * target.h (struct ao_ref_s): Declare.
20961 * tree-ssa-alias.c: Include target.h.
20962 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
20963 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
20964 (targhooks.o): Likewise.
20965 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
20966 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
20967
9a6c9288
RG
209682011-01-14 Richard Guenther <rguenther@suse.de>
20969
20970 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
20971
0fdb0d27
RG
209722011-01-14 Richard Guenther <rguenther@suse.de>
20973
20974 PR tree-optimization/47280
20975 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
20976 return CFG changes.
20977 (tree_ssa_forward_propagate_single_use_vars): Deal with
20978 CFG changes from associate_plusminus.
20979
8f66db3b
RG
209802011-01-14 Richard Guenther <rguenther@suse.de>
20981
20982 PR middle-end/47281
20983 Revert
20984 2011-01-11 Richard Guenther <rguenther@suse.de>
20985
280d9630
EB
20986 PR tree-optimization/46076
20987 * tree-ssa.c (useless_type_conversion_p): Conversions from
20988 unprototyped to empty argument list function types are useless.
8f66db3b 20989
6c0c92e6
RG
209902011-01-14 Richard Guenther <rguenther@suse.de>
20991
20992 PR tree-optimization/47286
280d9630 20993 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 20994
db09f943
MJ
209952011-01-14 Martin Jambor <mjambor@suse.cz>
20996
20997 PR middle-end/46823
20998 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
20999
dde8a3a4
AS
210002011-01-13 Anatoly Sokolov <aesok@post.ru>
21001
21002 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
21003 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
21004 * config/xtensa/xtensa.c (xtensa_libcall_value,
21005 xtensa_function_value_regno_p): New functions.
21006 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
21007
a2b63a20
KT
210082011-01-13 Kai Tietz <kai.tietz@onevision.com>
21009
21010 PR c++/47213
21011 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
21012 PE specific hook.
21013 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
21014 New function prototype.
21015 * config/i386/winnt.c (i386_pe_assemble_visibility):
21016 Warn only if attribute was specified by user.
21017
b41f0b34
MM
210182011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
21019
21020 PR target/47251
21021 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
21022 floating point.
21023 (floatunsdidf2_fcfidu): Ditto.
21024
3f3c098d
AK
210252011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
21026
21027 * config/s390/s390.c (print_operand_address): Replace 'error' with
21028 'output_operand_lossage'.
21029 (print_operand): Likewise.
21030
29fa95ed
JL
210312011-01-13 Jeff Law <law@redhat.com>
21032
280d9630 21033 PR rtl-optimization/39077
29fa95ed
JL
21034 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
21035 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
21036 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
21037 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
21038 * gcse.c (prune_insertions_deletions): New function.
21039 (compute_pre_data): Use it.
21040
71d12276
DS
210412011-01-13 Dodji Seketeli <dodji@redhat.com>
21042
21043 PR debug/PR46973
21044 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
21045 static function.
61052244 21046 (prune_unused_types_mark): Use it.
71d12276 21047
9b0f04e7
AB
210482011-01-13 Andrey Belevantsev <abel@ispras.ru>
21049
21050 PR rtl-optimization/45352
1c3ba85b 21051 * sel-sched.c: Update copyright years.
9b0f04e7 21052 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 21053 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 21054
d6a3e264
RH
210552011-01-12 Richard Henderson <rth@redhat.com>
21056
a49b692a
RH
21057 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
21058 (TARGET_MD_ASM_CLOBBERS): New.
21059
126b1483
RH
21060 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
21061 (TARGET_DELEGITIMIZE_ADDRESS): New.
21062
f3d9d2e0
RH
21063 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
21064 (clzsi2, *bsch): New patterns.
21065
d84760c9
RH
21066 * config/mn10300/mn10300.md (INT): New mode iterator.
21067 (*mov<INT>_clr): New pattern, and peep2 to generate it.
21068
ec815d65
RH
21069 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
21070 flag_split_wide_types.
21071
d6a3e264
RH
21072 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
21073 (mn10300_trampoline_init): Rewrite without a template, an immediate
21074 load and a direct branch.
21075 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
21076
0f8ab434
AS
210772011-01-12 Anatoly Sokolov <aesok@post.ru>
21078
21079 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
21080 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
21081 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
21082 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
21083
d8a24b65
KT
210842011-01-12 Kai Tietz <kai.tietz@onevision.com>
21085
21086 PR debug/47209
21087 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
21088 of type.
21089
56e22cab
JH
210902011-01-12 Jan Hubicka <jh@suse.cz>
21091
21092 PR driver/47244
21093 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
21094 (PLUGIN_COND_CLOSE): New macro.
21095 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
21096
4b18b3c2
RG
210972011-01-12 Richard Guenther <rguenther@suse.de>
21098
21099 PR lto/47259
21100 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
21101 register variables in a MEM_REF.
21102
8e38461c
JM
211032011-01-12 Joseph Myers <joseph@codesourcery.com>
21104
21105 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
21106 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
21107 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
21108 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
21109 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
21110 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
21111 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
21112 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
21113 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
21114 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
21115 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
21116 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
21117 * config/gnu-user.h: New. Copied from linux.h.
21118 (LINUX_TARGET_STARTFILE_SPEC): Rename to
21119 GNU_USER_TARGET_STARTFILE_SPEC.
21120 (LINUX_TARGET_ENDFILE_SPEC): Rename to
21121 GNU_USER_TARGET_ENDFILE_SPEC.
21122 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
21123 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
21124 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
21125 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
21126 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
21127 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
21128 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
21129 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
21130 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
21131 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
21132 * config/arm/linux-eabi.h (CC1_SPEC): Use
21133 GNU_USER_TARGET_CC1_SPEC.
21134 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
21135 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
21136 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
21137 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
21138 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
21139 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
21140 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
21141 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
21142
a570fc16
RG
211432011-01-12 Richard Guenther <rguenther@suse.de>
21144
21145 PR other/46946
21146 * doc/invoke.texi (ffast-math): Document it is turned on
21147 with -Ofast.
21148
b0223c3e
JH
211492011-01-12 Jan Hubicka <jh@suse.cz>
21150
21151 PR tree-optimization/47233
ca1e00b3
EB
21152 * opts.c (common_handle_option): Disable ipa-reference with profile
21153 feedback.
b0223c3e 21154
1c3ba85b 211552011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
21156
21157 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
21158 error message.
21159
d853ee42
NP
211602011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
21161
21162 * c-parser.c (c_lex_one_token): Updated and reindented some
21163 comments. No changes in code.
21164
4053a5a0
ILT
211652011-01-11 Ian Lance Taylor <iant@google.com>
21166
21167 * godump.c (go_output_var): Don't output the variable if there is
21168 already a type with the same name.
21169
fa3e04d2
ILT
211702011-01-11 Ian Lance Taylor <iant@google.com>
21171
21172 * godump.c (go_format_type): Don't generate float80.
21173
885fe07c
RH
211742011-01-11 Richard Henderson <rth@redhat.com>
21175
72d6e3c5
RH
21176 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
21177 declaration. Rewrite for both speed and size.
21178 (mn10300_address_cost_1): Remove.
21179 (mn10300_register_move_cost): New.
21180 (mn10300_memory_move_cost): New.
21181 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
21182 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
21183 extensions, shifts, BSWAP, CLZ.
21184 (mn10300_wide_const_load_uses_clr): Remove.
21185 (TARGET_REGISTER_MOVE_COST): New.
21186 (TARGET_MEMORY_MOVE_COST): New.
21187 * config/mn10300/mn10300-protos.h: Update.
21188 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
21189
df37c023
RH
21190 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
21191 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
21192 * config/mn10300/mn10300-protos.h: Update.
21193 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
21194 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
21195 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
21196 (*test_int_bitfield, *test_byte_bitfield): Remove.
21197 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 21198 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 21199
85a337b5
RH
21200 * config/mn10300/constraints.md ("c"): Rename from "A".
21201 ("A", "D"): New constraint letters.
21202 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
21203 (fmssf4, fnmasf4, fnmssf4): Likewise.
21204
a5c727e3
RH
21205 * config/mn10300/mn10300.md (isa): New attribute.
21206 (enabled): New attribute.
21207
0d9e23f4
RH
21208 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
21209 (abssf2, negsf2): Define only for hardware fp.
21210 (sqrtsf2): Reformat.
21211 (addsf3, subsf3, mulsf3): Merge expander and insn.
21212
c157b3f0
RH
21213 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
21214 (DEBUGGER_AUTO_OFFSET): Remove.
21215 (DEBUGGER_ARG_OFFSET): Remove.
21216
cc909bba
RH
21217 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
21218 Emit register stores with the same offsets as the hardware.
21219 (mn10300_store_multiple_operation): Don't check that the register
21220 save offsets are monotonic.
21221 * config/mn10300/mn10300-protos.h: Update.
21222
e3b5c2f3
RH
21223 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
21224
885fe07c
RH
21225 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
21226 in terms of the value on the stack, not the MDR register.
21227
6e701822
JH
212282011-01-11 Jan Hubicka <jh@suse.cz>
21229
21230 PR lto/45721
21231 PR lto/45375
21232 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
21233 (symbol_alias_set_destroy, symbol_alias_set_contains,
21234 propagate_aliases_backward): Declare.
21235 * lto-streamer-out.c (struct sets): New sturcture.
21236 (trivally_defined_alias): New function.
21237 (output_alias_pair_p): Rewrite.
21238 (output_unreferenced_globals): Fix output of alias pairs.
21239 (produce_symtab): Likewise.
21240 * ipa.c (function_and_variable_visibility): Set weak alias destination
21241 as needed in lto.
21242 * varasm.c (symbol_alias_set_t): Remove.
21243 (symbol_alias_set_destroy): Export.
21244 (propagate_aliases_forward, propagate_aliases_backward): New functions
21245 based on ...
21246 (compute_visible_aliases): ... this one; remove.
21247 (trivially_visible_alias): New
21248 (trivially_defined_alias): New.
21249 (remove_unreachable_alias_pairs): Rewrite.
21250 (finish_aliases_1): Reorganize code checking if alias is defined.
21251 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
21252 in LTO mode.
21253
1b248907
RG
212542011-01-11 Richard Guenther <rguenther@suse.de>
21255
21256 PR tree-optimization/46076
21257 * tree-ssa.c (useless_type_conversion_p): Conversions from
21258 unprototyped to empty argument list function types are useless.
21259
b1923f0a
RG
212602011-01-11 Richard Guenther <rguenther@suse.de>
21261
21262 PR middle-end/45235
21263 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
21264 volatile MEMs as MEM_READONLY_P.
21265
e98965af
RG
212662011-01-11 Richard Guenther <rguenther@suse.de>
21267
21268 PR tree-optimization/47239
21269 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
21270
9f9ca914
JL
212712011-01-11 Jeff Law <law@redhat.com>
21272
1ee3ea05 21273 PR tree-optimization/47086
9f9ca914
JL
21274 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
21275 IVs from statements that might throw.
21276
345fdcb7
JH
212772011-01-10 Jan Hubicka <jh@suse.cz>
21278
21279 PR lto/45375
21280 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
21281
c459c97b
JH
212822011-01-10 Jan Hubicka <jh@suse.cz>
21283
21284 PR lto/45375
21285 * profile.c (read_profile_edge_counts): Ignore profile inconistency
21286 when correcting profile.
21287
06c9eb51
JH
212882011-01-10 Jan Hubicka <jh@suse.cz>
21289
21290 PR lto/46083
21291 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
21292 DECL_FINI_PRIORITY.
21293 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
21294 Restore DECL_FINI_PRIORITY.
21295
ae9fd815
RW
212962011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
21297
21298 * doc/gimple.texi: Fix quoting of multi-word return values in
21299 @deftypefn statements. Ensure presence of return value. Wrap
21300 overlong @deftypefn lines.
21301 (is_gimple_operand, is_gimple_min_invariant_address): Remove
21302 descriptions of removed functions.
21303 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
21304 of multi-word return value in @deftypefn statement.
21305
0ecb4a7c
RW
213062011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
21307
21308 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
21309 (Conditional Expressions, Logical Operators)
21310 (Statement and operand traversals): Do not indent smallexample
21311 code. Fix duplicate function argument in example.
21312
2e5e346d
JL
213132011-01-10 Jeff Law <law@redhat.com>
21314
1ee3ea05 21315 PR tree-optimization/47141
2e5e346d
JL
21316 * ipa-split.c (split_function): Handle case where we are
21317 returning a value and the return block has a virtual operand phi.
21318
cf9712cc
JH
213192011-01-10 Jan Hubicka <jh@suse.cz>
21320
1c3ba85b 21321 PR tree-optimization/47234
cf9712cc
JH
21322 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
21323 (pass_feedback_split_functions): Declare.
21324 * passes.c (init_optimization_passes): Add ipa-split as subpass of
21325 tree-profile.
21326 * ipa-split.c (gate_split_functions): Update comments; disable
21327 split-functions for profile_arc_flag and branch_probabilities.
21328 (gate_feedback_split_functions): New function.
21329 (execute_feedback_split_functions): New function.
21330 (pass_feedback_split_functions): New global var.
21331
94cd932c
L
213322011-01-10 H.J. Lu <hongjiu.lu@intel.com>
21333
21334 PR lto/46760
21335 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
21336 calling gimple_call_set_cannot_inline.
21337
fbbfcaf1
IS
213382011-01-10 Iain Sandoe <iains@gcc.gnu.org>
21339
21340 * config/darwin-sections.def: Remove unused section.
21341
d06865bf
DK
213422011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
21343
21344 PR c++/47218
21345 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
21346
96bbfbac
NP
213472011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
21348
21349 PR objc/47232
21350 * c-parser.c (c_parser_declaration_or_fndef): Improved
21351 error message.
21352
1ba6516f
KT
213532011-01-09 Kai Tietz <kai.tietz@onevision.com>
21354
21355 * config/i386/winnt.c (i386_pe_start_function): Make sure
21356 to switch back to function's section.
21357
0c5d770e
IS
213582011-01-09 Iain Sandoe <iains@gcc.gnu.org>
21359
21360 PR gcc/46902
21361 PR testsuite/46912
21362 * plugin.c: Move include of dlfcn.h from here...
21363 * system.h: ... to here.
21364
213652011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
21366
21367 * doc/cpp.texi (C++ Named Operators): Fix markup for header
21368 file name.
21369 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
21370 two extra empty pages in PDF output.
21371
046608a3
NP
213722011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
21373
21374 PR objc/47078
21375 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
21376 for error recovery purposes behave as if it was not specified so
21377 that the default type is usd.
21378
8cb114b9
JH
213792011-01-07 Jan Hubicka <jh@suse.cz>
21380
21381 PR tree-optmization/46469
21382 * ipa.c (function_and_variable_visibility): Clear needed flags on
21383 nodes with external decls; handle weakrefs merging correctly.
21384
b294a75e
JM
213852011-01-07 Joseph Myers <joseph@codesourcery.com>
21386
21387 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
21388 not false.
21389
96bdf9b4
JH
213902011-01-07 Jan Hubicka <jh@suse.cz>
21391
f60c2554 21392 * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
96bdf9b4
JH
21393 and no longer claim that gold is required for linker plugin.
21394 * configure: Regenerate.
21395 * gcc.c (PLUGIN_COND): New macro.
21396 (LINK_COMMAND_SPEC): Use it.
21397 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
21398 * config.in (HAVE_LTO_PLUGIN): New.
21399 * configure.ac (--with-lto-plugin): New parameter; autodetect
21400 HAVE_LTO_PLUGIN.
21401
17afc0fe
JH
214022011-01-07 Jan Hubicka <jh@suse.cz>
21403
21404 PR tree-optimization/46367
21405 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
21406 when we can update original.
21407 (cgraph_mark_inline_edge): Sanity check.
21408 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
21409
d4c48c0f
UW
214102011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
21411
21412 * config/spu/spu.h (ASM_COMMENT_START): Define.
21413
96f5b137
L
214142011-01-07 H.J. Lu <hongjiu.lu@intel.com>
21415
21416 PR driver/42445
21417 * gcc.c (%>S): New.
21418 (SWITCH_KEEP_FOR_GCC): Likewise.
21419 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
21420 (do_spec_1): Handle "%>".
21421
21422 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
21423
c6a8f6de
JJ
214242011-01-07 Jakub Jelinek <jakub@redhat.com>
21425
c21bbd7a
JJ
21426 PR target/47201
21427 * config/i386/i386.c (ix86_delegitimize_address): If
21428 simplify_gen_subreg fails, return orig_x.
21429
c6a8f6de
JJ
21430 PR bootstrap/47187
21431 * value-prof.c (gimple_stringop_fixed_value): Handle
21432 lhs of the call properly.
21433
fe95fbf9
JH
214342011-01-07 Jan Hubicka <jh@suse.cz>
21435
21436 PR lto/45375
21437 * lto-opt.c (lto_reissue_options): Set flag_shlib.
21438
14d11d40
IS
214392011-01-07 Iain Sandoe <iains@gcc.gnu.org>
21440
72e961c8
EB
21441 * target.def (function_switched_text_sections): New hook.
21442 * doc/tm.texi: Regenerated.
21443 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 21444 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
21445 (final_scan_insn): Call function_switched_text_sections when a
21446 mid-function section change occurs.
14d11d40 21447 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
21448 * config/darwin-protos.h (darwin_function_switched_text_sections):
21449 Likewise.
14d11d40 21450 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 21451 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 21452
0b764288
IS
214532011-01-07 Iain Sandoe <iains@gcc.gnu.org>
21454
21455 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
21456 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
21457 the secondary code fragment when outputting for DWARF == 2.
21458
2ac6bb04
AS
214592011-01-07 Anatoly Sokolov <aesok@post.ru>
21460
21461 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
21462 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
21463 Remove.
21464 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
21465 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
21466
9f82de11
EB
214672011-01-06 Eric Botcazou <ebotcazou@adacore.com>
21468
21469 PR debug/46704
280d9630
EB
21470 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
21471 when it is not empty.
9f82de11
EB
21472
214732011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 21474
1ed72abf 21475 Bobcat Enablement
14b52538 21476 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 21477 (case ${target}): Add btver1.
14b52538 21478 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 21479 -march=native recognize btver1 processors.
14b52538 21480 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 21481 btver1 def_and_undef
14b52538 21482 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
21483 btver1 cost table.
21484 (m_BTVER1): New definition.
21485 (m_AMD_MULTIPLE): Includes m_BTVER1.
21486 (initial_ix86_tune_features): Add btver1 tune.
21487 (processor_target_table): Add btver1 entry.
21488 (static const char *const cpu_names): Add btver1 entry.
21489 (software_prefetching_beneficial_p): Add btver1.
21490 (ix86_option_override_internal): Add btver1 instruction sets.
21491 (ix86_issue_rate): Add btver1.
21492 (ix86_adjust_cost): Add btver1.
14b52538 21493 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
21494 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
21495 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
21496 * config/i386/i386.md (define_attr "cpu"): Add btver1.
21497
e1a973d8
RO
214982011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21499
21500 PR target/43309
21501 * config/i386/i386.c (legitimize_tls_address)
21502 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
21503 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
21504 (tls_initial_exec_64_sun): New pattern.
21505
c73f67c5
GP
215062011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
21507
21508 * doc/invoke.texi (Overall Options): Improve wording and markup
21509 of the description of -wrapper.
21510
bc4c6f9c
JM
215112011-01-06 Joseph Myers <joseph@codesourcery.com>
21512
21513 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
21514 rdynamic, threads): New Driver options.
21515
adb75db0
RO
215162011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21517
21518 PR target/38118
21519 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
21520 if coming from .tdata.
21521 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
21522
402c1cb4
JH
215232011-01-06 Jan Hubicka <jh@suse.cz>
21524
21525 PR lto/47188
21526 * collect2.c (main): Do not enable LTOmode when plugin is active.
21527
a4da6485
RO
215282011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21529
21530 PR other/45915
21531 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
21532 --version output if supported.
21533 * configure: Regenerate.
21534
028dbdf4
JM
215352011-01-06 Joseph Myers <joseph@codesourcery.com>
21536
21537 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
21538 Driver options.
21539
dfe776dd
JJ
215402011-01-06 Jakub Jelinek <jakub@redhat.com>
21541
21542 PR c/47150
21543 * c-convert.c (convert): When converting a complex expression
21544 other than COMPLEX_EXPR to a different complex type, ensure
21545 c_save_expr is called instead of save_expr, unless in_late_binary_op.
21546 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
21547 when converting COMPLEX_TYPE.
21548
210dedfe
IR
215492011-01-06 Ira Rosen <irar@il.ibm.com>
21550
21551 PR tree-optimization/47139
21552 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
21553 only the last reduction value is used outside the loop. Update
21554 documentation.
21555
cd33a412
JM
215562011-01-05 Joseph Myers <joseph@codesourcery.com>
21557
21558 * config/rtems.opt: New.
21559 * config.gcc (*-*-rtems*): Use rtems.opt.
21560
819edd94
CF
215612011-01-05 Changpeng Fang <changpeng.fang@amd.com>
21562
21563 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
21564 processors do not support 3DNow instructions.
21565
dc242c4a
UW
215662011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
21567
21568 * config/spu/spu.c (spu_option_override): Set parameter
21569 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
21570
be286227
JH
215712011-01-05 Jan Hubicka <jh@suse.cz>
21572
21573 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
21574 at the command line.
21575
644e637f
MJ
215762011-01-05 Martin Jambor <mjambor@suse.cz>
21577
21578 PR lto/47162
21579 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
21580 deltas on streamed outgoing edges.
21581 (output_node_opt_summary): Output info for outgoing edges only when
21582 the node is in new parameter set.
21583 (output_cgraph_opt_summary): New parameter set, passed to the two
21584 aforementioned functions. Update its forward declaration and its
21585 callee too.
21586
7bd11157
TT
215872011-01-05 Tom Tromey <tromey@redhat.com>
21588
21589 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
21590 operator to c_finish_omp_atomic.
21591 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
21592 (build_unary_op): Update.
21593 (build_modify_expr): Update.
21594 (build_asm_expr): Update.
21595
f626b979
UW
215962011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
21597
21598 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
21599 newly inserted insns.
21600 (pad_bb): Likewise.
21601 (spu_emit_branch_hint): Likewise.
21602 (insert_hbrp_for_ilb_runout): Likewise.
21603 (spu_machine_dependent_reorg): Call df_finish_pass after
21604 schedule_insns returns.
21605
4c825c02
UW
216062011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
21607
21608 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
21609
5e9fba51
EB
216102011-01-05 Eric Botcazou <ebotcazou@adacore.com>
21611
21612 PR tree-optimization/47005
21613 * tree-sra.c (struct access): Add 'non_addressable' bit.
21614 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
21615 (decide_one_param_reduction): Return 0 if the parameter is passed by
21616 reference and one of the accesses in the group is non_addressable.
21617
3ebb5ca6
EB
216182011-01-04 Eric Botcazou <ebotcazou@adacore.com>
21619
21620 PR tree-optimization/47056
21621 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
21622 (mark_load): Likewise. Handle FUNCTION_DECL specially.
21623 (mark_store): Likewise. Pass STMT to ipa_record_reference.
21624
d5d4d14e
EB
216252011-01-04 Eric Botcazou <ebotcazou@adacore.com>
21626
21627 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
21628 initializer. Skip view conversions from aggregate types.
21629
d996ef70
KT
216302011-01-04 Kai Tietz <kai.tietz@onevision.com>
21631
21632 PR bootstrap/47055
21633 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
21634
509d65dd 216352011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
21636
21637 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
21638 obvious typo.
21639
55c623b5
UW
216402011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
21641
21642 * function.c (thread_prologue_and_epilogue_insns): Do not crash
21643 on empty epilogue sequences.
21644
b98d6b35
JM
216452011-01-04 Joseph Myers <joseph@codesourcery.com>
21646
21647 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
21648 non-static): New Driver options.
21649
a0d43bac
JZ
216502011-01-04 Jie Zhang <jie@codesourcery.com>
21651
21652 PR driver/47137
21653 * gcc.c (default_compilers[]): Set combinable field to 0
21654 for all assembly languages.
21655
2b18eb32
MX
216562011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
21657
21658 * config/mips/loongson3a.md: New file.
21659 * config/mips/mips.md: Include loongson3a.md.
21660 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
21661 TUNE_LOONGSON_3A.
21662
42a48c4f
EB
216632011-01-03 Eric Botcazou <ebotcazou@adacore.com>
21664
21665 PR middle-end/47017
21666 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
21667 instead of convert_memory_address_addr_space on the base expression.
21668
9c1732c4
UW
216692011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
21670
21671 * config/spu/spu.c (spu_option_override): Update error text
21672 for bad -march= / -mtune= values.
21673
aa474365
UW
216742011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
21675
21676 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
21677 if branch-hint optimization will be performed.
21678
9766135b
JJ
216792011-01-03 Jakub Jelinek <jakub@redhat.com>
21680
371556ee
JJ
21681 PR tree-optimization/47148
21682 * ipa-split.c (split_function): Convert arguments to
21683 DECL_ARG_TYPE if possible.
21684
1ac12fa2
JJ
21685 PR tree-optimization/47155
21686 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
21687 when computing uns.
21688
9766135b
JJ
21689 PR rtl-optimization/47157
21690 * combine.c (try_combine): If undobuf.other_insn becomes
21691 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
21692 and set *new_direct_jump_p too.
21693
f4a2e571
SP
216942011-01-03 Sebastian Pop <sebastian.pop@amd.com>
21695
21696 PR tree-optimization/47021
21697 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
21698
9f8e43c0
JJ
216992011-01-03 Jakub Jelinek <jakub@redhat.com>
21700
21701 * gcc.c (process_command): Update copyright notice dates.
21702 * gcov.c (print_version): Likewise.
21703 * gcov-dump.c (print_version): Likewise.
21704 * mips-tfile.c (main): Likewise.
21705 * mips-tdump.c (main): Likewise.
21706
1a2e38f3
MJ
217072011-01-03 Martin Jambor <mjambor@suse.cz>
21708
21709 PR tree-optimization/46801
21710 * tree-sra.c (type_internals_preclude_sra_p): Check whether
21711 aggregate fields start at byte boundary instead of the bit-field flag.
21712
56b721c5
L
217132011-01-03 H.J. Lu <hongjiu.lu@intel.com>
21714
21715 PR driver/47137
21716 * gcc.c (main): Revert revision 168407.
21717
839d549b
MJ
217182011-01-03 Martin Jambor <mjambor@suse.cz>
21719
21720 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
21721
4ce99a20 217222011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
21723
21724 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
21725 vector optab to expand vector/scalar shift, update gimple to vector.
21726
76df0ae6
MJ
217272011-01-03 Martin Jambor <mjambor@suse.cz>
21728
21729 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
21730 a thunk.
21731
ce47fda3
MJ
217322011-01-03 Martin Jambor <mjambor@suse.cz>
21733
21734 PR tree-optimization/46984
21735 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
21736 HOST_WIDE_INT.
21737 (cgraph_create_indirect_edge): Fixed line length.
21738 (cgraph_indirect_call_info): Declare.
21739 (cgraph_make_edge_direct) Update declaration.
21740 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
21741 (cgraph_create_indirect_edge): Use it.
21742 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
21743 callees.
21744 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
21745 the new thunk_delta representation.
21746 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
21747 HOST_WIDE_INT.
21748 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
21749 (ipa_read_indirect_edge_info): Likewise.
21750 * lto-cgraph.c (output_edge_opt_summary): New function.
21751 (output_node_opt_summary): Call it on all outgoing edges.
21752 (input_edge_opt_summary): New function.
21753 (input_node_opt_summary): Call it on all outgoing edges.
21754
1e67fa1f
L
217552011-01-02 H.J. Lu <hongjiu.lu@intel.com>
21756
21757 PR driver/47137
21758 * gcc.c (main): Don't check have_o when settting combine_inputs.
21759
6656b2ac
EB
217602011-01-02 Eric Botcazou <ebotcazou@adacore.com>
21761
21762 * regrename.c: Add general comment describing the pass.
21763 (struct du_head): Remove 'length' field.
21764 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
21765 (regrename_optimize): Do not sort chains. Rework comments, add others.
21766 Force renaming to the preferred class (if any) in the first pass and do
21767 not consider registers that belong to it in the second pass.
21768 (create_new_chain): Do not set 'length' field.
21769 (scan_rtx_reg): Likewise.
21770
bc470c24
JJ
217712011-01-02 Jakub Jelinek <jakub@redhat.com>
21772
4e996296
JJ
21773 PR tree-optimization/47140
21774 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
21775 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
21776 to bit_value_binop.
21777
bc470c24 21778 PR rtl-optimization/47028
6656b2ac
EB
21779 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
21780 parm_birth_insn instead of at the beginning of first bb.
bc470c24 21781
5af62fcd 217822011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
21783
21784 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
21785 Remove the word "see" before "@pxref".
21786 * doc/rtl.texi: Remove the word "see" before "@pxref".
21787
0e20c89f
JH
217882011-01-01 Jan Hubicka <jh@suse.cz>
21789
6656b2ac
EB
21790 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
21791 memory.
0e20c89f 21792
220e83ca
KT
217932011-01-01 Kai Tietz <kai.tietz@onevision.com>
21794
21795 PR target/38662
6656b2ac 21796 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 21797
ad41bd84 21798\f
797103eb 21799Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
21800
21801Copying and distribution of this file, with or without modification,
21802are permitted in any medium without royalty provided the copyright
21803notice and this notice are preserved.
This page took 5.181414 seconds and 5 git commands to generate.