]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
m32c.c: Don't include opts.h.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
bbfc9a8c
JM
12011-03-22 Joseph Myers <joseph@codesourcery.com>
2
3 * config/m32c/m32c.c: Don't include opts.h.
4 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
5 m32c_handle_option): Remove.
6 (m32c_option_override): Check global_options_set.x_target_memregs
7 instead of target_memregs_set.
8 * config/m32c/m32c.h (target_memregs): Remove.
9 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
10 variable.
11
e24b8335
JM
122011-03-22 Joseph Myers <joseph@codesourcery.com>
13
14 * config/iq2000/iq2000-opts.h: New.
15 * config/iq2000/iq2000.c: Don't include opts.h.
16 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
17 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune):
18 Remove.
19 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
20 HeaderInclude entry.
21 (iq2000_tune): New Variable entry.
22 (march=): Add comment. Use Enum.
23 (iq2000_arch): New Enum and EnumValue entries.
24 (mcpu=): Use Enum and Var.
25 (iq2000_tune): New Enum and EnumValue entries.
26
e6cc0c98
JM
272011-03-22 Joseph Myers <joseph@codesourcery.com>
28
29 * config/ia64/ia64-opts.h: New.
30 * config/ia64/ia64.c (ia64_tune): Remove.
31 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
32 here. Use error_at.
33 (ia64_option_override): Handle deferred OPT_mfixed_range_.
34 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
35 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
36 HeaderInclude entry.
37 (ia64_tune): New Variable entry.
38 (mfixed-range=): Use Defer and Var.
39 (mtune=): Use Enum and Var.
40 (ia64_tune): New Enum and EnumValue entries.
41
db25893c
JM
422011-03-22 Joseph Myers <joseph@codesourcery.com>
43
44 * config/frv/frv-opts.h: New.
45 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
46 frv-opts.h.
47 (frv_cpu_type): Remove.
48 * config/frv/frv.c: Don't include opts.h.
49 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
50 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude
51 entry.
52 (frv_cpu_type): New Variable entry.
53 (frv_cpu): New Enum and EnumValue entries.
54
6c223f5d
JM
552011-03-22 Joseph Myers <joseph@codesourcery.com>
56
57 * config/cris/cris.c (cris_handle_option): Access target_flags via
58 opts pointer. Don't assert that global structures are in use.
59 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
60 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
61
bbd399cf
JM
622011-03-22 Joseph Myers <joseph@codesourcery.com>
63
64 * config/bfin/bfin-opts.h: New.
65 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
66 bfin_si_revision, bfin_workarounds): Remove.
67 (bfin_cpus): Make static const.
68 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
69 not bfin_lib_id_given.
70 (bfin_handle_option): Don't set bfin_lib_id_given. Access
71 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
72 pointer. Use error_at. Don't assert that global structures are in
73 use.
74 * config/bfin/bfin.h: Include bfin-opts.h.
75 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
76 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
77 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
78 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
79 entries.
80
5e1b4d5a
JM
812011-03-22 Joseph Myers <joseph@codesourcery.com>
82
83 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
84 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
85 or -msoft-float here.
86 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
87 -msoft-float and -mhard-float.
88 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and
89 -msoft-float.
90 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
91 msoft-float.
92 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
93 -msoft-float.
94 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
95 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
96 not mhard-float.
97 (LIBGCC_SPEC): Don't handle -msoft-float.
98 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
99 -mhard-float.
100 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
101 msoft-float.
102 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
103 -mfloat-abi=*, not -msoft-float and -mhard-float.
104 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
105 -msoft-float.
106 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
107 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
108 mhard-float and msoft-float.
109 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
110 mfloat-abi=soft in comments, not mhard-float and msoft-float.
111 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
112 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
113 mhard-float.
114 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
115 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
116 msoft-float.
117 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
118 not mhard-float.
119 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
120 not msoft-float.
121
800d1de1
RH
1222011-03-22 Richard Henderson <rth@redhat.com>
123
124 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
125 TARGET_ABI_WINDOWS_NT.
126 (alpha_output_function_end_prologue): Likewise.
127 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
128 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
129 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
130 (trap, *movsi_nt_vms): Likewise.
131 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
132 (*tablejump_osf_nt_internal): Remove.
133 * config/alpha/predicates.md (input_operand): Only test Pmode.
134
c59ddd2b
JM
1352011-03-22 Joseph Myers <joseph@codesourcery.com>
136
137 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
138 via opts pointer. Use error_at. Don't assert that global
139 structures are in use.
140
1333f97f
JM
1412011-03-22 Joseph Myers <joseph@codesourcery.com>
142
143 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
144 (ix86_handle_option): Access ix86_isa_flags and
145 ix86_isa_flags_explicit via opts pointer. Don't assert that
146 global structures are in use.
147 (ix86_function_specific_save, ix86_function_specific_restore):
148 Update ix86_isa_flags_explicit field name.
149 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable
150 entry.
151 (ix86_isa_flags_explicit): Rename TargetSave entry to
152 x_ix86_isa_flags_explicit.
153
75db85d8
RH
1542011-03-22 Richard Henderson <rth@redhat.com>
155
156 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
157 (alpha_option_override, direct_return): Likewise.
158 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
159 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
160 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
161 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
162 (alpha_expand_epilogue, alpha_end_function): Likewise.
163 (alpha_init_libfuncs): Likewise.
164 (struct machine_function): Remove unicosmk members.
165 (print_operand) ['t']: Remove.
166 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
167 unicosmk_output_module_name, unicosmk_output_common,
168 current_section_align, unicosmk_output_text_section_asm_op,
169 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
170 unicosmk_section_type_flags, unicosmk_unique_section,
171 unicosmk_asm_named_section, unicosmk_insert_attributes,
172 unicosmk_output_align, unicosmk_defer_case_vector,
173 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
174 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
175 unicosmk_output_ssib, unicosmk_add_call_info_word,
176 unicosmk_extern_head, unicosmk_output_default_externs,
177 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
178 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
179 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
180 * config/alpha/alpha-protos.h: Update.
181 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
182 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
183 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
184 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
185 (*mulsi_se, mulvsi3): Likewise.
186 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
187 (*divmodsi_internal, call, call_value, realign): Likewise.
188 (moddi3, umoddi3): Likewise; remove duplicate expander.
189 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
190 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
191 (*movdi_nofix): Remove r/U alternative.
192 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
193 * config/alpha/constraints.md ("U"): Remove.
194 * config/alpha/predicates.md (call_operand"): Don't test
195 TARGET_ABI_UNICOSMK.
196
96e45421
JM
1972011-03-22 Joseph Myers <joseph@codesourcery.com>
198
199 * target.def (handle_option): Take gcc_options and
200 cl_decoded_option pointers and location_t.
201 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
202 * doc/tm.texi: Regenerate.
203 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
204 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
205 * lto-opts.c (lto_reissue_options): Generate option structure for
206 targetm.handle_option call.
207 * opts.c (target_handle_option): Update call to
208 targetm.handle_option. Remove assertions about values now passed
209 down to hook.
210 * targhooks.c (default_target_handle_option): New.
211 * targhooks.h (default_target_handle_option): Declare.
212 * config/alpha/alpha.c: Include opts.h.
213 (alpha_handle_option): Update to new hook interface.
214 * config/arm/arm.c: Include opts.h.
215 (arm_handle_option): Update to new hook interface.
216 * config/arm/t-arm (arm.o): Update dependencies.
217 * config/bfin/bfin.c: Include opts.h.
218 (bfin_handle_option): Update to new hook interface.
219 * config/cris/cris.c: Include opts.h.
220 (cris_handle_option): Update to new hook interface.
221 * config/frv/frv.c: Include opts.h.
222 (frv_handle_option): Update to new hook interface.
223 * config/i386/i386.c: Include opts.h.
224 (ix86_handle_option): Update to new hook interface.
225 (ix86_valid_target_attribute_inner_p): Generate option structure
226 for call to ix86_handle_option.
227 * config/i386/t-i386 (i386.o): Update dependencies.
228 * config/ia64/ia64.c: Include opts.h.
229 (ia64_handle_option): Update to new hook interface.
230 * config/ia64/t-ia64 (ia64.o): Update dependencies.
231 * config/iq2000/iq2000.c: Include opts.h.
232 (iq2000_handle_option): Update to new hook interface.
233 * config/m32c/m32c.c: Include opts.h.
234 (m32c_handle_option): Update to new hook interface.
235 * config/m32r/m32r.c: Include opts.h.
236 (m32r_handle_option): Update to new hook interface.
237 * config/m68k/m68k.c: Include opts.h.
238 (m68k_handle_option): Update to new hook interface.
239 * config/mep/mep.c: Include opts.h.
240 (mep_handle_option): Update to new hook interface.
241 * config/microblaze/microblaze.c: Include opts.h.
242 (microblaze_handle_option): Update to new hook interface.
243 * config/mips/mips.c: Include opts.h.
244 (mips_handle_option): Update to new hook interface.
245 * config/mn10300/mn10300.c: Include opts.h.
246 (mn10300_handle_option): Update to new hook interface.
247 * config/pa/pa.c: Include opts.h.
248 (pa_handle_option): Update to new hook interface.
249 * config/pdp11/pdp11.c: Include opts.h.
250 (pdp11_handle_option): Update to new hook interface.
251 * config/rs6000/rs6000.c: Include opts.h.
252 (rs6000_handle_option): Update to new hook interface.
253 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
254 * config/rx/rx.c: Include opts.h.
255 (rx_handle_option): Update to new hook interface.
256 * config/s390/s390.c: Include opts.h.
257 (s390_handle_option): Update to new hook interface.
258 * config/score/score.c: Include opts.h.
259 (score_handle_option): Update to new hook interface.
260 * config/sh/sh.c: Include opts.h.
261 (sh_handle_option): Update to new hook interface.
262 * config/sparc/sparc.c: Include opts.h.
263 (sparc_handle_option): Update to new hook interface.
264 * config/v850/v850.c: Include opts.h.
265 (v850_handle_option): Update to new hook interface.
266
66017846
JM
2672011-03-22 Joseph Myers <joseph@codesourcery.com>
268
269 * gcc.c (driver_unknown_option_callback): Only permit and save
270 unknown -Wno- options.
271 (driver_wrong_lang_callback): Save options directly instead of via
272 driver_unknown_option_callback.
273
e8b97ccd
EB
2742011-03-22 Eric Botcazou <ebotcazou@adacore.com>
275
276 * combine.c (simplify_set): Try harder to find the best CC mode when
277 simplifying a nested COMPARE on the RHS.
278
ebb9f8b0
JM
2792011-03-22 Joseph Myers <joseph@codesourcery.com>
280
281 * config/alpha/gnu.h: Remove.
282 * config/arc: Remove directory.
283 * config/arm/netbsd.h: Remove.
284 * config/arm/t-pe: Remove.
285 * config/crx: Remove directory.
286 * config/i386/netbsd.h: Remove.
287 * config/m68hc11: Remove directory.
288 * config/m68k/uclinux-oldabi.h: Remove.
289 * config/mcore/mcore-pe.h: Remove.
290 * config/mcore/t-mcore-pe: Remove.
291 * config/netbsd-aout.h: Remove.
292 * config/rs6000/gnu.h: Remove.
293 * config/sh/sh-symbian.h: Remove.
294 * config/sh/symbian-base.c: Remove.
295 * config/sh/symbian-c.c: Remove.
296 * config/sh/symbian-cxx.c: Remove.
297 * config/sh/symbian-post.h: Remove.
298 * config/sh/symbian-pre.h: Remove.
299 * config/sh/t-symbian: Remove.
300 * config/svr3.h: Remove.
301 * config/vax/netbsd.h: Remove.
302 * config.build: Don't handle i[34567]86-*-pe.
303 * config.gcc: Remove handling of deprecations for most deprecated
304 targets.
305 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
306 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
307 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
308 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
309 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
310 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
311 Remove cases.
312 * config.host: Don't handle i[34567]86-*-pe.
313 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
314 (ASM_SPEC32): Don't handle -mcall-gnu.
315 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
316 -mcall-gnu.
317 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
318 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
319 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
320 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
321 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
322 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
323 conditional on SYMBIAN.
324 * configure.ac: Don't handle powerpc*-*-gnu*.
325 * configure: Regenerate.
326 * doc/extend.texi (interrupt attribute): Don't mention CRX.
327 * doc/install-old.texi (m6811, m6812): Don't mention.
328 * doc/install.texi (arc-*-elf*): Don't document multilib option.
329 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
330 (m68k-uclinuxoldabi): Don't mention.
331 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
332 Remove.
333 (-mcall-gnu): Remove.
334 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
335 families): Remove constraint documentation.
336
999a7d80
MS
3372011-03-22 Marius Strobl <marius@FreeBSD.org>
338
339 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
340 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
341 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
342
980a0ff4
GJL
3432011-03-21 Georg-Johann Lay <avr@gjlay.de>
344
345 * config/avr/avr-protos.h (expand_epilogue): Change prototype
346 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
347 * config/avr/avr.c (init_cumulative_args)
348 (avr_function_arg_advance): Use it.
349 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
350 sibcall epilogues.
351 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
352 (avr_function_ok_for_sibcall): ...this new function.
353 (avr_lookup_function_attribute1): New static Function.
354 (avr_naked_function_p, interrupt_function_p)
355 (signal_function_p, avr_OS_task_function_p)
356 (avr_OS_main_function_p): Use it.
357 * config/avr/avr.md ("sibcall", "sibcall_value")
358 ("sibcall_epilogue"): New expander.
359 ("*call_insn", "*call_value_insn"): New insn.
360 ("call_insn", "call_value_insn"): Remove
361 ("call", "call_value", "epilogue"): Change expander to handle
362 sibling calls.
363
49168734
NC
3642011-03-21 Nick Clifton <nickc@redhat.com>
365
366 * doc/invoke.texi (Overall Options): Move closing brace to end of
367 options list.
368 (Optimization Options): Add missing @gol.
369 (Directory Options): Likewise.
370 (i386 and x86-64 Options): Likewise.
371 (RS6000 and PowerPC Options): Likewise.
372 (i386 and x86-64 Windows Options): Likewise.
373 (V850 Options): Add text missing from descriptions.
374
bdfe906f
RH
3752011-03-22 Richard Henderson <rth@redhat.com>
376
377 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
378 (avr_incoming_return_addr_rtx): New.
379 (emit_push_byte): New.
380 (expand_prologue): Use it. Remove incorrect dwarf annotation for
381 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
382 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
383 (emit_pop_byte): New.
384 (expand_epilogue): Use it. Pop frame pointer by bytes.
385 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
386 (INCOMING_RETURN_ADDR_RTX): New.
387 (INCOMING_FRAME_SP_OFFSET): New.
388 (ARG_POINTER_CFA_OFFSET): New.
389 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
390 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
391 (pophi): Remove.
392
d090a5aa
RH
393 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
394
009d3fcf
NF
3952011-03-22 Nathan Froyd <froydnj@codesourcery.com>
396
397 * tree.c (build_call_1): New function.
398 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
399
7bec30e1
RG
4002011-03-22 Richard Guenther <rguenther@suse.de>
401
402 PR tree-optimization/48228
403 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
404 for single-arg PHIs.
405
0b7e851b
AB
4062011-03-22 Andrey Belevantsev <abel@ispras.ru>
407
408 PR rtl-optimization/48143
409 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
410 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
411 sse2_cvtps2pd): Likewise.
412
d89afca5
AK
4132011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
414
415 * recog.c (canonicalize_change_group): Use validate_unshare_change.
416
f471fe72
RG
4172011-03-22 Richard Guenther <rguenther@suse.de>
418
419 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
420 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
421 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
422 and REALIGN_LOAD_EXPR.
423 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
424 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
425 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
426 DOT_PROD_EXPR case ...
427 (expand_expr_real_2): ... here.
428 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
429 and REALIGN_LOAD_EXPR.
430 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
431 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
432 (vect_create_epilog_for_reduction): Likewise.
433 (vectorizable_reduction): Likewise.
434 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
435 * tree-vect-stmts.c (vectorizable_load): Likewise.
436
f2f81d57
EB
4372011-03-22 Eric Botcazou <ebotcazou@adacore.com>
438
439 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
440
ab081dd6
AK
4412011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
442
443 * config/s390/s390.c (s390_delegitimize_address): Fix offset
444 handling for PLTOFF/GOTOFF.
445
6fd5332b
NC
4462011-03-22 Nick Clifton <nickc@redhat.com>
447
448 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
449 trailing backslash from the end of the macro definition.
450
01841ac0
AK
4512011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
452
453 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
454 and PLT unspecs.
455
2ef6ce06
RS
4562011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
457
458 * expr.h (prepare_operand): Move to...
459 * optabs.h (prepare_operand): ...here and change the insn code
460 parameter from "int" to "enum insn_code".
461 (insn_operand_matches): Declare.
462 * expr.c (init_expr_target): Use insn_operand_matches.
463 (compress_float_constant): Likewise.
464 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
465 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
466 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
467 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn): Likewise.
468 (gen_cond_trap): Likewise.
469 (prepare_operand): Likewise. Change icode to an insn_code.
470 (insn_operand_matches): New function.
471 * reload.c (find_reloads_address_1): Use insn_operand_matches.
472 * reload1.c (gen_reload): Likewise.
473 * targhooks.c (default_secondary_reload): Likewise.
474
9e43ad68
UB
4752011-03-21 Uros Bizjak <ubizjak@gmail.com>
476
9a96da32
UB
477 * config/alpha/alpha.md (unspec): New define_c_enum.
478 (unspecv): Ditto.
479
4802011-03-21 Uros Bizjak <ubizjak@gmail.com>
481
482 PR debug/48214
9e43ad68
UB
483 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
484 between a call and its CALL_ARG_LOCATION note.
485
31408f60
EB
4862011-03-21 Eric Botcazou <ebotcazou@adacore.com>
487
488 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
489
4902011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
491
492 PR c/42544
493 PR c/48197
494 * c-common.c (shorten_compare): If primopN is first sign-extended
495 to opN and then zero-extended to result type, set primopN to opN.
496
9dfd55f5
DJ
4972011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
498
499 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
500 for barrier handlers.
501
f3c33d9d
MM
5022011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
503
504 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
505 UNSPEC constants to be in the unspec enumeration, and redefine
506 all UNSPECV constants to be in the unspecv enumeration, so that
507 dumps print which unspec/unspec_volatile this is.
508 * config/rs6000/vector.md (UNSPEC_*): Ditto.
509 * config/rs6000/paired.md (UNSPEC_*): Ditto.
510 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
511 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
512 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
513
514 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
515 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
516 UNSPECV_LWSYNC, since these are used as unspec_volatile.
517 * config/rs6000/sync.md (isync, lwsync): Ditto.
518
ac43f774
RG
5192011-03-21 Richard Guenther <rguenther@suse.de>
520
521 * params.def (lto-min-partition): Fix typo.
522
411cdbd8
RG
5232011-03-21 Richard Guenther <rguenther@suse.de>
524
525 PR c/47939
526 * c-decl.c (grokdeclarator): Drop to the main variant only
527 for array types. Drop flag_gen_aux_info check.
528
1cd9e416
RG
5292011-03-21 Richard Guenther <rguenther@suse.de>
530
531 PR translation/47911
532 * params.def (lto-partitions): Fix typo.
533 (lto-min-partition): Fix wording.
534
ada5ad67
AT
5352011-03-21 Andreas Tobler <andreast@fgznet.ch>
536
537 * config/rs6000/t-freebsd: Remove duplication from file.
538
f9613c9a
RG
5392011-03-21 Richard Guenther <rguenther@suse.de>
540
541 PR middle-end/47661
542 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
543
9bfbc1eb
RG
5442011-03-21 Richard Guenther <rguenther@suse.de>
545
546 PR lto/48210
547 * params.def (lto-partitions): Require at least 1 partition.
548
a2268084
RO
5492011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
550
551 * gthr-solaris.h: Remove.
552 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
553 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
554 (LIB_SPEC): Likewise.
555 * config/sol2.opt (threads): Remove.
9e43ad68 556 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
557 (sparc*-*-solaris2*): Likewise.
558 * configure.ac (enable_threads): Enable solaris support.
559 * configure: Regenerate.
9e43ad68 560 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
561 * doc/install.texi (Configuration, --enable-threads=lib): Remove
562 solaris.
563
c43d9a1b
RO
5642011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
565
566 * config.gcc: Obsolete *-*-solaris2.8*.
567 * doc/install.texi (Specific, *-*-solaris2*): Document it.
568
084239f4
RO
5692011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
570
571 PR bootstrap/48135
572 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
573 reference. Solaris 8 perl works.
574
64cadbe7
RO
5752011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
576
577 PR bootstrap/48135
578 * doc/install.texi (Prerequisites): Move jar etc. up.
579 Explain support library version requirements.
580
eb975109
RO
5812011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
582
583 PR bootstrap/48135
584 * doc/install.texi (Prerequisites): Move Perl to build
585 requirements. Always necessary on Solaris 2 with Sun ld.
586
8a509ffd
RO
5872011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
588
589 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
590 binutils 2.21.
591 (Specific, i?86-*-solaris2.[89]): Likewise.
592 (Specific, i?86-*-solaris2.10): Likewise.
593 (Specific, mips-sgi-irix6): Likewise.
594 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
595 Update for binutils 2.21.
596
8fbc58a1
RO
5972011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
598
599 * configure.ac (gcc_cv_lto_plugin): Fix typo.
600 Allow -fuse-linker-plugin for non-default plugin linker.
601 * configure: Regenerate.
602
7e84ad0b
NP
6032011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
604
605 PR bootstrap/48167
606 * gengtype.c (files_rules): Added rule for cp/parser.h.
607
2f36e14b
JJ
6082011-03-21 Jakub Jelinek <jakub@redhat.com>
609
610 PR target/48213
611 * config/s390/s390.c (s390_delegitimize_address): Don't call
612 lowpart_subreg if orig_x has BLKmode.
613
62d784f7
KT
6142011-03-21 Kai Tietz <ktietz@redhat.com>
615
616 PR target/12171
9e43ad68
UB
617 * doc/plugins.texi: Adjust documentation for plugin register_callback.
618 * tree.h (attribute_spec): Add new member affects_type_identity.
619 * attribs.c (empty_attribute_table): Adjust attribute_spec
620 initializers.
62d784f7
KT
621 * config/alpha/alpha.c: Likewise.
622 * config/arc/arc.c: Likewise.
623 * config/arm/arm.c: Likewise.
624 * config/avr/avr.c: Likewise.
625 * config/bfin/bfin.c: Likewise.
626 * config/crx/crx.c: Likewise.
627 * config/darwin.h: Likewise.
628 * config/h8300/h8300.c: Likewise.
629 * config/i386/cygming.h: Likewise.
630 * config/i386/i386.c: Likewise.
631 * config/ia64/ia64.c: Likewise.
632 * config/m32c/m32c.c: Likewise.
633 * config/m32r/m32r.c: Likewise.
634 * config/m68hc11/m68hc11.c: Likewise.
635 * config/m68k/m68k.c: Likewise.
636 * config/mcore/mcore.c: Likewise.
637 * config/mep/mep.c: Likewise.
638 * config/microblaze/microblaze.c: Likewise.
639 * config/mips/mips.c: Likewise.
640 * config/rs6000/rs6000.c: Likewise.
641 * config/rx/rx.c: Likewise.
642 * config/sh/sh.c: Likewise.
643 * config/sol2.h: Likewise.
644 * config/sparc/sparc.c: Likewise.
645 * config/spu/spu.c: Likewise.
646 * config/stormy16/stormy16.c: Likewise.
647 * config/v850/v850.c: Likewise.
648
54833ec0
CLT
6492011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
650
651 * simplify-rtx.c (simplify_binary_operation_1): Handle
652 (xor (and A B) C) case when B and C are both constants.
653
14a41392
MX
6542011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
655
656 * tree-dfa.c (add_referenced_var): Fix typo in comment.
657
806c3492
EB
6582011-03-20 Eric Botcazou <ebotcazou@adacore.com>
659
660 PR bootstrap/48168
661 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
662
65e0a0f3
JJ
6632011-03-20 Jakub Jelinek <jakub@redhat.com>
664
665 PR rtl-optimization/48156
666 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
667 assume df and df_lr are not NULL.
668
b6a75dda
RR
6692011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
670
671 PR debug/48023
672 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
673 between a call and its CALL_ARG_LOCATION note.
674
5969b52d
KK
6752011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
676
677 PR debug/48178
678 * config/sh/sh.c (find_barrier): Don't emit a constant pool
679 between a call and its corresponding CALL_ARG_LOCATION note.
680
f773c2bd
AS
6812011-03-19 Anatoly Sokolov <aesok@post.ru>
682
683 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
684 instead of loop. Use HARD_REGISTER_NUM_P predicate.
685 * haifa-sched.c (setup_ref_regs): Ditto.
686 * caller-save.c (add_used_regs_1): Ditto.
687 * dse.c (look_for_hardregs): Ditto.
688 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
689 * sched-rgn.c (check_live_1): Ditto.
690
8bf872f9
JM
6912011-03-18 Joseph Myers <joseph@codesourcery.com>
692
693 * c-decl.c (diagnose_mismatched_decls): Give an error for
694 redefining a typedef with variably modified type.
695
ff8e2159
JM
6962011-03-18 Joseph Myers <joseph@codesourcery.com>
697
698 * c-decl.c (grokfield): Don't allow typedefs for structures or
699 unions with no tag by default.
700 * doc/extend.texi (Unnamed Fields): Update.
701
16cc4440
UB
7022011-03-18 Uros Bizjak <ubizjak@gmail.com>
703
704 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
705 Rewrite using indirect functions.
706 (lwp_slwpcb): Ditto.
707 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
708 (avx_vinsertf128<mode>): Ditto.
709
e101e12e
AK
7102011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
711
712 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
713 unspecs.
714
4627c7fb
AK
7152011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
716
717 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 718 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 719
2d36b47f
MK
7202011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
721
722 PR rtl-optimization/48170
723 * gcse.c (hoist_code): Remove bogus asserts.
724
2a3d7659
JL
7252011-03-18 Georg-Johann Lay <avr@gjlay.de>
726
727 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
728 computation for prologue/epilogue.
729
34c3ef05
RO
7302011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
731
732 * Makefile.in (check-consistency): Remove.
733
81f2b976
JJ
7342011-03-18 Jakub Jelinek <jakub@redhat.com>
735
736 PR debug/48176
737 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
738 arange_table_in_use is 0, but either text_section_used or
739 cold_text_section_used is true. Don't call it if
740 !info_section_emitted.
741
68fd7765
AS
7422011-03-18 Anatoly Sokolov <aesok@post.ru>
743
744 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
745 FUNCTION_VALUE_REGNO_P): Remove.
746 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
747 Remove.
748 * config/avr/avr.c (avr_ret_register): Make static inline.
749 (avr_function_value_regno_p): New function.
750 (avr_libcall_value): Make static. Add 'func' argument.
751 (avr_function_value): Make static. Rename 'func' argument to
752 'fn_decl_or_type', forward it to avr_libcall_value. Call
753 avr_ret_register function instead of RET_REGISTER macro.
754 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
755
b4ef8aac
JM
7562011-03-18 Jason Merrill <jason@redhat.com>
757
758 PR c++/23372
759 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
760
09a52fc3
RG
7612011-03-18 Richard Guenther <rguenther@suse.de>
762
763 * doc/install.texi (--enable-gold): Remove.
764 (--with-plugin-ld): Document.
765 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
766
2a3d7659 7672011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
768
769 PR middle-end/47790
770 * expr.c (optimize_bitfield_assignment_op): Revamp to work
771 again after expansion changes.
772
2abbb0fe
CLT
7732011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
774
775 * combine.c (try_combine): Do simplification only call of
776 subst() on i2 even when i1 is present. Update comments.
777
2efd0aa6
KK
7782011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
779
780 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
781 and UNSPEC_PCREL_SYMOFF.
782
30a49b23
AK
7832011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
784
785 * config/s390/s390.md: Use define_c_enum for the unspec constant
786 definitions.
787
419e1853
JJ
7882011-03-18 Richard Henderson <rth@redhat.com>
789 Jakub Jelinek <jakub@redhat.com>
790
791 PR bootstrap/48161
792 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
793 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
794
37875856
L
7952011-03-17 H.J. Lu <hongjiu.lu@intel.com>
796
797 PR middle-end/47725
798 * combine.c (cant_combine_insn_p): Don't check zero/sign
799 extended hard registers.
800
76069764
L
8012011-03-17 H.J. Lu <hongjiu.lu@intel.com>
802
803 PR middle-end/47725
804 * combine.c (cant_combine_insn_p): Check zero/sign extended
805 hard registers.
806
24da2019
AS
8072011-03-17 Anatoly Sokolov <aesok@post.ru>
808
809 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
810 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
811 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
812 Change return type to bool.
813 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
814
a82ff31f
JJ
8152011-03-17 Jakub Jelinek <jakub@redhat.com>
816
8b29c87a
JJ
817 PR debug/48163
818 * var-tracking.c (prepare_call_arguments): If CALL target
819 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
820 pc instead of looking it up using cselib_lookup and use
821 Pmode for it if x has VOIDmode.
822 * dwarf2out.c (gen_subprogram_die): If also both first and
823 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
824
a82ff31f
JJ
825 PR debug/48163
826 * function.c (assign_parms): For data.passed_pointer parms
827 use MEM of data.entry_parm instead of data.entry_parm itself
828 as DECL_INCOMING_RTL.
829 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
830 also when passed and declared mode is the same, DECL_RTL
831 is a MEM with pseudo as address and DECL_INCOMING_RTL is
832 a MEM too.
833
82ce305c
JL
8342011-03-16 Jeff Law <law@redhat.com>
835
836 PR rtl-optimization/37273
837 * ira-costs.c (scan_one_insn): Detect constants living in memory and
838 handle them like argument loads from stack slots. Do not double
839 count memory for memory constants and argument loads from stack slots.
840
fe58e02b
L
8412011-03-17 H.J. Lu <hongjiu.lu@intel.com>
842
843 PR debug/48160
844 * var-tracking.c (prepare_call_arguments): Check SUBREG.
845
6fc4dbc7
L
8462011-03-17 H.J. Lu <hongjiu.lu@intel.com>
847
848 PR target/48171
849 * config/i386/i386.opt: Add Save to -mavx and -mfma.
850
db3ed0b3
JJ
8512011-03-17 Jakub Jelinek <jakub@redhat.com>
852
8054a389
JJ
853 PR bootstrap/48153
854 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
855 if dwarf_strict.
856 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
857 Clear call_arg_locations and call_arg_loc_last always.
858
db3ed0b3
JJ
859 PR middle-end/48152
860 * var-tracking.c (prepare_call_arguments): If argument needs to be
861 passed by reference, adjust argtype and mode.
862
1bce4ff3
RG
8632011-03-17 Richard Guenther <rguenther@suse.de>
864
865 PR middle-end/48134
866 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
867 a value make sure to fold the statement.
868
7c71147d
CLT
8692011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
870
871 PR target/43872
872 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
873 return condition with !cfun->calls_alloca.
874
0e1ee172
RG
8752011-03-17 Richard Guenther <rguenther@suse.de>
876
877 PR bootstrap/48148
878 * lto-cgraph.c (input_overwrite_node): Clear the abstract
879 origin for decls in other ltrans units.
880 (input_varpool_node): Likewise.
881
f8bce518
RG
8822011-03-17 Richard Guenther <rguenther@suse.de>
883
884 PR middle-end/48165
885 * tree-object-size.c (compute_object_offset): Properly return
886 the offset operand of MEM_REFs as sizetype.
887
1b6fa860
JJ
8882011-03-17 Jakub Jelinek <jakub@redhat.com>
889
dabd47e7
JJ
890 PR rtl-optimization/48141
891 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
892 * dse.c: Include params.h.
893 (active_local_stores_len): New variable.
894 (add_wild_read, dse_step1): Clear it when setting active_local_stores
895 to NULL.
896 (record_store, check_mem_read_rtx): Decrease it when removing
897 from the chain.
898 (scan_insn): Likewise. Increase it when adding to chain, if it
899 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
900 set active_local_stores to NULL before the addition.
901 * Makefile.in (dse.o): Depend on $(PARAMS_H).
902
1b6fa860
JJ
903 PR rtl-optimization/48141
904 * dse.c (record_store): If no positions are needed in an insn
905 that cannot be deleted, at least unchain it from active_local_stores.
906
7b5cb7d6
DS
9072011-03-16 Dodji Seketeli <dodji@redhat.com>
908
909 PR debug/47510
910 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
911 (lookup_type_die_strip_naming_typedef): ... here.
912 (get_context_die): Use it.
913 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
914 the anonymous struct named by the naming typedef.
915
585e9d9d
L
9162011-03-16 H.J. Lu <hongjiu.lu@intel.com>
917
918 PR target/48154
919 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
920 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
921
6261ab0e
JL
9222011-03-16 Jeff Law <law@redhat.com>
923
924 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 925 check for operands of conditional. Allow type to be a pointer.
6261ab0e 926
0b0081ec
RG
9272011-03-16 Richard Guenther <rguenther@suse.de>
928
929 PR tree-optimization/48149
930 * fold-const.c (fold_binary_loc): Fold
931 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
932
64a3d647
RG
9332011-03-16 Richard Guenther <rguenther@suse.de>
934
935 PR tree-optimization/26134
936 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
937 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
938 (non_rewritable_mem_ref_base): Handle complex type component
939 accesses, constrain offsets for vector and complex extracts
940 more properly.
941
ef13324e
RG
9422011-03-16 Richard Guenther <rguenther@suse.de>
943
944 PR tree-optimization/48146
945 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
946 operands avoiding the need for renaming.
947
f0eddb90
RG
9482011-03-16 Richard Guenther <rguenther@suse.de>
949
950 * gimple-fold.c (maybe_fold_reference): Open-code relevant
951 constant folding. Move MEM_REF canonicalization first.
952 Rely on fold_const_aggregate_ref for initializer folding.
953 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
954
e42348b8
JJ
9552011-03-16 Jakub Jelinek <jakub@redhat.com>
956
29f10e71
JJ
957 PR middle-end/48136
958 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
959 arg0/arg1 or their arguments are always fold converted to matching
960 types.
961
e42348b8
JJ
962 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
963 to nargs.
964
55b46574
RO
9652011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
966
967 PR lto/46944
968 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
969 Handle in-tree gold.
970 (ld_vers): Extract binutils version for gold.
971 (gcc_cv_ld_hidden): Handle gold here.
972 (gcc_cv_lto_plugin): Determine level of linker plugin support.
973 * configure: Regenerate.
974 * config.in: Regenerate.
975 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
976 -fuse-linker-plugin otherwise.
977 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
978 (LINK_COMMAND_SPEC): Use it.
979 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
980
2b1c5433
JJ
9812011-03-16 Jakub Jelinek <jakub@redhat.com>
982
c2969d8e
JJ
983 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
984 * calls.c: Remove debug.h include.
985 (emit_call_1): Don't call virtual_call_token debug hook.
986 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
987 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
988 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
989 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
990 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
991 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
992 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
993 dwarf2out_virtual_call): Remove.
994 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
995 copy_call_info and virtual_call hooks.
996 (dwarf2out_init): Don't initialize vcall_insn_table,
997 debug_dcall_section and debug_vcall_section.
998 (prune_unused_types): Don't mark nodes from dcall_table.
999 (dwarf2out_finish): Don't output dcall or vcall tables.
1000 * final.c (final_scan_insn): Don't call direct_call or
1001 virtual_call debug hooks.
1002 * debug.h (struct gcc_debug_hooks): Remove direct_call,
1003 virtual_call_token, copy_call_info and virtual_call hooks.
1004 (debug_nothing_uid): Remove prototype.
1005 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
1006 copy_call_info and virtual_call hooks.
1007 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
1008 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
1009 * debug.c (do_nothing_debug_hooks): Likewise.
1010 (debug_nothing_uid): Remove.
1011 * doc/invoke.texi (-fenable-icf-debug): Remove.
1012 * common.opt (-fenable-icf-debug): Likewise.
1013
325f5379
JJ
1014 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
1015 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
1016 call's MEM. Handle functions returning aggregate through a hidden
1017 first pointer. For virtual calls add clobbered pc to call arguments
1018 chain.
1019 * dwarf2out.c (gen_subprogram_die): Emit
1020 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
1021 can't be emitted.
1022
a58a8e4b
JJ
1023 PR debug/45882
1024 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
1025 * rtl.h (ENTRY_VALUE_EXP): Define.
1026 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
1027 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
1028 * print-rtl.c (print_rtx): Likewise.
1029 * gengtype.c (adjust_field_rtx_def): Likewise.
1030 * var-tracking.c (vt_add_function_parameter): Adjust
1031 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
1032 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
1033 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
1034 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
1035 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
1036
2b1c5433
JJ
1037 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
1038 Call var_location debug hook even on CALL_INSNs.
1039 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
1040 * rtl.def (ENTRY_VALUE): New.
1041 * dwarf2out.c: Include cfglayout.h.
1042 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
1043 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
1044 (struct call_arg_loc_node): New type.
1045 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
1046 tail_call_site_count): New variables.
1047 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
1048 DW_TAG_GNU_call_site_parameter.
1049 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
1050 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
1051 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
1052 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
1053 and DW_AT_GNU_all_source_call_sites.
1054 (mem_loc_descriptor): Handle ENTRY_VALUE.
1055 (add_src_coords_attributes): Don't add enything if
1056 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
1057 (dwarf2out_abstract_function): Save and clear call_arg_location,
1058 call_site_count and tail_call_site_count around dwarf2out_decl call.
1059 (gen_call_site_die): New function.
1060 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
1061 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
1062 (dwarf2out_function_decl): Clear call_arg_locations,
1063 call_arg_loc_last, set call_site_count and tail_call_site_count
1064 to -1 and free block_map.
1065 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
1066 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
1067 followed by any real instructions.
1068 (dwarf2out_begin_function): Set call_site_count and
1069 tail_call_site_count to 0.
1070 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
1071 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
1072 attempt to force a DIE for it and worst case remove the attribute.
1073 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
1074 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
1075 the decl itself.
1076 * var-tracking.c: Include tm_p.h.
1077 (vt_stack_adjustments): For calls call note_register_arguments.
1078 (argument_reg_set): New variable.
1079 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
1080 ensure the VALUE is resolved.
1081 (call_arguments): New variable.
1082 (prepare_call_arguments): New function.
1083 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
1084 (struct expand_loc_callback_data): Add ignore_cur_loc field.
1085 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
1086 always use the best expression.
1087 (vt_expand_loc): Add ignore_cur_loc argument.
1088 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
1089 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
1090 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
1091 note for all calls.
1092 (vt_add_function_parameter): Use cselib_lookup_from_insn.
1093 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
1094 argument. Don't call cselib_preserve_only_values and
1095 cselib_reset_table.
1096 (note_register_arguments): New function.
1097 (vt_initialize): Compute argument_reg_set. Call
1098 vt_add_function_parameters before processing basic blocks instead of
1099 afterwards. For calls call prepare_call_arguments before calling
1100 cselib_process_insn.
1101 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
1102 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
1103 (var-tracking.o): Depend on $(TM_P_H).
1104 * cfglayout.h (insn_scope): New prototype.
1105 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
1106 * cfglayout.c (insn_scope): No longer static.
1107 * insn-notes.def (CALL_ARG_LOCATION): New.
1108 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
1109 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
1110 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
1111 nothing for DECL_EXTERNAL BLOCK_VARS.
1112
9ef13bd0
AM
11132011-03-16 Alan Modra <amodra@gmail.com>
1114
1115 PR target/45844
1116 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
1117 create invalid offset address for vsx splat insn.
1118 * config/rs6000/predicates.md (splat_input_operand): New.
1119 * config/rs6000/vsx.md (vsx_splat_*): Use it.
1120
56b67510
XDL
11212011-03-15 Xinliang David Li <davidxl@google.com>
1122
1123 PR c/47837
1124 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
1125 (normalize_preds): New function.
1126 (is_use_properly_guarded): Normalize def predicates.
1127
80fffdef
RR
11282011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1129
732f37c6 1130 PR target/46788
80fffdef
RR
1131 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
1132 in the output template.
1133
930672ad
RG
11342011-03-15 Richard Guenther <rguenther@suse.de>
1135
1136 PR middle-end/47650
1137 * tree-pretty-print.c (dump_function_declaration): Properly
1138 dump unprototyped and varargs function types.
1139
c7ee7b45
RG
11402011-03-15 Richard Guenther <rguenther@suse.de>
1141
1142 PR tree-optimization/13954
1143 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
1144 and friends.
1145
b2ad5e37
RG
11462011-03-15 Richard Guenther <rguenther@suse.de>
1147
1148 PR tree-optimization/48037
1149 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
1150 selects into BIT_FIELD_REFs.
1151 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
1152 vector select.
1153
7ee93d4e
JJ
11542011-03-15 Jakub Jelinek <jakub@redhat.com>
1155
1156 PR tree-optimization/48129
1157 * builtins.c (fold_builtin_snprintf): Convert to type of
1158 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
1159 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
1160
e106efc7
RG
11612011-03-15 Richard Guenther <rguenther@suse.de>
1162
1163 PR tree-optimization/41490
1164 * tree-ssa-dce.c (propagate_necessity): Handle returns without
1165 value but with VUSE.
1166 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
1167 return statements.
1168 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
1169 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
1170 * tree-tailcall.c (find_tail_calls): Ignore returns.
1171
17dea42f
RG
11722011-03-15 Richard Guenther <rguenther@suse.de>
1173
1174 PR middle-end/48031
1175 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
1176 or variable-indexed array accesses when in gimple form.
1177
01c77a60
RG
11782011-03-15 Richard Guenther <rguenther@suse.de>
1179
16cc4440 1180 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 1181
77b0791e
AM
11822011-03-15 Alan Modra <amodra@gmail.com>
1183
1184 PR target/48032
1185 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
1186 presume symbol_refs without a symbol_ref_decl are suitably
1187 aligned, nor other trees we may see here. Handle anchor symbols.
1188 (legitimate_constant_pool_address_p): Comment. Add mode param.
1189 Check cmodel=medium addresses. Adjust all calls.
1190 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
1191 creating cmodel=medium optimized access to locals.
1192 * config/rs6000/constraints.md (R): Pass QImode to
1193 legitimate_constant_pool_address_p.
1194 * config/rs6000/predicates.md (input_operand): Pass mode to
1195 legitimate_constant_pool_address_p.
1196 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
1197 Update prototype.
1198
35f61ba4
MM
11992011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
1200
1201 PR target/48053
1202 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
1203 64-bit constants being loaded into registers other than GPRs such
1204 as loading 0 into a VSX register.
1205
07332e6d
RO
12062011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1207
16cc4440 1208 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 1209
de888d90
JJ
12102011-03-14 Jakub Jelinek <jakub@redhat.com>
1211
ba3ceb2d
JJ
1212 PR middle-end/47917
1213 * builtins.c (fold_builtin_snprintf): New function.
1214 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
1215 (fold_builtin_4): Likewise.
1216
2e64f8b8
JJ
1217 PR middle-end/38878
1218 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
1219 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
1220 and C - X == X also strip nops from +/-/p+ operand.
1221 When optimizing -X == C, fold C to arg0's type.
1222
de888d90
JJ
1223 PR debug/47946
1224 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
1225 emit it as add_AT_int instead of add_AT_unsigned.
1226
12272011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
1228
1229 * unwind-dw2.c: Include sys/sdt.h if it exists.
1230 (_Unwind_DebugHook): Use STAP_PROBE2.
1231 * config.in, configure: Rebuild.
1232 * configure.ac: Check for sys/sdt.h.
1233
d34abfd2
UB
12342011-03-14 Uros Bizjak <ubizjak@gmail.com>
1235
1236 * config/i386/i386.md (ROUND_FLOOR): New constant.
1237 (ROUND_CEIL): Ditto.
1238 (ROUND_TRUNC): Ditto.
1239 (ROUND_MXCSR): Ditto.
1240 (ROUND_NO_EXC): Ditto.
1241 (rint<mode>2): Use new defines instead of numerical constants.
1242 (floor<mode>2): Ditto.
1243 (ceil<mode>2): Ditto.
1244 (btrunc<mode>2): Ditto.
1245 * config/i386/i386-builtin-types.def: Define ROUND function type
1246 aliases.
1247 * config/i386/i386.c (enum ix86_builtins): Add
1248 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
1249 (struct builtin_description): Add
1250 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
1251 (ix86_expand_sse_round): New static function.
1252 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
1253 function types.
1254 (ix86_builtin_vectorized_function): Handle
1255 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
1256
87f9e23d
TT
12572011-03-14 Tom Tromey <tromey@redhat.com>
1258
1259 * c-parser.c (c_parser_asm_string_literal): Clear
1260 warn_overlength_strings.
1261
b3ab9ea2
TT
12622011-03-14 Tom Tromey <tromey@redhat.com>
1263
1264 * c-parser.c (disable_extension_diagnostics): Save
1265 warn_overlength_strings.
1266 (restore_extension_diagnostics): Restore warn_overlength_strings.
1267
6bd73dd8
JJ
12682011-03-14 Jakub Jelinek <jakub@redhat.com>
1269
1270 * BASE-VER: Change to 4.7.0.
1271
7f4d6e1b
RG
12722011-03-14 Richard Guenther <rguenther@suse.de>
1273
1274 PR middle-end/48098
1275 * tree.c (build_vector_from_val): Adjust assert to requirements
1276 and reality.
1277
c6104ef1
JJ
12782011-03-14 Jakub Jelinek <jakub@redhat.com>
1279
1280 PR bootstrap/48102
d34abfd2 1281 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 1282
dfa95e19
AT
12832011-03-14 Andreas Tobler <andreast@fgznet.ch>
1284
1285 * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
1286 terms of target_flags_explicit. Adjust copyright year.
1287
1288 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
1289 * config/rs6000/t-freebsd: New file. Add override for
1290 LIB2FUNCS_EXTRA.
1291
bb322018
CD
12922011-03-13 Chris Demetriou <cgd@google.com>
1293
1294 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
1295 (-fno-diagnostics-show-option): this, to reflect current default.
1296 (-Werror=): Update text about -fno-diagnostics-show-option.
1297
12b1c80b
PB
12982011-03-12 Peter Bergner <bergner@vnet.ibm.com>
1299
1300 PR target/48053
1301 * config/rs6000/predicates.md (easy_vector_constant_add_self,
1302 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
1303 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
1304 mode is not V2DImode or V2DFmode.
1305 (vspltis_constant): Do not handle V2DImode and V2DFmode.
1306 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
1307 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
1308 registers to 0.
1309 (movdi_internal64): Likewise.
1310
57d598f7
SP
13112011-03-12 Sebastian Pop <sebastian.pop@amd.com>
1312
1313 PR tree-optimization/47127
1314 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
1315 parameter.
1316 (set_cloog_options): Same.
1317 (scop_to_clast): Same.
1318 (print_clast_stmt): Do not call cloog_state_malloc and
1319 cloog_state_free.
1320 (print_generated_program): Same.
1321 (gloog): Same.
1322 * graphite-clast-to-gimple.h (cloog_state): Declared.
1323 (scop_to_clast): Adjust declaration.
1324 * graphite.c (cloog_state): Defined here.
1325 (graphite_initialize): Call cloog_state_malloc.
1326 (graphite_finalize): Call cloog_state_free.
1327
f231b5ff
JM
13282011-03-11 Jason Merrill <jason@redhat.com>
1329
1330 * attribs.c (lookup_attribute_spec): Take const_tree.
1331 * tree.h: Adjust.
1332
6a4e2bd5
JM
13332011-03-11 Joseph Myers <joseph@codesourcery.com>
1334
1335 * config/sparc/sparc.c (sparc_option_override): Use
1336 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
1337
a758fd67
RG
13382011-03-11 Richard Guenther <rguenther@suse.de>
1339
1340 PR tree-optimization/48067
1341 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
1342 multiplication result will be only used once on the target
1343 stmt.
1344
03dfda54
RG
13452011-03-11 Richard Guenther <rguenther@suse.de>
1346
1347 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
1348
5f11a50a
RG
13492011-03-11 Richard Guenther <rguenther@suse.de>
1350
1351 PR lto/48073
1352 * tree.c (find_decls_types_r): Do not walk types only reachable
1353 from IDENTIFIER_NODEs.
1354
4074f163
JJ
13552011-03-11 Jakub Jelinek <jakub@redhat.com>
1356
1357 PR middle-end/48044
1358 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
1359 all vnode->force_output nodes as needed.
1360
30f7cdcd
JM
13612011-03-11 Jason Merrill <jason@redhat.com>
1362
1363 PR c++/48069
1364 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
1365 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
1366
62ecfeb8
MJ
13672011-03-11 Martin Jambor <mjambor@suse.cz>
1368
1369 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
1370 cgraph_node.
1371
e89e03ab
JJ
13722011-03-11 Jakub Jelinek <jakub@redhat.com>
1373
1374 PR tree-optimization/48063
1375 * ipa-inline.c (cgraph_decide_inlining): Don't try to
1376 inline functions called once if !tree_can_inline_p (node->callers).
1377
efbe978b 13782011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 1379
efbe978b
EB
1380 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
1381 extra_objs.
9d6193a7
CL
1382 * config/score/score3.c: Delete.
1383 * config/score/score3.h: Delete.
1384 * config/score/mul-div.S: Delete.
1385 * config/score/sfp-machine.h: Add new file.
1386 * config/score/constraints.md: Add new file.
1387 * config/score/t-score-softfp: Add new file.
efbe978b 1388 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
1389 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
1390 (score7_extra_constraint): Delete.
efbe978b 1391 (score7_option_override): Remove unused code.
9d6193a7
CL
1392 * config/score/score.c: Remove score3 and score5 define and code.
1393 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 1394 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
1395 * config/score/score.opt: Remove score3 and score5 options.
1396
5de27cca
JDA
13972011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1398
1399 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
1400 when _HPUX_SOURCE is defined.
1401 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
1402
18d92053
JM
14032011-03-10 Jason Merrill <jason@redhat.com>
1404
1405 PR c++/48029
1406 * stor-layout.c (layout_type): Don't set structural equality
1407 on arrays of incomplete type.
1408 * tree.c (type_hash_eq): Handle comparing them properly.
1409
67a2f76d
JJ
14102011-03-10 Jakub Jelinek <jakub@redhat.com>
1411
1412 PR debug/48043
18d92053 1413 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
1414 result mode matches original rtl mode.
1415
d845b2f9
NC
14162011-03-10 Nick Clifton <nickc@redhat.com>
1417
1418 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 1419 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 1420
db7ec035
JJ
14212011-03-09 Jakub Jelinek <jakub@redhat.com>
1422
1423 PR rtl-optimization/47866
1424 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
1425 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
1426 if target wasn't scalar.
1427 * function.c (assign_stack_temp_for_type): Assert that neither
1428 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
1429 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
1430 macro.
1431 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
1432
5d304e47
AK
14332011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1434
1435 * config/s390/s390-protos.h (s390_label_align): New prototype.
1436 * config/s390/s390.c (s390_label_align): New function.
1437 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
1438
93b826f0
MM
14392011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1440
1441 PR target/47755
1442 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
1443 V2DI/V2DF constants. Only all 0's or all 1's are easy.
1444 (output_vec_const_move): Ditto.
1445
ef78aed6
AS
14462011-03-08 Anatoly Sokolov <aesok@post.ru>
1447
1448 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
1449 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
1450 * config/mips/mips.c (mips_preferred_reload_class): Make static.
1451 Change 'rclass' argument and result type to reg_class_t.
1452 (TARGET_PREFERRED_RELOAD_CLASS): Define.
1453
5f892aa0
GJL
14542011-03-08 Georg-Johann Lay <avr@gjlay.de>
1455
9e43ad68
UB
1456 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
1457 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
1458 (TARGET_MEMORY_MOVE_COST): Define.
1459 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 1460
32bd2409
JJ
14612011-03-08 Jakub Jelinek <jakub@redhat.com>
1462
530a4800
JJ
1463 PR debug/47881
1464 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
1465 removed anything.
1466
32bd2409
JJ
1467 PR tree-optimization/48022
1468 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
1469 for EQ/NE_EXPR.
1470
c7148991
JJ
14712011-03-07 Jakub Jelinek <jakub@redhat.com>
1472
1473 PR debug/47991
1474 * var-tracking.c (find_use_val): Return NULL for
1475 cui->sets && cui->store_p BLKmode MEMs.
1476
43070a6e
AS
14772011-03-07 Anatoly Sokolov <aesok@post.ru>
1478
1479 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
1480 Remove.
1481 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
1482 xstormy16_print_operand_address): Remove.
1483 * config/stormy16/stormy16.c (xstormy16_print_operand,
1484 xstormy16_print_operand_address): Make static.
1485 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
1486
efbe978b 14872011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
1488
1489 PR target/47862
1490 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
1491 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
1492 before definition.
1493
cec8ac0b
ZD
14942011-03-07 Zdenek Dvorak <ook@ucw.cz>
1495
1496 PR bootstrap/48000
1497 * cfgloopmanip.c (fix_bb_placements): Return immediately
1498 if FROM is BASE_LOOP's header.
1499
59527282
PW
15002011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
1501
1502 * gimplify.c (gimplify_function_tree): Fix building calls
1503 to __builtin_return_address.
1504
617718f7
AM
15052011-03-07 Alan Modra <amodra@gmail.com>
1506
1507 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
1508 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
1509 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
1510 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
1511 return_mode args.
1512 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
1513 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
1514 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
1515 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
1516 * config/rs6000/rs6000.c
1517 (rs6000_elf_end_indicate_exec_stack): Rename to..
1518 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
1519 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
1520 (rs6000_file_start): ..here.
1521 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
1522 file scope variables.
1523 (call_ABI_of_interest): New function.
1524 (init_cumulative_args): Set above vars when function return value
1525 is a float, vector, or small struct.
1526 (rs6000_function_arg_advance_1): Likewise for function args.
1527 (rs6000_va_start): Set rs6000_passes_float if variable arg function
1528 references float args.
1529
38528d50
MX
15302011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
1531
1532 * doc/cfg.texi: Remove "See" before @ref.
1533 * doc/invoke.texi: Likewise.
1534
f42cf4f4
JM
15352011-03-05 Jason Merrill <jason@redhat.com>
1536
1537 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
1538
804a304d
AG
15392011-03-05 Anthony Green <green@moxielogic.com>
1540
1541 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
1542
634ee309
ZD
15432011-03-05 Zdenek Dvorak <ook@ucw.cz>
1544
1545 PR rtl-optimization/47899
1546 * cfgloopmanip.c (fix_bb_placements): Fix first argument
1547 to flow_loop_nested_p when moving the loop upward.
1548
6fe471c8
RE
15492011-03-05 Richard Earnshaw <rearnsha@arm.com>
1550
1551 PR target/47719
1552 * arm.md (movhi_insn_arch4): Accept any immediate constant.
1553
cc58ceee
JJ
15542011-03-05 Jakub Jelinek <jakub@redhat.com>
1555
1556 PR tree-optimization/47967
1557 * ipa-cp.c (build_const_val): Return NULL instead of creating
1558 VIEW_CONVERT_EXPR for mismatching sizes.
1559 (ipcp_create_replace_map): Return NULL if build_const_val failed.
1560 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
1561 give up on versioning.
1562
ea868305
AM
15632011-03-05 Alan Modra <amodra@gmail.com>
1564
1565 PR target/47986
1566 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
1567 full cmodel medium/large lo_sum + high addresses.
1568
bc6ce334
AK
15692011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1570
1571 * config/s390/s390.c (s390_decompose_address): Reject non-literal
1572 pool references in UNSPEC_LTREL_OFFSET.
1573
87e7b310
JH
15742011-03-04 Jan Hubicka <jh@suse.cz>
1575
1576 PR lto/47497
1577 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
1578 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
1579 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
1580 Add node pointers.
87e7b310
JH
1581 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
1582 cgraph_add_thunk): Add node pointers.
1583 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
1584 associated to right node.
1585 (input_node): Update use of cgraph_same_body_alias
1586 and cgraph_add_thunk.
1587
d9c64246
CF
15882011-03-04 Changpeng Fang <changpeng.fang@amd.com>
1589
1590 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
1591 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
1592 modes when the flag -mprefer-avx128 is on.
d9c64246 1593
08707076
RS
15942011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
1595
1596 * dwarf2out.c (compare_loc_operands): Fix address handling.
1597
52517c81
AM
15982011-03-04 Alan Modra <amodra@gmail.com>
1599
1600 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
1601
b147c5b9
RG
16022011-03-04 Richard Guenther <rguenther@suse.de>
1603
1604 PR middle-end/47968
1605 * expmed.c (extract_bit_field_1): Prefer vector modes that
1606 vec_extract patterns can handle.
1607
8750672f
RG
16082011-03-04 Richard Guenther <rguenther@suse.de>
1609
1610 PR middle-end/47975
1611 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
1612
9eac0f2a
RH
16132011-03-04 Richard Henderson <rth@redhat.com>
1614
1615 * explow.c (emit_stack_save): Remove 'after' parameter.
1616 (emit_stack_restore): Likewise.
1617 * expr.h: Update to match.
1618 * builtins.c, calls.c, stmt.c: Likewise.
1619 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
1620 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
1621 * function.c (expand_function_end): Insert the emit_stack_save
1622 sequence before parm_birth_insn instead of after.
1623
dfee1406
UB
16242011-03-03 Uros Bizjak <ubizjak@gmail.com>
1625
1626 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
1627 (ssse3_pmaddubsw128): Ditto.
1628 (ssse3_pmaddubsw): Ditto.
1629
f1d4c3de
SE
16302011-03-03 Steve Ellcey <sje@cup.hp.com>
1631
1632 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
1633
71f3a3f5
JJ
16342011-03-03 Jakub Jelinek <jakub@redhat.com>
1635
423ed416
JJ
1636 PR c/47963
1637 * gimplify.c (omp_add_variable): Only call omp_notice_variable
1638 on TYPE_SIZE_UNIT if it is a DECL.
1639
71f3a3f5
JJ
1640 PR debug/47283
1641 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
1642 first operand is not is_gimple_mem_ref_addr, try to fold it.
1643 If the operand still isn't is_gimple_mem_ref_addr, clear
1644 MEM_EXPR on op0.
1645
4b1a5c0d
RG
16462011-03-03 Richard Guenther <rguenther@suse.de>
1647
1648 PR middle-end/47283
1649 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
1650 match comment.
1651 (refs_may_alias_p_1): For release branches return true if
1652 we are confused by our input.
1653
b46616fd
AK
16542011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1655
1656 * config/s390/s390.c (s390_function_value): Rename to ...
1657 (s390_function_and_libcall_value): ... this.
1658 (s390_function_value): New function.
1659 (s390_libcall_value): New function.
dfee1406 1660 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
1661 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
1662 target macro definitions.
1663 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
1664
46d8fabb
JM
16652011-03-02 Joseph Myers <joseph@codesourcery.com>
1666
1667 * config/i386/freebsd64.h (CC1_SPEC): Define.
1668 * config/i386/linux64.h (CC1_SPEC): Define.
1669 * config/i386/x86-64.h (CC1_SPEC): Don't define.
1670
6b1ce545
AS
16712011-03-02 Anatoly Sokolov <aesok@post.ru>
1672
1673 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
1674 Remove.
1675 * config/stormy16/stormy16.c: Include reload.h.
1676 (xstormy16_memory_move_cost): New function.
1677 (TARGET_MEMORY_MOVE_COST): Define.
1678
34161e98
RS
16792011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
1680
1681 PR rtl-optimization/47925
1682 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
1683 with side effects. Remove the more-specific check for volatile asms.
1684
f60a97cf
AM
16852011-03-02 Alan Modra <amodra@gmail.com>
1686
1687 PR target/47935
1688 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
1689 toc relative addresses for valid offsets.
1690
f2ca11ca
RG
16912011-03-01 Richard Guenther <rguenther@suse.de>
1692
1693 PR tree-optimization/47890
1694 * tree-vect-loop.c (get_initial_def_for_induction): Set
1695 related stmt properly.
1696
7a00d9ea
RG
16972011-03-01 Richard Guenther <rguenther@suse.de>
1698
1699 PR lto/47924
1700 * lto-streamer.c (lto_record_common_node): Also register
1701 the canonical type.
1702
06c7edcc
RG
17032011-03-01 Richard Guenther <rguenther@suse.de>
1704
1705 PR lto/46911
1706 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
1707 Do not stream DECL_ABSTRACT_ORIGIN.
1708 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
1709 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
1710 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
1711 Do not stream DECL_ABSTRACT_ORIGIN.
1712 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
1713 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
1714
998871e9
AS
17152011-02-28 Anatoly Sokolov <aesok@post.ru>
1716
1717 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
1718 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 1719 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
1720 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
1721 Add 'outgoing' argument.
1722 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
1723 function.
1724 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1725 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1726
94369251
KT
17272011-02-28 Kai Tietz <kai.tietz@onevision.com>
1728
1729 PR debug/28047
1730 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
1731 (lookup_filename): Likewise.
b2e2ea67 1732 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 1733
80a832cd
JJ
17342011-02-28 Bernd Schmidt <bernds@codesourcery.com>
1735 Jakub Jelinek <jakub@redhat.com>
1736
1737 PR middle-end/47893
1738 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
1739 (assign_stack_local_1): Change last argument type to int.
1740 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
1741 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 1742 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
1743 (assign_stack_local): Adjust caller.
1744 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
1745 of assign_stack_local, pass 0 as last argument.
1746 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
1747 callers.
1748
1b500976
JJ
17492011-02-28 Jakub Jelinek <jakub@redhat.com>
1750
f61c6f34
JJ
1751 PR debug/47283
1752 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
1753 Use target address_mode and pointer_mode hooks instead of hardcoded
1754 Pmode and ptr_mode. Handle some simple cases of extending if
1755 POINTERS_EXTEND_UNSIGNED < 0.
1756 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
1757 Call convert_debug_memory_address.
1758 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
1759 convert_debug_memory_address.
1760
1b500976
JJ
1761 PR middle-end/46790
1762 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
1763 * configure: Regenerated.
1764 * config.in: Regenerated.
1765 * varasm.c (default_function_section): Return NULL
b2e2ea67 1766 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 1767
2f2935b6
MJ
17682011-02-28 Martin Jambor <mjambor@suse.cz>
1769
1770 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
1771 the description to match the printed values.
1772
474086eb
RG
17732011-02-28 Richard Guenther <rguenther@suse.de>
1774
1775 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
1776 of the copied scope tree.
1777
15bf6f3a
RW
17782011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1779
1780 * doc/extend.texi (Function Attributes): Avoid deeply (and
1781 wrongly) nested tables.
1782
f6b439c9
JJ
17832011-02-27 Jakub Jelinek <jakub@redhat.com>
1784
1785 PR middle-end/47903
1786 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
1787 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
1788 r isn't op0 nor op1.
1789
1d8ca2c7
GJL
17902011-02-23 Georg-Johann Lay <avr@gjlay.de>
1791
1792 * config/avr/avr.md: Remove magic comment for emacs.
1793
593fca4b
GJL
17942011-02-23 Georg-Johann Lay <avr@gjlay.de>
1795
1796 PR target/45261
1797 * config/avr/avr.c (avr_option_override): Use error on bad options.
1798 (avr_help): New function.
1799 (TARGET_HELP): Define.
1800
6609216e
GJL
18012011-02-22 Georg-Johann Lay <avr@gjlay.de>
1802
1803 PR target/42240
1804 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
1805 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
1806
03d458af
GP
18072011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
1808
1809 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
1810 (ARM Options): Ditto.
1811 (i386 and x86-64 Options): Ditto.
1812 (RX Options): Ditto.
1813 (SPARC Options): Ditto.
1814
1c379b78
TC
18152011-02-26 Tijl Coosemans <tijl@coosemans.org>
1816
1817 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
1818 FreeBSD 6 and later. Generally use cpu generic.
1819
d5ed058c 18202011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 1821
d5ed058c
GP
1822 * doc/cpp.texi: Update copyright years.
1823
509d65dd 18242011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 1825
509d65dd 1826 PR target/46898
308d39cd
SB
1827 * config/lm32/lm32.md (ashrsi3): Added needed variable.
1828
509d65dd 18292011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 1830
509d65dd 1831 PR target/46898
308d39cd
SB
1832 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
1833 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
1834 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
1835 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 1836 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
1837 (gen_int_relational): Move declarations to start of function.
1838
822ba6d7
EB
18392011-02-25 Eric Botcazou <ebotcazou@adacore.com>
1840
1841 PR tree-optimization/45470
1842 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
1843 can throw internally only.
1844 * tree-vect-stmts.c (vectorizable_call): Likewise.
1845
ef795fc2
AS
18462011-02-24 Anatoly Sokolov <aesok@post.ru>
1847
1848 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
1849 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1850 * config/stormy16/stormy16-protos.h
1851 (xstormy16_preferred_reload_class): Remove.
1852 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
1853 static. Change 'rclass' argument and return type to reg_class_t.
1854 (TARGET_PREFERRED_RELOAD_CLASS,
1855 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1856
1c3277ee
RG
18572011-02-24 Richard Guenther <rguenther@suse.de>
1858
1859 * lto-streamer-in.c (input_bb): Do not find referenced vars
1860 in debug statements.
1861
67e18edb
JM
18622011-02-23 Jason Merrill <jason@redhat.com>
1863
1864 * common.opt (fabi-version): Document v5 and v6.
1865
b14fad9d
RG
18662011-02-23 Richard Guenther <rguenther@suse.de>
1867
1868 PR tree-optimization/47849
1869 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
1870
7fcf46f5
JZ
18712011-02-23 Jie Zhang <jie@codesourcery.com>
1872
1873 * opts-common.c (decode_cmdline_option): Print empty string
1874 argument as "" in decoded->orig_option_with_args_text.
1875 * gcc.c (execute): Print empty string argument as ""
1876 in the verbose output.
1877 (do_spec_1): Keep empty string argument.
1878
f85b70fd
NF
18792011-02-23 Nathan Froyd <froydnj@codesourcery.com>
1880
1881 * config.gcc: Declare score-* and crx-* obsolete.
1882
b152a615
JZ
18832011-02-23 Jie Zhang <jie@codesourcery.com>
1884
1885 PR rtl-optimization/47763
1886 * web.c (web_main): Ignore naked clobber when replacing register.
1887
bb6e77bc
AS
18882011-02-22 Anatoly Sokolov <aesok@post.ru>
1889
1890 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
1891 Remove.
1892
68bf6491
SP
18932011-02-22 Sebastian Pop <sebastian.pop@amd.com>
1894
1895 PR doc/47848
1896 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
1897
88ee1fc7
MS
18982011-02-22 Mike Stump <mikestump@comcast.net>
1899
1900 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
1901 assembler.
1902 * configure: Regenerate.
1903
6042d1dd
CLT
19042011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
1905
1906 PR rtl-optimization/46002
1907 * ira-color.c (update_copy_costs): Change class intersection
1908 test to reg_class_contents[] test of 'hard_regno'.
1909
7de97f9e
JM
19102011-02-21 Joseph Myers <joseph@codesourcery.com>
1911
1912 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
1913 than Driver option.
1914 * config/hpux11.opt (mt): Likewise.
1915 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
1916 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
1917 * config/vax/elf.opt (mno-asm-pic): Likewise.
1918 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
1919
d1d46f9f
MS
19202011-02-21 Mike Stump <mikestump@comcast.net>
1921
1922 PR target/47822
1923 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
1924 tree so we can get save the type.
1925 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
1926 for CFString instead of trying to use past the end of the builtins.
1927 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
1928 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
1929 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
1930 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
1931 Rename to darwin_builtin_cfstring.
1932 (darwin_init_cfstring_builtins): Return the built type.
1933
23e0d930
UB
19342011-02-21 Uros Bizjak <ubizjak@gmail.com>
1935
1936 PR target/47840
1937 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
1938 (_mm256_insert_epi64): Use _mm_insert_epi64.
1939
192997cf
AS
19402011-02-21 Anatoly Sokolov <aesok@post.ru>
1941
1942 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1943 * config/stormy16/stormy16-protos.h
1944 (xstormy16_mode_dependent_address_p): Remove.
1945 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
1946 Make static. Change return type to bool. Change argument type to
1947 const_rtx. Remove dead code.
1948 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1949
e292d003
RG
19502011-02-21 Richard Guenther <rguenther@suse.de>
1951
1952 PR lto/47820
1953 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
1954 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1955 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
1956 TUs context.
23e0d930 1957 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
1958 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1959
77f846e9
RG
19602011-02-20 Richard Guenther <rguenther@suse.de>
1961
1962 PR lto/47822
1963 * tree.c (free_lang_data_in_decl): Clean builtins from
1964 the TU decl BLOCK_VARS.
23e0d930 1965
b2cddfc8
AO
19662011-02-19 Alexandre Oliva <aoliva@redhat.com>
1967
1968 PR debug/47620
1969 PR debug/47630
1970 * haifa-sched.c (fix_tick_ready): Skip tick computation
1971 for debug insns.
1972
becf4c11
RG
19732011-02-19 Richard Guenther <rguenther@suse.de>
1974
1975 PR lto/47647
1976 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
1977 Remove lazy BLOCK_VARS streaming.
1978 (lto_input_ts_block_tree_pointers): Likewise.
1979 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
1980
27f98305
JM
19812011-02-19 Joseph Myers <joseph@codesourcery.com>
1982
1983 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
1984
064bf3f4
JM
19852011-02-19 Joseph Myers <joseph@codesourcery.com>
1986
1987 * config/i386/biarch32.h, config/i386/mach.h,
1988 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
1989
9215ddc3
JJ
19902011-02-19 Jakub Jelinek <jakub@redhat.com>
1991
1992 PR target/47800
1993 * config/i386/i386.md (peephole2 for shift and plus): Use
1994 operands[1] original mode in the first insn.
1995
8b021004
MS
19962011-02-18 Mike Stump <mikestump@comcast.net>
1997
65ded153 1998 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 1999
f84ae14c
JH
20002011-02-18 Jan Hubicka <jh@suse.cz>
2001
2002 PR middle-end/47788
65ded153
EB
2003 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
2004 to zero when the function is not inlinable at all.
f84ae14c 2005
eddabc80
JDA
20062011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2007
2008 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
2009 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
2010 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
2011 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
2012 * config/pa/t-pa64: Likewise.
2013 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2014
ca3da783
JJ
20152011-02-18 Jakub Jelinek <jakub@redhat.com>
2016
2017 PR driver/47787
2018 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
2019
430aa868
JDA
20202011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2021
2022 PR target/47792
2023 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
2024
4bf7ff7e
AS
20252011-02-18 Anatoly Sokolov <aesok@post.ru>
2026
2027 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
2028 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
2029 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
2030 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
2031 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
2032 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
2033 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
2034 m32r_load_postinc_p, m32r_store_preinc_predec_p,
2035 m32r_legitimate_address_p): New functions.
2036 * config/m32r/constraints.md (constraint "S"): Don't use
2037 STORE_PREINC_PREDEC_P.
2038 (constraint "U"): Don't use LOAD_POSTINC_P.
2039
7efcf910
CLT
20402011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
2041
2042 PR rtl-optimization/46178
2043 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
2044 compute ira_hard_regno_cover_class[].
2045
237d6259
RG
20462011-02-18 Richard Guenther <rguenther@suse.de>
2047
2048 PR lto/47798
2049 * lto-streamer.h (lto_global_var_decls): Declare.
2050 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
2051 statics for global var processing.
2052
12d80acc
RG
20532011-02-18 Richard Guenther <rguenther@suse.de>
2054
2055 PR tree-optimization/47737
2056 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
2057 edge dominance check.
2058
abfea58d
JJ
20592011-02-18 Jakub Jelinek <jakub@redhat.com>
2060
2061 PR debug/47780
2062 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
2063 avoid invalid rtx sharing.
2064
f73c8882
GP
20652011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
2066
2067 * doc/cpp.texi (Obsolete Features): Add background on the
2068 origin of assertions.
2069
d764a8e6
IS
20702011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2071
2072 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 2073 objc_abi == 2.
d764a8e6
IS
2074 * config/darwin.c (output_objc_section_asm_op): Added support for
2075 ABI v1 and v2.
2076 (is_objc_metadata): New.
2077 (darwin_objc2_section): New.
2078 (darwin_objc1_section): New.
2079 (machopic_select_section): Added support for ABI v1 and v2.
2080 (darwin_emit_objc_zeroed): New.
2081 (darwin_output_aligned_bss): Detect objc metadata and treat it
2082 appropriately.
2083 (darwin_asm_output_aligned_decl_common): Same.
2084 (darwin_asm_output_aligned_decl_local): Same.
2085 * config/darwin-sections.def: Updated for ABI v1 and v2.
2086 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
2087 compiling Objective-C code for the NeXT runtime, default to using
2088 ABI version 0 for 32-bit, and version 2 for 64-bit.
2089
0a8134ca
JM
20902011-02-17 Joseph Myers <joseph@codesourcery.com>
2091
2092 * common.opt (optimize_fast): New Variable.
2093 * opts.c (default_options_optimization): Use opts->x_optimize_fast
2094 instead of local variable ofast.
2095
0a256240
NP
20962011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
2097
2098 * doc/invoke.texi (fobjc-abi-version): Documented.
2099 (fobjc-nilcheck): Documented.
2100 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
2101 version.
2102
fa381cb2
JM
21032011-02-17 Joseph Myers <joseph@codesourcery.com>
2104
2105 PR driver/47390
2106 * common.opt (export-dynamic): New Driver option.
2107 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
2108
5437eaa6
JM
21092011-02-17 Joseph Myers <joseph@codesourcery.com>
2110
2111 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
2112
bb7e6d55
AO
21132011-02-17 Alexandre Oliva <aoliva@redhat.com>
2114 Jan Hubicka <jh@suse.cz>
2115
2116 PR debug/47106
2117 PR debug/47402
2118 * cfgexpand.c (account_used_vars_for_block): Remove.
2119 (estimated_stack_frame_size): Use referenced vars.
2120 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
2121 that were referenced in the original function. Test src_fn
2122 rather than cfun. Drop redundant get_var_ann.
2123 (setup_one_parameter): Drop redundant get_var_ann.
2124 (declare_return_variable): Likewise.
2125 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
2126 (copy_arguments_for_versioning): Drop redundant get_var_ann.
2127 * ipa-inline.c (compute_inline_parameters): Do not compute
2128 disregard_inline_limits here.
bb7e6d55
AO
2129 (compute_inlinable_for_current, pass_inlinable): New.
2130 (pass_inline_parameters): Require PROP_referenced_vars.
2131 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 2132 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
2133 (cgraph_analyze_function): Set .disregard_inline_limits.
2134 * tree-sra.c (convert_callers): Compute inliner parameters
2135 only for functions already in SSA form.
2136
f181a8a7
JM
21372011-02-17 Joseph Myers <joseph@codesourcery.com>
2138
2139 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
2140 -mlittle-endian-data.
2141
c6869789
JM
21422011-02-17 Joseph Myers <joseph@codesourcery.com>
2143
2144 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
2145 -mno-fpu, not -fpu and -no-fpu.
2146 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
2147 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
2148
fbf4bfd3
UB
21492011-02-17 Uros Bizjak <ubizjak@gmail.com>
2150
2151 PR target/43653
2152 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
2153 input reload with PLUS RTX.
2154
70be5dc7
JM
21552011-02-16 Joseph Myers <joseph@codesourcery.com>
2156
2157 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
2158 of InverseVar(MDMX).
2159
30b1646e
JM
21602011-02-16 Joseph Myers <joseph@codesourcery.com>
2161
2162 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
2163 --m4-340.
2164
ab7b71e9
JM
21652011-02-16 Joseph Myers <joseph@codesourcery.com>
2166
2167 * config/mn10300/mn10300.opt (mno-crt0): New.
2168
466f3f08
JM
21692011-02-16 Joseph Myers <joseph@codesourcery.com>
2170
2171 * config/m68k/uclinux.opt (static-libc): New Driver option.
2172
8226cd7b
JM
21732011-02-16 Joseph Myers <joseph@codesourcery.com>
2174
2175 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
2176
45cab1d7
JM
21772011-02-16 Joseph Myers <joseph@codesourcery.com>
2178
2179 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
2180 %{muser-extend-enabled}.
2181
65aab64f
RG
21822011-02-16 Richard Guenther <rguenther@suse.de>
2183
2184 PR tree-optimization/47738
2185 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
2186 the TODO from tree_predictive_commoning.
2187
fc2fa4fb
JL
21882011-02-15 Jeff Law <law@redhat.com>
2189
2190 Revert
2191 2011-01-25 Jeff Law <law@redhat.com>
2192
2193 PR rtl-optimization/37273
2194 * ira-costs.c (scan_one_insn): Detect constants living in memory and
2195 handle them like argument loads from stack slots. Do not double
2196 count memory for memory constants and argument loads from stack slots.
2197
4e380b8e
L
21982011-02-15 H.J. Lu <hongjiu.lu@intel.com>
2199
2200 PR middle-end/47725
2201 * combine.c (cant_combine_insn_p): Revert the last change.
2202
e3a69bb4
MM
22032011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
2204
2205 PR target/47755
2206 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
2207 mode for vector constants. Remove code that checks for TImode.
2208
de650422
AO
22092011-02-15 Alexandre Oliva <aoliva@redhat.com>
2210
2211 PR debug/47106
2212 PR debug/47402
2213 * cgraph.h (compute_inline_parameters): Return void.
2214 * ipa-inline.c (compute_inline_parameters): Adjust.
2215
30925d94
AO
22162011-02-15 Alexandre Oliva <aoliva@redhat.com>
2217
2218 PR debug/47106
2219 PR debug/47402
2220 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
2221 rather than decl.
2222 * cfgexpand.c (estimated_stack_frame_size): Likewise.
2223 * ipa-inline.c (compute_inline_parameters): Adjust.
2224
1b9a784a
AO
22252011-02-15 Alexandre Oliva <aoliva@redhat.com>
2226
2227 PR debug/47106
2228 PR debug/47402
2229 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
2230 Adjust all users. Pass FN to...
2231 * tree-flow-inline.h (first_referenced_var): ... this. Add
2232 fn argument.
2233 * ipa-struct-reorg.c: Adjust.
2234 * tree-dfa.c: Adjust.
2235 * tree-into-ssa.c: Adjust.
2236 * tree-sra.c: Adjust.
2237 * tree-ssa-alias.c: Adjust.
2238 * tree-ssa-live.c: Adjust.
2239 * tree-ssa.c: Adjust.
2240 * tree-ssanames.c: Adjust.
2241 * tree-tailcall.c: Adjust.
2242
27c6b086
AO
22432011-02-15 Alexandre Oliva <aoliva@redhat.com>
2244
2245 PR debug/47106
2246 PR debug/47402
2247 * tree-flow.h (referenced_var_lookup): Add fn parameter.
2248 Adjust all callers.
2249 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
2250 * tree-flow-inline.h: Adjust.
2251 * gimple-pretty-print.c: Adjust.
2252 * tree-into-ssa.c: Adjust.
2253 * tree-ssa.c: Adjust.
2254 * cfgexpand.c: Adjust.
2255
679e8183
NF
22562011-02-15 Nathan Froyd <froydnj@codesourcery.com>
2257
fbf4bfd3
UB
2258 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
2259 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2260 (EXTRA_CONSTRAINT): Delete.
2261 * config/iq2000/constraints.md: New file.
2262 * config/iq2000/iq2000.md: Include it.
679e8183
NF
2263 (define_insn ""): Delete.
2264 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
2265 unsupported constraint letters from patterns.
2266 (call_value, call_value_internal1): Likewise.
2267 (call_value_multiple_internal1): Likewise.
2268
a45d420a
NC
22692011-02-15 Nick Clifton <nickc@redhat.com>
2270
2271 * config/mn10300/mn10300.c: Include tm-constrs.h.
2272 (struct liw_data): New data structure describing an LIW candidate
2273 instruction.
2274 (extract_bundle): Use struct liw_data. Allow small integer
2275 operands for some instructions.
2276 (check_liw_constraints): Use struct liw_data. Remove swapped
2277 parameter. Add comments describing the checks. Fix bug when
2278 assigning the source of liw1 to the source of liw2.
2279 (liw_candidate): Delete. Code moved into extract_bundle.
2280 (mn10300_bundle_liw): Use struct liw_data. Check constraints
2281 before swapping.
2282 * config/mn10300/predicates.md (liw_operand): New predicate.
2283 Allows registers and small integer constants.
2284 * config/mn10300/constraints.md (O): New constraint. Accetps
2285 integers in the range -8 to +7 inclusive.
2286 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
2287 for moving a small integer into a register. Give this alternative
2288 LIW attributes.
2289 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
2290 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
2291 using the J,K,L and M constraints,
2292 (liw): Remove SI mode on second operands to allow for HI and QI
2293 mode values.
2294 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
2295 instruction.
2296
8a73faf1
L
22972011-02-15 H.J. Lu <hongjiu.lu@intel.com>
2298
2299 PR middle-end/47725
2300 * combine.c (cant_combine_insn_p): Check zero/sign extended
2301 hard registers.
2302
48feba28
RG
23032011-02-15 Richard Guenther <rguenther@suse.de>
2304
2305 PR tree-optimization/47743
2306 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
2307 for a non-type-compatible VN lookup bail out.
2308
ad1c1eeb
NF
23092011-02-15 Nathan Froyd <froydnj@codesourcery.com>
2310
2311 * config/fr30/constraints.md: New file.
2312 * config/fr30/fr30.md: Include it.
2313 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
2314 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2315 (EXTRA_CONSTRAINT): Delete.
2316
49ac143d
NF
23172011-02-15 Nathan Froyd <froydnj@codesourcery.com>
2318
2319 * config/frv/constraints.md: New file.
2320 * config/frv/predicates.md: Include it.
2321 * config/frv/frv.c (reg_class_from_letter): Delete.
2322 (frv_option_override): Don't initialize it.
2323 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
2324 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
2325 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
2326 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
2327 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
2328 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2329 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
2330 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
2331 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
2332 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
2333 (REG_CLASS_FROM_CONSTRAINT): Delete.
2334
c95f9494
JJ
23352011-02-15 Jakub Jelinek <jakub@redhat.com>
2336
2337 PR middle-end/47581
2338 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
2339 if frame size is 0 in a leaf function.
2340
13aed611
RO
23412011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2342
2343 PR pch/14940
2344 * config/alpha/host-osf.c: New file.
2345 * config/alpha/x-osf: New file.
2346 * config.host (alpha*-dec-osf*): Use it.
2347
b09c3081
AS
23482011-02-14 Anatoly Sokolov <aesok@post.ru>
2349
2350 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2351 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
2352 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
2353 (rx_mode_dependent_address_p): ...this. Make static. Change argument
2354 type to const_rtx.
2355 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2356
d634083b
NF
23572011-02-14 Nathan Froyd <froydnj@codesourcery.com>
2358
2359 * config/stormy16/constraints.md: New file.
2360 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
2361 Use satisfies_constraint_Q and satisfies_constraint_R.
2362 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
2363 Delete.
2364 (xstormy16_legitiamte_address_p): Declare.
2365 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
2366 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2367 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 2368 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
2369 Un-staticize.
2370 (xstormy16_extra_constraint_p): Delete.
2371
c7dd803e
EB
23722011-02-14 Eric Botcazou <ebotcazou@adacore.com>
2373
2374 PR tree-optimization/46494
2375 * loop-unroll.c (split_edge_and_insert): Adjust comment.
2376 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
2377 (pass_rtl_loop_done): Add TODO_verify_flow.
2378 * fwprop.c (pass_rtl_fwprop): Likewise.
2379 * modulo-sched.c (pass_sms): Likewise.
2380 * tree-ssa-dom.c (pass_dominator): Likewise.
2381 * tree-ssa-loop-ch.c (pass_ch): Likewise.
2382 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
2383 (pass_tree_loop_done): Likewise.
2384 * tree-ssa-pre.c (execute_pre): Likewise.
2385 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
2386 * tree-ssa-sink.c (pass_sink_code): Likewise.
2387 * tree-vrp.c (pass_vrp): Likewise.
2388
c6150df6
NF
23892011-02-14 Nathan Froyd <froydnj@codesourcery.com>
2390
c7dd803e
EB
2391 * config/v850/constraints.md: New file.
2392 * config/v850/v850.md: Include it.
2393 * config/v850/predicates.md (reg_or_0_operand): Use
2394 satisfies_constraint_G.
2395 (special_symbolref_operand): Use satisfies_constraint_K.
2396 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
2397 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
2398 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
2399 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
2400 (EXTRA_CONSTRAINT): Delete.
2401 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
2402 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
2403 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 2404
30dd1ea3
AS
24052011-02-14 Anatoly Sokolov <aesok@post.ru>
2406
2407 PR target/47696
2408 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
2409 description.
2410
944f4bb3
NF
24112011-02-14 Nathan Froyd <froydnj@codesourcery.com>
2412
2413 * config/mcore/constraints.md: New file.
2414 * config/mcore/mcore.md: Include it.
2415 * config/mcore/mcore.c (reg_class_from_letter): Delete.
2416 * config/mcore/mcore.h (reg_class_from_letter): Delete.
2417 (REG_CLASS_FROM_LETTER): Delete.
2418 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
2419 insn_const_int_ok_for_constraint.
2420 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
2421 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
2422 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2423 (EXTRA_CONSTRAINT): Delete.
2424
ad56a54c
RO
24252011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2426
2427 PR ada/41929
2428 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
2429 (IS_SIGHANDLER): Define.
2430 (sparc64_is_sighandler): New function, split off from
2431 sparc64_fallback_frame_state.
2432 (sparc_is_sighandler): New function, split off from
2433 sparc_fallback_frame_state.
2434 (sparc64_fallback_frame_state): Merge with ...
2435 (sparc_fallback_frame_state): ... this into ...
2436 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
2437 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
2438 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
2439 stack instead of hardcoded offsets.
ad56a54c 2440
fbf4bfd3 24412011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
2442
2443 PR target/45808
2444 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
2445
029c8f3e
RW
24462011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2447
2448 * configure: Regenerate.
2449
a016dc83
JM
24502011-02-12 Joseph Myers <joseph@codesourcery.com>
2451
2452 PR driver/45731
2453 * gcc.c (asm_options): Correct spec matching --target-help.
2454
8957a0ec
MJ
24552011-02-12 Martin Jambor <mjambor@suse.cz>
2456
2457 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
2458 to gimple call error.
2459
6ef828bc
MS
24602011-02-12 Mike Stump <mikestump@comcast.net>
2461
2462 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
2463 comments in backslash regions.
2464
a4015be5
MS
24652011-02-12 Mike Stump <mikestump@comcast.net>
2466 Jakub Jelinek <jakub@redhat.com>
2467 Iain Sandoe <iains@gcc.gnu.org>
2468
2469 PR target/47324
2470 * dwarf2out.c (output_cfa_loc): When required, apply the
2471 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
2472 (output_loc_sequence): Likewise.
2473 (output_loc_operands_raw): Likewise.
2474 (output_loc_sequence_raw): Likewise.
2475 (output_cfa_loc): Likewise.
2476 (output_loc_list): Suppress register number adjustment when
2477 calling output_loc_sequence()
2478 (output_die): Likewise.
2479
5378dda2
AS
24802011-02-12 Anatoly Sokolov <aesok@post.ru>
2481
2482 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
2483 Remove macros.
2484 * config/xtensa/xtensa.c (xtensa_register_move_cost,
2485 xtensa_memory_move_cost): New functions.
2486 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
2487
f3d533d3
AO
24882011-02-12 Alexandre Oliva <aoliva@redhat.com>
2489
2490 PR lto/47225
2491 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
2492 in the current directory.
2493 * configure: Rebuilt.
2494
9d53403c
IS
24952011-02-12 Iain Sandoe <iains@gcc.gnu.org>
2496
2497 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 2498 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
2499 correct indents of the preceding block.
2500
a350a6c8
IS
25012011-02-12 Iain Sandoe <iains@gcc.gnu.org>
2502
2503 * gcc.c (driver_handle_option): Concatenate the argument to -F with
2504 the switch.
2505
bab79a40
JM
25062011-02-11 Joseph Myers <joseph@codesourcery.com>
2507
2508 * common.opt (nostartfiles): New Driver option.
2509
1bbc6693
XDL
25102011-02-11 Xinliang David Li <davidxl@google.com>
2511
2512 PR tree-optimization/47707
2513 * tree-chrec.c (convert_affine_scev): Keep type precision.
2514
1da7d8c0
EB
25152011-02-11 Eric Botcazou <ebotcazou@adacore.com>
2516
2517 PR tree-optimization/47420
2518 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
2519
25202011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
2521
2522 PR rtl-optimization/47614
2523 * rtl.h (check_for_inc_dec): Declare.
2524 * dse.c (check_for_inc_dec): Externalize...
2525 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
2526 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
2527
4df47bca
JM
25282011-02-11 Joseph Myers <joseph@codesourcery.com>
2529
2530 PR driver/47678
2531 * gcc.c (main): Do not compile inputs if there were errors in
2532 option handling.
2533 * opts-common.c (read_cmdline_option): Check for wrong language
2534 after other error checks.
2535
61502ca8
NF
25362011-02-11 Nathan Froyd <froydnj@codesourcery.com>
2537
2538 * cgraph.c: Fix comment typos.
2539 * cgraph.h: Likewise.
2540 * cgraphunit.c: Likewise.
2541 * ipa-cp.c: Likewise.
2542 * ipa-inline.c: Likewise.
2543 * ipa-prop.c: Likewise.
2544 * ipa-pure-const.c: Likewise.
2545 * ipa-ref.c: Likewise.
2546 * ipa-reference.c: Likewise.
2547
b63f974e
JJ
25482011-02-11 Jakub Jelinek <jakub@redhat.com>
2549
d50c5e0c
JJ
2550 PR debug/47684
2551 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 2552
6dd2a13c
RO
25532011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2554
2555 PR testsuite/47400
2556 * doc/sourcebuild.texi (Require Support): Document
2557 dg-require-ascii-locale.
2558
4a087ccf
MX
25592011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
2560
2561 * doc/lto.texi (Write summary): Fix missing parentheses.
2562
a4403164
DD
25632011-02-10 DJ Delorie <dj@redhat.com>
2564
2565 * config/m32c/m32c.c (m32c_option_override): Disable
2566 -fcombine-stack-adjustments until flag value tracking and compare
2567 optimization can be rewritten.
2568
4fac45bd
PB
25692011-02-10 Peter Bergner <bergner@vnet.ibm.com>
2570
2571 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
2572 PROCESSOR_POWER7.
2573 (PROCESSOR_DEFAULT64): Likewise.
2574
72602cd1
RH
25752011-02-10 Richard Henderson <rth@redhat.com>
2576
2577 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
2578 change from 2011-02-03.
2579 * config/rx/rx.c (flags_from_code): Likewise.
2580 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
2581 is valid, n/pz otherwise.
2582 (rx_select_cc_mode): Return CCmode if Y is not zero.
2583
ea57f573
RG
25842011-02-10 Richard Guenther <rguenther@suse.de>
2585
ea4c3e65 2586 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 2587
92b1d23b
RG
25882011-02-10 Richard Guenther <rguenther@suse.de>
2589
2590 PR tree-optimization/47677
2591 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
2592
525a2d06
JJ
25932011-02-10 Jakub Jelinek <jakub@redhat.com>
2594
2595 PR target/47665
2596 * combine.c (make_compound_operation): Only change shifts into
2597 multiplication for SCALAR_INT_MODE_P.
2598
06c969bd
JZ
25992011-02-10 Jie Zhang <jie@codesourcery.com>
2600
2601 PR testsuite/47622
2602 Revert
2603 2011-02-05 Jie Zhang <jie@codesourcery.com>
2604 PR debug/42631
2605 * web.c (entry_register): Don't clobber the number of the
2606 first uninitialized reference in used[].
2607
282ec48e
RG
26082011-02-09 Richard Guenther <rguenther@suse.de>
2609
2610 PR tree-optimization/47664
2611 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
2612 all edges again.
2613
df98c3e8
DE
26142011-02-09 David Edelsohn <dje.gcc@gmail.com>
2615
d0f21cd6
DE
2616 PR target/46481
2617 PR target/47032
df98c3e8
DE
2618 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
2619 PROCESSOR_POWER7.
2620 (PROCESSOR_DEFAULT64): Same.
2621 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
2622
67b6839f
RO
26232011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2624
2625 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
2626
4fd73214
MJ
26272011-02-09 Martin Jambor <mjambor@suse.cz>
2628
2629 PR middle-end/45505
2630 * tree-sra.c (struct access): New flags grp_scalar_read and
2631 grp_scalar_write. Changed description of assignment read and write
2632 flags.
2633 (dump_access): Dump new flags, reorder all of them.
2634 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
2635 to detect multiple scalar reads.
2636 (analyze_access_subtree): Use the new scalar read write flags instead
2637 of the old flags. Adjusted comments.
2638
91140cd3
DD
26392011-02-08 DJ Delorie <dj@redhat.com>
2640
2641 PR target/47548
2642 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
2643 patterns.
2644
4254bbfe
JM
26452011-02-08 Joseph Myers <joseph@codesourcery.com>
2646
2647 * config/m68k/uclinux.opt: New.
2648 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
2649
f1fda84e
JM
26502011-02-08 Joseph Myers <joseph@codesourcery.com>
2651
2652 * config/cris/elf.opt (sim): New Driver option.
2653
4933ae74
JM
26542011-02-08 Joseph Myers <joseph@codesourcery.com>
2655
2656 * config/xtensa/elf.opt: New.
2657 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
2658
4ad70280
JM
26592011-02-08 Joseph Myers <joseph@codesourcery.com>
2660
2661 * config/vax/elf.opt: New.
2662 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
2663
20893707
JM
26642011-02-08 Joseph Myers <joseph@codesourcery.com>
2665
2666 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
2667
b8e7038e
JM
26682011-02-08 Joseph Myers <joseph@codesourcery.com>
2669
2670 * config/gnu-user.opt: New.
2671 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
2672 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
2673 *-*-uclinux*): Use gnu-user.opt.
2674
e1c5225a
TS
26752011-02-08 Thomas Schwinge <thomas@schwinge.name>
2676
2677 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
2678 * config/i386/gnu.h (CPP_SPEC): Likewise.
2679
5e46b0c6
ILT
26802011-02-08 Ian Lance Taylor <iant@google.com>
2681
2682 * common.opt (fcx-limited-range): Add SetByCombined flag.
2683 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
2684 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
2685 (fassociative-math, freciprocal-math): Likewise.
2686 (funsafe-math-optimizations): Likewise.
2687 * opth-gen.awk: Handle SetByCombined.
2688 * optc-gen.awk: Likewise.
ea4c3e65 2689 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
2690 (set_unsafe_math_optimizations_flags): Likewise.
2691 * doc/options.texi (Option properties): Document SetByCombined.
2692
32243d46
JM
26932011-02-08 Joseph Myers <joseph@codesourcery.com>
2694
2695 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
2696 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
2697 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
2698 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
2699 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
2700
479c1fb3
SP
27012011-02-08 Sebastian Pop <sebastian.pop@amd.com>
2702
2703 PR tree-optimization/46834
2704 PR tree-optimization/46994
2705 PR tree-optimization/46995
2706 * graphite-sese-to-poly.c (used_outside_reduction): New.
2707 (detect_commutative_reduction): Call used_outside_reduction.
2708 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
2709 translate_scalar_reduction_to_array only when at least one
2710 loop-phi/close-phi tuple has been detected.
2711
3865a06f
RG
27122011-02-08 Richard Guenther <rguenther@suse.de>
2713
2714 PR middle-end/47639
2715 * tree-vect-generic.c (expand_vector_operations_1): Update
2716 stmts here ...
2717 (expand_vector_operations): ... not here. Cleanup EH info
2718 and the CFG if required.
2719
62902f3f
RG
27202011-02-08 Richard Guenther <rguenther@suse.de>
2721
2722 PR tree-optimization/47641
2723 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
2724 require type compatibility.
2725
0efb9d64
AK
27262011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2727
2728 * gimple-low.c (lower_function_body): Don't remove the location of
2729 the return statement here.
2730 (lower_gimple_return): Do it here instead but only if the return
2731 statement is actually used twice.
2732
034b8ae4
RG
27332011-02-08 Richard Guenther <rguenther@suse.de>
2734
2735 PR tree-optimization/47632
2736 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
2737 unused up_to_stmt parameter, return whether cfg-cleanup is
2738 necessary, remove EH info properly.
2739 (forward_propagate_into_gimple_cond): Adjust caller.
2740 (forward_propagate_into_cond): Likewise.
2741 (forward_propagate_comparison): Likewise.
2742 (tree_ssa_forward_propagate_single_use_vars): Make
2743 forward_propagate_comparison case similar to the two others.
2744
298362c8
NC
27452011-02-08 Nick Clifton <nickc@redhat.com>
2746
2747 * config/mn10300/mn10300.opt (mliw): New command line option.
2748 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
2749 (liw_bundling): New automaton.
2750 (liw): New attribute.
2751 (liw_op): New attribute.
2752 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
2753 (movsi_internal): Add LIW attributes.
2754 (andsi3): Likewise.
2755 (iorsi3): Likewise.
2756 (xorsi3): Likewise.
2757 (addsi3): Separate register and immediate alternatives.
2758 Add LIW attributes.
2759 (subsi3): Likewise.
2760 (cmpsi): Likewise.
2761 (aslsi3): Likewise.
2762 (lshrsi3): Likewise.
2763 (ashrsi3): Likewise.
2764 (liw): New pattern.
2765 * config/mn10300/mn10300.c (liw_op_names): New
2766 (mn10300_print_operand): Handle 'W' operand descriptor.
2767 (extract_bundle): New function.
2768 (check_liw_constraints): New function.
2769 (liw_candidate): New function.
2770 (mn10300_bundle_liw): New function.
2771 (mn10300_reorg): New function.
2772 (TARGET_MACHINE_DEPENDENT_REORG): Define.
2773 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
2774 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
2775 __LIW__ or __NO_LIW__.
2776 * doc/invoke.texi: Describe the -mliw command line option.
2777
90488014
JDA
27782011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2779
2780 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
2781 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
2782 pthread_mutex_unlock): Remove.
2783 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
2784 * config/pa/t-pa64: Likewise.
2785 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
2786 shared libc if not linking against libpthread.
2787 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
2788
689ff841
IS
27892011-02-07 Iain Sandoe <iains@gcc.gnu.org>
2790
2791 PR target/47558
2792 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
2793 on 10.6 and later to ensure that we always use the unwinder from
2794 the system. Only add -no_compact_unwind when tarteting darwin
2795 10.6 or later.
2796
821014aa
SE
27972011-02-07 Steve Ellcey <sje@cup.hp.com>
2798
2799 PR target/46997
2800 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
2801 (vec_interleave_lowv2sf): Ditto.
2802 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
2803 (vec_extract_oddv2sf): Ditto.
2804
41cf94fb
MS
28052011-02-07 Mike Stump <mikestump@comcast.net>
2806
62dea57d 2807 PR target/42333
41cf94fb
MS
2808 Add __ieee_divdc3 entry point.
2809 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
2810 entry point.
2811 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
2812 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
2813 * config/darwin.c (darwin_rename_builtins): Add.
2814 * config/darwin-protos.h (darwin_rename_builtins): Add.
2815
ee09a3dd
MM
28162011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
2817
2818 PR target/47636
2819 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
2820 for the condition.
2821
83296cd0
MS
28222011-02-07 Mike Stump <mikestump@comcast.net>
2823
ea4c3e65 2824 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 2825
0f4e946f
DC
28262011-02-07 Denis Chertykov <chertykov@gmail.com>
2827
2828 PR target/47534
2829 * config/avr/libgcc.S (exit): Move .endfunc
2830
1ec87690
RG
28312011-02-07 Richard Guenther <rguenther@suse.de>
2832
2833 PR tree-optimization/47615
2834 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
2835 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
2836 (run_scc_vn): Initialize it.
2837 (visit_reference_op_load): Use it.
2838 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
2839
b46ae6da
UW
28402011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2841
2842 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
2843 DImode trapping arithmetic libfuncs.
2844
c0aae19c
RG
28452011-02-07 Richard Guenther <rguenther@suse.de>
2846
2847 PR tree-optimization/47621
2848 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
2849 two duplicates ...
2850 (execute_update_addresses_taken): ... here. Make it more
2851 conservative in what we accept.
2852
295d926b
JM
28532011-02-06 Joseph Myers <joseph@codesourcery.com>
2854
2855 * config/sparc/freebsd.h (ASM_SPEC): Define.
2856 * config/sparc/vxworks.h (ASM_SPEC): Define.
2857
bdeb2471
JM
28582011-02-06 Joseph Myers <joseph@codesourcery.com>
2859
2860 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
2861
d5d3781a
SB
28622011-02-06 Steven Bosscher <steven@gcc.gnu.org>
2863
2864 * doc/invoke.texi: Remove reference to compiler internals from
2865 user documentation.
2866
2867 * reg-notes.def: Remove REG_VALUE_PROFILE.
2868 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
2869
c42c09fc
JJ
28702011-02-05 Jakub Jelinek <jakub@redhat.com>
2871
2872 PR middle-end/47610
2873 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 2874 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 2875
beea2755
JZ
28762011-02-05 Jie Zhang <jie@codesourcery.com>
2877
2878 PR debug/42631
2879 * web.c (entry_register): Don't clobber the number of the
2880 first uninitialized reference in used[].
2881
a130584a
SP
28822011-02-04 Sebastian Pop <sebastian.pop@amd.com>
2883
2884 PR tree-optimization/46194
2885 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
2886 (build_classic_dist_vector_1): Do not represent classic distance
2887 vectors when the access functions are variating in different loops.
2888
962101ac
JM
28892011-02-04 Joseph Myers <joseph@codesourcery.com>
2890
2891 * config/mips/iris6.opt: New.
2892 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
2893
55eaaa5b
RH
28942011-02-04 Richard Henderson <rth@redhat.com>
2895 Steve Ellcey <sje@cup.hp.com>
2896
2897 PR target/46997
2898 * config/ia64/predicates.md (mux1_brcst_element): New.
2899 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
2900 * config/ia64/ia64.c (ia64_unpack_assemble): New.
2901 (ia64_unpack_sign): New.
2902 (ia64_expand_unpack): Rewrite using new routines.
2903 (ia64_expand_widen_sum): Ditto.
2904 (ia64_expand_dot_prod_v8qi): Ditto.
2905 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
2906 routines, add endian check.
2907 (pmpy2_even): Rename from pmpy2_r, add endian check.
2908 (pmpy2_odd): Rename from pmpy2_l, add endian check.
2909 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
2910 (vec_widen_smult_hi_v4hi): Ditto.
2911 (vec_widen_umult_lo_v4hi): Ditto.
2912 (vec_widen_umult_hi_v4hi): Ditto.
2913 (mulv2si3): Change endian checks.
2914 (sdot_prodv4hi): Rewrite with new calls.
2915 (udot_prodv4hi): New.
2916 (vec_pack_ssat_v4hi): Add endian check.
2917 (vec_pack_usat_v4hi): Ditto.
2918 (vec_pack_ssat_v2si): Ditto.
2919 (max1_even): Rename from max1_r, add endian check.
2920 (max1_odd): Rename from max1_l, add endian check.
2921 (*mux1_rev): Format change.
2922 (*mux1_mix): Ditto.
2923 (*mux1_shuf): Ditto.
2924 (*mux1_alt): Ditto.
2925 (*mux1_brcst_v8qi): Use new predicate.
2926 (vec_extract_evenv8qi): Remove endian check.
2927 (vec_extract_oddv8qi): Ditto.
2928 (vec_interleave_lowv4hi): Format change.
2929 (vec_interleave_highv4hi): Ditto.
2930 (mix2_even): Rename from mix2_r, add endian check.
2931 (mix2_odd): Rename from mux2_l, add endian check.
2932 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
2933 (vec_extract_evenodd_helper): Format change.
2934 (vec_extract_evenv4hi): Remove endian check.
2935 (vec_extract_oddv4hi): Remove endian check.
2936 (vec_interleave_lowv2si): Format change.
2937 (vec_interleave_highv2si): Format change.
2938 (vec_initv2si): Remove endian check.
2939 (vecinit_v2si): Add endian check.
2940 (reduc_splus_v2sf): Add endian check.
2941 (reduc_smax_v2sf): Ditto.
2942 (reduc_smin_v2sf): Ditto.
2943 (vec_initv2sf): Remove endian check.
2944 (fpack): Add endian check.
2945 (fswap): Add endian check.
2946 (vec_interleave_highv2sf): Add endian check.
2947 (vec_interleave_lowv2sf): Add endian check.
2948 (fmix_lr): Add endian check.
2949 (vec_setv2sf): Format change.
2950 (*vec_extractv2sf_0_be): Use shift to extract operand.
2951 (*vec_extractv2sf_1_be): New.
2952 (vec_pack_trunc_v4hi): Add endian check.
2953 (vec_pack_trunc_v2si): Format change.
2954
dcde5957
JJ
29552011-02-04 Jakub Jelinek <jakub@redhat.com>
2956
2957 PR inline-asm/23200
2958 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 2959 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
2960 (stmt_is_replaceable_p): New function.
2961 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
2962 callers.
2963 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
2964 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
2965 SSA_NAME_DEF_STMT.
2966 * tree-flow.h (stmt_is_replaceable_p): New prototype.
2967
a64a8e5a
JM
29682011-02-04 Joseph Myers <joseph@codesourcery.com>
2969
2970 * config/rs6000/xilinx.opt: New.
2971 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
2972
4da2ed2f
JM
29732011-02-04 Joseph Myers <joseph@codesourcery.com>
2974
2975 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
2976
a6e508f9
AS
29772011-02-03 Anatoly Sokolov <aesok@post.ru>
2978
2979 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
2980 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2981 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
2982 secondary_reload_info, xtensa_secondary_reload): Remove.
2983 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
2984 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2985 (xtensa_preferred_reload_class): Make static. Change return and
2986 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
2987 Use CONST_DOUBLE_P predicate.
2988 (xtensa_preferred_output_reload_class): New function.
2989 (xtensa_secondary_reload): Make static.
2990
82dc0de3
JM
29912011-02-03 Joseph Myers <joseph@codesourcery.com>
2992
2993 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
2994 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
2995 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
2996
7fece979
JJ
29972011-02-03 Jakub Jelinek <jakub@redhat.com>
2998
2999 PR middle-end/31490
3000 * output.h (SECTION_RELRO): Define.
3001 (SECTION_MACH_DEP): Adjust.
3002 (get_variable_section): New prototype.
3003 * varpool.c (varpool_finalize_named_section_flags): New function.
3004 (varpool_assemble_pending_decls): Call it.
3005 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
3006 * cgraphunit.c (cgraph_output_in_order): Call
3007 varpool_finalize_named_section_flags.
3008 * varasm.c (get_section): Allow section flags conflicts between
3009 relro and read-only sections if the section hasn't been declared yet.
3010 Set SECTION_OVERRIDE after diagnosing section type conflict.
3011 (get_variable_section): No longer static.
3012 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
3013 readonly sections that need relocations.
3014 (decl_readonly_section_1): New function.
3015 (decl_readonly_section): Use it.
3016
3017 Revert:
509d65dd 3018 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
3019 Steve Ellcey <sje@cup.hp.com>
3020
3021 PR middle-end/31490
3022 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
3023 if section attribute used.
3024
d18d5478
JJ
30252011-02-03 Jakub Jelinek <jakub@redhat.com>
3026
3027 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
3028 * config/darwin.c (SECTION_NO_ANCHOR): Define.
3029 (darwin_init_sections): Remove assertion.
3030
6479ed4b
NC
30312011-02-03 Nick Clifton <nickc@redhat.com>
3032
3033 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
3034 lt and ge.
38be4072 3035 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
3036 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
3037 instead of "n" and "pz".
3038 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
3039 CC_FLAG_S.
3040
89843f5d
JJ
30412011-02-03 Jakub Jelinek <jakub@redhat.com>
3042
65450d64
JJ
3043 PR target/47312
3044 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
3045 fma, expand FMA_EXPR as fma{,f,l} call.
3046
7d58701c
JJ
3047 PR lto/47274
3048 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
3049 copy them into a unsigned char variable and pass address of it to
3050 lto_output_data_stream.
3051
89843f5d
JJ
3052 PR target/47564
3053 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
3054 around backend_init_target and lang_dependent_init_target calls.
3055 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
3056 (verify_cgraph_node): Don't call set_cfun here. Use
3057 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
3058 Set error_found for incorrectly represented calls to thunks.
3059
4deef538
AO
30602011-02-03 Alexandre Oliva <aoliva@redhat.com>
3061
3062 PR debug/43092
3063 PR rtl-optimization/43494
3064 * rtl.h (for_each_inc_dec_fn): New type.
3065 (for_each_inc_dec): Declare.
3066 * rtlanal.c (struct for_each_inc_dec_ops): New type.
3067 (for_each_inc_dec_find_inc_dec): New fn.
3068 (for_each_inc_dec_find_mem): New fn.
3069 (for_each_inc_dec): New fn.
3070 * dse.c (struct insn_size): Remove.
3071 (replace_inc_dec, replace_inc_dec_mem): Remove.
3072 (emit_inc_dec_insn_before): New fn.
3073 (check_for_inc_dec): Use it, along with for_each_inc_dec.
3074 (canon_address): Pass mem modes to cselib_lookup.
3075 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
3076 (cselib_lookup_from_insn): Likewise.
3077 (cselib_subst_to_values): Likewise.
3078 * cselib.c (find_slot_memmode): New var.
3079 (cselib_find_slot): New fn. Use it instead of
3080 htab_find_slot_with_hash everywhere.
3081 (entry_and_rtx_equal_p): Use find_slot_memmode.
3082 (autoinc_split): New fn.
3083 (rtx_equal_for_cselib_p): Rename and implement in terms of...
3084 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
3085 Deal with autoinc. Special-case recursion into MEMs.
3086 (cselib_hash_rtx): Likewise.
3087 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
3088 address and MEM modes.
3089 (cselib_subst_to_values): Add memmode, pass it on.
3090 Deal with autoinc.
3091 (cselib_lookup): Add memmode argument, pass it on.
3092 (cselib_lookup_from_insn): Add memmode.
3093 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
3094 (struct cselib_record_autoinc_data): New.
3095 (cselib_record_autoinc_cb): New fn.
3096 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
3097 mode to cselib_lookup. Reset autoinced REGs here instead of...
3098 (cselib_process_insn): ... here.
3099 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
3100 to cselib_lookup.
3101 (add_uses): Likewise, also to cselib_subst_to_values.
3102 (add_stores): Likewise.
3103 * sched-deps.c (add_insn_mem_dependence): Pass mode to
3104 cselib_subst_to_values.
3105 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
3106 * gcse.c (do_local_cprop): Adjusted.
3107 * postreload.c (reload_cse_simplify_set): Adjusted.
3108 (reload_cse_simplify_operands): Adjusted.
3109 * sel-sched-dump (debug_mem_addr_value): Pass mode.
3110
1551d44a
AO
31112011-02-03 Alexandre Oliva <aoliva@redhat.com>
3112
3113 PR tree-optimization/45122
3114 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
3115 unsafe assumptions when there's more than one loop exit.
3116
c9485473
MM
31172011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
3118
3119 PR target/47272
3120 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3121 Document using vector double with the load/store builtins, and
3122 that the load/store builtins always use Altivec instructions.
3123
3124 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
3125 to use altivec memory instructions, even on VSX.
3126 (vector_altivec_store_<mode>): Ditto.
3127
3128 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
3129 function.
3130
3131 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3132 V2DF, V2DI support to load/store overloaded builtins.
3133
3134 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
3135 altivec load/store builtins for V2DF/V2DI types.
3136
3137 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3138 set avoid indexed addresses on power6 if -maltivec.
3139 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
3140 vector_altivec_load/vector_altivec_store builtins.
3141 (altivec_expand_st_builtin): Ditto.
3142 (altivec_expand_builtin): Add VSX memory builtins.
3143 (rs6000_init_builtins): Add V2DI types to internal types.
3144 (altivec_init_builtins): Add support for V2DF/V2DI altivec
3145 load/store builtins.
3146 (rs6000_address_for_altivec): Insure memory address is appropriate
3147 for Altivec.
3148
3149 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
3150 vec_vsx_ld and vec_vsx_st.
3151 (vsx_store_<mode>): Ditto.
3152
3153 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
3154 variables to hold long long types for VSX vector memory builtins.
3155 (RS6000_BTI_unsigned_long_long): Ditto.
3156 (long_long_integer_type_internal_node): Ditti.
3157 (long_long_unsigned_type_internal_node): Ditti.
3158
3159 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
3160 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
3161 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
3162
3163 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
3164 short cuts.
3165 (vec_vsx_st): Ditto.
3166
b24d1acf
JM
31672011-02-02 Joseph Myers <joseph@codesourcery.com>
3168
3169 * config/pa/pa-hpux10.opt: New.
3170 * config/hpux11.opt (pthread): New Driver option.
3171 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
3172 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
3173
aa18dd0f
JM
31742011-02-02 Joseph Myers <joseph@codesourcery.com>
3175
3176 * config/ia64/vms.opt: New.
3177 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
3178
28fc3eee
MM
31792011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
3180
3181 PR target/47580
3182 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
3183 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
3184 generator functions.
3185 (vsx_floatuns<VSi><mode>2): Ditto.
3186 (vsx_fix_trunc<mode><VSi>2): Ditto.
3187 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
3188
b5838b1f
JM
31892011-02-02 Joseph Myers <joseph@codesourcery.com>
3190
3191 * config/i386/djgpp.opt (posix): New Driver option.
3192
0db8fa89
GP
31932011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
3194
3195 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
3196 Move to the unsupported targets list.
3197
9cd4f22a
PB
31982011-02-02 Peter Bergner <bergner@vnet.ibm.com>
3199
3200 PR rtl-optimization/47525
3201 * df-scan.c: Update copyright years.
3202 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
3203 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
3204
9ed8059c
RO
32052011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3206
3207 * config/i386/sysv4.h (TARGET_VERSION): Remove.
3208 (SUBTARGET_RETURN_IN_MEMORY): Remove.
3209 (ASM_OUTPUT_ASCII): Remove.
3210 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
3211
2a737389
JL
32122011-02-02 Jeff Law <law@redhat.com>
3213
3214 PR middle-end/47543
3215 * reload.c (find_reloads_address): Handle reg+d address where both
3216 components are invalid by reloading the entire address.
3217
9dac82c4
SP
32182011-02-02 Sebastian Pop <sebastian.pop@amd.com>
3219 Richard Guenther <rguenther@suse.de>
3220
3221 PR tree-optimization/40979
3222 PR bootstrap/47044
3223 * passes.c (init_optimization_passes): After LIM call copy_prop
3224 and DCE to clean up.
3225 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
3226
14dd9aab
SP
32272011-02-02 Sebastian Pop <sebastian.pop@amd.com>
3228
3229 PR tree-optimization/47576
3230 PR tree-optimization/47555
3231 * doc/invoke.texi (scev-max-expr-complexity): Documented.
3232 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
3233 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
3234 * tree-scalar-evolution.c (follow_ssa_edge): Use
3235 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
3236
5cbf5c20
RG
32372011-02-02 Richard Guenther <rguenther@suse.de>
3238
3239 PR tree-optimization/47566
3240 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
3241
83d70792
AO
32422011-02-02 Alexandre Oliva <aoliva@redhat.com>
3243
e829c321
AO
3244 PR debug/47106
3245 PR debug/47402
3246 * tree-inline.c (declare_return_variable): Remove unused caller
3247 variable.
3248
83d70792
AO
3249 PR debug/47106
3250 PR debug/47402
3251 * tree-flow-inline.h (clear_is_used, is_used_p): New.
3252 * cfgexpand.c (account_used_vars_for_block): Use them.
3253 * tree-nrv.c (tree_nrv): Likewise.
3254 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
3255 (dump_scope_block): Likewise.
3256 (remove_unused_locals): Likewise.
3257
aaa2ac93
AO
3258 PR debug/47106
3259 PR debug/47402
3260 * tree-inline.c (declare_return_variable): Add result decl to
3261 local decls only once.
3262 * gimple-low.c (record_vars_into): Mark newly-created variables
3263 as referenced.
3264
a59d15cf
AO
32652011-02-02 Alexandre Oliva <aoliva@redhat.com>
3266
3267 PR debug/47498
3268 PR debug/47501
3269 PR debug/45136
3270 PR debug/45130
3271 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3272 debug insns.
3273 (no_real_insns_p, schedule_block, set_priorities): Drop special
3274 treatment of boundary debug insns.
38be4072 3275 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
3276 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
3277 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3278 (BOUNDARY_DEBUG_INSN_P): Likewise.
3279 (SCHEDULE_DEBUG_INSN_P): Likewise.
3280 * sched-rgn.c (init_ready_list): Drop special treatment of
3281 boundary debug insns.
3282 * final.c (rest_of_clean_state): Clear notes' BB.
3283
6fc2f091
JM
32842011-02-01 Joseph Myers <joseph@codesourcery.com>
3285
3286 * config/openbsd.opt (assert=): New Driver option.
3287
fc523387
JM
32882011-02-01 Joseph Myers <joseph@codesourcery.com>
3289
3290 * config/i386/nto.opt: New.
3291 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
3292
6d9821e5
JM
32932011-02-01 Joseph Myers <joseph@codesourcery.com>
3294
3295 * config/i386/netware.opt: New.
3296 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
3297
cef932d4
JM
32982011-02-01 Joseph Myers <joseph@codesourcery.com>
3299
3300 * config/interix.opt (posix): New Driver option.
3301
22843acd
DD
33022011-02-01 DJ Delorie <dj@redhat.com>
3303
56490b74
DD
3304 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
3305
22843acd
DD
3306 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
3307 class for A0/A1.
3308
199c8f2f
SP
33092011-02-01 Sebastian Pop <sebastian.pop@amd.com>
3310
3311 PR tree-optimization/47561
3312 * toplev.c (process_options): Print the Graphite flags. Add
3313 flag_loop_flatten to the list of options requiring Graphite.
3314
926bcf22
JM
33152011-02-01 Joseph Myers <joseph@codesourcery.com>
3316
3317 * config/i386/cygming.opt (posix): New Driver option.
3318
59793c51
JM
33192011-02-01 Joseph Myers <joseph@codesourcery.com>
3320
3321 * config/arm/vxworks.opt: New.
3322 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
3323
183c38a4
JM
33242011-02-01 Joseph Myers <joseph@codesourcery.com>
3325
3326 * config/alpha/elf.opt: New.
3327 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
3328 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
3329
9939e416
RG
33302011-02-01 Richard Guenther <rguenther@suse.de>
3331
3332 PR tree-optimization/47559
3333 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
3334 store-motion on references that can throw.
3335
4a3c9687
BS
33362011-02-01 Bernd Schmidt <bernds@codesourcery.com>
3337
3338 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
3339 * tree-pass.h (TDF_CSELIB): New macro.
3340 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
3341 cselib_lookup): Check for it rather than for TDF_DETAILS.
3342
dd3b31fb
L
33432011-02-01 H.J. Lu <hongjiu.lu@intel.com>
3344
3345 PR driver/47547
3346 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
3347 is HOST_BIT_BUCKET.
3348
3349 * opts.c (finish_options): Don't add x_aux_base_name if it is
3350 HOST_BIT_BUCKET.
3351
34c1de79
RG
33522011-02-01 Richard Guenther <rguenther@suse.de>
3353
3354 PR tree-optimization/47555
3355 Revert
3356 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
3357
3358 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
3359
dd2804d2
SB
33602011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
3361
3362 PR gcc/46692
3363 * config/lm32/t-lm32: Add multilib for all CPU options.
3364
3fd3b156
RG
33652011-02-01 Richard Guenther <rguenther@suse.de>
3366
3367 PR tree-optimization/47541
3368 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
3369 sure to have a field at offset zero.
3370
f16072b6
JM
33712011-01-31 Joseph Myers <joseph@codesourcery.com>
3372
3373 * config/arc/arc.opt (EB, EL): New Driver options.
3374
6456cf2e
JM
33752011-01-31 Joseph Myers <joseph@codesourcery.com>
3376
3377 * config/alpha/osf5.opt: New.
3378 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
3379
cdde6ab4
JM
33802011-01-31 Joseph Myers <joseph@codesourcery.com>
3381
3382 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
3383
7633415c
SP
33842011-01-31 Sebastian Pop <sebastian.pop@amd.com>
3385
3386 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
3387 -floop-interchange.
3388 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
3389 is an alias of -floop-interchange and that it requires the
3390 Graphite infrastructure.
3391 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
3392 flag_loop_interchange based on the value of flag_tree_loop_linear.
3393
0425d6f5
JJ
33942011-01-31 Jakub Jelinek <jakub@redhat.com>
3395 Richard Guenther <rguenther@suse.de>
3396
3397 PR tree-optimization/47538
3398 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
3399 type instead of r1type, except for comparisons. For right
3400 shifts and comparisons punt if there are mismatches in
3401 sizetype vs. non-sizetype types.
3402
500b16c3
RO
34032011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3404
3405 * doc/sourcebuild.texi (Effective-Target Keywords): Document
3406 avx_runtime.
3407
e279edb0
RO
34082011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3409
3410 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
3411 version number.
3412 * configure: Regenerate.
3413
c6092243
RO
34142011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3415
3416 * configure.ac (gcc_cv_ld_static_option): Define.
3417 (gcc_cv_ld_dynamic_option): Define.
3418 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
3419 instead.
3420 (HAVE_LD_STATIC_DYNAMIC): Update message.
3421 (LD_STATIC_OPTION): Define.
3422 (LD_DYNAMIC_OPTION): Define.
3423 * configure: Regenerate.
3424 * config.in: Regenerate.
3425 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
3426 HAVE_LD_STATIC_DYNAMIC]: Use them.
3427
d7862be3
NC
34282011-01-31 Nick Clifton <nickc@redhat.com>
3429
3430 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
3431 registers inside interrupt handlers if the handler is not a leaf
3432 function.
3433
ba4ec0e0
NC
34342011-01-31 Nick Clifton <nickc@redhat.com>
3435
3436 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
3437 reg_renumber returning an INVALID_REGNUM.
3438
29a63921
AO
34392011-01-31 Alexandre Oliva <aoliva@redhat.com>
3440
3441 PR libgcj/44341
3442 * doc/install.texi: Document host options discarded when cross
3443 configuring target libraries.
3444
ef591d3f
AO
34452011-01-31 Alexandre Oliva <aoliva@redhat.com>
3446
3447 Reverted:
3448 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
3449 PR debug/45136
3450 PR debug/45130
3451 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3452 debug insns.
3453 (no_real_insns_p, schedule_block, set_priorities): Drop special
3454 treatment of boundary debug insns.
38be4072 3455 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
3456 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
3457 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3458 (BOUNDARY_DEBUG_INSN_P): Likewise.
3459 (SCHEDULE_DEBUG_INSN_P): Likewise.
3460 * sched-rgn.c (init_ready_list): Drop special treatment of
3461 boundary debug insns.
3462 * final.c (rest_of_clean-state): Clear notes' BB.
3463
61052244
AM
34642011-01-31 Alan Modra <amodra@gmail.com>
3465
3466 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
3467 toc relative expressions as we do in print_operand_address.
3468
c4c8962b
KH
34692011-01-30 Kazu Hirata <kazu@codesourcery.com>
3470
3471 * doc/extend.texi: Follow spelling conventions.
3472 * doc/invoke.texi: Fix a typo.
3473
e543b94c
JM
34742011-01-30 Joseph Myers <joseph@codesourcery.com>
3475
3476 * config/hpux11.opt: New.
3477 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
3478 ia64*-*-hpux*): Use hpux11.opt.
3479
509d65dd 34802011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
3481
3482 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
3483 to tmake_file.
3484
7be03a0e
GP
34852011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
3486
3487 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
3488 support sites.
3489
419d1d37
GP
34902011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
3491
b596ed64
GP
3492 * doc/install.texi (Binaries): Remove outdated reference for
3493 Motorola 68HC11/68HC12 downloads.
3494
34952011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 3496
419d1d37
GP
3497 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
3498 Drepper's paper.
3499
4406d0e9
JW
35002011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3501
3502 PR bootstrap/47147
3503 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
3504 used by NetBSD.
3505
38be4072 35062011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
3507
3508 * value-prof.c (check_counter): Corrected error message.
3509
0cd98787
JZ
35102011-01-29 Jie Zhang <jie@codesourcery.com>
3511
3512 * config/arm/arm.c (arm_legitimize_reload_address): New.
3513 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
3514 arm_legitimize_reload_address.
38be4072 3515 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 3516
9b798ac5
ILT
35172011-01-28 Ian Lance Taylor <iant@google.com>
3518
3519 * godump.c (go_define): Ignore macros whose definitions include
3520 two adjacent operands.
3521
591e29d9
JJ
35222011-01-28 Jakub Jelinek <jakub@redhat.com>
3523
3524 PR target/42894
3525 * varasm.c (force_const_mem): Store copy of x in desc->constant
3526 instead of x itself.
3527 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
3528 itself into REG_EQUAL note.
3529
62dcc44a
JM
35302011-01-28 Joseph Myers <joseph@codesourcery.com>
3531
3532 * config/freebsd.opt (posix, rdynamic): New Driver options.
3533
c9f58b9a
RO
35342011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3535
3536 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
3537 -Bstatic/-Bdynamic.
3538 * configure: Regenerate.
3539
5f02b9db
JM
35402011-01-27 Joseph Myers <joseph@codesourcery.com>
3541
3542 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
3543 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
3544
5df97412
AS
35452011-01-27 Anatoly Sokolov <aesok@post.ru>
3546
3547 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
3548 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
3549 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
3550 (s390_preferred_reload_class): Make static. Change return and
3551 'rclass' argument type to reg_class_t.
3552
779d4b91
JH
35532011-01-27 Jan Hubicka <jh@suse.cz>
3554
3555 PR middle-end/46949
3556 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
3557 (process_function_and_variable_attributes): Check defined weakrefs.
3558
e80b21ed
MJ
35592011-01-27 Martin Jambor <mjambor@suse.cz>
3560
3561 PR tree-optimization/47228
3562 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
3563 build_ref_for_offset.
3564
6dcc4f31
UW
35652011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3566
3567 * config/spu/spu-elf.h (ASM_SPEC): Remove.
3568
509d65dd 35692011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
3570
3571 PR rtl-optimization/46856
3572 * postreload.c (reload_combine_recognize_const_pattern): Do not
3573 separate cc0 setter and user on cc0 targets.
3574
04af8788
NP
35752011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
3576
3577 PR c/43082
3578 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
3579 passed a VOID_TYPE expression, immediately emit an error and
3580 return error_mark_node.
3581
f7a60085
JL
35822011-01-26 Jeff Law <law@redhat.com>
3583
3584 PR rtl-optimization/47464
3585 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
3586 rather than may_trap_p as needed.
3587
5c2917ec
DD
35882011-01-26 DJ Delorie <dj@redhat.com>
3589
3590 PR rtl-optimization/46878
3591 * combine.c (insn_a_feeds_b): Check for the implicit cc0
3592 setter/user dependency as well.
3593
bef16e87
EB
35942011-01-26 Eric Botcazou <ebotcazou@adacore.com>
3595
3596 PR rtl-optimization/44469
3597 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
3598 after removing trivially dead basic blocks.
3599
c75d884b
JM
36002011-01-26 Joseph Myers <joseph@codesourcery.com>
3601
3602 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
3603 * config/frv/frv.h (LINK_SPEC): Likewise.
3604 * config/i386/netware.h (LINK_SPEC): Likewise.
3605 * config/m68k/linux.h (ASM_SPEC): Likewise.
3606 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
3607 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
3608 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3609 * config/sparc/linux.h (ASM_SPEC): Likewise.
3610 * config/sparc/linux64.h (ASM_SPEC): Likewise.
3611 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3612
d3153553
JM
36132011-01-26 Joseph Myers <joseph@codesourcery.com>
3614
3615 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
3616 * config/frv/frv.h (ASM_SPEC): Likewise.
3617 * config/m68k/linux.h (ASM_SPEC): Likewise.
3618 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
3619 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
3620 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3621 * config/sparc/linux.h (ASM_SPEC): Likewise.
3622 * config/sparc/linux64.h (ASM_SPEC): Likewise.
3623 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3624
b89b1e9d
JM
36252011-01-26 Joseph Myers <joseph@codesourcery.com>
3626
3627 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
3628 * config/frv/frv.h (LINK_SPEC): Likewise.
3629 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
3630
12eb1a9c
JM
36312011-01-26 Joseph Myers <joseph@codesourcery.com>
3632
3633 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
3634 * config/frv/frv.h (ASM_SPEC): Likewise.
3635 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
3636 * config/m68k/linux.h (ASM_SPEC): Likewise.
3637 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
3638 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
3639 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3640 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
3641 * config/sparc/linux.h (ASM_SPEC): Likewise.
3642 * config/sparc/linux64.h (ASM_SPEC): Likewise.
3643 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3644 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
3645
e435f098
SE
36462011-01-26 Steve Ellcey <sje@cup.hp.com>
3647
3648 PR target/46997
3649 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
3650 (*mux2): Ditto.
3651 (vec_extract_evenodd_help): Ditto.
3652 (vec_extract_evenv4hi): Ditto.
3653 (vec_extract_oddv4hi): Ditto.
3654 (vec_interleave_lowv2si): Ditto.
3655 (vec_interleave_highv2si): Ditto.
3656 (vec_extract_evenv2si): Ditto.
3657 (vec_extract_oddv2si: Ditto.
3658 (vec_pack_trunc_v2si): Ditto.
3659
34f0eee0
JH
36602011-01-22 Jan Hubicka <jh@suse.cz>
3661
3662 PR target/47237
3663 * cgraph.h (cgraph_local_info): New field can_change_signature.
3664 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
3665 signature can change.
3666 (ipcp_estimate_growth): Call sequence simplify only if calle signature
3667 can change.
3668 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
3669 (cgraph_function_versioning): We can not change signature of functions
3670 that don't allow that.
3671 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
3672 (lto_input_node): Likewise.
38be4072
UB
3673 * ipa-inline.c (compute_inline_parameters): Compute
3674 local.can_change_signature.
34f0eee0 3675 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
3676 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
3677 functions that can not change signature.
34f0eee0 3678 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
3679 init_cumulative_args): Do not use local calling conventions
3680 for functions that can not change signature.
34f0eee0 3681
980ca891
JH
36822011-01-22 Jan Hubicka <jh@suse.cz>
3683
3684 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
3685
768e3c60
RG
36862011-01-26 Richard Guenther <rguenther@suse.de>
3687
3688 PR tree-optimization/47190
61052244
AM
3689 * cgraphunit.c (process_common_attributes): New function.
3690 (process_function_and_variable_attributes): Use it.
768e3c60 3691
21d6a1c7
RG
36922011-01-26 Richard Guenther <rguenther@suse.de>
3693
3694 PR lto/47423
3695 * cgraphbuild.c (record_eh_tables): Record reference to personality
3696 function.
3697
48bb58b1
AO
36982011-01-26 Alexandre Oliva <aoliva@redhat.com>
3699
3700 PR debug/45454
3701 * sel-sched.c (moveup_expr): Don't let debug insns prevent
3702 non-debug insns from moving up.
3703
58c741a6
DK
37042011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3705
3706 PR target/40125
3707 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
3708 t-dlldir{,-x} fragment for build and add it to tmake_file.
3709 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
3710 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
3711 * config/i386/t-dlldir: New file.
3712 (SHLIB_DLLDIR): Define.
3713 * config/i386/t-dlldir-x: New file.
3714 (SHLIB_DLLDIR): Define.
3715 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
3716 (SHLIB_INSTALL): Use it.
3717
bff99262
CLT
37182011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
3719
3720 PR target/47246
3721 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
3722 lower bound of the allowed Thumb-2 coprocessor load/store
3723 index range to -256. Add explaining comment.
3724
82c03907
ILT
37252011-01-25 Ian Lance Taylor <iant@google.com>
3726
3727 * godump.c (go_define): Improve lexing of macro expansion to only
3728 accept expressions which match Go spec.
3729
47ea1edf
DK
37302011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3731
d4dba752 3732 PR c++/43601
47ea1edf
DK
3733 * tree.c (handle_dll_attribute): Handle it.
3734 * doc/extend.texi (@item dllexport): Mention it.
3735 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
3736
744f0946
ILT
37372011-01-25 Ian Lance Taylor <iant@google.com>
3738
3739 PR tree-optimization/26854
3740 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
3741 (decl_jump_unsafe): Move higher in file, with no other change.
3742 (bind): Set has_jump_unsafe_decl if appropriate.
3743 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
3744 (check_earlier_gotos): Likewise.
3745 (c_check_switch_jump_warnings): Likewise.
3746
5734f2b3
JW
37472011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
3748
3749 * doc/invoke.texi (Warning Options): Add missing hyphen.
3750 (-fprofile-dir): Minor grammatical fixes.
3751 (-fbranch-probabilities): Likewise.
3752
9bdbdcef
AO
37532011-01-25 Alexandre Oliva <aoliva@redhat.com>
3754
3755 PR debug/45136
3756 PR debug/45130
3757 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3758 debug insns.
3759 (no_real_insns_p, schedule_block, set_priorities): Drop special
3760 treatment of boundary debug insns.
38be4072 3761 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
3762 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
3763 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3764 (BOUNDARY_DEBUG_INSN_P): Likewise.
3765 (SCHEDULE_DEBUG_INSN_P): Likewise.
3766 * sched-rgn.c (init_ready_list): Drop special treatment of
3767 boundary debug insns.
3768 * final.c (rest_of_clean-state): Clear notes' BB.
3769
b305e3da
SP
37702011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3771
3772 * Makefile.in (LAMBDA_H): Removed.
3773 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
3774 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
3775 lambda-trans.o, and tree-loop-linear.o.
3776 (lto-symtab.o): Remove dependence on LAMBDA_H.
3777 (tree-loop-linear.o): Remove rule.
3778 (lambda-mat.o): Same.
3779 (lambda-trans.o): Same.
3780 (lambda-code.o): Same.
3781 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
3782 (tree-vect-slp.o): Same.
3783 * hwint.h (gcd): Moved here.
3784 (least_common_multiple): Same.
3785 * lambda-code.c: Removed.
3786 * lambda-mat.c: Removed.
3787 * lambda-trans.c: Removed.
3788 * lambda.h: Removed.
3789 * tree-loop-linear.c: Removed.
3790 * lto-symtab.c: Do not include lambda.h.
3791 * omega.c (gcd): Removed.
3792 * passes.c (init_optimization_passes): Remove pass_linear_transform.
3793 * tree-data-ref.c (print_lambda_vector): Moved here.
3794 (lambda_vector_copy): Same.
3795 (lambda_matrix_copy): Same.
3796 (lambda_matrix_id): Same.
3797 (lambda_vector_first_nz): Same.
3798 (lambda_matrix_row_add): Same.
3799 (lambda_matrix_row_exchange): Same.
3800 (lambda_vector_mult_const): Same.
3801 (lambda_vector_negate): Same.
3802 (lambda_matrix_row_negate): Same.
3803 (lambda_vector_equal): Same.
3804 (lambda_matrix_right_hermite): Same.
3805 * tree-data-ref.h: Do not include lambda.h.
3806 (lambda_vector): Moved here.
3807 (lambda_matrix): Same.
3808 (dependence_level): Same.
3809 (lambda_transform_legal_p): Removed declaration.
3810 (lambda_collect_parameters): Same.
3811 (lambda_compute_access_matrices): Same.
3812 (lambda_vector_gcd): Same.
3813 (lambda_vector_new): Same.
3814 (lambda_vector_clear): Same.
3815 (lambda_vector_lexico_pos): Same.
3816 (lambda_vector_zerop): Same.
3817 (lambda_matrix_new): Same.
3818 * tree-flow.h (least_common_multiple): Removed declaration.
3819 * tree-parloops.c (lambda_trans_matrix): Moved here.
3820 (LTM_MATRIX): Same.
3821 (LTM_ROWSIZE): Same.
3822 (LTM_COLSIZE): Same.
3823 (LTM_DENOMINATOR): Same.
3824 (lambda_trans_matrix_new): Same.
3825 (lambda_matrix_vector_mult): Same.
3826 (lambda_transform_legal_p): Same.
3827 * tree-pass.h (pass_linear_transform): Removed declaration.
3828 * tree-ssa-loop.c (tree_linear_transform): Removed.
3829 (gate_tree_linear_transform): Removed.
3830 (pass_linear_transform): Removed.
3831 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
3832 flag_loop_interchange.
3833
6bdfdb96
JJ
38342011-01-25 Jakub Jelinek <jakub@redhat.com>
3835
3836 PR tree-optimization/47265
3837 PR tree-optimization/47443
3838 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
3839 if name still has some uses.
3840
e4cba915
MJ
38412011-01-25 Martin Jambor <mjambor@suse.cz>
3842
3843 PR tree-optimization/47382
3844 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
3845 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
3846
509d65dd 38472011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
3848
3849 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
3850 sjlj_except_unwind_info.
3851
194313e2
RG
38522011-01-25 Richard Guenther <rguenther@suse.de>
3853
3854 PR tree-optimization/47426
3855 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
3856 visible functions results escape.
3857
147a0bcf
JJ
38582011-01-25 Jakub Jelinek <jakub@redhat.com>
3859
3860 PR target/45701
3861 * config/arm/arm.c (any_sibcall_uses_r3): New function.
3862 (arm_get_frame_offsets): Use it.
3863
db963b52
SP
38642011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3865 Jakub Jelinek <jakub@redhat.com>
3866
3867 PR tree-optimization/47271
3868 * tree-if-conv.c (bb_postdominates_preds): New.
3869 (if_convertible_bb_p): Call bb_postdominates_preds.
3870 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
3871 (predicate_scalar_phi): Call bb_postdominates_preds.
3872
bcddd3b9
NC
38732011-01-25 Nick Clifton <nickc@redhat.com>
3874
3875 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
3876 * config/rx/rx.c (rx_function_value): Likewise.
3877 (rx_promote_function_mode): Likewise.
3878 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
3879 in order to make it legitimate.
38be4072
UB
3880 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
3881 make sure that the first operand is the same as the result register.
bcddd3b9
NC
3882 (addsi3_unspec): Delete.
3883 (subdi3): Do not accept immediate operands.
3884 (subdi3_internal): Likewise.
3885
7e6cb022
JL
38862011-01-25 Jeff Law <law@redhat.com>
3887
3888 PR rtl-optimization/37273
3889 * ira-costs.c (scan_one_insn): Detect constants living in memory and
3890 handle them like argument loads from stack slots. Do not double
3891 count memory for memory constants and argument loads from stack slots.
3892
9ffa621e
JJ
38932011-01-25 Jakub Jelinek <jakub@redhat.com>
3894
3895 PR tree-optimization/47427
3896 PR tree-optimization/47428
3897 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
3898 coalesce if the new root var would be TREE_READONLY.
3899
5bd6e652
RG
39002011-01-25 Richard Guenther <rguenther@suse.de>
3901
3902 PR middle-end/47414
3903 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
3904 correct type for TBAA.
3905
7c48ea69
SP
39062011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3907
3908 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
3909 (close_phi_written_to_memory): Call for_each_index with
3910 dr_indices_valid_in_loop.
3911
38013f25
SP
39122011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3913
3914 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
3915 when it is initialized.
3916
5c640e29
SP
39172011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3918
3919 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
3920 call to graphite_find_data_references_in_stmt.
3921 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
3922 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
3923 call to graphite_find_data_references_in_stmt.
3924 (analyze_drs_in_stmts): Same.
3925 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
3926 in which the scalar analysis of indices is performed.
3927 (create_data_ref): Same. Update call to dr_analyze_indices.
3928 (find_data_references_in_stmt): Update call to create_data_ref.
3929 (graphite_find_data_references_in_stmt): Same.
3930 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
3931 declaration.
3932 (create_data_ref): Same.
3933 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
3934 call to create_data_ref.
3935
ac53c069
SP
39362011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3937
3938 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 3939 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 3940
3d17df15
SP
39412011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3942
3943 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
3944 VAR_DECL, PARM_DECL, and RESULT_DECL.
3945
c513da01
SP
39462011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3947
3948 * graphite-dependences.c (reduction_dr_1): Allow several reductions
3949 in a reduction PBB.
3950 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
3951 that have already been marked as PBB_IS_REDUCTION.
3952
3a292d59
SP
39532011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3954
3955 * graphite-scop-detection.c (same_close_phi_node): New.
3956 (remove_duplicate_close_phi): New.
3957 (make_close_phi_nodes_unique): New.
3958 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
3959
ba858447
SP
39602011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3961
3962 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
3963 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
3964 of both data references to be the same.
3965
8d865c56
SP
39662011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3967
38be4072
UB
3968 * graphite-dependences.c (build_lexicographical_constraint): Remove
3969 the gdim parameter.
3970 (build_lexicographical_constraint): Adjust call to
3971 ppl_powerset_is_empty.
8d865c56
SP
3972 (dependence_polyhedron): Same.
3973 (graphite_legal_transform_dr): Same.
3974 (graphite_carried_dependence_level_k): Same.
38be4072
UB
3975 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
3976 parameter.
8d865c56
SP
3977 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
3978
50034a36
SP
39792011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3980
3981 * graphite-sese-to-poly.c
3982 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
3983 (close_phi_written_to_memory): New.
3984 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
3985 and unshare_expr.
3986
0deada9e
SP
39872011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3988
3989 * doc/install.texi: Update the expected version number of PPL to 0.11.
3990 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
3991 #if PPL_VERSION_MINOR < 11.
3992
d7d3d6af
SP
39932011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3994
3995 * graphite-dependences.c: Include graphite-cloog-util.h.
3996 (new_poly_ddr): Inlined into dependence_polyhedron.
3997 (free_poly_ddr): Moved close by new_poly_ddr.
3998 (dependence_polyhedron_1): Renamed dependence_polyhedron.
3999 Early return NULL when ppl_powerset_is_empty returns true.
4000 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
4001 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
4002 (graphite_legal_transform_dr): Call new_poly_ddr.
4003 (graphite_carried_dependence_level_k): Same.
4004 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
4005 (dot_transformed_deps_stmt_1): Removed.
4006 (dot_deps_stmt_1): Call dot_deps_stmt_2.
4007 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
4008 (dot_deps_1): Call dot_deps_2.
4009 * Makefile.in (graphite-dependences.o): Add missing dependence on
4010 graphite-cloog-util.h.
4011
28c5db57
SP
40122011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4013
4014 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
4015 (build_lexicographical_constraint): Same.
4016 (dependence_polyhedron_1): Same.
4017 (graphite_legal_transform_dr): Same.
4018 (graphite_carried_dependence_level_k): Same.
4019 * graphite-ppl.c (ppl_powerset_is_empty): New.
4020 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
4021 * tree-data-ref.c (dump_data_reference): Print the basic block index.
4022
5168d98f
SP
40232011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4024
4025 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
4026 the "a followed by b" relation and document it.
4027
4a40293a
SP
40282011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4029
4030 * graphite-dependences.c (build_lexicographical_constraint): Stop the
4031 iteration when the bag of constraints is empty.
4032
271fb6fa
SP
40332011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4034
4035 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
4036
92d23680
SP
40372011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4038
4039 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
4040 nest and two loop depths as parameters.
4041 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
4042 lst_perfect_nestify.
4043
2f51deff
SP
40442011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4045
4046 * graphite-dependences.c (print_pddr): Call
4047 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
4048
07f3593c
SP
40492011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4050
4051 * graphite-ppl.c (debug_gmp_value): New.
4052 * graphite-ppl.h (debug_gmp_value): Declared.
4053
3fae6099
TG
40542011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
4055
4056 * doc/install.texi: Document availability of cloog-0.16.
4057
1c3ba85b
SP
40582011-01-25 Vladimir Kargov <kargov@gmail.com>
4059
4060 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
4061 invalid postdominance info.
4062
e8ba94fc
JH
40632011-01-24 Jan Hubicka <jh@suse.cz>
4064
4065 PR c/21659
4066 * doc/extend.texi (weak pragma): Drop claim that it must
4067 appear before definition.
4068 * varasm.c (merge_weak, declare_weak): Only sanity check
4069 that DECL is not output at a time it is declared weak.
4070
2b6e2d13
KZ
40712011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
4072
4073 * machmode.def: Fixed comments.
1c3ba85b 4074
9841210f
KT
40752011-01-24 Kai Tietz <kai.tietz@onevision.com>
4076
4077 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
4078
40792011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
4080
4081 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 4082 WORDS_BIG_ENDIAN.
e046112d 4083
a6c5070a
L
40842011-01-24 H.J. Lu <hongjiu.lu@intel.com>
4085
4086 PR target/46519
4087 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
4088 (block_info): Add scanned and prev.
4089 (move_or_delete_vzeroupper_2): Return if the basic block
4090 has been scanned and the upper 128bit state is unchanged
4091 from the last scan.
4092 (move_or_delete_vzeroupper_1): Return true if the exit
4093 state is changed.
4094 (move_or_delete_vzeroupper): Visit basic blocks using the
4095 work-list based algorithm based on vt_find_locations in
4096 var-tracking.c.
4097
4098 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
4099
a40d79d7
NC
41002011-01-24 Nick Clifton <nickc@redhat.com>
4101
4102 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
4103 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
4104 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
4105 then define __v850e1__.
4106 * doc/invoke.texi: Document -mv850es.
4107
440eb8de
RH
41082011-01-24 Richard Henderson <rth@redhat.com>
4109
4110 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
4111 compound unordered comparisons.
4112 * config/rx/rx.c (rx_split_fp_compare): Remove.
4113 * config/rx/rx-protos.h: Update.
4114 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
4115 (cbranchsf4): Don't call rx_split_fp_compare.
4116 (*cbranchsf4): Use rx_split_cbranch.
4117 (*cmpsf): Don't accept "i" constraint.
4118 (*conditional_branch): Only valid after reload.
4119 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
4120
3ff79f99
MM
41212011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
4122
4123 PR target/47385
4124 * config/rs6000/altivec.md (vector constant splitters): Add
4125 support for creating vector single precision constants if -mvsx is
4126 used and we would create the constant using Altivec primitives.
4127
ff3d9d08
BS
41282011-01-23 Bernd Schmidt <bernds@codesourcery.com>
4129 Richard Sandiford <rdsandiford@googlemail.com>
4130
4131 PR rtl-optimization/47166
4132 * reload1.c (emit_reload_insns): Disable the spill_reg_store
4133 mechanism for PRE_MODIFY and POST_MODIFY.
4134 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
4135 reloadreg.
4136
7fcaf152
AS
41372011-01-23 Andreas Schwab <schwab@linux-m68k.org>
4138
8788adb6 4139 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 4140
d09b58c4
JH
41412011-01-22 Jan Hubicka <jh@suse.cz>
4142
4143 PR lto/47333
4144 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
4145
e8ff8c5a
JH
41462011-01-22 Jan Hubicka <jh@suse.cz>
4147
4148 PR tree-optimization/43884
4149 PR lto/44334
8788adb6 4150 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
4151 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
4152
ccaed3ba
AS
41532011-01-22 Anatoly Sokolov <aesok@post.ru>
4154
4155 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
4156 * config/s390/s390.c (s390_register_move_cost,
4157 s390_memory_move_cost): New.
4158 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
4159
0cecee06
UW
41602011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4161
4162 PR middle-end/47401
4163 * except.c (sjlj_assign_call_site_values): Move setting the
4164 crtl->uses_eh_lsda flag to ...
4165 (sjlj_mark_call_sites): ... here.
4166 (sjlj_emit_function_enter): Support NULL dispatch label.
4167 (sjlj_build_landing_pads): In a function with no landing pads
4168 that still has must-not-throw regions, generate code to register
4169 a personality function with empty LSDA.
4170
e692f276
RH
41712011-01-21 Richard Henderson <rth@redhat.com>
4172
1b7ae0b7
RH
4173 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
4174
3843787f
RH
4175 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
4176
e692f276
RH
4177 * compare-elim.c: New file.
4178 * Makefile.in (OBJS-common): Add it.
4179 (compare-elim.o): New.
4180 * common.opt (fcompare-elim): New.
4181 * opts.c (default_options_table): Add OPT_fcompare_elim.
4182 * tree-pass.h (pass_compare_elim_after_reload): New.
4183 * passes.c (init_optimization_passes): Add it.
4184 * recog.h: Protect against re-inclusion.
4185 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
4186 * doc/invoke.texi (-fcompare-elim): Document it.
4187 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
4188 * doc/tm.texi: Rebuild.
4189
9a7c2050
NC
41902011-01-22 Nick Clifton <nickc@redhat.com>
4191
4192 * config/rx/rx.md (cstoresf4): Pass comparison operator to
4193 rx_split_fp_compare.
4194
15ba5696
NC
41952011-01-22 Nick Clifton <nickc@redhat.com>
4196
4197 * config/rx/rx.md (UNSPEC_CONST): New.
4198 (deallocate_and_return): Wrap the amount popped off the stack in
4199 an UNSPEC_CONST in order to stop it being rejected by
4200 -mmax-constant-size.
4201 (pop_and_return): Add a "(return)" rtx.
4202 (call): Drop the immediate operand.
4203 (call_internal): Likewise.
4204 (call_value): Likewise.
4205 (call_value_internal): Likewise.
4206 (sibcall_internal): Likewise.
4207 (sibcall_value_internal): Likewise.
4208 (sibcall): Likewise. Generate an explicit call using
4209 sibcall_internal.
4210 (sibcall_value): Likewise.
4211 (mov<>): FAIL if a constant operand is not legitimate.
4212 (addsi3_unpsec): New pattern.
9a7c2050 4213
38be4072 4214 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
4215 (ok_for_max_constant): New function.
4216 (gen_safe_add): New function.
4217 (rx_expand_prologue): Use gen_safe_add.
4218 (rx_expand_epilogue): Likewise.
4219 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
4220 UNSPEC CONSTs.
4221
caaf13d3
JL
42222011-01-21 Jeff Law <law@redhat.com>
4223
4224 PR tree-optimization/47053
4225 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
4226 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
4227 statements are deleted.
4228 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
4229 is nonempty, then purge dead edges and cleanup the CFG.
4230
12c30f2f
AO
42312011-01-21 Alexandre Oliva <aoliva@redhat.com>
4232
4233 PR debug/47402
4234 Temporarily revert:
4235 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
4236 PR debug/47106
4237 * tree-dfa.c (create_var_ann): Mark variable as used.
4238
7360d2ac
JJ
42392011-01-21 Jakub Jelinek <jakub@redhat.com>
4240
aaa52a96
JJ
4241 PR middle-end/45566
4242 * except.c (convert_to_eh_region_ranges): Emit queued no-region
4243 notes from other section in hot/cold partitioning even if
4244 last_action is -3. Increment call_site_base.
4245
7360d2ac
JJ
4246 PR rtl-optimization/47366
4247 * fwprop.c (forward_propagate_into): Return bool. If
4248 any changes are made, -fnon-call-exceptions is used and
4249 REG_EH_REGION note is present, call purge_dead_edges
4250 and return true if it purged anything.
4251 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
4252 any EH edges were purged.
4253
e90b336f
JL
42542011-01-21 Jeff Law <law@redhat.com>
4255
4256 PR rtl-optimization/41619
4257 * caller-save.c (setup_save_areas): Break out code to determine
4258 which hard regs are live across calls by examining the reload chains
4259 so that it is always used.
4260 Eliminate code which checked REG_N_CALLS_CROSSED.
4261
3ffe07e1
JJ
42622011-01-21 Jakub Jelinek <jakub@redhat.com>
4263
4264 PR tree-optimization/47355
4265 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
4266 NOP has non-debug uses beyond PHIs in new_bb.
4267
1c7d0b34
AO
42682011-01-21 Alexandre Oliva <aoliva@redhat.com>
4269
4270 PR debug/47106
4271 * cfgexpand.c (account_used_vars_for_block): Only account vars
4272 that are annotated as used.
4273 (estimated_stack_frame_size): Don't set TREE_USED.
4274 * tree-dfa.c (create_var_ann): Mark variable as used.
4275
f99cc488
RG
42762011-01-21 Richard Guenther <rguenther@suse.de>
4277
4278 PR middle-end/47395
4279 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
4280
3bc27de7
RG
42812011-01-21 Richard Guenther <rguenther@suse.de>
4282
4283 PR tree-optimization/47365
4284 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
4285 (vn_reference_lookup_pieces): Adjust.
4286 (vn_reference_lookup): Likewise.
4287 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
4288 (vn_reference_lookup_3): Only look through kills if in
4289 VN_WALKREWRITE mode.
4290 (vn_reference_lookup_pieces): Adjust.
4291 (vn_reference_lookup): Likewise.
4292 (visit_reference_op_load): Likewise.
4293 (visit_reference_op_store): Likewise.
4294 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
4295 (compute_avail): Likewise.
4296 (eliminate): Likewise.
4297
d8debb1d
JJ
42982011-01-21 Jakub Jelinek <jakub@redhat.com>
4299
4300 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
4301 DECL_IGNORED_P non-reg vars if they are used.
4302
3a2df831
JJ
4303 PR tree-optimization/47391
4304 * varpool.c (const_value_known_p): Return false if
4305 decl is volatile.
4306
1dd584a2
KT
43072011-01-21 Kai Tietz <kai.tietz@onevision.com>
4308
4309 PR bootstrap/47215
4310 * config/i386/i386.c (ix86_local_alignment): Handle
4311 case for va_list_type_node is nil.
4312 (ix86_canonical_va_list_type): Likewise.
4313
7f9f095e
AM
43142011-01-21 Alan Modra <amodra@gmail.com>
4315
4316 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
4317 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
4318
837b01f6
RR
43192011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4320
4321 * config/arm/arm.md (define_attr type): Rename f_load
4322 and f_store to f_fpa_load and f_fpa_store. Update.
4323 (write_conflict): Deal with rename fallout.
4324 (*push_fp_multi): Likewise.
4325 * config/arm/fpa.md (f_load): Use f_fpa_load.
4326 (f_store): Use f_fpa_store.
4327 (*movsf_fpa): Likewise.
4328 (*movdf_fpa): Likewise.
4329 (*movxf_fpa): Likewise.
4330 (*thumb2_movsf_fpa): Likewise.
4331 (*thumb2_movdf_fpa): Likewise.
4332 (*thumb2_movxf_fpa): Likewise.
4333 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
4334 f_loadd and f_stored.
4335 (*thumb2_movdi_vfp): Likewise.
4336 (*thumb2_movsf_vfp): Fix attribute to f_loads.
4337 (*thumb2_movsi_vfp): Likewise.
4338 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
4339 Use f_loads instead of f_load.
4340 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
4341
a1a79768
AS
43422011-01-20 Anatoly Sokolov <aesok@post.ru>
4343
4344 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4345 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
4346 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4347 (xtensa_mode_dependent_address_p): New function.
4348 (constantpool_address_p): Make static. Change return type to bool.
4349 Change argument type to const_rtx. Use CONST_INT_P predicate.
4350
427f6cec
AO
43512011-01-20 Alexandre Oliva <aoliva@redhat.com>
4352
4353 PR debug/46583
4354 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
4355
583ac69c
JJ
43562011-01-20 Jakub Jelinek <jakub@redhat.com>
4357
4358 PR debug/47283
4359 * cfgexpand.c (expand_debug_expr): Instead of generating
4360 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
4361 etc. handling.
4362
93e452ed
RG
43632011-01-20 Richard Guenther <rguenther@suse.de>
4364
4365 PR middle-end/47370
4366 * tree-inline.c (remap_gimple_op_r): Recurse manually for
4367 the pointer operand of MEM_REFs.
4368
28fc44f3
JJ
43692011-01-20 Jakub Jelinek <jakub@redhat.com>
4370
4371 PR tree-optimization/46130
4372 * ipa-split.c (consider_split): If return_bb contains non-virtual
4373 PHIs other than for retval or if split_function would not adjust it,
4374 refuse to split.
4375
ddd268f2
RG
43762011-01-20 Richard Guenther <rguenther@suse.de>
4377
4378 PR tree-optimization/47167
4379 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
4380 Revert previous change, only avoid enumeral type changes.
4381
882020aa
MS
43822011-01-19 Mike Stump <mikestump@comcast.net>
4383
4384 * doc/tm.texi.in (BRANCH_COST): Englishify.
4385 * doc/tm.texi (BRANCH_COST): Likewise.
4386
7edb6247
DS
43872011-01-19 Dodji Seketeli <dodji@redhat.com>
4388
4389 PR c++/47291
4390 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
4391 (gen_scheduled_generic_parms_dies): New functions.
4392 (gen_struct_or_union_type_die): Schedule template parameters DIEs
4393 generation for the end of CU compilation.
4394 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 4395
23d5ed5d
AO
43962011-01-19 Alexandre Oliva <aoliva@redhat.com>
4397
4398 PR debug/46240
4399 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
4400 debug bind stmt on merge edges.
4401
37d6a488
AO
44022011-01-19 Alexandre Oliva <aoliva@redhat.com>
4403
4404 PR debug/47079
4405 PR debug/46724
4406 * function.c (instantiate_expr): Instantiate incoming rtl of
4407 implicit arguments, and recurse on VALUE_EXPRs.
4408 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
4409 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
4410
689f2c82
AO
44112011-01-19 Alexandre Oliva <aoliva@redhat.com>
4412
4413 * c-parser.c (c_parser_for_statement): Initialize
4414 collection_expression.
4415
03029de4
JM
44162011-01-19 Joseph Myers <joseph@codesourcery.com>
4417
4418 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
4419
3e03217e
JM
44202011-01-19 Joseph Myers <joseph@codesourcery.com>
4421
4422 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
4423 (LINK_SHLIB_SPEC): Don't use %(link_path).
4424 (SUBTARGET_EXTRA_SPECS): Remove link_path.
4425
5bbe9b3f
JM
44262011-01-19 Joseph Myers <joseph@codesourcery.com>
4427
4428 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
4429 (NO_SHARED_LIB_SUPPORT): Remove.
4430 (LINK_SHLIB_SPEC): Remove one conditional definition.
4431
368e0b39
JM
44322011-01-19 Joseph Myers <joseph@codesourcery.com>
4433
4434 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
4435 %{call_shared}.
4436 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
4437 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
4438 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
4439 %{call_shared} and conditionals on these options not being passed.
4440 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
4441 %{call_shared}.
4442
ed7656f6
JJ
44432011-01-19 Jakub Jelinek <jakub@redhat.com>
4444
68457901
JJ
4445 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
4446 simplify.
4447
ed7656f6
JJ
4448 * ipa-split.c: Spelling fixes.
4449
e0d1958f
RH
44502011-01-19 Richard Henderson <rth@redhat.com>
4451
4452 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
4453 (*mulsi3): Likewise.
4454
27098b6b
RH
4455 * longlong.h [__mn10300__] (count_leading_zeros): New.
4456 [__mn10300__] (umul_ppmm, smul_ppmm): New.
4457 [__mn10300__] (add_ssaaaa, subddmmss): New.
4458 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
4459 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
4460
d6be7c36
UW
44612011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4462
4463 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
4464
b1efde2a
RH
44652011-01-19 Richard Henderson <rth@redhat.com>
4466
44217823
RH
4467 * config/mn10300/mn10300.md (addsi3_flags): New.
4468 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
4469 (subsi3_flags, subc_internal, subdi3): New.
4470 (subdi3_internal, *subdi3_degenerate): New.
4471 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
4472
37a185d7
RH
4473 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
4474 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
4475 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
4476 * config/mn10300/mn10300-protos.h: Update.
4477 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
4478 (return_ret): Likewise. Rename from return_internal_regs.
4479 (return_internal): Remove.
4480
040c5757
RH
4481 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
4482 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
4483 (mn10300_legitimate_constant_p): Likewise.
4484 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
4485 (mn10300_frame_size): New.
4486 (mn10300_expand_prologue): Use it.
4487 (mn10300_expand_epilogue): Likewise.
4488 (mn10300_initial_offset): Likewise.
4489 * config/mn10300/mn10300-protos.h: Update.
4490 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
4491 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
4492 (prologue, epilogue, return_internal): Tidy output code.
4493 (mn10300_store_multiple_operation, return): Likewise.
4494 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
4495 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
4496 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
4497 (load_pic, am33_load_pic): New.
4498 (mn10300_load_pic0, mn10300_load_pic1): New.
4499
bad41521
RH
4500 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
4501 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
4502 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
4503 (cc_flags_for_mode, cc_flags_for_code): New.
4504 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
4505 overflow flag is not valid. Validate that the flags we need
4506 for the comparison are valid.
4507 (mn10300_output_cmp): Remove.
4508 (mn10300_output_add): New.
4509 (mn10300_select_cc_mode): Use cc_flags_for_code.
4510 (mn10300_split_cbranch): New.
4511 (mn10300_match_ccmode): New.
4512 (mn10300_split_and_operand_count): New.
4513 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
4514 to the function.
4515 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
4516 (addsi3): ... here. Use mn10300_output_add.
4517 (*addsi3_flags): New.
4518 (*am33_subsi3, *mn10300_subsi3): Merge...
4519 (subsi3): ... here. Use attribute isa.
4520 (*subsi3_flags): New.
4521 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
4522 when possible.
4523 (*am33_andsi3, *mn10300_andsi3): Merge...
4524 (andsi3): ... here.
4525 (*andsi3_flags): New.
4526 (andsi3 splitters): New.
4527 (*am33_iorsi3, *mn10300_iorsi3): Merge...
4528 (iorsi3): ... here.
4529 (*iorsi3_flags): New.
4530 (*am33_xorsi3, *mn10300_xorsi3): Merge...
4531 (xorsi3): ... here.
4532 (*xorsi3_flags): New.
4533 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
4534 (one_cmplsi2): ... here.
4535 (*one_cmplsi2_flags): New.
4536 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
4537 instead of "dax" in constraints. Use mn10300_split_cbranch.
4538 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
4539 use matching constraints to eliminate a self-comparison.
4540 (*integer_conditional_branch): Rename from integer_conditional_branch.
4541 Use int_mode_flags to match CC_REG.
4542 (*cbranchsi4_btst, *btstsi): New.
4543 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
4544 mn10300_split_cbranch.
4545 (*am33_cmpsf): Rename from am33_cmpsf.
4546 (*float_conditional_branch): Rename from float_conditional_branch.
4547 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
4548 (zero_extendqisi2): ... here.
4549 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
4550 (zero_extendhisi2): ... here.
4551 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
4552 (extendqisi2): ... here.
4553 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
4554 (extendhisi2): ... here.
4555 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
4556 (ashlsi3): ... here.
4557 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
4558 (lshrsi3): ... here.
4559 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
4560 (ashrsi3): ... here.
4561 (consecutive add peephole): Remove.
4562 * config/mn10300/predicates.md (label_ref_operand): New.
4563 (int_mode_flags): New.
4564 (CCZN_comparison_operator): New.
4565
9efb4993
RH
4566 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
4567 (throughput_42_latency_43): New reservation.
4568 (mulsidi3, umulsidi3): New expanders.
4569 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
4570 the MDR register to allocation; separately allocate the low and
4571 high parts of the DImode result.
4572 (umulsidi3_internal): Similarly.
4573 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
4574 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
4575 (udivsi3, umodsi3): Remove.
4576 (udivmodsi4, divmodsi4): New expanders.
4577 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
4578 (*divmodsi4): Simiarly.
4579 (ext_internal): New.
4580
c25a21f5
RH
4581 * config/mn10300/constraints.md ("z"): New constraint.
4582 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
4583 (FIXED_REGISTERS): Don't fix MDR.
4584 (CALL_USED_REGSITERS): Reformat nicely.
4585 (REG_ALLOC_ORDER): Add MDR.
4586 (enum regclass): Add MDR_REGS.
4587 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
4588 (IRA_COVER_CLASSES): Add MDR_REGS.
4589 (REGNO_REG_CLASS): Handle MDR_REG.
4590 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
4591 (mn10300_register_move_cost): Likewise.
4592 * config/mn10300/mn10300.md (MDR_REG): New.
4593 (*movsi_internal): Handle moves to/from MDR_REGS.
4594
36846b26
RH
4595 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
4596 POST_MODIFY.
4597 (mn10300_secondary_reload): Tidy combination reload classes.
4598 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
4599 addresses for AM33. Allow symbolic offsets for reg+imm.
4600 (mn10300_regno_in_class_p): New.
4601 (mn10300_legitimize_reload_address): New.
4602 * config/mn10300/mn10300.h (enum reg_class): Remove
4603 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
4604 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
4605 SP_OR_GENERAL_REGS.
4606 (REG_CLASS_NAMES): Update to match.
4607 (REG_CLASS_CONTENTS): Likewise.
4608 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
4609 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
4610 (REGNO_IN_RANGE_P): Remove.
4611 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
4612 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
4613 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
4614 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
4615 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
4616 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
4617 (REGNO_GENERAL_P): New.
4618 (HAVE_POST_MODIFY_DISP): New.
4619 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
4620 (LEGITIMIZE_RELOAD_ADDRESS): New.
4621 * config/mn10300/mn10300-protos.h: Update.
4622
8b119bb6
RH
4623 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
4624 DATA_REGS for AM33 stack-pointer destination.
4625 (mn10300_preferred_output_reload_class): Likewise.
4626 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
4627 into a form appropriate for ...
4628 (TARGET_SECONDARY_RELOAD): New.
4629 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
4630 * config/mn10300/mn10300-protos.h: Update.
4631 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
4632 reload_insi; use the "A" constraint for the scratch; handle AM33
4633 moves of sp to non-address registers.
4634
b1efde2a
RH
4635 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
4636 (*movqi_internal): ... here.
4637 (*am33_movhi, *mn10300_movhi): Merge into...
4638 (*movhi_internal): ... here.
4639 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
4640 as the source/destination of moves from/to SP.
4641 (movsf): Only allow for AM33-2.
1c3ba85b 4642 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
4643 any integer constant constraint. Only allow for AM33-2. Tidy
4644 all of the alternative outputs.
4645 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
4646 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
4647 for MN103.
4648 (udivsi3, umodsi3): New patterns for MN103 only.
4649
b899fd78
JR
46502011-01-19 Joern Rennecke <amylaar@spamcop.net>
4651
4652 * doc/tm.texi.in: Spell out that a lack of register class unions
4653 can lead to ICEs.
4654 * doc/tm.texi: Regenerate.
4655
afaaa67d
JJ
46562011-01-19 Jakub Jelinek <jakub@redhat.com>
4657
2e0642cd
JJ
4658 PR rtl-optimization/47337
4659 * dce.c (check_argument_store): New function.
4660 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
4661
afaaa67d
JJ
4662 PR tree-optimization/47290
4663 * tree-eh.c (infinite_empty_loop_p): New function.
4664 (cleanup_empty_eh): Use it.
4665
d2cd871f
SE
46662011-01-18 Steve Ellcey <sje@cup.hp.com>
4667
4668 PR target/46997
4669 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
4670 (a64_expand_widen_sum): Ditto.
4671 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
4672 (vec_extract_evenodd_help): Ditto.
4673 (vec_extract_evenv4hi): Ditto.
4674 (vec_extract_oddv4hi): Ditto.
4675 (vec_extract_evenv2si): Ditto.
4676 (vec_extract_oddv2si): Ditto.
4677 (vec_extract_evenv2sf): Ditto.
4678 (vec_extract_oddv2sf): Ditto.
4679 (vec_pack_trunc_v4hi: Ditto.
4680 (vec_pack_trunc_v2si): Ditto.
4681 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
4682 (vec_interleave_highv8qi): Ditto.
4683 (mix1_r): Ditto.
4684 (vec_extract_oddv8qi): Ditto.
4685 (vec_interleave_lowv4hi): Ditto.
4686 (vec_interleave_highv4hi): Ditto.
4687 (vec_interleave_lowv2si): Ditto.
4688 (vec_interleave_highv2si): Ditto.
4689
41a1208a
JDA
46902011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4691
4692 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
4693 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
4694 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
4695 (pa_c_mode_for_suffix): New.
4696 (TARGET_EXPAND_BUILTIN): Define.
4697 (TARGET_C_MODE_FOR_SUFFIX): Define.
4698 (pa_builtins): Define.
4699 (pa_init_builtins): Register __float128 type and init new support
4700 builtins.
4701 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
4702 * config/pa/quadlib.c (_U_Qfcopysign): New.
4703
1ecad98e
EB
47042011-01-18 Eric Botcazou <ebotcazou@adacore.com>
4705
4706 PR middle-end/46894
4707 * explow.c (allocate_dynamic_stack_space): Do not assume more than
4708 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
4709 are defined.
4710
d4f2460a
UW
47112011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4712
4713 PR tree-optimization/47179
4714 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
4715 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
4716
4994da65
RG
47172011-01-18 Richard Guenther <rguenther@suse.de>
4718
4719 PR rtl-optimization/47216
4720 * emit-rtl.c: Include tree-flow.h.
4721 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
4722 of replicating it with different semantics.
4723 * Makefile.in (emit-rtl.o): Adjust.
4724
1eb458d1
RR
47252011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4726
38be4072 4727 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 4728 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 4729
e7ef91dc
JJ
47302011-01-18 Jakub Jelinek <jakub@redhat.com>
4731
4732 PR rtl-optimization/47299
4733 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 4734 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
4735 * expmed.c (expand_widening_mult): Don't try to optimize constant
4736 multiplication if op0 has VOIDmode. Convert op1 constant to mode
4737 before using it.
4738
535b7874
RW
47392011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4740
4741 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
4742 spacing after 'e.g.', typos, comma, hyphenation.
4743
27bf36f3
RH
47442011-01-17 Richard Henderson <rth@redhat.com>
4745
8a5b5449
RH
4746 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
4747 (rx_restricted_mem_operand): New.
4748 (rx_shift_operand): Use register_operand.
4749 (rx_source_operand, rx_compare_operand): Likewise.
4750 * config/rx/rx.md (addsi3_flags): New expander.
4751 (adddi3): Rewrite as expander.
4752 (adc_internal, *adc_flags, adddi3_internal): New patterns.
4753 (subsi3_flags): New expander.
4754 (subdi3): Rewrite as expander.
4755 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
4756
784f69be
RH
4757 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
4758 (rx_init_builtins): Remove sat builtin.
4759 (rx_expand_builtin): Likewise.
4760 * config/rx/rx.md (ssaddsi3): New.
4761 (*sat): Rename from sat. Represent the CC_REG input.
4762
f033541c
RH
4763 * config/rx/predicates.md (rshift_operator): New.
4764 * config/rx/rx.c (rx_expand_insv): Remove.
4765 * config/rx/rx-protos.h: Update.
4766 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
4767 operand to the canonical position.
4768 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
4769 (*bitclr, *bitclr_in_memory): Similarly.
4770 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
4771 (insv): Retain the zero_extract in the expansion.
4772
34fee389
RH
4773 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
4774 (bswaphi2, bitinvert, revw): Likewise.
4775
265c835f
RH
4776 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
4777 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
4778 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
4779 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
4780 (bitset, bitset_in_memory): Likewise.
4781 (bitinvert, bitinvert_in_memory): Likewise.
4782 (bitclr, bitclr_in_memory): Likewise.
4783 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
4784 (rx_strend, rx_cmpstrn): Likewise.
4785 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
4786 (bitop peep2 patterns): Remove.
4787
b4d83be3
RH
4788 * config/rx/rx.c (rx_match_ccmode): New.
4789 * config/rx/rx-protos.h: Update.
4790 * config/rx/rx.md (abssi2): Clobber, don't set flags.
4791 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
4792 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
4793 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
4794 (fix_truncsfsi2, floatsisf2): Likewise.
4795 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
4796 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
4797 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
4798 (*subsi3_flags, *xorsi3_flags): New.
4799
d0acb939
RH
4800 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
4801
c06fc3d9
RH
4802 * config/rx/rx.c (rx_print_operand): Remove workaround for
4803 unsplit comparison operations.
4804
2882702b
RH
4805 * config/rx/rx.md (movsicc): Split after reload.
4806 (*movsicc): Merge *movsieq and *movsine via match_operator.
4807 (*stcc): New pattern.
4808
6f7310f2
RH
4809 * config/rx/rx.c (rx_float_compare_mode): Remove.
4810 * config/rx/rx.h (rx_float_compare_mode): Remove.
4811 * config/rx/rx.md (cstoresi4): Split after reload.
4812 (*sccc): New pattern.
4813
e963cb1a
RH
4814 * config/rx/predicates.md (label_ref_operand): New.
4815 (rx_z_comparison_operator): New.
4816 (rx_zs_comparison_operator): New.
4817 (rx_fp_comparison_operator): New.
4818 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
4819 Validate that the flags are set properly for the comparison.
4820 (rx_gen_cond_branch_template): Remove.
4821 (rx_cc_modes_compatible): Remove.
4822 (mode_from_flags): New.
4823 (flags_from_code): Rename from flags_needed_for_conditional.
4824 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
4825 (rx_select_cc_mode): Likewise.
4826 (rx_split_fp_compare): New.
4827 (rx_split_cbranch): New.
4828 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
4829 (*cbranchsi4): Use match_operator and rx_split_cbranch.
4830 (*cbranchsf4): Similarly.
4831 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
4832 match_operator and rx_split_cbranch.
4833 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
4834 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
4835 (*cmpsi): Rename from cmpsi.
4836 (*tstsi): Rename from tstsi.
4837 (*cmpsf): Rename from cmpsf; use CC_Fmode.
4838 (*conditional_branch): Rename from conditional_branch.
4839 (*reveresed_conditional_branch): Remove.
4840 (b<code>): Remove expander.
4841 * config/rx/rx-protos.h: Update.
4842
af530bb4
RH
4843 * config/rx/rx.c (rx_compare_redundant): Remove.
4844 * config/rx/rx.md (cmpsi): Don't use it.
4845 * config/rx/rx-protos.h: Update.
4846
27bf36f3
RH
4847 * config/rx/rx-modes.def (CC_F): New mode.
4848 * config/rx/rx.c (rx_select_cc_mode): New.
4849 * config/rx/rx.h (SELECT_CC_MODE): Use it.
4850 * config/rx/rx-protos.h: Update.
4851
d7fde127
RH
48522011-01-17 Richard Henderson <rth@redhat.com>
4853
4854 * except.c (dump_eh_tree): Fix stray ; after for statement.
4855
6ff38230
RG
48562011-01-17 Richard Guenther <rguenther@suse.de>
4857
4858 PR tree-optimization/47313
4859 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
4860 handling before copying the body. Properly deal with
4861 by-reference result in SSA form.
4862
114ce554
ILT
48632011-01-17 Ian Lance Taylor <iant@google.com>
4864
bf5cd92b 4865 PR target/47219
114ce554
ILT
4866 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
4867 (struct_value_alias_set): Don't define.
4868 (sparc_option_override): Don't set sparc_sr_alias_set and
4869 struct_value_alias_set.
4870 (save_or_restore_regs): Use gen_frame_mem rather than calling
4871 set_mem_alias_set.
4872 (sparc_struct_value_rtx): Likewise.
4873
98c6d93c
L
48742011-01-17 H.J. Lu <hongjiu.lu@intel.com>
4875
4876 PR target/47318
4877 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
4878 __m128i.
4879 (_mm_maskstore_pd): Likewise.
4880 (_mm_maskload_ps): Likewise.
4881 (_mm_maskstore_ps): Likewise.
4882 (_mm256_maskload_pd): Change mask to __m256i.
4883 (_mm256_maskstore_pd): Likewise.
4884 (_mm256_maskload_ps): Likewise.
4885 (_mm256_maskstore_ps): Likewise.
4886
4887 * config/i386/i386-builtin-types.def: Updated.
4888 (ix86_expand_special_args_builtin): Likewise.
4889
4890 * config/i386/i386.c (bdesc_special_args): Update
4891 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
4892 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
4893 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
4894 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
4895
4896 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
4897 Use <avxpermvecmode> on mask register.
4898 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
4899
b9361af2 49002011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
4901 Michael Haubenwallner <michael.haubenwallner@salomon.at>
4902 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
4903
4904 PR target/46655
4905 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
4906 if <= USHRT_MAX in 32-bit mode.
4907
b7ae9eb5
RW
49082011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4909
4910 * doc/install.texi (Configuration, Specific): Wrap long
4911 lines in examples. Allow line wrapping in long options
4912 and URLs where beneficial for PDF output.
4913
4377fad9
RS
49142011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
4915
4916 * config/mips/mips.c (mips_classify_symbol): Don't return
4917 SYMBOL_PC_RELATIVE for nonlocal labels.
4918
55959ffa 49192011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 4920
55959ffa
EB
4921 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
4922
49232011-01-15 Jan Hubicka <jh@suse.cz>
4924
4925 PR tree-optimization/47276
be46831f
JH
4926 * ipa.c (function_and_variable_visibility): Do not try to mark alias
4927 declarations as needed.
4928
05842ff5
MJ
49292011-01-15 Martin Jambor <mjambor@suse.cz>
4930
4931 * common.opt (fdevirtualize): New flag.
4932 * doc/invoke.texi (Option Summary): Document it.
4933 * opts.c (default_options_table): Add devirtualize flag.
4934 * ipa-prop.c (detect_type_change): Return immediately if
4935 devirtualize flag is not set.
4936 (detect_type_change_ssa): Likewise.
4937 (compute_known_type_jump_func): Likewise.
4938 (ipa_analyze_virtual_call_uses): Likewise.
4939
f65cf2b7
MJ
49402011-01-14 Martin Jambor <mjambor@suse.cz>
4941
4942 PR tree-optimization/45934
4943 PR tree-optimization/46302
4944 * ipa-prop.c (type_change_info): New type.
4945 (stmt_may_be_vtbl_ptr_store): New function.
4946 (check_stmt_for_type_change): Likewise.
4947 (detect_type_change): Likewise.
4948 (detect_type_change_ssa): Likewise.
4949 (compute_complex_assign_jump_func): Check for dynamic type change.
4950 (compute_complex_ancestor_jump_func): Likewise.
4951 (compute_known_type_jump_func): Likewise.
4952 (compute_scalar_jump_functions): Likewise.
4953 (ipa_analyze_virtual_call_uses): Likewise.
4954 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
4955
eb5bb0fd
JM
49562011-01-14 Joseph Myers <joseph@codesourcery.com>
4957
4958 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
4959 * config/i386/i386.opt (msse5): New Alias.
4960
f2060fbe
JM
49612011-01-14 Joseph Myers <joseph@codesourcery.com>
4962
4963 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
4964 * config/sparc/linux64.h (CC1_SPEC): Likewise.
4965 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
4966 * config/sparc/sparc.h (CC1_SPEC): Likewise.
4967
3a7b4385
JM
49682011-01-14 Joseph Myers <joseph@codesourcery.com>
4969
4970 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
4971 -mcpu options.
4972 * config/sparc/linux64.h (CC1_SPEC): Likewise.
4973 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
4974 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
4975 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
4976 Likewise.
4977 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
4978
a7b778f8
JM
49792011-01-14 Joseph Myers <joseph@codesourcery.com>
4980
38be4072 4981 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 4982
a7edae0a
MS
49832011-01-14 Mike Stump <mikestump@comcast.net>
4984
4985 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
4986 * config/fr30/fr30.md: Likweise
4987 (movsi_push): Likewise.
4988 (movsi_pop): Likewise.
4989 (enter_func): Likewise.
4990 * config/moxie/moxie.md (movsi_push): Likewise.
4991 (movsi_pop): Likewise.
4992
cbabf03f
JM
49932011-01-14 Joseph Myers <joseph@codesourcery.com>
4994
4995 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
4996 %{no_archive} %{exact_version}.
4997 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
4998 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
4999 %{no_archive} %{exact_version}.
5000 * config/mips/openbsd.h (LINK_SPEC): Likewise.
5001 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
5002 * config/mips/vxworks.h: Likewise.
5003
438da41a
JM
50042011-01-14 Joseph Myers <joseph@codesourcery.com>
5005
38be4072 5006 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 5007
da290a42
JM
50082011-01-14 Joseph Myers <joseph@codesourcery.com>
5009
5010 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
5011 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
5012
8989d00e
JM
50132011-01-14 Joseph Myers <joseph@codesourcery.com>
5014
5015 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
5016 -nodefaultlib.
5017
a3010a69
JM
50182011-01-14 Joseph Myers <joseph@codesourcery.com>
5019
5020 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
5021 for mcpu not cpu.
5022 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
5023 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
5024 not cpu.
5025 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
5026 Don't handle -shlib.
5027
e7f2f537
JM
50282011-01-14 Joseph Myers <joseph@codesourcery.com>
5029
5030 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
5031 (CC1_SPEC): Don't handle -profile.
5032
34830bfd
JM
50332011-01-14 Joseph Myers <joseph@codesourcery.com>
5034
5035 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
5036 * config/mips/mips.h (CC1_SPEC): Likewise.
5037
b2d36e74
JM
50382011-01-14 Joseph Myers <joseph@codesourcery.com>
5039
5040 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
5041 * config/mips/mips.h (CC1_SPEC): Likewise.
5042
dabadc52
JM
50432011-01-14 Joseph Myers <joseph@codesourcery.com>
5044
5045 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
5046 * config/m32r/linux.h (LINK_SPEC): Likewise.
5047 * config/mips/linux.h (LINK_SPEC): Likewise.
5048 * config/mips/linux64.h (LINK_SPEC): Likewise.
5049 * config/sparc/linux.h (LINK_SPEC): Likewise.
5050 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
5051 LINK_SPEC): Likewise.
5052 * config/xtensa/linux.h (LINK_SPEC): Likewise.
5053
43ee6785
JM
50542011-01-14 Joseph Myers <joseph@codesourcery.com>
5055
5056 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
5057 %{version:-v}.
5058 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
5059
45e79dfd
JM
50602011-01-14 Joseph Myers <joseph@codesourcery.com>
5061
5062 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
5063 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
5064
37e9e71d
JM
50652011-01-14 Joseph Myers <joseph@codesourcery.com>
5066
5067 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
5068
bb127cd8
RO
50692011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5070
5071 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
5072 supports -Bstatic/-Bdynamic.
5073 * configure: Regenerate.
5074
89a012ea 50752011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 5076 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
5077
5078 PR target/46037
5079 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
5080 when checking debug_info_level. Test write_symbols instead of
5081 debug_hooks->var_location when setting flag_var_tracking_uninit.
5082
7352c013
RG
50832011-01-14 Richard Guenther <rguenther@suse.de>
5084
5085 PR tree-optimization/47179
5086 * target.def (ref_may_alias_errno): New target hook.
5087 * targhooks.h (default_ref_may_alias_errno): Declare.
5088 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
5089 (default_ref_may_alias_errno): New function.
5090 * target.h (struct ao_ref_s): Declare.
5091 * tree-ssa-alias.c: Include target.h.
5092 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
5093 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
5094 (targhooks.o): Likewise.
5095 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
5096 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
5097
9a6c9288
RG
50982011-01-14 Richard Guenther <rguenther@suse.de>
5099
5100 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
5101
0fdb0d27
RG
51022011-01-14 Richard Guenther <rguenther@suse.de>
5103
5104 PR tree-optimization/47280
5105 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
5106 return CFG changes.
5107 (tree_ssa_forward_propagate_single_use_vars): Deal with
5108 CFG changes from associate_plusminus.
5109
8f66db3b
RG
51102011-01-14 Richard Guenther <rguenther@suse.de>
5111
5112 PR middle-end/47281
5113 Revert
5114 2011-01-11 Richard Guenther <rguenther@suse.de>
5115
280d9630
EB
5116 PR tree-optimization/46076
5117 * tree-ssa.c (useless_type_conversion_p): Conversions from
5118 unprototyped to empty argument list function types are useless.
8f66db3b 5119
6c0c92e6
RG
51202011-01-14 Richard Guenther <rguenther@suse.de>
5121
5122 PR tree-optimization/47286
280d9630 5123 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 5124
db09f943
MJ
51252011-01-14 Martin Jambor <mjambor@suse.cz>
5126
5127 PR middle-end/46823
5128 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
5129
dde8a3a4
AS
51302011-01-13 Anatoly Sokolov <aesok@post.ru>
5131
5132 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
5133 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
5134 * config/xtensa/xtensa.c (xtensa_libcall_value,
5135 xtensa_function_value_regno_p): New functions.
5136 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
5137
a2b63a20
KT
51382011-01-13 Kai Tietz <kai.tietz@onevision.com>
5139
5140 PR c++/47213
5141 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
5142 PE specific hook.
5143 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
5144 New function prototype.
5145 * config/i386/winnt.c (i386_pe_assemble_visibility):
5146 Warn only if attribute was specified by user.
5147
b41f0b34
MM
51482011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
5149
5150 PR target/47251
5151 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
5152 floating point.
5153 (floatunsdidf2_fcfidu): Ditto.
5154
3f3c098d
AK
51552011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5156
5157 * config/s390/s390.c (print_operand_address): Replace 'error' with
5158 'output_operand_lossage'.
5159 (print_operand): Likewise.
5160
29fa95ed
JL
51612011-01-13 Jeff Law <law@redhat.com>
5162
280d9630 5163 PR rtl-optimization/39077
29fa95ed
JL
5164 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
5165 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
5166 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
5167 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
5168 * gcse.c (prune_insertions_deletions): New function.
5169 (compute_pre_data): Use it.
5170
71d12276
DS
51712011-01-13 Dodji Seketeli <dodji@redhat.com>
5172
5173 PR debug/PR46973
5174 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
5175 static function.
61052244 5176 (prune_unused_types_mark): Use it.
71d12276 5177
9b0f04e7
AB
51782011-01-13 Andrey Belevantsev <abel@ispras.ru>
5179
5180 PR rtl-optimization/45352
1c3ba85b 5181 * sel-sched.c: Update copyright years.
9b0f04e7 5182 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 5183 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 5184
d6a3e264
RH
51852011-01-12 Richard Henderson <rth@redhat.com>
5186
a49b692a
RH
5187 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
5188 (TARGET_MD_ASM_CLOBBERS): New.
5189
126b1483
RH
5190 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
5191 (TARGET_DELEGITIMIZE_ADDRESS): New.
5192
f3d9d2e0
RH
5193 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
5194 (clzsi2, *bsch): New patterns.
5195
d84760c9
RH
5196 * config/mn10300/mn10300.md (INT): New mode iterator.
5197 (*mov<INT>_clr): New pattern, and peep2 to generate it.
5198
ec815d65
RH
5199 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
5200 flag_split_wide_types.
5201
d6a3e264
RH
5202 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
5203 (mn10300_trampoline_init): Rewrite without a template, an immediate
5204 load and a direct branch.
5205 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
5206
0f8ab434
AS
52072011-01-12 Anatoly Sokolov <aesok@post.ru>
5208
5209 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
5210 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
5211 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
5212 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
5213
d8a24b65
KT
52142011-01-12 Kai Tietz <kai.tietz@onevision.com>
5215
5216 PR debug/47209
5217 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
5218 of type.
5219
56e22cab
JH
52202011-01-12 Jan Hubicka <jh@suse.cz>
5221
5222 PR driver/47244
5223 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
5224 (PLUGIN_COND_CLOSE): New macro.
5225 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
5226
4b18b3c2
RG
52272011-01-12 Richard Guenther <rguenther@suse.de>
5228
5229 PR lto/47259
5230 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
5231 register variables in a MEM_REF.
5232
8e38461c
JM
52332011-01-12 Joseph Myers <joseph@codesourcery.com>
5234
5235 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
5236 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
5237 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
5238 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
5239 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
5240 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
5241 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
5242 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
5243 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
5244 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
5245 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
5246 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
5247 * config/gnu-user.h: New. Copied from linux.h.
5248 (LINUX_TARGET_STARTFILE_SPEC): Rename to
5249 GNU_USER_TARGET_STARTFILE_SPEC.
5250 (LINUX_TARGET_ENDFILE_SPEC): Rename to
5251 GNU_USER_TARGET_ENDFILE_SPEC.
5252 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
5253 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
5254 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
5255 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
5256 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
5257 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
5258 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
5259 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
5260 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
5261 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
5262 * config/arm/linux-eabi.h (CC1_SPEC): Use
5263 GNU_USER_TARGET_CC1_SPEC.
5264 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
5265 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
5266 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
5267 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
5268 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
5269 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
5270 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
5271 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
5272
a570fc16
RG
52732011-01-12 Richard Guenther <rguenther@suse.de>
5274
5275 PR other/46946
5276 * doc/invoke.texi (ffast-math): Document it is turned on
5277 with -Ofast.
5278
b0223c3e
JH
52792011-01-12 Jan Hubicka <jh@suse.cz>
5280
5281 PR tree-optimization/47233
ca1e00b3
EB
5282 * opts.c (common_handle_option): Disable ipa-reference with profile
5283 feedback.
b0223c3e 5284
1c3ba85b 52852011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
5286
5287 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
5288 error message.
5289
d853ee42
NP
52902011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
5291
5292 * c-parser.c (c_lex_one_token): Updated and reindented some
5293 comments. No changes in code.
5294
4053a5a0
ILT
52952011-01-11 Ian Lance Taylor <iant@google.com>
5296
5297 * godump.c (go_output_var): Don't output the variable if there is
5298 already a type with the same name.
5299
fa3e04d2
ILT
53002011-01-11 Ian Lance Taylor <iant@google.com>
5301
5302 * godump.c (go_format_type): Don't generate float80.
5303
885fe07c
RH
53042011-01-11 Richard Henderson <rth@redhat.com>
5305
72d6e3c5
RH
5306 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
5307 declaration. Rewrite for both speed and size.
5308 (mn10300_address_cost_1): Remove.
5309 (mn10300_register_move_cost): New.
5310 (mn10300_memory_move_cost): New.
5311 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
5312 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
5313 extensions, shifts, BSWAP, CLZ.
5314 (mn10300_wide_const_load_uses_clr): Remove.
5315 (TARGET_REGISTER_MOVE_COST): New.
5316 (TARGET_MEMORY_MOVE_COST): New.
5317 * config/mn10300/mn10300-protos.h: Update.
5318 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
5319
df37c023
RH
5320 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
5321 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
5322 * config/mn10300/mn10300-protos.h: Update.
5323 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
5324 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
5325 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
5326 (*test_int_bitfield, *test_byte_bitfield): Remove.
5327 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 5328 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 5329
85a337b5
RH
5330 * config/mn10300/constraints.md ("c"): Rename from "A".
5331 ("A", "D"): New constraint letters.
5332 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
5333 (fmssf4, fnmasf4, fnmssf4): Likewise.
5334
a5c727e3
RH
5335 * config/mn10300/mn10300.md (isa): New attribute.
5336 (enabled): New attribute.
5337
0d9e23f4
RH
5338 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
5339 (abssf2, negsf2): Define only for hardware fp.
5340 (sqrtsf2): Reformat.
5341 (addsf3, subsf3, mulsf3): Merge expander and insn.
5342
c157b3f0
RH
5343 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
5344 (DEBUGGER_AUTO_OFFSET): Remove.
5345 (DEBUGGER_ARG_OFFSET): Remove.
5346
cc909bba
RH
5347 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
5348 Emit register stores with the same offsets as the hardware.
5349 (mn10300_store_multiple_operation): Don't check that the register
5350 save offsets are monotonic.
5351 * config/mn10300/mn10300-protos.h: Update.
5352
e3b5c2f3
RH
5353 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
5354
885fe07c
RH
5355 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
5356 in terms of the value on the stack, not the MDR register.
5357
6e701822
JH
53582011-01-11 Jan Hubicka <jh@suse.cz>
5359
5360 PR lto/45721
5361 PR lto/45375
5362 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
5363 (symbol_alias_set_destroy, symbol_alias_set_contains,
5364 propagate_aliases_backward): Declare.
5365 * lto-streamer-out.c (struct sets): New sturcture.
5366 (trivally_defined_alias): New function.
5367 (output_alias_pair_p): Rewrite.
5368 (output_unreferenced_globals): Fix output of alias pairs.
5369 (produce_symtab): Likewise.
5370 * ipa.c (function_and_variable_visibility): Set weak alias destination
5371 as needed in lto.
5372 * varasm.c (symbol_alias_set_t): Remove.
5373 (symbol_alias_set_destroy): Export.
5374 (propagate_aliases_forward, propagate_aliases_backward): New functions
5375 based on ...
5376 (compute_visible_aliases): ... this one; remove.
5377 (trivially_visible_alias): New
5378 (trivially_defined_alias): New.
5379 (remove_unreachable_alias_pairs): Rewrite.
5380 (finish_aliases_1): Reorganize code checking if alias is defined.
5381 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
5382 in LTO mode.
5383
1b248907
RG
53842011-01-11 Richard Guenther <rguenther@suse.de>
5385
5386 PR tree-optimization/46076
5387 * tree-ssa.c (useless_type_conversion_p): Conversions from
5388 unprototyped to empty argument list function types are useless.
5389
b1923f0a
RG
53902011-01-11 Richard Guenther <rguenther@suse.de>
5391
5392 PR middle-end/45235
5393 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
5394 volatile MEMs as MEM_READONLY_P.
5395
e98965af
RG
53962011-01-11 Richard Guenther <rguenther@suse.de>
5397
5398 PR tree-optimization/47239
5399 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
5400
9f9ca914
JL
54012011-01-11 Jeff Law <law@redhat.com>
5402
1ee3ea05 5403 PR tree-optimization/47086
9f9ca914
JL
5404 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
5405 IVs from statements that might throw.
5406
345fdcb7
JH
54072011-01-10 Jan Hubicka <jh@suse.cz>
5408
5409 PR lto/45375
5410 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
5411
c459c97b
JH
54122011-01-10 Jan Hubicka <jh@suse.cz>
5413
5414 PR lto/45375
5415 * profile.c (read_profile_edge_counts): Ignore profile inconistency
5416 when correcting profile.
5417
06c9eb51
JH
54182011-01-10 Jan Hubicka <jh@suse.cz>
5419
5420 PR lto/46083
5421 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
5422 DECL_FINI_PRIORITY.
5423 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
5424 Restore DECL_FINI_PRIORITY.
5425
ae9fd815
RW
54262011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5427
5428 * doc/gimple.texi: Fix quoting of multi-word return values in
5429 @deftypefn statements. Ensure presence of return value. Wrap
5430 overlong @deftypefn lines.
5431 (is_gimple_operand, is_gimple_min_invariant_address): Remove
5432 descriptions of removed functions.
5433 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
5434 of multi-word return value in @deftypefn statement.
5435
0ecb4a7c
RW
54362011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5437
5438 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
5439 (Conditional Expressions, Logical Operators)
5440 (Statement and operand traversals): Do not indent smallexample
5441 code. Fix duplicate function argument in example.
5442
2e5e346d
JL
54432011-01-10 Jeff Law <law@redhat.com>
5444
1ee3ea05 5445 PR tree-optimization/47141
2e5e346d
JL
5446 * ipa-split.c (split_function): Handle case where we are
5447 returning a value and the return block has a virtual operand phi.
5448
cf9712cc
JH
54492011-01-10 Jan Hubicka <jh@suse.cz>
5450
1c3ba85b 5451 PR tree-optimization/47234
cf9712cc
JH
5452 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
5453 (pass_feedback_split_functions): Declare.
5454 * passes.c (init_optimization_passes): Add ipa-split as subpass of
5455 tree-profile.
5456 * ipa-split.c (gate_split_functions): Update comments; disable
5457 split-functions for profile_arc_flag and branch_probabilities.
5458 (gate_feedback_split_functions): New function.
5459 (execute_feedback_split_functions): New function.
5460 (pass_feedback_split_functions): New global var.
5461
94cd932c
L
54622011-01-10 H.J. Lu <hongjiu.lu@intel.com>
5463
5464 PR lto/46760
5465 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
5466 calling gimple_call_set_cannot_inline.
5467
fbbfcaf1
IS
54682011-01-10 Iain Sandoe <iains@gcc.gnu.org>
5469
5470 * config/darwin-sections.def: Remove unused section.
5471
d06865bf
DK
54722011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
5473
5474 PR c++/47218
5475 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
5476
96bbfbac
NP
54772011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
5478
5479 PR objc/47232
5480 * c-parser.c (c_parser_declaration_or_fndef): Improved
5481 error message.
5482
1ba6516f
KT
54832011-01-09 Kai Tietz <kai.tietz@onevision.com>
5484
5485 * config/i386/winnt.c (i386_pe_start_function): Make sure
5486 to switch back to function's section.
5487
0c5d770e
IS
54882011-01-09 Iain Sandoe <iains@gcc.gnu.org>
5489
5490 PR gcc/46902
5491 PR testsuite/46912
5492 * plugin.c: Move include of dlfcn.h from here...
5493 * system.h: ... to here.
5494
54952011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
5496
5497 * doc/cpp.texi (C++ Named Operators): Fix markup for header
5498 file name.
5499 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
5500 two extra empty pages in PDF output.
5501
046608a3
NP
55022011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
5503
5504 PR objc/47078
5505 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
5506 for error recovery purposes behave as if it was not specified so
5507 that the default type is usd.
5508
8cb114b9
JH
55092011-01-07 Jan Hubicka <jh@suse.cz>
5510
5511 PR tree-optmization/46469
5512 * ipa.c (function_and_variable_visibility): Clear needed flags on
5513 nodes with external decls; handle weakrefs merging correctly.
5514
b294a75e
JM
55152011-01-07 Joseph Myers <joseph@codesourcery.com>
5516
5517 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
5518 not false.
5519
96bdf9b4
JH
55202011-01-07 Jan Hubicka <jh@suse.cz>
5521
5522 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
5523 and no longer claim that gold is required for linker plugin.
5524 * configure: Regenerate.
5525 * gcc.c (PLUGIN_COND): New macro.
5526 (LINK_COMMAND_SPEC): Use it.
5527 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
5528 * config.in (HAVE_LTO_PLUGIN): New.
5529 * configure.ac (--with-lto-plugin): New parameter; autodetect
5530 HAVE_LTO_PLUGIN.
5531
17afc0fe
JH
55322011-01-07 Jan Hubicka <jh@suse.cz>
5533
5534 PR tree-optimization/46367
5535 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
5536 when we can update original.
5537 (cgraph_mark_inline_edge): Sanity check.
5538 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
5539
d4c48c0f
UW
55402011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5541
5542 * config/spu/spu.h (ASM_COMMENT_START): Define.
5543
96f5b137
L
55442011-01-07 H.J. Lu <hongjiu.lu@intel.com>
5545
5546 PR driver/42445
5547 * gcc.c (%>S): New.
5548 (SWITCH_KEEP_FOR_GCC): Likewise.
5549 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
5550 (do_spec_1): Handle "%>".
5551
5552 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
5553
c6a8f6de
JJ
55542011-01-07 Jakub Jelinek <jakub@redhat.com>
5555
c21bbd7a
JJ
5556 PR target/47201
5557 * config/i386/i386.c (ix86_delegitimize_address): If
5558 simplify_gen_subreg fails, return orig_x.
5559
c6a8f6de
JJ
5560 PR bootstrap/47187
5561 * value-prof.c (gimple_stringop_fixed_value): Handle
5562 lhs of the call properly.
5563
fe95fbf9
JH
55642011-01-07 Jan Hubicka <jh@suse.cz>
5565
5566 PR lto/45375
5567 * lto-opt.c (lto_reissue_options): Set flag_shlib.
5568
14d11d40
IS
55692011-01-07 Iain Sandoe <iains@gcc.gnu.org>
5570
72e961c8
EB
5571 * target.def (function_switched_text_sections): New hook.
5572 * doc/tm.texi: Regenerated.
5573 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 5574 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
5575 (final_scan_insn): Call function_switched_text_sections when a
5576 mid-function section change occurs.
14d11d40 5577 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
5578 * config/darwin-protos.h (darwin_function_switched_text_sections):
5579 Likewise.
14d11d40 5580 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 5581 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 5582
0b764288
IS
55832011-01-07 Iain Sandoe <iains@gcc.gnu.org>
5584
5585 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
5586 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
5587 the secondary code fragment when outputting for DWARF == 2.
5588
2ac6bb04
AS
55892011-01-07 Anatoly Sokolov <aesok@post.ru>
5590
5591 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
5592 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
5593 Remove.
5594 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
5595 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
5596
9f82de11
EB
55972011-01-06 Eric Botcazou <ebotcazou@adacore.com>
5598
5599 PR debug/46704
280d9630
EB
5600 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
5601 when it is not empty.
9f82de11
EB
5602
56032011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 5604
1ed72abf 5605 Bobcat Enablement
14b52538 5606 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 5607 (case ${target}): Add btver1.
14b52538 5608 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 5609 -march=native recognize btver1 processors.
14b52538 5610 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 5611 btver1 def_and_undef
14b52538 5612 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
5613 btver1 cost table.
5614 (m_BTVER1): New definition.
5615 (m_AMD_MULTIPLE): Includes m_BTVER1.
5616 (initial_ix86_tune_features): Add btver1 tune.
5617 (processor_target_table): Add btver1 entry.
5618 (static const char *const cpu_names): Add btver1 entry.
5619 (software_prefetching_beneficial_p): Add btver1.
5620 (ix86_option_override_internal): Add btver1 instruction sets.
5621 (ix86_issue_rate): Add btver1.
5622 (ix86_adjust_cost): Add btver1.
14b52538 5623 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
5624 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
5625 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
5626 * config/i386/i386.md (define_attr "cpu"): Add btver1.
5627
e1a973d8
RO
56282011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5629
5630 PR target/43309
5631 * config/i386/i386.c (legitimize_tls_address)
5632 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
5633 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
5634 (tls_initial_exec_64_sun): New pattern.
5635
c73f67c5
GP
56362011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
5637
5638 * doc/invoke.texi (Overall Options): Improve wording and markup
5639 of the description of -wrapper.
5640
bc4c6f9c
JM
56412011-01-06 Joseph Myers <joseph@codesourcery.com>
5642
5643 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
5644 rdynamic, threads): New Driver options.
5645
adb75db0
RO
56462011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5647
5648 PR target/38118
5649 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
5650 if coming from .tdata.
5651 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
5652
402c1cb4
JH
56532011-01-06 Jan Hubicka <jh@suse.cz>
5654
5655 PR lto/47188
5656 * collect2.c (main): Do not enable LTOmode when plugin is active.
5657
a4da6485
RO
56582011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5659
5660 PR other/45915
5661 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
5662 --version output if supported.
5663 * configure: Regenerate.
5664
028dbdf4
JM
56652011-01-06 Joseph Myers <joseph@codesourcery.com>
5666
5667 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
5668 Driver options.
5669
dfe776dd
JJ
56702011-01-06 Jakub Jelinek <jakub@redhat.com>
5671
5672 PR c/47150
5673 * c-convert.c (convert): When converting a complex expression
5674 other than COMPLEX_EXPR to a different complex type, ensure
5675 c_save_expr is called instead of save_expr, unless in_late_binary_op.
5676 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
5677 when converting COMPLEX_TYPE.
5678
210dedfe
IR
56792011-01-06 Ira Rosen <irar@il.ibm.com>
5680
5681 PR tree-optimization/47139
5682 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
5683 only the last reduction value is used outside the loop. Update
5684 documentation.
5685
cd33a412
JM
56862011-01-05 Joseph Myers <joseph@codesourcery.com>
5687
5688 * config/rtems.opt: New.
5689 * config.gcc (*-*-rtems*): Use rtems.opt.
5690
819edd94
CF
56912011-01-05 Changpeng Fang <changpeng.fang@amd.com>
5692
5693 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
5694 processors do not support 3DNow instructions.
5695
dc242c4a
UW
56962011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5697
5698 * config/spu/spu.c (spu_option_override): Set parameter
5699 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
5700
be286227
JH
57012011-01-05 Jan Hubicka <jh@suse.cz>
5702
5703 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
5704 at the command line.
5705
644e637f
MJ
57062011-01-05 Martin Jambor <mjambor@suse.cz>
5707
5708 PR lto/47162
5709 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
5710 deltas on streamed outgoing edges.
5711 (output_node_opt_summary): Output info for outgoing edges only when
5712 the node is in new parameter set.
5713 (output_cgraph_opt_summary): New parameter set, passed to the two
5714 aforementioned functions. Update its forward declaration and its
5715 callee too.
5716
7bd11157
TT
57172011-01-05 Tom Tromey <tromey@redhat.com>
5718
5719 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
5720 operator to c_finish_omp_atomic.
5721 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
5722 (build_unary_op): Update.
5723 (build_modify_expr): Update.
5724 (build_asm_expr): Update.
5725
f626b979
UW
57262011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5727
5728 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
5729 newly inserted insns.
5730 (pad_bb): Likewise.
5731 (spu_emit_branch_hint): Likewise.
5732 (insert_hbrp_for_ilb_runout): Likewise.
5733 (spu_machine_dependent_reorg): Call df_finish_pass after
5734 schedule_insns returns.
5735
4c825c02
UW
57362011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5737
5738 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
5739
5e9fba51
EB
57402011-01-05 Eric Botcazou <ebotcazou@adacore.com>
5741
5742 PR tree-optimization/47005
5743 * tree-sra.c (struct access): Add 'non_addressable' bit.
5744 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
5745 (decide_one_param_reduction): Return 0 if the parameter is passed by
5746 reference and one of the accesses in the group is non_addressable.
5747
3ebb5ca6
EB
57482011-01-04 Eric Botcazou <ebotcazou@adacore.com>
5749
5750 PR tree-optimization/47056
5751 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
5752 (mark_load): Likewise. Handle FUNCTION_DECL specially.
5753 (mark_store): Likewise. Pass STMT to ipa_record_reference.
5754
d5d4d14e
EB
57552011-01-04 Eric Botcazou <ebotcazou@adacore.com>
5756
5757 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
5758 initializer. Skip view conversions from aggregate types.
5759
d996ef70
KT
57602011-01-04 Kai Tietz <kai.tietz@onevision.com>
5761
5762 PR bootstrap/47055
5763 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
5764
509d65dd 57652011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
5766
5767 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
5768 obvious typo.
5769
55c623b5
UW
57702011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5771
5772 * function.c (thread_prologue_and_epilogue_insns): Do not crash
5773 on empty epilogue sequences.
5774
b98d6b35
JM
57752011-01-04 Joseph Myers <joseph@codesourcery.com>
5776
5777 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
5778 non-static): New Driver options.
5779
a0d43bac
JZ
57802011-01-04 Jie Zhang <jie@codesourcery.com>
5781
5782 PR driver/47137
5783 * gcc.c (default_compilers[]): Set combinable field to 0
5784 for all assembly languages.
5785
2b18eb32
MX
57862011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
5787
5788 * config/mips/loongson3a.md: New file.
5789 * config/mips/mips.md: Include loongson3a.md.
5790 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
5791 TUNE_LOONGSON_3A.
5792
42a48c4f
EB
57932011-01-03 Eric Botcazou <ebotcazou@adacore.com>
5794
5795 PR middle-end/47017
5796 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
5797 instead of convert_memory_address_addr_space on the base expression.
5798
9c1732c4
UW
57992011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5800
5801 * config/spu/spu.c (spu_option_override): Update error text
5802 for bad -march= / -mtune= values.
5803
aa474365
UW
58042011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5805
5806 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
5807 if branch-hint optimization will be performed.
5808
9766135b
JJ
58092011-01-03 Jakub Jelinek <jakub@redhat.com>
5810
371556ee
JJ
5811 PR tree-optimization/47148
5812 * ipa-split.c (split_function): Convert arguments to
5813 DECL_ARG_TYPE if possible.
5814
1ac12fa2
JJ
5815 PR tree-optimization/47155
5816 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
5817 when computing uns.
5818
9766135b
JJ
5819 PR rtl-optimization/47157
5820 * combine.c (try_combine): If undobuf.other_insn becomes
5821 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
5822 and set *new_direct_jump_p too.
5823
f4a2e571
SP
58242011-01-03 Sebastian Pop <sebastian.pop@amd.com>
5825
5826 PR tree-optimization/47021
5827 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
5828
9f8e43c0
JJ
58292011-01-03 Jakub Jelinek <jakub@redhat.com>
5830
5831 * gcc.c (process_command): Update copyright notice dates.
5832 * gcov.c (print_version): Likewise.
5833 * gcov-dump.c (print_version): Likewise.
5834 * mips-tfile.c (main): Likewise.
5835 * mips-tdump.c (main): Likewise.
5836
1a2e38f3
MJ
58372011-01-03 Martin Jambor <mjambor@suse.cz>
5838
5839 PR tree-optimization/46801
5840 * tree-sra.c (type_internals_preclude_sra_p): Check whether
5841 aggregate fields start at byte boundary instead of the bit-field flag.
5842
56b721c5
L
58432011-01-03 H.J. Lu <hongjiu.lu@intel.com>
5844
5845 PR driver/47137
5846 * gcc.c (main): Revert revision 168407.
5847
839d549b
MJ
58482011-01-03 Martin Jambor <mjambor@suse.cz>
5849
5850 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
5851
4ce99a20 58522011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
5853
5854 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
5855 vector optab to expand vector/scalar shift, update gimple to vector.
5856
76df0ae6
MJ
58572011-01-03 Martin Jambor <mjambor@suse.cz>
5858
5859 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
5860 a thunk.
5861
ce47fda3
MJ
58622011-01-03 Martin Jambor <mjambor@suse.cz>
5863
5864 PR tree-optimization/46984
5865 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
5866 HOST_WIDE_INT.
5867 (cgraph_create_indirect_edge): Fixed line length.
5868 (cgraph_indirect_call_info): Declare.
5869 (cgraph_make_edge_direct) Update declaration.
5870 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
5871 (cgraph_create_indirect_edge): Use it.
5872 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
5873 callees.
5874 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
5875 the new thunk_delta representation.
5876 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
5877 HOST_WIDE_INT.
5878 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
5879 (ipa_read_indirect_edge_info): Likewise.
5880 * lto-cgraph.c (output_edge_opt_summary): New function.
5881 (output_node_opt_summary): Call it on all outgoing edges.
5882 (input_edge_opt_summary): New function.
5883 (input_node_opt_summary): Call it on all outgoing edges.
5884
1e67fa1f
L
58852011-01-02 H.J. Lu <hongjiu.lu@intel.com>
5886
5887 PR driver/47137
5888 * gcc.c (main): Don't check have_o when settting combine_inputs.
5889
6656b2ac
EB
58902011-01-02 Eric Botcazou <ebotcazou@adacore.com>
5891
5892 * regrename.c: Add general comment describing the pass.
5893 (struct du_head): Remove 'length' field.
5894 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
5895 (regrename_optimize): Do not sort chains. Rework comments, add others.
5896 Force renaming to the preferred class (if any) in the first pass and do
5897 not consider registers that belong to it in the second pass.
5898 (create_new_chain): Do not set 'length' field.
5899 (scan_rtx_reg): Likewise.
5900
bc470c24
JJ
59012011-01-02 Jakub Jelinek <jakub@redhat.com>
5902
4e996296
JJ
5903 PR tree-optimization/47140
5904 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
5905 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
5906 to bit_value_binop.
5907
bc470c24 5908 PR rtl-optimization/47028
6656b2ac
EB
5909 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
5910 parm_birth_insn instead of at the beginning of first bb.
bc470c24 5911
5af62fcd 59122011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
5913
5914 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
5915 Remove the word "see" before "@pxref".
5916 * doc/rtl.texi: Remove the word "see" before "@pxref".
5917
0e20c89f
JH
59182011-01-01 Jan Hubicka <jh@suse.cz>
5919
6656b2ac
EB
5920 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
5921 memory.
0e20c89f 5922
220e83ca
KT
59232011-01-01 Kai Tietz <kai.tietz@onevision.com>
5924
5925 PR target/38662
6656b2ac 5926 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 5927
ad41bd84 5928\f
797103eb 5929Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
5930
5931Copying and distribution of this file, with or without modification,
5932are permitted in any medium without royalty provided the copyright
5933notice and this notice are preserved.