]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
GCC 4.7 Solaris updates to install.texi
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
493dd43c
RO
12012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2
3 * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
4 binutils reference.
5 (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
6 Update binutils references.
7 (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
8 Update binutils reference.
9 Update Sun as/GNU ld caveat.
10 Document binutils largefile requirement for LTO plugin.
11 Remove referent to alternate libpthread.
12
5c30094f
RO
132012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14
15 * config.gcc (alpha*-dec-osf5.1*): Remove.
16 * config.host (alpha*-dec-osf*): Remove.
17 * configure.ac (*-*-osf*): Remove.
18 (alpha*-dec-osf*): Remove.
19 * configure: Regenerate.
20
21 * config/alpha/host-osf.c, config/alpha/osf5.h,
22 config/alpha/osf5.opt, config/alpha/va_list.h, config/alpha/x-osf:
23 Remove.
24
25 * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
26 * config/alpha/alpha.c (struct machine_function): Update comment.
27 (alpha_start_function): Remove Tru64 UNIX as handling for
28 max_frame_size.
29 * config/alpha/alpha.md ("exception_receiver"): Remove
30 TARGET_LD_BUGGY_LDGP.
31 ("*exception_receiver_2"): Likewise.
32 * except.c (finish_eh_generation): Remove Tru64 reference.
33 * ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
34 * system.h (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Poison.
35 * target.def (handle_pragma_extern_prefix): Remove.
36
37 * Makefile.in (mips-tfile.o-warn): Remove.
38 (ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
39 (mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
40 * mips-tdump.c, mips-tfile.c: Remove.
41
42 * doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
43 extern_prefix.
44 * doc/install.texi (Binaries): Remove Tru64 UNIX reference.
45 (Specific, alpha*-dec-osf5.1): Note removal.
46 * doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
47 Remove.
48 * doc/tm.texi: Regenerate.
49 * doc/trouble.texi (Cross-Compiler Problems): Remove.
50
bb008427
RG
512012-03-12 Richard Guenther <rguenther@suse.de>
52
53 * config/arm/arm.c (neon_dereference_pointer): Do not call
54 covert during RTL expansion.
55
281740d1
TG
562012-03-12 Tristan Gingold <gingold@adacore.com>
57
58 * doc/invoke.texi (VMS Options): Merge Alpha/VMS and IA-64/VMS
59 Options. Mention -mpointer-size.
60
21fa2faf
RG
612012-03-12 Richard Guenther <rguenther@suse.de>
62
63 * config/alpha/alpha.c (alpha_gimplify_va_arg): Use
64 build_nonstandard_integer_type.
65
7ee6fd68
RG
662012-03-12 Richard Guenther <rguenther@suse.de>
67
68 * tree.c (signed_or_unsigned_type_for): Use
69 build_nonstandard_integer_type.
70 (signed_type_for): Adjust documentation.
71 (unsigned_type_for): Likewise.
72 * tree-pretty-print.c (dump_generic_node): Use standard names
73 for non-standard integer types if available.
74
d8aba32a
TG
752012-03-12 Tristan Gingold <gingold@adacore.com>
76
77 * config/vms/vms.opt: Add vms-opts.h header.
78 (mmalloc64): Use flag_vms_malloc64 flag instead of MALLOC64
79 target mask.
80 (-mvms-return-codes): Document.
81 (-mpointer-size): New option.
82 (vms_pointer_size): Add enumeration.
83 * config/vms/vms-opts.h: New file.
84 * config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
85 __INITIAL_POINTER_SIZE.
86 (POINTER_SIZE, SIZE_TYPE, PTRDIFF_TYPE): Adjust definition.
87 (C_COMMON_OVERRIDE_OPTIONS): Define.
88 (DWARF2_ADDR_SIZE): Define.
89 * config/vms/vms.c (vms_patch_builtins): Adjust condition.
90 * config/vms/vms-protos.h (vms_c_common_override_options):
91 New prototype.
92 * config/vms/vms-c.c (vms_pragma_pointer_size): Ignore pragma
93 if -mno-pointer-size.
94 (vms_c_common_override_options): New function.
95 * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
96 * config/alpha/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
97 (MALLOC_ABI_ALIGNMENT): Use flag_vms_malloc64
98 and flag_vms_pointer_size.
99 (MASK_RETURN_ADDR): Set according to flag_vms_pointer_size.
100 * config.gcc (*-*-*vms*): Define xm_file.
101 (alpha*-dec-*vms*): Do not define xm_file.
102 (alpha64-dec-*vms*): Remove.
103 (ia64-hp-*vms*): Do not define xm_file. Simplify tm_file
104 and tmake_file.
105
7b5c5139
JJ
1062012-03-12 Jakub Jelinek <jakub@redhat.com>
107
108 PR tree-optimization/51721
109 * tree-vrp.c (register_edge_assert_for_2): Add asserts for unsvar
110 if (int) unsvar cmp CST.
111
3f5f6592
RG
1122012-03-12 Richard Guenther <rguenther@suse.de>
113
114 * tree-sra.c (create_access_replacement): Only rename the
115 replacement if we can rewrite it into SSA form. Properly
116 mark register typed replacements that we cannot rewrite
117 with TREE_ADDRESSABLE.
118 * tree-cfg.c (verify_expr): Fix BIT_FIELD_REF verification
119 for aggregate or BLKmode results.
120
01c1f20d
JJ
1212012-03-12 Jakub Jelinek <jakub@redhat.com>
122
123 PR tree-optimization/52533
124 * tree-vrp.c (register_edge_assert_for_2): Use double_int
125 type for mask, only handle shifts by non-zero in-range
126 shift count, for LE_EXPR and GT_EXPR if new_val is
127 maximum, don't add the assertion.
128
bf2eaa3f
KY
1292012-02-12 Kirill Yukhin <kirill.yukhin@intel.com>
130
131 * doc/invoke.texi: Document -mrtm option.
132 * common/config/i386/i386-common.c (OPTION_MASK_ISA_RTM_SET):
133 New.
134 (OPTION_MASK_ISA_RTM_UNSET): Ditto.
135 (ix86_handle_option): Handle OPT_mrtm.
136 * config.gcc (i[34567]86-*-*): Add rtmintrin.h and
137 xtestintrin.h.
138 (x86_64-*-*): Ditto.
139 * i386-builtin-types.def (INT_FTYPE_VOID): New.
140 * config/i386/i386-c.c (ix86_target_macros_internal): Define
141 __RTM__ if needed.
142 (ix86_target_string): Define -mrtm option.
143 (PTA_RTM): New.
144 (ix86_option_override_internal): Extend "corei7-avx" with
145 RTM option. Handle new option.
146 (ix86_valid_target_attribute_inner_p): Add OPT_mrtm.
147 (ix86_builtins): Add IX86_BUILTIN_XBEGIN, IX86_BUILTIN_XEND,
148 IX86_BUILTIN_XTEST.
149 (bdesc_special_args): Ditto.
150 (ix86_init_mmx_sse_builtins): Add IX86_BUILTIN_XABORT.
151 (ix86_expand_special_args_builtin): Handle new built-in type.
152 (ix86_expand_builtin): Handle XABORT instruction.
153 * config/i386/i386.h (TARGET_RTM): New.
154 * config/i386/i386.md (UNSPECV_XBEGIN): New.
155 (UNSPECV_XEND): Ditto.
156 (UNSPECV_XABORT): Ditto.
157 (UNSPECV_XTEST): Ditto.
158 (xbegin): Ditto.
159 (xbegin_1): Ditto.
160 (xend): Ditto.
161 (xabort): Ditto
162 (xtest): Ditto.
163 (xtest_1): Ditto.
164 * config/i386/i386.opt (mrtm): New.
165 * config/i386/immintrin.h: Include rtmintrin.h and
166 xtestintrin.h.
167 * config/i386/rtmintrin.h: New header.
168 * config/i386/xtestintrin.h: Ditto.
169
914e2f45
TG
1702012-03-12 Tristan Gingold <gingold@adacore.com>
171
172 * ginclude/stddef.h: Adjust previous patch. Use __VMS__ instead
173 of VMS.
174
f70c41dd
UB
1752012-03-12 Uros Bizjak <ubizjak@gmail.com>
176
177 * config/i386/i386.md (setcc + movzbl to xor + setcc peephole2):
178 Also convert sequences with CC setting arithmetic instruction.
179
25d28bd3
SL
1802012-03-11 Sandra Loosemore <sandra@codesourcery.com>
181
182 * doc/invoke.texi (Option Summary): Move -no-integrated-cpp
183 from C Language Options to Preprocessor Options.
184 (C Dialect Options): Move -no-integrated-cpp documentation
185 from here...
186 (Preprocessor Options): ...to here. Rewrite the description
187 so it makes more sense, and remove discussion of merging
188 front ends.
189
8100d8c1
L
1902012-03-11 H.J. Lu <hongjiu.lu@intel.com>
191
192 * config/i386/i386.c (ix86_expand_movmem): Use word_mode for size
193 needed for loop.
194 (ix86_expand_setmem): Likewise.
195
670bb1a1
UB
1962012-03-11 Uros Bizjak <ubizjak@gmail.com>
197
198 * config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using
199 convert_to_mode.
200
ba61421d
L
2012012-03-11 H.J. Lu <hongjiu.lu@intel.com>
202
203 * config/i386/i386.c (ix86_trampoline_init): Use movl for 64bit if
204 ptr_mode == SImode. Replace DImode with Pmode or ptr_mode.
205
649507af
L
2062012-03-11 H.J. Lu <hongjiu.lu@intel.com>
207
670bb1a1 208 * config/i386/i386.c (x86_this_parameter): Replace DImode with Pmode.
649507af 209
1991321c
L
2102012-03-11 H.J. Lu <hongjiu.lu@intel.com>
211
212 * config/i386/i386.md (lwp_slwpcb): Check Pmode instead of
213 TARGET_64BIT.
214
9ec90caa
UB
2152012-03-11 H.J. Lu <hongjiu.lu@intel.com>
216 Uros Bizjak <ubizjak@gmail.com>
1ce8d925 217
9ec90caa 218 * config/i386/predicates.md (call_insn_operand): Allow
1ce8d925
UB
219 constant_call_address_operand in Pmode only.
220 (sibcall_insn_operand): Ditto.
221 * config/i386/i386.md (*call): Use W mode iterator instead of P mode.
222 (*call_vzeroupper): Ditto.
223 (*sibcall): Ditto.
224 (*sibcall_vzeroupper): Ditto.
225 (*call_value): Ditto.
226 (*call_value_vzeroupper): Ditto.
227 (*sibcall_value): Ditto.
228 (*sibcall_value_vzeroupper): Ditto.
229 (*indirect_jump): Ditto.
230 (*tablejump_1): Ditto.
231 (indirect_jump): Convert memory address to word mode for TARGET_X32.
232 (tablejump): Ditto.
233 * config/i386/i386.c (ix86_expand_call): Convert indirect operands
234 to word mode.
235
07c0b560
OE
2362012-03-11 Oleg Endo <olegendo@gcc.gnu.org>
237
238 PR target/51244
239 * config/sh/sh.md (movnegt): Expand into respective insns immediately.
240 Use movrt_negc instead of negc pattern for non-SH2A.
241 (*movnegt): Remove.
242 (*movrt_negc, *negnegt, *movtt, *movt_qi): New insns and splits.
243
09255652
L
2442012-03-10 H.J. Lu <hongjiu.lu@intel.com>
245
246 * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
247 if Pmode != word_mode.
248 (legitimize_tls_address): Call gen_tls_initial_exec_x32 if
1ce8d925 249 Pmode == SImode for TARGET_X32.
09255652
L
250
251 * config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
252 (tls_initial_exec_x32): Likewise.
253
30823ba6
CLT
2542012-03-10 Chung-Lin Tang <cltang@codesourcery.com>
255
256 PR rtl-optimization/52528
257 * combine.c (can_combine_p): Add setting of subst_low_luid
258 before call to expand_field_assignment().
259
b364b425
SL
2602012-03-09 Sandra Loosemore <sandra@codesourcery.com>
261
262 * doc/invoke.texi: Use correct names/markup for "GCC", "GDB", "ld",
263 and related program names.
264
7bd11aba
SL
2652012-03-09 Sandra Loosemore <sandra@codesourcery.com>
266
267 * doc/invoke.texi: Use correct names for "DWARF", "stabs", and "ELF".
268
080324ac
UB
2692012-03-09 Uros Bizjak <ubizjak@gmail.com>
270
271 PR target/52530
272 * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
273 (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
274 to set code to 'q'.
275 * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
276 (*movdi_internal_rex64): Use %E operand modifier for lea.
277 (*movsi_internal): Ditto.
278 (*lea_1): Ditto.
279 (*lea<mode>_2): Ditto.
280 (*lea_{3,4,5,6}_zext): Ditto.
281 (*tls_global_dynamic_32_gnu): Ditto.
282 (*tls_global_dynamic_64): Ditto.
283 (*tls_dynamic_gnu2_lea_32): Ditto.
284 (*tls_dynamic_gnu2_lea_64): Ditto.
285 (pro_epilogue_adjust_stack_<mode>_add): Ditto.
286
45cfa18d
MM
2872012-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
288
289 * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
290 redefine to be NULL if the current bit-size is different from the
291 configured bit-size.
292
293 * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
294 cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
295 set the default tuning. Add asserts to make sure the cpu and tune
296 indexes are defined. Fix tests for cpu/tune index to use >= 0 to
297 test whether the index is set, instead of > 0.
298 (rs6000_file_start): Do not reset the default cpu if the current
299 bit-size is different from the configured bit-size.
300
30da483d
TG
3012012-03-09 Tristan Gingold <gingold@adacore.com>
302
303 * config/vms/vms-crtlmap.map: Add comments.
304 Add entries needed to build Ada RTS.
305
c8be95e6
TG
3062012-03-09 Tristan Gingold <gingold@adacore.com>
307
308 * ginclude/stddef.h: Do not define __size_t on VMS.
309
412cd719
TG
3102012-03-09 Tristan Gingold <gingold@adacore.com>
311
312 * c-tree.h (c_default_pointer_mode): New variable.
313 * c-decl.c (c_default_pointer_mode): New variable.
314 (c_build_pointer_type): New function.
315 (grokdeclarator): Call c_build_pointer_type instead
316 of build_pointer_type.
317
318 * config/vms/vms-c.c: Include c-tree.h
319 (saved_pointer_mode): New variable.
320 (handle_pragma_pointer_size): New function.
321 (vms_pragma_pointer_size, vms_pragma_required_pointer_size): Likewise.
322 (vms_c_register_pragma): Register __pointer_size and
323 __required_pointer_size pragmas.
324
575a6235
TG
3252012-03-09 Tristan Gingold <gingold@adacore.com>
326
327 * config/vms/vms-c.c (vms_construct_include_filename): New function.
328 (vms_c_register_includes): Reference it.
329
210ac0b7
AP
3302012-03-09 Andrew Pinski <apinski@cavium.com>
331
332 PR middle-end/51988
333 * tree-ssa-phiopt.c: Include tree-pretty-print.h for
334 print_generic_expr.
335 (tree_ssa_phiopt_worker): Go through all the PHIs for
336 value_replacement instead of just the singleton one.
337 (value_replacement): Change return type to int. Return 0 instead of
338 false.
575a6235
TG
339 Allow the middle basic block to contain more than just the defining
340 statement.
210ac0b7
AP
341 Handle non empty middle basic blocks.
342 * Makefile.in (tree-ssa-phiopt.o): Add tree-pretty-print.h.
343
bef28ced
JL
3442012-03-09 Jiangning Liu <jiangning.liu@arm.com>
345
346 * tree-scalar-evolution (interpret_rhs_expr): generate chrec for
347 array reference and component reference.
348 (analyze_scalar_evolution_for_address_of): New.
349
9916d7ea
JZ
3502012-03-08 Jie Zhang <jzhang918@gmail.com>
351
352 PR target/49862
080324ac 353 * config/bfin/bfin.c (hwloop_optimize): Fix unused variable warnings.
9916d7ea
JZ
354 (hwloop_pattern_reg): Fix set but not used warning.
355 (bfin_reorg_loops): Remove unused parameter.
356 (bfin_reorg): Update use of bfin_reorg_loops.
357
cc845923
L
3582012-03-08 H.J. Lu <hongjiu.lu@intel.com>
359
360 * config/i386/i386.c (setup_incoming_varargs_64): Use word_mode
361 with integer parameters in registers.
362 (gen_push): Push register in word_mode instead of Pmode.
363 (ix86_emit_save_regs): Likewise.
080324ac 364 (ix86_emit_save_regs_using_mov): Save integer registers in word_mode.
cc845923
L
365 (gen_pop): Pop register in word_mode instead of Pmode.
366 (ix86_emit_restore_regs_using_pop): Likewise.
367 (ix86_expand_prologue): Replace Pmode with word_mode for push
368 immediate. Use ix86_gen_pro_epilogue_adjust_stack. Save and
369 restore RAX and R10 in word_mode.
370 (ix86_emit_restore_regs_using_mov): Restore integer registers
371 in word_mode.
372 (ix86_expand_split_stack_prologue): Save R10_REG and restore in
373 word_mode.
374 (ix86_split_to_parts): Use word_mode with PUT_MODE for push.
375 (ix86_split_long_move): Likewise.
376
377 * config/i386/i386.md (W): New.
378 (*push<mode>2_prologue): Replace :P with :W.
379 (*pop<mode>1): Likewise.
380 (*pop<mode>1_epilogue): Likewise.
381 (push/pop peephole2): Use word_mode scratch registers.
382
b9719055
UB
3832012-03-08 Uros Bizjak <ubizjak@gmail.com>
384
385 * config/i386/predicates.md (indirect_branch_operand): Simplify.
386
e04d063b
GJL
3872012-03-08 Georg-Johann Lay <avr@gjlay.de>
388
389 * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
390 for constants in [-63,63].
391
ce19a3f8
UB
3922012-03-08 Uros Bizjak <ubizjak@gmail.com>
393
394 PR target/52530
395 Revert:
396 2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
397
398 * config/i386/i386.c (ix86_print_operand_address): Only handle
399 zero-extended DImode addresses.
400
2527ff87
RO
4012012-03-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
402
403 * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
404 * configure: Regenerate.
405
d93417c8
GJL
4062012-03-08 Georg-Johann Lay <avr@gjlay.de>
407
408 PR target/52496
409 * config/avr/avr.c (avr_mem_clobber): New static function.
410 (avr_expand_delay_cycles): Add memory clobber operand to
411 delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
412 * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
413 (enable_interrupt, disable_interrupt): New expander.
414 (nopv, sleep, wdr): New expanders.
415 (delay_cycles_1): Add memory clobber.
416 (delay_cycles_2): Add memory clobber.
417 (delay_cycles_3): Add memory clobber.
418 (delay_cycles_4): Add memory clobber.
419 (cli_sei): New insn from former "enable_interrupt",
420 "disable_interrupt" with memory clobber.
421 (*wdt): New insn from former "wdt" with memory clobber.
422 (*nopv): Similar, but for "nopv".
423 (*sleep): Similar, but for "sleep".
424
bed9e870
OE
4252012-03-07 Oleg Endo <olegendo@gcc.gnu.org>
426 Kaz Kojima <kkojima@gcc.gnu.org>
427
428 PR target/52503
429 * config/sh/sh.opt (msoft-atomic): Use Var instead of Mask.
430 * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_SOFT_ATOMIC.
431 (SUBTARGET_OVERRIDE_OPTIONS): Define.
432
ca538e97
UB
4332012-03-07 Uros Bizjak <ubizjak@gmail.com>
434
435 * config/i386/predicates.md (x86_64_zext_general_operand): New.
436 * config/i386/i386.md (*zero_extendsidi2_rex64): Change operand 1
437 predicate to x86_64_zext_general_operand. Accept "Z" constraint.
438
95f2389a
WL
4392012-03-07 Walter Lee <walt@tilera.com>
440
441 * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
442 REG_CFA_* notes for the stack pointer.
443 (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
444 EH_RETURN_STACKADJ_RTX.
445 * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
446 generate REG_CFA_* notes for the stack pointer.
447 (tilepro_expand_epilogue): Restore stack pointer by adjusting it
448 by EH_RETURN_STACKADJ_RTX.
449
0bd5f4dd
GJL
4502012-03-07 Georg-Johann Lay <avr@gjlay.de>
451
452 * doc/invoke.texi (AVR Built-in Macros): Correct condition for
453 when __AVR_3_BYTE_PC__ is defined.
454
397c0dc8
UB
4552012-03-07 Uros Bizjak <ubizjak@gmail.com>
456
457 * config/i386/i386.c (ix86_print_operand_punct_valid_p): Add '^'.
458 (ix86_print_operand): Handle '^'.
459 * config/i386/i386.md (*strmovdi_rex_1): Macroize memory operands
460 using P mode iterator. Add %^ to asm template to conditionally emit
461 addr32 prefix.
462 (*rep_movdi_rex64): Ditto.
463 (*strsetdi_rex_1): Ditto.
464 (*rep_stosdi_rex64): Ditto.
465 (*strmov{si,hi,qi}_1): Add %^ to asm template to
466 conditionally emit addr32 prefix.
467 (*rep_mov{si,qi}): Ditto.
468 (*strset{si,hi,qi}): Ditto.
469 (*rep_stos{si,qi}): Ditto.
470 (*cmpstrnqi_nz_1): Ditto.
471 (*cmpstrnqi_1): Ditto.
472 (*strlenqi_1): Ditto.
473
cccff71a
L
4742012-03-07 H.J. Lu <hongjiu.lu@intel.com>
475
476 * config/i386/i386.c (function_value_64): Return pointers in
477 word_mode instead of Pmode.
478 (ix86_promote_function_mode): Likewise.
479
0f250839
RG
4802012-03-07 Richard Guenther <rguenther@suse.de>
481
482 * coverage.c (get_gcov_type): Use type_for_mode.
483 (get_gcov_unsigned_t): Likewise.
484 * expr.c (store_constructor): Use type_for_mode.
485 (try_casesi): Likewise.
397c0dc8 486 * tree-ssa-loop-ivopts.c (add_standard_iv_candidates_for_size): Remove.
0f250839
RG
487 (add_standard_iv_candidates): Use standard type trees.
488 * dojump.c (do_jump): Remove dead code.
489
647d4b75
RG
4902012-03-07 Richard Guenther <rguenther@suse.de>
491
492 * c-typeck.c (pointer_diff): Use c_common_type_for_size.
493
73ddd02d
RG
4942012-03-07 Richard Guenther <rguenther@suse.de>
495
496 * convert.c (strip_float_extensions): Move ...
497 * tree.c (strip_float_extensions): ... here.
498
1274e3a4
GJL
4992012-03-07 Georg-Johann Lay <avr@gjlay.de>
500
501 PR target/52484
502 * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
503
96f9265a
RG
5042012-03-07 Richard Guenther <rguenther@suse.de>
505
506 * omp-low.c (extract_omp_for_data): Use signed_type_for.
507 (expand_omp_for_generic): Likewise.
508 (expand_omp_for_static_nochunk): Likewise.
509 (expand_omp_for_static_chunk): Likewise.
510 * tree-vect-stmts.c (vect_gen_perm_mask): Use type_for_mode.
511 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
512 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
513 Use unsigned_type_for.
514 (vect_create_cond_for_align_checks): Use signed_type_for.
515
3f1960ac
AB
5162012-03-07 Andrey Belevantsev <abel@ispras.ru>
517
518 PR rtl-optimization/52203
519 * sel-sched.c (estimate_insn_cost): New parameter pempty. Adjust
520 all callers to pass NULL except ...
521 (reset_sched_cycles_in_current_ebb): ... here, save the value
522 in new variable 'empty'. Increase issue_rate only for
397c0dc8 523 non-empty insns.
3f1960ac 524
d6baa446
RC
5252012-03-07 Ralf Corsépius <ralf.corsepius@rtems.org>
526
527 PR target/51417
397c0dc8
UB
528 * Makefile.in: Let install-gcc-ar depend on installdirs,
529 gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
d6baa446
RC
530 Don't double canonicalize if cross-compiling.
531
42601c63
GJL
5322012-03-07 Georg-Johann Lay <avr@gjlay.de>
533
534 PR target/52506
535 * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
536 to: RAMPZ, RAMPY, RAMPX, RAMPD.
537 (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
538
61108225
GJL
5392012-03-07 Georg-Johann Lay <avr@gjlay.de>
540
541 PR target/52505
542 * config/avr/avr.c (avr_out_xload): Don't read unintentionally
543 from RAM.
544 * config/avr/avr.md (xload_8): Adjust insn length.
545
b30e10ab
GJL
5462012-03-07 Georg-Johann Lay <avr@gjlay.de>
547
548 PR target/52461
549 * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
550 if RAMPZ affects reading from RAM.
551
eb3e63cc
RG
5522012-03-07 Richard Guenther <rguenther@suse.de>
553
554 PR pch/52518
555 PR pch/38987
556 * doc/invoke.texi (Precompiled Headers): Remove sentence that
557 suggests you can include PCHs from inside another header.
558
788284ef
RS
5592012-03-07 Richard Sandiford <rdsandiford@googlemail.com>
560
561 PR middle-end/52515
562 * rtl.h (pc_rtx, cc0_rtx, ret_rtx, simple_return_rtx): Add GTY markers.
563
98b1d9b2
KT
5642012-03-07 Kai Tietz <ktietz@redhat.com>
565
566 * doc/invoke.texi (fwritable-relocated-rdata): Document
567 new Cygwin/MinGW target option.
568 * config/i386/winnt.c (i386_pe_unique_section): Ignore
569 reloc if flag -fwritable-relocated-rdata is not set.
570 (i386_pe_section_type_flags): Likewise.
571 * config/i386/cygming.opt (fwritable-relocated-rdata):
572 Add new flag variable flag_writable_rel_rdata.
573
f409d239
RG
5742012-03-07 Richard Guenther <rguenther@suse.de>
575
576 * tree-ssa-math-opts.c (convert_mult_to_widen): Check actual
577 precision against gimple constraints.
578
ca4adc91
RS
5792012-03-06 Richard Sandiford <rdsandiford@googlemail.com>
580
581 PR middle-end/52372
582 * rtl.h (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): Redefine as
583 variables.
584 (GR_PC, GR_CC0, GR_RETURN, GR_SIMPLE_RETURN): Delete.
585 * emit-rtl.c (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): New
586 variables.
587 (init_emit_regs): Move associated initialization to...
588 (init_emit_once): ...here.
589
22a89c86
RH
5902012-03-06 Richard Henderson <rth@redhat.com>
591
592 * config/m68k/m68k.h (ISA_HAS_TAS): New.
593 * config/m68k/sync.md (atomic_test_and_set): Use it.
594 (atomic_test_and_set_1): Likewise.
595
46402cbe
MM
5962012-03-06 Michael Meissner <meissner@linux.vnet.ibm.com>
597
598 PR target/50310
599 * config/rs6000/vector.md (vector_uneq<mode>): Add support for
600 UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
601 (vector_ltgt<mode>): Likewise.
602 (vector_ordered<mode>): Likewise.
603 (vector_unordered<mode>): Likewise.
397c0dc8 604 * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
46402cbe 605
6342e53f
AH
6062012-03-06 Aldy Hernandez <aldyh@redhat.com>
607
608 * trans-mem.c: New typedef for tm_region_p.
609 Define vector types for tm_region_p.
610 (tm_region_init): Replace region_worklist to a vector called
611 bb_regions.
612
d8f56643
RG
6132012-03-06 Richard Guenther <rguenther@suse.de>
614
615 * fold-const.c (build_fold_addr_expr_with_type_loc): Fold
616 MEM_REF with constant pointer operand.
617
9da5500b
RG
6182012-03-06 Richard Guenther <rguenther@suse.de>
619
620 PR middle-end/52493
621 * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
622
66df6e9e
TG
6232012-03-06 Tristan Gingold <gingold@adacore.com>
624
397c0dc8 625 * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle octaword.
66df6e9e
TG
626 (external_model_kind): Improve documentation.
627 (vms_pragma_extern_model): Handle relaxed_redef.
628 (vms_c_register_pragma): Allow expansion for nomember_alignment.
629
837fd3b0
GJL
6302012-03-06 Georg-Johann Lay <avr@gjlay.de>
631
632 * doc/invoke.texi (AVR Options): -mmcu=: Document the XMEGA cores.
633 Explain RAMPD, RAMPX, RAMPDY, RAMPZ usage by avr-gcc.
634 Some more notes on EIND usage and reorder EIND subsection.
635
17a27c59
TG
6362012-03-06 Tristan Gingold <gingold@adacore.com>
637
638 * config/vms/vms.c (VMS_CRTL_LDBL): Rename from VMS_CRTL_PRNTF.
639 * config/vms/vms-crtlmap.map: Rename PRNTF to LDBL.
640
a2ddaaf5
TG
6412012-03-06 Tristan Gingold <gingold@adacore.com>
642
643 * config/vms/t-vmsnative (version): Define.
644 * config/vms/t-vms (STMP_FIXPROTO, STMP_FIXINC, version): Remove.
645
b7b5540a
AB
6462012-03-06 Andrey Belevantsev <abel@ispras.ru>
647
648 PR rtl-optimization/52250
649 * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
650 to put note list into. Unconditionally call move_bb_info.
651 (move_bb_info): Do not assert the blocks being in the same region,
a2ddaaf5 652 just drop the note list if they are not.
b7b5540a 653
9747719a
OE
6542012-03-06 Oleg Endo <olegendo@gcc.gnu.org>
655
656 PR target/51244
657 * config/sh/sh.c (sh_expand_t_scc): Remove SH2A special case
658 and use unified expansion logic.
659 * config/sh/sh.md (xorsi3_movrt): Rename to movrt. Move
660 closer to the existing movt insn.
661 (negc): Rename insn to *negc. Add new expander.
662 (movnegt): Use xor pattern for T bit negation. Reserve helper
663 constant for negc pattern.
664 (*movnegt): New insn and splitter.
665
5de72424
BS
6662012-03-05 Bernd Schmidt <bernds@codesourcery.com>
667
668 * c-typeck.c (pointer_diff): Check for POINTER_PLUS_EXPR, not
669 PLUS_EXPR.
670
3b1552c1
RH
6712012-03-05 Richard Henderson <rth@redhat.com>
672
673 * genemit.c (main): Include "target.h" in insn-emit.c.
674 * Makefile.in (insn-emit.o): Depend on TARGET_H.
675 * config/sh/sync.md (atomic_test_and_set): Reference
676 targetm.atomic_test_and_set_trueval instead of
677 TARGET_ATOMIC_TEST_AND_SET_TRUEVAL.
678
1565f169
JR
6792012-03-05 Joern Rennecke <joern.rennecke@embecosm.com>
680
681 * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
682 Make static.
683
c0814136
SB
6842012-03-05 Steven Bosscher <steven@gcc.gnu.org>
685
686 * langhooks.c (add_builtin_type): New function.
687 * langhooks.h (add_builtin_type): Export it.
688 * config/mep/mep.c (mep_init_builtins): Use it.
689 * config/rs6000/rs6000.c (rs6000_init_builtins): Use it.
690
1e3c1d95
JJ
6912012-03-05 Jakub Jelinek <jakub@redhat.com>
692
693 PR debug/51902
694 * tree.h (BLOCK_SAME_RANGE): Define.
695 * function.c (block_fragments_nreverse): Clear BLOCK_SAME_RANGE
696 if BLOCK_FRAGMENT_CHAIN is non-NULL, but has it cleared.
697 Also clear BLOCK_SAME_RANGE if fragment chain's supercontext fragment
698 isn't equal to supercontext fragment's fragment chain.
699 Adjust BLOCK_SUPERCONTEXT to point to supercontext fragment's
700 fragment origin.
701 (blocks_nreverse_all): Likewise.
702 (reorder_blocks_1): Compute BLOCK_SAME_RANGE bits. Set
703 BLOCK_SUPERCONTEXT to supercontext fragment instead of
704 supercontext fragment's fragment origin.
705 * dwarf2out.c (add_high_low_attributes): If stmt has the same
706 range as its parent (or parents thereof etc.), use the parent's
707 DW_AT_ranges value instead of creating a new .debug_ranges range.
708
4999c62c
RH
7092012-03-05 Richard Henderson <rth@redhat.com>
710
711 PR tree-opt/52242
712 Revert: 2011-11-26 Richard Henderson <rth@redhat.com>
713 * omp-low.c (expand_omp_atomic): Assume anything aligned to
714 BIGGEST_ALIGNMENT is aligned.
715
95a6dda5
RH
7162012-03-05 Richard Henderson <rth@redhat.com>
717
718 * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Move...
719 * config/sh/sh.c: ... here.
720
b7313c30
RH
7212012-03-05 Richard Henderson <rth@redhat.com>
722
723 PR target/52481
724 * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
725 instead of calling negqi2 directly.
726
f49b12f4
RH
7272012-03-05 Aldy Hernandez <aldyh@redhat.com>
728
729 PR middle-end/52463
730 * trans-mem.c (tm_region_init): Use last_basic_block.
731
ab649754
OE
7322012-03-05 Oleg Endo <olegendo@gcc.gnu.org>
733
734 * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
735 * config/sh/sync.md (atomic_test_and_set): New expander.
736 (tasb, atomic_test_and_set_soft): New insns.
737 * config/sh/sh.opt (menable-tas): New option.
738 * doc/invoke.texi (SH Options): Document it.
739
510dbcce
RG
7402012-03-05 Richard Guenther <rguenther@suse.de>
741
742 * cfgloop.c (verify_loop_structure): Verify dominators before
743 using them.
744 * graphite-clast-to-gimple.c (graphite_verify): Do not verify
745 dominators from here.
746 * graphite-scop-detection.c (create_sese_edges): Likewise.
747 * loop-doloop.c (doloop_optimize_loops): Likewise.
748 * loop-init.c (loop_optimizer_init): Likewise.
749 * loop-unroll.c (unroll_and_peel_loops): Likewise.
750 * loop-unswitch.c (unswitch_loops): Likewise.
751 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
752 * tree-parloops.c (parallelize_loops): Likewise. Verify
753 only when checking is enabled.
754 * tree-loop-distribution.c (tree_loop_distribution): Likewise.
755
50bcfce0
BS
7562012-03-05 Bernd Schmidt <bernds@codesourcery.com>
757
758 * genautomata.c (parse_automata_opt): New static function.
759 (initiate_automaton_gen): Remove all option handling code. Remove
760 argc argument. All callers changed.
397c0dc8 761 (main): Call init_rtx_reader_args_cb with the new function as argument.
50bcfce0 762
cd7d9fd7
RG
7632012-03-05 Richard Guenther <rguenther@suse.de>
764
765 * cfgexpand.c (gimple_expand_cfg): Free dominator info.
766 * tree-if-conv.c (combine_blocks): Free post-dominator info
767 after breaking it.
768 * tree-parloops.c (create_parallel_loop): Free and re-compute
769 dominator info after breaking it.
770
b55f62cc
RG
7712012-03-05 Richard Guenther <rguenther@suse.de>
772
773 PR middle-end/52353
774 * optabs.h (trapv_unoptab_p): New function.
775 (trapv_binoptab_p): Likewise.
776 * optabs.c (expand_binop): Use emit_libcall_block_1 with
777 a proper equiv_may_trap argument.
778 (expand_unop): Likewise.
779 (emit_libcall_block_1): Take extra argument whether the
780 instruction may trap. Renamed from ...
781 (emit_libcall_block): ... this. New wrapper.
782
f9df6f16
JJ
7832012-03-05 Jakub Jelinek <jakub@redhat.com>
784
3877a6a6
JJ
785 PR tree-optimization/51721
786 * tree-vrp.c (register_edge_assert_for_2): If comparing
787 lhs of right shift by constant with an integer constant,
788 add ASSERT_EXPRs for the rhs1 of the right shift.
789
f9df6f16
JJ
790 * cfgrtl.c (cfg_layout_merge_blocks): Cleanup.
791
45c0175b
RG
7922012-03-05 Richard Guenther <rguenther@suse.de>
793
794 * tree.c (integer_zerop): Handle VECTOR_CSTs.
795 (integer_onep): Likewise.
796 (integer_all_onesp): Likewise.
797
d84f3a05
GJL
7982012-03-05 Georg-Johann Lay <avr@gjlay.de>
799
800 * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
801
55b86fb0
L
8022012-03-04 H.J. Lu <hongjiu.lu@intel.com>
803
804 * config/i386/i386.c (pro_epilogue_adjust_stack): Check Pmode
805 instead of TARGET_64BIT.
806
4732e8de
L
8072012-03-04 H.J. Lu <hongjiu.lu@intel.com>
808
809 * config/i386/i386.c (ix86_expand_prologue): Check Pmode to set
810 adjust_stack_insn.
811
5ca9708b
L
8122012-03-04 H.J. Lu <hongjiu.lu@intel.com>
813
814 * config/i386/i386.c (ix86_print_operand_address): Only handle
815 zero-extended DImode addresses.
816
f0050a4b
UB
8172012-03-04 Uros Bizjak <ubizjak@gmail.com>
818
819 * config/i386/i386.c (ix86_print_operand) <case '+'>: Declare
820 taken and cputaken as bool.
821
904eea2c
UB
8222012-03-04 Uros Bizjak <ubizjak@gmail.com>
823
824 * config/i386/constraints.md (Ya): New internal constraint.
825 * config/i386/i386.md (zero_extendsidi2): Remove expansion.
826 (*zero_extendsidi2_rex64): Add x,x alternative.
827 (*zero_extendsidi2): Ditto. Add o,0 alternative.
828 Remove flags reg clobber. Adjust corresponding splits.
829 (zero_extend<mode>si2): Macroize expander from zero_extendhisi2 and
830 zero_extendqisi2 expanders using SWI12 mode iterator.
831 (zero_extend<mode>si2_and): Macroize insn from
832 zero_extendhisi2_and and zero_extendqisi2_and. Merge corresponding
833 splitters.
834 (*zero_extend<mode>si2): Macroize insn from
835 *zero_extendhisi2_movzbl and *zero_extendqisi2_movzbl.
836 (*zero_extend*2_movzbl_and): Remove insn patterns.
837 (zero_extendqihi2_and): Merge corresponding splitter.
838 (*zero_extendqihi2): Rename from *zero_extendqihi2_movzbl.
839 (*zero_extend*2_movzbl_and): Remove insn patterns.
840 (*anddi_1): Split TYPE_IMOVX instructions.
841 (*andsi_1): Use Ya for alternative 2. Split TYPE_IMOVX instructions.
842 (*andhi_1): Ditto.
843 (and->zext splitter): Add splitter pattern.
844 (zero extend with andsi3 splitter): Adjust zero_extend pattern.
845
b12866c7
SL
8462012-03-04 Sandra Loosemore <sandra@codesourcery.com>
847
848 * doc/invoke.texi (C++ Dialect Options): Minor copy-edits to
849 x86-specific text.
850 (Debugging Options): Likewise.
851 (Optimize Options): Likewise.
852 (i386 and x86-64 Options): Discuss -march before -mtune, consistently
853 with other architectures. Use official processor names with correct
854 spelling/capitalization. Fix formatting and grammar issues.
855 (i386 and x86-64 Windows Options): Similar cleanup here.
856
4feaca8b
KK
8572012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
858
859 * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
860
59248459
KK
8612012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
862
863 * config/sh/sh.c (sh_dwarf_register_span): Don't apply
864 DBX_REGISTER_NUMBER.
865
dea148c4
KK
8662012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
867
868 * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
869 operand is CONST_INT. Take COSTS_N_INSNS into account.
870 (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value
871 of shiftcosts.
872
a6de595f
RH
8732012-03-02 Richard Henderson <rth@redhat.com>
874
875 * optabs.c (expand_atomic_test_and_set): Honor
876 atomic_test_and_set_trueval even when atomic_test_and_set
877 optab is not in use.
878
4978c736
KK
8792012-03-02 Kaz Kojima <kkojima@gcc.gnu.org>
880
881 PR target/48596
882 PR target/48806
883 * config/sh/sh.c (sh_register_move_cost): Increase cost between
884 GENERAL_REGS and FP_REGS for SImode.
885
5e44ea89
OE
8862012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
887
888 PR target/49486
889 * config/sh/sh.md (negdi2): Add TARGET_SH1 condition.
890 (absdi2): New expander.
891 (*absdi2, *negabsdi2, negdi_cond): New insns and splits.
892
349e6f05
OE
8932012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
894
b5ea8036
OE
895 * config/sh/sync.md (atomic_exchange<mode>): New expander.
896 (atomic_exchange<mode>_soft): New insn.
897
8982012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
899
900 * config/sh/sync.md: Update copyright notice dates.
349e6f05
OE
901 (atomic_compare_and_swap<mode>): Use SImode for return value instead
902 of QImode.
b5ea8036 903 (atomic_compare_and_swap<mode>_soft): Likewise.
349e6f05
OE
904
9052012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
904eea2c 906
b6a0df6c
OE
907 PR target/31640
908 * config/sh/sh.h (LOOP_ALIGN): Move logic to sh_loop_align.
909 * config/sh/sh.c: Update copyright notice dates.
910 (sh_loop_align): Add logic from LOOP_ALIGN. Don't disable loop
911 alignment for TARGET_HARD_SH4.
904eea2c 912 (sh_option_override): Reduce default function alignment. Set
b6a0df6c
OE
913 loop alignment to 4 bytes when not optimizing for size.
914
093193be
MK
9152012-03-02 Maxim Kuvyrkov <maxim@codesourcery.com>
916
290d87eb 917 PR middle-end/50335
093193be
MK
918 * doc/invoke.texi (floop-flatten): Remove.
919 * toplev.c (process_options): Remove references to flag_loop_flatten.
920 * tree-ssa-loop.c (gate_graphite_transform): Same.
921 * common.opt (floop-flatten): Obsolete.
922 * graphite-poly.c (apply_poly_transforms): Remove reference to
923 flag_loop_flatten.
924 * Makefile.in (graphite-flattening.o): Remove.
925 * graphite-flattening.c: Remove.
926
34c5f21a
UB
9272012-03-02 Uros Bizjak <ubizjak@gmail.com>
928
929 * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
930 having mode compatible with the mode of previous compare. Substitute
931 compare mode of previous compare with the mode, compatible
932 with eliminated and previous compare.
933
6f975f93
PB
9342012-03-02 Peter Bergner <bergner@vnet.ibm.com>
935
936 * config/rs6000/dfp.md (floatdidd2): New define_insn.
937
76945a7c
UB
9382012-03-02 Uros Bizjak <ubizjak@gmail.com>
939
940 * config/i386/i386.c (ix86_cc_modes_compatible): Declare CCZmode
941 compatible with CCGOCmode and CCGCmode.
942
2ff16893
PB
9432012-03-02 Peter Bergner <bergner@vnet.ibm.com>
944
945 * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
946
5d216c70
UW
9472012-03-02 Ulrich Weigand <ulrich.weigand@linaro.org>
948
949 * config/arm/arm.c (arm_sat_operator_match): New function.
950 * config/arm/arm-protos.h (arm_sat_operator_match): Add prototype.
951 * config/arm/arm.md ("insn" attribute): Add "sat" value.
952 ("SAT", "SATrev"): New code iterators.
953 ("SATlo", "SAThi"): New code iterator attributes.
954 ("*satsi_<SAT:code>"): New pattern.
955 ("*satsi_<SAT:code>_shift"): Likewise.
956 * config/arm/arm-fixed.md ("arm_ssatsihi_shift"): Add "insn"
957 and "shift" attributes.
958 ("arm_usatsihi"): Add "insn" attribute.
959 * config/arm/predicates.md (sat_shift_operator): Allow multiplication
960 by powers of two. Do not allow shift by 32.
961
2b57045b
UB
9622012-03-02 Uros Bizjak <ubizjak@gmail.com>
963
964 PR target/46716
965 * config/i386/i386.c (construct_container): Use gen_reg_or_parallel
966 to pass the argument in the register of "natural" mode.
967
c4ddde1b
RG
9682012-03-02 Richard Guenther <rguenther@suse.de>
969
970 PR tree-optimization/52406
971 * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
972 (struct indices): Add unconstrained_base member.
973 (struct dr_alias): Remove unused vops member.
974 (DR_UNCONSTRAINED_BASE): New define.
975 * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
976 add indices to allow their disambiguation. Make DR_BASE_OBJECT
977 be an artificial access that covers the whole indexed object,
978 or mark it with DR_UNCONSTRAINED_BASE if we cannot do so. Canonicalize
979 plain decl base-objects to their MEM_REF variant.
980 (dr_may_alias_p): When the base-object of either data reference
981 has unknown size use only points-to information.
982 (compute_affine_dependence): Make dumps easier to read and
983 more verbose.
984 * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
985 DR_REF when looking for packed references.
986 (vect_supportable_dr_alignment): Likewise.
987
2d68f67f
GY
9882012-03-02 Greta Yorsh <Greta.Yorsh@arm.com>
989
2b57045b 990 * config/arm/arm-ldmstm.ml (write_ldm_commutative_peephole):
2d68f67f
GY
991 Improve conditions for peepholes of loads followed by commutative
992 operators.
2b57045b 993 * config/arm/ldmstm.md: Regenerated.
2d68f67f 994
45c29d4d
RG
9952012-03-02 Richard Guenther <rguenther@suse.de>
996
997 * BASE-VER: Set to 4.8.0.
998
9094e001
RE
9992012-03-01 Richard Earnshaw <rearnsha@arm.com>
1000
1001 * config.gcc (obsolete): Add all ARM targets using the FPA.
1002 (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
1003 * doc/install.texi: Avoid references to obsolete ARM ports.
1004
82b06589
JR
10052012-03-01 Joern Rennecke <joern.rennecke@embecosm.com>
1006
1007 * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
1008
08b03910
JB
10092012-03-01 Jeremy Bennett <jeremy.bennett@embecosm.com>
1010 Joern Rennecke <joern.rennecke@embecosm.com>
1011
1012 * doc/extend.texi: Expand and update information on interrupt
1013 attribute for Epiphany.
1014
1ce35c11
OE
10152012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
1016
1017 * config/sh/sh-protos.h: Update copyright notice dates.
1018 * config/sh/sh.h: Likewise.
1019 * config/sh/sh.md: Likewise.
1020 * config/sh/constraints.md: Likewise.
1021 * config/sh/predicates.md: Likewise.
1022
f51a9d10
OE
10232012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
1024
1025 * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
1026 * config/sh/sh.c (tertiary_reload_operand): Likewise.
1027
d4217ae1
OE
10282012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
1029
1030 * config/sh/constraints.md: Fix comment typo.
1031
5d9dc69a
JDA
10322012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1033
1034 PR target/52408
1035 * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
1036 unsigned HOST_WIDE_INT.
1037 (zvdep_imm64): Likewise.
1038 (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
1039 (vdepi_and): Likewise.
1040 Likewise for unamed 64-bit patterns.
1041 * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
1042
0f68ba3e
AO
10432012-03-01 Alexandre Oliva <aoliva@redhat.com>
1044
1045 PR debug/52001
1046 PR rtl-optimization/52417
1047 * cselib.c (cselib_any_perm_equivs): New variable.
1048 (cselib_reset_table): Check that it's not set when not
1049 preserving constants.
1050 (cselib_add_permanent_equiv): Set it.
1051 (cselib_have_permanent_equivalences): New.
1052 (cselib_init, cselib_finish): Reset it.
1053 * cselib.h (cselib_have_permanent_equivalences): Declare.
1054 * alias.c (get_addr): Restore earlier behavior when there
1055 aren't permanent equivalences.
1056
2aceddd8
SB
10572012-03-01 Steven Bosscher <steven@gcc.gnu.org>
1058
1059 * config/mn10300/mn10300-modes.def: Fix copyright notice.
1060 * config/v850/v850-modes.def: Fix copyright notice.
1061
1619fcfc
GJL
10622012-03-01 Georg-Johann Lay <avr@gjlay.de>
1063
1064 * doc/extend.texi (AVR Built-in Functions): Document
1065 __builtin_avr_flash_segment.
1066
1067 * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
1068 * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
1069 (*split.flash_segment): New insn-and-split.
1070 * config/avr/avr.c (avr_init_builtins): Add local variables:
1071 const_memx_void_node, const_memx_ptr_type_node,
1072 char_ftype_const_memx_ptr.
1073
69ef9a79
JJ
10742012-03-01 Jakub Jelinek <jakub@redhat.com>
1075
1076 PR tree-optimization/52445
1077 * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
1078 add ssa_name_ver, offset and size fields and change store field
1079 to bool.
1080 (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
1081 (add_or_mark_expr): Likewise. Only consider previous stores
1082 with the same size and offset.
1083 (nt_init_block): Only look at gimple_assign_single_p stmts,
1084 doesn't look at rhs2.
1085
c1d9cb02
RG
10862012-03-01 Richard Guenther <rguenther@suse.de>
1087
1088 PR middle-end/52443
1089 * tree-cfg.c (verify_gimple_assign_unary): Allow any
1090 conversions from integral types to pointer types.
1091
b2ef48ef
GJL
10922012-03-01 Georg-Johann Lay <avr@gjlay.de>
1093
1094 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
2b57045b 1095 defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
b2ef48ef
GJL
1096 unintentionally removed in r184616.
1097
283b5296
VK
10982012-03-01 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1099
1100 * doc/invoke.texi: Document AMD bdver2 and remove mentioning
1101 3DNow from bdver1.
1102
29ebe616
JJ
11032012-02-29 Jakub Jelinek <jakub@redhat.com>
1104 Uros Bizjak <ubizjak@gmail.com>
1105
1106 PR target/52437
1107 * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
1108 alternatives, add "e" constraint to the new last alternative
1109 and ! to last 3 alternatives.
1110
fd787640
EB
11112012-02-29 Eric Botcazou <ebotcazou@adacore.com>
1112
1113 * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
1114 DW_AT_artificial attributes at the end of the processing.
1115 (gen_array_type_die): Likewise.
1116 (gen_enumeration_type_die): Likewise.
1117 (gen_struct_or_union_type_die): Likewise.
1118 (add_gnat_descriptive_type_attribute): Do not suppress debug info for
1119 the parent type.
1120
598e67d7
JJ
11212012-02-29 Jakub Jelinek <jakub@redhat.com>
1122
a3017cf1
JJ
1123 PR middle-end/52419
1124 * expr.c (expand_assignment): If doing misaligned store that doesn't
1125 cover all mode bits, perform a RMW cycle.
1126
598e67d7
JJ
1127 PR tree-optimization/52429
1128 * tree-parloops.c (separate_decls_in_region_debug): Return early
1129 if var is LABEL_DECL.
1130
529b39d8
BS
11312012-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1132
1133 PR tree-optimization/52424
1134 * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
1135 calling dom_thread_across_edge.
1136
43c626f0
GJL
11372012-02-29 Georg-Johann Lay <avr@gjlay.de>
1138
1139 * config/avr/avr.c: Move definition of TARGET macros to end of file.
1140
20848609
GJL
11412012-02-29 Georg-Johann Lay <avr@gjlay.de>
1142
1143 * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
1144 * config/avr/avr.c (avr_output_bld): Remove unused function.
1145 (avr_out_sbxx_branch): Use "%T" to print bit position.
1146
1edaa8b7
GJL
11472012-02-29 Georg-Johann Lay <avr@gjlay.de>
1148
1149 * config/avr/avr.md: Untabify.
1150
11512012-02-29 Georg-Johann Lay <avr@gjlay.de>
1152
1153 * config/avr/avr.md (eqne): New code iterator.
1154 (*dec-and-branchsi): Use it in text peephole's condition.
1155 (*dec-and-branchhi): Ditto.
1156 (*dec-and-branchqi): Ditto.
1157
df51e502
GJL
11582012-02-29 Georg-Johann Lay <avr@gjlay.de>
1159
1160 PR target/49939
1161 * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
1162 the device does not have the skip-bug.
1163
bf997c7d
OE
11642012-02-29 Oleg Endo <olegendo@gcc.gnu.org>
1165
1166 * doc/invoke.texi (-msoft-atomic): Add more detailed description.
1167 (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
1168 -mpretend-cmove): New.
1169
bf743fc4
JJ
11702012-02-29 Jakub Jelinek <jakub@redhat.com>
1171
1172 PR bootstrap/52397
1173 * df.h (struct df_d): Adjust comment that hard_regs_live_count
1174 doesn't count DEBUG_INSN refs.
1175 * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
1176 for DEBUG_INSN refs.
1177
211bea38
UW
11782012-02-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1179
1180 Partially revert:
1181
1182 2012-02-20 Richard Guenther <rguenther@suse.de>
1183 PR tree-optimization/52298
1184 * tree-vect-stmts.c (vectorizable_load): Properly use
1185 STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
1186 outer loops.
1187
19c0d7df
AH
11882012-02-28 Aldy Hernandez <aldyh@redhat.com>
1189
1190 PR middle-end/51752
1191 * gimple.h (gimple_in_transaction): New.
1192 (gimple_set_in_transaction): New.
1193 (struct gimple_statement_base): Add in_transaction field.
1194 * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
1195 transaction loads.
1196 (tree_ssa_lim_initialize): Compute transaction bits.
1197 * tree.h (compute_transaction_bits): Protoize.
1198 * trans-mem.c (tm_region_init): Use the heap to store BB
1199 auxilliary data.
1200 (compute_transaction_bits): New.
1201
cdbfc61d
BRF
12022012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1203
1204 * gcc.c (display_help): Document --help=common and sort entries
1205 alphabetically.
1206
6c6b6634
BRF
12072012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1208
1209 * doc/install.texi: Document check-$LANG specific shortcuts
1210
fd92bb80
MGD
12112012-02-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
1212
1213 PR target/51534
1214 * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
1215 and vcgtu.
1216 * config/arm/arm_neon.h: Regenerate.
1217 * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
1218 (neon_vcgeu): New insn.
1219 (neon_vcgtu): Likewise.
1220 * config/arm/neon.ml (s_8_32, u_8_32): New lists.
2b57045b 1221 (ops): Unsigned comparison intrinsics call a different builtin.
fd92bb80 1222
8eef33ca
RG
12232012-02-28 Richard Guenther <rguenther@suse.de>
1224
1225 PR target/52407
1226 * config/i386/i386.c (ix86_expand_vector_set): Fix element
1227 ordering for the VEC_CONCAT for two element vectors for
1228 V2SFmode, V2SImode and V2DImode.
1229
e3ed9d60
RE
12302012-02-28 Richard Earnshaw <rearnsha@arm.com>
1231
1232 PR target/49448
1233 * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
1234 detecting big-endian triplets.
1235
192af6e8
RE
12362012-02-28 Richard Earnshaw <rearnsha@arm.com>
1237
1238 * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
1239 mode if there is no type information available.
1240
b0eaa5b4
TK
12412012-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
1242
1243 PR tree-optimization/53207
1244 * doc/invoke.texi: Document as experimental and relying on graphite.
1245
f37cf6a9
GJL
12462012-02-28 Georg-Johann Lay <avr@gjlay.de>
1247
1248 * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
1249 of initializer to changes from r184614.
2b57045b 1250
85998a93
RG
12512012-02-28 Richard Guenther <rguenther@suse.de>
1252
1253 PR tree-optimization/52395
1254 * tree-sra.c (build_ref_for_offset): Also look at the base
1255 TYPE_ALIGN when figuring out the alignment of the replacement.
1256
3a5a825a
RG
12572012-02-28 Richard Guenther <rguenther@suse.de>
1258
1259 PR tree-optimization/52402
1260 * ipa-prop.c (ipa_modify_call_arguments): Properly use
1261 mis-aligned types when creating the accesses at the call site.
1262
639d0302
GJL
12632012-02-28 Georg-Johann Lay <avr@gjlay.de>
1264
1265 * config/avr/builtins.def: New file.
1266 * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
1267 * config/avr/avr.c (enum avr_builtin_id): Use it.
1268 (avr_init_builtins): Use it. And use avr_bdesc.
1269 (bdesc_1arg): Remove.
1270 (bdesc_2arg): Remove.
1271 (bdesc_3arg): Remove.
1272 (struct avr_builtin_description): Add field n_args.
1273 (avr_bdesc): New static variable using builtins.def.
1274 (avr_expand_builtin): Use it.
1275 Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
1276 (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
1277 Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
1278
8310dca7
GJL
12792012-02-28 Georg-Johann Lay <avr@gjlay.de>
1280
1281 PR target/52148
1282 * config/avr/avr.md (movmem_<mode>): Replace match_operand that
1283 match only one single hard register with respective hard reg rtx.
1284 (movmemx_<mode>): Ditto.
1285 * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
1286 insn anatomy of movmem[x]_<mode>.
1287 (avr_out_movmem): Same for printing assembler and operand usage.
1288
bae3b1bf
GJL
12892012-02-28 Georg-Johann Lay <avr@gjlay.de>
1290
1291 PR target/49868
1292 PR target/52261
1293 * doc/extend.texi (AVR Named Address Spaces): No more try to fix
1294 address spaces located outside of device flash.
1295
1296 * config/avr/avr.h (base_arch_s): Remove field n_segments.
1297 (mcu_type_s): Add field n_flash.
1298 * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
1299 Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
1300 (AVR_MCU): Add N_FLASH argument.
1301 * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
1302 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
1303 macro __FLASH<n> if that address space makes sense for the device.
1304 * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
1305 outside of target flash.
1306 (avr_asm_named_section): Ditto.
1307 (avr_asm_select_section): Ditto.
1308 (avr_addr_space_convert): Ditto.
1309 (avr_emit_movmemhi): Ditto.
1310 (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
1311 address space is outside of device flash.
1312 (avr_insert_attributes): Ditto.
1313 (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
1314 avr_current_arch->n_segments.
1315
afbf6e97
L
13162012-02-27 H.J. Lu <hongjiu.lu@intel.com>
1317
1318 PR target/52352
2b57045b 1319 * config/i386/i386.md (*movabs<mode>_1): Enable only for TARGET_LP64.
afbf6e97
L
1320 (*movabs<mode>_2): Likewise.
1321
2e216592
JJ
13222012-02-27 Jakub Jelinek <jakub@redhat.com>
1323
56b15099
JJ
1324 PR target/52375
1325 * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
1326 s_register_operand in the test instead of REG_P. Don't call
1327 gen_reg_rtx if it won't be used.
1328
2e216592
JJ
1329 PR tree-optimization/52376
1330 * ipa-split.c (split_function): Ignore CLOBBER stmts.
1331
2662a821
SH
13322012-02-27 Stuart Henderson <shenders@gcc.gnu.org>
1333
1334 * ifcvt.c (noce_get_condition): Check condition variable is not
1335 small_register_classes_for_mode_p before accepting.
1336
f59280cf
UB
13372012-02-27 Uros Bizjak <ubizjak@gmail.com>
1338
1339 * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
1340
d2d6bcce
MGD
13412012-02-27 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
1342
1343 Revert:
1344 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
1345 * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
1346 tuning parameters.
1347 * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
1348
dac73555
OE
13492012-02-27 Oleg Endo <olegendo@gcc.gnu.org>
1350
1351 * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
1352
2eff0b9d
OE
13532012-02-26 Oleg Endo <olegendo@gcc.gnu.org>
1354
1355 * config/sh/predicates.md: Remove blank lines.
1356 * config/sh/sh.c: Fix typos in comments.
1357 * config/sh/constraints.md: Likewise.
1358 * config/sh/sh.md: Remove blank lines.
1359 Fix typos in comments. Use ;; as comment characters.
1360
7afd1a8e
WL
13612012-02-26 Walter Lee <walt@tilera.com>
1362
f59280cf 1363 * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
7afd1a8e
WL
1364 (replace_mov_pcrel_step2): Ditto.
1365
0e224656
AO
13662012-02-25 Alexandre Oliva <aoliva@redhat.com>
1367
a5628378
AO
1368 PR debug/52001
1369 * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
1370 (get_addr): Walk canonical value's locs. Avoid returning VALUEs
1371 and locs that reference values newer than the non-canonical value
1372 at hand. Return the canonical value as a worst case.
1373 (memrefs_conflict_p): Walk canonical value's locs.
1374
0e224656
AO
1375 PR debug/52001
1376 * cselib.c (preserve_only_constants): Rename to...
1377 (preserve_constants_and_equivs): ... this. Split out...
1378 (invariant_or_equiv_p): ... this. Preserve plus expressions
1379 of other preserved expressions too.
1380 (cselib_reset_table): Adjust.
1381 * var-tracking.c (reverse_op): Use canonical value to build
1382 reverse operation.
1383
15498cfa
KT
13842012-02-23 Kai Tietz <ktietz@redhat.com>
1385
1386 * config/i386/i386.c (ix86_delegitimize_address): Handle
1387 UNSPEC_PCREL plus displacement.
1388
39e73abc
GJL
13892012-02-24 Georg-Johann Lay <avr@gjlay.de>
1390
1391 PR target/52261
1392 * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
1393 to test for unusedness in st X addressing.
1394
b9af73fc
RG
13952012-02-24 Richard Guenther <rguenther@suse.de>
1396
1397 PR middle-end/52361
f59280cf 1398 * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
b9af73fc
RG
1399 (is_gimple_reg_type): Move inline ...
1400 * gimple.h (is_gimple_reg_type): ... here.
1401
6ae4eccd
RG
14022012-02-24 Richard Guenther <rguenther@suse.de>
1403
1404 PR middle-end/52361
1405 * passes.c (execute_function_todo): When verifying SSA form
1406 verify gimple form first.
1407 * tree-ssa.c (verify_ssa): Do not verify gimple form here.
1408
bf948210
RG
14092012-02-24 Richard Guenther <rguenther@suse.de>
1410
1411 PR middle-end/52355
1412 * fold-const.c (fold_addr_of_array_ref_difference): New function.
f59280cf 1413 (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
bf948210 1414
b8f4632c
BRF
14152012-02-13 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1416
1417 * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
1418
4021ad55
BRF
14192012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1420
1421 * tree-phinodes.c (make_phi_node): Mark static.
1422 * tree-flow.h (make_phi_node): Remove extern decl.
1423 * doc/gimple.texi (make_phi_node): Remove documentation.
1424
0eb09f31
BRF
14252012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1426
f59280cf 1427 * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
0eb09f31
BRF
1428 * tree-ssa-sccvn.c (print_scc): Ditto.
1429
6a953a91
BRF
14302012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1431
1432 * doc/passes.texi (Full redundancy elimination): Fix typo.
1433
55532e32
BRF
14342012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1435
1436 * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
1437
6cbb4c32
EB
14382012-02-23 Eric Botcazou <ebotcazou@adacore.com>
1439
1440 PR bootstrap/52287
1441 * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
1442
560ad308
UB
14432012-02-23 Uros Bizjak <ubizjak@gmail.com>
1444
1445 PR c/52290
1446 * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
1447
f71f1418
GJL
14482012-02-23 Georg-Johann Lay <avr@gjlay.de>
1449
1450 * config/avr/avr.md (code_stdname): Add ior, xor.
1451 (xior): New code iterator.
1452 (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
1453 (*<code_stdname><mode>qi.byte1-3): Ditto.
1454
a348dc7f
JJ
14552012-02-23 Jakub Jelinek <jakub@redhat.com>
1456
1457 PR tree-optimization/52019
1458 * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
1459 CLOBBER stmts.
1460
e10e461e
UW
14612012-02-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1462
1463 * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
1464 HAVE_INITFINI_ARRAY to work around namespace pollution in
1465 certain versions of newlib system headers.
1466 * config.in: Regenerate.
1467 * configure: Regenerate.
1468 * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
1469 instead of HAVE_INITFINI_ARRAY.
1470
9517e333
UB
14712012-02-22 Uros Bizjak <ubizjak@gmail.com>
1472
1473 PR target/52330
1474 * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
1475 is not offsettable memory reference.
1476
219db888
GJL
14772012-02-22 Georg-Johann Lay <avr@gjlay.de>
1478
1479 PR target/18145
1480 * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
1481 setting avr_need_clear_bss_p for __gnu_lto* symbols.
1482
45958634
GJL
14832012-02-22 Georg-Johann Lay <avr@gjlay.de>
1484
1485 * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
9517e333 1486 * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
45958634 1487
bbd6a014
RO
14882012-02-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1489
1490 * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
1491 library on Solaris 8 even without TLS support.
1492 * configure: Regenerate.
1493
3e888a5e
RG
14942012-02-22 Richard Guenther <rguenther@suse.de>
1495
1496 PR middle-end/52329
1497 * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
1498 for GIMPLE_DEBUG stmts.
bbd6a014 1499
f18a7b25
MJ
15002012-02-22 Martin Jambor <mjambor@suse.cz>
1501
1502 PR middle-end/51782
1503 * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
1504 according to the base object.
1505
0b262c28
GJL
15062012-02-22 Georg-Johann Lay <avr@gjlay.de>
1507
1508 PR rtl-optimization/50063
1509 * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
1510 and 2 (8-bit SP) in operand 2.
1511 * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
1512 setup to use movhi_sp_r instead of vanilla move to write SP.
1513 Adjust REG_CFA notes to superseed unspec.
1514 (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
1515 of vanilla move.
1516 As function body might contain CLI or SEI: Use irq_state 0 (IRQ
1517 known to be off) only with TARGET_NO_INTERRUPTS. Never use
1518 irq_state 1 (IRQ known to be on) here.
1519
2805e6c0
BS
15202012-02-21 Bernd Schmidt <bernds@codesourcery.com>
1521
1522 * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
1523 WORDS_BIG_ENDIAN.
1524 * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
1525 assign_hard_reg): Likewise.
1526
15272012-02-21 Georg-Johann Lay <avr@gjlay.de>
1890e136
GJL
1528
1529 * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
1530
2805e6c0 15312012-02-21 Georg-Johann Lay <avr@gjlay.de>
4998825d
GJL
1532
1533 * config/avr/avr.md
1534 (*dec-and-branchhi!=-1.d.clobber): New text peephole.
1535 (*dec-and-branchhi!=-1.l.clobber): New text peephole.
1536
2805e6c0 15372012-02-21 Georg-Johann Lay <avr@gjlay.de>
0545950b
GJL
1538
1539 * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
1540 prototype from here to...
1541 * config/avr/avr.h: ...here.
1542
23d2a817
RE
15432012-02-21 Richard Earnshaw <rearnsha@arm.com>
1544
1545 PR target/52294
2805e6c0 1546 * thumb2.md (thumb2_shiftsi3_short): Split register and
23d2a817
RE
1547 immediate shifts. For register shifts tie operands 0 and 1.
1548 (peephole2 for above): Check that register-controlled shifts
1549 have suitably tied operands.
1550
602c3369
QN
15512012-02-21 Quentin Neill <quentin.neill@amd.com>
1552
1553 PR target/52137
1554 * config/i386/bdver1.md (bdver1_call, bdver1_push,
1555 bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
1556 bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
1557 bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
1558 bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
1559 bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
1560 bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
1561 bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
1562 bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
1563 bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
1564 bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
1565 bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
1566 bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
1567 bdver1_ssevector_avx256_unaligned_load,
1568 bdver1_ssevector_sse128_unaligned_load,
1569 bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
1570 bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
1571 bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
1572 bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
1573 bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
1574 bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
1575 bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
1576 bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
1577 bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
1578 bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
1579 bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
1580 bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
1581 bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
1582 bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
1583 bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
1584 bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
1585 bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
1586 bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
1587 bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
1588 bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
1589 bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
1590 bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
1591 bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
1592 bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
1593 bdver1_ssediv_double_load, bdver1_ssediv_double,
1594 bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
1595 Add "bdver2" attribute.
1596
61369bb8
AK
15972012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1598
1599 * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
1600 default if possible and not specified otherwise.
1601
0c2ad203
RG
16022012-02-21 Richard Guenther <rguenther@suse.de>
1603
1604 PR middle-end/52314
1605 * gimplify.c (create_tmp_from_val): Use the main variant type
1606 for the type of the temporary we create.
1607
01718e96
RG
16082012-02-21 Richard Guenther <rguenther@suse.de>
1609
1610 PR tree-optimization/52324
1611 * gimplify.c (gimplify_expr): When re-gimplifying expressions
1612 do not gimplify a MEM_REF address operand if it is already
1613 in suitable form.
1614
8540e6e8
AK
16152012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1616
1617 * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
1618 TARGET_HARD_FLOAT with TARGET_HARD_DFP.
1619
d1e4b493
RG
16202012-02-21 Richard Guenther <rguenther@suse.de>
1621
1622 * tree-vect-stmts.c (vectorizable_load): Use pre-computed
1623 nested_in_vect_loop.
1624
949e47e5
JJ
16252012-02-21 Jakub Jelinek <jakub@redhat.com>
1626
1627 PR tree-optimization/52318
1628 * gimple-fold.c (gimplify_and_update_call_from_tree): Add
1629 vdef also to non-pure/const call stmts in the sequence.
1630
a2ddaaf5
TG
16312012-02-21 Tristan Gingold <gingold@adacore.com>
1632
1633 * config/vms/vms-ld.c (main): Fix IDENTIFICATION padding.
1634
3ed27cf5
DM
16352012-02-20 David S. Miller <davem@davemloft.net>
1636
1637 * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
1638 don't use the "rd %pc" instruction on v9 for PIC register loads.
1639
a4d031c7
AH
16402012-02-20 Aldy Hernandez <aldyh@redhat.com>
1641
1642 PR middle-end/52141
1643 * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
1644 in a transaction safe function.
1645
9954e17f
KT
16462012-02-20 Kai Tietz <ktietz@redhat.com>
1647
1648 PR target/52238
1649 * stor-layout.c (place_field): Handle desired_align for
1650 ms-bitfields, too.
1651
a7ce6ec3
RG
16522012-02-20 Richard Guenther <rguenther@suse.de>
1653
1654 PR tree-optimization/52298
1655 * tree-vect-stmts.c (vectorizable_store): Properly use
1656 STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
1657 outer loops.
1658 (vectorizable_load): Likewise.
1659 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
1660 Access DR_STEP after ensuring it is not NULL.
1661
5a226e0a
JJ
16622012-02-20 Jakub Jelinek <jakub@redhat.com>
1663
1664 PR tree-optimization/52286
1665 * fold-const.c (fold_binary_loc): For (X & C1) | C2
1666 optimization use double_int_to_tree instead of build_int_cst_wide,
1667 rewrite to use double_int vars.
1668
e992fc2e
RO
16692012-02-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1670
1671 PR target/50166
1672 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
1673 Define _start.
1674 Remove -e 0 from $gcc_cv_ld invocation.
1675 Only use __GLIBC_PREREQ if defined.
1676 Enable on Solaris since Solaris 8 patch.
1677 (gcc_SUN_LD_VERSION): New macro.
1678 * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
1679 gcc_SUN_LD_VERSION for version number format.
1680 * configure: Regenerate.
1681 * varasm.c (get_elf_initfini_array_priority_section): Set
1682 SECTION_NOTYPE for non-default priority.
1683 Use get_section instead of get_unnamed_section to emit
1684 .init_array/.fini_array with default priority.
1685
78c27266
RS
16862012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
1687
1688 * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
1689 (mips_get_tp): Set it. Record that __mips16_rdhwr binds locally.
1690 (mips_start_unique_function, mips_output_mips16_rdhwr)
1691 (mips_code_end): New functions.
1692 (TARGET_ASM_CODE_END): Define.
1693
5adeb246
RS
16942012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
1695
1696 * config/mips/mips.c (mips16_build_call_stub): Add CFI information
1697 to stubs with non-sibling calls.
1698
e1813255
SL
16992012-02-18 Sandra Loosemore <sandra@codesourcery.com>
1700
1701 * doc/invoke.texi (-fira-* options): Copy-edit.
1702 (ira-* parameters): Copy-edit.
1703
141a25c2
SL
17042012-02-17 Sandra Loosemore <sandra@codesourcery.com>
1705
1706 * doc/invoke.texi: Minor copy-edits to bring into conformance with
1707 GCC coding conventions.
1708
195a2e9d
SL
17092012-02-17 Sandra Loosemore <sandra@codesourcery.com>
1710
1711 * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
1712 when used as adjectives.
1713
1b015db7
SL
17142012-02-16 Sandra Loosemore <sandra@codesourcery.com>
1715
1716 * doc/invoke.texi: Clean up "that"/"which" confusion.
1717
7feed462
SB
17182012-02-17 Steven Bosscher <steven@gcc.gnu.org>
1719
1720 * system.h: Poison SMALL_REGISTER_CLASSES
1721 * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
1722 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
1723
ca786352
JJ
17242012-02-16 Jakub Jelinek <jakub@redhat.com>
1725
1726 PR tree-optimization/52285
1727 * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
1728 when deciding if a call is a tail call or tail recursion.
1729
525b3f60
KT
17302012-02-16 Kai Tietz <ktietz@redhat.com>
1731
1732 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
1733 interger-constant displacement for UNSPEC_PCREL.
1734
04c937f5
JJ
17352012-02-16 Jakub Jelinek <jakub@redhat.com>
1736
3db93c89
JJ
1737 PR rtl-optimization/52208
1738 * ira-costs.c (scan_one_insn): Don't decrease mem_cost
1739 for MEMs with REG_EQUIV, if the MEM isn't general_operand.
1740
e20f6b4b
JJ
1741 PR tree-optimization/52255
1742 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
1743 loop->header has virtual PHI, but exit_e->dest doesn't, add
1744 virtual PHI to exit_e->dest and adjust all uses after the loop.
1745
04c937f5
JJ
1746 PR debug/52260
1747 * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
1748 children with clone_tree_hash, not after it.
1749
cebb4698
IS
17502012-02-16 Iain Sandoe <iains@gcc.gnu.org>
1751
1752 * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
1753 extended identifiers.
1754
cc8b9c31
JJ
17552012-02-16 Jakub Jelinek <jakub@redhat.com>
1756
183d6db2
JJ
1757 PR middle-end/51929
1758 * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
1759 a same_body_alias, also test whether e->callee isn't a former
1760 or current clone of the decl this is a same body alias of.
1761
cc8b9c31
JJ
1762 PR translation/52264
1763 * cgraphunit.c (verify_cgraph_node): Fix a typo.
1764
e3a66c38
SL
17652012-02-15 Sandra Loosemore <sandra@codesourcery.com>
1766
1767 * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
1768
a0367cc1
MM
17692012-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
1770
1771 PR target/52199
1772 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
1773 force_reg instead of copy_to_reg for better optimization. Force
1774 non-register or memory operands into a register.
1775
b1cef2a5
AM
17762012-02-15 Andrew MacLeod <amacleod@redhat.com>
1777
1778 * extend.texi: Reserve upper bits of memory model for future use.
1779
2da8c1ad
GJL
17802012-01-15 Georg-Johann Lay <avr@gjlay.de>
1781 Anatoly Sokolov <aesok@post.ru>
1782 Eric Weddington <eric.weddington@atmel.com>
1783
1784 PR target/52261
1785 * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
1786 avrxmega4, avrxmega5, avrxmega6, avrxmega7.
1787 Rewrite initializers for .macro.
1788 * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
1789 avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
1790 atxmega32d4, atxmega32x1.
1791 avrxmega4: atxmega64a3, atxmega64d3.
1792 avrxmega5: atxmega64a1, atxmega64a1u.
1793 avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
1794 atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
1795 avrxmega7: atxmega128a1, atxmega128a1u.
1796 * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
1797 ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
1798 (struct base_arch_s): Rename reserved to xmega_p.
1799 Rename reserved2 to have_rampd.
1800 (AVR_XMEGA): New define.
1801 (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
1802 (AVR_HAVE_RAMPZ): Change definition to fit xmega.
1803 * config/avr/predicates.md (io_address_operand): Take into
1804 account SFR offset.
1805 (low_io_address_operand): Ditto.
1806 (high_io_address_operand): Ditto.
1807 * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
1808 (enabled, movhi_sp_r): Use them.
1809 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
1810 cpp_define_formatted to built-in define __AVR_ARCH__.
1811 (__AVR_XMEGA__): New built-in define.
1812 (__AVR_HAVE_RAMPD__): New built-in define.
1813 (__AVR_HAVE_RAMPX__): New built-in define.
1814 (__AVR_HAVE_RAMPY__): New built-in define.
1815 (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
1816
1817 * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
1818 (avr_option_override): Initialize them.
1819 (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
1820 (avr_init_expanders): Initialize them. No more block several calls.
1821 (emit_push_sfr): New static function.
1822 (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
1823 Handle AVR_XMEGA.
1824 (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
1825 (avr_print_operand): Print addreeses as symbols for
1826 RAMPX, RAMPY, RAMPD, CCP.
1827 (output_movhi): Handle AVR_XMEGA when writing to SP.
1828 (avr_out_movhi_mr_r_xmega): New static function.
1829 (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
1830 (avr_file_start): Print symbol defines for __RAMPX__, __RAMPY__,
1831 __RAMPD__, __CCP__ as needed.
1832
1833 * config/avr/multilib.h: Regenerate.
1834 * config/avr/t-multilib: Regenerate.
1835 * config/avr/avr-tables.opt: Regenerate.
1836
28db21ee
TG
18372012-02-15 Tobias Grosser <grosser@fim.uni-passau.de>
1838
1839 PR tree-optimization/50561
1840 * graphite-flattening.c (lst_project_loop): Do not
1841 remove old scattering dimensions after flattening.
1842 (lst_do_flatten): Likewise.
1843
0c578db6
GJL
18442012-02-15 Georg-Johann Lay <avr@gjlay.de>
1845
1846 * doc/extend.texi (AVR Built-in Functions): Remove doc for
1847 __builtin_avr_map8, __builtin_avr_map16.
1848 Document __builtin_avr_insert_bits.
1849
1850 * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
1851 (insert_bits): New insn.
1852 (adjust_len.map_bits): Rename to insert_bits.
1853 (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
1854 * avr-protos.h (avr_out_map_bits): Remove.
1855 (avr_out_insert_bits, avr_has_nibble_0xf): New.
1856 * config/avr/constraints.md (Cxf,C0f): New.
1857 * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
1858 defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
1859 New built-in define __BUILTIN_AVR_INSERT_BITS.
1860 * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
1861 (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
1862 (avr_move_bits): Rewrite.
1863 (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
1864 functions.
1865 (avr_map_op_t): New typedef.
1866 (avr_map_op): New static variable.
1867 (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
1868 (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
1869 (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
1870 (bdesc_3arg, avr_expand_triop_builtin): New.
1871 (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
1872 (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
1873 (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
1874 (avr_map_equal_p, avr_map_sig_p): Remove.
1875 (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
1876 (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
1877 (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
1878 (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
1879 (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
1880 (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
1881
9e7fe10e
BS
18822012-02-14 Bernd Schmidt <bernds@codesourcery.com>
1883
1884 * config/c6x/c6x.md (reserve_cycles): New attribute.
1885 * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
1886 don't reserve functional units after the branch occurs.
1887
a7ff6e27
AH
18882012-02-14 Aldy Hernandez <aldyh@redhat.com>
1889
1890 PR middle-end/52142
1891 * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
1892 functions into non-tm_pure functions.
1893
aa47290b
EB
18942012-02-14 Eric Botcazou <ebotcazou@adacore.com>
1895
1896 PR lto/52178
1897 * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
1898 (iterative_hash_canonical_type): Likewise.
1899 * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
1900 the dead edges.
1901
19022012-02-14 Bernd Schmidt <bernds@codesourcery.com>
b75f962c
BS
1903
1904 * haifa-sched.c (prune_ready_list): Ensure that if there is a
9517e333 1905 sched-group insn, it either remains alone or the entire list is pruned.
b75f962c 1906
169264b3
JW
19072012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
1908
1909 * doc/install.texi (Prerequisites): Fix grammar.
1910 (Configuration): Likewise.
1911
7a07ae52
JW
19122012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
1913
1914 * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
1915 MPC as part of GCC before describing configuring with --with-gmp etc.
1916 (Installing GCC: Configuration): --with-gmp etc. aren't needed if
1917 sources are present.
1918
a85ce59d
JJ
19192012-02-14 Jakub Jelinek <jakub@redhat.com>
1920
1921 PR debug/51950
1922 * dwarf2out.c (clone_tree_hash): New function.
1923 (copy_decls_walk): Use it instead of clone_tree.
1924
8085c586
RG
19252012-02-14 Richard Guenther <rguenther@suse.de>
1926
1927 PR tree-optimization/52244
1928 PR tree-optimization/51528
1929 * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
1930 replacements for integral types.
1931
dd552284
WL
19322012-02-14 Walter Lee <walt@tilera.com>
1933
1934 * config.gcc: Handle tilegx and tilepro.
1935 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
1936 tilegx and tilepro.
1937 Add HAVE_AS_TLS check for tilegx and tilepro.
1938 * configure: Regenerate.
1939 * doc/contrib.texi: Add Mat Hostetter and self.
1940 * doc/extend.texi (TILE-Gx Built-in Functions): New node.
1941 Document instruction intrinsics and network accessing intrinsics.
1942 (TILEPro Built-in Functions): New node. Document instruction
1943 intrinsics and network accessing intrinsics.
1944 * doc/install.texi (Specific, tilegx-*-linux*): Document it.
1945 (Specific, tilepro-*-linux*): Likewise.
1946 * doc/invoke.texi (TILE-Gx Options): New section.
1947 (TILEPro Options): New section.
1948 * doc/md.texi (TILE-Gx): New section.
1949 (TILEPro): New section.
1950 * common/config/tilegx/tilegx-common.c: New file.
1951 * common/config/tilepro/tilepro-common.c: New file.
1952 * config/tilegx/constraints.md: New file.
1953 * config/tilegx/linux.h: New file.
1954 * config/tilegx/mul-tables.c: New file.
1955 * config/tilegx/predicates.md: New file.
1956 * config/tilegx/sync.md: New file.
1957 * config/tilegx/t-tilegx: New file.
1958 * config/tilegx/tilegx-builtins.h: New file.
1959 * config/tilegx/tilegx-c.c: New file.
1960 * config/tilegx/tilegx-generic.md: New file.
1961 * config/tilegx/tilegx-modes.def: New file.
1962 * config/tilegx/tilegx-multiply.h: New file.
1963 * config/tilegx/tilegx-protos.h: New file.
1964 * config/tilegx/tilegx.c: New file.
1965 * config/tilegx/tilegx.h: New file.
1966 * config/tilegx/tilegx.md: New file.
1967 * config/tilegx/tilegx.opt: New file.
1968 * config/tilepro/constraints.md: New file.
1969 * config/tilepro/gen-mul-tables.cc: New file.
1970 * config/tilepro/linux.h: New file.
1971 * config/tilepro/mul-tables.c: New file.
1972 * config/tilepro/predicates.md: New file.
1973 * config/tilepro/t-tilepro: New file.
1974 * config/tilepro/tilepro-builtins.h: New file.
1975 * config/tilepro/tilepro-c.c: New file.
1976 * config/tilepro/tilepro-generic.md: New file.
1977 * config/tilepro/tilepro-modes.def: New file.
1978 * config/tilepro/tilepro-multiply.h: New file.
1979 * config/tilepro/tilepro-protos.h: New file.
1980 * config/tilepro/tilepro.c: New file.
1981 * config/tilepro/tilepro.h: New file.
1982 * config/tilepro/tilepro.md: New file.
1983 * config/tilepro/tilepro.opt: New file.
1984
7daac345
JJ
19852012-02-14 Jakub Jelinek <jakub@redhat.com>
1986
1987 PR tree-optimization/52210
1988 * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
1989 vect_model_simple_cost with two entry vect_def_type array instead
1990 of an address of dt.
1991
837487be
RG
19922012-02-14 Richard Guenther <rguenther@suse.de>
1993
1994 PR lto/52178
1995 * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
1996 Do not stream DECL_QUALIFIER.
1997 * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
1998 * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
1999 (find_decls_types_r): Do not walk DECL_QUALIFIER.
2000
45f41865
JJ
20012012-02-14 Jakub Jelinek <jakub@redhat.com>
2002
2003 PR c/52181
2004 * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
2005 newdecl.
2006
9a76e83d
JJ
20072012-02-13 Jakub Jelinek <jakub@redhat.com>
2008
2009 PR bootstrap/52172
2010 * cselib.h (cselib_subst_to_values_from_insn): New prototype.
2011 * cselib.c (cselib_subst_to_values_from_insn): New function.
2012 * sched-deps.c (add_insn_mem_dependence,
2013 sched_analyze_1, sched_analyze_2): Use it.
2014
993716bd
JH
20152012-02-13 Jan Hubicka <jh@suse.cz>
2016
2017 PR middle-end/52214
2018 * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
2019
255a9a1b
EB
20202012-02-13 Eric Botcazou <ebotcazou@adacore.com>
2021
2022 * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
2023 (GTM_SELF_SPECS): Define if not already defined.
2024 (driver_self_specs): Add GTM_SELF_SPECS.
9517e333
UB
2025 * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
2026 (GTM_SELF_SPECS): Define.
255a9a1b
EB
2027 * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
2028 * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
2029
9abd5ed9
JJ
20302012-02-13 Jakub Jelinek <jakub@redhat.com>
2031
67b977ad
JJ
2032 * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
2033 away if seen.
2034
9517e333 2035 * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
42286976 2036
9abd5ed9 2037 PR middle-end/52230
9517e333
UB
2038 * omp-low.c (expand_omp_for): If a static schedule without chunk size
2039 has NULL region->cont, force fd.chunk_size to be integer_zero_node.
9abd5ed9 2040
8ca1b342
AM
20412012-02-13 Andrew MacLeod <amacleod@redhat.com>
2042
2043 PR c/52190
2044 * doc/extend.texi : Fix another __atomic_compare_exchange typo.
2045
1eb3478f
RG
20462012-02-13 Richard Guenther <rguenther@suse.de>
2047
2048 PR translation/52211
2049 * passes.c (enable_disable_pass): Fix typo.
2050
205ec405
JJ
20512012-02-13 Jakub Jelinek <jakub@redhat.com>
2052
2053 PR middle-end/52209
2054 * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
2055 XOR for reduce_bit_field if type is unsigned.
2056
31d7b439
EB
20572012-02-12 Eric Botcazou <ebotcazou@adacore.com>
2058
2059 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
2060 disallow changes from SFmode to mode with different size in FP regs.
2061
20622012-02-12 Robert Millan <rmh@gnu.org>
9517e333 2063 Gerald Pfeifer <gerald@pfeifer.com>
56c534c5
RM
2064
2065 * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
2066 Tweak comment.
2067
4cb0fdbc
RS
20682012-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2069
2070 PR rtl-optimization/52175
2071 * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
2072 to frame-related instructions.
2073
4e92c31f
JM
20742012-02-10 Jason Merrill <jason@redhat.com>
2075
2076 PR c++/51910
2077 * tlink.c (demangled_hash_entry): Change mangled to a VEC.
2078 (demangle_new_symbols): Fill it.
2079 (scan_linker_output): Walk it.
2080 (start_tweaking): Split out from scan_linker_output.
2081 (maybe_tweak): Update sym->chosen.
2082 * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
2083
bd0ba05d
JJ
20842012-02-11 Jakub Jelinek <jakub@redhat.com>
2085
2086 PR debug/52132
9517e333 2087 * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
bd0ba05d 2088
28f7ff45
UB
20892012-02-11 Uros Bizjak <ubizjak@gmail.com>
2090
2091 * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
2092 having the same mode as previous compare.
2093
8c92f3e8
EB
20942012-02-10 Eric Botcazou <ebotcazou@adacore.com>
2095
2096 * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
2097 * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
2098 (nonlocal_goto_internal): Likewise.
2099 (nonlocal_goto): Emit a use and an indirect jump directly.
2100
9ac1504b
AM
21012012-02-10 Andrew MacLeod <amacleod@redhat.com>
2102
2103 PR c/52190
2104 * doc/extend.texi : Update comments for __atomic_compare_exchange and
2105 __atomic_{is,always}_lock_free.
2106
877fb450
L
21072012-02-10 Uros Bizjak <ubizjak@gmail.com>
2108
2109 PR target/52146
2110 * config/i386/i386.c (ix86_legitimate_address_p): Disallow
1ce8d925 2111 negative constant address for TARGET_X32.
877fb450 2112
1d4fb493
RH
21132012-02-10 Richard Henderson <rth@redhat.com>
2114
28f7ff45
UB
2115 * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
2116 * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
2117 for GIMPLE_TRANSACTION. Tidy if's into a switch.
1d4fb493 2118
8bd37302
BS
21192012-02-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2120 Ira Rosen <irar@il.ibm.com>
2121
2122 PR tree-optimization/50031
2123 * targhooks.c (default_builtin_vectorization_cost): Handle
2124 vec_promote_demote.
2125 * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
2126 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
2127 all types of reduction and pattern statements.
2128 (vect_estimate_min_profitable_iters): Likewise.
2129 * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
2130 (vect_get_load_cost): Use vec_perm for permutations; add dump logic
2131 for explicit realigns.
2132 (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
2133 * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
2134 vec_promote_demote.
2135 * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
2136 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
2137 vec_perm for VSX and handle vec_promote_demote.
2138
58d38fd2
JJ
21392012-02-10 Jakub Jelinek <jakub@redhat.com>
2140
2141 PR middle-end/52177
2142 * builtins.c (fold_builtin_atomic_always_lock_free,
2143 expand_builtin_atomic_always_lock_free,
28f7ff45
UB
2144 fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
2145 Return and/or test boolean_true_node/boolean_false_node instead of
58d38fd2
JJ
2146 integer_one_node/integer_zero_node.
2147
0f3b7e9a
JH
21482012-02-10 Jan Hubicka <jh@suse.cz>
2149
2150 PR middle-end/48600
2151 * predict.c (predict_paths_for_bb): Prevent looping.
2152 (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
2153
76c9058b
RZ
21542012-02-10 Roman Zhuykov <zhroma@ispras.ru>
2155
2156 * config/arm/arm.c (output_move_double): In one case properly
2157 count number of instructions that will be emitted.
2158
7cbf224d
RG
21592012-02-10 Richard Guenther <rguenther@suse.de>
2160
2161 PR translation/52193
2162 * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
2163
16e0be9b
PB
21642012-02-09 Peter Bergner <bergner@vnet.ibm.com>
2165
2166 PR middle-end/52140
2167 * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
2168
65cca5de
JJ
21692012-02-09 Jakub Jelinek <jakub@redhat.com>
2170
2171 PR debug/52165
2172 * var-tracking.c (emit_note_insn_var_location): If
2173 EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
2174 emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
2175 non-NOTE_DURING_CALL_P insn.
2176
15ed19ff
BC
21772012-02-09 Bin Cheng <bin.cheng@arm.com>
2178
2179 PR middle-end/51867
2180 * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
2181
5371f719
MG
21822012-02-08 Magnus Granberg <zorry@gentoo.org>
2183
2184 PR driver/48524
28f7ff45
UB
2185 * gcc.c (switch_matches) Support switches with separated form,
2186 -D and -U.
5371f719 2187
82b37806
GJL
21882012-02-08 Georg-Johann Lay <avr@gjlay.de>
2189
2190 * config/avr/avr.md (SREG_ADDR): Remove constant definition.
2191 (SP_ADDR): Ditto.
2192 (RAMPZ_ADDR): Ditto.
2193 * config/avr/avr.c (avr_addr_t): New typedef.
2194 (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
2195 (avr_init_expanders): Initialize it.
2196 (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
2197 SREG_ADDR.
2198 (expand_epilogue): Ditto.
2199 (avr_print_operand): Ditto.
2200 (avr_file_start): Ditto.
2201 (avr_emit_movmemhi): Ditto.
2202
31432e21
RG
22032012-02-08 Richard Guenther <rguenther@suse.de>
2204
2205 PR tree-optimization/46886
2206 * tree-flow.h (do_while_loop_p): Declare.
2207 * tree-ssa-loop-ch.c (do_while_loop_p): Export.
28f7ff45 2208 * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
31432e21 2209
c51ec0a3
AM
22102012-02-08 Andrew MacLeod <amacleod@redhat.com>
2211
2212 * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
2213 always succeed for integers larger than a native word.
2214
ea72cc1d
RG
22152012-02-08 Richard Guenther <rguenther@suse.de>
2216
2217 PR rtl-optimization/52170
2218 * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
2219 properly handle integer vector modes.
2220
bd73623c
JJ
22212012-02-08 Jakub Jelinek <jakub@redhat.com>
2222
9e66e106
JJ
2223 PR gcov-profile/52150
2224 * coverage.c: Include target.h.
2225 (build_var): Call targetm.strip_name_encoding on the assembler name.
2226 Change one _ into . or $ if the target allows it.
2227 * Makefile.in (coverage.o): Depend on $(TARGET_H).
2228
bd73623c
JJ
2229 PR rtl-optimization/52139
2230 * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
2231 is a BARRIER after emit_insn_after_noloc, move BB_END
2232 to the last non-BARRIER insn before it.
2233
4566de10
RS
22342012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
2235
2236 PR middle-end/24306
2237 * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
2238 (mips_gimplify_va_arg_expr): Call it instead of
2239 std_gimplify_va_arg_expr.
2240
7cb5ce1a
MM
22412012-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
2242
2243 * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
2244 message for -mno-pointers-to-nested-function.
2245
f22cfd73
EB
22462012-02-07 Eric Botcazou <ebotcazou@adacore.com>
2247
2248 PR middle-end/51994
2249 * expr.c (get_inner_reference): If there is an offset, add a negative
2250 bit position to it (if any).
2251
13a72c0b
JJ
22522012-02-07 Jakub Jelinek <jakub@redhat.com>
2253
2254 PR rtl-optimization/52060
2255 * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
2256 copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
2257 before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
2258 and/or i0src_copy2 when needed.
2259
deb3f362
JJ
22602012-02-07 Jakub Jelinek <jakub@redhat.com>
2261
117cb2bc
JJ
2262 * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
2263 or LTOPLUGINSONAME if have_c.
2264
deb3f362
JJ
2265 * config/freebsd-spec.h: Add comment about what macros can be defined
2266 in this header.
2267 (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
2268 * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
2269 here instead.
2270
b1edf2bc
RG
22712012-02-07 Richard Guenther <rguenther@suse.de>
2272
2273 * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
2274 newline in -alias dumps.
2275
26cfb9ab 22762012-02-07 Kai Tietz <ktietz@redhat.com>
28f7ff45 2277 Dave Korn <dave.korn.cygwin@gmail.com>
26cfb9ab
KT
2278
2279 PR target/40068
2280 * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
2281 Take care that typinfo gets dllexport-attribute.
2282
b1b95093
JJ
22832012-02-07 Jakub Jelinek <jakub@redhat.com>
2284
2285 PR middle-end/52074
2286 * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
2287 if modifier < EXPAND_SUM call force_operand on the result.
2288
60098013
JR
22892012-02-07 Joern Rennecke <joern.rennecke@embecosm.com>
2290
2291 * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
2292 adding __forwarder_dst__ prefix if a forwarder_section attribute is
2293 present.
2294 (epiphany_function_type): Replace types for specific interrupts with
2295 EPIPHANY_FUNCTION_INTERRUPT.
2296 (EPIPHANY_INTERRUPT_P): Update.
2297 * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
2298 New static function.
2299 (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
2300 <disinterrupt>: Affects type identity.
2301 (epiphany_handle_interrupt_attribute): Handle variable number of
2302 arguments.
2303 (epiphany_compute_function_type): Update for new
2304 epiphany_function_type definition.
2305 (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
2306 handlers with a longcall forwarder.
2307 (epiphany_start_function): Handle multiple interrupt arguments and/or
2308 forwarder_section attribute.
2309
28f7ff45
UB
2310 * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
2311 libgloss.
be648db7 2312
30f0eb2d
AM
23132012-02-07 Alan Modra <amodra@gmail.com>
2314
2315 PR target/52107
2316 * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
2317 subregs of TFmode.
2318
c5f14d62
BS
23192012-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2320
2321 PR tree-optimization/50969
2322 * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
2323 use vec_perm rather than vector_stmt.
2324 (vect_model_load_cost): Likewise.
2325 * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
2326 vec_perm to be the same as other vector statements.
2327 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
2328 cost of vec_perm for TARGET_VSX.
2329
973a39ae
RG
23302012-02-06 Richard Guenther <rguenther@suse.de>
2331
2332 PR tree-optimization/52115
2333 * tree-sra.c (access_has_replacements_p): New function.
2334 (sra_modify_assign): Use it to decide whether a use is uninitialized.
2335
fe924d9f
PM
23362012-02-06 Patrick Marlier <patrick.marlier@gmail.com>
2337
2338 PR middle-end/52047
2339 * trans-mem.c (expand_call_tm): Add an assertion.
2340 * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
2341 functions.
2342
1d30a09a
RG
23432012-02-06 Richard Guenther <rguenther@suse.de>
2344
2345 PR tree-optimization/50955
2346 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
2347 raise cost of expressions that replace an address with an
2348 expression based on a different pointer.
2349
2c8b5d61
JJ
23502012-02-06 Jakub Jelinek <jakub@redhat.com>
2351
2352 PR target/52129
2353 * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
2354 CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
2355
9039ea91
JW
23562012-02-06 Jonathan Wakely <jwakely.gcc@gmail.com>
2357
2358 PR c++/48680
2359 * doc/invoke.texi (C++ Dialect Options): Use @option markup for
2360 -Weffc++ and specify guidelines come from second edition.
2361
7ca9ea76
RS
23622012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
2363
2364 * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
2365 (sibcall_value_multiple_internal, call_split, call_internal_direct)
2366 (call_direct_split, call_value_split, call_value_internal_direct)
2367 (call_value_direct_split, call_value_multiple_split): Use jal and
2368 jal_macro attributes.
2369
7bd8c53f
RS
23702012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
2371
2372 * reload1.c (reload_regs_reach_end_p): Replace with...
2373 (reload_reg_rtx_reaches_end_p): ...this function.
2374 (new_spill_reg_store): Update commentary.
2375 (emit_input_reload_insns): Don't clear new_spill_reg_store here.
2376 (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
2377 before setting new_spill_reg_store.
2378 (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
2379 Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
2380 Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
2381 for non-spill reload registers.
2382
24ee1384
IR
23832012-02-05 Ira Rosen <irar@il.ibm.com>
2384
2385 PR tree-optimization/52091
2386 * tree-vectorizer.h (vect_is_simple_use): Add an argument.
2387 (vect_is_simple_use_1): Likewise.
2388 * tree-vect-loop.c (vectorizable_reduction): Update calls
2389 to vect_is_simple_use_1 and vect_is_simple_use.
2390 (vectorizable_live_operation): Likewise.
2391 * tree-vect-patterns.c (widened_name_p,
28f7ff45 2392 vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise.
24ee1384 2393 * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
28f7ff45
UB
2394 vectorizable_call, vectorizable_conversion, vectorizable_assignment,
2395 vectorizable_shift,vectorizable_operation, vectorizable_store,
2396 vectorizable_load): Likewise.
24ee1384
IR
2397 (vect_is_simple_cond): Add an argument, pass it to
2398 vect_is_simple_use_1.
2399 (vectorizable_condition): Update calls to vect_is_simple_cond,
2400 vect_is_simple_use.
2401 (vect_is_simple_use): Add an argument, the statement in which
2402 OPERAND is used. Check that if OPERAND's def stmt is a double
2403 reduction phi node, the use is a phi node too.
2404 (vect_is_simple_use_1): Add an argument, pass it to
2405 vect_is_simple_use.
2406 * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
2407 to vect_is_simple_use.
2408
d5785e76
JJ
24092012-02-04 Jakub Jelinek <jakub@redhat.com>
2410
22439481
JJ
2411 PR rtl-optimization/52095
2412 * modulo-sched.c (dump_insn_locator): New function.
2413 (loop_canon_p, sms_schedule): Use it.
2414
d5785e76
JJ
2415 PR rtl-optimization/52113
2416 * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
2417 even for decomposable shift/zext insns.
2418
32410d02
JJ
24192012-02-03 Jakub Jelinek <jakub@redhat.com>
2420 Zdenek Dvorak <ook@ucw.cz>
2421
2422 PR rtl-optimization/52092
2423 * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
2424 on get_iv_value result.
2425
75471253
AP
24262012-02-02 Andrew Pinski <apinski@cavium.com>
2427
2428 PR middle-end/47982
2429 PR middle-end/43967
2430 * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
2431
1f01c3ec
JJ
24322012-02-02 Jakub Jelinek <jakub@redhat.com>
2433
2434 PR middle-end/48071
2435 * diagnostic.c (diagnostic_finish): Remove trailing newlines.
2436
662f8070
VM
24372012-02-02 Vladimir Makarov <vmakarov@redhat.com>
2438
2439 PR rtl-optimization/49800
2440 * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
2441 (sched_finish): Call regstat_free_n_sets_and_refs.
2442
14bc59cb
RS
24432012-02-02 Jia Liu <proljc@gmail.com>
2444
2445 * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
2446 than operand 2.
2447
9517e333
UB
24482012-02-02 Jan Hubicka <jh@suse.cz>
2449 Tom de Vries <tom@codesourcery.com>
5ee770bf
JH
2450
2451 PR middle-end/51998
2452 * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
2453 * varpool.c (varpool_analyze_pending_decls): Likewise.
2454
b25364a0
S
24552012-02-02 Sumanth G <sumanth.gundapaneni@kpitcummins.com>
2456 Jayant R Sonar <jayant.sonar@kpitcummins.com>
2457
2458 * config.gcc: Add cr16-* support.
2459
2460 * doc/extend.texi: Document cr16 extensions.
2461 * doc/install.texi: Document cr16 install.
2462 * doc/invoke.texi: Document cr16 options.
2463 * doc/md.texi: Document cr16 constraints.
2464
2465 * common/config/cr16/cr16-common.c: New file.
2466 * config/cr16/cr16.c: New file.
2467 * config/cr16/cr16.h: New file.
2468 * config/cr16/cr16.md: New file.
2469 * config/cr16/cr16.opt: New file.
2470 * config/cr16/cr16-protos.h: New file.
2471 * config/cr16/predicates.md: New file.
2472 * config/cr16/constraints.md: New file.
2473 * config/cr16/t-cr16: New file.
2474
13c931c9
JJ
24752012-02-02 Jakub Jelinek <jakub@redhat.com>
2476
903e49f5
JJ
2477 PR target/52086
2478 * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
2479 that operands[2] is either immediate, or q_regs_operand.
2480
13c931c9
JJ
2481 PR tree-optimization/52073
2482 * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
2483 a pattern stmt for pattern uses, ignore uses outside of the loop.
2484
c2453253
GJL
24852012-02-01 Georg-Johann Lay <avr@gjlay.de>
2486
2487 * config/avr/avr.c: Resolve all AS1 and AS2 macros.
2488 * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
2489 (OUT_AS1, OUT_AS2): Remove.
2490
07ad5438
GJL
24912012-02-01 Georg-Johann Lay <avr@gjlay.de>
2492
2493 PR rtl-optimization/51374
2494 * combine.c (can_combine_p): Don't allow volatile_refs_p insns
2495 to cross other volatile_refs_p insns.
2496
99ea07f8
RG
24972012-02-01 Richard Guenther <rguenther@suse.de>
2498
2499 * doc/invoke.texi (fno-inline): Clarify documentation.
2500 (finline-small-functions): Likewise.
2501 (finline-functions): Likewise.
2502 * common.opt (finline): Adjust comment and documentation.
2503 (finline-small-functions): Clarify documentation.
2504 (finline-functions): Likewise.
2505 (finline-functions-called-once): Likewise.
2506
3db684fb
TG
25072012-02-01 Tristan Gingold <gingold@adacore.com>
2508
2509 * c-typeck.c (composite_type): Keep mode for pointers.
2510
35aebd56
RS
25112012-01-31 Richard Sandiford <rdsandiford@googlemail.com>
2512
2513 * function.h (regno_reg_rtx): Adjust comment.
2514 * reginfo.c (init_reg_modes_target): Only use the previous mode
2515 if it fits within one register. Remove MIPS comment.
2516
8bb1a172
JJ
25172012-01-31 Jakub Jelinek <jakub@redhat.com>
2518
2519 PR bootstrap/52058
2520 * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
2521
01496eca
AK
25222012-01-31 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2523
2524 * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
2525 to srak instruction.
2526
a2be33be
MGD
25272012-01-31 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
2528
28f7ff45 2529 * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
a2be33be 2530
dd887943
JJ
25312012-01-31 Jakub Jelinek <jakub@redhat.com>
2532
2533 PR bootstrap/52041
2534 PR bootstrap/52039
2535 PR target/51974
2536 * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
2537
63d7ceaa
RG
25382012-01-31 Richard Guenther <rguenther@suse.de>
2539
2540 PR tree-optimization/51528
2541 * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
2542 assigns.
2543
68c8a824
JJ
25442012-01-31 Jakub Jelinek <jakub@redhat.com>
2545
2546 PR bootstrap/52041
2547 PR bootstrap/52039
2548 PR target/51974
2549 * ree.c (add_removable_extension): Change def_map argument
2550 to unsigned *, store in def_map 1 + offset into *insn_list vector
2551 instead of pointers into the vector.
2552 (find_removable_extensions): Adjust caller.
2553
a7fd5c6b
GJL
25542012-01-30 Georg-Johann Lay <avr@gjlay.de>
2555
2556 * config/avr/avr.md: Resolve all AS1 and AS2 macros.
2557 Transform all "* quoted-c-code" to { c-code }.
2558 Remove redundant test for "optimize" in combine patterns.
2559 Move (include "avr-dimode.md") to end of file.
2560
ab07692c
BC
25612012-01-30 Bin Cheng <bin.cheng@arm.com>
2562
2563 PR target/51835
2564 * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
2565 for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
2566
e799d447
RG
25672012-01-30 Richard Guenther <rguenther@suse.de>
2568
2569 PR tree-optimization/52028
2570 * tree-loop-distribution.c (ldist_gen): Properly update
2571 virtual SSA form.
2572
dd44dcb0
JJ
25732012-01-30 Jakub Jelinek <jakub@redhat.com>
2574
2026d51a
JJ
2575 PR debug/52027
2576 * dwarf2out.c (dwarf2out_switch_text_section): Don't call
2577 set_cur_line_info_table if not emitting debug info.
2578
2f326699
JJ
2579 PR tree-optimization/52046
2580 * tree-vect-patterns.c (check_bool_pattern): Give up if
2581 a comparison could throw.
2582
dd44dcb0
JJ
2583 PR debug/52048
2584 * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
2585
ab448cfa
RG
25862012-01-30 Richard Guenther <rguenther@suse.de>
2587
2588 PR tree-optimization/52045
2589 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
2590 SSA form if cfgcleanup did anything.
2591
f8698b37
RG
25922012-01-30 Richard Guenther <rguenther@suse.de>
2593
2594 PR tree-optimization/52045
2595 * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
2596 before computing final todo.
2597
fdad69c1
RG
25982012-01-30 Richard Guenther <rguenther@suse.de>
2599
2600 PR tree-optimization/51528
2601 * tree-sra.c (sra_modify_assign): Re-factor in preparation
2602 for PR51528 fix.
2603
8203ac49
PB
26042012-01-30 Paolo Bonzini <bonzini@gnu.org>
2605
2606 * df-problems.c (df_kill_notes): Check that the use refers
2607 to the note under examination.
2608
98e4350f
EB
26092012-01-30 Eric Botcazou <ebotcazou@adacore.com>
2610
2611 PR target/51920
2612 * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
2613 parameter and use short-lived pseudos.
2614 (vector_init_faligndata): Remove INNER_MODE parameter and use loop.
2615 (sparc_expand_vector_init): Const-ify local variables and adjust
2616 calls to above functions.
2617
733ccf09
GJL
26182012-01-30 Georg-Johann Lay <avr@gjlay.de>
2619
2620 * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
2621
1d7b264e
SL
26222012-01-29 Sandra Loosemore <sandra@codesourcery.com>
2623
2624 * doc/invoke.texi: Make usage of "compile time" and
2625 "run time"/"runtime" consistent throughout the file.
2626
1e86df8d
UB
26272012-01-29 Uros Bizjak <ubizjak@gmail.com>
2628
28f7ff45 2629 * config/alpha/alpha.c (alpha_option_override): Default to
1e86df8d
UB
2630 full IEEE compliance mode for Go language.
2631
fc4c0b43
TC
26322011-01-29 Tijl Coosemans <tijl@coosemans.org>
2633
2634 * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
2635 (LINK_SSP_SPEC): Define.
2636
df8b5535
JDA
26372012-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2638
2639 PR target/51871
2640 * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
2641 stubs.
2642
6b6985ba
SL
26432012-01-28 Sandra Loosemore <sandra@codesourcery.com>
2644
2645 * doc/invoke.texi: Correct hyphenation of "floating point",
2646 "double precision", and related terminology throughout the file.
2647
8ea2d689
JJ
26482012-01-28 Jakub Jelinek <jakub@redhat.com>
2649
2650 PR target/52006
2651 * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
2652 arm_general_register_operand predicate for operand 2 instead of
2653 register_operand.
2654
183dd130
ILT
26552012-01-27 Ian Lance Taylor <iant@google.com>
2656
2657 PR go/47656
2658 * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
2659 * builtins.c (expand_builtin_init_trampoline): Add onstack
2660 parameter. Change caller.
2661 (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
2662 * tree.c (build_common_builtin_nodes): Declare
2663 __builtin_init_heap_trampoline.
2664
38ee0815
GJL
26652012-01-27 Georg-Johann Lay <avr@gjlay.de>
2666
2667 * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
2668 tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
2669 * config/avr/avr.c: Ditto.
2670 (avr_regnames): Remove because unused.
2671 * config/avr/avr.md (*cpse.ne): New peephole.
2672 (*cpse.eq): New peephole from former cpse peepholes.
2673
b6c71f77
ME
26742012-01-27 Michael Eager <eager@eagercon.com>
2675
2676 * config/microblaze.c (microblaze_emit_compare): Correct
2677 test after pcmp instruction.
2678
13604927
RG
26792012-01-27 Richard Guenther <rguenther@suse.de>
2680
2681 PR tree-optimization/52020
2682 * tree-sra.c (sra_modify_assign): Do not transform clobbers.
2683
ace018f9
RG
26842012-01-27 Richard Guenther <rguenther@suse.de>
2685
2686 * ipa-pure-const.c (check_stmt): Clobbers do not make a
2687 function non-const/pure.
2688
aff86594
RG
26892012-01-27 Richard Guenther <rguenther@suse.de>
2690
2691 PR tree-optimization/50444
2692 * tree-sra.c (build_ref_for_offset): Properly adjust the
2693 MEM_REF type for unaligned accesses.
2694
22345357
RG
26952012-01-27 Richard Guenther <rguenther@suse.de>
2696
2697 PR tree-optimization/50444
2698 * expr.c (mem_ref_refers_to_non_mem_p): New function.
2699 (expand_assignment): Use it. Properly handle misaligned
2700 bases when expanding stores to component references.
2701 (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
2702 refactor that case.
2703
3881dee9
AB
27042012-01-27 Andrey Belevantsev <abel@ispras.ru>
2705
2706 PR middle-end/51389
2707 * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
2708 * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
2709 * tree-data-ref.c (find_data_references_in_loop): Make static.
2710 (compute_all_dependences): Change return type to bool. Bail out
2711 for too many datarefs in a loop. Move the hunk resetting the data
2712 dependences vector from ...
2713 (compute_data_dependences_for_loop): ... here. Account for
2714 compute_all_dependences returning false.
2715 (compute_data_dependences_for_bb): Likewise.
2716 * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
2717 * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
2718
45c83429
RG
27192012-01-27 Richard Guenther <rguenther@suse.de>
2720
2721 PR middle-end/51959
2722 * expr.c (store_field): Use the alias-set of the scratch memory
2723 for storing to it.
2724
842679dc
TV
27252012-01-27 Tom de Vries <tom@codesourcery.com>
2726
2727 PR tree-optimization/51990
1e86df8d
UB
2728 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
2729 WITH_SIZE_EXPR.
842679dc
TV
2730 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
2731
ae25db45
JJ
27322012-01-27 Jakub Jelinek <jakub@redhat.com>
2733
2734 PR debug/52001
2735 * var-tracking.c (reverse_op): Don't add any reverse operation
2736 if V already has any constant locations.
2737
cb485fff
SL
27382012-01-27 Sandra Loosemore <sandra@codesourcery.com>
2739
2740 * doc/invoke.texi: Correct usage of "command line" (noun)
2741 vs "command-line" (adjective) throughout.
2742
e3bd34b8
SL
27432012-01-27 Sandra Loosemore <sandra@codesourcery.com>
2744
2745 * doc/invoke.texi (Language Independent Options): Move
2746 -Wcoverage-mismatch blurb from here....
2747 (Warning Options): ...to here.
2748
b7c0a0d4
PB
27492012-01-27 Peter Bergner <bergner@vnet.ibm.com>
2750
2751 * config/rs6000/rs6000.c (rs6000_option_override_internal):
2752 Set rs6000_always_hint to false for 476.
2753
2fda54bd
MK
27542012-01-27 Matthias Klose <doko@ubuntu.com>
2755
2756 * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
2757 system root.
2758 * incpath.c (add_standard_paths): Likewise.
2759
4c1fd084
RH
27602012-01-27 Richard Henderson <rth@redhat.com>
2761
2762 * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
2763 * config/m68k/sync.md (atomic_test_and_set): Rename from
2764 sync_test_and_setqi and adjust the operands.
2765 (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
2766 and unconditionally enable.
2767
5a843a13
RH
27682012-01-27 Richard Henderson <rth@redhat.com>
2769
2770 * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
2771 * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
2772 (ldstub): Rename from ldstubqi.
2773 (ldstub<I24MODE>): Remove.
2774
57c5ab1b
RH
27752012-01-27 Richard Henderson <rth@redhat.com>
2776
2777 * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
2778 * c-cppbuiltin.c (cpp_atomic_builtins): Define
2779 __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
2780 * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
2781 * doc/tm.texi: Rebuild.
2782
15e73e06
RH
27832012-01-27 Richard Henderson <rth@redhat.com>
2784
2785 * optabs.c (gen_atomic_test_and_set): Remove default.
2786 (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
2787
089dacc5
JJ
27882012-01-26 Jakub Jelinek <jakub@redhat.com>
2789
2790 PR rtl-optimization/51978
1e86df8d 2791 * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx.
089dacc5
JJ
2792 (combine_reaching_defs): Likewise.
2793 (struct re_info): Remove.
2794 (add_removable_extension): Remove x and data arguments,
2795 add insn, insn_list and def_map. Use the arguments directly
2796 instead of using struct re_info.
2797 (find_removable_extensions): Don't call add_removable_extension
2798 through note_stores, instead just call it with single_set
2799 result if non-NULL.
2800 (find_and_remove_re): Pass curr_cand->expr instead of
1e86df8d 2801 PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs.
089dacc5 2802
81bfd197
MM
28032012-01-26 Michael Matz <matz@suse.de>
2804
2805 PR tree-optimization/46590
2806 * cfgexpand.c: Revert last change (r183305).
2807 * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
2808 regs.
2809 * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
2810 checking for emptiness.
2811
892123df
JJ
28122012-01-26 Jakub Jelinek <jakub@redhat.com>
2813
2814 PR middle-end/51895
2815 * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
2816 non-addressable non-BLKmode base correctly.
2817
1a47f99c
MM
28182012-01-26 Michael Matz <matz@suse.de>
2819
2820 PR tree-optimization/48794
2821 * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
2822 regions referenced from RESX/EH_DISPATCH.
2823
3d427cc1
AK
28242012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2825
2826 * config/s390/s390.h: Make BRANCH_COST an option.
2827 * config/s390/s390.opt: New option -mbranch-cost.
2828
3be18e47
RH
28292012-01-26 Richard Henderson <rth@redhat.com>
2830
2831 Revert 2012-01-24 change:
2832 * trans-mem.c (requires_barrier): Do not instrument thread local
2833 variables and emit save/restore for them.
2834
21ae439c
JJ
28352012-01-25 Jakub Jelinek <jakub@redhat.com>
2836
2837 PR middle-end/51986
2838 * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
2839 for pat == 0.
2840
e906c889
RS
28412012-01-25 Richard Sandiford <rdsandiford@googlemail.com>
2842
55d4e75e
RS
2843 * config/mips/mips.c (mips_small_data_pattern_1): Don't process
2844 ASM_OPERANDS.
e906c889 2845
3a840863
GJL
28462012-01-25 Georg-Johann Lay <avr@gjlay.de>
2847
2848 PR target/49868
2849 Rename __pgm to __flash.
2850 Rename __pgm1 to __flash1.
2851 Rename __pgm2 to __flash2.
2852 Rename __pgm3 to __flash3.
2853 Rename __pgm4 to __flash4.
2854 Rename __pgm5 to __flash5.
2855 Rename __pgmx to __memx.
2856 * doc/extend.texi (AVR Named Address Spaces)
2857 Rename address space names as indicated above.
2858 * config/avr/avr.c (avr_addrspace): Ditto.
2859
2860 * config/avr/avr-protos.h
2861 (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
2862 (avr_mem_pgm_p): Rename to avr_mem_flash_p.
2863 * config/avr/predicates.md: Ditto.
2864 * config/avr/avr.c Ditto, and
2865 (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
2866 (avr_decl_pgm_p): Rename to avr_decl_flash_p.
2867
2868 * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
2869 (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
2870 (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
2871 (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
2872 (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
2873 (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
2874 (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
2875 * config/avr/avr.c: Ditto.
2876 * config/avr/avr.md: Ditto.
2877
b3310d49
JM
28782012-01-25 Jason Merrill <jason@redhat.com>
2879
2880 PR c++/51992
2881 * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
2882
06e1d03d
JJ
28832012-01-25 Jakub Jelinek <jakub@redhat.com>
2884
2885 PR tree-optimization/51987
2886 * tree-data-ref.c (get_references_in_stmt): Handle references in
2887 non-volatile GIMPLE_ASM.
2888
8bf43909
RG
28892012-01-25 Richard Guenther <rguenther@suse.de>
2890
2891 * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
2892 bases are dereferenced.
2893
3dbdd1b9
AB
28942012-01-25 Andrey Belevantsev <abel@ispras.ru>
2895
2896 PR rtl-optimization/48374
1e86df8d 2897 * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
3dbdd1b9 2898
9ca3d00e
AB
28992012-01-25 Andrey Belevantsev <abel@ispras.ru>
2900
2901 * tree-predcom.c (tree_predictive_commoning_loop): Bail out when
2902 compute_data_dependences_for_loop returns false.
2903 * tree-parloops.c (loop_parallel_p): Likewise.
2904
87c0fb4b
RG
29052012-01-25 Richard Guenther <rguenther@suse.de>
2906
2907 * tree.h (get_pointer_alignment_1): Declare.
2908 * builtins.c (get_pointer_alignment_1): New function.
2909 (get_pointer_alignment): Use it.
2910
2630025d
RR
29112012-01-25 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2912
2913 PR rtl-optimization/48308
2914 * combine.c (enum undo_kind): Add UNDO_LINKS.
2915 (struct undo): Add member l to other_contents and where.
2916 (do_SUBST_LINK): New.
2917 (SUBST_LINK): New.
2918 (try_combine): Handle LOG_LINKS for the dummy i1 case.
2919 (undo_all): Handle UNDO_LINKS.
2920
42cf0609
RH
29212012-01-25 Richard Henderson <rth@redhat.com>
2922
2923 * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode
2924 mem inputs.
2925
1efaf134
RS
29262012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
2927
2928 * optabs.c (gen_atomic_test_and_set): Use each argument.
2929
63b9d91a
RS
29302012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
2931
2932 * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
2933 (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>)
2934 (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
2935 (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>)
2936 (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than
2937 TARGET_PAIRED_SINGLE_FLOAT.
2938
55356334
RS
29392012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
2940
2941 * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
2942 (in_struct, return_val): Remove MEM documentation.
2943 * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
2944 (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
2945 (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
2946 and MEM_SCALAR.
2947 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
2948 * cfgexpand.c (add_alias_set_conflicts): Likewise.
2949 * expr.c (store_field): Likewise.
2950 * function.c (assign_stack_temp_for_type): Likewise.
2951 * ifcvt.c (noce_try_cmove_arith): Likewise.
2952 * reload1.c (reload): Likewise.
2953 * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
2954 (alpha_set_memflags): Likewise.
2955 * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
2956
53d9622b
RS
29572012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
2958
2959 * rtl.h (true_dependence, canon_true_dependence): Remove varies
2960 parameter.
2961 * alias.c (fixed_scalar_and_varying_struct_p): Delete.
2962 (true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
2963 (true_dependence_1, true_dependence, canon_true_dependence): Remove
2964 varies parameter.
2965 * cselib.c (cselib_rtx_varies_p): Delete.
2966 (cselib_invalidate_mem): Update call to canon_true_dependence.
2967 * dse.c (record_store, check_mem_read_rtx): Likewise.
2968 (scan_reads_nospill): Likewise.
2969 * cse.c (check_dependence): Likewise.
2970 (cse_rtx_varies_p): Delete.
2971 * expr.c (safe_from_p): Update call to true_dependence.
2972 * ira.c (validate_equiv_mem_from_store): Likewise.
2973 (memref_referenced_p): Likewise.
2974 * postreload-gcse.c (find_mem_conflicts): Likewise.
2975 * sched-deps.c (sched_analyze_2): Likewise.
2976 * store-motion.c (load_kills_store): Likewise.
2977 * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
2978 * gcse.c (mems_conflict_for_gcse_p): Likewise.
2979 (compute_transp): Update call to canon_true_dependence.
2980
f8a27aa6
RH
29812012-01-25 Richard Henderson <rth@redhat.com>
2982
2983 * optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
2984 (maybe_emit_atomic_test_and_set): New.
2985 (expand_sync_lock_test_and_set): Use it.
2986 (expand_atomic_test_and_set): Likewise.
2987 * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
2988 the implementation; clarify implementation defined details.
2989 * doc/md.texi (atomic_test_and_set): Document.
2990
f1d4a790
RH
29912012-01-25 Richard Henderson <rth@redhat.com>
2992
2993 * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
2994
ed6cf318
RH
29952012-01-25 Richard Henderson <rth@redhat.com>
2996
2997 PR target/51968
2998 * config/arm/arm.c (neon_split_vcombine): Emit deleted note
2999 to effect no-op split.
3000
dda6ecae
AH
30012012-01-24 Aldy Hernandez <aldyh@redhat.com>
3002
3003 PR lto/51698
3004 * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
3005 (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
3006 (BT_FN_VOID_PTR_INT_SIZE): New.
3007 (BT_FN_UINT_UINT_VAR): Remove.
3008 (BT_FN_UINT32_UINT32_VAR): New.
3009 (BT_FN_DOUBLE_VPTR): Remove.
3010 (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
3011
1e86df8d 3012 * gtm-builtins.def (_ITM_abortTransaction): Set return type to void.
dda6ecae
AH
3013 (_ITM_changeTransactionMode): Same.
3014 (_ITM_memmoveRtWt): Change return type to void.
3015 (_ITM_memcpyRtWt): Same.
3016 (_ITM_memsetW): Same.
3017 (_ITM_RaRD): Change types to double.
3018 (_ITM_RD): Same.
3019 (_ITM_RaWD): Same.
3020 (_ITM_RfWD): Same.
3021
3022 * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
3023
1aa5d1c7
AH
30242012-01-24 Aldy Hernandez <aldyh@redhat.com>
3025 Patrick Marlier <patrick.marlier@gmail.com>
3026
3027 * trans-mem.c (requires_barrier): Do not instrument thread local
3028 variables and emit save/restore for them.
3029
c5c90089
JM
30302012-01-24 Jason Merrill <jason@redhat.com>
3031
3032 PR c++/51812
3033 * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
3034 output static aliases.
3035
5460e1fc
JJ
30362012-01-24 Jakub Jelinek <jakub@redhat.com>
3037
3038 PR driver/47249
3039 * common.opt (-pie, -shared, pie, shared): Change from Common to
3040 Driver.
3041 * gcc.c (display_help): Display help for -pie and -shared.
3042
aa9ec4db
GJL
30432012-01-24 Georg-Johann Lay <avr@gjlay.de>
3044
3045 PR target/49868
3046 * doc/extend.texi (AVR Named Address Spaces): Move sample code up.
3047 Remove note on size/offset limitation.
3048 (AVR Variable Attributes): Add example how to read data located
3049 with progmem. Refer to named address spaces.
3050 * doc/invoke.texi (AVR Options): Fix typo.
3051
a9d3ac1e
RG
30522012-01-24 Richard Guenther <rguenther@suse.de>
3053
3054 Forward-port to trunk
3055 2010-09-21 Jakub Jelinek <jakub@redhat.com>
3056
3057 PR middle-end/45678
3058 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
3059 op0 isn't sufficiently aligned and there is movmisalignM
3060 insn for mode, use it to load op0 into a temporary register.
3061
93bcc8c9
JJ
30622012-01-24 Jakub Jelinek <jakub@redhat.com>
3063
3064 PR target/51957
3065 * target.def (const_not_ok_for_debug_p): New hook.
3066 * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
3067 documentation.
3068 * doc/tm.texi: Regenerated.
3069 * dwarf2out.c (const_ok_for_output_1): If
3070 targetm.const_not_ok_for_debug_p returns true, fail.
3071 * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
3072 function.
3073 (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
3074
986ce92f
KT
30752012-01-23 Kai Tietz <ktietz@redhat.com>
3076
3077 PR target/51900
3078 * config/i386/predicates.md (symbolic_operand): Allow
3079 UNSPEC_PCREL as PIC expression for lea.
3080 * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
3081 * config/i386/i386.c (ix86_delegitimize_address): Handle
3082 UNSPEC_PCREL for none-MEM, too.
3083
e617b554
AH
30842012-01-23 Aldy Hernandez <aldyh@redhat.com>
3085
3086 * trans-mem.c (ipa_tm_create_version): Set externally_visible.
3087 (ipa_tm_create_version_alias): Same.
3088
1e86df8d 30892012-01-23 Uros Bizjak <ubizjak@gmail.com>
5752c591
UB
3090
3091 PR libitm/51830
3092 * builtin-types.def (BT_FN_UINT_UINT_VAR): New.
3093 * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
3094
f2ede0ee
AH
30952012-01-23 Aldy Hernandez <aldyh@redhat.com>
3096 Patrick Marlier <patrick.marlier@gmail.com>
3097 Iain Sandoe <developer@sandoe-acoustics.co.uk>
3098
3099 PR lto/51916
3100 * lto-wrapper.c (run_gcc): Pass the LTO section name to
3101 simple_object_start_read.
3102
191879f9
RG
31032012-01-23 Richard Guenther <rguenther@suse.de>
3104
f2ede0ee 3105
191879f9
RG
3106 PR tree-optimization/51895
3107 * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
3108 parameter decomposition into BLKmode components.
3109
b31799f4
EB
31102012-01-23 Eric Botcazou <ebotcazou@adacore.com>
3111
3112 * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
3113 fake variables for restrict-qualified pointers whose pointed-to type
3114 contains a placeholder.
3115
b2d2adc6
RG
31162012-01-23 Richard Guenther <rguenther@suse.de>
3117
3118 PR tree-optimization/51949
5752c591 3119 * ipa-split.c (execute_split_functions): Do not split malloc functions.
b2d2adc6 3120
b57cca0b
JJ
31212012-01-23 Jakub Jelinek <jakub@redhat.com>
3122
3123 PR rtl-optimization/51933
3124 * ree.c (transform_ifelse): Return true right away if dstreg is
3125 already wider or equal to cand->mode.
3126 (enum ext_modified_kind, struct ext_modified, ext_state): New types.
3127 (make_defs_and_copies_lists): Remove defs_list and copies_list
3128 arguments, add state argument, just truncate state->work_list
3129 instead of always allocating and freeing the vector. Assert that
5752c591 3130 get_defs succeeds instead of returning 2. Changed return type to bool.
b57cca0b
JJ
3131 (merge_def_and_ext): Add state argument. If SET_DEST doesn't
3132 have ext_src_mode, see if it has been modified already with the
3133 right kind of extension and has been extended before from the
3134 ext_src_mode. If SET_DEST is already wider or equal to cand->mode,
5752c591 3135 just return true. Remember the original mode in state->modified array.
b57cca0b
JJ
3136 (combine_reaching_defs): Add state argument. Don't allocate and
3137 free here def_list, copied_list and vec vectors, instead just
5752c591 3138 VEC_truncate the vectors in *state. Don't handle outcome == 2 here.
b57cca0b
JJ
3139 (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
3140 Add state variable, clear vectors in it, initialize state.modified
3141 if needed. Free all the vectors at the end and state.modified too.
3142 Don't skip a candidate if the extension expression has been modified.
3143
daecebc8
DR
31442012-01-22 Douglas B Rupp <rupp@gnat.com>
3145
3146 PR target/47096
3147 * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
3148 configurations. Change triplet to i[34567]86-*-interix[3-9]*.
3149 (extra_options) interix.opt -> i386/interix.opt"
3150 (extra_objs):Add winnt-stubs.o
3151 * configure.ac: Add interix to target_os .comm on PE check.
3152 * configure: Regenerate.
3153 * config/interix3.h: Delete and move bits to..
3154 * config/interix.h: Delete and move bits to..
3155 * config/i386/i386-interix3.h: Delete and move bits to..
3156 * config/i386/i386-interix.h: ..here.
3157 (TARGET_CPU_DEFAULT): Remove redefinition.
3158 (TARGET_ASM_CONSTRUCTOR): Undefine.
3159 (SUBTARGET_SWITCHES): Define for ms-bitfields.
3160 (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
3161 (PTRDIFF_TYPE): Define.
3162 (LONG_DOUBLE_TYPE_SIZE): Define.
3163 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
3164 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
3165 (TARGET_SECTION_TYPE_FLAGS): Define.
3166 (ASM_DECLARE_FUNCTION_NAME): Define.
3167 (ASM_OUTPUT_EXTERNAL): Define.
3168 (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
3169 (ASM_OUTPUT_ALIGNED_BSS): Define.
3170 (PCC_BITFIELD_TYPE_MATTERS): Define.
3171 (USE_CONST_SECTION): Define.
3172 (SUBTARGET_ENCODE_SECTION_INFO): Remove.
3173 (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
3174 (SUPPORTS_ONE_ONLY): Remove.
3175 (I386_PE_STRIP_ENCODING): Define.
3176 * config/interix.opt: Delete and move bits to..
3177 * config/i386/interix.opt: ..here. New.
3178 (mpe-aligned-commons): Add.
3179 * config/i386/t-interix: Add copyright header.
3180 (winnt-stubs.o): Add rule.
3181
bbe04f21
JM
31822012-01-22 Jason Merrill <jason@redhat.com>
3183
3184 PR c++/51832
3185 * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
3186 for extra name aliases.
3187
ca10595c
EB
31882012-01-22 Eric Botcazou <ebotcazou@adacore.com>
3189
3190 PR rtl-optimization/51924
3191 * ree.c (combine_set_extension): Improve debugging message.
3192 (combine_reaching_defs): Likewise.
3193 (get_defs): Rename confusingly named variable.
3194 (find_and_remove_re): Skip a candidate if the extension expression has
3195 been modified.
3196
4787ac51
RM
31972012-01-21 Robert Millan <rmh@gnu.org>
3198 Gerald Pfeifer <gerald@pfeifer.com>
3199
3200 * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
3201 (GNU_USER_DYNAMIC_LINKER): Adjust indentation.
3202
82294ec1
JJ
32032012-01-20 Jakub Jelinek <jakub@redhat.com>
3204
3205 PR tree-optimization/51914
3206 * tree-vect-stmts.c (vectorizable_conversion): For
3207 cvt_type && modifier == WIDEN, put temporary with cvt_type
3208 at the beginning of vec_dsts and set vec_dest to temporary
3209 with vectype_out.
3210
68cc3174
EB
32112012-01-20 Eric Botcazou <ebotcazou@adacore.com>
3212
3213 * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
3214
cdee0298
TC
32152011-01-20 Tijl Coosemans <tijl@coosemans.org>
3216
3217 * config/i386/i386.c: Fix checks for !TARGET_MACHO.
3218 * config/rs6000/rs6000.c: Likewise.
3219
4c2708c5
JJ
32202012-01-20 Jakub Jelinek <jakub@redhat.com>
3221
3222 PR target/51915
3223 * config/arm/arm.c (arm_count_output_move_double_insns): Call
3224 output_move_double on a copy of operands array.
3225
5752c591
UB
32262012-01-20 Cary Coutant <ccoutant@google.com>
3227 Dodji Seketeli <dodji@redhat.com>
2d663cb9
CC
3228
3229 PR debug/45682
3230 * dwarf2out.c (copy_declaration_context): Return ref to parent
3231 of declaration DIE, if necessary.
3232 (remove_child_or_replace_with_skeleton): Add new parameter; update
3233 caller. Place skeleton DIE under parent DIE of original declaration.
3234 Move call to copy_declaration_context to here ...
3235 (break_out_comdat_types): ... from here.
3236
afa73d3a
AK
32372012-01-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3238
3239 PR rtl-optimization/51856
3240 * reload.c (find_reloads_subreg_address): Set the address_reloaded
3241 flag to reloaded.
3242
3675f54b
RR
32432012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3244
3245 PR target/51819
3246 * config/arm/arm.c (arm_print_operand): Correct output of alignment
3247 hints for neon loads and stores.
3248
542bf446
GJL
32492012-01-20 Georg-Johann Lay <avr@gjlay.de>
3250
3251 PR target/49868
3252 PR target/50887
3253 * doc/extend.texi (Named Address Spaces): Split into subsections.
3254 (AVR Named Address Spaces): New subsection.
3255 (M32C Named Address Spaces): New subsection.
3256 (RL78 Named Address Spaces): New subsection.
3257 (SPU Named Address Spaces): New subsection.
3258 (Variable Attributes): New anchor "AVR Variable Attributes".
3259 (AVR Variable Attributes): Rewrite and avoid wording
3260 "address space" in this context.
3261 * doc/invoke.texi (AVR Options): Rewrite and add documentation
3262 for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls.
3263 (AVR Built-in Macros): New subsubsection therein.
3264 * doc/md.texi (AVR constraints): Remove "C04", "R".
3265
a88b3135
RG
32662012-01-20 Richard Guenther <rguenther@suse.de>
3267
3268 PR tree-optimization/51903
3269 * tree-ssa-pre.c (eliminate): Properly purging of EH edges
3270 when removing stmts.
3271
f06129ea
RR
32722012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3273
3274 PR target/50313
3275 * config/arm/arm.c (arm_load_pic_register): Use
3276 gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
3277 , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
3278 (arm_pic_static_addr): Likewise.
3279 (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
3280 (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
3281 * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
3282 (pic_load_addr_unified): New.
3283
229bfbcf
AB
32842012-01-20 Andrey Belevantsev <abel@ispras.ru>
3285
3286 PR target/51106
3287 * function.c (instantiate_virtual_regs_in_insn): Use
3288 delete_insn_and_edges when removing a wrong asm insn.
3289
2608d841
VM
32902012-01-19 Vladimir Makarov <vmakarov@redhat.com>
3291
3292 PR rtl-optimization/40761
5752c591
UB
3293 * ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
3294 Add new member loop_num.
2608d841
VM
3295 (IRA_LOOP_NODE_BY_INDEX): Modify the check.
3296 (ira_build): Remove the parameter.
3297
5752c591 3298 * ira.c (ira_print_disposition): Use loop_num instead of loop->num.
2608d841
VM
3299 (ira.c): Do not build CFG loops for one region allocation. Remove
3300 argument from ira_build call.
3301
3302 * ira-build.c (init_loop_tree_node): New function.
3303 (create_loop_tree_nodes): Use it. Separate the case when CFG
3304 loops are not built.
3305 (more_one_region_p): Check current_loops.
3306 (finish_loop_tree_nodes): Separate the case when CFG loops are not
3307 built.
3308 (add_loop_to_tree): Process loop equal to NULL too.
3309 (form_loop_tree): Separate the case when CFG loops are not built.
3310 Use explicitly number for the root.
3311 (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add
3312 an assertion.
3313 (ira_print_expanded_allocno, loop_compare_func): Use loop_num
3314 instead of loop->num.
5752c591 3315 (mark_loops_for_removal): Ditto. Use loop_num instead of loop->num.
2608d841
VM
3316 (mark_all_loops_for_removal): Ditto.
3317 (remove_unnecessary_regions): Separate the case when CFG loops
3318 are not built.
3319 (ira_build): Remove the parameter. Use explicit number of regions
3320 when CFG loops are not built.
3321
5752c591
UB
3322 * ira-color.c (print_loop_title): Separate the case for the root node.
3323 Use loop_num instead of loop->num.
2608d841
VM
3324 (move_spill_restore): Use loop_num instead of loop->num.
3325
3326 * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
3327 (change_loop): Ditto.
3328 (change_loop): Use loop_num instead of loop->num.
3329
3330 * ira-lives.c (process_bb_node_lives): Ditto.
3331
5752c591 3332 * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
2608d841
VM
3333
3334 * ira-conflicts.c (print_allocno_conflicts): Ditto.
3335
dc2c7a52
JJ
33362012-01-19 Jakub Jelinek <jakub@redhat.com>
3337
58b3ebf2
JJ
3338 PR libmudflap/40778
3339 * tree-mudflap.c (mf_artificial): New function.
3340 (execute_mudflap_function_ops, execute_mudflap_function_decls,
3341 mx_register_decls, mudflap_enqueue_decl): Use it.
3342
dc2c7a52
JJ
3343 PR target/51876
3344 * config/arm/neon.md (*neon_vswp<mode>): Fix up operand
3345 numbers in the insn pattern.
3346
d5038d06
MM
33472012-01-19 Michael Matz <matz@suse.de>
3348
3349 PR tree-optimization/46590
3350 * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument,
3351 use it in remembering which conflicts we already created.
3352 (add_scope_conflicts): Adjust call to above, (de)allocate helper
3353 bitmap.
3354
aad038ca
AH
33552012-01-19 Aldy Hernandez <aldyh@redhat.com>
3356
3357 PR lto/51280
3358 * lto-wrapper.c (run_gcc): Pass -fgnu_tm on.
3359 (merge_and_complain): Same.
3360
e9c9f128
JJ
33612012-01-19 Jakub Jelinek <jakub@redhat.com>
3362
3363 PR bootstrap/50237
3364 * config/initfini-array.h: Guard content of the header
3365 with #ifdef HAVE_INITFINI_ARRAY.
3366 * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
3367 Add initfini-array.h to tm_file here.
5752c591 3368 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
e9c9f128
JJ
3369 * config.gcc: Don't add initfini-array.h to tm_file here.
3370 * configure: Regenerated.
3371
33722012-01-19 Andrey Belevantsev <abel@ispras.ru>
f90aa714
AB
3373
3374 PR rtl-optimization/51505
3375 * df-problems.c (df_kill_notes): New parameter live. Update comment.
3376 Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
5752c591 3377 (df_note_bb_compute): Update the call to df_kill_notes.
f90aa714 3378
63c0efdb
AH
33792012-01-18 Aldy Hernandez <aldyh@redhat.com>
3380
3381 * trans-mem.c (requires_barrier): Remove call to is_global_var.
3382
b8cf611d
RG
33832012-01-18 Richard Guenther <rguenther@suse.de>
3384
3385 * tree-ssa.c (useless_type_conversion_p): Remove special-casing
3386 of conversions to void *.
3387
3bdb97b8
AK
33882012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3389 Richard Sandiford <rdsandiford@googlemail.com>
3390
3391 PR middle-end/50325
3392 PR middle-end/51192
3393 * optabs.h (simplify_expand_binop): Declare.
3394 * optabs.c (simplify_expand_binop): Make global.
3395 * expmed.c (store_bit_field_1): Use simplify_expand_binop on big
3396 endian targets if the source cannot be exactly covered by word
3397 mode chunks.
3398
ee3d2ecd
JJ
33992012-01-17 Jakub Jelinek <jakub@redhat.com>
3400
3401 PR bootstrap/51872
3402 * hard-reg-set.h (struct hard_reg_set_container): New type.
3403 * target.h (struct hard_reg_set_container): Forward declare.
3404 * target.def (set_up_by_prologue): New target hook.
3405 * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
3406 * doc/tm.texi: Regenerated.
3407 * function.c (thread_prologue_and_epilogue_insns): Change
3408 set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
3409 Call targetm.set_up_by_prologue on it.
3410 * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
3411 (TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
3412
be61ce52
NC
34132012-01-17 Nick Clifton <nickc@redhat.com>
3414
3415 * config/rx/rx.c (rx_can_use_simple_return): New function.
3416 * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
3417 * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
3418
e831c1e8
RG
34192012-01-17 Richard Guenther <rguenther@suse.de>
3420
3421 PR middle-end/51782
3422 * expr.c (expand_assignment): Take address-space information
3423 from the address operand of MEM_REF and TARGET_MEM_REF.
3424 (expand_expr_real_1): Likewise.
3425
67463efb
AK
34262012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3427
3428 * ira.c (do_reload): Make sure ira_dump_file is re-set if no
3429 reload dump is requested.
3430
59cbe98e
AH
34312012-01-17 Aldy Hernandez <aldyh@redhat.com>
3432
3433 PR other/51165
3434 * trans-mem.c (requires_barrier): Call may_be_aliased.
3435
e6fa9204
JJ
34362012-01-17 Jakub Jelinek <jakub@redhat.com>
3437
3438 PR tree-optimization/51877
3439 * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever
3440 call arguments and fndecls compare equal, instead return false if they
3441 don't. Return true only if lhs1 and lhs2 are either both NULL, or
3442 both SSA_NAMEs that are valueized the same, or they satisfy
3443 operand_equal_p.
3444
26923657
RO
34452012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3446
3447 * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on
3448 Solaris 11+.
3449 * configure: Regenerate.
3450
c53153e7
JH
34512012-01-16 Jan Hubicka <jh@suse.cz>
3452
3453 PR c/12245
3454 PR c++/14179
3455 * convert.c (convert_to_integer): Use fold_convert for
3456 converting an INTEGER_CST to integer type.
3457
7aeb037b
JM
34582012-01-16 Jason Merrill <jason@redhat.com>
3459
3460 PR c++/14179
3461 * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size.
3462
90dda0e9
JJ
34632012-01-16 Jakub Jelinek <jakub@redhat.com>
3464
00fbd5c8
JJ
3465 PR bootstrap/51860
3466 * config/s390/s390.c (s390_chunkify_start): Don't skip
3467 call insns followed by NOTE_INSN_CALL_ARG_LOCATION note. Skip
3468 NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
3469 If insn is followed by NOTE_INSN_VAR_LOCATION or
3470 NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
3471 Don't use location of note insns.
3472
90dda0e9
JJ
3473 PR tree-optimization/51865
3474 * tree-inline.c (tree_function_versioning): Call remap_decl
3475 on DECL_RESULT whenever it has VOID_TYPE_P type.
3476
62835cee
RS
34772012-01-15 Richard Sandiford <rdsandiford@googlemail.com>
3478
3479 * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
3480 for calls to locally-binding MIPS16 functions if only the return
3481 type uses float regs.
3482
ddaf8125
RS
34832012-01-15 Chung-Lin Tang <cltang@codesourcery.com>
3484 Richard Sandiford <rdsandiford@googlemail.com>
3485
3486 * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
3487 (SYMBOL_32_HIGH): Likewise.
3488 (mips_output_tls_reloc_directive): Declare.
3489 * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
3490 (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
3491 * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
3492 (mips_lo_relocs, mips_hi_relocs): Make extern.
3493 (mips16_stub_function): Move up file.
3494 (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
3495 (mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too.
3496 (mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p.
5752c591
UB
3497 (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
3498 SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false.
ddaf8125
RS
3499 (mips_get_tp): Add MIPS16 support.
3500 (mips_legitimize_tls_address): Remove MIPS16 sorry().
3501 Generalize DTPREL and TPREL handling.
3502 (mips_init_relocs): Initialize mips_use_pcrel_pool_p.
3503 Add MIPS16 TLS support.
3504 (mips_output_tls_reloc_directive): New function.
3505 (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
3506 * config/mips/predicates.md (symbolic_operand_with_high)
3507 (tls_reloc_operand): New predicates.
3508 (force_to_mem_operand): Use mips_use_pcrel_pool_p.
3509 * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
3510 (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
5752c591 3511 (*unshifted_high): New instruction. Use it for MIPS16 high splitter.
ddaf8125
RS
3512 (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
3513 (*tls_get_tp_mips16_call_<mode>): Likewise.
3514
bf63ef6c
UB
35152012-01-15 Uros Bizjak <ubizjak@gmail.com>
3516
3517 PR rtl-optimization/51821
3518 * recog.c (peep2_find_free_register): Determine clobbered registers
3519 from insn pattern.
3520
cfbaed3b
DC
35212012-01-14 Denis Chertykov <chertykov@gmail.com>
3522
3523 PR target/50925
3524 * config/avr/avr-protos.h: Revert change of 2012-01-09.
3525 * config/avr/avr.c: Likewise.
3526 * config/avr/avr.h: Likewise.
3527
12448f77
ILT
35282012-01-13 Ian Lance Taylor <iant@google.com>
3529
3530 PR c++/50012
3531 * tree.h (TYPE_QUALS): Add cast to int.
3532 (TYPE_QUALS_NO_ADDR_SPACE): Likewise.
3533
9ab6f957
ILT
35342012-01-13 Ian Lance Taylor <iant@google.com>
3535
3536 * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
3537 comparing param_index to VEC_length result.
3538
8554df86
SB
35392012-01-13 Steven Bosscher <steven@gcc.gnu.org>
3540
3541 * c-decl.c: Do not include tree-mudflap.h
3542 * tree-optimize.c: Likewise.
3543 * Makefile.in: Update dependencies.
3544
aabb90e5
RG
35452012-01-13 Richard Guenther <rguenther@suse.de>
3546
3547 PR middle-end/8081
3548 * gimplify.c (gimplify_modify_expr_rhs): For calls with a
3549 variable-sized result always use RSO.
3550
639d4bb8
DD
35512012-01-12 DJ Delorie <dj@redhat.com>
3552
3553 * cfgexpand.c (convert_debug_memory_address): Allow any valid
3554 pointer type, not just the default pointer type.
3555
105b876e
RH
35562012-01-09 Richard Henderson <rth@redhat.com>
3557 Denis Chertykov <chertykov@gmail.com>
3558
3559 PR target/50925
3560 * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
3561 * config/avr/avr.c (avr_can_eliminate): Simplify.
3562 (avr_initial_elimination_offset): Likewise.
3563 (avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
3564 (expand_epilogue): Likewise.
3565 (avr_legitimize_address): Gut.
3566 (avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
3567 (avr_hard_regno_nregs): New.
3568 (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
3569 (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
3570 * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
3571 add soft frame pointer.
3572 (CALL_USED_REGISTERS): Likewise.
3573 (REG_CLASS_CONTENTS): Likewise.
3574 (REGISTER_NAMES): Likewise.
3575 (HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
3576 (HARD_FRAME_POINTER_REGNUM): New.
3577 (FRAME_POINTER_REGNUM): Use soft frame pointer.
3578 (ELIMINABLE_REGS): Eliminate from the soft frame pointer,
3579 remove the HARD_FRAME_POINTER self-elimination.
3580
458652d1 35812012-01-12 Georg-Johann Lay <avr@gjlay.de>
ab8c5093
GJL
3582
3583 PR target/51756
3584 * config/avr/avr.c (avr_encode_section_info): Test for absence of
3585 DECL_EXTERNAL when checking for initializers of progmem variables.
3586
82db3d43
IR
35872012-01-12 Ira Rosen <irar@il.ibm.com>
3588
3589 PR tree-optimization/51799
3590 * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
3591 that the last operation is a type demotion.
3592
64668e68
UB
35932012-01-12 Uros Bizjak <ubizjak@gmail.com>
3594
3595 * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
3596 (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
3597
319638ed
JJ
35982012-01-11 Jakub Jelinek <jakub@redhat.com>
3599
3600 PR bootstrap/51796
3601 * combine.c (distribute_notes): If i3 is a noreturn call,
3602 allow old_size to be equal to args_size and make sure the
3603 noreturn call gets REG_ARGS_SIZE note.
3604 * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
3605 on noreturn calls even when the delta is 0.
3606
8f961b22
NS
36072012-01-11 Nathan Sidwell <nathan@acm.org>
3608
3609 * gcov.c (STRING_SIZE): Remove.
3610 (generate_results): Erase annotations for source files with no
3611 coverage information.
3612 (read_line): New.
3613 (output_lines): Use it.
3614
3ad065ef
EB
36152012-01-11 Eric Botcazou <ebotcazou@adacore.com>
3616
3617 * gimple.h (gimplify_body): Remove first argument.
3618 * gimplify.c (copy_if_shared): Add DATA argument. Do not create the
3619 pointer set here, instead just pass DATA to walk_tree.
3620 (unshare_body): Remove BODY_P argument and adjust. Create the pointer
3621 set here and invoke copy_if_shared on the size trees of DECL_RESULT.
3622 (unvisit_body): Likewise, but with unmark_visited.
3623 (gimplify_body): Remove BODY_P argument and adjust.
3624 (gimplify_function_tree): Adjust call to gimplify_body.
3625 * omp-low.c (finalize_task_copyfn): Likewise.
3626
1a2c27e9
EB
36272012-01-11 Eric Botcazou <ebotcazou@adacore.com>
3628
3629 * tree.h (build_function_decl_skip_args): Add boolean parameter.
3630 (build_function_type_skip_args): Delete.
3631 * tree.c (build_function_type_skip_args): Make static and add
3632 SKIP_RETURN parameter. Fix thinko in the handling of variants.
3633 (build_function_decl_skip_args): Add SKIP_RETURN parameter and
3634 pass it to build_function_type_skip_args.
3635 * cgraph.h (cgraph_function_versioning): Add boolean parameter.
3636 (tree_function_versioning): Likewise.
3637 * cgraph.c (cgraph_create_virtual_clone): Adjust call to
3638 build_function_decl_skip_args.
3639 * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
3640 and pass it to build_function_decl_skip_args/tree_function_versioning.
3641 (cgraph_materialize_clone): Adjust call to tree_function_versioning.
3642 * ipa-inline-transform.c (save_inline_function_body): Likewise.
3643 * trans-mem.c (ipa_tm_create_version): Likewise.
3644 * tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
3645 * tree-inline.c (declare_return_variable): Remove always-true test.
3646 (tree_function_versioning): Add SKIP_RETURN parameter. If the function
3647 returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
3648 * ipa-split.c (split_function): Skip the return value for the split
3649 part if it doesn't return.
3650
b2e25729
BS
36512012-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3652
3653 PR tree-optimization/49642
3654 * ipa-split.c (forbidden_dominators): New variable.
3655 (check_forbidden_calls): New function.
3656 (dominated_by_forbidden): Likewise.
3657 (consider_split): Check for forbidden dominators.
3658 (execute_split_functions): Initialize and free forbidden
3659 dominators info; call check_forbidden_calls.
3660
9150e331
MGD
36612012-01-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
3662
3663 * config/arm/arm.md (mov_notscc): Use MVN for false condition.
3664
1c97289f
NC
36652012-01-11 Nick Clifton <nickc@redhat.com>
3666
3667 * config/rx/rx.md (return): Define pattern.
3668
65d5c485
RG
36692012-01-11 Richard Guenther <rguenther@suse.de>
3670
3671 * doc/extend.texi (malloc attribute): Adjust according to
3672 implementation.
3673
594ec92f
AH
36742012-01-10 Aldy Hernandez <aldyh@redhat.com>
3675 Patrick Marlier <patrick.marlier@gmail.com>
3676
3677 PR middle-end/51516
3678 * trans-mem.c (get_cg_data): Traverse aliases if requested.
3679 (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
3680 (ipa_tm_note_irrevocable): Same.
3681 (ipa_tm_scan_irr_block): Same.
3682 (ipa_tm_decrement_clone_counts): Same.
3683 (ipa_tm_scan_irr_function): Same.
3684 (ipa_tm_create_version_alias): Same.
3685 (ipa_tm_create_version): Same.
3686 (ipa_tm_transform_calls_redirect): Same.
3687 (ipa_tm_transform_calls): Same.
3688 (ipa_tm_transform_transaction): Same.
3689 (ipa_tm_execute): Same.
3690
aee15221
RG
36912012-01-10 Richard Guenther <rguenther@suse.de>
3692
3693 PR middle-end/51806
3694 * opts.c (common_handle_option): Handle -Werror.
3695
b339cf22
AS
36962012-01-10 Andreas Schwab <schwab@linux-m68k.org>
3697
3698 * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
3699 operand number.
3700
90aa444c
JM
37012012-01-10 Jason Merrill <jason@redhat.com>
3702
3703 * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
3704 information.
3705
0f24748c
RO
37062012-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3707
3708 * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
3709 supports R_386_TLS_GD_PLT reloc.
3710 (gcc_cv_as_ix86_tlsldmplt): Check if linker
3711 supports R_386_TLS_LDM_PLT reloc.
3712 * configure: Regenerate.
3713 * config.in: Regenerate.
3714
cba300dd
GJL
37152012-01-10 Georg-Johann Lay <avr@gjlay.de>
3716
3717 PR target/49868
3718 Extend __pgmx semantics to linearize memory.
3719 * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
3720 determine if code comes inline or from libgcc.
3721 (MOVMEM_r_d:HI): Add "w" to constraint for better preference.
3722 (movmem_qi, movmem_qi): Set constraint #2 to "n".
3723 (movmem_qi_elpm, movmem_hi_elpm): Remove insns.
3724 (movmemx_qi, movmemx_hi): New insns.
3725 (xload_<mode>_libgcc): Rewrite to new insn condition.
3726 (xload_<mode>): Remove insns.
3727 * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
3728 cases that don't satisfy avr_xload_libgcc_p().
3729 (avr_addr_space_convert): Allow converting in any direction.
3730 (avr_addr_space_subset_p): Return always true.
3731 (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
3732 (avr_emit_movmemhi): Ditto.
3733 (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
3734 (avr_out_movmem): Ditto.
3735 (AVR_SYMBOL_FLAG_PROGMEM): New macro.
3736 (AVR_SYMBOL_SET_ADDR_SPACE): New macro.
3737 (AVR_SYMBOL_GET_ADDR_SPACE): New macro.
3738 (avr_encode_section_info): Encode 'progmem' in symbol flags.
3739 (output_reload_in_const): Don't zero-extend any 24-bit symbols.
3740
390b24dc
RG
37412012-01-10 Richard Guenther <rguenther@suse.de>
3742
3743 PR tree-optimization/50913
3744 * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
3745 Require data-refs to be representable by Graphite with respect
3746 to any loop nest.
3747
f148a434
UB
37482012-01-10 Uros Bizjak <ubizjak@gmail.com>
3749
3750 * config/i386/constraints.md ("L"): Return true for 0xffffffff.
3751 * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
3752
5d1f1cd5
TV
37532012-01-10 Tom de Vries <tom@codesourcery.com>
3754
6fcebe79 3755 PR rtl-optimization/51271
5d1f1cd5
TV
3756 * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
3757 handling annulled branch.
3758
b440f324
RH
37592012-01-10 Richard Henderson <rth@redhat.com>
3760
f148a434 3761 * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
b440f324
RH
3762 TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
3763 struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
3764 arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
3765 arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
3766 arm_expand_vec_perm_const): New.
3767 * config/arm/arm-protos.h: Update.
3768 * config/arm/neon.md (UNSPEC_VCONCAT): New.
3769 (*neon_vswp<VDQX>): New.
3770 (neon_vcombine<VDX>): Use neon_split_vcombine.
3771 (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
3772 * config/arm/vec-common.md (vec_perm_const<VALL>): New.
3773 (vec_perm<VE>): New.
3774
18f0fe6b
RH
37752012-01-10 Richard Henderson <rth@redhat.com>
3776
3777 * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
3778 use it if reload_completed.
3779 (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
3780 arm_output_asm_insn, arm_process_output_memory_barrier,
3781 arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
3782 arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
3783 arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
3784 arm_process_output_sync_insn, arm_output_sync_insn,
3785 arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
3786 (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
3787 (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
3788 (emit_unlikely_jump): New.
3789 (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
3790 (arm_split_atomic_op): New.
3791 * config/arm/arm-protos.h: Update.
3792 * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
3793 (struct arm_sync_generator): Remove.
3794 * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
3795 VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
3796 (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
3797 (VUNSPEC_LL, VUNSPEC_SC): New.
3798 (sync_result, sync_memory, sync_required_value, sync_new_value,
3799 sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
3800 (attr length): Don't use arm_sync_loop_insns.
3801 (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
3802 (movsfcc, movdfcc): Likewise.
3803 * config/arm/constraints.md (Ua): New.
3804 * config/arm/prediates.md (mem_noofs_operand): New.
3805 (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
3806 (sync_clobber, sync_t2_reqd): Remove.
3807 (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
3808 (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
3809 (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
3810 (arm_sync_compare_and_swap<SIDI>): Remove.
3811 (arm_sync_compare_and_swap<NARROW>): Remove.
3812 (arm_sync_lock_test_and_set<SIDI>): Remove.
3813 (arm_sync_lock_test_and_set<NARROW>): Remove.
3814 (arm_sync_new_<syncop><SIDI>): Remove.
3815 (arm_sync_new_<syncop><NARROW>): Remove.
3816 (arm_sync_new_nand<SIDI>): Remove.
3817 (arm_sync_new_nand<NARROW>): Remove.
3818 (arm_sync_old_<syncop><SIDI>): Remove.
3819 (arm_sync_old_<syncop><NARROW>): Remove.
3820 (arm_sync_old_nand<SIDI>): Remove.
3821 (arm_sync_old_nand<NARROW>): Remove.
3822 (*memory_barrier): Merge arm_output_memory_barrier.
3823 (atomic_compare_and_swap<QHSD>): New.
3824 (atomic_compare_and_swap<NARROW>_1): New.
3825 (atomic_compare_and_swap<SIDI>_1): New.
3826 (atomic_exchange<QHSD>): New.
3827 (cas_cmp_operand, cas_cmp_str): New.
3828 (atomic_op_operand, atomic_op_str): New.
3829 (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
3830 (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
3831 (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
3832 (arm_load_exclusive<NARROW>): New.
3833 (arm_load_exclusivesi, arm_load_exclusivedi): New.
3834 (arm_store_exclusive<QHSD>): New.
3835
38362012-01-09 Michael Meissner <meissner@linux.vnet.ibm.com>
df5a9a7c
MM
3837
3838 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
3839 reload patterns if -mvsx-scalar-memory.
3840
3841 * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
3842 generated, even -mno-vsx-scalar-double was used.
3843 (vsx_xscvdpsp_scalar): Likewise.
3844 (vsx_xscvspdp_scalar2): Likewise.
3845
243b92d1
TV
38462012-01-09 Tom de Vries <tom@codesourcery.com>
3847 Andrew Pinski <apinski@cavium.com>
3848
6fcebe79 3849 PR debug/51471
f148a434
UB
3850 * reorg.c (fill_slots_from_thread): Don't speculate
3851 frame-related insns.
243b92d1 3852
ef2be249
RS
38532012-01-09 Richard Sandiford <rdsandiford@googlemail.com>
3854
3855 * sched-int.h (bb_note): Move to...
3856 * basic-block.h: ...here.
3857 * haifa-sched.c (bb_note): Move to...
3858 * cfgrtl.c: ...here.
3859 * function.c (next_block_for_reg): New function.
3860 (move_insn_for_shrink_wrap): Likewise.
3861 (prepare_shrink_wrap): Rewrite to use the above.
3862
345ae177
AH
38632012-01-09 Aldy Hernandez <aldyh@redhat.com>
3864
3865 * gimple.c (is_gimple_non_addressable): Remove.
3866 * gimple.h: Remove is_gimple_non_addressable.
3867 * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
3868 is_gimple_non_addressable.
3869 * trans-mem.c (expand_assign_tm): Same.
3870
06468229
RG
38712012-01-09 Richard Guenther <rguenther@suse.de>
3872
3873 PR tree-optimization/51775
3874 * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
3875 * tree-ssa-pre.c (eliminate): Properly fixup EH info.
3876
12aa62e9
MGD
38772012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
3878
3879 * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
3880 tuning parameters.
3881 * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
3882
fdff9f3d
RB
38832012-01-09 Richard Guenther <rguenther@suse.de>
3884
3885 * tree-streamer-out.c (write_ts_optimization): Fix spelling.
3886
d028561e
JH
38872012-01-08 Jan Hubicka <jh@suse.cz>
3888
3889 PR tree-optimize/51680
fdff9f3d
RB
3890 * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
3891 on when known_vals needs to be computed; cleanup.
d028561e 3892
4c8836c6
JH
38932012-01-08 Jan Hubicka <jh@suse.cz>
3894
3895 PR tree-optimize/51694
3896 * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
3897
e478624f
JW
38982012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3899
3900 * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
3901 for -std=c++98 and -std=c++11 too.
3902
b78384e0
CLT
39032012-01-08 Chung-Lin Tang <cltang@codesourcery.com>
3904
3905 * cfgloop.c (cancel_loop): Add free() of bbs array.
3906
f45b2a8a
JH
39072012-01-07 Jan Hubicka <jh@suse.cz>
3908
3909 PR tree-optimization/51600
3910 * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
3911 that benefits small functions.
3912
39132012-01-07 Jan Hubicka <jh@suse.cz>
3914
3915 * ipa-inline.c (want_inline_small_function_p): Fix formating.
3916
db22a743
JH
39172012-01-07 Jan Hubicka <jh@suse.cz>
3918
3919 PR tree-optimization/51680
3920 * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
3921 whose inlining reduce unit size.
3922
faead9f7
AO
39232012-01-07 Alexandre Oliva <aoliva@redhat.com>
3924
3925 PR bootstrap/51725
3926 * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
3927 Add canonical node to containing_mem chain after the non-canonical
3928 one, even if there weren't any locs to propagate.
3929 (remove_useless_values): Keep only canonical values.
3930 (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
3931 (cselib_invalidate_mem): Likewise. Ensure v is canonical, and
3932 canonicalize mem_chain elements that are not discarded.
3933
b71d7f85
JJ
39342012-01-06 Jakub Jelinek <jakub@redhat.com>
3935
0850f694
JJ
3936 PR target/47333
3937 * cgraphunit.c (cgraph_optimize): Call output_weakrefs
3938 before emitting functions.
3939
b71d7f85
JJ
3940 PR gcov-profile/50127
3941 * bb-reorder.c (partition_hot_cold_basic_blocks): Call
3942 clear_aux_for_blocks.
3943
7483eef8
AO
39442012-01-06 Alexandre Oliva <aoliva@redhat.com>
3945
3946 PR debug/51746
3947 * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
3948
86d71fca
AC
39492012-01-06 Arnaud Charlet <charlet@adacore.com>
3950
3951 * c-decl.c (ext_block): Moved up.
3952 (collect_all_refs, for_each_global_decl): Take ext_block into account.
3953
17719d09
HS
39542012-01-06 Han Shen <shenhan@google.com>
3955
3956 Translate built-in include paths for sysroot.
3957 * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
3958 (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
3959
3960 * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
3961 GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
3962
3963 * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
3964 control whether sysroot should be prepended to gxx include dir.
3965
3966 * configure: Regenerate.
3967
b0c99997
TR
39682012-01-06 Torvald Riegel <triegel@redhat.com>
3969
3970 PR rtl-optimization/51771
f148a434 3971 * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
b0c99997
TR
3972 * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
3973
c3e686a3
EB
39742012-01-05 Eric Botcazou <ebotcazou@adacore.com>
3975
3976 PR tree-optimization/51315
3977 * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
3978 (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
3979
2d130b31
UB
39802012-01-05 Uros Bizjak <ubizjak@gmail.com>
3981
3982 PR target/51681
3983 * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
3984 for shrp pattern. Correctly handle and fixup shift variable.
3985 Return false when shift > nelt for BYTES_BIG_ENDIAN target.
3986
f8f75b16
JJ
39872012-01-05 Jakub Jelinek <jakub@redhat.com>
3988
3989 PR debug/51762
3990 * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
3991 note when !ACCUMULATE_OUTGOING_ARGS.
3992
629c2cca
EB
39932012-01-05 Eric Botcazou <ebotcazou@adacore.com>
3994
3995 * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
3996 condition.
3997 (extract_range_from_unary_expr_1): Avoid useless computations.
3998
1e69d24e
JJ
39992012-01-05 Jakub Jelinek <jakub@redhat.com>
4000
a3e6a37b
JJ
4001 PR rtl-optimization/51767
4002 * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
4003 of jump_block and add an extra edge for degenerated asm gotos.
4004
36363ebb
JJ
4005 PR middle-end/51768
4006 * stmt.c (check_unique_operand_names): Don't ICE during error
4007 reporting if i is from labels chain.
4008
1e69d24e
JJ
4009 PR middle-end/44777
4010 * profile.c (branch_prob): Split bbs that have exit edge
4011 and need a fake entry edge too.
4012
56494762
JH
40132012-01-05 Jan Hubicka <jh@suse.cz>
4014
4015 PR middle-end/49710
4016 * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
4017 unlooping loops.
4018
10d12a3e
RG
40192012-01-05 Richard Guenther <rguenther@suse.de>
4020
4021 PR lto/50490
4022 * tree-streamer-out.c (write_ts_optimization): New function.
4023 (streamer_write_tree_body): Call it.
4024 * tree-streamer-in.c (lto_input_ts_optimization): New function.
4025 (streamer_read_tree_body): Call it.
4026 * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
4027
32be32af
JJ
40282012-01-05 Jakub Jelinek <jakub@redhat.com>
4029
4030 PR middle-end/51761
2d130b31 4031 * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
32be32af
JJ
4032 * gimplify.c (gimplify_cleanup_point_expr): Save and set
4033 in_cleanup_point_expr before gimplify_stmt call and restore it
4034 afterwards.
4035 (gimplify_target_expr): Don't add {CLOBBER} cleanup if
4036 in_cleanup_point_expr is false.
4037
5720c0dc
RG
40382012-01-05 Richard Guenther <rguenther@suse.de>
4039
4040 PR middle-end/51764
4041 * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
4042 to c.opt.
4043 * toplev.c (process_options): Reject combining mudflap and LTO.
4044 * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
4045
6ad024b4
RG
40462012-01-05 Richard Guenther <rguenther@suse.de>
4047
4048 PR tree-optimization/51760
4049 * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
4050 not VARYING.
4051 (bit_value_unop): Handle UNDEFINED operands.
4052 (bit_value_binop): Likewise.
4053
543a341c
GJL
40542012-01-05 Georg-Johann Lay <avr@gjlay.de>
4055
4056 * config/avr/avr.c (avr_replace_prefix): Remove.
4057 (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
4058 (avr_asm_function_rodata_section): Ditto.
4059 (avr_asm_select_section): Ditto.
4060
6bfd2688
MS
40612012-01-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
4062
4063 * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
4064 insertion.
4065
cbd65133
JJ
40662012-01-05 Jakub Jelinek <jakub@redhat.com>
4067
bfeb0869
JJ
4068 PR bootstrap/51648
4069 * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
4070 calls that have any non-fake successor edges.
4071
cbd65133
JJ
4072 PR debug/51746
4073 * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
4074
8594273a
EB
40752012-01-04 Eric Botcazou <ebotcazou@adacore.com>
4076
4077 PR tree-optimization/51624
4078 * tree-sra.c (build_ref_for_model): When replicating a chain of
4079 COMPONENT_REFs, stop as soon as the offset would become negative.
4080
5dc28f42
JJ
40812012-01-04 Jakub Jelinek <jakub@redhat.com>
4082
4083 PR debug/51695
4084 * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
4085 in .debug_loc on the floor.
4086
03a9ba1e
AP
40872012-01-04 Andrew Pinski <apinski@cavium.com>
4088
4089 * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
4090
770da00a
AP
40912012-01-04 Andrew Pinski <apinski@cavium.com>
4092 Adam Nemet <anemet@caviumnetworks.com>
4093
4094 * config/mips/mips.md (size): Add SI and DI.
4095 (SIZE): New mode attribute.
4096 (U): New code attribute.
4097 * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
4098 (mips_lbux_<mode>): Delete.
4099 (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
4100 (mips_lhx): Use gen_mips_lhx_extsi.
4101 (mips_lhx_<mode>): Delete.
4102 (mips_lwx): Delete.
4103 (mips_l<size>x): New expand.
4104 (mips_lwx_<mode>): Delete.
4105 (mips_l<GPR:size>x_<P:mode>): New pattern.
4106 (*mips_lw<u>x_<P:mode>_ext): Likewise.
4107 * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
4108 * config/mips/mips.c (mips_lx_address_p): New function.
4109 (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
4110 (dsp64): New availability predicate.
4111 (mips_builtins): Add an entry for __builtin_mips_ldx.
4112 * config/mips/mips.h (ISA_HAS_LBX): New define.
4113 (ISA_HAS_LBUX): Likewise.
4114 (ISA_HAS_LHX): Likewise.
4115 (ISA_HAS_LHUX): Likewise.
4116 (ISA_HAS_LWX): Likewise.
4117 (ISA_HAS_LWUX): Likewise.
4118 (ISA_HAS_LDX): Likewise.
4119 * doc/extend.texi (__builtin_mips_ldx): Document.
4120
e2b30a44
TG
41212012-01-04 Tristan Gingold <gingold@adacore.com>
4122
4123 * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
4124 when long pointers are used.
4125 * config.build (*-*-*vms*): Handle all OpenVMS targets.
4126 (alpha64-dec-*vms*, alpha*-dec-*vms*)
4127 (ia64-hp-*vms*): Remove.
4128 * config/vms/xm-vms64.h: Delete.
4129
713b8dfb
AH
41302012-01-04 Aldy Hernandez <aldyh@redhat.com>
4131
4132 PR middle-end/51472
4133 * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
4134
7ba65723
AH
41352012-01-04 Aldy Hernandez <aldyh@redhat.com>
4136
b6aa8c33 4137 * opts.c (finish_options): Remove duplicate sorry.
7ba65723 4138
3a54c456
AH
41392012-01-04 Aldy Hernandez <aldyh@redhat.com>
4140
4141 PR middle-end/51696
4142 * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
4143 correctly.
4144
f5a3d840
RG
41452012-01-04 Richard Guenther <rguenther@suse.de>
4146
4147 PR middle-end/51750
4148 * tree.c (size_low_cst): New function.
4149 * tree.h (size_low_cst): Declare.
4150 * fold-const.c (fold_comparison): Use it to extract the low
4151 part of the POINTER_PLUS_EXPR offset.
4152
299c4b5f
GJL
41532012-01-04 Georg-Johann Lay <avr@gjlay.de>
4154
4155 Fix clearing ZERO_REG
4156 * config/avr/avr.md (cc): Add alternative "ldi".
4157 (movqi_insn): Use it in cc attribute.
4158 * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
4159 (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
4160 (output_reload_insisf): Use ZERO_REG to pre-clear register.
4161
925b0ed8
AK
41622012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4163
4164 * configure: Regenerate.
4165
b4cf8c9d
RG
41662012-01-04 Richard Guenther <rguenther@suse.de>
4167
4168 PR tree-optimization/49651
4169 * tree-ssa-structalias.c (type_can_have_subvars): New function.
4170 (var_can_have_subvars): Use it.
2d130b31 4171 (get_constraint_for_1): Only consider subfields if there can be any.
b4cf8c9d 4172
c067f6cf
JJ
41732012-01-03 Jakub Jelinek <jakub@redhat.com>
4174
e30afafb 4175 PR bootstrap/51725
2d130b31
UB
4176 * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
4177 to its new canonical_cselib_val and the cselib_val was in
4178 first_containing_mem chain, but the canonical_cselib_val was not,
4179 add the latter into the chain.
e30afafb
JJ
4180 (cselib_invalidate_mem): Compare canonical_cselib_val of
4181 addr_list chain elt with v.
4182
c067f6cf
JJ
4183 PR pch/51722
4184 * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
4185 dwarf2out_undef): Allocate e.info using ggc_strdup instead
4186 of xstrdup.
4187 (output_macinfo_op): Don't ggc_strdup fd->filename.
4188 (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
4189 then ggc_strdup it. Don't free inc->info or cur->info.
4190 (output_macinfo): Don't free ref->info or file->info.
4191
5d2eb24b
IR
41922012-01-03 Ira Rosen <irar@il.ibm.com>
4193
4194 PR tree-optimization/51269
4195 * tree-vect-loop-manip.c (set_prologue_iterations): Make
4196 first_niters a pointer.
4197 (slpeel_tree_peel_loop_to_edge): Likewise.
4198 (vect_do_peeling_for_loop_bound): Update call to
4199 slpeel_tree_peel_loop_to_edge.
4200 (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
4201 here. Remove it from the parameters list.
4202 (vect_do_peeling_for_alignment): Update calls and compute
4203 wide_prolog_niters.
4204
c3e85659
RG
42052012-01-03 Richard Guenther <rguenther@suse.de>
4206
4207 PR tree-optimization/51070
4208 * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
4209 Properly handle calls.
4210
f1749ec1
RG
42112012-01-03 Richard Guenther <rguenther@suse.de>
4212
4213 PR tree-optimization/51692
4214 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
4215 the LHS of allocation stmts.
4216
75291c57
OH
42172012-01-03 Olivier Hainque <hainque@adacore.com>
4218
4219 * system.h: Prior to #define, #undef fopen and freopen unconditionally.
4220
6588d711
OH
42212012-01-03 Olivier Hainque <hainque@adacore.com>
4222
4223 * collect2.c (main): In AIX specific computations for vector
4224 insertions, use CONST_CAST2 to cast from char ** to const char **.
4225
f3321fd7
RG
42262012-01-03 Richard Guenther <rguenther@suse.de>
4227
4228 PR debug/51650
4229 * dwarf2out.c (dwarf2out_finish): Always create a DIE for
4230 the context of a limbo DIE when it does not already exist.
4231
a9730200
JJ
42322012-01-03 Jakub Jelinek <jakub@redhat.com>
4233
4234 PR tree-optimization/51719
4235 * value-prof.c (gimple_ic): When indirect call isn't noreturn,
4236 but direct call is, clear direct call's lhs and don't add fallthrough
4237 edge from dcall_bb to join_bb and PHIs.
4238
be5de7a1
AK
42392012-01-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4240
4241 * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
4242 the instructions emitted by the pattern.
4243 ("*TDC_insn_<mode>"): Add comment.
4244
8b3c2951
RG
42452012-01-03 Richard Guenther <rguenther@suse.de>
4246
4247 PR middle-end/51730
4248 * fold-const.c (fold_comparison): Properly canonicalize
4249 tree offset and HOST_WIDE_INT bit position.
4250
96fda42c
UB
42512012-01-02 Uros Bizjak <ubizjak@gmail.com>
4252
4253 * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
4254 operands for extzv pattern.
4255
a4f436ff
JJ
42562012-01-02 Jakub Jelinek <jakub@redhat.com>
4257
4258 PR bootstrap/51725
4259 * cselib.c (add_mem_for_addr): Call canonical_cselib_val
4260 on mem_elt first.
4261
842322d3
SL
42622012-01-02 Sandra Loosemore <sandra@codesourcery.com>
4263
4264 * doc/invoke.texi (-flto and related options): Copy-edit.
4265
21e8e84d
RS
42662012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4267
96fda42c 4268 * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
21e8e84d 4269
06046046
JJ
42702012-01-02 Jakub Jelinek <jakub@redhat.com>
4271
4272 * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
4273 New patterns.
4274
0d8f5d62
RS
42752012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4276
4277 * expr.h (move_by_pieces_ninsns): Declare.
4278 * expr.c (move_by_pieces_ninsns): Make external.
4279 * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
4280 (mips_store_by_pieces_p): Likewise.
4281 * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
4282 (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
4283 * config/mips/mips.c (mips_move_by_pieces_p): New function.
4284 (mips_store_by_pieces_p): Likewise.
4285
9f929ce6
JJ
42862012-01-02 Jakub Jelinek <jakub@redhat.com>
4287
4288 * passes.c (register_one_dump_file): Free full_name.
4289
96fda42c 4290 * reload1.c (reload): Don't allocate reg_max_ref_width here.
9f929ce6
JJ
4291 (calculate_elim_costs_all_insns): Free offsets_at and
4292 offsets_known_at at the end and clear the pointers.
4293
ce23293b
GJL
42942012-01-02 Georg-Johann Lay <avr@gjlay.de>
4295
4296 * config/avr/avr.opt (-mbranch-cost): Fix double definition of
4297 this option introduced in r180739.
4298
884f56d1
GJL
42992012-01-02 Georg-Johann Lay <avr@gjlay.de>
4300
4301 PR target/51345
4302 * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
4303 (tmake_file target=avr): Add avr/t-multilib.
4304
4305 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
4306 to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
4307 * config/avr/genmultilib.awk: New file.
4308 * config/avr/t-multilib: New auto-generated file.
4309 * config/avr/multilib.h: New auto-generated file.
4310 * config/avr/t-avr (AVR_MCUS): New variable.
4311 (genopt.sh): Use it.
4312 (s-mlib): Depend on t-multilib.
4313 (t-multilib, multilib.h): New dependencies.
4314 (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
4315 (MULTILIB_OPTIONS): Remove.
4316 (MULTILIB_MATCHES): Remove.
4317 (MULTILIB_DIRNAMES): Remove.
4318 (MULTILIB_EXCEPTIONS): Remove:
4319 * config/avr/genopt.sh: Don't use hard coded file name;
4320 pass AVR_MCUS from t-avr instead.
4321
9ecd3a64
GJL
43222012-01-02 Georg-Johann Lay <avr@gjlay.de>
4323
4324 * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
4325
8c57e547
GJL
43262012-01-02 Georg-Johann Lay <avr@gjlay.de>
4327
4328 Implement light-weight DImode support.
4329 * config/avr/avr-dimode.md: New file.
4330 * config/avr/avr.md: Include it.
4331 (adjust_len): Add plus64, compare64.
4332 (HIDI): Remove code iterator.
4333 (code_stdname): New code attribute.
4334 (rotx, rotsmode): Remove DI.
4335 (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
4336 as code iterator.
4337 * config/avr/avr-protos.h (avr_have_dimode): New.
4338 (avr_out_plus64, avr_out_compare64): New.
4339 * config/avr/avr.c (avr_out_compare): Handle DImode.
4340 (avr_have_dimode): New variable definition and initialization.
4341 (avr_out_compare64, avr_out_plus64): New functions.
4342 (avr_out_plus_1): Use simplify_unary_operation to negate xval.
4343 (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
4344 (avr_compare_pattern): Skip DImode comparisons.
4345
8b61e863
RE
43462012-01-02 Revital Eres <revital.eres@linaro.org>
4347
4348 * ddg.c (def_has_ccmode_p): New function.
4349 (add_cross_iteration_register_deps,
4350 create_ddg_dep_from_intra_loop_link): Call it.
4351
ba768e18
RG
43522012-01-02 Richard Guenther <rguenther@suse.de>
4353
4354 PR other/51679
4355 * invoke.texi (fassociative-math): Remove spurious paranthesis.
4356
66f1b195
JJ
43572012-01-01 Jakub Jelinek <jakub@redhat.com>
4358
4359 * gcc.c (process_command): Update copyright notice dates.
4360 * gcov.c (print_version): Likewise.
4361 * gcov-dump.c (print_version): Likewise.
4362 * mips-tfile.c (main): Likewise.
4363 * mips-tdump.c (main): Likewise.
4364
f2c74cc4
IR
43652012-01-01 Ira Rosen <irar@il.ibm.com>
4366
4367 PR tree-optimization/51704
4368 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
96fda42c 4369 a use is inside the basic block or loop before accessing its vect info.
f2c74cc4 4370
06f1716b
JH
43712012-01-01 Jan Hubicka <jhjh@suse.cz>
4372
4373 PR rtl-optimization/51069
4374 * cfgloopmanip.c (remove_path): Removing path making irreducible
4375 region unconditional makes BB part of the region.
4376
45a5b21a
JJ
43772012-01-01 Jakub Jelinek <jakub@redhat.com>
4378
4379 PR tree-optimization/51683
4380 * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
4381 calls with side-effects.
4382 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
ad41bd84 4383\f
a7f45047 4384Copyright (C) 2012 Free Software Foundation, Inc.
ad41bd84
JM
4385
4386Copying and distribution of this file, with or without modification,
4387are permitted in any medium without royalty provided the copyright
4388notice and this notice are preserved.